diff --git a/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..57ba208255 --- /dev/null +++ b/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "أتمتة إنشاء PowerPoint على Android: إنشاء عروض تقديمية ديناميكية بسهولة" +linktitle: أتمتة إنشاء PowerPoint +type: docs +weight: 20 +url: /ar/androidjava/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- منصات سحابية +- أتمتة إنشاء PowerPoint +- إنشاء عروض تقديمية برمجيًا +- أتمتة PowerPoint +- إنشاء شرائح ديناميكية +- تقارير أعمال مؤتمتة +- أتمتة PPT +- عرض تقديمي Android +- Java +- Aspose.Slides +description: "أتمتة إنشاء الشرائح على المنصات السحابية باستخدام Aspose.Slides for Android—إنشاء، تعديل، وتحويل ملفات PowerPoint وOpenDocument بسرعة وبمصداقية." +--- + +## **مقدمة** + +إنشاء عروض PowerPoint يدويًا يمكن أن يكون مهمة تستغرق وقتًا طويلاً ومتكررة — خاصة عندما يكون المحتوى قائمًا على بيانات ديناميكية تتغير بشكل متكرر. سواء كان ذلك في توليد تقارير الأعمال الأسبوعية، أو تجميع المواد التعليمية، أو إنتاج عروض مبيعات جاهزة للعميل، يمكن للأتمتة توفير عدد لا يُحصى من الساعات وضمان التناسق عبر الفرق. + +بالنسبة لمطوري Android، فإن أتمتة إنشاء عروض PowerPoint تفتح إمكانيات قوية. يمكنك دمج توليد الشرائح في بوابات الويب، أدوات سطح المكتب، خدمات الخلفية، أو المنصات السحابية لتحويل البيانات بشكل ديناميكي إلى عروض تقديمية احترافية ومُعلمة بالعلامة التجارية — حسب الطلب. + +في هذه المقالة، سنستكشف حالات الاستخدام الشائعة لتوليد PowerPoint تلقائيًا في تطبيقات Android (بما في ذلك النشر على المنصات السحابية) ولماذا أصبح ذلك ميزة أساسية في الحلول الحديثة. من سحب بيانات الأعمال في الوقت الفعلي إلى تحويل النص أو الصور إلى شرائح، الهدف هو تحويل المحتوى الخام إلى صيغ بصرية مُنظمة يمكن لجمهورك فهمها فورًا. + +## **حالات الاستخدام الشائعة لأتمتة PowerPoint على Android** + +تكون أتمتة توليد PowerPoint مفيدة بشكل خاص في السيناريوهات التي يحتاج فيها محتوى العرض إلى تجميع ديناميكي، أو تخصيص، أو تحديث متكرر. بعض أكثر حالات الاستخدام الواقعية شيوعًا تشمل: + +- **تقارير الأعمال ولوحات التحكم** + إنشاء ملخصات المبيعات، مؤشرات الأداء الرئيسية (KPIs)، أو تقارير الأداء المالي عن طريق سحب البيانات الحية من قواعد البيانات أو واجهات برمجة التطبيقات. + +- **عروض مبيعات وتسويق مخصصة** + إنشاء عروض تقديمية مخصصة للعميل تلقائيًا باستخدام بيانات CRM أو النماذج، مما يضمن سرعة التسليم وتناسق العلامة التجارية. + +- **محتوى تعليمي** + تحويل المواد التعليمية، الاختبارات، أو ملخصات الدورات إلى مجموعات شرائح مُنظمة لمنصات التعلم الإلكتروني. + +- **رؤى مدعومة بالبيانات والذكاء الاصطناعي** + استخدام معالجة اللغة الطبيعية أو محركات التحليل لتحويل البيانات الخام أو النصوص الطويلة إلى عروض تقديمية ملخصة. + +- **شرائح تعتمد على الوسائط** + تجميع عروض تقديمية من الصور المرفوعة، لقطات الشاشة المشروحة، أو إطارات الفيديو الرئيسية مع وصف داعم. + +- **تحويل المستندات** + تحويل مستندات Word، ملفات PDF، أو مدخلات النماذج إلى عروض تقديمية بصرية تلقائيًا مع الحد الأدنى من الجهد اليدوي. + +- **أدوات المطورين والتقنية** + إنشاء عروض تقنية توضيحية، ملخصات الوثائق، أو سجلات التغييرات بصيغة شرائح مباشرة من الشيفرة أو محتوى markdown. + +من خلال أتمتة هذه سير العمل، يمكن للمنظمات توسيع إنتاج المحتوى، الحفاظ على التناسق، وتوفير الوقت لأعمال أكثر استراتيجية. + +## **دعونا نبرمج** + +في هذا المثال، اخترنا **[Aspose.Slides for Android](https://products.aspose.com/slides/android-java/)** لعرض أتمتة PowerPoint بفضل مجموعة ميزاته الشاملة وسهولة الاستخدام عند التعامل مع العروض برمجيًا. + +على عكس المكتبات ذات المستوى الأدنى، التي تتطلب من المطورين العمل مباشرةً مع بنية Open XML (مما ينتج عنه شيفرة مطولة وأقل قابلية للقراءة)، توفر Aspose.Slides API عالية المستوى. إنها تُجرد التعقيد، مما يسمح للمطورين بالتركيز على منطق العرض — مثل التخطيط، التنسيق، وربط البيانات — دون الحاجة إلى فهم تفاصيل تنسيق ملف PowerPoint. + +على الرغم من أن Aspose.Slides هي مكتبة تجارية، فإنها توفر نسخة [تجربة مجانية](https://releases.aspose.com/slides/androidjava/) يمكنها تشغيل الأمثلة المقدمة في هذه المقالة بالكامل. لأغراض عرض الأفكار، اختبار الميزات، أو بناء دليل مفهوم كما هو موضح هنا، التجربة أكثر من كافية. هذا يجعلها خيارًا ملائمًا لتجربة أتمتة PowerPoint دون الحاجة إلى الالتزام برخصة مسبقًا. + +حسنًا، دعونا نتبع خطوات بناء مثال عرض تقديمي باستخدام محتوى واقعي. + +### **إنشاء شريحة عنوان** + +سنبدأ بإنشاء عرض تقديمي جديد وإضافة شريحة عنوان تحتوي على عنوان رئيسي وعنوان فرعي. +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![شريحة العنوان](slide_0.png) + +### **إضافة شريحة مع مخطط عمودي** + +بعد ذلك، سننشئ شريحة تعرض أداء المبيعات الإقليمية كمخطط عمودي. +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![الشريحة التي تحتوي على المخطط](slide_1.png) + +### **إضافة شريحة مع جدول** + +سنعمل الآن على إضافة شريحة تعرض مقاييس الأداء الرئيسية في صيغة جدول. +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![الشريحة التي تحتوي على الجدول](slide_2.png) + +### **إضافة شريحة ملخص بنقاط تعداد** + +أخيرًا، سنضيف ملخصًا وخطة عمل باستخدام قائمة تعداد بسيطة. +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![الشريحة التي تحتوي على النص](slide_3.png) + +### **حفظ العرض التقديمي** + +أخيرًا، نقوم بحفظ العرض التقديمي إلى القرص: +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **الخلاصة** + +توفر أتمتة توليد PowerPoint في تطبيقات Android فوائد واضحة في توفير الوقت وتقليل الجهد اليدوي. من خلال دمج محتوى ديناميكي مثل المخططات، الجداول، والنصوص، يمكن للمطورين إنتاج عروض تقديمية متسقة ومحترفة بسرعة — مثالية لتقارير الأعمال، اجتماعات العملاء، أو المحتوى التعليمي. + +في هذه المقالة، أظهرنا كيفية أتمتة إنشاء عرض تقديمي من الصفر، بما في ذلك إضافة شريحة عنوان، مخططات، وجداول. يمكن تطبيق هذه الطريقة عبر حالات استخدام مختلفة حيث تكون العروض التقديمية الآلية المستندة إلى البيانات مطلوبة. + +من خلال الاستفادة من الأدوات المناسبة، يستطيع مطورو Android أتمتة إنشاء PowerPoint بكفاءة، مما يعزز الإنتاجية ويضمن التناسق عبر العروض التقديمية. \ No newline at end of file diff --git a/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ar/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..d41fb9b570 --- /dev/null +++ b/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,191 @@ +--- +title: "أتمتة إنشاء عروض PowerPoint في C++: إنشاء عروض تقديمية ديناميكية بسهولة" +linktitle: أتمتة إنشاء عروض PowerPoint +type: docs +weight: 20 +url: /ar/cpp/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- منصات سحابية +- أتمتة إنشاء PowerPoint +- إنشاء عروض تقديمية برمجياً +- أتمتة PowerPoint +- إنشاء شرائح ديناميكية +- تقارير أعمال آلية +- أتمتة PPT +- عرض تقديمي C++ +- C++ +- Aspose.Slides +description: "أتمتة إنشاء الشرائح على منصات السحابة باستخدام Aspose.Slides لـ C++ — إنشاء، تحرير، وتحويل ملفات PowerPoint وOpenDocument بسرعة وموثوقية." +--- + +## **المقدمة** + +إنشاء عروض PowerPoint يدويًا يمكن أن يكون مهمة تستغرق وقتًا طويلاً ومكرَّرة — خاصة عندما يكون المحتوى مبنيًا على بيانات ديناميكية تتغير باستمرار. سواء كان ذلك في توليد تقارير الأعمال الأسبوعية، أو تجميع المواد التعليمية، أو إنتاج عروض مبيعات جاهزة للعميل، يمكن للأتمتة أن توفر ساعات لا حصر لها وتضمن الاتساق عبر الفرق. + +بالنسبة لمطوري C++، يفتح أتمتة إنشاء عروض PowerPoint إمكانيات قوية. يمكنك دمج توليد الشرائح في بوابات الويب، أدوات سطح المكتب، خدمات الخلفية، أو منصات السحابة لتحويل البيانات ديناميكيًا إلى عروض مهنية تحمل العلامة التجارية — حسب الطلب. + +في هذه المقالة، سنستكشف الحالات الشائعة لإنشاء عروض PowerPoint تلقائيًا في تطبيقات C++ (بما في ذلك النشر على منصات السحابة) ولماذا يصبح هذا ميزة أساسية في الحلول الحديثة. من سحب بيانات الأعمال في الوقت الفعلي إلى تحويل النص أو الصور إلى شرائح، الهدف هو تحويل المحتوى الخام إلى صيغ مرئية منظمة يمكن لجمهورك فهمها فورًا. + +## **الحالات الشائعة لاستخدام أتمتة PowerPoint في C++** + +- **تقارير الأعمال ولوحات التحكم** + توليد ملخصات المبيعات، مؤشرات الأداء الرئيسية (KPIs)، أو تقارير الأداء المالي عن طريق سحب البيانات الحية من قواعد البيانات أو الواجهات البرمجية (APIs). + +- **عروض مبيعات وتسويق مخصصة** + إنشاء عروض تقديمية مخصصة للعميل تلقائيًا باستخدام بيانات CRM أو نماذج الإدخال، مما يضمن سرعة الإنجاز واتساق العلامة التجارية. + +- **المحتوى التعليمي** + تحويل المواد التعليمية، الاختبارات، أو ملخصات الدورات إلى مجموعات شرائح منظمة لمنصات التعلم الإلكتروني. + +- **تحليلات مدعومة بالبيانات والذكاء الاصطناعي** + استخدام معالجة اللغة الطبيعية أو محركات التحليل لتحويل البيانات الخام أو النصوص الطويلة إلى عروض تقديمية مختصرة. + +- **شرائح مستندة إلى الوسائط** + تجميع عروض من صور مرفوعة، لقطات شاشة مشروحة، أو إطارات مفتاحية من الفيديو مع أوصاف داعمة. + +- **تحويل المستندات** + تحويل مستندات Word أو PDFs أو إدخالات النماذج إلى عروض مرئية تلقائيًا مع قليل من الجهد اليدوي. + +- **أدوات المطورين والتقنية** + إنشاء عروض تجريبية تقنية، نظرات عامة على الوثائق، أو سجلات تغييرات بصيغة شرائح مباشرة من الكود أو محتوى markdown. + +من خلال أتمتة هذه سير العمل، يمكن للمنظمات توسيع نطاق إنشاء المحتوى، الحفاظ على الاتساق، وتوفير الوقت للأنشطة الاستراتيجية. + +## **لنكتب الشيفرة** + +لهذا المثال، اخترنا **[Aspose.Slides for C++](https://products.aspose.com/slides/cpp/)** لعرض أتمتة PowerPoint بفضل مجموعة ميزاته الشاملة وسهولة الاستخدام عند التعامل مع العروض برمجيًا. + +على عكس المكتبات منخفضة المستوى التي تتطلب من المطورين العمل مباشرةً مع بنية Open XML (مما ينتج عنه كود مطول وأقل قراءة)، توفر Aspose.Slides واجهة برمجة تطبيقات عالية المستوى. إنها تج abstracts away التعقيد، مما يسمح للمطورين بالتركيز على منطق العرض — مثل التخطيط، التنسيق، وربط البيانات — دون الحاجة لفهم تفاصيل تنسيق ملف PowerPoint. + +على الرغم من أن Aspose.Slides مكتبة تجارية، إلا أنها تقدم نسخة [تجريبية مجانية](https://releases.aspose.com/slides/cpp/) يمكنها تشغيل الأمثلة الواردة في هذه المقالة بصورة كاملة. لأغراض عرض الأفكار، اختبار الميزات، أو بناء نموذج إثبات مفهوم كما نفعل هنا، تكون النسخة التجريبية كافية تمامًا. هذا يجعلها خيارًا مريحًا لتجربة أتمتة إنشاء عروض PowerPoint دون الحاجة إلى ترخيص مسبق. + +حسنًا، لنستعرض بناء عرض تقديمي تجريبي باستخدام محتوى واقعي. + +### **إنشاء شريحة عنوان** + +سنبدأ بإنشاء عرض تقديمي جديد وإضافة شريحة عنوان تحتوي على عنوان رئيسي وعنوان فرعي. +```cpp +auto presentation = MakeObject(); + +auto slide0 = presentation->get_Slide(0); + +auto layoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Title); +slide0->set_LayoutSlide(layoutSlide); + +auto titleShape = ExplicitCast(slide0->get_Shape(0)); +auto subtitleShape = ExplicitCast(slide0->get_Shape(1)); + +titleShape->get_TextFrame()->set_Text(u"Quarterly Business Review – Q1 2025"); +subtitleShape->get_TextFrame()->set_Text(u"Prepared for Executive Team"); +``` + + +![شريحة العنوان](slide_0.png) + +### **إضافة شريحة مع مخطط عمودي** + +بعد ذلك، سننشئ شريحة تُظهر أداء المبيعات الإقليمي كمخطط عمودي. +```cpp +auto layoutSlide1 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide1 = presentation->get_Slides()->AddEmptySlide(layoutSlide1); + +auto chart = slide1->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +chart->get_Legend()->set_Position(LegendPositionType::Bottom); +chart->set_HasTitle(true); +chart->get_ChartTitle()->AddTextFrameForOverriding(u"Data from January – March 2025"); +chart->get_ChartTitle()->set_Overlay(false); + +auto workbook = chart->get_ChartData()->get_ChartDataWorkbook(); +auto worksheetIndex = 0; + +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 1, 0, ObjectExt::Box(u"North America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 2, 0, ObjectExt::Box(u"Europe"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 3, 0, ObjectExt::Box(u"Asia Pacific"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 4, 0, ObjectExt::Box(u"Latin America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 5, 0, ObjectExt::Box(u"Middle East"))); + +auto series = chart->get_ChartData()->get_Series()->Add(workbook->GetCell(worksheetIndex, 0, 1, ObjectExt::Box(u"Sales ($K)")), chart->get_Type()); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 1, 1, ObjectExt::Box(480))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 2, 1, ObjectExt::Box(365))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 3, 1, ObjectExt::Box(290))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 4, 1, ObjectExt::Box(150))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 5, 1, ObjectExt::Box(120))); +``` + + +![الشريحة مع المخطط العمودي](slide_1.png) + +### **إضافة شريحة مع جدول** + +سنضيف الآن شريحة تعرض مؤشرات الأداء الرئيسية بصيغة جدول. +```cpp +auto layoutSlide2 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide2 = presentation->get_Slides()->AddEmptySlide(layoutSlide2); + +auto columnWidths = MakeArray({ 200, 100 }); +auto rowHeights = MakeArray({ 40, 40, 40, 40, 40 }); + +auto table = slide2->get_Shapes()->AddTable(200, 200, columnWidths, rowHeights); +table->get_Column(0)->idx_get(0)->get_TextFrame()->set_Text(u"Metric"); +table->get_Column(1)->idx_get(0)->get_TextFrame()->set_Text(u"Value"); +table->get_Column(0)->idx_get(1)->get_TextFrame()->set_Text(u"Total Revenue"); +table->get_Column(1)->idx_get(1)->get_TextFrame()->set_Text(u"$1.4M"); +table->get_Column(0)->idx_get(2)->get_TextFrame()->set_Text(u"Gross Margin"); +table->get_Column(1)->idx_get(2)->get_TextFrame()->set_Text(u"54%"); +table->get_Column(0)->idx_get(3)->get_TextFrame()->set_Text(u"New Customers"); +table->get_Column(1)->idx_get(3)->get_TextFrame()->set_Text(u"340"); +table->get_Column(0)->idx_get(4)->get_TextFrame()->set_Text(u"Customer Retention"); +table->get_Column(1)->idx_get(4)->get_TextFrame()->set_Text(u"87%"); +``` + + +![الشريحة مع الجدول](slide_2.png) + +### **إضافة شريحة ملخص بنقاط تعداد** + +أخيرًا، سندرج ملخصًا وخطة عمل باستخدام قائمة تعداد بسيطة. +```cpp +static SharedPtr CreateBulletParagraph(String text) { + auto paragraph = MakeObject(); + paragraph->get_ParagraphFormat()->get_Bullet()->set_Type(BulletType::Symbol); + paragraph->get_ParagraphFormat()->set_Indent(15); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->set_FillType(FillType::Solid); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Black()); + paragraph->set_Text(text); + return paragraph; +} +``` + +```cpp +auto layoutSlide3 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide3 = presentation->get_Slides()->AddEmptySlide(layoutSlide3); + +auto bulletList = slide3->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +bulletList->get_FillFormat()->set_FillType(FillType::NoFill); +bulletList->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill); + +bulletList->get_TextFrame()->get_Paragraphs()->Clear(); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Improve marketing outreach in underperforming regions")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Prepare new campaign strategy for Q2")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Schedule follow-up review in early July")); +``` + + +![الشريحة مع النص](slide_3.png) + +### **حفظ العرض التقديمي** + +أخيرًا، نقوم بحفظ العرض التقديمي على القرص: +```java +presentation->Save(u"presentation.pptx", SaveFormat::Pptx); +``` + + +## **الخاتمة** + +توفر أتمتة إنشاء عروض PowerPoint في تطبيقات C++ فوائد واضحة في توفير الوقت وتقليل الجهد اليدوي. من خلال دمج محتوى ديناميكي مثل المخططات، الجداول، والنصوص، يمكن للمطورين إنتاج عروض تقديمية متسقة ومهنية بسرعة — مثالية لتقارير الأعمال، اجتماعات العملاء، أو المحتوى التعليمي. + +في هذه المقالة، عرضنا كيفية أتمتة إنشاء عرض تقديمي من الصفر، بما في ذلك إضافة شريحة عنوان، مخططات، وجداول. يمكن تطبيق هذه الطريقة على مختلف الحالات التي تتطلب عروضًا تقديمية مدفوعة بالبيانات. + +باستخدام الأدوات المناسبة، يمكن لمطوري C++ أتمتة إنشاء عروض PowerPoint بفعالية، مما يعزز الإنتاجية ويضمن الاتساق عبر جميع العروض. \ No newline at end of file diff --git a/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ar/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..fe55296a7f --- /dev/null +++ b/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "أتمتة إنشاء عروض PowerPoint في Java: إنشاء عروض تقديمية ديناميكية بسهولة" +linktitle: "أتمتة إنشاء PowerPoint" +type: docs +weight: 20 +url: /ar/java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- منصات سحابية +- أتمتة إنشاء PowerPoint +- إنشاء عروض تقديمية برمجياً +- أتمتة PowerPoint +- إنشاء شرائح ديناميكي +- تقارير أعمال مؤتمتة +- أتمتة PPT +- عرض Java +- Java +- Aspose.Slides +description: "أتمتة إنشاء الشرائح على منصات سحابية باستخدام Aspose.Slides for Java—إنشاء، تحرير، وتحويل ملفات PowerPoint وOpenDocument بسرعة وبشكل موثوق." +--- + +## **المقدمة** + +إنشاء عروض PowerPoint يدوياً يمكن أن يكون مهمة مستهلكة للوقت ومتكررة—لا سيما عندما يكون المحتوى مبنياً على بيانات ديناميكية تتغير باستمرار. سواء كان ذلك لتوليد تقارير الأعمال الأسبوعية، تجميع المواد التعليمية، أو إنتاج عروض مبيعات جاهزة للعملاء، يمكن للأتمتة أن توفر ساعات لا تحصى وتضمن التناسق بين الفرق. + +لمطوري Java، يفتح أتمتة إنشاء عروض PowerPoint إمكانيات قوية. يمكنك دمج توليد الشرائح في بوابات الويب، أدوات سطح المكتب، الخدمات الخلفية، أو المنصات السحابية لتحويل البيانات ديناميكياً إلى عروض احترافية ذات علامة تجارية—حسب الطلب. + +في هذه المقالة، سنستكشف حالات الاستخدام الشائعة لتوليد PowerPoint تلقائياً في تطبيقات Java (بما في ذلك النشر على منصات السحابة) ولماذا يصبح ذلك ميزة أساسية في الحلول الحديثة. من سحب بيانات الأعمال في الوقت الفعلي إلى تحويل النص أو الصور إلى شرائح، الهدف هو تحويل المحتوى الخام إلى صيغ مرئية منظمة يمكن لجمهورك فهمها فوراً. + +## **حالات الاستخدام الشائعة لأتمتة PowerPoint في Java** + +يكون أتمتة توليد PowerPoint مفيداً خصوصاً في السيناريوهات التي يحتاج فيها محتوى العرض إلى التجميع الديناميكي، التخصيص، أو التحديث المتكرر. بعض أكثر حالات الاستخدام الواقعية شيوعاً تشمل: + +- **تقارير الأعمال ولوحات التحكم** + توليد ملخصات المبيعات، مؤشرات الأداء الرئيسية، أو تقارير الأداء المالي عن طريق سحب البيانات الحية من قواعد البيانات أو APIs. + +- **عروض مبيعات وتسويق مخصصة** + إنشاء عروض تقديمية مخصصة للعميل تلقائياً باستخدام بيانات CRM أو النماذج، مما يضمن سرعة التسليم وتناسق العلامة التجارية. + +- **المحتوى التعليمي** + تحويل المواد التعليمية، الاختبارات، أو ملخصات الدورات إلى عروض شرائح منظمة لمنصات التعلم الإلكتروني. + +- **تحليلات مدعومة بالبيانات والذكاء الاصطناعي** + استخدام معالجة اللغة الطبيعية أو محركات التحليل لتحويل البيانات الخام أو النصوص الطويلة إلى عروض ملخصة. + +- **شرائح مستندة إلى الوسائط** + تجميع عروض من الصور المرفوعة، لقطات الشاشة المعلّقة، أو إطارات الفيديو الرئيسية مع أوصاف داعمة. + +- **تحويل المستندات** + تحويل مستندات Word، PDFs، أو إدخالات النماذج إلى عروض بصرية تلقائياً مع الحد الأدنى من الجهد اليدوي. + +- **أدوات المطورين والتقنية** + إنشاء عروض تجريبية، نظرات عامة على الوثائق، أو سجلات التغييرات بصيغة شرائح مباشرة من الشيفرة أو محتوى markdown. + +من خلال أتمتة هذه التدفقات، يمكن للمؤسسات توسيع نطاق إنشاء المحتوى، الحفاظ على التناسق، وتوفير الوقت للمهام الإستراتيجية. + +## **لنكتب الكود** + +لإظهار أتمتة PowerPoint في هذا المثال، اخترنا **[Aspose.Slides for Java](https://products.aspose.com/slides/java/)** بسبب مجموعة ميزاته الشاملة وسهولة الاستخدام عند التعامل مع العروض برمجياً. + +على عكس المكتبات منخفضة المستوى التي تتطلب من المطورين العمل مباشرةً مع بنية Open XML (مما يؤدي غالباً إلى شيفرة مطولة وأقل قابلية للقراءة)، توفر Aspose.Slides API عالي المستوى. فهو يج abstracts التعقيد، مما يسمح للمطورين بالتركيز على منطق العرض—مثل التخطيط، التنسيق، وربط البيانات—دون الحاجة لفهم تفاصيل تنسيق ملف PowerPoint. + +على الرغم من أن Aspose.Slides مكتبة تجارية، فإنها تقدم نسخة [free trial](https://releases.aspose.com/slides/java/) يمكنها تشغيل الأمثلة الواردة في هذه المقالة بالكامل. لأغراض توضيح الأفكار، اختبار الميزات، أو بناء نموذج إثبات مفهوم كما نفعل هنا، تكون النسخة التجريبية كافية تماماً. وهذا يجعلها خياراً مريحاً لتجربة أتمتة PowerPoint دون الحاجة إلى الالتزام برخصة مسبقة. + +حسنًا، لنستعرض بناء عرض تجريبي باستخدام محتوى واقعي. + +### **إنشاء شريحة عنوان** + +سنبدأ بإنشاء عرض جديد وإضافة شريحة عنوان مع عنوان رئيسي وعنوان فرعي. +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![شريحة العنوان](slide_0.png) + +### **إضافة شريحة مع مخطط عمودي** + +بعد ذلك، سننشئ شريحة تُظهر أداء المبيعات الإقليمية كمخطط عمودي. +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![الشريحة مع المخطط](slide_1.png) + +### **إضافة شريحة مع جدول** + +سنضيف الآن شريحة تعرض مؤشرات الأداء الرئيسية في صيغة جدول. +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![الشريحة مع الجدول](slide_2.png) + +### **إضافة شريحة ملخص بنقاط تعداد** + +أخيراً، سندرج ملخصاً وخطة عمل باستخدام قائمة تعداد بسيطة. +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![الشريحة مع النص](slide_3.png) + +### **حفظ العرض** + +في النهاية، نحفظ العرض على القرص: +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **الخاتمة** + +توفر أتمتة توليد PowerPoint في تطبيقات Java فوائد واضحة في توفير الوقت وتقليل الجهد اليدوي. من خلال دمج محتوى ديناميكي مثل المخططات، الجداول، والنصوص، يمكن للمطورين إنتاج عروض متسقة واحترافية بسرعة—مثالية لتقارير الأعمال، اجتماعات العملاء، أو المحتوى التعليمي. + +في هذه المقالة، عرضنا كيفية أتمتة إنشاء عرض من الصفر، بما في ذلك إضافة شريحة عنوان، مخططات، وجداول. يمكن تطبيق هذا النهج على مجموعة متنوعة من حالات الاستخدام التي تتطلب عروضاً مدفوعة بالبيانات ومؤتمتة. + +من خلال الاستفادة من الأدوات المناسبة، يمكن لمطوري Java أتمتة إنشاء عروض PowerPoint بفعالية، مما يعزز الإنتاجية ويضمن التناسق بين العروض. \ No newline at end of file diff --git a/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ar/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ar/net/developer-guide/3d-presentation/_index.md b/ar/net/developer-guide/3d-presentation/_index.md index 44c515ec22..245b9aed29 100644 --- a/ar/net/developer-guide/3d-presentation/_index.md +++ b/ar/net/developer-guide/3d-presentation/_index.md @@ -1,56 +1,45 @@ --- -title: تقديم ثلاثي الأبعاد +title: "عرض تقديمي ثلاثي الأبعاد" type: docs weight: 232 url: /ar/net/3d-presentation/ keywords: - 3D - PowerPoint ثلاثي الأبعاد -- تقديم ثلاثي الأبعاد -- دوران ثلاثي الأبعاد +- عرض ثلاثي الأبعاد +- تدوير ثلاثي الأبعاد - عمق ثلاثي الأبعاد -- بروز ثلاثي الأبعاد +- بثق ثلاثي الأبعاد - تدرج ثلاثي الأبعاد - نص ثلاثي الأبعاد -- تقديم PowerPoint +- عرض PowerPoint - C# - Csharp - Aspose.Slides لـ .NET -description: "تقديم PowerPoint ثلاثي الأبعاد بلغة C# أو .NET" +description: "عرض تقديمي ثلاثي الأبعاد لـ PowerPoint باستخدام C# أو .NET" --- +## **نظرة عامة** +كيف تقوم عادةً بإنشاء عرض تقديمي ثلاثي الأبعاد في PowerPoint؟ -## نظرة عامة -كيف تقوم عادةً بإنشاء تقديم PowerPoint ثلاثي الأبعاد؟ -يتيح Microsoft PowerPoint إنشاء عروض تقديمية ثلاثية الأبعاد من حيث إمكانية إضافة نماذج ثلاثية الأبعاد، وتطبيق تأثيرات ثلاثية الأبعاد على الأشكال، -وإنشاء نصوص ثلاثية الأبعاد، وتحميل الرسوم البيانية ثلاثية الأبعاد في العرض التقديمي، وإنشاء رسوم متحركة ثلاثية الأبعاد في PowerPoint. - -إنشاء تأثيرات ثلاثية الأبعاد له تأثير كبير في تحسين تقديمك إلى تقديم ثلاثي الأبعاد، وقد تكون أسهل تنفيذ لتقديم ثلاثي الأبعاد. -منذ إصدار Aspose.Slides 20.9، تمت إضافة **محرك ثلاثي الأبعاد متعدد المنصات** جديد. يتيح محرك 3D الجديد -تصدير وتحويل الأشكال والنصوص مع تأثيرات ثلاثية الأبعاد. في الإصدارات السابقة، -كانت أشكال الشرائح مع تأثيرات 3D مطبقة، قد تم عرضها بشكل مسطح. ولكن، الآن من الممكن -عرض الأشكال بشكل **ثلاثي الأبعاد كامل**. -علاوة على ذلك، الآن من الممكن إنشاء أشكال مع تأثيرات ثلاثية الأبعاد عبر واجهة برمجة التطبيقات العامة لـ Slides. - -في واجهة برمجة تطبيقات Aspose.Slides، لجعل -شكل ما يصبح شكل PowerPoint ثلاثي الأبعاد استخدم خاصية [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat)، -التي ترث ميزات واجهة [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat): -- [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) -و[BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop): تعيين الحواف على الشكل، تحديد نوع الحواف (مثل: زاوية، دائرة، مستديرة ناعمة)، تحديد ارتفاع وعرض الحواف. -- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): تستخدم لتقليد حركة الكاميرا حول الكائن. بعبارة أخرى، من خلال ضبط دوران الكاميرا، التكبير وغيرها من الخصائص - يمكنك التفاعل مع -أشكالك كما هو الحال مع النموذج ثلاثي الأبعاد في PowerPoint. -- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) -و[ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth): تعيين خصائص المحيط لجعل الشكل يبدو مثل شكل PowerPoint ثلاثي الأبعاد. -- [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth)، -[ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) -و[ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight): تُستخدم لجعل الشكل ثلاثي الأبعاد، مما يعني تحويل شكل ثنائي الأبعاد إلى شكل ثلاثي الأبعاد، -من خلال تعيين عمقه أو بروز الشكل. -- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig): يمكن أن تخلق تأثير ضوء على شكل ثلاثي الأبعاد. منطق هذه الخاصية قريب من الكاميرا، يمكنك ضبط دوران الضوء -بما يتناسب مع الشكل ثلاثي الأبعاد وتحديد نوع الضوء. -- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material): تحديد نوع المادة المستخدمة في الشكل ثلاثي الأبعاد يمكن أن يُضفي تأثيراً أكثر حيوية عليه. توفر الخاصية مجموعة من المواد المعرفة مسبقًا، مثل: -معدن، بلاستيك، مسحوق، غير لامع، إلخ. - -يمكن تطبيق جميع ميزات 3D على كل من الأشكال والنصوص. دعنا نرى كيف يمكن الوصول إلى الخصائص المذكورة أعلاه ثم نلقي نظرة عليها بالتفصيل خطوة بخطوة: +Microsoft PowerPoint يتيح إنشاء عروض تقديمية ثلاثية الأبعاد بحيث يمكننا إضافة نماذج ثلاثية الأبعاد هناك، وتطبيق تأثيرات ثلاثية الأبعاد على الأشكال، وإنشاء نص ثلاثي الأبعاد، وتحميل رسومات ثلاثية الأبعاد إلى العرض، وإنشاء رسومات متحركة ثلاثية الأبعاد في PowerPoint. + +إنشاء تأثيرات ثلاثية الأبعاد يحقق تأثيرًا كبيرًا في تحسين عرضك التقديمي إلى عرض ثلاثي الأبعاد، وقد يكون أسهل طريقة لتنفيذ عرض ثلاثي الأبعاد. + +منذ إصدار Aspose.Slides 20.9، تم إضافة **محرك ثلاثي الأبعاد متعدد المنصات** جديد. يتيح المحرك الثلاثي الأبعاد الجديد تصدير وتحويل الأشكال والنصوص ذات التأثيرات الثلاثية الأبعاد إلى رسومات نقطية. في الإصدارات السابقة، كانت الأشكال التي تم تطبيق تأثيرات ثلاثية الأبعاد عليها تُرسم مسطحة. الآن يمكن رسم الأشكال بـ **ثلاثية أبعاد كاملة**. + +علاوة على ذلك، أصبح من الممكن الآن إنشاء أشكال بتأثيرات ثلاثية الأبعاد عبر واجهة برمجة تطبيقات Slides العامة. + +في Aspose.Slides API، لجعل شكل يصبح شكلاً ثلاثيًا في PowerPoint استخدم خاصية [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat) التي ترث ميزات واجهة [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat): + +- [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) و [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop): تعيين الحافة للشكل، تحديد نوع الحافة (مثل Angle أو Circle أو SoftRound)، وتحديد ارتفاع وعرض الحافة. +- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): تُستخدم لمحاكاة حركات الكاميرا حول الكائن. بعبارة أخرى، من خلال ضبط دوران الكاميرا، التكبير وخصائص أخرى يمكنك التلاعب بالأشكال كما لو كانت نموذجًا ثلاثيًا في PowerPoint. +- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) و [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth): تعيين خصائص الحد لجعل الشكل يبدو كأنه شكل PowerPoint ثلاثي الأبعاد. +- [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth)، [ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) و [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight): تُستخدم لجعل الشكل ثلاثي الأبعاد، أي تحويل شكل ثنائي الأبعاد إلى شكل ثلاثي الأبعاد عن طريق ضبط العمق أو القيام بالإخراج. +- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig): يمكنه إنشاء تأثير إضاءة على الشكل الثلاثي الأبعاد. منطق هذه الخاصية قريب من Camera؛ يمكنك ضبط دوران الضوء بالنسبة للشكل واختيار نوع الضوء. +- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material): تحديد نوع مادة الشكل الثلاثي الأبعاد يمكن أن يضيف تأثيرًا أكثر حيوية. توفر الخاصية مجموعة من المواد المُعَرَّفة مسبقًا مثل Metal و Plastic و Powder و Matte وغيرها. + +يمكن تطبيق جميع الخصائص الثلاثية الأبعاد على كل من الأشكال والنص. دعنا نرى كيف نصل إلى الخصائص المذكورة أعلاه ثم نستعرضها بالتفصيل خطوة بخطوة: ``` csharp const float imageScale = 2; @@ -79,21 +68,21 @@ using (Presentation presentation = new Presentation()) } ``` -الصورة المصغرة المعالجة تبدو كالتالي: + +الصورة المصغرة التي تم توليدها تبدو هكذا: ![todo:image_alt_text](img_01_01.png) -## دوران ثلاثي الأبعاد -من الممكن تدوير أشكال PowerPoint ثلاثية الأبعاد في المستوى ثلاثي الأبعاد، مما يجلب المزيد من التفاعل. لتدوير شكل ثلاثي الأبعاد في PowerPoint، عادةً ما تستخدم القائمة التالية: +## **تدوير ثلاثي الأبعاد** +من الممكن تدوير أشكال PowerPoint الثلاثية الأبعاد في مستوى ثلاثي الأبعاد، مما يضيف تفاعلية أكبر. لتدوير شكل ثلاثي الأبعاد في PowerPoint، عادةً ما تستخدم القائمة التالية: ![todo:image_alt_text](img_02_01.png) -في واجهة برمجة التطبيقات Aspose.Slides يمكن إدارة دوران الشكل الثلاثي الأبعاد باستخدام خاصية [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): - +في Aspose.Slides API يمكن إدارة تدوير الشكل الثلاثي الأبعاد باستخدام خاصية [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); -// ... ضبط معلمات المشهد ثلاثي الأبعاد الأخرى +// ... تعيين معلمات مشهد ثلاثي الأبعاد الأخرى using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -101,16 +90,15 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -## عمق ثلاثي الأبعاد وبروز -لإضفاء البعد الثالث على شكلك وجعله شكلاً ثلاثي الأبعاد، استخدم الخاصيتين [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) -و[IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor): +## **عمق ثلاثي الأبعاد والاستخراج** +لإضفاء البعد الثالث على الشكل وجعله شكلًا ثلاثيًا، استخدم خصائص [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) و [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor): ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); shape.ThreeDFormat.ExtrusionHeight = 100; shape.ThreeDFormat.ExtrusionColor.Color = Color.Purple; -// ... ضبط معلمات المشهد ثلاثي الأبعاد الأخرى +// ... تعيين معلمات مشهد ثلاثي الأبعاد أخرى using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -118,14 +106,14 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -عادةً ما تستخدم قائمة العمق في PowerPoint لتعيين العمق لشكل PowerPoint ثلاثي الأبعاد: -![todo:image_alt_text](img_02_02.png) +عادةً ما تستخدم قائمة Depth في PowerPoint لتحديد العمق لشكل PowerPoint ثلاثي الأبعاد: +![todo:image_alt_text](img_02_02.png) -## تدرج ثلاثي الأبعاد -يمكن استخدام التدرج لملء لون شكل PowerPoint ثلاثي الأبعاد. دعنا ننشئ شكلاً بلون ملئ تدريجي ونطبق عليه تأثير ثلاثي الأبعاد: +## **تدرج ثلاثي الأبعاد** +يمكن استخدام التدرج لتعبئة لون شكل PowerPoint ثلاثي الأبعاد. لننشئ شكلًا بتعبئة تدرجية ونطبق عليه تأثير ثلاثي الأبعاد: ``` csharp const float imageScale = 2; @@ -134,7 +122,7 @@ using (Presentation presentation = new Presentation()) ISlide slide = presentation.Slides[0]; IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); - shape.TextFrame.Text = "تدرج ثلاثي الأبعاد"; + shape.TextFrame.Text = "3D Gradient"; shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 64; shape.FillFormat.FillType = FillType.Gradient; @@ -155,11 +143,12 @@ using (Presentation presentation = new Presentation()) } ``` -وهنا هي النتيجة: + +وهنا النتيجة: ![todo:image_alt_text](img_02_03.png) -بالإضافة إلى لون التعبئة التدريجي، من الممكن ملء الأشكال بصورة: +إلى جانب تعبئة التدرج، يمكن تعبئة الأشكال بصورة: ``` csharp byte[] imageData = File.ReadAllBytes("image.jpg"); IPPImage image = presentation.Images.AddImage(imageData); @@ -167,7 +156,7 @@ IPPImage image = presentation.Images.AddImage(imageData); shape.FillFormat.FillType = FillType.Picture; shape.FillFormat.PictureFillFormat.Picture.Image = image; shape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; -// ... إعداد 3D: shape.ThreeDFormat.Camera، shape.ThreeDFormat.LightRig، shape.ThreeDFormat.Extrusion* properties +// ... إعداد ثلاثي الأبعاد: shape.ThreeDFormat.Camera, shape.ThreeDFormat.LightRig, shape.ThreeDFormat.Extrusion* الخصائص using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -175,13 +164,13 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -هكذا تبدو: -![todo:image_alt_text](img_02_04.png) +وهذا ما يبدو عليه: -## نص ثلاثي الأبعاد (WordArt) -يتيح Aspose.Slides تطبيق تأثير ثلاثي الأبعاد على النص أيضًا. لإنشاء نص ثلاثي الأبعاد، من الممكن استخدام تأثير تحويل WordArt: +![todo:image_alt_text](img_02_04.png) +## **نص ثلاثي الأبعاد (WordArt)** +يسمح Aspose.Slides بتطبيق ثلاثية أبعاد على النص أيضًا. لإنشاء نص ثلاثي الأبعاد يمكن استخدام تأثير تحويل WordArt: ``` csharp const float imageScale = 2; @@ -192,7 +181,7 @@ using (Presentation presentation = new Presentation()) IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); shape.FillFormat.FillType = FillType.NoFill; shape.LineFormat.FillFormat.FillType = FillType.NoFill; - shape.TextFrame.Text = "نص ثلاثي الأبعاد"; + shape.TextFrame.Text = "3D Text"; Portion portion = (Portion)shape.TextFrame.Paragraphs[0].Portions[0]; portion.PortionFormat.FillFormat.FillType = FillType.Pattern; @@ -203,7 +192,7 @@ using (Presentation presentation = new Presentation()) shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 128; ITextFrameFormat textFrameFormat = shape.TextFrame.TextFrameFormat; - // تعيين تأثير تحويل WordArt "قوس للأعلى" + // تعيين تأثير تحويل WordArt "Arch Up" textFrameFormat.Transform = TextShapeType.ArchUp; textFrameFormat.ThreeDFormat.ExtrusionHeight = 3.5f; @@ -224,16 +213,21 @@ using (Presentation presentation = new Presentation()) } ``` -إليك النتيجة: + +وهنا النتيجة: ![todo:image_alt_text](img_02_05.png) +## **الأسئلة الشائعة** + +**هل سيتم حفظ التأثيرات الثلاثية الأبعاد عند تصدير العرض إلى الصور/PDF/HTML؟** + +نعم. يقوم محرك Slides الثلاثي الأبعاد برسم التأثيرات الثلاثية الأبعاد عند التصدير إلى الصيغ المدعومة ([الصور](/slides/ar/net/convert-powerpoint-to-png/)، [PDF](/slides/ar/net/convert-powerpoint-to-pdf/)، [HTML](/slides/ar/net/convert-powerpoint-to-html/)، إلخ). + +**هل يمكنني استرجاع القيم "الفعّالة" (النهائية) لمعلمات ثلاثية الأبعاد التي تأخذ في الاعتبار السمات والوراثة وما إلى ذلك؟** + +نعم. توفر Slides واجهات برمجة تطبيقات لـ [قراءة القيم الفعّالة](/slides/ar/net/shape-effective-properties/) (بما في ذلك الإضاءة، الحواف الثلاثية الأبعاد، إلخ) حتى تتمكن من رؤية الإعدادات النهائية المطبقة. -## غير مدعوم - قادم قريبًا -الميزات الثلاثية الأبعاد التالية في PowerPoint غير مدعومة بعد: -- الحواف -- المادة -- المحيط -- الإضاءة +**هل تعمل التأثيرات الثلاثية الأبعاد عند تحويل العرض إلى فيديو؟** -نستمر في تحسين محركنا ثلاثي الأبعاد، وهذه الميزات هي موضوع للتنفيذ المستقبلي. \ No newline at end of file +نعم. عند [إنشاء إطارات للفيديو](/slides/ar/net/convert-powerpoint-to-video/)، يتم رسم التأثيرات الثلاثية الأبعاد تمامًا كما هي عند [الصور المصدرة](/slides/ar/net/convert-powerpoint-to-png/). \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/_index.md index 90e25b92f8..5ab70251d8 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -1,5 +1,5 @@ --- -title: تحويل العرض +title: تحويل العرض التقديمي type: docs weight: 70 url: /ar/net/convert-presentation/ @@ -7,37 +7,66 @@ url: /ar/net/convert-presentation/ ## **تحويل PPT إلى PPTX** ### **حول تحويل PPT إلى PPTX** -يدعم Aspose.Slides الآن تحويل PPT إلى PPTX. +Aspose.Slides الآن تدعم تحويل PPT إلى PPTX. ### **تحويل PPT إلى PPTX باستخدام Aspose.Slides** -يوفر Aspose.Slides لـ .NET دعمًا جزئيًا لتحويل ملفات عرض مستندات PPT إلى تنسيق ملفات PPTX. حيث إن الدعم لميزة تحويل العرض المذكورة قد تم تقديمه مؤخرًا في Aspose.Slides لـ .NET، لذا في الوقت الحالي لديه قدرة محدودة ويعمل فقط للأشكال البسيطة من العروض. الميزة الرئيسية التي يوفرها مكتبة API Aspose.Slides لـ .NET لتحويل عرض PPT إلى تنسيق عرض PPTX هي سهولة استخدام API لتحقيق الهدف المنشود. يرجى الانتقال إلى هذا [الرابط](/slides/ar/net/convert-presentation/) إلى قسم مقتطفات الشفرات لمزيد من التفاصيل. يوضح القسم التالي بوضوح أي من الميزات مدعومة وغير مدعومة أثناء تحويل عروض صيغة PPT إلى عروض صيغة PPTX. +توفر Aspose.Slides for .NET دعمًا جزئيًا لتحويل عروض تقديمية بصيغة ملف PPT إلى عروض تقديمية بصيغة ملف PPTX. بما أن الدعم لهذه الميزة تم تقديمه للتو في Aspose.Slides for .NET، فإن القدرة الحالية محدودة وتعمل فقط على الشكل البسيط من العروض التقديمية. الميزة الرئيسية التي توفرها مكتبة Aspose.Slides for .NET API لتحويل عرض PPT إلى عرض بصيغة PPTX هي سهولة استخدام API لتحقيق الهدف المطلوب. يرجى الانتقال إلى هذا [الرابط](/slides/ar/net/convert-presentation/) إلى قسم مقتطفات الشفرة لمزيد من التفاصيل. القسم التالي يوضح بوضوح أي من الميزات مدعومة وأية غير مدعومة عند تحويل العروض بصيغة PPT إلى صيغة PPTX. {{% alert color="primary" %}} -اقرأ المزيد [**كيفية تحويل PPT إلى PPTX**](/slides/ar/net/convert-ppt-to-pptx/). +اقرأ المزيد [**كيفية تحويل PPT إلى PPTX**](/slides/ar/net/convert-ppt-to-pptx/). {{% /alert %}} ## **تحويل العرض إلى PDF** ### **حول PDF** -[تنسيق المستندات المحمولة](https://en.wikipedia.org/wiki/PDF) هو تنسيق ملف تم إنشاؤه بواسطة Adobe System لتبادل المستندات بين مختلف المؤسسات. وكانت الغرض من هذا التنسيق هو جعل محتويات المستندات قابلة للتقديم بطريقة بحيث لا يعتمد مظهرها البصري على النظام الذي يتم عرضه عليه. -### **PDF في Aspose.Slides لـ .NET** -[PDF](https://docs.fileformat.com/pdf/) هو تنسيق ملف تم إنشاؤه بواسطة Adobe System لتبادل المستندات بين مختلف المؤسسات. وكانت الغرض من هذا التنسيق هو جعل المظهر البصري لمحتويات المستندات غير معتمد على النظام الذي يتم عرضه عليه. - -أي مستند عرض يمكن تحميله في Aspose.Slides لـ .NET يمكن تحويله إلى مستند PDF. يمكنك تصدير مستندات العرض إلى PDF مباشرة باستخدام مكون Aspose.Slides لـ .NET فقط. لست بحاجة إلى أي مكتبات طرف ثالث أخرى أو مكون Aspose.PDF لهذا الغرض. +[صيغة المستند المحمول](https://en.wikipedia.org/wiki/PDF) هي تنسيق ملف أنشأته شركة Adobe System لتبادل المستندات بين مختلف المنظمات. الغرض من هذا التنسيق هو تمكين تمثيل محتويات المستندات بطريقة لا تعتمد مظهرها البصري على المنصة التي يُعرض عليها. +### **PDF في Aspose.Slides for .NET** +[PDF](https://docs.fileformat.com/pdf/) هو تنسيق ملف أنشأته شركة Adobe System لتبادل المستندات بين مختلف المنظمات. الغرض من هذا التنسيق هو تمكين أن يكون المظهر البصري لمحتويات المستند غير معتمد على المنصة التي يُعرض عليها. +يمكن تحويل أي مستند عرض يمكن تحميله في Aspose.Slides for .NET إلى مستند PDF. يمكنك تصدير مستندات العرض إلى PDF مباشرةً باستخدام مكوّن Aspose.Slides for .NET فقط. لا تحتاج إلى أي مكتبات طرف ثالث أو مكوّن Aspose.PDF لهذا الغرض. {{% alert color="primary" %}} -اقرأ المزيد [**كيفية تحويل العرض إلى PDF**](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-pdf/). +اقرأ المزيد [**كيفية تحويل العرض إلى PDF**](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-pdf/). {{% /alert %}} ## **تحويل العرض إلى XPS** ### **حول XPS** -[مواصفة محلل XML](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) هي لغة وصف صفحة وتنسيق مستند ثابت تم تطويره أصلاً بواسطة Microsoft. مثل PDF، XPS هو تنسيق مستند ثابت مصمم للحفاظ على دقة المستند وتوفير مظهر مستند مستقل عن الجهاز. +[مواصفة XML Parser](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) هي لغة وصف صفحات وتنسيق مستند ثابت طورته شركة Microsoft. مثل PDF، XPS هو تنسيق مستند ثابت التصميم يهدف إلى الحفاظ على دقة المستند وتوفير مظهر مستقل عن الجهاز. ### **تحويل العرض إلى XPS باستخدام Aspose.Slides** -أي مستند عرض يمكن تحميله بواسطة Aspose.Slides لـ .NET يمكن تحويله إلى تنسيق XPS. يستخدم Aspose.Slides لـ .NET محرك تخطيط الصفحات عالي الدقة وإخراج المستندات في تنسيق مستند XPS ثابت التخطيط. ومن الجدير بالذكر أن Aspose.Slides لـ .NET يقوم بإنشاء XPS مباشرةً دون الاعتماد على فئات Windows Presentation Foundation (WPF) المعبأة مع .NET Framework 3.5، مما يسمح لـ Aspose.Slides لـ .NET بإنتاج مستندات XPS على الآلات التي تعمل بإصدارات سابقة من .NET Framework. يمكنك التعرف على تصدير مستندات العرض إلى مستندات XPS من خلال Aspose.Slides لـ .NET في [هذا الموضوع](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). +يمكن تحويل أي مستند عرض يمكن تحميله بواسطة Aspose.Slides for .NET إلى تنسيق XPS. يستخدم Aspose.Slides for .NET محرك تخطيط الصفحات وعرضها عالي الدقة لإنتاج مخرجات بتنسيق مستند XPS ثابت التصميم. يجدر بالذكر أن Aspose.Slides for .NET يولد XPS مباشرةً دون الاعتماد على فصول Windows Presentation Foundation (WPF) المعبأة مع .NET Framework 3.5، مما يتيح لـ Aspose.Slides for .NET إنتاج مستندات XPS على أجهزة تعمل بإصدارات .NET Framework أقدم من 3.5. يمكنك التعرف على تصدير مستندات العرض إلى مستندات XPS عبر Aspose.Slides for .NET في [هذا الموضوع](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). {{% alert color="primary" %}} -اقرأ المزيد [**كيفية تحويل العرض إلى XPS**](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) +اقرأ المزيد [**كيفية تحويل العرض إلى XPS**](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) {{% /alert %}} ## **تحويل العرض إلى TIFF** ### **حول TIFF** -[تنسيق ملف الصورة الم Tagged](https://en.wikipedia.org/wiki/TIFF) المعروف بتخزين صور متعددة في مستند واحد، تم إنشاؤه أصلاً بواسطة Aldus. يعد هذا التنسيق مدعومًا على نطاق واسع من قِبَل تطبيقات المسح الضوئي، والفكس، وتطبيقات معالجة الصور الأخرى. +[صيغة ملف الصورة الموسومة](https://en.wikipedia.org/wiki/TIFF) المعروفة بتخزين صور متعددة في مستند واحد تم إنشاؤها أصلاً بواسطة Aldus. هذا التنسيق مدعوم على نطاق واسع من قبل تطبيقات المسح الضوئي والفاكس وتطبيقات تعديل الصور الأخرى. ### **تحويل العرض إلى TIFF باستخدام Aspose.Slides** -يمكن تحويل أي مستند يمكن تحميله في Aspose.Slide لـ .NET أيضًا مباشرةً إلى مستند TIFF بواسطة Aspose.Slides لـ .NET، مما يلغي الحاجة إلى أي مكون طرف ثالث. علاوة على ذلك، يمكنك تحديد حجم الصور في مستند TIFF الناتج. يمكنك العثور على معلومات حول تصدير مستندات العرض إلى مستندات TIFF من خلال Aspose.Slides لـ .NET في [هذا الموضوع](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-tiff/). +يمكن أي مستند يمكن تحميله في Aspose.Slides for .NET أيضًا تحويله إلى مستند TIFF مباشرةً بواسطة Aspose.Slides for .NET دون الحاجة لأي مكوّن طرف ثالث. بالإضافة إلى ذلك، يمكنك اختيارياً تحديد حجم الصور في مستند TIFF الناتج. يمكنك العثور على معلومات حول تصدير مستندات العرض إلى مستندات TIFF عبر Aspose.Slides for .NET في [هذا الموضوع](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-tiff/). {{% alert color="primary" %}} -اقرأ المزيد [**كيفية تحويل العرض إلى TIFF**](/slides/ar/net/convert-powerpoint-to-tiff/) -{{% /alert %}} \ No newline at end of file +اقرأ المزيد [**كيفية تحويل العرض إلى TIFF**](/slides/ar/net/convert-powerpoint-to-tiff/) +{{% /alert %}} + +## **الأسئلة الشائعة** + +**هل يمكنني تضمين الشرائح المخفية عند التصدير إلى PDF/XPS؟** + +نعم. يدعم التصدير تضمين الشرائح المخفية عبر الخيار المقابل في إعدادات [PDF](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/)/[XPS](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/) . + +**هل دعم حفظ إلى تنسيق PDF/A (للتخزين الأرشيفي) متاح؟** + +نعم، مستويات الالتزام بـ PDF/A [متاحة](https://reference.aspose.com/slides/net/aspose.slides.export/pdfcompliance/) (بما في ذلك A-2a/A-2b/A-2u و A-3a/A-3b) أثناء التصدير. + +**ماذا يحدث للخطوط أثناء التحويل: هل يتم تضمينها أم استبدالها؟** + +هناك خيارات مرنة: يمكنك [تضمين جميع المقاطع أو فقط المجموعات المستخدمة](/slides/ar/net/embedded-font/)، تحديد [خط احتياطي](/slides/ar/net/fallback-font/)، و[التحكم في السلوك](/slides/ar/net/font-substitution/) عندما يفتقر الخط إلى أنماط معينة. + +**كيف يمكنني التحكم في جودة وحجم ملف PDF الناتج؟** + +تتوفر خيارات لـ [جودة JPEG](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/jpegquality/)، [ضغط النص](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/textcompression/)، و[حد الدقة الكافية](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/sufficientresolution/) للصور، بالإضافة إلى وضع يختار [أفضل ضغط للصور](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/bestimagescompressionratio/). + +**هل يمكنني تصدير مجموعة محددة من الشرائح (مثلاً 5–12)؟** + +نعم، يدعم التصدير اختيار مجموعة فرعية من الشرائح. + +**هل المعالجة متعددة الأنوية لعدة ملفات في نفس الوقت مدعومة؟** + +يمكن معالجة عروض تقديمية مختلفة بالتوازي في عمليات منفصلة. مهم: لا يجب تحميل أو حفظ نفس كائن [العرض التقديمي](https://reference.aspose.com/slides/net/aspose.slides/presentation/) من [عدة خيوط](/slides/ar/net/multithreading/). + +**هل هناك مخاطر عند تطبيق الترخيص من خيوط مختلفة؟** + +نعم، استدعاءات [ضبط الترخيص](/slides/ar/net/licensing/) غير آمنة للخيوط وتتطلب تزامن. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md index 90865b0564..9d5f799d0f 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md @@ -1,49 +1,85 @@ --- -title: تحويل ODP من OpenOffice +title: تحويل عروض OpenDocument (ODP) في C# +linktitle: تحويل OpenDocument type: docs weight: 10 url: /ar/net/convert-openoffice-odp/ -keywords: "تحويل ODP إلى PDF، ODP إلى PPT، ODP إلى PPTX، ODP إلى XPS، ODP إلى HTML، ODP إلى TIFF" -description: "تحويل ODP إلى PDF، ODP إلى PPT، ODP إلى PPTX، ODP إلى HTML وأشكال أخرى باستخدام Aspose.Slides." +keywords: +- تحويل ODP +- ODP إلى صورة +- ODP إلى GIF +- ODP إلى HTML +- ODP إلى JPG +- ODP إلى MD +- ODP إلى PDF +- ODP إلى PNG +- ODP إلى PPT +- ODP إلى PPTX +- ODP إلى TIFF +- ODP إلى فيديو +- ODP إلى Word +- ODP إلى XPS +description: "تمكنك Aspose.Slides for .NET من تحويل ODP إلى PDF وHTML وصيغ الصور بسهولة. عزّز تطبيقات .NET الخاصة بك بتحويل عروض تقديمية سريع ودقيق." --- -[**واجهة برمجة تطبيقات Aspose.Slides**](https://products.aspose.com/slides/net/) تتيح لك تحويل عروض OpenOffice ODP إلى العديد من التنسيقات. واجهة برمجة التطبيقات المستخدمة لتحويل ملفات ODP إلى تنسيقات مستندات أخرى هي نفسها المستخدمة لعمليات تحويل PowerPoint (PPT و PPTX). +## **نظرة عامة** -تظهر هذه الأمثلة كيفية تحويل مستندات ODP إلى تنسيقات أخرى (فقط غير الملف المصدر ODP): +Aspose.Slides for .NET يقدم واجهة برمجة تطبيقات قوية لتحويل عروض OpenDocument (ODP) إلى صيغ أخرى متعددة. باتباع نهج مشابه للملفات PowerPoint (PPT وPPTX)، يمكن للمطورين بسهولة تصدير مستندات ODP إلى صيغ مثل HTML وPDF وTIFF وJPG وXPS وغيرها. + +هذه الأمثلة توضح كيفية تحويل مستندات ODP إلى صيغ أخرى (فقط غير مصدر الملف إلى ملف ODP): - [تحويل ODP إلى HTML](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-html/) - [تحويل ODP إلى PDF](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-pdf/) - [تحويل ODP إلى TIFF](/slides/ar/net/convert-powerpoint-to-tiff/) -- [تحويل ODP إلى SWF Flash](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-swf-flash/) -- [تحويل ODP إلى XPS](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) -- [تحويل ODP إلى PDF مع الملاحظات](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-pdf-with-notes/) -- [تحويل ODP إلى TIFF مع الملاحظات](/slides/ar/net/convert-powerpoint-ppt-and-pptx-to-tiff-with-notes/) - -على سبيل المثال، إذا كنت بحاجة إلى تحويل عرض ODP إلى PDF، يمكنك القيام بذلك بهذه الطريقة: +- [تحويل ODP إلى SWF](/slides/ar/net/convert-powerpoint-to-swf-flash/) +- [تحويل ODP إلى XPS](/slides/ar/net/convert-powerpoint-to-xps/) +- [تحويل ODP إلى PDF مع الملاحظات](/slides/ar/net/convert-powerpoint-to-pdf-with-notes/) +- [تحويل ODP إلى TIFF مع الملاحظات](/slides/ar/net/convert-powerpoint-to-tiff-with-notes/) -```csharp -using (Presentation pres = new Presentation("pres.odp")) +على سبيل المثال، تحويل عرض ODP إلى PDF يتطلب بضع أسطر فقط من الكود في C#: +```cs +using (Presentation presentation = new Presentation("presentation.odp")) { - pres.Save("pres.pdf", SaveFormat.Pdf); + presentation.Save("presentation.pdf", SaveFormat.Pdf); } ``` -## عرض تقديمي OpenDocument في تطبيقات مختلفة -عند فتح ملف عرض تقديمي OpenDocument في PowerPoint، قد يفتقر إلى التنسيق كما كان في التطبيق الأصلي الذي أنشئ فيه بسبب أن تطبيق عرض OpenDocument وتطبيق PowerPoint يوفران ميزات وخيارات مختلفة. +## **عرض OpenDocument في تطبيقات مختلفة** + +عند فتح ملف عرض OpenDocument (ODP) في PowerPoint، قد لا يحتفظ بالتنسيق الأصلي من التطبيق الذي تم إنشاؤه فيه. يحدث ذلك لأن تطبيق عرض OpenDocument وتطبيق PowerPoint يوفران ميزات وسلوكيات عرض مختلفة. + +إليك بعض الاختلافات: + +- في PowerPoint، تُعرض الجداول عادةً في النهاية وقد تغطي أشكالًا أخرى، بغض النظر عن ترتيبها على شريحة ODP. +- تعبئة الصورة للجداول في ODP غير مدعومة في PowerPoint. +- تدوير النص عموديًا (270°، مكدس) والمحاذاة الموزعة غير مدعومة في LibreOffice/OpenOffice Impress. +- تعبئة الصورة، وتعبئة التدرج، وتعبئة النمط للنص غير مدعومة في LibreOffice/OpenOffice Impress. + +كما أن MS PowerPoint وLibreOffice/OpenOffice Impress يتعاملان مع القوائم بطريقة مختلفة. قد لا يتم عرض ملف ODP تم إنشاؤه في PowerPoint بشكل صحيح في LibreOffice/OpenOffice Impress، والعكس صحيح. + +الصورة أدناه توضح كيف تظهر القائمة عند إنشائها في LibreOffice Impress: + +![مثال قائمة ODP](odp-list-example.png) + +Aspose.Slides يحفظ قوائم ODP بطريقة تضمن عرضها بشكل صحيح في LibreOffice/OpenOffice Impress. + +[تعرف على المزيد حول تنسيق OpenDocument وPowerPoint](https://support.microsoft.com/en-us/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0). + +## **الأسئلة الشائعة** + +**ماذا لو تغير تنسيق ملف ODP الخاص بي بعد التحويل؟** + +تستخدم ODP وPowerPoint نماذج عرض مختلفة، وقد لا تُظهر بعض العناصر—مثل الجداول أو الخطوط المخصصة أو أنماط الملء—نفس الشكل بالضبط. يوصى بمراجعة الناتج وتعديل التخطيط أو التنسيق في الكود إذا لزم الأمر. -هذه بعض من الفروقات: -- في PowerPoint، عادةً ما يتم تحميل جميع الجداول أخيرًا وتداخلها مع الأشكال الأخرى (بغض النظر عن ترتيب الأشكال على شريحة ODP). -- ملء الصورة للجداول ODP غير مدعوم في PowerPoint. -- تدوير النص العمودي (270، متراكب) ومحاذاة التوزيع غير مدعومة في LibreOffice/OpenOffice Impress. -- ملء الصورة، وملء التدرج، وملء الأنماط للنصوص غير مدعومة في LibreOffice/OpenOffice Impress. +**هل أحتاج إلى تثبيت OpenOffice أو LibreOffice لاستخدام تحويل ODP؟** -تتعامل MS PowerPoint و LibreOffice/OpenOffice Impress مع القوائم بشكل مختلف أيضًا. ملف ODP الذي تم إنشاؤه في PowerPoint لن يفتح بشكل صحيح في LibreOffice/OpenOffice والعكس صحيح. +لا، Aspose.Slides for .NET مكتبة مستقلة لا تتطلب تثبيت OpenOffice أو LibreOffice على نظامك. -توضح هذه الصورة عرض القائمة المكونة في LibreOffice Impress: +**هل يمكنني تخصيص صيغة الإخراج أثناء تحويل ODP (على سبيل المثال، تعيين خيارات PDF)؟** -![odp-list-example](odp-list-example.png) +نعم، Aspose.Slides يوفر خيارات غنية لتخصيص الإخراج. على سبيل المثال، عند الحفظ إلى PDF، يمكنك التحكم في الضغط وجودة الصورة وعرض النص والمزيد عبر فئة [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) . -**Aspose.Slides** يحفظ قوائم ODP لضمان عرضها بشكل صحيح في LibreOffice/OpenOffice Impress. +**هل Aspose.Slides مناسب لمعالجة ODP من جانب الخادم أو السحابة؟** -[تعلم المزيد حول تنسيق OpenDocument و PowerPoint](https://support.microsoft.com/en-gb/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0/). \ No newline at end of file +بالطبع. Aspose.Slides for .NET مصمم للعمل في بيئات سطح المكتب والخادم، بما في ذلك المنصات السحابية مثل Azure وAWS وحاويات Docker، دون أي تبعيات واجهة مستخدم. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md index cda33312a2..e6a2729d2d 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md @@ -4,33 +4,50 @@ linktitle: تحويل ODP إلى PPTX type: docs weight: 10 url: /ar/net/convert-odp-to-pptx/ -keywords: "تحويل عرض OpenOffice، ODP، ODP إلى PPTX، C#، Csharp، .NET" -description: "تحويل ODP من OpenOffice إلى عرض PowerPoint PPTX في C# أو .NET" +keywords: "تحويل عرض OpenOffice التقديمي, ODP, ODP إلى PPTX, C#, Csharp, .NET" +description: "تحويل ODP الخاص بـ OpenOffice إلى عرض تقديمي PowerPoint بصيغة PPTX في C# أو .NET" --- -## نظرة عامة +## **نظرة عامة** -تتناول هذه المقالة المواضيع التالية. +تشرح هذه المقالة المواضيع التالية. - [C# تحويل ODP إلى PPTX](#csharp-odp-to-pptx) - [C# تحويل ODP إلى PowerPoint](#csharp-odp-to-powerpoint) -## تحويل ODP إلى PPTX باستخدام C# +## **تحويل ODP إلى PPTX** -تقدم Aspose.Slides لـ .NET فئة Presentation التي تمثل ملف عرض تقديمي. يمكن الآن لفئة [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) الوصول إلى ODP من خلال مُنشئ Presentation عند إنشاء الكائن. يوضح المثال التالي كيفية تحويل عرض ODP إلى عرض PPTX. - -خطوات: تحويل ODP إلى PPTX في C# | -خطوات: تحويل ODP إلى PowerPoint في C# +تقدم Aspose.Slides for .NET فئة Presentation التي تمثل ملف عرض تقديمي. يمكن الآن لفئة [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) الوصول إلى ODP عبر مُنشئ Presentation عند إنشاء الكائن. يوضح المثال التالي كيفية تحويل عرض ODP إلى عرض PPTX. +الخطوات: تحويل ODP إلى PPTX في C# | +الخطوات: تحويل ODP إلى PowerPoint في C# ```c# // فتح ملف ODP Presentation pres = new Presentation("AccessOpenDoc.odp"); -// حفظ عرض ODP بصيغة PPTX +// حفظ عرض ODP إلى صيغة PPTX pres.Save("AccessOpenDoc_out.pptx", SaveFormat.Pptx); ``` +## **مثال حي** + +يمكنك زيارة تطبيق الويب [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) ، والذي تم بناءه باستخدام **Aspose.Slides API**. يُظهر التطبيق كيفية تنفيذ تحويل ODP إلى PPTX باستخدام Aspose.Slides API. + +## **الأسئلة المتكررة** + +**هل أحتاج إلى تثبيت Microsoft PowerPoint أو LibreOffice لتحويل ODP إلى PPTX؟** + +لا. يعمل Aspose.Slides بصورة مستقلة ولا يتطلب تطبيقات طرف ثالث لقراءة أو كتابة ODP/PPTX. + +**هل يتم حفظ الشرائح الرئيسية والتصاميم والسمات أثناء التحويل؟** + +نعم. تستخدم المكتبة نموذج كائن عرض تقديمي كامل وتحافظ على الهيكل، بما في ذلك الشرائح الرئيسية والتصاميم، لذا يبقى التصميم صحيحًا بعد التحويل. + +**هل يمكنني تحويل ملفات ODP المحمية بكلمة مرور؟** + +نعم. يدعم Aspose.Slides اكتشاف الحماية، وفتح العروض التقديمية [protected presentations](/slides/ar/net/password-protected-presentation/) (بما في ذلك ODP) عند تقديم كلمة المرور، بالإضافة إلى تكوين التشفير والوصول إلى خصائص المستند. + +**هل Aspose.Slides مناسب لخدمات التحويل السحابية أو القائمة على REST؟** -## **مثال مباشر** -يمكنك زيارة [**تحويل Aspose.Slides**](https://products.aspose.app/slides/conversion/) التطبيق عبر الويب، الذي تم بناؤه باستخدام **Aspose.Slides API.** يعرض التطبيق كيفية تنفيذ تحويل ODP إلى PPTX باستخدام Aspose.Slides API. \ No newline at end of file +نعم. يمكنك استخدام المكتبة المحلية في الخلفية الخاصة بك أو [Aspose.Slides Cloud](https://products.aspose.cloud/slides/family/) (REST API)؛ كلا الخيارين يدعمان تحويل ODP → PPTX. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md new file mode 100644 index 0000000000..bdb2a9f80c --- /dev/null +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md @@ -0,0 +1,65 @@ +--- +title: تحويل العروض التقديمية إلى وضع النشرة في C# +type: docs +weight: 150 +url: /ar/net/convert-powerpoint-in-Handout-mode/ +keywords: +- تحويل PowerPoint +- وضع النشرة +- نشرة +- PowerPoint +- PPT +- PPTX +- عرض تقديمي +- C# +- Csharp +- .NET +- Aspose.Slides +description: "تحويل العروض التقديمية إلى وضع النشرة في C#" +--- + +## **تصدير وضع النشرات** + +تتيح Aspose.Slides إمكانية تحويل العروض التقديمية إلى صيغ متعددة، بما في ذلك إنشاء نشرة للطباعة في وضع النشرة. يسمح لك هذا الوضع بتكوين كيفية ظهور عدة شرائح على صفحة واحدة، مما يجعله مفيدًا للمؤتمرات والندوات وغيرها من الفعاليات. يمكنك تفعيل هذا الوضع عن طريق تعيين خاصية `SlidesLayoutOptions` في الواجهات [IPdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ipdfoptions/), [IRenderingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/irenderingoptions/), [IHtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ihtmloptions/), و[ITiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/itiffoptions/) . + +لتكوين وضع النشرة، استخدم الكائن [HandoutLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/handoutlayoutingoptions/) ، الذي يحدد عدد الشرائح التي توضع على صفحة واحدة وغيرها من معلمات العرض. + +فيما يلي مثال على الشفرة يُظهر كيفية تحويل عرض تقديمي إلى PDF في وضع النشرة. +```c# +// تحميل عرض تقديمي. +using var presentation = new Presentation("sample.pptx"); + +// Set the export options. +var pdfOptions = new PdfOptions +{ + SlidesLayoutOptions = new HandoutLayoutingOptions + { + Handout = HandoutType.Handouts4Horizontal, // 4 شرائح في صفحة واحدة أفقياً + PrintSlideNumbers = true, // طباعة أرقام الشرائح + PrintFrameSlide = true, // طباعة إطار حول الشرائح + PrintComments = false // بدون تعليقات + } +}; + +// Export the presentation to PDF with the chosen layout. +presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); +``` + + +{{% alert color="warning" %}} +ضع في اعتبارك أن خاصية `SlidesLayoutOptions` متاحة فقط لبعض صيغ الإخراج، مثل PDF وHTML وTIFF، وعند التصيير كصور. +{{% /alert %}} + +## **الأسئلة الشائعة** + +**ما هو الحد الأقصى لعدد صور المصغرات للشرائح لكل صفحة في وضع النشرة؟** + +تدعم Aspose.Slides [الإعدادات المسبقة](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) حتى 9 مصغرات لكل صفحة بترتيب أفقي أو عمودي: 1، 2، 3، 4 (أفقي/عمودي)، 6 (أفقي/عمودي)، و9 (أفقي/عمودي). + +**هل يمكنني تعريف شبكة مخصصة، مثل 5 أو 8 شرائح لكل صفحة؟** + +لا. يتم التحكم في عدد وترتيب المصغرات بدقة بواسطة تعداد [HandoutType](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) . لا يدعم التخطيطات العشوائية. + +**هل يمكنني تضمين الشرائح المخفية في ناتج النشرة؟** + +نعم. فعّل خيار `ShowHiddenSlides` في إعدادات التصدير للصيغة المستهدفة، مثل [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions/), أو [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index e06bda08e2..81e45ce34c 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -3,14 +3,13 @@ title: تحويل PowerPoint إلى GIF متحرك type: docs weight: 65 url: /ar/net/convert-powerpoint-to-animated-gif/ -keywords: "تحويل PowerPoint، PPT، PPTX، GIF متحرك، PPT إلى GIF متحرك، PPTX إلى GIF متحرك C#، Csharp، .NET، إعدادات افتراضية، إعدادات مخصصة" -description: "تحويل عرض PowerPoint إلى GIF متحرك: PPT إلى GIF، PPTX إلى GIF في C# أو .NET" +keywords: "تحويل PowerPoint, PPT, PPTX, GIF متحرك, PPT إلى GIF متحرك, PPTX إلى GIF متحرك C#, Csharp, .NET, الإعدادات الافتراضية, الإعدادات المخصصة" +description: "تحويل عرض PowerPoint إلى GIF متحرك: PPT إلى GIF, PPTX إلى GIF باستخدام C# أو .NET" --- -## تحويل العروض التقديمية إلى GIF متحرك باستخدام الإعدادات الافتراضية ## - -هذا الكود المثال في C# يوضح لك كيفية تحويل عرض تقديمي إلى GIF متحرك باستخدام الإعدادات القياسية: +## **تحويل العروض التقديمية إلى GIF متحرك باستخدام الإعدادات الافتراضية** +يعرض لك هذا المثال البرمجي بلغة C# كيفية تحويل عرض تقديمي إلى GIF متحرك باستخدام الإعدادات القياسية: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -18,31 +17,43 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -سيتم إنشاء GIF المتحرك باستخدام المعايير الافتراضية. -{{% alert title="نصيحة" color="primary" %}} +سيتم إنشاء GIF المتحرك باستخدام المعلمات الافتراضية. -إذا كنت تفضل تخصيص المعلمات لـ GIF، يمكنك استخدام فئة [GifOptions](https://reference.aspose.com/slides/net/aspose.slides.export/gifoptions). انظر الكود المثال أدناه. +{{% alert title="TIP" color="primary" %}} -{{% /alert %}} +إذا كنت تفضل تخصيص المعلمات الخاصة بـ GIF، يمكنك استخدام الفئة [GifOptions](https://reference.aspose.com/slides/net/aspose.slides.export/gifoptions). راجع المثال البرمجي أدناه. + +{{% /alert %}} -## تحويل العروض التقديمية إلى GIF متحرك باستخدام إعدادات مخصصة ## -هذا الكود المثال يوضح لك كيفية تحويل عرض تقديمي إلى GIF متحرك باستخدام إعدادات مخصصة في C#: +## **تحويل العروض التقديمية إلى GIF متحرك باستخدام إعدادات مخصصة** +يعرض لك هذا المثال البرمجي كيفية تحويل عرض تقديمي إلى GIF متحرك باستخدام إعدادات مخصصة بلغة C#: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { pres.Save("pres.gif", SaveFormat.Gif, new GifOptions { - FrameSize = new Size(960, 720), // حجم GIF الناتج - DefaultDelay = 2000, // المدة التي سيتم عرض كل شريحة قبل الانتقال إلى الشريحة التالية - TransitionFps = 35 // زيادة FPS لتحسين جودة انتقال الرسوم المتحركة + FrameSize = new Size(960, 720), // حجم الـ GIF الناتج + DefaultDelay = 2000, // المدة التي ستظهر فيها كل شريحة قبل الانتقال إلى التالية + TransitionFps = 35 // زيادة عدد الإطارات في الثانية لتحسين جودة انتقال الرسوم المتحركة }); } ``` -{{% alert title="معلومات" color="info" %}} -قد ترغب في الاطلاع على محول [Text to GIF](https://products.aspose.app/slides/text-to-gif) مجاني طورته Aspose. +{{% alert title="Info" color="info" %}} + +قد ترغب في تجربة محول مجاني إلى GIF من النصوص [Text to GIF](https://products.aspose.app/slides/text-to-gif) تم تطويره من قبل Aspose. + +{{% /alert %}} + +## **الأسئلة الشائعة** + +**ماذا لو لم تكن الخطوط المستخدمة في العرض التقديمي مثبتة على النظام؟** + +قم بتثبيت الخطوط المفقودة أو [configure fallback fonts](/slides/ar/net/powerpoint-fonts/). سيقوم Aspose.Slides باستبدالها، لكن قد يختلف المظهر. بالنسبة للعلامة التجارية، تأكد دائمًا من توفر الخطوط المطلوبة صراحة. + +**هل يمكنني إضافة علامة مائية فوق إطارات GIF؟** -{{% /alert %}} \ No newline at end of file +نعم. [Add a semi-transparent object/logo](/slides/ar/net/watermark/) إلى الشريحة الرئيسية أو إلى الشرائح الفردية قبل التصدير — ستظهر العلامة المائية على كل إطار. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index cdf313e8b1..d46031c0aa 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -1,190 +1,205 @@ --- -title: تحويل PowerPoint إلى HTML في C# .NET +title: تحويل عروض PowerPoint إلى HTML في C# linktitle: تحويل PowerPoint إلى HTML type: docs weight: 30 url: /ar/net/convert-powerpoint-to-html/ -keywords: "C# PowerPoint إلى HTML، C# PPT إلى HTML، C# ODP إلى HTML، C# شريحة إلى HTML، تحويل عرض PowerPoint، PPTX، PPT، PPT إلى HTML، PPTX إلى HTML، PowerPoint إلى HTML، حفظ PowerPoint كـ HTML، حفظ PPT كـ HTML، حفظ PPTX كـ HTML، C#، Csharp، .NET، Aspose.Slides، تصدير HTML" -description: "تحويل PowerPoint إلى HTML: حفظ PPTX أو PPT كـ HTML. حفظ الشرائح كـ HTML" +keywords: +- PowerPoint إلى HTML +- العرض إلى HTML +- الشريحة إلى HTML +- PPT إلى HTML +- PPTX إلى HTML +- ODP إلى HTML +- تحويل عرض PowerPoint +- تحويل PowerPoint +- تحويل العرض +- تحويل HTML +- حفظ PowerPoint كـ HTML +- حفظ العرض كـ HTML +- حفظ الشريحة كـ HTML +- حفظ PPT كـ HTML +- حفظ PPTX كـ HTML +- تصدير HTML +- C# +- .NET +- Aspose.Slides +description: "تعلم كيفية تحويل عروض PowerPoint وOpenDocument إلى HTML باستخدام Aspose.Slides for .NET. يقدم هذا الدليل إرشادات وعينات كود وأفضل الممارسات لتحويل الشرائح إلى تنسيق مناسب للويب." --- ## **نظرة عامة** -تشرح هذه المقالة كيفية تحويل عرض PowerPoint إلى تنسيق HTML باستخدام C#. تغطي الموضوعات التالية. +قم بتحسين سير عملك عن طريق تحويل عروض PowerPoint وOpenDocument إلى HTML باستخدام Aspose.Slides for .NET. يقدم هذا الدليل إرشادات مفصلة، أمثلة كود قوية، وطرق مختبرة لضمان عملية تحويل موثوقة وفعالة مُحسّنة للعرض على الويب. -- [تحويل PowerPoint إلى HTML في C#](#convert-powerpoint-to-html) -- [تحويل PPT إلى HTML في C#](#convert-powerpoint-to-html) -- [تحويل PPTX إلى HTML في C#](#convert-powerpoint-to-html) -- [تحويل ODP إلى HTML في C#](#convert-powerpoint-to-html) -- [تحويل شريحة PowerPoint إلى HTML في C#](#convert-slide-to-html) +يوفر Aspose.Slides العديد من الخيارات — معظمها من فئة [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) — التي تحدد عملية التحويل من تنسيق PowerPoint (أو OpenDocument) إلى HTML: -## **C# PowerPoint إلى HTML** - -للحصول على رمز عينة C# لتحويل PowerPoint إلى HTML، يرجى الاطلاع على القسم أدناه أي [تحويل PowerPoint إلى HTML](#convert-powerpoint-to-html). يمكن للرمز تحميل عدد من التنسيقات مثل PPT و PPTX و ODP في كائن Presentation وحفظه بتنسيق HTML. - -## **حول تحويل PowerPoint إلى HTML** -باستخدام [**Aspose.Slides لـ .NET**](https://products.aspose.com/slides/net/)، يمكن للتطبيقات والمطورين تحويل عرض PowerPoint إلى HTML: **PPTX إلى HTML** أو **PPT إلى HTML**. - -توفر **Aspose.Slides** العديد من الخيارات (معظمها من فئة [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions)) التي تحدد عملية تحويل PowerPoint إلى HTML: - -* تحويل عرض PowerPoint بالكامل إلى HTML. -* تحويل شريحة معينة في عرض PowerPoint إلى HTML. -* تحويل وسائط العرض (الصور، مقاطع الفيديو، إلخ) إلى HTML. +* تحويل عرض PowerPoint كامل إلى HTML. +* تحويل شريحة محددة في عرض PowerPoint إلى HTML. +* تحويل وسائط العرض (الصور، الفيديوهات، إلخ) إلى HTML. * تحويل عرض PowerPoint إلى HTML متجاوب. * تحويل عرض PowerPoint إلى HTML مع تضمين أو استبعاد ملاحظات المتحدث. * تحويل عرض PowerPoint إلى HTML مع تضمين أو استبعاد التعليقات. * تحويل عرض PowerPoint إلى HTML مع الخطوط الأصلية أو المدمجة. -* تحويل عرض PowerPoint إلى HTML مع استخدام نمط CSS الجديد. - -{{% alert color="primary" %}} - -باستخدام واجهتها البرمجية الخاصة، قامت Aspose بتطوير محولات [العرض إلى HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) مجانية: [PPT إلى HTML](https://products.aspose.app/slides/conversion/ppt-to-html)، [PPTX إلى HTML](https://products.aspose.app/slides/conversion/pptx-to-html)، [ODP إلى HTML](https://products.aspose.app/slides/conversion/odp-to-html)، إلخ. - -[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) - -قد ترغب في الاطلاع على محولات [مجانية أخرى من Aspose](https://products.aspose.app/slides/conversion). - -{{% /alert %}} - -{{% alert title="ملاحظة" color="warning" %}} +* تحويل عرض PowerPoint إلى HTML باستخدام نمط CSS الجديد. -بجانب عمليات التحويل الموصوفة هنا، تدعم Aspose.Slides أيضًا هذه العمليات التحويلية التي تتضمن تنسيق HTML: +## **تحويل عرض تقديمي إلى HTML** -* [HTML إلى صورة](https://products.aspose.com/slides/net/conversion/html-to-image/) -* [HTML إلى JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) -* [HTML إلى XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) -* [HTML إلى TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) - -{{% /alert %}} +باستخدام Aspose.Slides، يمكنك تحويل عرض تقديمي كامل بصيغة PowerPoint أو OpenDocument إلى HTML كما يلي: +1. إنشاء مثال من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. استخدام الطريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) لحفظ الكائن كملف HTML. -## **تحويل PowerPoint إلى HTML** -باستخدام Aspose.Slides، يمكنك تحويل عرض PowerPoint بالكامل إلى HTML بهذه الطريقة: - -1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. استخدم طريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) لحفظ الكائن كملف HTML. - -هذا الرمز يوضح لك كيفية تحويل PowerPoint إلى HTML في C#: - +هذا الكود يوضح كيفية تحويل عرض PowerPoint إلى HTML بلغة C#: ```c# -// ينشئ كائن عرض يمثل ملف عرض مثل PPT أو PPTX أو ODP إلخ. -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// إنشاء كائن من فئة Presentation الذي يمثل ملف عرض تقديمي (مثال: PPT, PPTX, ODP, إلخ). +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions htmlOpt = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOpt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; - - htmlOpt.HtmlFormatter = HtmlFormatter.CreateDocumentFormatter("", false); - - // يحفظ العرض إلى HTML - presentation.Save("ConvertWholePresentationToHTML_out.html", SaveFormat.Html, htmlOpt); + // حفظ العرض كملف HTML. + presentation.Save("output.html", SaveFormat.Html); } ``` -## **تحويل PowerPoint إلى HTML متجاوب** -توفر Aspose.Slides فئة [ResponsiveHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller) التي تتيح لك إنشاء ملفات HTML متجاوبة. هذا الرمز يوضح لك كيفية تحويل عرض PowerPoint إلى HTML متجاوب في C#: +## **تحويل عرض تقديمي إلى HTML متجاوب** +يوفر Aspose.Slides الفئة [ResponsiveHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller) التي تمكنك من إنشاء ملفات HTML متجاوبة. هذا الكود يوضح كيفية تحويل عرض PowerPoint إلى HTML متجاوب بلغة C#: ```c# -// ينشئ كائن Presentation يمثل ملف عرض -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي. +using (Presentation presentation = new Presentation("presentation.pptx")) { ResponsiveHtmlController controller = new ResponsiveHtmlController(); - HtmlOptions htmlOptions = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) }; - // يحفظ العرض إلى HTML - presentation.Save("ConvertPresentationToResponsiveHTML_out.html", SaveFormat.Html, htmlOptions); + HtmlOptions htmlOptions = new HtmlOptions + { + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) + }; + + // حفظ العرض كملف HTML. + presentation.Save("responsive.html", SaveFormat.Html, htmlOptions); } ``` -## **تحويل PowerPoint إلى HTML مع الملاحظات** -هذا الرمز يوضح لك كيفية تحويل PowerPoint إلى HTML مع الملاحظات في C#: +## **تحويل عرض تقديمي إلى HTML مع ملاحظات المتحدث** + +عند تحويل عرض PowerPoint أو OpenDocument إلى HTML مع ملاحظات المتحدث، من الضروري الحفاظ على جوهر المستند الأصلي. يضمن هذا الإجراء تمثيل العناصر البصرية للشرائح بدقة مع حفظ ملاحظات المتحدث، مما يضيف سياقًا ورؤى إضافية للمحتوى. + +لنفترض أن لدينا عرض PowerPoint يحتوي على الشريحة التالية: + +![شريحة عرض مع ملاحظات المتحدث](slide_with_notes.png) + +هذا الكود يوضح كيفية تحويل عرض PowerPoint إلى HTML مع ملاحظات المتحدث بلغة C#: ```c# -using (Presentation pres = new Presentation("Presentation.pptx")) +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions opt = new HtmlOptions(); + // تعيين خيارات ملاحظات المتحدث. + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - INotesCommentsLayoutingOptions options = opt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + // تعيين خيارات وثيقة HTML الناتجة. + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions + }; - // يحفظ صفحات الملاحظات - pres.Save("Output.html", SaveFormat.Html, opt); + // حفظ العرض كملف HTML مع ملاحظات المتحدث. + presentation.Save("slide_with_notes.html", SaveFormat.Html, htmlOptions); } ``` -## **تحويل PowerPoint إلى HTML مع الخطوط الأصلية** -توفر Aspose.Slides فئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) التي تتيح لك تضمين جميع الخطوط في العرض عند تحويل العرض إلى HTML. +النتيجة: + +![وثيقة HTML مع الشريحة وملاحظات المتحدث](HTML_with_notes.png) + +## **تحويل عرض تقديمي إلى HTML مع الخطوط الأصلية** -لتجنب تضمين خطوط معينة، يمكنك تمرير مصفوفة من أسماء الخطوط إلى المُنشئ المعلم من فئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller). الخطوط الشائعة، مثل Calibri أو Arial، عند استخدامها في عرض، لا تحتاج إلى التضمين لأن معظم الأنظمة تحتوي بالفعل على هذه الخطوط. عندما يتم تضمين تلك الخطوط، يصبح المستند HTML الناتج كبيرًا بشكل غير ضروري. +يوفر Aspose.Slides الفئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) التي تسمح بدمج جميع الخطوط في العرض أثناء التحويل إلى HTML. -فئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) تدعم الوراثة وتوفر طريقة [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont) التي من المقرر أن يتم تجاوزها. +لمنع دمج خطوط معينة، يمكنك تمرير مصفوفة من أسماء الخطوط إلى مُنشيء مَعَلمات للفئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller). الخطوط الشائعة مثل Calibri أو Arial لا تحتاج إلى دمج لأنها متواجدة بالفعل في معظم الأنظمة. دمجها سيزيد حجم ملف HTML الناتج دون فائدة. +الفئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) تدعم الوراثة وتوفر الطريقة [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont) التي يُقصد تجاوزها. ```c# -using (Presentation pres = new Presentation("input.pptx")) +using (Presentation presentation = new Presentation("input.pptx")) { - // يستبعد خطوط العرض الافتراضية - string[] fontNameExcludeList = { "Calibri", "Arial" }; + // استبعاد خطوط العرض الافتراضية. + string[] excludeFonts = { "Calibri", "Arial" }; - EmbedAllFontsHtmlController embedFontsController = new EmbedAllFontsHtmlController(fontNameExcludeList); + EmbedAllFontsHtmlController fontController = new EmbedAllFontsHtmlController(excludeFonts); - HtmlOptions htmlOptionsEmbed = new HtmlOptions + HtmlOptions htmlOptions = new HtmlOptions { - HtmlFormatter = HtmlFormatter.CreateCustomFormatter(embedFontsController) + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(fontController) }; - pres.Save("input-PFDinDisplayPro-Regular-installed.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("embedded_fonts.html", SaveFormat.Html, htmlOptions); } ``` -## **تحويل PowerPoint إلى HTML مع صور عالية الجودة** -بشكل افتراضي، عندما تقوم بتحويل PowerPoint إلى HTML، تقوم Aspose.Slides بإخراج HTML صغير مع صور بدقة 72 DPI ومناطق مقطوعة محذوفة. للحصول على ملفات HTML مع صور بجودة أعلى، يجب عليك ضبط خاصية `PicturesCompression` (من فئة `HtmlOptions`) إلى 96 (أي، `PicturesCompression.Dpi96`) أو أعلى [قيم](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression). +## **تحويل عرض تقديمي إلى HTML مع صور عالية الجودة** -هذا الرمز C# يوضح لك كيفية تحويل عرض PowerPoint إلى HTML أثناء الحصول على صور عالية الجودة بدقة 150 DPI (أي. `PicturesCompression.Dpi150`): +افتراضيًا، عند تحويل عرض PowerPoint إلى HTML، ينتج Aspose.Slides ملف HTML صغير مع صور بدقة 72 DPI ويحذف المناطق المقصوصة. للحصول على ملفات HTML بصور ذات جودة أعلى، يجب ضبط الخاصية `PicturesCompression` (من فئة `HtmlOptions`) على 96 (أي `PicturesCompression.Dpi96`) أو قيمة أعلى، كما هو موضح في [هذا المرجع](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression). +هذا الكود بلغة C# يوضح كيفية تحويل عرض PowerPoint إلى HTML مع الحصول على صور عالية الجودة بدقة 150 DPI (أي `PicturesCompression.Dpi150`): ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - PicturesCompression = PicturesCompression.Dpi150 -}; -pres.Save("OutputDoc-dpi150.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + PicturesCompression = PicturesCompression.Dpi150 + }; + + presentation.Save("output_dpi_150.html", SaveFormat.Html, htmlOptions); +} ``` -هذا الرمز في C# يوضح لك كيفية إخراج HTML مع صور ذات جودة كاملة: +هذا الكود بلغة C# يوضح كيفية تحويل عرض PowerPoint إلى HTML دون حذف المناطق المقصوصة: ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - DeletePicturesCroppedAreas = false -}; -pres.Save("Outputdoc-noCrop.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + DeletePicturesCroppedAreas = false + }; + + presentation.Save("output_no_crop.html", SaveFormat.Html, htmlOptions); +} ``` -## **تحويل شريحة إلى HTML** -لتحويل شريحة محددة في PowerPoint إلى HTML، يجب عليك إنشاء مثيل من نفس [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) الفئة (المستخدمة لتحويل العروض الكاملة إلى HTML) ثم استخدام طريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) لحفظ الملف كـ HTML. يمكن استخدام فئة [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions**) لتحديد خيارات تحويل إضافية: -هذا الشيفرة C# يوضح لك كيفية تحويل شريحة في عرض PowerPoint إلى HTML: +## **تحويل شريحة عرض تقديمي إلى HTML** + +لتحويل شريحة محددة في عرض PowerPoint إلى HTML، تحتاج إلى إنشاء مثال من نفس فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) المستخدمة لتحويل العروض بالكامل، ثم استخدام الطريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) لحفظ الملف كـ HTML. يمكن استخدام فئة [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) لتحديد خيارات تحويل إضافية. +هذا الكود بلغة C# يوضح كيفية تحويل شريحة مع ملاحظات المتحدث في عرض PowerPoint إلى HTML: ```c# public static void Run() { - using (Presentation presentation = new Presentation("Individual-Slide.pptx")) + using (Presentation presentation = new Presentation("sample.pptx")) { - HtmlOptions htmlOptions = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()); + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions, + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()) + }; - // حفظ الملف for (int i = 0; i < presentation.Slides.Count; i++) - presentation.Save("Individual Slide" + (i + 1) + "_out.html", new[] { i + 1 }, SaveFormat.Html, htmlOptions); + { + int slideIndex = i + 1; + + // حفظ الشريحة إلى ملف HTML. + string fileName = $"output_slide_{slideIndex}.html"; + presentation.Save(fileName, new[] { slideIndex }, SaveFormat.Html, htmlOptions); + } } } @@ -219,71 +234,68 @@ public class CustomFormattingController : IHtmlFormattingController ## **حفظ CSS والصور عند التصدير إلى HTML** -باستخدام ملفات أنماط CSS الجديدة، يمكنك تغيير نمط ملف HTML الناتج من عملية تحويل PowerPoint إلى HTML بسهولة. -الرمز C# في هذا المثال يوضح لك كيفية استخدام الطرق القابلة للتجاوز لإنشاء مستند HTML مخصص مع رابط إلى ملف CSS: +باستخدام ملفات نمط CSS الجديدة، يمكنك بسهولة تعديل مظهر ملف HTML الذي يتم إنشاؤه من عملية تحويل PowerPoint إلى HTML. +الكود بلغة C# في هذا المثال يوضح كيفية استخدام طرق يمكن تجاوزها لإنشاء مستند HTML مخصص يتضمن رابطًا إلى ملف CSS: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { CustomHeaderAndFontsController htmlController = new CustomHeaderAndFontsController("styles.css"); + HtmlOptions options = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(htmlController), }; - pres.Save("pres.html", SaveFormat.Html, options); + presentation.Save("pres.html", SaveFormat.Html, options); } ``` ```c# public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController { - // قالب رأس مخصص - const string Header = "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - "\n" + - ""; - - - private readonly string m_cssFileName; - - public CustomHeaderAndFontsController(string cssFileName) - { - m_cssFileName = cssFileName; - } + // قالب رأس مخصص. + const string Header = "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + ""; + + private readonly string m_cssFileName; + + public CustomHeaderAndFontsController(string cssFileName) + { + m_cssFileName = cssFileName; + } - public override void WriteDocumentStart(IHtmlGenerator generator, IPresentation presentation) - { - generator.AddHtml(string.Format(Header, m_cssFileName)); - WriteAllFonts(generator, presentation); - } + public override void WriteDocumentStart(IHtmlGenerator generator, IPresentation presentation) + { + generator.AddHtml(string.Format(Header, m_cssFileName)); + WriteAllFonts(generator, presentation); + } - public override void WriteAllFonts(IHtmlGenerator generator, IPresentation presentation) - { - generator.AddHtml(""); - base.WriteAllFonts(generator, presentation); - } + public override void WriteAllFonts(IHtmlGenerator generator, IPresentation presentation) + { + generator.AddHtml(""); + base.WriteAllFonts(generator, presentation); + } } ``` -## **رابط جميع الخطوط عند تحويل العرض إلى HTML** -إذا كنت لا تريد تضمين الخطوط (لتجنب زيادة حجم HTML الناتج)، يمكنك ربط جميع الخطوط من خلال تنفيذ نسختك الخاصة من `LinkAllFontsHtmlController`. +## **ربط جميع الخطوط عند تحويل عرض تقديمي إلى HTML** -هذا الرمز C# يوضح لك كيفية تحويل PowerPoint إلى HTML أثناء ربط جميع الخطوط واستبعاد "Calibri" و "Arial" (لأنها موجودة بالفعل في النظام): +إذا كنت لا ترغب في دمج الخطوط (لتجنب زيادة حجم HTML الناتج)، يمكنك ربط جميع الخطوط عن طريق تنفيذ نسخة مخصصة من `LinkAllFontsHtmlController`. +هذا الكود بلغة C# يوضح كيفية تحويل عرض PowerPoint إلى HTML مع ربط جميع الخطوط واستبعاد "Calibri" و"Arial" (لأنهما مثبتان بالفعل على النظام): ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { - //يستبعد خطوط العرض الافتراضية + // استبعاد خطوط العرض الافتراضية. string[] fontNameExcludeList = { "Calibri", "Arial" }; - Paragraph para = new Paragraph(); - ITextFrame txt; - LinkAllFontsHtmlController linkcont = new LinkAllFontsHtmlController(fontNameExcludeList, @"C:\Windows\Fonts\");; HtmlOptions htmlOptionsEmbed = new HtmlOptions @@ -291,12 +303,12 @@ using (Presentation pres = new Presentation("pres.pptx")) HtmlFormatter = HtmlFormatter.CreateCustomFormatter(linkcont) }; - pres.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); } ``` -هذا الرمز C# يوضح لك كيفية تنفيذ `LinkAllFontsHtmlController`: +هذا الكود بلغة C# يوضح كيفية تنفيذ `LinkAllFontsHtmlController`: ```c# public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController { @@ -319,7 +331,7 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController try { string fontName = substitutedFont == null ? originalFont.FontName : substitutedFont.FontName; - string path = fontName + ".woff"; // قد يحتاج بعض التنظيف للمسار + string path = fontName + ".woff"; // قد يكون من الضروري تنظيف بعض المسارات. File.WriteAllBytes(Path.Combine(m_basePath, path), fontData); @@ -339,30 +351,36 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController } ``` -## **تحويل PowerPoint إلى HTML متجاوب** -هذا الرمز C# يوضح لك كيفية تحويل عرض PowerPoint إلى HTML متجاوب: +## **تحويل عرض تقديمي يحتوي على صور SVG إلى HTML متجاوب** + +هذا الكود بلغة C# يوضح كيفية تحويل عرض PowerPoint إلى HTML متجاوب: ```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -HtmlOptions saveOptions = new HtmlOptions(); -saveOptions.SvgResponsiveLayout = true; -presentation.Save("SomePresentation-out.html", SaveFormat.Html, saveOptions); +using (Presentation presentation = new Presentation("Presentation.pptx")) +{ + HtmlOptions saveOptions = new HtmlOptions + { + SvgResponsiveLayout = true + }; + + presentation.Save("SvgResponsiveLayout-out.html", SaveFormat.Html, saveOptions); +} ``` ## **تصدير ملفات الوسائط إلى HTML** -باستخدام Aspose.Slides لـ .NET، يمكنك تصدير ملفات الوسائط بهذه الطريقة: -1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. احصل على مرجع إلى الشريحة. -1. أضف فيديو إلى الشريحة. -1. اكتب العرض كملف HTML. +باستخدام Aspose.Slides for .NET، يمكنك تصدير ملفات الوسائط كما يلي: -هذا الرمز C# يوضح لك كيفية إضافة فيديو إلى العرض ثم حفظه كـ HTML: +1. إنشاء مثال من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. الحصول على مرجع إلى الشريحة. +1. إضافة فيديو إلى الشريحة. +1. كتابة العرض كملف HTML. +هذا الكود بلغة C# يوضح كيفية إضافة فيديو إلى العرض ثم حفظه كملف HTML: ```c# -// يحمل عرضًا -using (Presentation pres = new Presentation()) +// إنشاء عرض تقديمي جديد. +using (Presentation presentation = new Presentation()) { string path = "C:/out/"; const string fileName = "ExportMediaFiles_out.html"; @@ -370,22 +388,57 @@ using (Presentation pres = new Presentation()) using (FileStream fileStream = new FileStream("my_video.avi", FileMode.Open, FileAccess.Read)) { - IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); + IVideo video = presentation.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; slide.Shapes.AddVideoFrame(10, 10, 100, 100, video); } VideoPlayerHtmlController controller = new VideoPlayerHtmlController(path, fileName, baseUri); - // يضبط خيارات HTML + // تعيين خيارات HTML. HtmlOptions htmlOptions = new HtmlOptions(controller); SVGOptions svgOptions = new SVGOptions(controller); htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller); htmlOptions.SlideImageFormat = SlideImageFormat.Svg(svgOptions); - // يحفظ الملف - pres.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); + // حفظ العرض التقديمي إلى ملف HTML. + presentation.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); } -``` \ No newline at end of file +``` + + +{{% alert color="primary" %}} + +قامت Aspose بتطوير محولات مجانية لـ [عرض تقديمي إلى HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html): [PPT إلى HTML](https://products.aspose.app/slides/conversion/ppt-to-html)، [PPTX إلى HTML](https://products.aspose.app/slides/conversion/pptx-to-html)، [ODP إلى HTML](https://products.aspose.app/slides/conversion/odp-to-html)، وغيرها. + +[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) + +تحقق من المحولات المجانية الأخرى من Aspose: +{{% /alert %}} + +{{% alert title="Note" color="warning" %}} + +إلى جانب عمليات التحويل الموضحة هنا، يدعم Aspose.Slides أيضًا عمليات التحويل التالية المتعلقة بتنسيق HTML: + +* [HTML إلى صورة](https://products.aspose.com/slides/net/conversion/html-to-image/) +* [HTML إلى JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) +* [HTML إلى XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) +* [HTML إلى TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) + +{{% /alert %}} + +## **الأسئلة المتكررة** + +**ما هو أداء Aspose.Slides عند تحويل عروض تقديمية متعددة إلى HTML؟** + +يعتمد الأداء على حجم وتعقيد العروض. Aspose.Slides فعال جدًا وقابل للتوسع لعمليات الدُفعات. لتحقيق أفضل أداء عند تحويل عدد كبير من العروض، يُنصح باستخدام تعدد الخيوط أو المعالجة المتوازية كلما أمكن. + +**هل يدعم Aspose.Slides تصدير الروابط التشعبية إلى HTML؟** + +نعم، يدعم Aspose.Slides تصدير الروابط التشعبية المدمجة إلى HTML بالكامل. عند تحويل العروض إلى تنسيق HTML، يتم الحفاظ على الروابط تلقائيًا وتظل قابلة للنقر. + +**هل هناك أي حد لعدد الشرائح عند تحويل العروض التقديمية إلى HTML؟** + +لا يوجد حد لعدد الشرائح عند استخدام Aspose.Slides. يمكنك تحويل عروض بأي حجم. ومع ذلك، بالنسبة للعروض التي تحتوي على عدد كبير جدًا من الشرائح، قد يعتمد الأداء على الموارد المتاحة على الخادم أو النظام الخاص بك. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md index 23d26a7ad4..051e3514c5 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md @@ -1,107 +1,92 @@ --- -title: تحويل PowerPoint إلى JPG في C# -linktitle: تحويل PowerPoint PPT إلى JPG +title: تحويل PPT و PPTX و ODP إلى JPG في C# +linktitle: تحويل الشرائح إلى صور JPG type: docs weight: 60 url: /ar/net/convert-powerpoint-to-jpg/ -keywords: -- تحويل عرض PowerPoint -- JPG -- JPEG +keywords: +- تحويل PowerPoint إلى JPG +- تحويل العرض التقديمي إلى JPG +- تحويل الشريحة إلى JPG +- تحويل PPT إلى JPG +- تحويل PPTX إلى JPG +- تحويل ODP إلى JPG - PowerPoint إلى JPG -- PowerPoint إلى JPEG +- العرض التقديمي إلى JPG +- الشريحة إلى JPG - PPT إلى JPG - PPTX إلى JPG +- ODP إلى JPG +- تحويل PowerPoint إلى JPEG +- تحويل العرض التقديمي إلى JPEG +- تحويل الشريحة إلى JPEG +- تحويل PPT إلى JPEG +- تحويل PPTX إلى JPEG +- تحويل ODP إلى JPEG +- PowerPoint إلى JPEG +- العرض التقديمي إلى JPEG +- الشريحة إلى JPEG - PPT إلى JPEG - PPTX إلى JPEG +- ODP إلى JPEG - C# - Csharp - .NET - Aspose.Slides -description: "تحويل PowerPoint إلى JPG في C# أو .NET. حفظ الشريحة كصورة JPG" +description: "تعلم كيف تحوّل شرائحك من عروض PowerPoint وOpenDocument إلى صور JPEG عالية الجودة ببضع أسطر من الشيفرة. حسّن العروض للاستخدام على الويب، المشاركة، والأرشفة. اقرأ الدليل الكامل الآن!" --- ## **نظرة عامة** -توضح هذه المقالة كيفية تحويل عرض PowerPoint إلى تنسيق JPG باستخدام C#. تغطي المواضيع التالية: - -- [C# تحويل PowerPoint إلى JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# تحويل PPT إلى JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# تحويل PPTX إلى JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# تحويل ODP إلى JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# تحويل شريحة PowerPoint إلى صورة](#convert-powerpoint-pptpptx-to-jpg) - -## **C# PowerPoint إلى JPG** - -لاستخدام كود C# لتحويل PowerPoint إلى JPG، يرجى الاطلاع على القسم أدناه أي [تحويل PowerPoint إلى JPG](#convert-powerpoint-pptpptx-to-jpg). يمكن أن يقوم الكود بتحميل عدد من التنسيقات مثل PPT وPPTX وODP في كائن Presentation ثم حفظ صورة مصغرة لشريحته في تنسيق JPG. يتم مناقشة تحويلات PowerPoint إلى صورة الأخرى التي تشبه PNG وBMP وTIFF وSVG في هذه المقالات. - -- [C# PowerPoint إلى PNG](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -- [C# PowerPoint إلى BMP](#convert-powerpoint-pptpptx-to-jpg) -- [C# PowerPoint إلى TIFF](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) -- [C# PowerPoint إلى SVG](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) - -## **حول تحويل PowerPoint إلى JPG** -مع [**Aspose.Slides .NET API**](https://products.aspose.com/slides/net/)  يمكنك تحويل عرض PowerPoint PPT أو PPTX إلى صورة JPG. من الممكن أيضًا تحويل PPT/PPTX إلى BMP أو PNG أو SVG. مع هذه الميزات، من السهل تنفيذ عارض العروض التقديمية الخاص بك، وإنشاء الصورة المصغرة لكل شريحة. قد يكون هذا مفيدًا إذا كنت ترغب في حماية شرائح العرض من حقوق الطبع والنشر، وعرض العرض في وضع القراءة فقط. يسمح Aspose.Slides بتحويل العرض التقديمي الكامل أو شريحة معينة إلى تنسيقات الصور. - -{{% alert color="primary" %}} - -لرؤية كيفية تحويل Aspose.Slides PowerPoint إلى صور JPG، قد ترغب في تجربة هذه المحولات المجانية عبر الإنترنت: PowerPoint [PPTX إلى JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) و[PPT إلى JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg). +يساعد تحويل عروض PowerPoint وOpenDocument إلى صور JPG في مشاركة الشرائح، وتحسين الأداء، وتضمين المحتوى في مواقع الويب أو التطبيقات. يتيح Aspose.Slides for .NET تحويل ملفات PPTX وPPT وODP إلى صور JPEG عالية الجودة. يشرح هذا الدليل طرق التحويل المختلفة. -{{% /alert %}} - -![todo:image_alt_text](ppt-to-jpg.png) +مع هذه الميزات، يصبح من السهل تنفيذ عارض عروضك الخاص وإنشاء صورة مصغرة لكل شريحة. قد يكون ذلك مفيدًا إذا كنت تريد حماية شرائح العرض من النسخ أو عرض العرض في وضع القراءة فقط. يتيح Aspose.Slides تحويل العرض الكامل أو شريحة محددة إلى صيغ الصور. -## **تحويل PowerPoint PPT/PPTX إلى JPG** -إليك الخطوات لتحويل PPT/PPTX إلى JPG: +## **تحويل شرائح العرض إلى صور JPG** -1. قم بإنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. احصل على كائن الشريحة من نوع [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) من مجموعة [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides). -3. أنشئ صورة مصغرة لكل شريحة ثم قم بتحويلها إلى JPG. تستخدم طريقة [**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) للحصول على صورة مصغرة لشريحة، حيث تُرجع كائن [Bitmap](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.bitmap?view=netframework-4.8) كنتيجة. يجب أن تُستدعى طريقة [GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) من الشريحة المطلوبة من نوع [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide)، ويتم تمرير مقاييس الصورة المصغرة الناتجة إلى الطريقة. -4. بعد الحصول على صورة الشريحة المصغرة، استدعِ [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8) من كائن الصورة المصغرة. تمرير اسم الملف الناتج وتنسيق الصورة إلى تلك الطريقة. +1. إنشاء كائن من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) . +1. الحصول على كائن الشريحة من النوع [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) من مجموعة [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) . +1. إنشاء صورة للشريحة باستخدام الطريقة [ISlide.GetImage(float, float)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) . +1. استدعاء الطريقة [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3) على كائن الصورة. تمرير اسم ملف الإخراج وصيغة الصورة كمعاملات. {{% alert color="primary" %}} -**ملاحظة**: تحويل PPT/PPTX إلى JPG يختلف عن التحويل إلى أنواع أخرى في Aspose.Slides .NET API. بالنسبة لأنواع أخرى، عادةً ما تستخدم [**IPresentation.SaveMethod(String, SaveFormat, ISaveOptions)** ](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) لكن هنا تحتاج إلى [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8). +**ملاحظة:** التحويل من PPT أو PPTX أو ODP إلى JPG يختلف عن التحويل إلى صيغ أخرى في Aspose.Slides .NET API. بالنسبة للصيغ الأخرى، عادةً ما تستخدم الطريقة [IPresentation.Save(String, SaveFormat, ISaveOptions)](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/save/#save_5). ومع ذلك، لتحويل إلى JPG، تحتاج إلى استخدام الطريقة [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3). {{% /alert %}} - ```c# -const int imageScale = 1; +int scaleX = 1; +int scaleY = scaleX; -using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt")) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.ppt")) { - foreach (ISlide slide in pres.Slides) + foreach (ISlide slide in presentation.Slides) { - // Creates a full scale image - using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) + // إنشاء صورة الشريحة بالمقياس المحدد. + using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) { - // Saves the image to disk in JPEG format - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // حفظ الصورة على القرص بتنسيق JPEG. + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } } ``` -## **تحويل PowerPoint PPT/PPTX إلى JPG بأبعاد مخصصة** -لتغيير أبعاد الصورة المصغرة الناتجة وصورة JPG، يمكنك تعيين قيم *ScaleX* و*ScaleY* عن طريق تمريرها إلى طريقة [**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5): -```c# -using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx")) -{ - // Defines dimensions - int desiredX = 1200; - int desiredY = 800; +## **تحويل الشرائح إلى JPG بأبعاد مخصصة** - // Gets scaled values of X and Y - float scaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX; - float scaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY; +لتغيير أبعاد صور JPG الناتجة، يمكنك ضبط حجم الصورة بتمريره إلى الطريقة [ISlide.GetImage(Size)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_6). يتيح لك ذلك إنشاء صور بأبعاد عرض وارتفاع محددة، مما يضمن أن الإخراج يلبي متطلباتك من حيث الدقة ونسبة العرض إلى الارتفاع. هذه المرونة مفيدة بشكل خاص عند إنشاء صور لتطبيقات الويب أو التقارير أو الوثائق، حيث يُطلب أبعاد دقيقة للصور. +```c# +Size imageSize = new Size(1200, 800); - foreach (ISlide slide in pres.Slides) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.pptx")) +{ + foreach (ISlide slide in presentation.Slides) { - // Creates a full scale image - using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) + // إنشاء صورة للشرائح بالحجم المحدد. + using (IImage thumbnail = slide.GetImage(imageSize)) { - // Saves the image to disk in JPEG format - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // حفظ الصورة على القرص بتنسيق JPEG. + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } @@ -109,42 +94,77 @@ using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx")) ``` -## **عرض التعليقات عند حفظ العرض التقديمي كصورة** -يوفر Aspose.Slides لـ .NET ميزة تتيح لك عرض التعليقات في شرائح العرض التقديمي عندما تقوم بتحويل هذه الشرائح إلى صور. يوضح هذا الكود C# العملية: +## **عرض التعليقات عند حفظ الشرائح كصور** + +يقدم Aspose.Slides for .NET ميزة تسمح لك بعرض التعليقات على شرائح العرض عند تحويلها إلى صور JPG. تكون هذه الوظيفة مفيدة بشكل خاص للحفاظ على الملاحظات أو التعليقات أو المناقشات التي يضيفها المتعاونون في عروض PowerPoint. من خلال تمكين هذا الخيار، تضمن ظهور التعليقات في الصور المولدة، مما يجعل مراجعة ومشاركة الملاحظات أسهل دون الحاجة إلى فتح ملف العرض الأصلي. +لنفترض أن لدينا ملف عرض، "sample.pptx"، يحتوي على شريحة بها تعليقات: + +![The slide with comments](slide_with_comments.png) + +الكود التالي بلغة C# يحول الشريحة إلى صورة JPG مع الحفاظ على التعليقات: ```c# -using (Presentation presentation = new Presentation("test.pptx")) +int scaleX = 2; +int scaleY = scaleX; + +using (Presentation presentation = new Presentation("sample.pptx")) { IRenderingOptions options = new RenderingOptions { + // ضبط الخيارات لتعليقات الشريحة. SlidesLayoutOptions = new NotesCommentsLayoutingOptions { - NotesPosition = NotesPositions.BottomTruncated, - CommentsAreaColor = Color.Red, + CommentsPosition = CommentsPositions.Right, CommentsAreaWidth = 200, - CommentsPosition = CommentsPositions.Right + CommentsAreaColor = Color.DarkOrange } }; - using (IImage image = presentation.Slides[0].GetImage(options)) + // تحويل الشريحة الأولى إلى صورة. + using (IImage image = presentation.Slides[0].GetImage(options, scaleX, scaleY)) { - image.Save("OutPresBitmap.png", ImageFormat.Png); + image.Save("Slide_1.jpg", ImageFormat.Jpeg); } - - System.Diagnostics.Process.Start("OutPresBitmap.png"); } ``` -{{% alert title="نصيحة" color="primary" %}} -يقدم Aspose تطبيق ويب [مجانًا لتجميع الصور](https://products.aspose.app/slides/collage). باستخدام هذه الخدمة عبر الإنترنت، يمكنك دمج [JPG إلى JPG](https://products.aspose.app/slides/collage/jpg) أو PNG إلى PNG، وإنشاء [شبكات صور](https://products.aspose.app/slides/collage/photo-grid)، وما إلى ذلك. +النتيجة: + +![The JPG image with comments](image_with_comments.png) -باستخدام نفس المبادئ الموضحة في هذه المقالة، يمكنك تحويل الصور من تنسيق إلى آخر. لمزيد من المعلومات، انتقل إلى هذه الصفحات: تحويل [صورة إلى JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/)؛ تحويل [JPG إلى صورة](https://products.aspose.com/slides/net/conversion/jpg-to-image/)؛ تحويل [JPG إلى PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/)؛ تحويل [PNG إلى JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/)؛ تحويل [PNG إلى SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/)؛ تحويل [SVG إلى PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). +## **انظر أيضًا** + +اطلع على خيارات أخرى لتحويل PPT أو PPTX أو ODP إلى صور، مثل: + +- [تحويل PowerPoint إلى GIF](/slides/ar/net/convert-powerpoint-to-animated-gif/) +- [تحويل PowerPoint إلى PNG](/slides/ar/net/convert-powerpoint-to-png/) +- [تحويل PowerPoint إلى TIFF](/slides/ar/net/convert-powerpoint-to-tiff/) +- [تحويل PowerPoint إلى SVG](/slides/ar/net/render-a-slide-as-an-svg-image/) +{{% alert color="primary" %}} +لمشاهدة كيفية تحويل Aspose.Slides لـ PowerPoint إلى صور JPG، جرّب هذه المحولات المجانية عبر الإنترنت: PowerPoint [PPTX to JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) و[PPT to JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg). +{{% /alert %}} + +![Free Online PPTX to JPG Converter](ppt-to-jpg.png) + +{{% alert title="Tip" color="primary" %}} + +توفر Aspose تطبيق ويب مجاني للتجميع يُدعى [FREE Collage web app](https://products.aspose.app/slides/collage). باستخدام هذه الخدمة عبر الإنترنت، يمكنك دمج [JPG to JPG](https://products.aspose.app/slides/collage/jpg) أو PNG إلى PNG، وإنشاء [شبكات صور](https://products.aspose.app/slides/collage/photo-grid)، وما إلى ذلك. + +باستخدام نفس المبادئ الموضحة في هذه المقالة، يمكنك تحويل الصور من صيغة إلى أخرى. لمزيد من المعلومات، راجع الصفحات التالية: تحويل [image to JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); تحويل [JPG to image](https://products.aspose.com/slides/net/conversion/jpg-to-image/); تحويل [JPG to PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/)، تحويل [PNG to JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); تحويل [PNG to SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/)، تحويل [SVG to PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -## **انظر أيضًا** +## **الأسئلة الشائعة** + +**هل يدعم هذا الأسلوب التحويل الجماعي؟** + +نعم، يتيح Aspose.Slides التحويل الجماعي لعدة شرائح إلى JPG في عملية واحدة. + +**هل يدعم التحويل عناصر SmartArt والرسوم البيانية والكائنات المعقدة الأخرى؟** + +نعم، يقوم Aspose.Slides بعرض جميع المحتويات، بما في ذلك SmartArt والرسوم البيانية والجداول والأشكال والمزيد. ومع ذلك، قد تختلف دقة العرض قليلًا مقارنةً بـ PowerPoint، خاصةً عند استخدام خطوط مخصصة أو مفقودة. -راجع خيارات أخرى لتحويل PPT/PPTX إلى صورة مثل: +**هل هناك أي قيود على عدد الشرائح التي يمكن معالجتها؟** -- [تحويل PPT/PPTX إلى SVG](/slides/ar/net/render-a-slide-as-an-svg-image/). \ No newline at end of file +لا يفرض Aspose.Slides حدودًا صارمة على عدد الشرائح التي يمكنك معالجتها. ومع ذلك، قد تواجه أخطاء نفاد الذاكرة عند العمل مع عروض تقديمية كبيرة أو صور ذات دقة عالية. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md index d6101cc597..6cc8758ecc 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md @@ -1,31 +1,30 @@ --- -title: تحويل PowerPoint إلى Markdown في C# +title: تحويل PowerPoint إلى Markdown باستخدام C# type: docs weight: 140 url: /ar/net/convert-powerpoint-to-markdown/ keywords: "تحويل PowerPoint إلى Markdown, تحويل ppt إلى md, PowerPoint, PPT, PPTX, عرض تقديمي, Markdown, C#, Csharp, .NET, Aspose.Slides" -description: "تحويل PowerPoint إلى Markdown في C#" +description: "تحويل PowerPoint إلى Markdown باستخدام C#" --- {{% alert color="info" %}} -تم تنفيذ دعم تحويل PowerPoint إلى Markdown في [Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/). +تم تنفيذ دعم تحويل PowerPoint إلى markdown في [Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/). {{% /alert %}} {{% alert color="warning" %}} -التصدير من PowerPoint إلى Markdown هو **بدون صور** بشكل افتراضي. إذا كنت ترغب في تصدير مستند PowerPoint يحتوي على صور، تحتاج إلى ضبط `ExportType = MarkdownExportType.Visual` وتحديد BasePath حيث سيتم حفظ الصور المشار إليها في مستند Markdown. +التصدير من PowerPoint إلى markdown يكون **بدون صور** بشكل افتراضي. إذا كنت ترغب في تصدير مستند PowerPoint يحتوي على صور، عليك تعيين `ExportType = MarkdownExportType.Visual` وتحديد BasePath حيث سيتم حفظ الصور المشار إليها في مستند markdown. {{% /alert %}} ## **تحويل PowerPoint إلى Markdown** -1. أنشئ مثيلاً لفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) لتمثيل كائن العرض التقديمي. -2. استخدم طريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) لحفظ الكائن كملف Markdown. - -هذا الشيفرة C# توضح لك كيفية تحويل PowerPoint إلى Markdown: +1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) لتمثيل كائن العرض التقديمي. +2. استخدم الطريقة [Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) لحفظ الكائن كملف markdown. +هذا الكود C# يوضح كيفية تحويل PowerPoint إلى markdown: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -33,12 +32,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## تحويل PowerPoint إلى نكهة Markdown -تسمح Aspose.Slides لك بتحويل PowerPoint إلى Markdown (الذي يحتوي على بناء جملة أساسي)، CommonMark، Markdown ذو نكهة GitHub، Trello، XWiki، GitLab، و17 نكهة أخرى من Markdown. +## **تحويل PowerPoint إلى صيغة Markdown** -هذه الشيفرة C# توضح لك كيفية تحويل PowerPoint إلى CommonMark: +يسمح Aspose.Slides لك بتحويل PowerPoint إلى markdown (مع الصياغة الأساسية)، CommonMark، GitHub flavored markdown، Trello، XWiki، GitLab، و 17 صيغة markdown أخرى. +هذا الكود C# يوضح كيفية تحويل PowerPoint إلى CommonMark: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -49,16 +48,16 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -تم سرد 23 نكهة مدعومة من Markdown في [تعداد Flavor](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) من فئة [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) . -## **تحويل عرض يتضمن صوراً إلى Markdown** +الصيغ الـ23 المدعومة للmarkdown مدرجة في [قائمة Flavor enumeration](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) داخل فئة [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/). -توفر فئة [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) خصائص وعددات تتيح لك استخدام خيارات أو إعدادات معينة لملف Markdown الناتج. على سبيل المثال، يمكن تعيين تعداد [MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/) إلى قيم تحدد كيفية عرض الصور أو التعامل معها: `Sequential`، `TextOnly`، `Visual`. +## **تحويل عرض تقديمي يحتوي على صور إلى Markdown** -### **تحويل الصور بطريقة متتالية** +توفر فئة [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) خصائص وتعدادات تسمح لك باستخدام خيارات أو إعدادات معينة لملف markdown الناتج. على سبيل المثال، يمكن تعيين تعداد [MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/) إلى قيم تحدد كيفية عرض أو معالجة الصور: `Sequential`، `TextOnly`، `Visual`. -إذا كنت ترغب في ظهور الصور بشكل فردي واحد تلو الآخر في Markdown الناتج، يجب عليك اختيار الخيار المتتالي. هذا الشيفرة C# توضح لك كيفية تحويل عرض يتضمن صوراً إلى Markdown: +### **تحويل الصور بشكل تسلسلي** +إذا رغبت في ظهور الصور بشكل فردي متتابع في markdown الناتج، عليك اختيار الخيار التسلسلي. هذا الكود C# يوضح كيفية تحويل عرض تقديمي يحتوي على صور إلى markdown: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -75,12 +74,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **تحويل الصور بصرياً** -إذا كنت ترغب في ظهور الصور معاً في Markdown الناتج، يجب عليك اختيار الخيار البصري. في هذه الحالة، سيتم حفظ الصور في المجلد الحالي للتطبيق (وسيتم بناء مسار نسبي لها في مستند Markdown)، أو يمكنك تحديد مسارك المفضل واسم المجلد. +### **تحويل الصور بصريًا** -هذه الشيفرة C# توضح لك العملية: +إذا رغبت في ظهور الصور معًا في markdown الناتج، عليك اختيار الخيار البصري. في هذه الحالة، سيتم حفظ الصور في الدليل الحالي للتطبيق (وسيتم بناء مسار نسبي لها في مستند markdown)، أو يمكنك تحديد المسار واسم المجلد المفضل لديك. +هذا الكود C# يوضح العملية: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -92,4 +91,19 @@ using (Presentation pres = new Presentation("pres.pptx")) BasePath = outPath }); } -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**هل تبقى الروابط الفائقة بعد التصدير إلى Markdown؟** + +نعم. النص [الروابط الفائقة](/slides/ar/net/manage-hyperlinks/) يتم الاحتفاظ به كرابط Markdown قياسي. شرائح [الانتقالات](/slides/ar/net/slide-transition/) و[الرسوم المتحركة](/slides/ar/net/powerpoint-animation/) لا يتم تحويلها. + +**هل يمكنني تسريع التحويل بتشغيله في عدة خيوط؟** + +يمكنك تنفيذ التحويل على عدة ملفات بصورة متوازية، لكن لا تُشَـارِك نفس مثيل [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) عبر الخيوط. استخدم مثيلات/عمليات منفصلة لكل ملف لتفادي التداخل. + +**ماذا يحدث للصور—أين تُحفظ، وهل المسارات نسبية؟** + +يتم تصدير [الصور](/slides/ar/net/image/) إلى مجلد مخصص، ويشير ملف Markdown إليها بمسارات نسبية بشكل افتراضي. يمكنك تكوين مسار الإخراج الأساسي واسم مجلد الأصول للحفاظ على بنية مستودع متوقعة. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index 1669823e42..bead6ca9d3 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,15 +1,20 @@ --- -title: تحويل PowerPoint إلى PDF في C# -linktitle: تحويل PowerPoint إلى PDF +title: تحويل PPT و PPTX إلى PDF في C# [ميزات متقدمة مشمولة] +linktitle: تحويل PPT و PPTX إلى PDF type: docs weight: 40 url: /ar/net/convert-powerpoint-to-pdf/ keywords: - تحويل PowerPoint -- عرض تقديمي +- تحويل العرض التقديمي - PowerPoint إلى PDF +- العرض التقديمي إلى PDF - PPT إلى PDF +- تحويل PPT إلى PDF - PPTX إلى PDF +- تحويل PPTX إلى PDF +- ODP إلى PDF +- تحويل ODP إلى PDF - حفظ PowerPoint كـ PDF - PDF/A1a - PDF/A1b @@ -18,172 +23,169 @@ keywords: - Csharp - .NET - Aspose.Slides لـ .NET -description: "تحويل عروض PowerPoint التقديمية إلى PDF في C# أو .NET. حفظ PowerPoint كـ PDF مع الامتثال أو معايير الوصول." +description: "تعلم كيفية تحويل عروض PPT و PPTX و ODP إلى PDF في C# أو .NET باستخدام Aspose.Slides. نفّذ ميزات متقدمة مثل حماية كلمة المرور، ومعايير الامتثال، وخيارات مخصصة للحصول على وثائق PDF عالية الجودة وسهلة الوصول." --- ## **نظرة عامة** -تحويل وثائق PowerPoint إلى تنسيق PDF يوفر العديد من المزايا، بما في ذلك ضمان التوافق عبر الأجهزة المختلفة والحفاظ على تنسيق العرض التقديمي. يوضح لك هذا المقال كيفية تحويل العروض إلى مستندات PDF، واستخدام خيارات متنوعة للتحكم في جودة الصورة، وإدراج الشرائح المخفية، وحماية مستندات PDF بكلمة مرور، واكتشاف استبدال الخطوط، واختيار الشرائح للتحويل، وتطبيق معايير الامتثال على المستندات الناتجة. +تحويل عروض PowerPoint (PPT, PPTX, ODP، وغيرها) إلى صيغة PDF باستخدام C# يقدم عدة مزايا، بما في ذلك التوافق عبر الأجهزة المختلفة والحفاظ على تخطيط وتنسيق العرض التقديمي الخاص بك. يوضح هذا الدليل كيفية تحويل العروض إلى مستندات PDF، واستخدام خيارات مختلفة للتحكم في جودة الصور، وتضمين الشرائح المخفية، وحماية ملفات PDF بكلمة مرور، واكتشاف استبدال الخطوط، واختيار شرائح معينة للتحويل، وتطبيق معايير الامتثال على الوثائق الناتجة. -## **تحويلات PowerPoint إلى PDF** +## **تحويل PowerPoint إلى PDF** -يمكنك استخدام Aspose.Slides لتحويل العروض التقديمية بهذه التنسيقات إلى PDF: +باستخدام Aspose.Slides، يمكنك تحويل العروض بالتنسيقات التالية إلى PDF: -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -لتحويل عرض تقديمي إلى PDF، عليك ببساطة تمرير اسم الملف كمعامل في [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) class ثم حفظ العرض التقديمي كـ PDF باستخدام طريقة [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/). تصدر [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) class الطريقة [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/#presentationsave-method-5-of-9) التي تستخدم عادة لتحويل عرض تقديمي إلى PDF. +لتحويل عرض تقديمي إلى PDF، مرر اسم الملف كوسيط إلى فئة [العرض التقديمي](https://reference.aspose.com/slides/net/aspose.slides/presentation/) ثم احفظ العرض كملف PDF باستخدام طريقة [حفظ](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/). فئة [العرض التقديمي](https://reference.aspose.com/slides/net/aspose.slides/presentation/) تكشف عن طريقة [حفظ](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) التي تُستخدم عادةً لتحويل العرض إلى PDF. -{{% alert title="ملاحظة" color="warning" %}} +{{% alert title="NOTE" color="warning" %}} -Aspose.Slides لـ .NET يكتب مباشرة معلومات API ورقم الإصدار في المستندات الناتجة. على سبيل المثال، عند تحويل عرض تقديمي إلى PDF، يقوم Aspose.Slides لـ .NET بإدخال قيمة '*Aspose.Slides*' في حقل التطبيق وقيمة على شكل '*Aspose.Slides v XX.XX*' في حقل منتج PDF. **ملاحظة** أنه لا يمكنك إرشاد Aspose.Slides لـ .NET لتغيير أو إزالة هذه المعلومات من المستندات الناتجة. +Aspose.Slides for .NET يدرج معلومات API ورقم الإصدار في المستندات الناتجة. على سبيل المثال، عند تحويل عرض تقديمي إلى PDF، يملأ Aspose.Slides حقل Application بـ "*Aspose.Slides*" وحقل PDF Producer بقيمة بصيغة "*Aspose.Slides v XX.XX*". **ملاحظة** أنه لا يمكنك إرشاد Aspose.Slides لتغيير أو إزالة هذه المعلومات من المستندات الناتجة. {{% /alert %}} -يسمح Aspose.Slides لك بتحويل: +Aspose.Slides يتيح لك تحويل: -* عرض تقديمي كامل إلى PDF -* شرائح محددة في عرض تقديمي إلى PDF -* عرض تقديمي +* العروض بالكامل إلى PDF +* شرائح محددة من العرض إلى PDF -يصدر Aspose.Slides العروض التقديمية إلى PDF بطريقة تجعل محتويات ملفات PDF الناتجة مشابهة جدًا لتلك الموجودة في العروض التقديمية الأصلية. غالبًا ما يتم عرض هذه العناصر والسمات المعروفة بشكل صحيح أثناء تحويل العروض التقديمية إلى PDF: +Aspose.Slides يصدر العروض إلى PDF، مع ضمان أن PDFs الناتجة تتطابق مع العروض الأصلية. يتم عرض العناصر والسمات بدقة في التحويل، بما في ذلك: * الصور -* صناديق النصوص وأشكال أخرى -* النصوص وتنسيقها -* الفقرات وتنسيقها +* مربعات النص والأشكال +* تنسيق النص +* تنسيق الفقرات * الروابط التشعبية -* الترويسات والتذييلات -* الرموز النقطية +* رؤوس وتذييلات +* الشرطات * الجداول ## **تحويل PowerPoint إلى PDF** -تتم عملية تحويل PowerPoint إلى PDF القياسية باستخدام الخيارات الافتراضية. في هذه الحالة، يحاول Aspose.Slides تحويل العرض التقديمي المقدم إلى PDF باستخدام إعدادات مثلى على أعلى مستويات الجودة. - -يوضح لك كود C# التالي كيفية تحويل PowerPoint (PPT، PPTX، ODP) إلى PDF: +عملية التحويل القياسية من PowerPoint إلى PDF تستخدم الخيارات الافتراضية. في هذه الحالة، يحاول Aspose.Slides تحويل العرض المقدم إلى PDF باستخدام إعدادات مثالية بأعلى مستويات الجودة. +يظهر هذا الكود C# كيفية تحويل عرض تقديمي (PPT, PPTX, ODP، إلخ) إلى PDF: ```c# -// ينشئ كائن فئة Presentation الذي يمثل ملف PowerPoint، يمكن أن يكون PPT، PPTX، ODP إلخ. -Presentation presentation = new Presentation("PowerPoint.ppt"); +// إنشاء كائن Presentation الذي يمثل ملف PowerPoint أو OpenDocument. +using var presentation = new Presentation("PowerPoint.ppt"); -// يحفظ العرض التقديمي كـ PDF +// حفظ العرض التقديمي كملف PDF. presentation.Save("PDF-result.pdf", SaveFormat.Pdf); ``` + {{% alert color="primary" %}} -توفر Aspose أداة تحويل [**PowerPoint إلى PDF مجانية عبر الإنترنت**](https://products.aspose.app/slides/conversion/ppt-to-pdf) توضح عملية تحويل العرض التقديمي إلى PDF. من أجل تنفيذ مباشر للإجراء الموصوف هنا، يمكنك إجراء اختبار مع المحول. +Aspose يقدم محول **PowerPoint إلى PDF** مجاني عبر الإنترنت يوضح عملية تحويل العرض إلى PDF. يمكنك تشغيل اختبار بهذا المحول لتطبيق عملي للإجراء الموضح هنا. {{% /alert %}} ## **تحويل PowerPoint إلى PDF مع خيارات** -يوفر Aspose.Slides خيارات مخصصة - خصائص تحت فئة [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) - التي تتيح لك تخصيص PDF (الذي ينتج عن عملية التحويل)، وتأمين PDF بكلمة مرور، أو حتى تحديد كيفية سير عملية التحويل. +Aspose.Slides يقدم خيارات مخصصة—خصائص تحت فئة [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)—تتيح لك تخصيص PDF الناتج، قفل PDF بكلمة مرور، أو تحديد كيفية سير عملية التحويل. ### **تحويل PowerPoint إلى PDF مع خيارات مخصصة** -باستخدام خيارات التحويل المخصصة، يمكنك تعيين إعداد الجودة المفضل لديك لصور النقطية، تحديد كيفية التعامل مع ملفات الميتا، تعيين مستوى الضغط للنصوص، تعيين DPI للصور، إلخ. - -يوضح مثال الكود أدناه عملية يتم فيها تحويل عرض PowerPoint إلى PDF مع العديد من الخيارات المخصصة: +باستخدام خيارات تحويل مخصصة، يمكنك تعريف إعداد الجودة المفضل للصور النقطية، تحديد كيفية التعامل مع ملفات الميتا، ضبط مستوى الضغط للنص، تكوين DPI للصور، والمزيد. +المثال البرمجي أدناه يوضح كيفية تحويل عرض PowerPoint إلى PDF مع عدة خيارات مخصصة. ```c# -// ينشئ كائن فئة PdfOptions -PdfOptions pdfOptions = new PdfOptions +// إنشاء كائن PdfOptions. +var pdfOptions = new PdfOptions { - // يحدد الجودة لصور JPG + // تعيين جودة صور JPG. JpegQuality = 90, - // يحدد DPI للصور + // تعيين DPI للصور. SufficientResolution = 300, - // يحدد السلوك لملفات الميتا + // تعيين سلوك ملفات الميتا. SaveMetafilesAsPng = true, - // يحدد مستوى ضغط النص للمحتوى النصي + // تعيين مستوى ضغط النص للمحتوى النصي. TextCompression = PdfTextCompression.Flate, - // يحدد وضع التوافق مع PDF + // تحديد وضع الامتثال لملف PDF. Compliance = PdfCompliance.Pdf15 }; -// ينشئ كائن فئة Presentation الذي يمثل وثيقة PowerPoint -using (Presentation presentation = new Presentation("PowerPoint.pptx")) -{ - // يحفظ العرض التقديمي كـ مستند PDF - presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); -} +// إنشاء كائن Presentation الذي يمثل ملف PowerPoint أو OpenDocument file. +using var presentation = new Presentation("PowerPoint.pptx"); + +// حفظ العرض التقديمي كملف PDF. +presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **تحويل PowerPoint إلى PDF مع شرائح مخفية** -إذا كان العرض التقديمي يحتوي على شرائح مخفية، يمكنك استخدام خيار مخصص - خاصية [`ShowHiddenSlides`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) من فئة [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) - لتوجيه Aspose.Slides لتضمين الشرائح المخفية كصفحات في PDF الناتجة. +### **تحويل PowerPoint إلى PDF مع الشرائح المخفية** -يوضح كود C# التالي كيفية تحويل عرض PowerPoint إلى PDF مع تضمين الشرائح المخفية: +إذا كان العرض يحتوي على شرائح مخفية، يمكنك استخدام خاصية [ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) من فئة [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) لتضمين الشرائح المخفية كصفحات في PDF الناتج. +هذا الكود C# يوضح كيفية تحويل عرض PowerPoint إلى PDF مع تضمين الشرائح المخفية: ```c# -// ينشئ كائن فئة Presentation الذي يمثل ملف PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// إنشاء كائن Presentation الذي يمثل ملف PowerPoint أو OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -// ينشئ كائن فئة PdfOptions -PdfOptions pdfOptions = new PdfOptions(); +// إنشاء كائن PdfOptions. +var pdfOptions = new PdfOptions(); -// يضيف الشرائح المخفية +// إضافة الشرائح المخفية. pdfOptions.ShowHiddenSlides = true; -// يحفظ العرض التقديمي كـ PDF +// حفظ العرض التقديمي كملف PDF. presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **تحويل PowerPoint إلى PDF محمي بكلمة مرور** -يوضح كود C# التالي كيفية تحويل PowerPoint إلى PDF محمي بكلمة مرور (باستخدام معلمات الحماية من فئة [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)): +### **تحويل PowerPoint إلى PDF محمي بكلمة مرور** +هذا الكود C# يوضح كيفية تحويل عرض PowerPoint إلى PDF محمي بكلمة مرور باستخدام معلمات الحماية من فئة [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/): ```c# -// ينشئ كائن فئة Presentation الذي يمثل ملف PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// إنشاء كائن Presentation الذي يمثل ملف PowerPoint أو OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -/// ينشئ كائن فئة PdfOptions -PdfOptions pdfOptions = new PdfOptions(); +// إنشاء كائن PdfOptions. +var pdfOptions = new PdfOptions(); -// يحدد كلمة مرور PDF وأذونات الوصول +// تعيين كلمة مرور PDF وأذونات الوصول. pdfOptions.Password = "password"; pdfOptions.AccessPermissions = PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint; -// يحفظ العرض التقديمي كـ PDF +// حفظ العرض التقديمي كملف PDF. presentation.Save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **كشف استبدال الخطوط** -يوفر Aspose.Slides خاصية [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) تحت فئة [SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/) للسماح لك بالكشف عن استبدال الخطوط في عملية تحويل عرض تقديمي إلى PDF. +### **اكتشاف استبدال الخطوط** -يوضح كود C# التالي كيفية الكشف عن استبدال الخطوط: +Aspose.Slides يوفر خاصية [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) ضمن فئة [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) لتتمكن من اكتشاف استبدال الخطوط أثناء عملية تحويل العرض إلى PDF. +هذا الكود C# يوضح كيفية اكتشاف استبدال الخطوط: ```c# public static void Main() { - LoadOptions loadOptions = new LoadOptions(); - FontSubstSendsWarningCallback warningCallback = new FontSubstSendsWarningCallback(); - loadOptions.WarningCallback = warningCallback; + // إنشاء كائن Presentation الذي يمثل ملف PowerPoint أو OpenDocument. + using var presentation = new Presentation("sample.pptx"); - using (Presentation pres = new Presentation("pres.pptx", loadOptions)) - { - } + // تعيين رد النداء التحذيري في خيارات PDF. + var pdfOptions = new PdfOptions(); + pdfOptions.WarningCallback = new FontSubstitutionHandler(); + + // حفظ العرض التقديمي كملف PDF. + presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); } -private class FontSubstSendsWarningCallback : IWarningCallback +// تنفيذ رد النداء التحذيري. +private class FontSubstitutionHandler : IWarningCallback { public ReturnAction Warning(IWarningInfo warning) { - if (warning.WarningType == WarningType.CompatibilityIssue) - return ReturnAction.Continue; - if (warning.WarningType == WarningType.DataLoss && warning.Description.StartsWith("Font will be substituted")) { - Console.WriteLine($"تحذير استبدال الخط: {warning.Description}"); + Console.WriteLine($"Font substitution warning: {warning.Description}"); } return ReturnAction.Continue; @@ -191,97 +193,131 @@ private class FontSubstSendsWarningCallback : IWarningCallback } ``` + {{% alert color="primary" %}} -لمزيد من المعلومات حول الحصول على ردود الفعل بشأن استبدال الخطوط في عملية العرض، انظر [الحصول على ردود التحذير لاستبدال الخطوط](https://docs.aspose.com/slides/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/). +لمزيد من المعلومات حول استلام ردود الفعل لاستبدال الخطوط أثناء عملية العرض، راجع [Getting Warning Callbacks for Fonts Substitution](/slides/ar/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/). -لمزيد من المعلومات حول استبدال الخطوط، اقرأ المقالة [استبدال الخطوط](https://docs.aspose.com/slides/net/font-substitution/). +لمزيد من المعلومات حول استبدال الخطوط، راجع مقالة [Font Substitution](/slides/ar/net/font-substitution/). {{% /alert %}} -## **تحويل الشرائح المحددة في PowerPoint إلى PDF** - -يوضح كود C# التالي كيفية تحويل شرائح معينة في عرض PowerPoint إلى PDF: +## **تحويل شرائح محددة من PowerPoint إلى PDF** +هذا الكود C# يوضح كيفية تحويل شرائح محددة فقط من عرض PowerPoint إلى PDF: ```c# -// ينشئ كائن فئة Presentation الذي يمثل ملف PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// إنشاء كائن Presentation الذي يمثل ملف PowerPoint أو OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -// يحدد مصفوفة من مواقع الشرائح +// تعيين مصفوفة أرقام الشرائح. int[] slides = { 1, 3 }; -// يحفظ العرض التقديمي كـ PDF +// حفظ العرض التقديمي كملف PDF. presentation.Save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf); ``` -## **تحويل PowerPoint إلى PDF مع حجم شريحة مخصص** -يوضح كود C# التالي كيفية تحويل PowerPoint عندما يتم تحديد حجم شريحته إلى PDF: +## **تحويل PowerPoint إلى PDF مع حجم شريحة مخصص** +هذا الكود C# يوضح كيفية تحويل عرض PowerPoint إلى PDF بحجم شريحة محدد: ```c# -// ينشئ كائن فئة Presentation الذي يمثل ملف PowerPoint -Presentation presentation = new Presentation("SelectedSlides.pptx"); -Presentation auxPresentation = new Presentation(); +var slideWidth = 612; +var slideHeight = 792; -ISlide slide = presentation.Slides[0]; -auxPresentation.Slides.InsertClone(0, slide); +// تحميل عرض PowerPoint. +using var presentation = new Presentation("SelectedSlides.pptx"); -// يحدد نوع وحجم الشريحة -// auxPresentation.SlideSize.SetSize(presentation.SlideSize.Size.Width, presentation.SlideSize.Size.Height,SlideSizeScaleType.EnsureFit); -auxPresentation.SlideSize.SetSize(612F, 792F,SlideSizeScaleType.EnsureFit); +// إنشاء عرض تقديمي جديد بحجم شريحة معدل. +using var resizedPresentation = new Presentation(); -PdfOptions pdfOptions = new PdfOptions(); -INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; -options.NotesPosition = NotesPositions.BottomFull; +// تعيين حجم الشريحة المخصص. +resizedPresentation.SlideSize.SetSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit); -auxPresentation.Save("PDFnotes_out.pdf", SaveFormat.Pdf, pdfOptions); +// استنساخ الشريحة الأولى من العرض الأصلي. +var slide = presentation.Slides[0]; +resizedPresentation.Slides.InsertClone(0, slide); + +// حفظ العرض المُعدل إلى ملف PDF مع الملاحظات. +resizedPresentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf); ``` -## **تحويل PowerPoint إلى PDF في عرض الشريحة الملاحظات** -يوضح كود C# التالي كيفية تحويل PowerPoint إلى ملاحظات PDF: +## **تحويل PowerPoint إلى PDF في وضع الملاحظات على الشرائح** +هذا الكود C# يوضح كيفية تحويل عرض PowerPoint إلى PDF يتضمن الملاحظات: ```c# -// ينشئ كائن فئة Presentation الذي يمثل ملف PowerPoint -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// تحميل عرض PowerPoint. +using var presentation = new Presentation("NotesFile.pptx"); + +// تكوين خيارات PDF مع تخطيط الملاحظات. +var pdfOptions = new PdfOptions { - PdfOptions pdfOptions = new PdfOptions(); - INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + } +}; - // يحفظ العرض التقديمي إلى ملاحظات PDF - presentation.Save("Pdf_Notes_out.tiff", SaveFormat.Pdf, pdfOptions); -} +// حفظ العرض التقديمي إلى PDF مع الملاحظات. +presentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions); ``` -## **معايير الوصول والامتثال لـ PDF** -يتيح Aspose.Slides لك استخدام إجراء تحويل يتوافق مع [إرشادات الوصول إلى محتوى الويب (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). يمكنك تصدير وثيقة PowerPoint إلى PDF باستخدام أي من معايير الامتثال هذه: **PDF/A1a**، **PDF/A1b**، و**PDF/UA**. +## **معايير إمكانية الوصول والامتثال لـ PDF** -يوضح كود C# التالي عملية تحويل PowerPoint إلى PDF حيث يتم الحصول على عدة ملفات PDF بناءً على معايير الامتثال المختلفة: +Aspose.Slides يتيح لك استخدام إجراء تحويل يتوافق مع إرشادات إمكانية الوصول إلى محتوى الويب (**WCAG**) ([Web Content Accessibility Guidelines (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html)). يمكنك تصدير مستند PowerPoint إلى PDF باستخدام أي من معايير الامتثال التالية: **PDF/A1a**, **PDF/A1b**, و **PDF/UA**. +هذا الكود C# يوضح عملية تحويل PowerPoint إلى PDF تنتج عدة ملفات PDF بناءً على معايير امتثال مختلفة: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using var presentation = new Presentation("pres.pptx"); + +presentation.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions { - pres.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1a - }); - - pres.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1b - }); - - pres.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfUa - }); -} + Compliance = PdfCompliance.PdfA1a +}); + +presentation.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfA1b +}); + +presentation.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfUa +}); ``` -{{% alert title="ملاحظة" color="warning" %}} -يدعم Aspose.Slides عمليات تحويل PDF مما يتيح لك تحويل PDF إلى أكثر تنسيقات الملفات شيوعًا. يمكنك القيام بـ [PDF إلى HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/)، [PDF إلى صورة](https://products.aspose.com/slides/net/conversion/pdf-to-image/)، [PDF إلى JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/)، و [PDF إلى PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/) تحولات. كما تدعم عمليات تحويل PDF إلى تنسيقات متخصصة - [PDF إلى SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/)، [PDF إلى TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/)، و [PDF إلى XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/). +{{% alert title="Note" color="warning" %}} + +Aspose.Slides يدعم عمليات تحويل PDF، مما يتيح لك تحويل ملفات PDF إلى صيغ شائعة. يمكنك إجراء التحويلات التالية: [PDF إلى HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/)، [PDF إلى image](https://products.aspose.com/slides/net/conversion/pdf-to-image/)، [PDF إلى JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/)، و[PDF إلى PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/). عمليات تحويل PDF إلى صيغ متخصصة أخرى—[PDF إلى SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/)، [PDF إلى TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/)، و[PDF إلى XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/)—مدعومة أيضًا. + +{{% /alert %}} + +## **الأسئلة الشائعة** + +**هل يمكنني تحويل ملفات PowerPoint متعددة إلى PDF دفعة واحدة؟** + +نعم، Aspose.Slides يدعم التحويل الدفعي لعدة ملفات PPT أو PPTX إلى PDF. يمكنك iterating عبر ملفاتك وتطبيق عملية التحويل برمجياً. + +**هل يمكن حماية PDF المحول بكلمة مرور؟** + +بالطبع. استخدم فئة [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) لتعيين كلمة مرور وتعريف أذونات الوصول أثناء عملية التحويل. + +**كيف يمكنني تضمين الشرائح المخفية في PDF؟** + +قم بتعيين خاصية `ShowHiddenSlides` في فئة [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) إلى `true` لتضمين الشرائح المخفية في PDF الناتج. + +**هل يمكن لـ Aspose.Slides الحفاظ على جودة صورة عالية في PDF؟** + +نعم، يمكنك التحكم في جودة الصورة عن طريق تعيين خصائص مثل `JpegQuality` و `SufficientResolution` في فئة [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) لضمان صور عالية الجودة في PDF الخاص بك. + +**هل يدعم Aspose.Slides معايير الامتثال PDF/A؟** + +نعم، Aspose.Slides يتيح لك تصدير PDFs متوافقة مع معايير مختلفة، بما في ذلك PDF/A1a, PDF/A1b, و PDF/UA، لضمان أن مستنداتك تلبي متطلبات الوصول والأرشفة. + +## **موارد إضافية** -{{% /alert %}} \ No newline at end of file +- [توثيق Aspose.Slides لـ .NET](/slides/ar/net/) +- [مرجع API لـ Aspose.Slides لـ .NET](https://reference.aspose.com/slides/net/) +- [محولات Aspose المجانية عبر الإنترنت](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md index d12ef6f12e..774fd38797 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md @@ -1,27 +1,27 @@ --- -title: تحويل PowerPoint إلى PNG في C# -linktitle: تحويل PowerPoint إلى PNG +title: "تحويل PowerPoint إلى PNG باستخدام C#" +linktitle: "تحويل PowerPoint إلى PNG" type: docs weight: 30 url: /ar/net/convert-powerpoint-to-png/ keywords: -- PowerPoint إلى png -- ppt إلى png -- pptx إلى png -- odp إلى png -- PowerPoint إلى PNG -- PPT إلى PNG -- PPTX إلى PNG -- ODP إلى PNG -- C# -- Csharp -- Aspose.Slides لـ .NET -description: تحويل عرض PowerPoint إلى PNG في C#. تحويل PPT إلى PNG في C#. تحويل PPTX إلى PNG في C#. تحويل ODP إلى PNG في C# +- "PowerPoint إلى PNG" +- "ppt إلى PNG" +- "pptx إلى PNG" +- "odp إلى PNG" +- "PowerPoint إلى PNG" +- "PPT إلى PNG" +- "PPTX إلى PNG" +- "ODP إلى PNG" +- "C#" +- "Csharp" +- "Aspose.Slides لـ .NET" +description: "تحويل عرض PowerPoint إلى PNG باستخدام C#. تحويل PPT إلى PNG باستخدام C#. تحويل PPTX إلى PNG باستخدام C#. تحويل ODP إلى PNG باستخدام C#" --- ## **نظرة عامة** -تشرح هذه المقالة كيفية تحويل عرض PowerPoint إلى تنسيق PNG باستخدام C#. تغطي المواضيع التالية. +هذا المقال يشرح كيفية تحويل عرض PowerPoint إلى تنسيق PNG باستخدام C#. يغطي المواضيع التالية. - [تحويل PowerPoint إلى PNG في C#](#convert-powerpoint-to-png) - [تحويل PPT إلى PNG في C#](#convert-powerpoint-to-png) @@ -29,9 +29,9 @@ description: تحويل عرض PowerPoint إلى PNG في C#. تحويل PPT إ - [تحويل ODP إلى PNG في C#](#convert-powerpoint-to-png) - [تحويل شريحة PowerPoint إلى صورة في C#](#convert-powerpoint-to-png) -## **C# PowerPoint إلى PNG** +## **PowerPoint إلى PNG باستخدام C#** -للحصول على كود C# نموذج لتحويل PowerPoint إلى PNG، يرجى مراجعة القسم أدناه أي [تحويل PowerPoint إلى PNG](#convert-powerpoint-to-png). يمكن للكود تحميل عدد من التنسيقات مثل PPT وPPTX وODP في كائن Presentation ثم حفظ الصورة المصغرة للشرائح في تنسيق PNG. يتم مناقشة تحويلات PowerPoint إلى صورة الأخرى التي تشبه JPG وBMP وTIFF وSVG في هذه المقالات. +للحصول على عينة كود C# لتحويل PowerPoint إلى PNG، يرجى مراجعة القسم أدناه أي [تحويل PowerPoint إلى PNG](#convert-powerpoint-to-png). يمكن للكود تحميل عدد من الصيغ مثل PPT و PPTX و ODP في كائن Presentation ثم حفظ صورة المصغرة للشرائح بتنسيق PNG. التحويلات الأخرى من PowerPoint إلى صور مثل JPG و BMP و TIFF و SVG موضحة في هذه المقالات. - [C# PowerPoint إلى JPG](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) - [C# PowerPoint إلى BMP](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) @@ -40,23 +40,22 @@ description: تحويل عرض PowerPoint إلى PNG في C#. تحويل PPT إ ## **حول تحويل PowerPoint إلى PNG** -تنسيق PNG (رسومات الشبكة المحمولة) ليس شائعًا مثل JPEG (مجموعة خبراء التصوير المشترك)، لكنه لا يزال شائعًا جدًا. +تنسيق PNG (Portable Network Graphics) ليس شائعًا كما هو JPEG (Joint Photographic Experts Group)، لكنه لا يزال شائعًا جدًا. -**حالة الاستخدام:** عندما يكون لديك صورة معقدة والحجم ليس مشكلة، فإن PNG هو تنسيق صورة أفضل من JPEG. +**حالة الاستخدام:** عندما تكون الصورة معقدة ولا تشكل الحجم مشكلة، يكون PNG أفضل من JPEG. -{{% alert title="نصيحة" color="primary" %}} قد ترغب في الاطلاع على محولات **PowerPoint إلى PNG** المجانية من Aspose: [PPTX إلى PNG](https://products.aspose.app/slides/conversion/pptx-to-png) و[PPT إلى PNG](https://products.aspose.app/slides/conversion/ppt-to-png). إنها تنفيذ حي للعملية الموضحة في هذه الصفحة. {{% /alert %}} +{{% alert title="Tip" color="primary" %}} قد ترغب في تجربة محولات Aspose المجانية **PowerPoint to PNG Converters**: [PPTX to PNG](https://products.aspose.app/slides/conversion/pptx-to-png) و [PPT to PNG](https://products.aspose.app/slides/conversion/ppt-to-png). هي تنفيذ حي للعملية الموضحة في هذه الصفحة. {{% /alert %}} ## **تحويل PowerPoint إلى PNG** -اتبع هذه الخطوات: +اتبع الخطوات التالية: -1. قم بإنشاء كائن من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. احصل على كائن الشريحة من مجموعة [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) تحت واجهة [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). -3. استخدم الطريقة [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/) للحصول على الصورة المصغرة لكل شريحة. -4. استخدم الطريقة [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) لحفظ الصورة المصغرة للشرائح بتنسيق PNG. - -يوضح كود C# هذا كيفية تحويل عرض PowerPoint إلى PNG. يمكن لكائن Presentation تحميل PPT وPPTX وODP وما إلى ذلك، ثم يتم تحويل كل شريحة في كائن العرض إلى تنسيق PNG أو تنسيقات الصور الأخرى. +1. إنشاء كائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. +2. الحصول على كائن الشريحة من مجموعة [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) تحت واجهة [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). +3. استخدام طريقة [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/) للحصول على الصورة المصغرة لكل شريحة. +4. استخدام طريقة [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) لحفظ الصورة المصغرة للشفرة بصيغة PNG. +يعرض هذا الكود C# كيفية تحويل عرض PowerPoint إلى PNG. يمكن لكائن Presentation تحميل PPT و PPTX و ODP وغيرها، ثم يتم تحويل كل شريحة في الكائن إلى صيغة PNG أو صيغ صور أخرى. ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -72,12 +71,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## **تحويل PowerPoint إلى PNG بأبعاد مخصصة** -إذا كنت ترغب في الحصول على ملفات PNG بحجم معين، يمكنك تعيين القيم لـ `desiredX` و `desiredY`، والتي تحدد أبعاد الصورة المصغرة الناتجة. +## **تحويل PowerPoint إلى PNG بأبعاد مخصصة** -يوضح هذا الكود في C# العملية الموصوفة: +إذا رغبت في الحصول على ملفات PNG بأبعاد معينة، يمكنك ضبط القيم `desiredX` و `desiredY` التي تحدد أبعاد الصورة المصغرة الناتجة. +هذا الكود في C# يوضح العملية المذكورة: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -95,12 +94,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## **تحويل PowerPoint إلى PNG بحجم مخصص** -إذا كنت ترغب في الحصول على ملفات PNG بحجم معين، يمكنك تمرير القيم المفضلة لديك لـ `width` و `height` كوسائط لـ `imageSize`. +## **تحويل PowerPoint إلى PNG بحجم مخصص** -يوضح هذا الكود كيفية تحويل PowerPoint إلى PNG مع تحديد الحجم للصور: +إذا رغبت في الحصول على ملفات PNG بحجم معين، يمكنك تمرير القيم `width` و `height` المفضلة لـ `imageSize`. +هذا الكود يوضح كيفية تحويل PowerPoint إلى PNG مع تحديد حجم الصور: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -115,4 +114,19 @@ using (Presentation pres = new Presentation("pres.pptx")) } } } -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**كيف يمكنني تصدير شكل محدد فقط (مثل مخطط أو صورة) بدلاً من الشريحة بأكملها؟** + +Aspose.Slides يدعم [إنشاء صور مصغرة لأشكال فردية](/slides/ar/net/create-shape-thumbnails/); يمكنك تصيير الشكل إلى صورة PNG. + +**هل يدعم التحويل المتوازي على الخادم؟** + +نعم، ولكن [لا تشارك](/slides/ar/net/multithreading/) كائن Presentation واحد عبر الخيوط. استخدم كائنًا منفصلًا لكل خيط أو عملية. + +**ما هي قيود نسخة التجربة عند التصدير إلى PNG؟** + +وضع التقييم يضيف علامة مائية إلى الصور الناتجة ويطبق [قيود أخرى](/slides/ar/net/licensing/) حتى يتم تطبيق الترخيص. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md index 7a7b93027b..f465c9dbb0 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md @@ -1,27 +1,48 @@ --- -title: تحويل PowerPoint إلى SWF فلاش +title: تحويل PowerPoint إلى فلاش SWF type: docs weight: 80 url: /ar/net/convert-powerpoint-to-swf-flash/ -keywords: "تحويل PowerPoint، تقديم، PowerPoint إلى SWF، SWF فلاش PPT إلى SWF، PPTX إلى SWF، C#، Csharp، .NET" -description: "تحويل تقديم PowerPoint إلى SWF فلاش في C# أو .NET" +keywords: "تحويل PowerPoint, عرض تقديمي, PowerPoint إلى SWF, فلاش SWF PPT إلى SWF, PPTX إلى SWF, C#, Csharp, .NET" +description: "تحويل عرض تقديمي PowerPoint إلى فلاش SWF في C# أو .NET" --- -يمكن استخدام الطريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) المكشوفة من قبل [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) لتحويل العرض التقديمي بالكامل إلى وثيقة SWF. يمكنك أيضًا تضمين التعليقات في SWF الناتج باستخدام [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) وفئة [INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions) . توضح المثال التالي كيفية تحويل عرض تقديمي إلى وثيقة SWF باستخدام الخيارات المقدمة من فئة SWFOptions. +## **تحويل العروض التقديمية إلى فلاش** +يمكن استخدام طريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) التي يعرّفها الصف [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) لتحويل العرض التقديمي بالكامل إلى مستند SWF. يمكنك أيضًا تضمين التعليقات في ملف SWF المُولَّد باستخدام الصف [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) والواجهة [INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions). يوضح المثال التالي كيفية تحويل عرض تقديمي إلى مستند SWF باستخدام الخيارات التي توفرها الصف [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions). ```c# -// إنشاء كائن Presentation يمثل ملف تقديم +// إنشاء كائن Presentation يمثل ملف عرض تقديمي using (Presentation presentation = new Presentation("HelloWorld.pptx")) { SwfOptions swfOptions = new SwfOptions(); swfOptions.ViewerIncluded = false; + INotesCommentsLayoutingOptions notesOptions = swfOptions.NotesCommentsLayouting; notesOptions.NotesPosition = NotesPositions.BottomFull; - // حفظ عرض تقديمي وصفحات الملاحظات + // حفظ العرض التقديمي وصفحات الملاحظات presentation.Save("SaveAsSwf_out.swf", SaveFormat.Swf, swfOptions); swfOptions.ViewerIncluded = true; presentation.Save("SaveNotes_out.swf", SaveFormat.Swf, swfOptions); } -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل يمكنني تضمين الشرائح المخفية في ملف SWF؟** + +نعم. فعّل خيار [ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/showhiddenslides/) في [SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/). بشكل افتراضي، لا يتم تصدير الشرائح المخفية. + +**كيف يمكنني التحكم في الضغط وحجم ملف SWF النهائي؟** + +استخدم علم [Compressed](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/compressed/) (مفعّل بشكل افتراضي) واضبط [JpegQuality](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/jpegquality/) لتحقيق توازن بين حجم الملف وجودة الصورة. + +**ما هو الغرض من 'ViewerIncluded' ومتى يجب تعطيله؟** + +[ViewerIncluded](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/viewerincluded/) يضيف واجهة مستخدم مشغل مدمج (عناصر تحكم تنقل، لوحات، بحث). عطلها إذا كنت تخطط لاستخدام مشغل خاص بك أو تحتاج إلى إطار SWF بسيط بدون واجهة. + +**ماذا يحدث إذا كان الخط الأصلي مفقودًا على جهاز التصدير؟** + +ستستبدل Aspose.Slides الخط الذي تحدده عبر [DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/) في [SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/) لتجنب الرجوع غير المقصود إلى خط آخر. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index 95a5f39892..3fbc8f9475 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,25 +1,94 @@ --- -title: تحويل PowerPoint إلى TIFF مع الملاحظات +title: تحويل PowerPoint إلى TIFF مع الملاحظات في C# +linktitle: PowerPoint إلى TIFF مع الملاحظات type: docs weight: 100 url: /ar/net/convert-powerpoint-to-tiff-with-notes/ -keywords: "تحويل PowerPoint إلى TIFF مع الملاحظات" -description: "تحويل PowerPoint إلى TIFF مع الملاحظات في Aspose.Slides." +keywords: +- تحويل PowerPoint إلى TIFF +- تحويل العرض التقديمي إلى TIFF +- تحويل الشريحة إلى TIFF +- تحويل PPT إلى TIFF +- تحويل PPTX إلى TIFF +- تحويل ODP إلى TIFF +- PowerPoint إلى TIFF +- العرض التقديمي إلى TIFF +- الشريحة إلى TIFF +- PPT إلى TIFF +- PPTX إلى TIFF +- ODP إلى TIFF +- PowerPoint مع الملاحظات +- العرض التقديمي مع الملاحظات +- الشريحة مع الملاحظات +- PPT مع الملاحظات +- PPTX مع الملاحظات +- ODP مع الملاحظات +- TIFF مع الملاحظات +- C# +- .NET +- Aspose.Slides +description: "تحويل عروض PowerPoint و OpenDocument إلى TIFF مع الملاحظات باستخدام Aspose.Slides لـ .NET. تعلم كيفية تصدير الشرائح مع ملاحظات المتحدث بكفاءة." --- -{{% alert title="نصيحة" color="primary" %}} +## **نظرة عامة** -قد ترغب في الاطلاع على Aspose [محول PowerPoint إلى ملصق المجاني](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +Aspose.Slides for .NET يوفر حلاً بسيطاً لتحويل عروض PowerPoint وOpenDocument (PPT، PPTX، وODP) مع الملاحظات إلى تنسيق TIFF. يُستخدم هذا التنسيق على نطاق واسع لتخزين الصور عالية الجودة والطباعة وأرشفة المستندات. مع Aspose.Slides، يمكنك ليس فقط تصدير العروض كاملةً مع ملاحظات المتحدث ولكن أيضاً إنشاء صور مصغرة للشرائح في عرض شريحة الملاحظات. عملية التحويل بسيطة وفعّالة، باستخدام طريقة `Save` من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) لتحويل العرض بالكامل إلى سلسلة من صور TIFF مع الحفاظ على الملاحظات والتنسيق. -{{% /alert %}} +## **تحويل عرض إلى TIFF مع الملاحظات** + +حفظ عرض PowerPoint أو OpenDocument إلى TIFF مع الملاحظات باستخدام Aspose.Slides for .NET يتضمن الخطوات التالية: -TIFF هو واحد من عدة تنسيقات الصور المستخدمة على نطاق واسع التي تدعمها Aspose.Slides لـ .NET لتحويل عرض PowerPoint PPT و PPTX مع الملاحظات إلى صور. يمكنك أيضًا إنشاء صور مصغرة للشريحة في عرض الشريحة الملاحظات. يمكن استخدام الطريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) المتاحة من قبل فئة Presentation لتحويل العرض الكامل في عرض الشريحة الملاحظات إلى TIFF. حفظ عرض Microsoft PowerPoint إلى ملاحظات TIFF باستخدام Aspose.Slides لـ .NET هو عملية تتكون من سطرين. كل ما عليك فعله هو فتح العرض وحفظه إلى ملاحظات TIFF. يمكنك أيضًا إنشاء صورة مصغرة لشريحة في عرض الشريحة الملاحظات للشرائح الفردية. تقوم مقتطفات الكود أدناه بتحديث العرض التقديمي النموذجي إلى صور TIFF في عرض الشريحة الملاحظات، كما هو موضح أدناه: +1. إنشاء كائن فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): تحميل ملف PowerPoint أو OpenDocument. +1. تكوين خيارات تخطيط الإخراج: استخدام فئة [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/notescommentslayoutingoptions/) لتحديد كيفية عرض الملاحظات والتعليقات. +1. حفظ العرض إلى TIFF: تمرير الخيارات المكوّنة إلى طريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index). +لنفترض أن لدينا ملف "speaker_notes.pptx" يحتوي على الشريحة التالية: + +![شريحة العرض مع ملاحظات المتحدث](slide_with_notes.png) + +المقتطف البرمجي أدناه يوضح كيفية تحويل العرض إلى صورة TIFF في عرض شريحة الملاحظات باستخدام خاصية [SlidesLayoutOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/). ```c# -// إنشاء كائن Presentation يمثل ملف عرض تقديمي -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// إنشاء كائن فئة Presentation التي تمثل ملف عرض تقديمي. +using (Presentation presentation = new Presentation("speaker_notes.pptx")) { - // حفظ العرض إلى ملاحظات TIFF - presentation.Save("Notes_In_Tiff_out.tiff", SaveFormat.Tiff); + // تكوين خيارات TIFF مع تخطيط الملاحظات. + TiffOptions tiffOptions = new TiffOptions + { + DpiX = 300, + DpiY = 300, + + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull // عرض الملاحظات تحت الشريحة. + } + }; + + // حفظ العرض التقديمي إلى TIFF مع ملاحظات المتحدث. + presentation.Save("TIFF_with_notes.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +النتيجة: + +![صورة TIFF مع ملاحظات المتحدث](TIFF_with_notes.png) + +{{% alert title="نصيحة" color="primary" %}} + +اكتشف أداة Aspose [Free PowerPoint to Poster Converter](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). + +{{% /alert %}} + +## **الأسئلة الشائعة** + +**هل يمكنني التحكم في موضع منطقة الملاحظات في صورة TIFF الناتجة؟** + +نعم. استخدم [إعدادات تخطيط الملاحظات](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/) للاختيار بين خيارات مثل `None` أو `BottomTruncated` أو `BottomFull`، والتي إما تخفي الملاحظات أو تضبطها في صفحة واحدة أو تسمح لها بالانتقال إلى صفحات إضافية. + +**كيف يمكنني تقليل حجم ملف TIFF مع الملاحظات دون فقدان ملحوظ في الجودة؟** + +اختر [ضغطًا فعالًا](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) (مثل `LZW` أو `RLE`)، عيّن DPI مناسب، وإذا كان مقبولاً، استخدم [صيغة بكسل](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) أقل (مثل 8 bpp أو 1 bpp للأبيض والأسود). يمكن أيضاً تقليل [أبعاد الصورة](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) قليلًا دون أن يؤثر ذلك بشكل واضح على قابلية القراءة. + +**هل يؤثر الخط في الملاحظات على النتيجة إذا كانت الخطوط الأصلية غير موجودة على النظام؟** + +نعم. الخطوط المفقودة تؤدي إلى [استبدال](/slides/ar/net/font-selection-sequence/)، مما قد يغيّر قياسات النص ومظهره. لتجنب ذلك، [قدّم الخطوط المطلوبة](/slides/ar/net/custom-font/) أو عيّن [خط احتياطي افتراضي](/slides/ar/net/fallback-font/) لضمان استخدام الخطوط المقصودة. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md index cdc5638f73..c530473044 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md @@ -1,120 +1,161 @@ --- -title: تحويل PowerPoint إلى TIFF +title: تحويل عروض PowerPoint إلى TIFF باستخدام C# +titlelink: PowerPoint إلى TIFF type: docs weight: 90 url: /ar/net/convert-powerpoint-to-tiff/ -keywords: "تحويل عرض PowerPoint, PowerPoint إلى TIFF, PPT إلى TIFF, PPTX إلى TIFF, C#, Csharp, .NET, Aspose.Slides" -description: "تحويل عرض PowerPoint إلى TIFF في C# أو .NET." - +keywords: +- تحويل PowerPoint +- تحويل OpenDocument +- تحويل عرض تقديمي +- تحويل شريحة +- PowerPoint إلى TIFF +- OpenDocument إلى TIFF +- عرض تقديمي إلى TIFF +- شريحة إلى TIFF +- PPT إلى TIFF +- PPTX إلى TIFF +- ODP إلى TIFF +- C# +- .NET +- Aspose.Slides +description: "تعلم كيفية تحويل عروض PowerPoint (PPT، PPTX) وOpenDocument (ODP) بسهولة إلى صور TIFF عالية الجودة باستخدام Aspose.Slides للـ .NET. دليل خطوة بخطوة مع أمثلة على الشيفرة متضمنة." --- -TIFF (**تنسيق ملف الصورة المرقم**) هو تنسيق صورة نقطية غير مضغوط وعالي الجودة. يستخدم المحترفون TIFF لأغراض التصميم والتصوير والنشر المكتبي. على سبيل المثال، إذا كنت ترغب في الحفاظ على الطبقات والإعدادات في تصميمك أو صورتك، فقد ترغب في حفظ عملك كملف صورة TIFF. - -تتيح لك Aspose.Slides تحويل الشرائح في PowerPoint مباشرة إلى TIFF. +## **نظرة عامة** -{{% alert title="نصيحة" color="primary" %}} +TIFF (**Tagged Image File Format**) هو تنسيق صور نقطية غير فقدان يستخدم على نطاق واسع ويشتهر بجودته الاستثنائية والحفاظ المفصل على الرسومات. غالبًا ما يختار المصممون والمصورون والناشرون المكتبيون TIFF للحفاظ على الطبقات ودقة الألوان والإعدادات الأصلية في الصور. -قد ترغب في الاطلاع على [محول PowerPoint إلى ملصق مجاناً](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) من Aspose. - -{{% /alert %}} +باستخدام Aspose.Slides، يمكنك بسهولة تحويل شرائح PowerPoint (PPT، PPTX) وشرائح OpenDocument (ODP) مباشرةً إلى صور TIFF ذات جودة عالية، مما يضمن أن عروضك التقديمية تحتفظ بأقصى درجة من الدقة البصرية. -## **تحويل PowerPoint إلى TIFF** +## **تحويل عرض تقديمي إلى TIFF** -باستخدام أسلوب [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) المعروض بواسطة فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)، يمكنك تحويل عرض PowerPoint بالكامل بسرعة إلى TIFF. الصور الناتجة بتنسيق TIFF تتوافق مع الحجم الافتراضي للشرائح. +باستخدام طريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) المقدمة من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)، يمكنك بسرعة تحويل عرض تقديمي كامل إلى TIFF. الصور الناتجة تتطابق مع حجم الشريحة الافتراضي. -يوضح هذا الكود C# كيفية تحويل PowerPoint إلى TIFF: - -```c# -// ينشئ كائن Presentation يمثل ملف عرض تقديمي -using (Presentation presentation = new Presentation("DemoFile.pptx")) +هذا الكود C# يوضح كيفية تحويل عرض تقديمي PowerPoint إلى TIFF: +```cs +// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي (PPT، PPTX، ODP، إلخ). +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - // يحفظ العرض كمستند TIFF - presentation.Save("Tiffoutput_out.tiff", SaveFormat.Tiff); + // احفظ العرض التقديمي كصورة TIFF. + presentation.Save("Output.tiff", SaveFormat.Tiff); } ``` -## **تحويل PowerPoint إلى TIFF بالأبيض والأسود** -في Aspose.Slides 23.10، أضافت Aspose.Slides خاصية جديدة ([BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/)) إلى فئة [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) للسماح لك بتحديد الخوارزمية المتبعة عند تحويل شريحة أو صورة ملونة إلى TIFF بالأبيض والأسود. لاحظ أن هذا الإعداد يُطبق فقط عندما تكون خاصية [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) مضبوطة على `CCITT4` أو `CCITT3`. +## **تحويل عرض تقديمي إلى TIFF بالأبيض والأسود** + +الخاصية [BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/) في فئة [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) تتيح لك تحديد الخوارزمية المستخدمة عند تحويل شريحة ملونة أو صورة إلى TIFF بالأبيض والأسود. لاحظ أن هذا الإعداد يُطبق فقط عندما تكون الخاصية [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) مضبوطة على `CCITT4` أو `CCITT3`. + +لنفترض أن لدينا ملف "sample.pptx" يحتوي على الشريحة التالية: -يوضح هذا الكود C# كيفية تحويل شريحة أو صورة ملونة إلى TIFF بالأبيض والأسود: +![A presentation slide](slide_black_and_white.png) -```c# -var tiffOptions = new TiffOptions +هذا الكود C# يوضح كيفية تحويل الشريحة الملونة إلى TIFF بالأبيض والأسود: +```cs +TiffOptions tiffOptions = new TiffOptions { CompressionType = TiffCompressionTypes.CCITT4, BwConversionMode = BlackWhiteConversionMode.Dithering }; -using var presentation = new Presentation("sample.pptx"); -presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +using (Presentation presentation = new Presentation("sample.pptx")) +{ + presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +} ``` -## **تحويل PowerPoint إلى TIFF بحجم مخصص** -إذا كنت تحتاج إلى صورة TIFF بأبعاد محددة، يمكنك تعريف أرقامك المفضلة من خلال الخصائص المتاحة في [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). باستخدام خاصية [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) على سبيل المثال، يمكنك تعيين حجم للصورة الناتجة. +النتيجة: -يوضح هذا الكود C# كيفية تحويل PowerPoint إلى صور TIFF بحجم مخصص: +![Black-and-White TIFF](TIFF_black_and_white.png) -```c# -// ينشئ كائن Presentation يمثل ملف عرض تقديمي -using (Presentation pres = new Presentation("Convert_Tiff_Custom.pptx")) -{ - // ينشئ فئة TiffOptions - TiffOptions opts = new TiffOptions(); +## **تحويل عرض تقديمي إلى TIFF بحجم مخصص** - // يحدد نوع الضغط - opts.CompressionType = TiffCompressionTypes.Default; +إذا كنت تحتاج إلى صورة TIFF بأبعاد محددة، يمكنك تعيين القيم المطلوبة باستخدام الخصائص المتاحة في [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). على سبيل المثال، الخاصية [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) تتيح لك تعريف حجم الصورة الناتجة. - INotesCommentsLayoutingOptions notesOptions = opts.NotesCommentsLayouting; - notesOptions.NotesPosition = NotesPositions.BottomFull; - // أنواع الضغط +هذا الكود C# يوضح كيفية تحويل عرض تقديمي PowerPoint إلى صور TIFF بحجم مخصص: +```cs +// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي (PPT، PPTX، ODP، إلخ). +using (Presentation presentation = new Presentation("sample.pptx")) +{ + TiffOptions tiffOptions = new TiffOptions(); + + // تعيين نوع الضغط. + tiffOptions.CompressionType = TiffCompressionTypes.Default; + /* + أنواع الضغط: + Default - يحدد نظام الضغط الافتراضي (LZW). + None - يحدد عدم وجود ضغط. + CCITT3 + CCITT4 + LZW + RLE + */ - // الافتراضي - يحدد مخطط الضغط الافتراضي (LZW). - // لا شيء - يحدد عدم وجود ضغط. - // CCITT3 - // CCITT4 - // LZW - // RLE + // يعتمد العمق على نوع الضغط ولا يمكن تعيينه يدويًا. - // العمق يعتمد على نوع الضغط ولا يمكن تعيينه يدوياً. - // وحدة الدقة دائماً تساوي "2" (نقاط لكل بوصة) + // تعيين DPI للصورة. + tiffOptions.DpiX = 200; + tiffOptions.DpiY = 200; - // تعيين DPI الصورة - opts.DpiX = 200; - opts.DpiY = 100; + // تعيين حجم الصورة. + tiffOptions.ImageSize = new Size(1728, 1078); - // تعيين حجم الصورة - opts.ImageSize = new Size(1728, 1078); + tiffOptions.SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - // حفظ العرض إلى TIFF بالحجم المحدد - pres.Save("TiffWithCustomSize_out.tiff", SaveFormat.Tiff, opts); + // حفظ العرض التقديمي كملف TIFF بالحجم المحدد. + presentation.Save("custom_size.tiff", SaveFormat.Tiff, tiffOptions); } ``` -## **تحويل PowerPoint إلى TIFF بتنسيق بكسل صورة مخصص** -باستخدام خاصية [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) ضمن فئة [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions)، يمكنك تحديد تنسيق البكسل المفضل لديك لصورة TIFF الناتجة. +## **تحويل عرض تقديمي إلى TIFF بصيغة بكسل مخصصة** -يوضح هذا الكود C# كيفية تحويل PowerPoint إلى صورة TIFF بتنسيق بكسل مخصص: +باستخدام الخاصية [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) من فئة [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions) يمكنك تحديد صيغة البكسل المفضلة للصورة الناتجة. -```c# -// ينشئ كائن Presentation يمثل ملف عرض تقديمي -using (Presentation presentation = new Presentation("DemoFile.pptx")) +هذا الكود C# يوضح كيفية تحويل عرض تقديمي PowerPoint إلى صورة TIFF بصيغة بكسل مخصصة: +```cs +// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي (PPT، PPTX، ODP، إلخ). +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - TiffOptions options = new TiffOptions(); + TiffOptions tiffOptions = new TiffOptions(); - options.PixelFormat = ImagePixelFormat.Format8bppIndexed; + tiffOptions.PixelFormat = ImagePixelFormat.Format8bppIndexed; /* - يحتوي ImagePixelFormat على القيم التالية (كما هو مذكور في الوثائق): - Format1bppIndexed; // 1 بت لكل بكسل، فهرس. - Format4bppIndexed; // 4 بت لكل بكسل، فهرس. - Format8bppIndexed; // 8 بت لكل بكسل، فهرس. - Format24bppRgb; // 24 بت لكل بكسل، RGB. - Format32bppArgb; // 32 بت لكل بكسل، ARGB. + ImagePixelFormat يحتوي على القيم التالية (كما هو مذكور في الوثائق): + Format1bppIndexed - 1 بت لكل بكسل، مفهرس. + Format4bppIndexed - 4 بت لكل بكسل، مفهرس. + Format8bppIndexed - 8 بت لكل بكسل، مفهرس. + Format24bppRgb - 24 بت لكل بكسل، RGB. + Format32bppArgb - 32 بت لكل بكسل، ARGB. */ - // حفظ العرض إلى TIFF بحجم الصورة المحدد - presentation.Save("Tiff_With_Custom_Image_Pixel_Format_out.tiff", SaveFormat.Tiff, options); + // احفظ العرض التقديمي كملف TIFF بالحجم المحدد للصورة. + presentation.Save("Custom_Image_Pixel_Format.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +{{% alert title="Tip" color="primary" %}} + +تحقق من أداة Aspose المجانية لتحويل PowerPoint إلى ملصق [FREE PowerPoint to Poster converter](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). + +{{% /alert %}} + +## **الأسئلة المتكررة** + +**هل يمكنني تحويل شريحة واحدة بدلاً من عرض تقديمي كامل إلى TIFF؟** + +نعم. يتيح لك Aspose.Slides تحويل شرائح فردية من عروض PowerPoint وOpenDocument إلى صور TIFF بشكل منفصل. + +**هل هناك حد لعدد الشرائح عند تحويل عرض تقديمي إلى TIFF؟** + +لا، لا تفرض Aspose.Slides أي قيود على عدد الشرائح. يمكنك تحويل عروض بأي حجم إلى تنسيق TIFF. + +**هل يتم الحفاظ على الرسوم المتحركة وتأثيرات الانتقال في PowerPoint عند تحويل الشرائح إلى TIFF؟** + +لا، TIFF هو تنسيق صورة ثابت. لذلك لا يتم حفظ الرسوم المتحركة أو تأثيرات الانتقال؛ يتم تصدير لقطات ثابتة فقط من الشرائح. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md index 6a5c2e4a1f..e4c00dbc32 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md @@ -1,60 +1,98 @@ --- -title: تحويل باوربوينت إلى فيديو +title: تحويل عروض PowerPoint إلى فيديو باستخدام C# +linktitle: PowerPoint إلى فيديو type: docs weight: 130 url: /ar/net/convert-powerpoint-to-video/ -keywords: "تحويل باوربوينت, PPT, PPTX, عرض تقديمي, فيديو, MP4, PPT إلى فيديو, PPT إلى MP4, C#, Csharp, .NET, Aspose.Slides" -description: "تحويل باوربوينت إلى فيديو في C# أو .NET" +keywords: +- PowerPoint إلى فيديو +- تحويل PowerPoint إلى فيديو +- العرض إلى فيديو +- تحويل العرض إلى فيديو +- PPT إلى فيديو +- تحويل PPT إلى فيديو +- PPTX إلى فيديو +- تحويل PPTX إلى فيديو +- ODP إلى فيديو +- تحويل ODP إلى فيديو +- PowerPoint إلى MP4 +- تحويل PowerPoint إلى MP4 +- العرض إلى MP4 +- تحويل العرض إلى MP4 +- PPT إلى MP4 +- تحويل PPT إلى MP4 +- PPTX إلى MP4 +- تحويل PPTX إلى MP4 +- تحويل PowerPoint إلى فيديو +- تحويل العرض إلى فيديو +- تحويل PPT إلى فيديو +- تحويل PPTX إلى فيديو +- تحويل ODP إلى فيديو +- تحويل فيديو C# +- PowerPoint +- .NET +- C# +- Aspose.Slides +description: "تعرّف على كيفية تحويل عروض PowerPoint وOpenDocument إلى فيديو باستخدام C#. اكتشف عينة الشيفرة وتقنيات الأتمتة لتبسيط سير العمل." --- -من خلال تحويل عرض باوربوينت الخاص بك إلى فيديو، ستحصل على +## **نظرة عامة** -* **زيادة في الوصول:** جميع الأجهزة (بغض النظر عن النظام الأساسي) مزودة بمشغلات فيديو بشكل افتراضي مقارنة بتطبيقات فتح العروض التقديمية، مما يجعل من السهل على المستخدمين فتح أو تشغيل الفيديوهات. -* **وصول أوسع:** عبر الفيديوهات، يمكنك الوصول إلى جمهور كبير وتهدف إليهم بمعلومات قد تبدو مملة بخلاف ذلك في عرض تقديمي. تشير معظم الاستطلاعات والإحصائيات إلى أن الناس يشاهدون الفيديوهات ويستهلكونها أكثر من أشكال المحتوى الأخرى، ويفضلون عادةً هذا النوع من المحتوى. +من خلال تحويل عرض PowerPoint أو عرض OpenDocument إلى فيديو، ستحصل على: -{{% alert color="primary" %}} +**زيادة إمكانية الوصول:** جميع الأجهزة، بغض النظر عن النظام الأساسي، مزودة بمشغلات فيديو بشكل افتراضي، مما يجعل من السهل على المستخدمين فتح أو تشغيل الفيديوهات مقارنةً بتطبيقات العروض التقليدية. -قد ترغب في التحقق من [**محول باوربوينت إلى فيديو عبر الإنترنت**](https://products.aspose.app/slides/conversion/ppt-to-word) لأنه تنفيذ مباشر وفعال للعملية الموصوفة هنا. +**وصول أوسع:** الفيديوهات تتيح لك الوصول إلى جمهور أكبر وتقديم المعلومات بصيغة أكثر جاذبية. تشير الاستطلاعات والإحصائيات إلى أن الناس يفضلون مشاهدة واستهلاك محتوى الفيديو على الصيغ الأخرى، مما يجعل رسالتك أكثر تأثيرًا. +{{% alert color="primary" %}} +تحقق من [**محول PowerPoint إلى فيديو على الإنترنت**](https://products.aspose.app/slides/video) لأنه يوفر تطبيقًا حيًا وفعّالًا للعملية الموضحة هنا. {{% /alert %}} -## **تحويل باوربوينت إلى فيديو باستخدام Aspose.Slides** - -في [Aspose.Slides 22.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-22-11-release-notes/)، نفذنا دعمًا لتحويل العروض التقديمية إلى فيديو. +في Aspose.Slides for .NET، قدمنا دعمًا لتحويل العروض إلى فيديو. -* استخدم Aspose.Slides لإنشاء مجموعة من الإطارات (من شرايح العرض التقديمي) تت corresponde لمعدل إطارات معين (الإطارات في الثانية). -* استخدم أداة طرف ثالث مثل FFMpegCore (ffmpeg) لإنشاء فيديو استنادًا إلى الإطارات. +* استخدم Aspose.Slides for .NET لإنشاء إطارات من شرائح العرض بمعدل إطارات محدد (FPS). +* ثم استخدم أداة طرف ثالث مثل ffmpeg لتجميع هذه الإطارات في فيديو. -### **تحويل باوربوينت إلى فيديو** +## **تحويل عرض PowerPoint إلى فيديو** -1. استخدم أمر إضافة حزمة dotnet لإضافة Aspose.Slides ومكتبة FFMpegCore إلى مشروعك: - * قم بتشغيل `dotnet add package Aspose.Slides.NET --version 22.11.0` - * قم بتشغيل `dotnet add package FFMpegCore --version 4.8.0` -2. قم بتنزيل ffmpeg [هنا](https://ffmpeg.org/download.html). -3. يتطلب FFMpegCore أن تحدد المسار إلى ffmpeg الذي قمت بتنزيله (على سبيل المثال، مستخرج إلى "C:\tools\ffmpeg"): `GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );` -4. قم بتشغيل الكود لتحويل باوربوينت إلى فيديو. +1. استخدم أمر `dotnet add package` لإضافة Aspose.Slides ومكتبة FFMpegCore إلى مشروعك: + * نفّذ `dotnet add package Aspose.Slides.NET --version 22.11.0` + * نفّذ `dotnet add package FFMpegCore --version 4.8.0` +2. حمّل ffmpeg من [هنا](https://ffmpeg.org/download.html). +3. يتطلب FFMpegCore تحديد مسار ffmpeg المحمّل (مثال: المستخرج إلى "C:\tools\ffmpeg"): +```cs + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); +``` -يوضح هذا الكود C# كيفية تحويل عرض تقديمي (يحتوي على صورة وتأثيرين متحركين) إلى فيديو: +4. شغّل كود تحويل PowerPoint إلى فيديو. +هذا الكود C# يوضح كيفية تحويل عرض (يحتوي على شكل وتأثيري حركة) إلى فيديو: ```c# using System.Collections.Generic; using Aspose.Slides; -using FFMpegCore; // سنستخدم ملفات FFmpeg التي استخرجناها إلى "c:\tools\ffmpeg" سابقًا +using FFMpegCore; // سيستخدم ملفات تنفيذية FFmpeg التي استخرجناها إلى C:\tools\ffmpeg في وقت سابق. using Aspose.Slides.Animation; -using (Presentation presentation = new Presentation()) +using (Presentation presentation = new Presentation()) { - // يضيف شكل ابتسامة ثم يتحرك به - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // أضف شكل ابتسامة ثم احركه. + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; - const int Fps = 33; - List frames = new List(); + const int Fps = 33; + List frames = new List(); - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) { player.FrameTick += (sender, args) => @@ -66,46 +104,41 @@ using (Presentation presentation = new Presentation()) animationsGenerator.Run(presentation.Slides); } - // تكوين مجلد ملفات ffmpeg. انظر هذه الصفحة: https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // تحويل الإطارات إلى فيديو webm - FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // قم بتكوين مجلد ملفات FFmpeg التنفيذية. راجع هذه الصفحة: https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // حوّل الإطارات إلى فيديو webm. + FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` + ## **تأثيرات الفيديو** -يمكنك تطبيق الرسوم المتحركة على العناصر الموجودة على الشرائح واستخدام الانتقالات بين الشرائح. +عند تحويل عرض PowerPoint إلى فيديو باستخدام Aspose.Slides for .NET، يمكنك تطبيق تأثيرات فيديو مختلفة لتحسين الجودة البصرية للمخرجات. تسمح لك هذه التأثيرات بالتحكم في مظهر الشرائح في الفيديو النهائي عبر إضافة انتقالات سلسة، وحركات، وعناصر بصرية أخرى. يشرح هذا القسم خيارات تأثيرات الفيديو المتاحة ويظهر كيفية تطبيقها. {{% alert color="primary" %}} - -قد ترغب في الاطلاع على هذه المقالات: [رسوم متحركة في باوربوينت](https://docs.aspose.com/slides/net/powerpoint-animation/)، [رسوم متحركة للأشكال](https://docs.aspose.com/slides/net/shape-animation/)، و[تأثير الأشكال](https://docs.aspose.com/slides/net/shape-effect/). - +اطلع على: +- [تحسين عروض PowerPoint بالحركات في C#](https://docs.aspose.com/slides/net/powerpoint-animation/) +- [حركة الشكل](https://docs.aspose.com/slides/net/shape-animation/) +- [تطبيق تأثيرات الشكل في PowerPoint باستخدام C#](https://docs.aspose.com/slides/net/shape-effect/) {{% /alert %}} -تجعل الرسوم المتحركة والانتقالات العروض التقديمية أكثر جاذبية واهتمامًا - وتفعل الشيء نفسه للفيديوهات. دعونا نضيف شريحة أخرى وانتقال إلى الكود الخاص بالعرض التقديمي السابق: - +الحركات والانتقالات تجعل عروض الشرائح أكثر تشويقًا وإثارة — وتفعل الشيء نفسه للفيديوهات. لنضيف شريحة وانتقال آخر إلى الكود للعرض السابق: ```c# -// يضيف شكل ابتسامة ويتحرك به - +// أضف شكل ابتسامة وقم بتحريكه. // ... -// يضيف شريحة جديدة وانتقال متحرك - +// أضف شريحة جديدة وانتقالًا متحركًا. ISlide newSlide = presentation.Slides.AddEmptySlide(presentation.Slides[0].LayoutSlide); - newSlide.Background.Type = BackgroundType.OwnBackground; - newSlide.Background.FillFormat.FillType = FillType.Solid; - newSlide.Background.FillFormat.SolidFillColor.Color = Color.Indigo; - newSlide.SlideShowTransition.Type = TransitionType.Push; ``` -يدعم Aspose.Slides أيضًا الرسوم المتحركة للنصوص. لذا نقوم بتحريك الفقرات على العناصر، والتي ستظهر واحدة تلو الأخرى (مع تأخير مضبوط على ثانية واحدة): +يدعم Aspose.Slides أيضًا حركات النص. في هذا المثال، نقوم بتحريك الفقرات على الكائنات بحيث تظهر واحدة تلو الأخرى، مع تأخير ثانية واحدة بينها: ```c# using System.Collections.Generic; using Aspose.Slides.Export; @@ -115,41 +148,44 @@ using Aspose.Slides.Animation; using (Presentation presentation = new Presentation()) { - // يضيف نصوص ورسوم متحركة - IAutoShape autoShape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); + ISlide slide = presentation.Slides[0]; + + // إضافة نص وحركات. + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); Paragraph para1 = new Paragraph(); para1.Portions.Add(new Portion("Aspose Slides for .NET")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("تحويل عرض باوربوينت مع نص إلى فيديو")); + para2.Portions.Add(new Portion("Convert a PowerPoint presentation with text to video")); Paragraph para3 = new Paragraph(); - para3.Portions.Add(new Portion("فقرة تلو الأخرى")); + para3.Portions.Add(new Portion("paragraph by paragraph")); autoShape.TextFrame.Paragraphs.Add(para1); autoShape.TextFrame.Paragraphs.Add(para2); autoShape.TextFrame.Paragraphs.Add(para3); autoShape.TextFrame.Paragraphs.Add(new Paragraph()); - IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect1 = slide.Timeline.MainSequence.AddEffect( + para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect2 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect2 = slide.Timeline.MainSequence.AddEffect( + para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect3 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect3 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect4 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect4 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - effect.Timing.TriggerDelayTime = 1f; + effect1.Timing.TriggerDelayTime = 1f; effect2.Timing.TriggerDelayTime = 1f; effect3.Timing.TriggerDelayTime = 1f; effect4.Timing.TriggerDelayTime = 1f; - // تحويل الإطارات إلى فيديو const int Fps = 33; List frames = new List(); - - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) - { player.FrameTick += (sender, args) => { @@ -157,34 +193,42 @@ using (Presentation presentation = new Presentation()) args.GetFrame().Save(frame); frames.Add(frame); }; + animationsGenerator.Run(presentation.Slides); } - // تكوين مجلد ملفات ffmpeg. انظر هذه الصفحة: https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // تحويل الإطارات إلى فيديو webm - FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // قم بتكوين مجلد ملفات تنفيذية ffmpeg. راجع هذه الصفحة: https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // حوّل الإطارات إلى فيديو webm. + FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` -## **فئات تحويل الفيديو** -للسماح لك بتنفيذ مهام تحويل باوربوينت إلى فيديو، يوفر Aspose.Slides [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) و[PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) الكلاسات. +## **فئات تحويل الفيديو** -تسمح لك PresentationAnimationsGenerator بتعيين حجم الإطار للفيديو (الذي سيتم إنشاؤه لاحقًا) من خلال المُنشئ الخاص بها. إذا قمت بتمرير إصدار من العرض التقديمي، سيتم استخدام `Presentation.SlideSize` وتولد الرسوم المتحركة التي يستخدمها [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). +لتمكين مهام تحويل PowerPoint إلى فيديو، توفر Aspose.Slides for .NET الفئات [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) و[PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). -عندما يتم إنشاء الرسوم المتحركة، يتم إنشاء حدث `NewAnimation` لكل رسم متحرك لاحق، وهو يحمل المعامل [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/). الأخير هو فئة تمثل مشغلًا لرسم متحرك منفصل. +`PresentationAnimationsGenerator` تتيح لك تحديد حجم الإطار للفيديو (الذي سيتم إنشاؤه لاحقًا) وقيمة FPS (الإطارات في الثانية) عبر المُنشئ الخاص بها. إذا مررت كائن عرض، سيتم استخدام `Presentation.SlideSize` ويولد حركات يستخدمها [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). -للتعامل مع [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/)، تُستخدم الخاصيتان [Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/) (المدة الكاملة للرسوم المتحركة) و[SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/) الطريقة. يتم تعيين كل موضع رسم متحرك ضمن النطاق *0 إلى المدة*، ثم ستعيد دالة `GetFrame` صورة Bitmap التي تتوافق مع حالة الرسوم المتحركة في تلك اللحظة. +عند توليد الحركات، يتم تشغيل حدث `NewAnimation` لكل حركة تالية، ويتضمن معاملًا من نوع [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/). تمثل هذه الفئة مشغلًا لحركة فردية. +للعمل مع [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/)، تستخدم الخاصية [Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/) (التي تعطي المدة الكاملة للحركة) والطريقة [SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/). يتم تعيين كل موضع حركة ضمن النطاق *0 إلى Duration*، ثم تُرجع طريقة `GetFrame` صورة Bitmap تمثل حالة الحركة في تلك النقطة الزمنية. ```c# using (Presentation presentation = new Presentation()) { - // يضيف شكل ابتسامة ويتحرك به - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // أضف شكل ابتسامة وقم بتحريكه. + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; @@ -192,21 +236,21 @@ using (Presentation presentation = new Presentation()) { animationsGenerator.NewAnimation += animationPlayer => { - Console.WriteLine($"مدة الرسوم المتحركة الإجمالية: {animationPlayer.Duration}"); - - animationPlayer.SetTimePosition(0); // حالة الرسوم المتحركة الأولية - Bitmap bitmap = animationPlayer.GetFrame(); // صورة حالة الرسوم المتحركة الأولية + Console.WriteLine($"Total animation duration: {animationPlayer.Duration}"); + + animationPlayer.SetTimePosition(0); // حالة الحركة الأولية. + Bitmap bitmap = animationPlayer.GetFrame(); // صورة bitmap لحالة الحركة الأولية. - animationPlayer.SetTimePosition(animationPlayer.Duration); // الحالة النهائية للرسوم المتحركة - Bitmap lastBitmap = animationPlayer.GetFrame(); // آخر إطار للرسوم المتحركة + animationPlayer.SetTimePosition(animationPlayer.Duration); // الحالة النهائية للحركة. + Bitmap lastBitmap = animationPlayer.GetFrame(); // الإطار الأخير للحركة. lastBitmap.Save("last.png"); }; } } ``` -لجعل جميع الرسوم المتحركة في عرض تقديمي تلعب مرة واحدة، يتم استخدام [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) الفئة. تأخذ هذه الفئة مثيلًا من [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) وFPS للتأثيرات في مُنشئها ثم تستدعي حدث `FrameTick` لكل الرسوم المتحركة للحصول على تشغيلها: +لجعل جميع الحركات في عرض ما تُشغَل في آن واحد، تُستَخدم فئة [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). هذه الفئة تستقبل كائن [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) وقيمة FPS للتأثيرات في المُنشئ، ثم تستدعي حدث `FrameTick` لكل الحركات لتشغيلها: ```c# using (Presentation presentation = new Presentation("animated.pptx")) { @@ -222,137 +266,154 @@ using (Presentation presentation = new Presentation("animated.pptx")) } ``` -ثم يمكن تجميع الإطارات المولدة لإنتاج فيديو. انظر قسم [تحويل باوربوينت إلى فيديو](https://docs.aspose.com/slides/net/convert-powerpoint-to-video/#convert-powerpoint-to-video). -## **الرسوم المتحركة والتأثيرات المدعومة** +بعد ذلك يمكن تجميع الإطارات المُولَّدة لإنتاج فيديو. راجع قسم [Convert a PowerPoint Presentation to Video](/slides/ar/net/convert-powerpoint-to-video/#convert-a-powerpoint-presentation-to-video). +## **الحركات والتأثيرات المدعومة** -**دخول**: +عند تحويل عرض PowerPoint إلى فيديو باستخدام Aspose.Slides for .NET، من المهم معرفة أي الحركات والتأثيرات تُدعم في المخرج. يدعم Aspose.Slides مجموعة واسعة من تأثيرات الدخول والخروج والتأكيد الشائعة مثل التلاشي، والطيران، والتقريب، والدوران. ومع ذلك، قد لا تُحفظ بعض الحركات المتقدمة أو المخصصة بالكامل أو قد تظهر بشكل مختلف في الفيديو النهائي. يوضح هذا القسم الحركات والتأثيرات المدعومة. -| نوع الرسوم المتحركة | Aspose.Slides | باوربوينت | +**الدخول**: + +| نوع الحركة | Aspose.Slides | PowerPoint | |---|---|---| -| **ظهور** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تلاشي** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **دخول** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **طفو** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **انقسام** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **مسح** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **شكل** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **عجلة** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **أشرطة عشوائية** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **نمو دوران** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تكبير** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **تدوير** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **ارتداد** | ![مدعوم](v.png) | ![مدعوم](v.png) | - - -**تأكيد**: - -| نوع الرسوم المتحركة | Aspose.Slides | باوربوينت | +| **Appear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly In** | ![supported](v.png) | ![supported](v.png) | +| **Float In** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Grow & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | + +**التأكيد**: + +| نوع الحركة | Aspose.Slides | PowerPoint | |---|---|---| -| **نبض** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **نبض اللون** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **توازن** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **دوران** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **نمو/انكماش** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تخفيف** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تعتيم** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **إنارة** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **شفافية** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **لون العنصر** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **لون تكميلي** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **لون الخط** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **لون التعبئة** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | - -**خروج**: - -| نوع الرسوم المتحركة | Aspose.Slides | باوربوينت | +| **Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Color Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Teeter** | ![supported](v.png) | ![supported](v.png) | +| **Spin** | ![supported](v.png) | ![supported](v.png) | +| **Grow/Shrink** | ![not supported](x.png) | ![supported](v.png) | +| **Desaturate** | ![not supported](x.png) | ![supported](v.png) | +| **Darken** | ![not supported](x.png) | ![supported](v.png) | +| **Lighten** | ![not supported](x.png) | ![supported](v.png) | +| **Transparency** | ![not supported](x.png) | ![supported](v.png) | +| **Object Color** | ![not supported](x.png) | ![supported](v.png) | +| **Complementary Color** | ![not supported](x.png) | ![supported](v.png) | +| **Line Color** | ![not supported](x.png) | ![supported](v.png) | +| **Fill Color** | ![not supported](x.png) | ![supported](v.png) | + +**الخروج**: + +| نوع الحركة | Aspose.Slides | PowerPoint | |---|---|---| -| **اختفاء** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تلاشي** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **خرج** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **طفو** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **انقسام** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **مسح** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **شكل** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **أشرطة عشوائية** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **انكماش دوران** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تكبير** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **تدوير** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **ارتداد** | ![مدعوم](v.png) | ![مدعوم](v.png) | - -**مسارات الحركة:** - -| نوع الرسوم المتحركة | Aspose.Slides | باوربوينت | +| **Disappear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly Out** | ![supported](v.png) | ![supported](v.png) | +| **Float Out** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shrink & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | + +**مسارات الحركة**: + +| نوع الحركة | Aspose.Slides | PowerPoint | |---|---|---| -| **خطوط** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **أقواس** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **تدويرات** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **أشكال** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **دوائر** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **مسار مخصص** | ![مدعوم](v.png) | ![مدعوم](v.png) | +| **Lines** | ![supported](v.png) | ![supported](v.png) | +| **Arcs** | ![supported](v.png) | ![supported](v.png) | +| **Turns** | ![supported](v.png) | ![supported](v.png) | +| **Shapes** | ![supported](v.png) | ![supported](v.png) | +| **Loops** | ![supported](v.png) | ![supported](v.png) | +| **Custom Path** | ![supported](v.png) | ![supported](v.png) | + +## **تأثيرات انتقال الشرائح المدعومة** -## **تأثيرات الانتقال بين الشرائح المدعومة** +تلعب تأثيرات الانتقال بين الشرائح دورًا مهمًا في إنشاء تغييرات سلسة وجذابة بصريًا بين الشرائح في الفيديو. يدعم Aspose.Slides for .NET مجموعة متنوعة من تأثيرات الانتقال الشائعة للمساعدة في الحفاظ على تدفق وأسلوب العرض الأصلي. يسلط هذا القسم الضوء على تأثيرات الانتقال المدعومة أثناء عملية التحويل. -**خفيفة**: +**دقيق**: -| نوع الرسوم المتحركة | Aspose.Slides | باوربوينت | +| نوع الانتقال | Aspose.Slides | PowerPoint | |---|---|---| -| **تحول** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تلاشي** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **دفع** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **سحب** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **مسح** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **انقسام** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **كشف** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **أشرطة عشوائية** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **شكل** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **كشف** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تغطية** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **فلاش** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **شرائط** | ![مدعوم](v.png) | ![مدعوم](v.png) | - -**مثيرة**: - -| نوع الرسوم المتحركة | Aspose.Slides | باوربوينت | +| **Morph** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Push** | ![supported](v.png) | ![supported](v.png) | +| **Pull** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Reveal** | ![not supported](x.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![not supported](x.png) | ![supported](v.png) | +| **Uncover** | ![not supported](x.png) | ![supported](v.png) | +| **Cover** | ![supported](v.png) | ![supported](v.png) | +| **Flash** | ![supported](v.png) | ![supported](v.png) | +| **Strips** | ![supported](v.png) | ![supported](v.png) | + +**مثير**: + +| نوع الانتقال | Aspose.Slides | PowerPoint | |---|---|---| -| **سقوط** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **ستارة** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **ستائر** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **رياح** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **هيبة** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تشقق** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **سحق** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تقشر** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **حافة الصفحة** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **طائرة** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **أوريغامي** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تلاشي** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **لوحة شطرنج** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **ستائر** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **ساعة** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **تموج** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **شخللة** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تألق** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **دوامة** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تمزيق** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تبديل** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تقلب** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **معرض** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **مكعب** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **أبواب** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **صندوق** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **مشط** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تكبير** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **عشوائي** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | +| **Fall Over** | ![not supported](x.png) | ![supported](v.png) | +| **Drape** | ![not supported](x.png) | ![supported](v.png) | +| **Curtains** | ![not supported](x.png) | ![supported](v.png) | +| **Wind** | ![not supported](x.png) | ![supported](v.png) | +| **Prestige** | ![not supported](x.png) | ![supported](v.png) | +| **Fracture** | ![not supported](x.png) | ![supported](v.png) | +| **Crush** | ![not supported](x.png) | ![supported](v.png) | +| **Peel Off** | ![not supported](x.png) | ![supported](v.png) | +| **Page Curl** | ![not supported](x.png) | ![supported](v.png) | +| **Airplane** | ![not supported](x.png) | ![supported](v.png) | +| **Origami** | ![not supported](x.png) | ![supported](v.png) | +| **Dissolve** | ![supported](v.png) | ![supported](v.png) | +| **Checkerboard** | ![not supported](x.png) | ![supported](v.png) | +| **Blinds** | ![not supported](x.png) | ![supported](v.png) | +| **Clock** | ![supported](v.png) | ![supported](v.png) | +| **Ripple** | ![not supported](x.png) | ![supported](v.png) | +| **Honeycomb** | ![not supported](x.png) | ![supported](v.png) | +| **Glitter** | ![not supported](x.png) | ![supported](v.png) | +| **Vortex** | ![not supported](x.png) | ![supported](v.png) | +| **Shred** | ![not supported](x.png) | ![supported](v.png) | +| **Switch** | ![not supported](x.png) | ![supported](v.png) | +| **Flip** | ![not supported](x.png) | ![supported](v.png) | +| **Gallery** | ![not supported](x.png) | ![supported](v.png) | +| **Cube** | ![not supported](x.png) | ![supported](v.png) | +| **Doors** | ![not supported](x.png) | ![supported](v.png) | +| **Box** | ![not supported](x.png) | ![supported](v.png) | +| **Comb** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Random** | ![not supported](x.png) | ![supported](v.png) | **محتوى ديناميكي**: -| نوع الرسوم المتحركة | Aspose.Slides | باوربوينت | +| نوع الانتقال | Aspose.Slides | PowerPoint | |---|---|---| -| **تدوير** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **عجلة فيريس** | ![مدعوم](v.png) | ![مدعوم](v.png) | -| **حزام ناقل** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **تدوير** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **مدار** | ![غير مدعوم](x.png) | ![مدعوم](v.png) | -| **التحليق من خلال** | ![مدعوم](v.png) | ![مدعوم](v.png) | \ No newline at end of file +| **Pan** | ![not supported](x.png) | ![supported](v.png) | +| **Ferris Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Conveyor** | ![not supported](x.png) | ![supported](v.png) | +| **Rotate** | ![not supported](x.png) | ![supported](v.png) | +| **Orbit** | ![not supported](x.png) | ![supported](v.png) | +| **Fly Through** | ![supported](v.png) | ![supported](v.png) | + +## **الأسئلة المتكررة** + +**هل يمكن تحويل العروض التي محمية بكلمة مرور؟** + +نعم، Aspose.Slides for .NET يدعم العمل مع العروض المحمية بكلمة مرور. عند معالجة هذه الملفات، يجب توفير كلمة المرور الصحيحة لتمكين المكتبة من الوصول إلى محتوى العرض. + +**هل يدعم Aspose.Slides for .NET الاستخدام في حلول السحابة؟** + +نعم، يمكن دمج Aspose.Slides for .NET في التطبيقات والخدمات السحابية. تم تصميم المكتبة للعمل في بيئات الخوادم، مما يضمن أداءً عاليًا وقابلية توسع لمعالجة دفعات الملفات. + +**هل هناك حدود لحجم العروض أثناء التحويل؟** + +يمكن لـ Aspose.Slides for .NET التعامل مع عروض بحجم شبه لا نهائي. ومع ذلك، عند العمل مع ملفات كبيرة جدًا، قد يحتاج الأمر إلى موارد نظام إضافية، ويوصى أحيانًا بتحسين العرض لزيادة الأداء. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md index 4093d5656a..e4943837da 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md @@ -1,85 +1,123 @@ --- -title: تحويل PowerPoint إلى Word +title: تحويل عروض PowerPoint إلى مستندات Word باستخدام C# +linktitle: تحويل PowerPoint إلى Word type: docs weight: 110 url: /ar/net/convert-powerpoint-to-word/ keywords: -- تحويل PowerPoint -- PPT -- PPTX -- عرض تقديمي -- Word -- DOCX -- DOC +- PowerPoint إلى DOCX +- OpenDocument إلى DOCX +- العرض التقديمي إلى DOCX +- الشريحة إلى DOCX +- PPT إلى DOCX - PPTX إلى DOCX +- ODP إلى DOCX +- PowerPoint إلى DOC +- OpenDocument إلى DOC +- العرض التقديمي إلى DOC +- الشريحة إلى DOC - PPT إلى DOC - PPTX إلى DOC -- PPT إلى DOCX +- ODP إلى DOC +- PowerPoint إلى Word +- OpenDocument إلى Word +- العرض التقديمي إلى Word +- الشريحة إلى Word +- PPT إلى Word +- PPTX إلى Word +- ODP إلى Word +- تحويل PowerPoint +- تحويل OpenDocument +- تحويل العرض التقديمي +- تحويل الشريحة +- تحويل PPT +- تحويل PPTX +- تحويل ODP - C# -- Csharp - .NET - Aspose.Slides -description: "تحويل عرض PowerPoint إلى Word باستخدام C# أو .NET" +description: "تعرف على كيفية تحويل عروض PowerPoint وOpenDocument بسهولة إلى مستندات Word باستخدام Aspose.Slides for .NET. يقدم دليلنا خطوة بخطوة مع مثال كود C# الحل للمطورين الذين يرغبون في تبسيط سير عمل المستندات لديهم." --- -إذا كنت تخطط لاستخدام محتوى نصي أو معلومات من عرض تقديمي (PPT أو PPTX) بطرق جديدة، فقد تستفيد من تحويل العرض التقديمي إلى Word (DOC أو DOCX). - -* عند مقارنته ببرنامج Microsoft PowerPoint، فإن تطبيق Microsoft Word مجهز بشكل أفضل بالأدوات أو الوظائف الخاصة بالمحتوى. -* إلى جانب وظائف التحرير في Word، قد تستفيد أيضًا من ميزات تحسين التعاون والطباعة والمشاركة. - -{{% alert color="primary" %}} +## **نظرة عامة** -قد ترغب في تجربة [**محول العرض التقديمي إلى Word عبر الإنترنت**](https://products.aspose.app/slides/conversion/ppt-to-word) لترى ما يمكنك كسبه من العمل مع المحتوى النصي من الشرائح. +هذه المقالة توفر حلاً للمطورين لتحويل عروض PowerPoint وOpenDocument إلى مستندات Word باستخدام Aspose.Slides for .NET وAspose.Words for .NET. يقدم الدليل خطوة بخطوة شرحًا لكل مرحلة من عملية التحويل. -{{% /alert %}} +## **تحويل عرض تقديمي إلى مستند Word** -### **Aspose.Slides و Aspose.Words** +اتبع التعليمات أدناه لتحويل عرض PowerPoint أو OpenDocument إلى مستند Word: -لتحويل ملف PowerPoint (PPTX أو PPT) إلى Word (DOCX أو DOCX)، تحتاج إلى كل من [Aspose.Slides لـ .NET](https://products.aspose.com/slides/net/) و [Aspose.Words لـ .NET](https://products.aspose.com/words/net/). +1. إنشاء كائن من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) وتحميل ملف العرض التقديمي. +2. إنشاء كائنات من الفئتين [Document](https://reference.aspose.com/words/net/aspose.words/document/) و[DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/) لتوليد مستند Word. +3. تعيين حجم الصفحة لمستند Word ليتطابق مع حجم العرض التقديمي باستخدام الخاصية [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/). +4. تعيين الهوامش في مستند Word باستخدام الخاصية [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/). +5. استعراض جميع شرائح العرض التقديمي باستخدام الخاصية [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/). + - إنشاء صورة للشريحة باستخدام الطريقة `GetImage` من الواجهة [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) وحفظها في تدفق الذاكرة. + - إضافة صورة الشريحة إلى مستند Word باستخدام الطريقة `InsertImage` من الفئة [DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/). +6. حفظ مستند Word إلى ملف. -كمكتبة API مستقلة، توفر [Aspose.Slides](https://products.aspose.app/slides) لـ .NET وظائف تتيح لك استخراج النصوص من العروض التقديمية. +لنفترض أن لدينا عرضًا تقديميًا باسم "sample.pptx" يبدو هكذا: -[Aspose.Words](https://docs.aspose.com/words/net/) هو API متقدم لمعالجة المستندات يسمح للتطبيقات بإنشاء وتعديل وتحويل وتجسيد و طباعة الملفات، وأداء مهام أخرى مع المستندات بدون استخدام Microsoft Word. +![عرض PowerPoint](PowerPoint.png) -## **تحويل PowerPoint إلى Word** - -1. أضف هذه المساحات الاسمية إلى ملف program.cs الخاص بك: +المثال التالي بلغة C# يوضح كيفية تحويل عرض PowerPoint إلى مستند Word: +```cs +// تحميل ملف عرض تقديمي. +using var presentation = new Presentation("sample.pptx"); -```c# -using Aspose.Slides; -using Aspose.Words; -using System.IO; -``` +// إنشاء كائنات Document و DocumentBuilder. +var document = new Document(); +var builder = new DocumentBuilder(document); -2. استخدم هذه الشيفرة البرمجية لتحويل PowerPoint إلى Word: +// تعيين حجم الصفحة في مستند Word. +var slideSize = presentation.SlideSize.Size; +builder.PageSetup.PageWidth = slideSize.Width; +builder.PageSetup.PageHeight = slideSize.Height; -```c# -using var presentation = new Presentation("sample.pptx"); +// تعيين الهوامش في مستند Word. +builder.PageSetup.LeftMargin = 0; +builder.PageSetup.RightMargin = 0; +builder.PageSetup.TopMargin = 0; +builder.PageSetup.BottomMargin = 0; -var doc = new Document(); -var builder = new DocumentBuilder(doc); +const float scaleX = 2, scaleY = 2; +// استعراض جميع شرائح العرض التقديمي. foreach (var slide in presentation.Slides) { - // يولد صورة الشريحة ويحفظها في دفق الذاكرة - using var image = slide.GetImage(1, 1); + // إنشاء صورة الشريحة وحفظها في تدفق الذاكرة. + using var image = slide.GetImage(scaleX, scaleY); using var imageStream = new MemoryStream(); image.Save(imageStream, ImageFormat.Png); + // إضافة صورة الشريحة إلى مستند Word. imageStream.Seek(0, SeekOrigin.Begin); - builder.InsertImage(imageStream.ToArray()); - - // يدرج نصوص الشريحة - foreach (var shape in slide.Shapes) - { - if (shape is AutoShape autoShape) - { - builder.Writeln(autoShape.TextFrame.Text); - } - } + builder.InsertImage(imageStream.ToArray(), builder.PageSetup.PageWidth, builder.PageSetup.PageHeight); builder.InsertBreak(BreakType.PageBreak); } -doc.Save("output.docx"); -``` \ No newline at end of file +// حفظ مستند Word إلى ملف. +document.Save("output.docx"); +``` + + +النتيجة: + +![مستند Word](Word.png) + +{{% alert color="primary" %}} + +جرّب أداة [**تحويل PPT إلى Word على الإنترنت**](https://products.aspose.app/slides/conversion/ppt-to-word) لتعرف ما يمكنك الاستفادة منه من تحويل عروض PowerPoint وOpenDocument إلى مستندات Word. + +{{% /alert %}} + +## **الأسئلة المتكررة** + +**ما المكونات التي يجب تثبيتها لتحويل عروض PowerPoint وOpenDocument إلى مستندات Word؟** + +كل ما عليك هو إضافة حزم NuGet الخاصة بـ [Aspose.Slides for .NET](https://www.nuget.org/packages/Aspose.Slides.NET) و[ Aspose.Words for .NET](https://www.nuget.org/packages/Aspose.Words/) إلى مشروع C# الخاص بك. كلا المكتبتين تعملان كواجهات برمجة تطبيقات مستقلة، ولا يلزم تثبيت Microsoft Office. + +**هل يتم دعم جميع صيغ عروض PowerPoint وOpenDocument؟** + +Aspose.Slides for .NET [يدعم جميع صيغ العروض التقديمية](/slides/ar/net/supported-file-formats/)، بما في ذلك PPT وPPTX وODP وغيرها من أنواع الملفات الشائعة. هذا يضمن أنك تستطيع العمل على العروض التي تم إنشاؤها بإصدارات مختلفة من Microsoft PowerPoint. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md index de50fb0f7a..8785a1bf13 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md @@ -1,5 +1,5 @@ --- -title: تحويل PowerPoint إلى XPS +title: تحويل PowerPoint إلى XPS type: docs weight: 70 url: /ar/net/convert-powerpoint-to-xps @@ -8,48 +8,47 @@ description: "تحويل عرض PowerPoint إلى XPS باستخدام C# أو . --- ## **حول XPS** -طورت Microsoft [XPS](https://docs.fileformat.com/page-description-language/xps/) كبديل لـ [PDF](https://docs.fileformat.com/pdf/). يسمح لك بطباعة المحتوى من خلال إخراج ملف مشابه جدًا لـ PDF. تنسيق XPS يعتمد على XML. تبقى تخطيط أو بنية ملف XPS كما هي على جميع أنظمة التشغيل والطابعات. +مايكروسوفت طورت [XPS](https://docs.fileformat.com/page-description-language/xps/) كبديل لـ [PDF](https://docs.fileformat.com/pdf/). يتيح لك طباعة المحتوى عن طريق إخراج ملف مشابه جدًا لملف PDF. تنسيق XPS مبني على XML. يظل تخطيط أو بنية ملف XPS نفسه على جميع أنظمة التشغيل والطابعات. -## متى يجب استخدام تنسيق Microsoft XPS +## **متى يستخدم تنسيق Microsoft XPS** {{% alert color="primary" %}} -لمعرفة كيف تقوم Aspose.Slides بتحويل عرض PPT أو PPTX إلى تنسيق XPS، يمكنك الاطلاع على [هذا التطبيق المجاني للتحويل عبر الإنترنت](https://products.aspose.app/slides/conversion). +لمعرفة كيفية تحويل Aspose.Slides لعروض PPT أو PPTX إلى تنسيق XPS، يمكنك زيارة [هذا التطبيق المجاني للتحويل عبر الإنترنت](https://products.aspose.app/slides/conversion). {{% /alert %}} -إذا كنت ترغب في تقليل تكاليف التخزين، يمكنك تحويل عرض Microsoft PowerPoint الخاص بك إلى تنسيق XPS. بهذه الطريقة، ستجد أنه من الأسهل حفظ ومشاركة وطباعة مستنداتك. +إذا أردت تقليل تكلفة التخزين، يمكنك تحويل عرض Microsoft PowerPoint إلى تنسيق XPS. بهذه الطريقة، سيكون من الأسهل حفظ مستنداتك ومشاركتها وطباعةها. -تستمر Microsoft في تنفيذ دعم قوي لـ XPS في Windows (حتى في Windows 10)، لذا قد ترغب في considerar حفظ الملفات بهذا الشكل. إذا كنت تتعامل مع Windows 8.1 أو Windows 8 أو Windows 7 أو Windows Vista، فقد يكون XPS هو الخيار الأفضل لديك لعمليات معينة. +مايكروسوفت تواصل تقديم دعم قوي لـ XPS في نظام Windows (حتى في Windows 10)، لذا قد ترغب في حفظ الملفات بهذا التنسيق. إذا كنت تتعامل مع Windows 8.1 أو Windows 8 أو Windows 7 أو Windows Vista، فقد يكون XPS هو الخيار الأفضل لبعض العمليات. -- **Windows 8** يستخدم تنسيق OXPS (Open XPS) لملفات XPS. OXPS هو نسخة موحدة من تنسيق XPS الأصلي. يوفر Windows 8 دعمًا أفضل لملفات XPS مقارنة بملفات PDF. - - **XPS:** متوفر عارض/قارئ XPS وميزة الطباعة إلى XPS. - - **PDF**: متوفر قارئ PDF ولكن لا توجد ميزة الطباعة إلى PDF. +- **Windows 8** يستخدم تنسيق OXPS (Open XPS) لملفات XPS. OXPS هو نسخة معيارية من تنسيق XPS الأصلي. يوفر Windows 8 دعمًا أفضل لملفات XPS مقارنة بملفات PDF. + - **XPS:** عارض/قارئ XPS مدمج وميزة الطباعة إلى XPS متاحة. + - **PDF**: قارئ PDF متاح لكن لا توجد ميزة طباعة إلى PDF. -- **Windows 7 و Windows Vista** يستخدمان تنسيق XPS الأصلي. توفر هذه الأنظمة التشغيلية أيضًا دعمًا أفضل لملفات XPS مقارنة بملفات PDF. - - **XPS**: متوفر عارض XPS وميزة الطباعة إلى XPS. - - **PDF**: لا يوجد قارئ PDF. لا توجد ميزة الطباعة إلى PDF. +- **Windows 7 و Windows Vista** يستخدمان تنسيق XPS الأصلي. توفر أنظمة التشغيل هذه أيضًا دعمًا أفضل لملفات XPS مقارنة بملفات PDF. + - **XPS**: عارض XPS مدمج وميزة الطباعة إلى XPS متاحة. + - **PDF**: لا يوجد قارئ PDF. لا توجد ميزة طباعة إلى PDF. -|

**مدخل PPT(X):

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**مخرج XPS:

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| +|

**إدخال PPT(X):**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**إخراج XPS:**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| | :- | :- | -في النهاية، نفذت Microsoft دعم العمليات الطباعة في PDF من خلال ميزة الطباعة إلى PDF في Windows 10. سابقًا، كان من المتوقع من المستخدمين طباعة المستندات من خلال تنسيق XPS. +Microsoft في النهاية نفذت دعم عمليات الطباعة إلى PDF من خلال ميزة الطباعة إلى PDF في Windows 10. في السابق، كان من المتوقع أن يقوم المستخدمون بطباعة المستندات عبر تنسيق XPS. -## تحويل XPS باستخدام Aspose.Slides +## **تحويل XPS باستخدام Aspose.Slides** -في [**Aspose.Slides**](https://products.aspose.com/slides/net/) لـ .NET، يمكنك استخدام [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) الطريقة التي تعرضها [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) لتحويل العرض التقديمي بالكامل إلى مستند XPS. +في [**Aspose.Slides**](https://products.aspose.com/slides/net/) لـ .NET، يمكنك استخدام طريقة [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) المعروضة بواسطة فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) لتحويل العرض بالكامل إلى مستند XPS. -عند تحويل العرض التقديمي إلى XPS، عليك حفظ العرض باستخدام أي من هذه الإعدادات: +عند تحويل عرض إلى XPS، عليك حفظ العرض باستخدام أحد الإعدادات التالية: -- إعدادات افتراضية (بدون [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) -- إعدادات مخصصة (مع [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) +- الإعدادات الافتراضية (بدون [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) +- الإعدادات المخصصة (مع [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) ### **تحويل العروض إلى XPS باستخدام الإعدادات الافتراضية** -يوضح هذا الكود النموذجي باللغة C# كيفية تحويل عرض تقديمي إلى مستند XPS باستخدام الإعدادات القياسية: - +هذا المثال البرمجي بلغة C# يوضح كيفية تحويل عرض إلى مستند XPS باستخدام الإعدادات القياسية: ```c# // إنشاء كائن Presentation يمثل ملف عرض تقديمي using (Presentation pres = new Presentation("Convert_XPS.pptx")) @@ -60,20 +59,31 @@ using (Presentation pres = new Presentation("Convert_XPS.pptx")) ``` -### **تحويل العروض إلى XPS باستخدام الإعدادات المخصصة** -يوضح هذا الكود النموذجي كيفية تحويل عرض تقديمي إلى مستند XPS باستخدام إعدادات مخصصة في C#: +### **تحويل العروض إلى XPS باستخدام الإعدادات المخصصة** +هذا المثال البرمجي يوضح كيفية تحويل عرض إلى مستند XPS باستخدام إعدادات مخصصة بلغة C#: ```c# -// إنشاء كائن Presentation يمثل ملف عرض تقديمي -using (Presentation pres = new Presentation("Convert_XPS_Options.pptx")) -{ - // إنشاء كائن من فئة XpsOptions - XpsOptions options = new XpsOptions(); + // إنشاء كائن Presentation يمثل ملف عرض تقديمي + using (Presentation pres = new Presentation("Convert_XPS_Options.pptx")) + { + // إنشاء كائن الفئة TiffOptions + XpsOptions options = new XpsOptions(); + + // حفظ ملفات MetaFiles بصيغة PNG + options.SaveMetafilesAsPng = true; + + // حفظ العرض التقديمي إلى مستند XPS + pres.Save("XPS_With_Options_out.xps", SaveFormat.Xps, options); + } +``` - // حفظ الملفات كصور PNG - options.SaveMetafilesAsPng = true; - // حفظ العرض التقديمي إلى مستند XPS - pres.Save("XPS_With_Options_out.xps", SaveFormat.Xps, options); -} -``` \ No newline at end of file +## **FAQ** + +**هل يمكنني حفظ XPS إلى تدفق بدلاً من ملف؟** + +نعم—تتيح لك Aspose.Slides تصدير مباشرة إلى تدفق، وهو مثالي لواجهات برمجة التطبيقات على الويب، وسلاسل المعالجة على الخادم، أو أي سيناريو تريد فيه إرسال XPS دون التعامل مع نظام الملفات. + +**هل تُنقل الشرائح المخفية إلى XPS، وهل يمكن استبعادها؟** + +بشكل افتراضي، يتم تصيير الشرائح العادية (المرئية) فقط. يمكنك [تضمين أو استبعاد الشرائح المخفية](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/) عبر [إعدادات التصدير](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/) قبل الحفظ إلى XPS، لضمان أن يحتوي الناتج على الصفحات التي تقصدها بالضبط. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index bd3122c5a8..34b96cee4a 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -1,63 +1,93 @@ --- -title: تحويل PPT إلى PPTX في C# +title: تحويل PPT إلى PPTX باستخدام C# linktitle: تحويل PPT إلى PPTX type: docs weight: 20 url: /ar/net/convert-ppt-to-pptx/ -keywords: "C# تحويل PPT إلى PPTX، تحويل عرض تقديمي باوربوينت، PPT إلى PPTX، C#، Csharp، .NET، Aspose.Slides" -description: "تحويل باوربوينت PPT إلى PPTX في C# أو .NET" +keywords: "C# تحويل PPT إلى PPTX, تحويل عرض PowerPoint, PPT إلى PPTX, C#, Csharp, .NET, Aspose.Slides" +description: "تحويل عرض PowerPoint PPT إلى PPTX باستخدام C# أو .NET" --- ## **نظرة عامة** -تشرح هذه المقالة كيفية تحويل عرض تقديمي باوربوينت بصيغة PPT إلى صيغة PPTX باستخدام C# وتطبيق تحويل PPT إلى PPTX عبر الإنترنت. الموضوعات التالية مشمولة. +تشرح هذه المقالة كيفية تحويل عرض PowerPoint بتنسيق PPT إلى تنسيق PPTX باستخدام C# ومع تطبيق التحويل عبر الإنترنت من PPT إلى PPTX. الموضوع التالي مغطى. - [تحويل PPT إلى PPTX في C#](#convert-ppt-to-pptx) ## **تحويل PPT إلى PPTX باستخدام C#** -للحصول على كود عينة C# لتحويل PPT إلى PPTX، يرجى الاطلاع على القسم أدناه أي [تحويل PPT إلى PPTX](#convert-ppt-to-pptx). يقوم ببساطة بتحميل ملف PPT وحفظه بصيغة PPTX. من خلال تحديد صيغ حفظ مختلفة، يمكنك أيضًا حفظ ملف PPT في العديد من الصيغ الأخرى مثل PDF، XPS، ODP، HTML، إلخ كما هو مذكور في هذه المقالات. +للحصول على مثال كود C# لتحويل PPT إلى PPTX، يرجى الاطلاع على القسم أدناه أي [تحويل PPT إلى PPTX](#convert-ppt-to-pptx). يقوم بتحميل ملف PPT وحفظه بتنسيق PPTX. عن طريق تحديد صيغ حفظ مختلفة، يمكنك أيضًا حفظ ملف PPT إلى صيغ أخرى مثل PDF وXPS وODP وHTML وغيرها كما هو موضح في هذه المقالات. -- [تحويل PPT إلى PDF باستخدام C#](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) -- [تحويل PPT إلى XPS باستخدام C#](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) -- [تحويل PPT إلى HTML باستخدام C#](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) -- [تحويل PPT إلى ODP باستخدام C#](https://docs.aspose.com/slides/net/save-presentation/) -- [تحويل PPT إلى صورة باستخدام C#](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) +- [تحويل C# PPT إلى PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) +- [تحويل C# PPT إلى XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) +- [تحويل C# PPT إلى HTML](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) +- [تحويل C# PPT إلى ODP](https://docs.aspose.com/slides/net/save-presentation/) +- [تحويل C# PPT إلى صورة](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) ## **حول تحويل PPT إلى PPTX** -تحويل صيغة PPT القديمة إلى PPTX باستخدام واجهة برمجة التطبيقات Aspose.Slides. إذا كنت بحاجة إلى تحويل آلاف العروض التقديمية PPT إلى صيغة PPTX، فإن أفضل حل هو القيام بذلك برمجيًا. باستخدام واجهة برمجة التطبيقات Aspose.Slides، من الممكن القيام بذلك في بضع أسطر من الشيفرة. تدعم واجهة برمجة التطبيقات التوافق الكامل لتحويل عرض باوربوينت إلى PPTX ومن الممكن: -- تحويل الهياكل المعقدة من المحافظ والتخطيطات والشرائح. -- تحويل العروض التقديمية مع الرسوم البيانية. -- تحويل العروض التقديمية مع الأشكال المجمعة والأشكال التلقائية (مثل المستطيلات والدوائر)، والأشكال ذات الهندسة المخصصة. -- تحويل العروض التقديمية التي تحتوي على أنماط تعبئة بالنسيج والصور للأشكال التلقائية. -- تحويل العروض التقديمية التي تحتوي على عناصر نائبة وإطارات نص ونصوص. +تحويل تنسيق PPT القديم إلى PPTX باستخدام Aspose.Slides API. إذا كنت بحاجة إلى تحويل آلاف العروض التقديمية من PPT إلى تنسيق PPTX، فإن أنسب حل هو القيام بذلك برمجياً. باستخدام Aspose.Slides API يمكن القيام بذلك ببضع أسطر من الشيفرة فقط. يدعم API التوافق الكامل لتحويل عروض PPT إلى PPTX ويمكنه: + +- تحويل الهياكل المعقدة للماستر، والتخطيطات، والشرائح. +- تحويل العروض التي تحتوي على مخططات. +- تحويل العروض التي تحتوي على مجموعات أشكال، وأشكال تلقائية (مثل المستطيلات والبيضات)، وأشكال ذات هندسة مخصصة. +- تحويل العروض التي تحتوي على أنماط تعبئة بالملمس والصور للأشكال التلقائية. +- تحويل العروض التي تحتوي على عناصر نائب، وإطارات نصية، وحاملات نص. {{% alert color="primary" %}} -راجع تطبيق [**تحويل Aspose.Slides PPT إلى PPTX**](https://products.aspose.app/slides/conversion/ppt-to-pptx): +ألقِ نظرة على تطبيق [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) التالي: [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -تم بناء هذا التطبيق استنادًا إلى **واجهة برمجة التطبيقات Aspose.Slides**، لذا يمكنك رؤية مثال حي على القدرات الأساسية لتحويل PPT إلى PPTX. تعتبر تحويلات Aspose.Slides تطبيق ويب، مما يسمح بسحب ملف العرض التقديمي بصيغة PPT وتحميله بعد تحويله إلى PPTX. +تم بناء هذا التطبيق استناداً إلى **Aspose.Slides API**، لذا يمكنك رؤية مثال حي لإمكانيات التحويل الأساسي من PPT إلى PPTX. يُعد Aspose.Slides Conversion تطبيق ويب يتيح سحب ملف عرض بتنسيق PPT وتحميله بعد تحويله إلى PPTX. -اعثر على أمثلة حية أخرى من [**تحويل Aspose.Slides**](https://products.aspose.app/slides/conversion/). -{{% /alert %}} +ابحث عن أمثلة حية أخرى لـ [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) هنا. +{{% /alert %}} ## **تحويل PPT إلى PPTX** -لتحويل PPT إلى PPTX، ببساطة مرر اسم الملف وصيغة الحفظ إلى طريقة [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) في فئة [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation). فيما يلي عينة من كود C# تقوم بتحويل عرض تقديمي من PPT إلى PPTX باستخدام الخيارات الافتراضية. +لتحويل PPT إلى PPTX ببساطة مرّر اسم الملف وصيغة الحفظ إلى طريقة [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) في فئة [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation). مثال الشيفرة C# أدناه يقوم بتحويل عرض تقديمي من PPT إلى PPTX باستخدام الخيارات الافتراضية. ```c# // إنشاء كائن Presentation يمثل ملف PPTX Presentation pres = new Presentation("PPTtoPPTX.ppt"); -// حفظ العرض التقديمي PPTX إلى صيغة PPTX +// حفظ عرض PPTX إلى تنسيق PPTX pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` +اقرأ المزيد حول تنسيقات العرض التقديمي [**PPT مقابل PPTX**](/slides/ar/net/ppt-vs-pptx/) وكيفية [**دعم Aspose.Slides لتحويل PPT إلى PPTX**](/slides/ar/net/convert-ppt-to-pptx/). + +## **الأسئلة الشائعة** + +**ما الفرق بين صيغتي PPT و PPTX؟** + +PPT هو تنسيق الملف الثنائي القديم المستخدم من قبل Microsoft PowerPoint، بينما PPTX هو التنسيق المستند إلى XML الذي تم تقديمه مع Microsoft Office 2007. ملفات PPTX توفر أداءً أفضل، وحجم ملف أصغر، وتحسينًا في استعادة البيانات. + +**هل يمكنني تحويل PPT إلى PPTX باستخدام .NET؟** + +نعم، باستخدام مكتبة Aspose.Slides for .NET يمكنك بسهولة تحميل ملف PPT وحفظه بتنسيق PPTX ببضع أسطر من الشيفرة فقط. + +**هل يدعم Aspose.Slides تحويل مجموعة من ملفات PPT إلى PPTX دفعيًا؟** + +نعم، يمكنك استخدام Aspose.Slides في حلقة لتحويل عدة ملفات PPT إلى PPTX برمجياً، ما يجعله مناسبًا لسيناريوهات التحويل الدفعي. + +**هل سيتم الحفاظ على المحتوى والتنسيق بعد التحويل؟** + +تضمن Aspose.Slides الحفاظ على دقة عالية أثناء تحويل العروض. يتم الحفاظ على تخطيطات الشرائح، والرسوم المتحركة، والأشكال، والمخططات، وباقي عناصر التصميم خلال عملية التحويل من PPT إلى PPTX. + +**هل يمكنني تحويل صيغ أخرى مثل PDF أو HTML من ملفات PPT؟** + +نعم، يدعم Aspose.Slides تحويل ملفات PPT إلى صيغ متعددة تشمل PDF وXPS وHTML وODP وصيغ الصور مثل PNG وJPEG. + +**هل يمكن تحويل PPT إلى PPTX بدون تثبيت Microsoft PowerPoint؟** + +نعم، Aspose.Slides for .NET هو API مستقل لا يتطلب وجود Microsoft PowerPoint أو أي برنامج خارجي لإجراء التحويل. + +**هل هناك أداة عبر الإنترنت متاحة لتحويل PPT إلى PPTX؟** -اقرأ المزيد عن [**PPT مقابل PPTX**](/slides/ar/net/ppt-vs-pptx/) وصيغ العروض التقديمية وكيف [**تدعم Aspose.Slides تحويل PPT إلى PPTX**](/slides/ar/net/convert-ppt-to-pptx/). \ No newline at end of file +نعم، يمكنك استخدام تطبيق الويب المجاني [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) لإجراء التحويل مباشرةً في المتصفح دون الحاجة إلى كتابة أي شيفرة. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md index 7ada932486..3a01f606fd 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md @@ -4,19 +4,19 @@ linktitle: تحويل PPTX إلى PPT type: docs weight: 21 url: /ar/net/convert-pptx-to-ppt/ -keywords: "تحويل PPTX إلى PPT C#، تحويل عرض باوربوينت، PPTX إلى PPT، C#، Aspose.Slides" -description: "تحويل باوربوينت PPTX إلى PPT في C#" +keywords: "C# تحويل PPTX إلى PPT, تحويل عرض PowerPoint, PPTX إلى PPT, C#, Aspose.Slides" +description: "تحويل PowerPoint PPTX إلى PPT في C#" --- ## **نظرة عامة** -تشرح هذه المقالة كيفية تحويل عرض باوربوينت بتنسيق PPTX إلى تنسيق PPT باستخدام C#. الموضوع التالي مغطى. +تشرح هذه المقالة كيفية تحويل عرض PowerPoint بتنسيق PPTX إلى تنسيق PPT باستخدام C#. يتم تغطية الموضوع التالي. - تحويل PPTX إلى PPT في C# ## **C# تحويل PPTX إلى PPT** -لشفرة C# نموذجية لتحويل PPTX إلى PPT، يرجى الاطلاع على القسم أدناه أي [تحويل PPTX إلى PPT](#convert-pptx-to-ppt). يقوم بتحميل ملف PPTX وحفظه بتنسيق PPT. من خلال تحديد تنسيقات حفظ مختلفة، يمكنك أيضًا حفظ ملف PPTX في العديد من التنسيقات الأخرى مثل PDF وXPS وODP وHTML إلخ، كما هو موضح في هذه المقالات. +للحصول على عينة كود C# لتحويل PPTX إلى PPT، يرجى الاطلاع على القسم أدناه أي [تحويل PPTX إلى PPT](#convert-pptx-to-ppt). يقوم هذا الكود بتحميل ملف PPTX وحفظه بتنسيق PPT. من خلال تحديد تنسيقات حفظ مختلفة، يمكنك أيضًا حفظ ملف PPTX إلى العديد من التنسيقات الأخرى مثل PDF وXPS وODP وHTML وغيرها كما هو موضح في هذه المقالات. - [C# تحويل PPTX إلى PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) - [C# تحويل PPTX إلى XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) @@ -25,12 +25,26 @@ description: "تحويل باوربوينت PPTX إلى PPT في C#" - [C# تحويل PPTX إلى صورة](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) ## **تحويل PPTX إلى PPT** -لتحويل PPTX إلى PPT ببساطة، مرر اسم الملف وتنسيق الحفظ إلى طريقة [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) لفئة [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/). عينة الشيفرة C# أدناه تقوم بتحويل عرض تقديمي من PPTX إلى PPT باستخدام الخيارات الافتراضية. - +لتحويل ملف PPTX إلى PPT، ما عليك سوى تمرير اسم الملف وتنسيق الحفظ إلى طريقة [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) الخاصة بفئة [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/). مثال الكود C# أدناه يحول عرض تقديمي من PPTX إلى PPT باستخدام الإعدادات الافتراضية. ```c# // إنشاء كائن Presentation يمثل ملف PPTX Presentation pres = new Presentation("presentation.pptx"); -// حفظ عرض PPTX بتنسيق PPT +// حفظ عرض PPTX إلى تنسيق PPT pres.Save("presentation.ppt", SaveFormat.Ppt); -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**هل تبقى جميع التأثيرات والميزات في PPTX عند الحفظ بتنسيق PPT (97–2003) القديم؟** + +ليس دائمًا. يفتقر تنسيق PPT إلى بعض القدرات الأحدث (مثل بعض التأثيرات، الكائنات، والسلوكيات)، لذا قد يتم تبسيط أو تحويل بعض الميزات إلى صورة أثناء التحويل. + +**هل يمكنني تحويل شرائح محددة فقط إلى PPT بدلاً من العرض بالكامل؟** + +الحفظ المباشر يستهدف العرض الكامل. لتحويل شرائح معينة، يمكنك إنشاء عرض تقديمي جديد يحتوي فقط على تلك الشرائح وحفظه كملف PPT؛ أو بدلاً من ذلك، استخدام خدمة/API تدعم تحويل كل شريحة على حدة. + +**هل تدعم العروض المحمية بكلمة مرور؟** + +نعم. يمكنك اكتشاف ما إذا كان الملف محميًا، وفتحه باستخدام كلمة مرور، وكذلك [configure protection/encryption settings](/slides/ar/net/password-protected-presentation/) للـ PPT المحفوظ. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index aa93d120cc..90b655a6b9 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,39 +1,54 @@ --- -title: PPT مقابل PPTX +title: "فهم الفرق: PPT مقابل PPTX" +linktitle: PPT مقابل PPTX type: docs weight: 10 url: /ar/net/ppt-vs-pptx/ -keywords: "PPT مقابل PPTX, PPT أو PPTX, عرض PowerPoint, تنسيق, C#, Csharp, .NET" -description: "حول تنسيقات عرض PowerPoint. PPT مقابل PPTX. الاختلافات في C# أو .NET" +keywords: "PPT مقابل PPTX, تنسيقات PowerPoint, C#, .NET, تحويل PPT إلى PPTX, عرض تقديمي في .NET" +description: "استكشف الفروقات الرئيسية بين تنسيقي PPT و PPTX. تعلم عن استخدامها في بيئات C# و .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). هذا التنسيق المستند إلى XML يتيح مرونة أكبر ويتوافق مع PowerPoint 2007 والإصدارات اللاحقة. تجعل بنية PPTX النمطية إضافة مميزات جديدة بسهولة، مثل أنواع الرسوم البيانية أو الأشكال الجديدة، مما يضمن التوافق مع الإصدارات السابقة دون تغييرات جوهرية في التنسيق. -## **PPT مقابل PPTX** -على الرغم من أن PPTX يوفر وظائف أوسع بكثير، إلا أن PPT يظل شائعًا جدًا. الحاجة إلى التحويل من PPT إلى PPTX والعكس بالعكس مطلوبة بشدة. +## **PPT مقابل PPTX: الفروق الرئيسية ورؤى التحويل** +يقدم PPTX وظائف محسّنة مقارنةً بتنسيق PPT القديم، ومع ذلك غالبًا ما تكون التحويلات بين هذين التنسيقين ضرورية. الانتقال من PPT إلى PPTX يطرح تحديات فريدة بسبب مشاكل التوافق. قد ينشئ PowerPoint مكونات محددة (MetroBlob) داخل ملفات PPT لتخزين بيانات حصرية لـ PPTX، والتي لا يمكن للإصدارات القديمة من 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، مقدمًا قدرات تحويل سلسة. بينما يُدعم التحويل الكامل من PPT إلى PPTX، فإن التحويل من PPTX إلى PPT يتضمن قيودًا. يوصى باستخدام PPTX كلما كان ذلك ممكنًا لتحسين الوظائف والتوافق. {{% alert color="primary" %}} - -تحقق من جودة تحويلات PPT إلى PPTX وPPTX إلى PPT باستخدام تطبيق [**تحويل Aspose.Slides**](https://products.aspose.app/slides/conversion/). - -{{% /alert %}} - -```c# -// قم بإنشاء كائن Presentation يمثل ملف PPTX +استمتع بتحويلات عالية الجودة مع [**Aspose.Slides Conversion tool**](https://products.aspose.app/slides/conversion/). +{{% /alert %}} +```csharp +// إنشاء كائن Presentation يمثل ملف PPTX Presentation pres = new Presentation("PPTtoPPTX.ppt"); -// حفظ عرض PPTX بتنسيق PPTX +// حفظ عرض PPTX بصيغة PPTX pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` + {{% alert color="primary" %}} -اقرأ المزيد عن [**كيفية تحويل العروض التقديمية من PPT إلى PPTX**.](/slides/ar/net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +اكتشف المزيد: [**How to Convert Presentations from PPT to PPTX**](/slides/ar/net/convert-ppt-to-pptx/) +{{% /alert %}} + +## **الأسئلة الشائعة** + +**هل هناك أي فائدة من الاحتفاظ بالعروض القديمة بصيغة PPT إذا كانت تفتح بدون أخطاء؟** + +إذا كان العرض يفتح بشكل موثوق ولا يحتاج إلى تعاون أو ميزات أحدث، يمكنك الاحتفاظ به بصيغة PPT. ولكن لضمان التوافق المستقبلي وإمكانية التوسّع، من الأفضل [convert to PPTX](/slides/ar/net/convert-ppt-to-pptx/): التنسيق يعتمد على معيار OOXML المفتوح وهو أكثر دعمًا من قبل الأدوات الحديثة. + +**كيف يمكنني تحديد أي الملفات يجب تحويلها إلى PPTX أولاً؟** + +ابدأ بتحويل العروض التي: يتم تعديلها من قبل عدة أشخاص؛ تحتوي على [charts](/slides/ar/net/create-chart/)/[shapes](/slides/ar/net/shape-manipulations/) معقدة؛ تُستخدم في الاتصالات الخارجية؛ أو تُظهر تحذيرات عند [opened](/slides/ar/net/open-presentation/). + +**هل سيبقى حماية كلمة المرور محفوظة عند التحويل من PPT إلى PPTX والعكس؟** + +تنتقل كلمة المرور فقط عند التحويل الصحيح ودعم التشفير في الأداة التي تستخدمها. من الأفضل أن [remove protection](/slides/ar/net/password-protected-presentation/)، ثم [convert](/slides/ar/net/convert-ppt-to-pptx/)، ثم إعادة تطبيق الحماية وفقًا لسياسة الأمان الخاصة بك. + +**لماذا تختفي بعض التأثيرات أو تُبسّط عند تحويل PPTX إلى PPT؟** + +لأن PPT لا يدعم بعض الكائنات/الخصائص الجديدة. يمكن لـ PowerPoint والأدوات تخزين "آثار" هذه المعلومات في كتل خاصة لاستعادتها لاحقًا، لكن الإصدارات القديمة من PowerPoint لن تعرضها. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index bc3657e9e6..4661067240 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,89 +1,88 @@ --- -title: تحويل شريحة كصورة SVG في C# -linktitle: تحويل شريحة كصورة SVG +title: عرض شريحة كصورة SVG في C# +linktitle: عرض شريحة كصورة SVG type: docs weight: 50 url: /ar/net/render-a-slide-as-an-svg-image/ -description: يشرح هذا المقال كيفية تحويل عرض PowerPoint إلى تنسيق SVG باستخدام C#. يمكنك تحويل تنسيقات PPT و PPTX و ODP إلى صور SVG. -keywords: C# تحويل PowerPoint إلى SVG، C# PPT إلى SVG، C# PPTX إلى SVG +description: تشرح هذه المقالة كيفية تحويل عرض PowerPoint إلى صيغة SVG باستخدام C#. يمكنك تحويل صيغ PPT و PPTX و ODP إلى صور SVG. +keywords: C# تحويل PowerPoint إلى SVG, C# PPT إلى SVG, C# PPTX إلى SVG --- -## نظرة عامة +## **نظرة عامة** -يشرح هذا المقال كيفية **تحويل عرض PowerPoint إلى تنسيق SVG باستخدام C#**. يغطي الموضوعات التالية. +تشرح هذه المقالة كيفية **تحويل عرض PowerPoint إلى صيغة SVG باستخدام C#**. تغطي المواضيع التالية. -_التنسيق_: **PowerPoint** +_تنسيق_: **PowerPoint** - [C# PowerPoint إلى SVG](#csharp-powerpoint-to-svg) - [C# تحويل PowerPoint إلى SVG](#csharp-powerpoint-to-svg) - [C# كيفية تحويل ملف PowerPoint إلى SVG](#csharp-powerpoint-to-svg) -_التنسيق_: **PPT** +_تنسيق_: **PPT** - [C# PPT إلى SVG](#csharp-ppt-to-svg) - [C# تحويل PPT إلى SVG](#csharp-ppt-to-svg) - [C# كيفية تحويل ملف PPT إلى SVG](#csharp-ppt-to-svg) -_التنسيق_: **PPTX** +_تنسيق_: **PPTX** - [C# PPTX إلى SVG](#csharp-pptx-to-svg) - [C# تحويل PPTX إلى SVG](#csharp-pptx-to-svg) - [C# كيفية تحويل ملف PPTX إلى SVG](#csharp-pptx-to-svg) -_التنسيق_: **ODP** +_تنسيق_: **ODP** - [C# ODP إلى SVG](#csharp-odp-to-svg) - [C# تحويل ODP إلى SVG](#csharp-odp-to-svg) - [C# كيفية تحويل ملف ODP إلى SVG](#csharp-odp-to-svg) -_التنسيق_: **شريحة** +_تنسيق_: **Slide** - [C# تحويل شريحة PowerPoint إلى SVG](#render-a-slide-as-an-svg-image) - [C# تحويل شريحة PPT إلى SVG](#render-a-slide-as-an-svg-image) - [C# تحويل شريحة PPTX إلى SVG](#render-a-slide-as-an-svg-image) - [C# تحويل شريحة ODP إلى SVG](#render-a-slide-as-an-svg-image) -مواضيع أخرى تم تغطيتها في هذا المقال. -- [انظر أيضاً](#see-also) +المواضيع الأخرى التي يغطيها هذا المقال. +- [انظر أيضًا](#see-also) -## تنسيق SVG -SVG—اختصار لـ Scalable Vector Graphics—هو نوع أو تنسيق رسومات قياسي يستخدم لرسم الصور ثنائية الأبعاد. يتم تخزين الصور في SVG كمتجهات في XML مع تفاصيل تحدد سلوكها أو مظهرها. +## **صيغة SVG** +SVG—اختصار لـ Scalable Vector Graphics—هو نوع أو صيغة رسومات قياسية تُستخدم لعرض الصور ثنائية الأبعاد. يُخزن SVG الصور كمتجهات في XML مع تفاصيل تحدد سلوكها أو مظهرها. -SVG هو واحد من القليل من التنسيقات للصور التي تفي بمعايير عالية جداً في هذه الجوانب: قابلية التوسع، التفاعل، الأداء، إمكانية الوصول، البرمجة، وغيرها. لهذه الأسباب، غالباً ما يستخدم في تطوير الويب. +SVG هو أحد القليل من الصيغ التي تفي بمستويات عالية جداً في هذه الجوانب: القابلية للتوسع، التفاعلية، الأداء، إمكانية الوصول، البرمجة، وغيرها. لهذه الأسباب، يُستخدم على نطاق واسع في تطوير الويب. قد ترغب في استخدام ملفات SVG عندما تحتاج إلى -- **طباعة عرضك التقديمي في *تنسيق كبير جداً*.** يمكن أن تتوسع صور SVG إلى أي دقة أو مستوى. يمكنك إعادة تغيير حجم صور SVG عدة مرات كما هو مطلوب دون التضحية بالجودة. -- **استخدام الرسوم البيانية والمخططات من شرائحك في *وسائط أو منصات مختلفة**.* يمكن لمعظم القارئين تفسير ملفات SVG. -- **استخدام *أصغر أحجام ممكنة من الصور***. ملفات SVG عادة ما تكون أصغر من نظيراتها عالية الدقة في تنسيقات أخرى، وخاصة تلك التنسيقات المعتمدة على البت (JPEG أو PNG). +- **طباعة عرضك التقديمي بصيغة *كبيرة جداً*.** يمكن لصور SVG أن تتوسع إلى أي دقة أو مستوى. يمكنك تغيير حجم صور SVG عددًا لا نهائيًا من المرات دون التضحية بالجودة. +- **استخدام المخططات والرسوم البيانية من شرائحك في *وسائط أو منصات مختلفة*.** معظم القارئات يمكنها تفسير ملفات SVG. +- **استخدام أصغر حجم ممكن للصور*.** عادةً ما تكون ملفات SVG أصغر من نظيراتها ذات الدقة العالية في صيغ أخرى، خاصةً الصيغ المعتمدة على البتات (JPEG أو PNG). -## تحويل شريحة كصورة SVG +## **عرض شريحة كصورة SVG** -يسمح لك Aspose.Slides لـ .NET بتصدير الشرائح في عروضك التقديمية كصور SVG. اتبع هذه الخطوات لتوليد صور SVG: +Aspose.Slides for .NET يسمح لك بتصدير الشرائح في عروضك التقديمية كصور SVG. اتبع هذه الخطوات لتوليد صور SVG: -_الخطوات: تحويل PowerPoint إلى SVG في C#_ +_خطوات: تحويل PowerPoint إلى SVG في C#_ -يفسر الكود النموذجي التالي هذه التحويلات باستخدام .NET. -- الخطوات: تحويل PowerPoint إلى SVG في C# -- الخطوات: تحويل PPT إلى SVG في C# -- الخطوات: تحويل PPTX إلى SVG في C# -- الخطوات: تحويل ODP إلى SVG في C# +الكود النموذجي التالي يوضح هذه التحولات باستخدام .NET. +- خطوات: تحويل PowerPoint إلى SVG في C# +- خطوات: تحويل PPT إلى SVG في C# +- خطوات: تحويل PPTX إلى SVG في C# +- خطوات: تحويل ODP إلى SVG في C# _خطوات الكود:_ -1. قم بإنشاء مثيل من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) class. - * _.ppt_ لتحميل ملف **PPT** داخل فئة _Presentation_. - * _.pptx_ لتحميل ملف **PPTX** داخل فئة _Presentation_. - * _.odp_ لتحميل ملف **ODP** داخل فئة _Presentation_. - * _.pps_ لتحميل ملف **PPS** داخل فئة _Presentation_. -2. استعرض جميع الشرائح في العرض التقديمي. -3. اكتب كل شريحة إلى ملف SVG خاص بها من خلال FileStream. +1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) . + * امتداد _.ppt_ لتحميل ملف **PPT** داخل فئة _Presentation_. + * امتداد _.pptx_ لتحميل ملف **PPTX** داخل فئة _Presentation_. + * امتداد _.odp_ لتحميل ملف **ODP** داخل فئة _Presentation_. + * امتداد _.pps_ لتحميل ملف **PPS** داخل فئة _Presentation_. +2. تكرار عبر جميع الشرائح في العرض التقديمي. +3. اكتب كل شريحة إلى ملف SVG خاص بها عبر FileStream. {{% alert color="primary" %}} -قد ترغب في تجربة [تطبيقنا المجاني على الويب](https://products.aspose.app/slides/conversion/ppt-to-svg) الذي قمنا فيه بتنفيذ وظيفة تحويل PPT إلى SVG من Aspose.Slides لـ .NET. +قد ترغب في تجربة [تطبيق الويب المجاني](https://products.aspose.app/slides/conversion/ppt-to-svg) الذي قمنا فيه بتنفيذ وظيفة تحويل PPT إلى SVG من Aspose.Slides for .NET. {{% /alert %}} -يوضح هذا الكود النموذجي في C# كيفية تحويل PowerPoint إلى SVG باستخدام Aspose.Slides: - +هذا الكود النموذجي في C# يوضح لك كيفية تحويل PowerPoint إلى SVG باستخدام Aspose.Slides: ``` csharp -// يمكن كائن Presentation تحميل تنسيقات PowerPoint مثل PPT و PPTX و ODP وما إلى ذلك. +// يمكن لكائن Presentation تحميل صيغ PowerPoint مثل PPT و PPTX و ODP وغيرها. using (Presentation pres = new Presentation("pres.pptx")) { for (var index = 0; index < pres.Slides.Count; index++) @@ -98,46 +97,61 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## انظر أيضاً -يغطي هذا المقال أيضاً هذه المواضيع. الكود هو نفسه كما هو أعلاه. +## **الأسئلة المتكررة** + +**لماذا قد يبدو ملف SVG الناتج مختلفًا عبر المتصفحات؟** + +دعم ميزات SVG المحددة يتم تنفيذه بطرق مختلفة من قبل محركات المتصفحات. معلمات [SVGOptions](https://reference.aspose.com/slides/net/aspose.slides.export/svgoptions/) تساعد في تقليل عدم التوافق. + +**هل من الممكن تصدير ليس فقط الشرائح ولكن أيضًا الأشكال الفردية إلى SVG؟** + +نعم. أي [شكل يمكن حفظه كملف SVG منفصل](https://reference.aspose.com/slides/net/aspose.slides/shape/writeassvg/)، وهو ما يكون ملائمًا للأيقونات، الرسوم البيانية، وإعادة استخدام الرسومات. + +**هل يمكن دمج عدة شرائح في ملف SVG واحد (شريط/وثيقة)؟** + +السيناريو القياسي هو شريحة واحدة → ملف SVG واحد. دمج عدة شرائح في قماش SVG واحد هو خطوة معالجة لاحقة تُنفّذ على مستوى التطبيق. + +## **انظر أيضًا** + +هذه المقالة تغطي أيضًا هذه المواضيع. الرموز هي نفسها كما أعلاه. -_التنسيق_: **PowerPoint** -- [C# PowerPoint إلى SVG Code](#csharp-powerpoint-to-svg) +_تنسيق_: **PowerPoint** +- [C# PowerPoint إلى SVG الكود](#csharp-powerpoint-to-svg) - [C# PowerPoint إلى SVG API](#csharp-powerpoint-to-svg) -- [C# PowerPoint إلى SVG برمجياً](#csharp-powerpoint-to-svg) -- [C# PowerPoint إلى SVG Library](#csharp-powerpoint-to-svg) +- [C# PowerPoint إلى SVG برمجيًا](#csharp-powerpoint-to-svg) +- [C# PowerPoint إلى SVG مكتبة](#csharp-powerpoint-to-svg) - [C# حفظ PowerPoint كـ SVG](#csharp-powerpoint-to-svg) - [C# توليد SVG من PowerPoint](#csharp-powerpoint-to-svg) - [C# إنشاء SVG من PowerPoint](#csharp-powerpoint-to-svg) -- [C# PowerPoint إلى SVG Converter](#csharp-powerpoint-to-svg) +- [C# محول PowerPoint إلى SVG](#csharp-powerpoint-to-svg) -_التنسيق_: **PPT** -- [C# PPT إلى SVG Code](#csharp-ppt-to-svg) +_تنسيق_: **PPT** +- [C# PPT إلى SVG الكود](#csharp-ppt-to-svg) - [C# PPT إلى SVG API](#csharp-ppt-to-svg) -- [C# PPT إلى SVG برمجياً](#csharp-ppt-to-svg) -- [C# PPT إلى SVG Library](#csharp-ppt-to-svg) +- [C# PPT إلى SVG برمجيًا](#csharp-ppt-to-svg) +- [C# PPT إلى SVG مكتبة](#csharp-ppt-to-svg) - [C# حفظ PPT كـ SVG](#csharp-ppt-to-svg) - [C# توليد SVG من PPT](#csharp-ppt-to-svg) - [C# إنشاء SVG من PPT](#csharp-ppt-to-svg) -- [C# PPT إلى SVG Converter](#csharp-ppt-to-svg) +- [C# محول PPT إلى SVG](#csharp-ppt-to-svg) -_التنسيق_: **PPTX** -- [C# PPTX إلى SVG Code](#csharp-pptx-to-svg) +_تنسيق_: **PPTX** +- [C# PPTX إلى SVG الكود](#csharp-pptx-to-svg) - [C# PPTX إلى SVG API](#csharp-pptx-to-svg) -- [C# PPTX إلى SVG برمجياً](#csharp-pptx-to-svg) -- [C# PPTX إلى SVG Library](#csharp-pptx-to-svg) +- [C# PPTX إلى SVG برمجيًا](#csharp-pptx-to-svg) +- [C# PPTX إلى SVG مكتبة](#csharp-pptx-to-svg) - [C# حفظ PPTX كـ SVG](#csharp-pptx-to-svg) - [C# توليد SVG من PPTX](#csharp-pptx-to-svg) - [C# إنشاء SVG من PPTX](#csharp-pptx-to-svg) -- [C# PPTX إلى SVG Converter](#csharp-pptx-to-svg) +- [C# محول PPTX إلى SVG](#csharp-pptx-to-svg) -_التنسيق_: **ODP** -- [C# ODP إلى SVG Code](#csharp-odp-to-svg) +_تنسيق_: **ODP** +- [C# ODP إلى SVG الكود](#csharp-odp-to-svg) - [C# ODP إلى SVG API](#csharp-odp-to-svg) -- [C# ODP إلى SVG برمجياً](#csharp-odp-to-svg) -- [C# ODP إلى SVG Library](#csharp-odp-to-svg) +- [C# ODP إلى SVG برمجيًا](#csharp-odp-to-svg) +- [C# ODP إلى SVG مكتبة](#csharp-odp-to-svg) - [C# حفظ ODP كـ SVG](#csharp-odp-to-svg) - [C# توليد SVG من ODP](#csharp-odp-to-svg) - [C# إنشاء SVG من ODP](#csharp-odp-to-svg) -- [C# ODP إلى SVG Converter](#csharp-odp-to-svg) \ No newline at end of file +- [C# محول ODP إلى SVG](#csharp-odp-to-svg) \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index 81d856e3cd..45bffe2666 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -1,34 +1,33 @@ --- -title: تصدير إلى HTML5 +title: "تصدير إلى HTML5" type: docs weight: 40 url: /ar/net/export-to-html5/ keywords: -- PowerPoint إلى HTML -- شرائح إلى HTML -- HTML5 -- تصدير HTML -- تصدير العرض التقديمي -- تحويل العرض التقديمي -- تحويل الشرائح -- C# -- Csharp -- Aspose.Slides لـ .NET -description: "تصدير PowerPoint إلى HTML5 في C# أو .NET" + - "PowerPoint إلى HTML" + - "شرائح إلى HTML" + - "HTML5" + - "تصدير HTML" + - "تصدير العرض التقديمي" + - "تحويل العرض التقديمي" + - "تحويل الشرائح" + - "C#" + - "Csharp" + - "Aspose.Slides for .NET" +description: "تصدير PowerPoint إلى HTML5 باستخدام C# أو .NET" --- -{{% alert title="معلومات" color="info" %}} +{{% alert title="Info" color="info" %}} -في [Aspose.Slides 21.9](/slides/ar/net/aspose-slides-for-net-21-9-release-notes/)، قمنا بتنفيذ دعم تصدير HTML5. ومع ذلك، إذا كنت تفضل تصدير PowerPoint إلى HTML باستخدام WebExtensions، انظر [هذه المقالة](/slides/ar/net/web-extensions/) بدلاً من ذلك. +في [Aspose.Slides 21.9](/slides/ar/net/aspose-slides-for-net-21-9-release-notes/) تم تنفيذ دعم لتصدير HTML5. ومع ذلك، إذا كنت تفضّل تصدير PowerPoint إلى HTML باستخدام WebExtensions، راجع [هذه المقالة](/slides/ar/net/web-extensions/) بدلاً من ذلك. {{% /alert %}} -تتيح لك عملية التصدير إلى HTML5 هنا تحويل PowerPoint إلى HTML دون استخدام إضافات الويب أو التبعية. بهذه الطريقة، باستخدام قوالبك الخاصة، يمكنك تطبيق خيارات مرنة جداً تحدد عملية التصدير وHTML وCSS وJavaScript وخصائص الرسوم المتحركة الناتجة. +تسمح لك عملية التصدير إلى HTML5 هنا بتحويل PowerPoint إلى HTML دون الحاجة إلى ملحقات ويب أو تبعيات. بهذه الطريقة، باستخدام القوالب الخاصة بك، يمكنك تطبيق خيارات مرنة تُحدد عملية التصدير والـ HTML وCSS وJavaScript وسمات الرسوم المتحركة الناتجة. ## **تصدير PowerPoint إلى HTML5** -يوضح هذا الكود C# كيفية تصدير عرض تقديمي إلى HTML5 دون استخدام إضافات الويب والتبعية: - +يعرض هذا الكود C# كيفية تصدير عرض تقديمي إلى HTML5 دون ملحقات ويب أو تبعيات: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -36,14 +35,14 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` + {{% alert color="primary" %}} -في هذه الحالة، تحصل على HTML نظيف. +في هذه الحالة ستحصل على HTML نظيف. {{% /alert %}} -قد ترغب في تحديد إعدادات لرسوم الشكل و انتقالات الشرائح بهذه الطريقة: - +قد ترغب في تحديد إعدادات لتحريك الأشكال وانتقالات الشرائح بهذه الطريقة: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -55,10 +54,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -#### **تصدير PowerPoint إلى HTML** -يوضح هذا الكود C# عملية تصدير PowerPoint القياسية إلى HTML: +## **تصدير PowerPoint إلى HTML** +يعرض هذا الكود C# العملية القياسية لتحويل PowerPoint إلى HTML: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -66,30 +65,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -في هذه الحالة، يتم عرض محتوى العرض التقديمي من خلال 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** -يوضح هذا الكود C# عملية تصدير PowerPoint إلى HTML5 وضع العرض الشرائح: +**Aspose.Slides** يتيح لك تحويل عرض تقديمي PowerPoint إلى مستند HTML5 تُعرض فيه الشرائح في وضع عرض الشرائح. في هذه الحالة، عند فتح ملف HTML5 الناتج في المتصفح، ترى العرض التقديمي في وضع عرض الشرائح على صفحة الويب. +يعرض هذا الكود C# عملية تصدير PowerPoint إلى عرض الشرائح HTML5: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -101,17 +100,18 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## تحويل عرض تقديمي إلى وثيقة HTML5 مع التعليقات -التعليقات في PowerPoint هي أداة تسمح للمستخدمين بترك ملاحظات أو تعليقات على شرائح العرض. إنها مفيدة بشكل خاص في المشاريع التعاونية، حيث يمكن لعدة أشخاص إضافة اقتراحاتهم أو ملاحظاتهم على عناصر الشرائح المحددة دون تغيير المحتوى الرئيسي. تُظهر كل تعليق اسم المؤلف، مما يسهل تتبع من غادر الملاحظة. +## **تحويل عرض تقديمي إلى مستند HTML5 مع التعليقات** + +التعليقات في PowerPoint هي أداة تسمح للمستخدمين بترك ملاحظات أو ملاحظات على شرائح العرض. تكون مفيدة بشكل خاص في المشاريع التعاونية، حيث يمكن لأكثر من شخص إضافة اقتراحاتهم أو ملاحظاتهم إلى عناصر شريحة معينة دون تغيير المحتوى الرئيسي. تُظهر كل تعليق اسم المؤلف، مما يسهل تتبع من ترك الملاحظة. -لنقل إن لدينا العرض التقديمي PowerPoint التالي محفوظًا في ملف "sample.pptx". +لنفترض أن لدينا عرض تقديمي PowerPoint محفوظ في الملف "sample.pptx". -![تعليقان على شريحة العرض](two_comments_pptx.png) +![Two comments on the presentation slide](two_comments_pptx.png) -عند تحويل عرض PowerPoint إلى وثيقة HTML5، يمكنك بسهولة تحديد ما إذا كنت ترغب في تضمين التعليقات من العرض التقديمي في وثيقة الإخراج. للقيام بذلك، تحتاج إلى تحديد معلمات العرض للتعليقات في خاصية `NotesCommentsLayouting` من فئة [Html5Options](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/). +عند تحويل عرض تقديمي PowerPoint إلى مستند HTML5، يمكنك بسهولة تحديد ما إذا كنت تريد تضمين التعليقات من العرض في المستند الناتج. للقيام بذلك، تحتاج إلى تحديد معلمات عرض التعليقات في خاصية `NotesCommentsLayouting` من فصل [Html5Options](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/) . -يوضح مثال الكود التالي كيفية تحويل عرض تقديمي إلى وثيقة HTML5 مع عرض التعليقات إلى يمين الشرائح. +الكود التالي يحول عرضًا تقديميًا إلى مستند HTML5 مع عرض التعليقات إلى يمين الشرائح. ```cs var html5Options = new Html5Options { @@ -125,6 +125,21 @@ using var presentation = new Presentation("sample.pptx"); presentation.Save("output.html", SaveFormat.Html5, html5Options); ``` -تم عرض وثيقة "output.html" في الصورة أدناه. -![التعليقات في وثيقة HTML5 الناتجة](two_comments_html5.png) \ No newline at end of file +يظهر مستند "output.html" في الصورة أدناه. + +![The comments in the output HTML5 document](two_comments_html5.png) + +## **الأسئلة الشائعة** + +**هل يمكنني التحكم فيما إذا كانت تحريكات الكائنات وانتقالات الشرائح ستُشغل في HTML5؟** + +نعم، يوفر HTML5 خيارات منفصلة لتمكين أو تعطيل [تحريكات الأشكال](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animateshapes/) و[انتقالات الشرائح](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animatetransitions/). + +**هل يتم دعم إخراج التعليقات، وأين يمكن وضعها بالنسبة للشارحة؟** + +نعم، يمكن إضافة التعليقات في HTML5 وتحديد موقعها (على سبيل المثال، إلى يمين الشريحة) عبر [إعدادات التخطيط](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/notescommentslayouting/) للملاحظات والتعليقات. + +**هل يمكنني تخطي الروابط التي تستدعي JavaScript لأسباب أمنية أو سياسات CSP؟** + +نعم، هناك [إعداد](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/skipjavascriptlinks/) يسمح بتخطي الروابط التي تحتوي على استدعاءات JavaScript أثناء الحفظ. يساعد ذلك في الالتزام بسياسات الأمان الصارمة. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/ar/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index c4556a3608..94dae3b679 100644 --- a/ar/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/ar/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -3,28 +3,25 @@ title: تصدير إلى XAML type: docs weight: 30 url: /ar/net/export-to-xaml/ -keywords: "تصدير عرض PowerPoint، تحويل PowerPoint، XAML، PowerPoint إلى XAML، PPT إلى XAML، PPTX إلى XAML، C#، Csharp، .NET" +keywords: "تصدير عرض PowerPoint, تحويل PowerPoint, XAML, PowerPoint إلى XAML, PPT إلى XAML, PPTX إلى XAML, C#, Csharp, .NET" description: "تصدير أو تحويل عرض PowerPoint إلى XAML" --- -# تصدير العروض إلى XAML - -{{% alert title="معلومات" color="info" %}} - -في [Aspose.Slides 21.6](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-6-release-notes/)، قمنا بتنفيذ دعم لتصدير XAML. يمكنك الآن تصدير عروضك إلى XAML. +# **تصدير العروض التقديمية إلى XAML** +{{% alert title="Info" color="info" %}} +في [Aspose.Slides 21.6](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-6-release-notes/)، قمنا بتنفيذ دعم لتصدير XAML. يمكنك الآن تصدير عروضك التقديمية إلى XAML. {{% /alert %}} -# عن XAML - -XAML هو لغة برمجة وصفية تسمح لك بإنشاء أو كتابة واجهات المستخدم للتطبيقات، وخاصة تلك التي تستخدم WPF (Windows Presentation Foundation) وUWP (Universal Windows Platform) وأشكال Xamarin. +# **حول XAML** -XAML، التي هي لغة قائمة على XML، هي النسخة الخاصة بـ Microsoft لوصف واجهة المستخدم الرسومية. من المحتمل أن تستخدم مصممًا للعمل على ملفات XAML في معظم الأوقات، لكن لا يزال بإمكانك كتابة وتحرير واجهة المستخدم الخاصة بك. +XAML هي لغة برمجة وصفية تتيح لك بناء أو كتابة واجهات مستخدم للتطبيقات، خاصةً تلك التي تستخدم WPF (Windows Presentation Foundation) وUWP (Universal Windows Platform) وXamarin Forms. -## تصدير العروض إلى XAML مع الخيارات الافتراضية +XAML، التي هي لغة قائمة على XML، هي نسخة مايكروسوفت لوصف واجهة المستخدم الرسومية. من المرجح أن تستخدم مصممًا للعمل على ملفات XAML معظم الوقت، ولكن لا يزال بإمكانك كتابة وتحرير واجهتك الرسومية. -هذا الكود C# يوضح لك كيفية تصدير عرض إلى XAML مع الإعدادات الافتراضية: +## **تصدير العروض التقديمية إلى XAML باستخدام الخيارات الافتراضية** +يعرض لك هذا الكود المكتوب بـ C# كيفية تصدير عرض تقديمي إلى XAML باستخدام الإعدادات الافتراضية: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,15 +29,27 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## تصدير العروض إلى XAML مع خيارات مخصصة -يمكنك اختيار خيارات من واجهة [IXamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions) التي تتحكم في عملية التصدير وتحدد كيفية تصدير Aspose.Slides لعروضك إلى XAML. +## **تصدير العروض التقديمية إلى XAML باستخدام الخيارات المخصصة** -على سبيل المثال، إذا كنت تريد من Aspose.Slides إضافة الشرائح المخفية من عرضك عند تصديرها إلى XAML، يمكنك تعيين خاصية [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) على true. راجع هذا الكود C# كمثال: +يمكنك اختيار الخيارات من واجهة [IXamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions) التي تتحكم في عملية التصدير وتحدد كيفية تصدير Aspose.Slides للعرض التقديمي إلى XAML. +على سبيل المثال، إذا كنت ترغب في أن تقوم Aspose.Slides بإضافة الشرائح المخفية من العرض التقديمي عند تصديره إلى XAML، يمكنك تعيين الخاصية [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) إلى true. راقب هذا المثال المكتوب بـ C#: ```c# using (Presentation pres = new Presentation("pres.pptx")) { pres.Save(new XamlOptions { ExportHiddenSlides = true }); } -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**كيف يمكنني ضمان خطوط متوقعة إذا لم يتوفر الخط الأصلي على الجهاز؟** +قم بتعيين [DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/) في [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) — يتم استخدامه كخط احتياطي عندما يكون الخط الأصلي مفقودًا. يساعد ذلك في تجنب الاستبدالات غير المتوقعة. + +**هل يُقصد بـ XAML المُصدّر فقط لـ WPF، أم يمكن استخدامها في مجموعات XAML أخرى أيضًا؟** +XAML هي لغة توصيف واجهة مستخدم عامة تُستخدم في WPF وUWP وXamarin.Forms. يهدف التصدير إلى التوافق مع مجموعات XAML الخاصة بمايكروسوفت؛ السلوك الدقيق ودعم البُنى المحددة يعتمد على المنصة المستهدفة. اختبر العلامات في بيئتك. + +**هل تدعم الشرائح المخفية، وكيف يمكنني منع تصديرها افتراضيًا؟** +بشكل افتراضي، لا تُدرج الشرائح المخفية. يمكنك التحكم في هذا السلوك عبر [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/exporthiddenslides/) في [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) — احفظه معطلاً إذا لم تكن بحاجة إلى تصديرها. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/create-presentation/_index.md b/ar/net/developer-guide/manage-presentation/create-presentation/_index.md index 88adecdd1e..3721788f6e 100644 --- a/ar/net/developer-guide/manage-presentation/create-presentation/_index.md +++ b/ar/net/developer-guide/manage-presentation/create-presentation/_index.md @@ -4,20 +4,19 @@ linktitle: إنشاء عرض تقديمي type: docs weight: 10 url: /ar/net/create-presentation/ -keywords: "إنشاء باوربوينت، PPTX، PPT، إنشاء عرض تقديمي، تهيئة عرض تقديمي، C#، .NET" -description: "إنشاء عروض باوربوينت برمجياً في C# مثل PPT، PPTX، ODP إلخ." +keywords: "إنشاء PowerPoint, PPTX, PPT, إنشاء عرض تقديمي, تهيئة العرض التقديمي, C#, .NET" +description: "إنشاء عروض PowerPoint برمجيًا باستخدام C# مثل PPT، PPTX، ODP وغيرها." --- -## إنشاء عرض تقديمي باوربوينت -لإضافة خط عادي بسيط إلى شريحة محددة من العرض التقديمي، يرجى اتباع الخطوات أدناه: +## **إنشاء عرض PowerPoint** +لإضافة خط بسيط إلى الشريحة المحددة في العرض التقديمي، يرجى اتباع الخطوات التالية: 1. إنشاء مثيل من فئة Presentation. -1. الحصول على مرجع لشريحة باستخدام الفهرس الخاص بها. -1. إضافة شكل تلقائي من نوع خط باستخدام طريقة AddAutoShape المعروضة بواسطة كائن Shapes. +1. الحصول على مرجع الشريحة باستخدام الفهرس الخاص بها. +1. إضافة AutoShape من النوع Line باستخدام طريقة AddAutoShape التي تُتاح عبر كائن Shapes. 1. كتابة العرض التقديمي المعدل كملف PPTX. -في المثال المقدم أدناه، قمنا بإضافة خط إلى الشريحة الأولى من العرض التقديمي. - +في المثال أدناه، قمنا بإضافة خط إلى الشريحة الأولى في العرض التقديمي. ```c# // إنشاء كائن Presentation يمثل ملف عرض تقديمي using (Presentation presentation = new Presentation()) @@ -25,35 +24,74 @@ using (Presentation presentation = new Presentation()) // الحصول على الشريحة الأولى ISlide slide = presentation.Slides[0]; - // إضافة شكل تلقائي من نوع خط + // إضافة AutoShape من النوع Line slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); presentation.Save("NewPresentation_out.pptx", SaveFormat.Pptx); } ``` -## إنشاء وحفظ عرض تقديمي -خطوات: إنشاء وحفظ عرض تقديمي في C# +## **إنشاء وحفظ العرض التقديمي** -1. إنشاء مثيل من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) class. -2. حفظ _Presentation_ إلى أي تنسيق مدعوم بواسطة [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) +الخطوات: إنشاء وحفظ العرض التقديمي في C# +1. إنشاء مثيل من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) class. +2. حفظ _Presentation_ إلى أي تنسيق يدعمه [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) ```c# Presentation presentation = new Presentation(); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); ``` -## فتح وحفظ عرض تقديمي -خطوات: فتح وحفظ عرض تقديمي في C# +## **فتح وحفظ العرض التقديمي** -1. إنشاء مثيل من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) class بأي تنسيق مثل PPT، PPTX، ODP إلخ. -2. حفظ _Presentation_ إلى أي تنسيق مدعوم بواسطة [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) +الخطوات: فتح وحفظ العرض التقديمي في C# +1. إنشاء مثيل من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) class بأي تنسيق مثل PPT أو PPTX أو ODP وغيرها. +2. حفظ _Presentation_ إلى أي تنسيق يدعمه [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) ```c# -// تحميل أي ملف مدعوم في Presentation مثل ppt، pptx، odp إلخ. +// تحميل أي ملف مدعوم في Presentation مثل ppt أو pptx أو odp إلخ. Presentation presentation = new Presentation("Sample.odp"); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**ما هي التنسيقات التي يمكنني حفظ عرض تقديمي جديد بها؟** + +يمكنك حفظه إلى [PPTX, PPT, و ODP](/slides/ar/net/save-presentation/)، وتصديره إلى [PDF](/slides/ar/net/convert-powerpoint-to-pdf/)، [XPS](/slides/ar/net/convert-powerpoint-to-xps/), [HTML](/slides/ar/net/convert-powerpoint-to-html/), [SVG](/slides/ar/net/convert-powerpoint-to-png/), و[الصور](/slides/ar/net/convert-powerpoint-to-png/)، وغيرها. + +**هل يمكنني البدء من قالب (POTX/POTM) وحفظه كـ PPTX عادي؟** + +نعم. قم بتحميل القالب وحفظه بالتنسيق المطلوب؛ تنسيقات POTX/POTM/PPTM وغيرها [مدعومة](/slides/ar/net/supported-file-formats/). + +**كيف يمكنني التحكم في حجم الشريحة/نسبة العرض إلى الارتفاع عند إنشاء عرض تقديمي؟** + +حدد [حجم الشريحة](/slides/ar/net/slide-size/) (بما في ذلك القوالب مثل 4:3 و 16:9 أو الأبعاد المخصصة) واختر طريقة تعديل حجم المحتوى. + +**ما هي وحدات القياس للأحجام والإحداثيات؟** + +بالنقاط: البوصة الواحدة تساوي 72 وحدة. + +**كيف أتعامل مع العروض التقديمية الكبيرة (مع الكثير من ملفات الوسائط) لتقليل استهلاك الذاكرة؟** + +استخدم [استراتيجيات إدارة BLOB](/slides/ar/net/manage-blob/)، وقم بتقليل التخزين في الذاكرة عبر الاستفادة من الملفات المؤقتة، وفضّل سير العمل القائم على الملفات بدلاً من التدفقات التي تُحفظ بالكامل في الذاكرة. + +**هل يمكنني إنشاء/حفظ عروض تقديمية بشكل متوازي؟** + +لا يمكن العمل على نفس مثيل Presentation من عدة خيوطٍ (threads). شغّل مثيلات منفصلة ومعزولة لكل خيط أو عملية. + +**كيف يمكنني إزالة علامة التجربة المائية والقيود؟** + +[قم بتطبيق ترخيص](/slides/ar/net/licensing/) مرةً واحدة لكل عملية. يجب أن يبقى ملف XML للترخيص دون تعديل، ويجب مزامنة إعداد الترخيص إذا شاركت عدة خيوط. + +**هل يمكنني توقيع ملف PPTX رقمياً؟** + +نعم. [التواقيع الرقمية](/slides/ar/net/digital-signature-in-powerpoint/) (الإضافة والتحقق) مدعومة للعرض التقديمي. + +**هل يتم دعم الماكرو (VBA) في العروض التي تم إنشاؤها؟** + +نعم. يمكنك [إنشاء/تحرير مشاريع VBA](/slides/ar/net/presentation-via-vba/) وحفظ الملفات المُمكّنة للماكرو مثل PPTM/PPSM. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/examine-presentation/_index.md b/ar/net/developer-guide/manage-presentation/examine-presentation/_index.md index d933514b88..c8e328dccf 100644 --- a/ar/net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/ar/net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -4,11 +4,11 @@ type: docs weight: 30 url: /ar/net/examine-presentation/ keywords: -- باوربوينت +- PowerPoint - عرض تقديمي - تنسيق العرض التقديمي - خصائص العرض التقديمي -- خصائص الوثيقة +- خصائص المستند - الحصول على الخصائص - قراءة الخصائص - تغيير الخصائص @@ -18,23 +18,22 @@ keywords: - C# - Csharp - .NET -description: "قراءة وتعديل خصائص عرض باوربوينت التقديمي في C# أو .NET" +description: "قراءة وتعديل خصائص عرض PowerPoint التقديمي باستخدام C# أو .NET" --- -تسمح لك Aspose.Slides لـ .NET بفحص عرض تقديمي لمعرفة خصائصه وفهم سلوكه. +Aspose.Slides for .NET يتيح لك فحص عرض تقديمي لمعرفة خصائصه وفهم سلوكه. -{{% alert title="معلومات" color="info" %}} +{{% alert title="Info" color="info" %}} -تحتوي فئات [PresentationInfo](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo) و [DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/) على الخصائص والأساليب المستخدمة في العمليات هنا. +الفئات [PresentationInfo](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo) و[DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/) تحتوي على الخصائص والأساليب المستخدمة في العمليات هنا. {{% /alert %}} ## **تحقق من تنسيق العرض التقديمي** -قبل العمل على عرض تقديمي، قد ترغب في معرفة ما هو التنسيق (PPT، PPTX، ODP، وغيرها) الذي يوجد فيه العرض التقديمي في الوقت الحالي. - -يمكنك التحقق من تنسيق العرض التقديمي دون تحميل العرض. راجع هذا كود C#: +قبل العمل على عرض تقديمي، قد ترغب في معرفة أي تنسيق (PPT، PPTX، ODP، وغيرها) يكون العرض التقديمي في وضعه الحالي. +يمكنك التحقق من تنسيق العرض التقديمي دون تحميله. راجع هذا الكود C#: ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); Console.WriteLine(info.LoadFormat); // PPTX @@ -46,10 +45,10 @@ IPresentationInfo info3 = PresentationFactory.Instance.GetPresentationInfo("pres Console.WriteLine(info3.LoadFormat); // ODP ``` -## **الحصول على خصائص العرض التقديمي** -يظهر لك هذا الكود C# كيفية الحصول على خصائص العرض التقديمي (معلومات حول العرض التقديمي): +## **الحصول على خصائص العرض التقديمي** +هذا الكود C# يوضح لك كيفية الحصول على خصائص العرض التقديمي (معلومات حول العرض): ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); IDocumentProperties props = info.ReadDocumentProperties(); @@ -59,40 +58,63 @@ Console.WriteLine(props.Title); // .. ``` -قد ترغب في رؤية [الخصائص تحت فئة DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties). -## **تحديث خصائص العرض التقديمي** +قد ترغب في مشاهدة [properties under the DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties) الفئة. -توفر Aspose.Slides طريقة [PresentationInfo.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties) التي تتيح لك إجراء تغييرات على خصائص العرض التقديمي. +## **تحديث خصائص العرض التقديمي** -لنقل أن لدينا عرض تقديمي باوربوينت مع خصائص الوثيقة الموضحة أدناه. +Aspose.Slides يوفر الطريقة [PresentationInfo.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties) التي تتيح لك إجراء تغييرات على خصائص العرض التقديمي. -![الخصائص الأصلية لوثيقة العرض التقديمي باوربوينت](input_properties.png) +لنفترض أن لدينا عرض PowerPoint مع خصائص المستند الموضحة أدناه. -يوضح لك هذا المثال كيفية تعديل بعض خصائص العرض التقديمي: +![خصائص المستند الأصلية لعرض PowerPoint](input_properties.png) +هذا المثال البرمجي يوضح لك كيفية تعديل بعض خصائص العرض: ```c# string fileName = "sample.pptx"; IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo(fileName); IDocumentProperties properties = info.ReadDocumentProperties(); -properties.Title = "العنوان الخاص بي"; +properties.Title = "My title"; properties.LastSavedTime = DateTime.Now; info.UpdateDocumentProperties(properties); info.WriteBindedPresentation(fileName); ``` -نتائج تغيير خصائص الوثيقة موضحة أدناه. -![الخصائص المعدلة لوثيقة العرض التقديمي باوربوينت](output_properties.png) +نتائج تغيير خصائص المستند موضحة أدناه. + +![خصائص المستند المعدلة لعرض PowerPoint](output_properties.png) ## **روابط مفيدة** -للحصول على مزيد من المعلومات حول العرض التقديمي وخصائصه الأمنية، قد تجد هذه الروابط مفيدة: +للحصول على مزيد من المعلومات حول عرض تقديمي وسماته الأمنية، قد تجد هذه الروابط مفيدة: + +- [التحقق مما إذا كان العرض محميًا بكلمة مرور](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) +- [التحقق مما إذا كان العرض محميًا من الكتابة (قراءة فقط)](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [التحقق مما إذا كان العرض محميًا بكلمة مرور قبل تحميله](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) +- [تأكيد كلمة المرور المستخدمة لحماية العرض](https://docs.aspose.com/slides/net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). + +## **الأسئلة الشائعة** + +**كيف يمكنني التحقق مما إذا كانت الخطوط مضمنة وما هي الخطوط المضمنة؟** + +ابحث عن معلومات [embedded-font](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getembeddedfonts/) على مستوى العرض، ثم قارن تلك الإدخالات مع مجموعة [الخطوط المستخدمة فعليًا عبر المحتوى](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getfonts/) لتحديد أي الخطوط حيوية للعرض. + +**كيف أستطيع بسرعة معرفة ما إذا كان الملف يحتوي على شرائح مخفية وعددها؟** + +تجول عبر [slide collection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) وتفحص علامة [visibility flag](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/) لكل شريحة. + +**هل يمكنني اكتشاف ما إذا تم استخدام حجم وشكل شريحة مخصص، وما إذا كانا مختلفين عن الإعدادات الافتراضية؟** + +نعم. قارن [slide size](https://reference.aspose.com/slides/net/aspose.slides/presentation/slidesize/) الحالي والاتجاه مع القوالب القياسية؛ هذا يساعد على توقع السلوك عند الطباعة والتصدير. + +**هل هناك طريقة سريعة لمعرفة ما إذا كانت المخططات تشير إلى مصادر بيانات خارجية؟** + +نعم. استعرض جميع [charts](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/)، وتحقق من [data source](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/datasourcetype/)، واشعر ما إذا كانت البيانات داخلية أو مرتبطة، بما في ذلك أي روابط مكسورة. + +**كيف يمكنني تقييم "الشرائح الثقيلة" التي قد تبطئ عملية العرض أو تصدير PDF؟** -- [التحقق مما إذا كان العرض التقديمي مشفراً](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) -- [التحقق مما إذا كان العرض التقديمي محمي ضد الكتابة (للقراءة فقط)](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) -- [التحقق مما إذا كان العرض التقديمي محمي بكلمة مرور قبل تحميله](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [تأكيد كلمة المرور المستخدمة لحماية عرض تقديمي](https://docs.aspose.com/slides/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/ar/net/developer-guide/manage-presentation/import-presentation/_index.md b/ar/net/developer-guide/manage-presentation/import-presentation/_index.md index 7c331a177b..ff8222ac61 100644 --- a/ar/net/developer-guide/manage-presentation/import-presentation/_index.md +++ b/ar/net/developer-guide/manage-presentation/import-presentation/_index.md @@ -1,27 +1,26 @@ --- -title: استيراد باوربوينت من PDF أو HTML +title: استيراد PowerPoint من PDF أو HTML linktitle: استيراد العرض التقديمي type: docs weight: 60 url: /ar/net/import-presentation/ -keywords: "استيراد باوربوينت، PDF إلى باوربوينت، HTML إلى باوربوينت، PDF إلى PPT، HTML إلى PPT، C#، Csharp، Aspose.Slides لـ .NET" -description: "استيراد باوربوينت من PDF أو HTML. تحويل PDF إلى باوربوينت. تحويل HTML إلى باوربوينت" +keywords: "استيراد PowerPoint, PDF إلى PowerPoint, HTML إلى PowerPoint, PDF إلى PPT, HTML إلى PPT, C#, Csharp, Aspose.Slides for .NET" +description: "استيراد PowerPoint من PDF أو HTML. تحويل PDF إلى PowerPoint. تحويل HTML إلى PowerPoint" --- -باستخدام [**Aspose.Slides لـ .NET**](https://products.aspose.com/slides/net/)، يمكنك استيراد العروض التقديمية من الملفات بصيغ أخرى. يوفر Aspose.Slides الفئة [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) للسماح لك باستيراد العروض التقديمية من مستندات PDF. +باستخدام [**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/)، يمكنك استيراد العروض التقديمية من ملفات بصيغ أخرى. توفر Aspose.Slides الفئة [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) للسماح لك باستيراد العروض التقديمية من مستندات PDF. -## **استيراد باوربوينت من PDF** +## **استيراد PowerPoint من PDF** -في هذه الحالة، ستقوم بتحويل PDF إلى عرض تقديمي باوربوينت. +في هذه الحالة، ستحول ملف PDF إلى عرض تقديمي بصيغة PowerPoint. pdf-to-powerpoint -1. قم بإنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). -2. قم باستدعاء طريقة [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) ومرر ملف PDF. -3. استخدم طريقة [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) لحفظ الملف بتنسيق باوربوينت. - -هذا هو كود C# الذي يوضح عملية تحويل PDF إلى باوربوينت: +1. أنشئ مثيًلا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) . +2. استدعِ الطريقة [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) ومرّر ملف PDF. +3. استخدم الطريقة [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) لحفظ الملف بصيغة PowerPoint. +يعرض هذا الكود C# عملية التحويل من PDF إلى PowerPoint: ```c# using (Presentation pres = new Presentation()) { @@ -30,22 +29,20 @@ using (Presentation pres = new Presentation()) } ``` -{{% alert title="نصيحة" color="primary" %}} - -يمكنك الاطلاع على تطبيق **Aspose المجاني** [PDF إلى PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint) لأنه تطبيق مباشر للعملية الموصوفة هنا. +{{% alert title="TIP" color="primary" %}} +قد ترغب في تجربة تطبيق الويب **Aspose free** [PDF to PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint) لأنه تنفيذ حي للعملية الموضحة هنا. {{% /alert %}} -## **استيراد باوربوينت من HTML** - -في هذه الحالة، ستقوم بتحويل مستند HTML إلى عرض تقديمي باوربوينت. +## **استيراد PowerPoint من HTML** -1. قم بإنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). -2. قم باستدعاء طريقة [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) ومرر ملف HTML. -3. استخدم طريقة [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) لحفظ الملف كوثيقة باوربوينت. +في هذه الحالة، ستحول مستند HTML إلى عرض تقديمي بصيغة PowerPoint. -هذا هو كود C# الذي يوضح عملية تحويل HTML إلى باوربوينت: +1. أنشئ مثيًلا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) . +2. استدعِ الطريقة [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) ومرّر ملف HTML. +3. استخدم الطريقة [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) لحفظ الملف كوثيقة PowerPoint. +يعرض هذا الكود C# عملية التحويل من HTML إلى PowerPoint: ```c# using (var presentation = new Presentation()) { @@ -58,9 +55,15 @@ using (var presentation = new Presentation()) } ``` -{{% alert title="ملاحظة" color="warning" %}} -يمكنك أيضًا استخدام Aspose.Slides لتحويل HTML إلى صيغ ملفات شائعة أخرى: +## **الأسئلة الشائعة** + +**هل يتم الحفاظ على الجداول عند استيراد PDF، وهل يمكن تحسين اكتشافها؟** + +يمكن اكتشاف الجداول أثناء الاستيراد؛ يحتوي [PdfImportOptions](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/) على معامل [DetectTables](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/detecttables/) الذي يتيح التعرف على الجداول. تعتمد الفعالية على بنية ملف PDF. + +{{% alert title="Note" color="warning" %}} +يمكنك أيضًا استخدام Aspose.Slides لتحويل HTML إلى تنسيقات ملفات شائعة أخرى: * [HTML إلى صورة](https://products.aspose.com/slides/net/conversion/html-to-image/) * [HTML إلى JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) diff --git a/ar/net/developer-guide/manage-presentation/manage-slide-show/_index.md b/ar/net/developer-guide/manage-presentation/manage-slide-show/_index.md new file mode 100644 index 0000000000..1095bcdb4e --- /dev/null +++ b/ar/net/developer-guide/manage-presentation/manage-slide-show/_index.md @@ -0,0 +1,126 @@ +--- +title: إدارة عرض الشرائح +type: docs +weight: 90 +url: /ar/net/manage-slide-show/ +keywords: +- نوع العرض +- مقدم من قبل المتحدث +- متصفح من قبل فرد +- متصفح في كشك +- خيارات العرض +- التكرار المستمر +- العرض بدون سرد +- العرض بدون حركة +- لون القلم +- عرض الشرائح +- عرض مخصص +- تقدم الشرائح +- يدويًا +- باستخدام التوقيتات +- PowerPoint +- عرض تقديمي +- C# +- .NET +- Aspose.Slides لـ .NET +description: "إدارة إعدادات عرض الشرائح في عروض PowerPoint التقديمية باستخدام C#" +--- + +في Microsoft PowerPoint، تعد إعدادات **Slide Show** أداة أساسية لإعداد وتقديم العروض التقديمية المهنية. إحدى أهم الميزات في هذا القسم هي **Set Up Show**، والتي تسمح لك بتخصيص عرضك وفقًا لظروف وجماهير معينة، مما يضمن المرونة والراحة. باستخدام هذه الميزة، يمكنك اختيار نوع العرض (مثلاً، عرض يقدمه متحدث، أو يتم تصفحه من قبل فرد، أو يتم تصفحه في كشك)، تمكين أو تعطيل الحلقة المتكررة، اختيار شرائح معينة للعرض، واستخدام التوقيتات. هذه الخطوة في الإعداد حاسمة لجعل عرضك أكثر فعالية ومهنية. + +`SlideShowSettings` هي خاصية من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)، من النوع [SlideShowSettings](https://reference.aspose.com/slides/net/aspose.slides/presentation/slideshowsettings/)، والتي تسمح لك بإدارة إعدادات عرض الشرائح في عرض PowerPoint. في هذه المقالة، سنستكشف كيفية استخدام هذه الخاصية لتكوين والتحكم في جوانب مختلفة من إعدادات عرض الشرائح. + +## **اختر نوع العرض** + +`SlideShowSettings.SlideShowType` يحدد نوع عرض الشرائح، والذي يمكن أن يكون مثيلاً لأحد الفئات التالية: [PresentedBySpeaker](https://reference.aspose.com/slides/net/aspose.slides/presentedbyspeaker/), [BrowsedByIndividual](https://reference.aspose.com/slides/net/aspose.slides/browsedbyindividual/), أو [BrowsedAtKiosk](https://reference.aspose.com/slides/net/aspose.slides/browsedatkiosk/). يتيح لك استخدام هذه الخاصية تكييف العرض لسيناريوهات استخدام مختلفة، مثل الأكشاك الآلية أو العروض اليدوية. + +مثال الشيفرة أدناه ينشئ عرضًا تقديميًا جديدًا ويضبط نوع العرض على "Browsed by an individual" دون عرض شريط التمرير. +```cs +using var presentation = new Presentation(); + +var showType = new BrowsedByIndividual +{ + ShowScrollbar = false +}; + +presentation.SlideShowSettings.SlideShowType = showType; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **تفعيل خيارات العرض** + +`SlideShowSettings.Loop` يحدد ما إذا كان يجب تكرار عرض الشرائح في حلقة حتى يتم إيقافه يدويًا. هذا مفيد للعروض التقديمية الآلية التي تحتاج إلى تشغيل مستمر. `SlideShowSettings.ShowNarration` يحدد ما إذا كان يجب تشغيل السرد الصوتي أثناء عرض الشرائح. وهو مفيد للعروض التقديمية الآلية التي تحتوي على توجيه صوتي للجمهور. `SlideShowSettings.ShowAnimation` يحدد ما إذا كان يجب تشغيل الرسوم المتحركة المضافة إلى كائنات الشرائح. هذا مفيد لتوفير التأثير البصري الكامل للعرض. + +مثال الشيفرة التالي ينشئ عرضًا تقديميًا جديدًا ويجعل عرض الشرائح يتكرر في حلقة. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.Loop = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **اختر الشرائح للعرض** + +خاصية `SlideShowSettings.Slides` تتيح لك اختيار نطاق من الشرائح ليتم عرضها أثناء العرض التقديمي. هذا مفيد عندما تحتاج إلى عرض جزء فقط من العرض بدلاً من جميع الشرائح. + +مثال الشيفرة التالي ينشئ عرضًا تقديميًا جديدًا ويضبط نطاق الشرائح للعرض من الشريحة `2` إلى الشريحة `9`. +```cs +using var presentation = new Presentation(); + +var slideRange = new SlidesRange +{ + Start = 2, + End = 9 +}; + +presentation.SlideShowSettings.Slides = slideRange; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **استخدام تقدم الشرائح** + +خاصية `SlideShowSettings.UseTimings` تتيح لك تمكين أو تعطيل استخدام التوقيتات المحددة مسبقًا لكل شريحة. هذا مفيد لعرض الشرائح تلقائيًا وفقًا لمدة عرض محددة مسبقًا. + +مثال الشيفرة أدناه ينشئ عرضًا تقديميًا جديدًا ويعطل استخدام التوقيتات. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.UseTimings = false; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **إظهار عناصر التحكم في الوسائط** + +خاصية `SlideShowSettings.ShowMediaControls` تحدد ما إذا كان يجب عرض عناصر التحكم في الوسائط (مثل التشغيل، الإيقاف المؤقت، وإيقاف) أثناء عرض الشرائح عندما يتم تشغيل محتوى وسائط متعددة (مثل الفيديو أو الصوت). هذا مفيد عندما تريد إعطاء المقدم التحكم في تشغيل الوسائط أثناء العرض. + +مثال الشيفرة التالي ينشئ عرضًا تقديميًا جديدًا ويُمكّن عرض عناصر التحكم في الوسائط. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.ShowMediaControls = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **الأسئلة المتكررة** + +**هل يمكنني حفظ عرض تقديمي ليفتح مباشرةً في وضع عرض الشرائح؟** + +نعم. احفظ الملف كـ PPSX أو PPSM؛ هذه الصيغ تُفتح مباشرةً في وضع عرض الشرائح عند فتحها في PowerPoint. في Aspose.Slides، اختر تنسيق الحفظ المقابل [أثناء التصدير](/slides/ar/net/save-presentation/). + +**هل يمكنني استبعاد شرائح فردية من العرض دون حذفها من الملف؟** + +نعم. ضع علامة على الشريحة كـ [Hidden](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/). تبقى الشرائح المخفية في العرض التقديمي لكنها لا تُعرض أثناء عرض الشرائح. + +**هل يمكن لـ Aspose.Slides تشغيل عرض شرائح أو التحكم في عرض مباشر على الشاشة؟** + +لا. Aspose.Slides تقوم بتحرير وتحليل وتحويل ملفات العرض التقديمي؛ تشغيل العرض الفعلي يتم عبر تطبيق عارض مثل PowerPoint. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/merge-presentation/_index.md b/ar/net/developer-guide/manage-presentation/merge-presentation/_index.md index 2de679522f..050ebee38b 100644 --- a/ar/net/developer-guide/manage-presentation/merge-presentation/_index.md +++ b/ar/net/developer-guide/manage-presentation/merge-presentation/_index.md @@ -1,73 +1,87 @@ --- -title: دمج عروض PowerPoint PPT و PPTX باستخدام C# -linktitle: دمج العرض التقديمي +title: دمج عروض PowerPoint بكفاءة (PPT, PPTX) باستخدام C# +linktitle: دمج العرض type: docs weight: 40 url: /ar/net/merge-presentation/ -keywords: "دمج PowerPoint, PPTX, PPT, دمج PowerPoint, دمج العرض التقديمي, دمج, C#, Csharp, .NET" -description: "دمج أو تجميع عروض PowerPoint في C# أو .NET" +keywords: "دمج PowerPoint, PPTX, PPT, دمج PowerPoint, دمج العرض التقديمي, دمج العرض التقديمي, C#, Csharp, .NET" +description: "تعلم كيفية دمج أو الجمع بين عروض PowerPoint باستخدام C# أو .NET بسهولة." --- -{{% alert title="نصيحة" color="primary" %}} +## **تحسين دمج العروض التقديمية** -يمكنك التحقق من تطبيق **Aspose المجاني عبر الإنترنت** [Merger](https://products.aspose.app/slides/merger). يتيح للناس دمج عروض PowerPoint بنفس التنسيق (PPT إلى PPT، PPTX إلى PPTX، إلخ) ودمج العروض بتنسيقات مختلفة (PPT إلى PPTX، PPTX إلى ODP، إلخ). +مع [Aspose.Slides for .NET](https://products.aspose.com/slides/net/)، يمكنك دمج عروض PowerPoint بسلاسة مع الحفاظ على الأنماط والتخطيطات وجميع العناصر. على عكس الأدوات الأخرى، تقوم Aspose.Slides بدمج العروض دون المساومة على الجودة أو فقدان البيانات. يمكنك دمج عروض كاملة، أو شرائح محددة، وحتى تنسيقات ملفات مختلفة (PPT إلى PPTX، إلخ). -[![todo:image_alt_text](slides-merger.png)](https://products.aspose.app/slides/merger) +### **ميزات الدمج** -{{% /alert %}} +- **دمج كامل للعرض:** تجميع جميع الشرائح في ملف واحد. +- **دمج شرائح محددة:** اختيار ودمج الشرائح المختارة. +- **دمج عبر تنسيقات مختلفة:** دمج عروض بصيغ مختلفة مع الحفاظ على التكامل. +{{% alert title="Tip" color="primary" %}} + +هل تبحث عن أداة **مجانية على الإنترنت** ل**دمج عروض PowerPoint**؟ جرّب [**Aspose PowerPoint Merger**](https://products.aspose.app/slides/merger). + +- **دمج ملفات PowerPoint بسهولة**: دمج عروض **PPT، PPTX، ODP** متعددة في ملف واحد. +- **دعم تنسيقات مختلفة**: دمج **PPT إلى PPTX**، **PPTX إلى ODP**، وأكثر. +- **لا حاجة للتثبيت**: يعمل مباشرة في المتصفح، سريع وآمن. + +[![دمج ملفات PowerPoint عبر الإنترنت](slides-merger.png)](https://products.aspose.app/slides/merger) + +ابدأ في دمج ملفات PowerPoint باستخدام **أداة Aspose المجانية على الإنترنت** اليوم! + +{{% /alert %}} ## **دمج العروض التقديمية** -عندما تقوم [بدمج عرض تقديمي بآخر](https://products.aspose.com/slides/net/merger/ppt/)، فإنك تقوم فعليًا بدمج الشرائح الخاصة بهم في عرض تقديمي واحد للحصول على ملف واحد. +عند [دمج عرض تقديمي بآخر](https://products.aspose.com/slides/net/merger/ppt/)، فإنك بجعل الشرائح تتحد في عرض تقديمي واحد للحصول على ملف موحد. -{{% alert title="معلومات" color="info" %}} +{{% alert title="Info" color="info" %}} -تفتقر معظم برامج العروض التقديمية (PowerPoint أو OpenOffice) إلى الوظائف التي تسمح للمستخدمين بدمج العروض التقديمية بهذه الطريقة. +معظم برامج العروض (PowerPoint أو OpenOffice) تفتقر إلى وظائف تسمح للمستخدمين بدمج العروض بهذه الطريقة. -ومع ذلك، فإن [**Aspose.Slides لـ .NET**](https://products.aspose.com/slides/net/) يتيح لك دمج العروض التقديمية بطرق مختلفة. يمكنك دمج العروض التقديمية مع جميع أشكالها وأنماطها ونصوصها وتنسيقاتها وتعليقاتها وحركاتها، إلخ، دون الحاجة إلى القلق بشأن فقدان الجودة أو البيانات. +[**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/) يتيح لك دمج العروض بطرق مختلفة. يمكنك دمج العروض مع جميع الأشكال والأنماط والنصوص والتنسيقات والتعليقات والرسوم المتحركة، دون القلق من فقدان الجودة أو البيانات. -**انظر أيضًا** +**انظر أيضاً** -[نسخ الشرائح](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* +[Clone Slides](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* {{% /alert %}} -### **ما الذي يمكن دمجه** +### **ما يمكن دمجه** باستخدام Aspose.Slides، يمكنك دمج -* العروض التقديمية الكاملة. جميع الشرائح من العروض التقديمية تنتهي في عرض تقديمي واحد -* شرائح محددة. تنتهي الشرائح المحددة في عرض تقديمي واحد -* العروض التقديمية بتنسيق واحد (PPT إلى PPT، PPTX إلى PPTX، إلخ) وفي تنسيقات مختلفة (PPT إلى PPTX، PPTX إلى ODP، إلخ) مع بعضها البعض. +* عروض كاملة. جميع الشرائح من العروض تنتهي في عرض واحد +* شرائح محددة. الشرائح المختارة تنتهي في عرض واحد +* عروض بصيغة واحدة (PPT إلى PPT، PPTX إلى PPTX، إلخ) أو بصيغ مختلفة (PPT إلى PPTX، PPTX إلى ODP، إلخ) مع بعضها البعض. -{{% alert title="ملاحظة" color="warning" %}} +{{% alert title="Note" color="warning" %}} -بجانب العروض التقديمية، يسمح لك Aspose.Slides بدمج ملفات أخرى: +إضافة إلى العروض، تتيح لك Aspose.Slides دمج ملفات أخرى: -* [صور](https://products.aspose.com/slides/net/merger/image-to-image/)، مثل [JPG إلى JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/) أو [PNG إلى PNG](https://products.aspose.com/slides/net/merger/png-to-png/) -* مستندات، مثل [PDF إلى PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/) أو [HTML إلى HTML](https://products.aspose.com/slides/net/merger/html-to-html/) -* وملفين مختلفين مثل [صورة إلى PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/) أو [JPG إلى PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/) أو [TIFF إلى PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/). +* [الصور](https://products.aspose.com/slides/net/merger/image-to-image/)، مثل [JPG إلى JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/) أو [PNG إلى PNG](https://products.aspose.com/slides/net/merger/png-to-png/) +* المستندات، مثل [PDF إلى PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/) أو [HTML إلى HTML](https://products.aspose.com/slides/net/merger/html-to-html/) +* ملفين مختلفين مثل [صورة إلى PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/) أو [JPG إلى PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/) أو [TIFF إلى PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/). {{% /alert %}} ### **خيارات الدمج** -يمكنك تطبيق خيارات تحدد ما إذا كانت - -* كل شريحة في العرض التقديمي الناتج تحتفظ بأسلوب فريد -* يُستخدم أسلوب محدد لجميع الشرائح في العرض التقديمي الناتج. +يمكنك تطبيق خيارات تحدد ما إذا كان -لدمج العروض التقديمية، يوفر Aspose.Slides طرق [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) (من واجهة [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection)). هناك عدة تنفيذات لطرق `AddClone` التي تحدد معلمات عملية دمج العروض التقديمية. كل كائن Presentation لديه مجموعة [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides)، لذا يمكنك استدعاء طريقة `AddClone` من العرض التقديمي الذي ترغب في دمج الشرائح فيه. +* كل شريحة في العرض الناتج تحتفظ بنمط فريد +* يُستخدم نمط محدد لجميع الشرائح في العرض الناتج. -ترجع طريقة `AddClone` كائن `ISlide`، وهو نسخة من الشريحة المصدر. الشرائح في العرض التقديمي الناتج هي ببساطة نسخة من الشرائح من المصدر. لذلك، يمكنك إجراء تغييرات على الشرائح الناتجة (على سبيل المثال، تطبيق أنماط أو خيارات تنسيق أو تخطيطات) دون القلق بشأن تأثيرها على العروض التقديمية المصدر. +لدمج العروض، توفر Aspose.Slides طريقة [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) (من واجهة [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection)). هناك عدة تطبيقات لطريقة `AddClone` تحدد معايير عملية دمج العروض. كل كائن Presentation يحتوي على مجموعة [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides)، لذا يمكنك استدعاء طريقة `AddClone` من العرض الذي تريد دمج الشرائح فيه. -## **دمج العروض التقديمية** +طريقة `AddClone` تُعيد كائن `ISlide`، وهو نسخة من الشريحة المصدر. الشرائح في العرض الناتج تكون مجرد نسخة من الشرائح الأصلية. وبالتالي يمكنك تعديل الشرائح الناتجة (مثل تطبيق أنماط أو خيارات تنسيق أو تخطيطات) دون القلق من تأثير ذلك على العروض المصدر. -يوفر Aspose.Slides طريقة [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) التي تسمح لك بدمج الشرائح بينما تحتفظ الشرائح بتنسيقاتها وأنماطها (الإعدادات الافتراضية). +## **دمج العروض** -يظهر لك هذا الكود بلغة C# كيفية دمج العروض التقديمية: +توفر Aspose.Slides الطريقة [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) التي تسمح لك بدمج الشرائح مع بقاء تخطيطاتها وأنماطها (المعلمات الافتراضية). +هذا الكود C# يوضح كيفية دمج العروض: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -81,12 +95,12 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **دمج العروض التقديمية مع شريحة ماسك** -يوفر Aspose.Slides الطريقة [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2) التي تتيح لك دمج الشرائح مع تطبيق قالب عرض تقديمي لماسك الشريحة. بهذه الطريقة، إذا لزم الأمر، يمكنك تغيير النمط للشرائح في العرض التقديمي الناتج. +## **دمج العروض مع Slide Master** -يظهر هذا الكود بلغة C# العملية الموضحة: +توفر Aspose.Slides الطريقة [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2) التي تسمح بدمج الشرائح مع تطبيق قالب شريحة رئيسية. بهذه الطريقة، إذا لزم الأمر، يمكنك تغيير النمط للشرائح في العرض الناتج. +هذا الكود في C# يوضح العملية المذكورة: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -100,35 +114,59 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -{{% alert title="ملاحظة" color="warning" %}} -يتم تحديد تخطيط الشريحة لماسك الشريحة تلقائيًا. عندما لا يمكن تحديد تخطيط مناسب، إذا كانت قيمة المعلمة المنطقية `allowCloneMissingLayout` لطريقة `AddClone` مضبوطة على true، يُستخدم التخطيط للشريحة المصدر. خلاف ذلك، سيتم طرح [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception). +{{% alert title="Note" color="warning" %}} + +يتم تحديد تخطيط الشريحة الرئيسية تلقائيًا. عندما لا يمكن تحديد تخطيط مناسب، إذا تم تعيين المعامل البولياني `allowCloneMissingLayout` لطريقة `AddClone` إلى true، يُستخدم تخطيط الشريحة المصدر. وإلا سيتم رمي استثناء [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception). {{% /alert %}} -إذا كنت ترغب في أن تحتوي الشرائح في العرض التقديمي الناتج على تخطيط شريحة مختلف، استخدم الطريقة [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1) بدلاً من ذلك عند الدمج. +إذا رغبت بأن تكون للشرائح في العرض الناتج تخطيط شريحة مختلف، استخدم طريقة [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1) بدلاً من ذلك أثناء الدمج. -## **دمج شرائح محددة من العروض التقديمية** +## **دمج شرائح محددة من العروض** -يعرض لك هذا الكود بلغة C# كيفية تحديد ودمج شرائح محددة من عروض تقديمية مختلفة للحصول على عرض تقديمي الناتج: +دمج شرائح محددة من عدة عروض مفيد لإنشاء مجموعة شرائح مخصصة. يتيح لك Aspose.Slides for .NET اختيار واستيراد الشرائح التي تحتاجها فقط. تحافظ الواجهة البرمجية على تنسيق وتصميم الشرائح الأصلية. -```c# -using (Presentation pres1 = new Presentation("pres1.pptx"), - pres2 = new Presentation("pres2.pptx")) +الكود C# التالي ينشئ عرضًا جديدًا، يضيف شرائح عنوان من عرضين آخرين، ثم يحفظ النتيجة في ملف: +```cs +using (Presentation presentation = new Presentation()) +using (Presentation presentation1 = new Presentation("presentation1.pptx")) +using (Presentation presentation2 = new Presentation("presentation2.pptx")) { - foreach (ISlide slide in pres2.Slides) + presentation.Slides.RemoveAt(0); + + ISlide slide1 = GetTitleSlide(presentation1); + + if (slide1 != null) + presentation.Slides.AddClone(slide1); + + ISlide slide2 = GetTitleSlide(presentation2); + + if (slide2 != null) + presentation.Slides.AddClone(slide2); + + presentation.Save("combined.pptx", SaveFormat.Pptx); +} +``` + +```cs +static ISlide GetTitleSlide(IPresentation presentation) +{ + foreach (ISlide slide in presentation.Slides) { - pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]); + if (slide.LayoutSlide.LayoutType == SlideLayoutType.Title) + { + return slide; + } } - - pres1.Save("combined.pptx", SaveFormat.Pptx); + return null; } ``` -## **دمج العروض التقديمية مع تخطيط الشريحة** -يعرض لك هذا الكود بلغة C# كيفية دمج الشرائح من العروض التقديمية مع تطبيق تخطيط الشريحة المفضل لديك للحصول على عرض تقديمي واحد: +## **دمج العروض مع تخطيط الشريحة** +هذا الكود C# يوضح كيفية دمج الشرائح من العروض مع تطبيق تخطيط شريحة مفضل للحصول على عرض نهائي واحد: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -142,18 +180,18 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **دمج العروض التقديمية مع أحجام شرائح مختلفة** -{{% alert title="ملاحظة" color="warning" %}} +## **دمج العروض بأحجام شرائح مختلفة** -لا يمكنك دمج العروض التقديمية مع أحجام شرائح مختلفة. +{{% alert title="Note" color="warning" %}} -{{% /alert %}} +لا يمكن دمج العروض ذات أحجام شرائح مختلفة. -لدمج عرضين تقديميين بأحجام شرائح مختلفة، عليك إعادة ضبط حجم أحد العروض التقديمية ليطابق حجم العرض الآخر. +{{% /alert %}} -يظهر هذا الكود المصدري العملية الموضحة: +لدمج عرضين بأحجام شرائح مختلفة، يجب تعديل حجم أحد العروض لتطابق حجم العرض الآخر. +هذا المثال يوضح العملية المذكورة: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -169,10 +207,10 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **دمج الشرائح في قسم العرض التقديمي** -يعرض لك هذا الكود بلغة C# كيفية دمج شريحة محددة في قسم معين داخل عرض تقديمي: +## **دمج الشرائح إلى قسم في العرض** +هذا الكود C# يوضح كيفية دمج شريحة محددة إلى قسم في عرض: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -187,10 +225,29 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -تُضاف الشريحة في نهاية القسم. -{{% alert title="نصيحة" color="primary" %}} +يتم إضافة الشريحة في نهاية القسم. + +{{% alert title="Tip" color="primary" %}} + +توفر Aspose تطبيق ويب [FREE Collage](https://products.aspose.app/slides/collage) مجانًا. باستخدام هذه الخدمة عبر الإنترنت، يمكنك دمج [JPG إلى JPG](https://products.aspose.app/slides/collage/jpg) أو PNG إلى PNG، وإنشاء [شبكات صور](https://products.aspose.app/slides/collage/photo-grid)، وغيرها. + +{{% /alert %}} + +## **الأسئلة الشائعة** + +**هل تُحافظ ملاحظات المتحدث أثناء الدمج؟** + +نعم. عند استنساخ الشرائح، تقوم Aspose.Slides بنقل جميع عناصر الشريحة، بما في ذلك الملاحظات والتنسيقات والرسوم المتحركة. + +**هل تُنقل التعليقات ومؤلفوها؟** + +التعليقات، كجزء من محتوى الشريحة، تُنسخ مع الشريحة. تُحافظ تسميات مؤلفي التعليقات ككائنات تعليق في العرض الناتج. + +**ماذا لو كان العرض المصدر محميًا بكلمة مرور؟** + +يجب [فتح العرض باستخدام كلمة المرور](/slides/ar/net/password-protected-presentation/) عبر [LoadOptions.Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/); بعد التحميل، يمكن استنساخ تلك الشرائح بأمان إلى ملف هدف غير محمي (أو محمي أيضًا). -يوفر Aspose تطبيق ويب [مجانًا](https://products.aspose.app/slides/collage) Collage. باستخدام هذه الخدمة عبر الإنترنت، يمكنك دمج [JPG إلى JPG](https://products.aspose.app/slides/collage/jpg) أو صور PNG إلى PNG، وإنشاء [شبكات الصور](https://products.aspose.app/slides/collage/photo-grid)، وما إلى ذلك. +**ما مدى أمان العملية في بيئة متعددة الخيوط؟** -{{% /alert %}} \ No newline at end of file +لا تستخدم نفس كائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) من [عدة خيوط](/slides/ar/net/multithreading/). القاعدة الموصى بها هي "مستند واحد — خيط واحد"؛ يمكن معالجة ملفات مختلفة بالتوازي في خيوط منفصلة. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/open-presentation/_index.md b/ar/net/developer-guide/manage-presentation/open-presentation/_index.md index 282aa83ca5..e70c5808d6 100644 --- a/ar/net/developer-guide/manage-presentation/open-presentation/_index.md +++ b/ar/net/developer-guide/manage-presentation/open-presentation/_index.md @@ -1,108 +1,129 @@ --- -title: فتح العرض التقديمي في C# -linktitle: فتح العرض التقديمي +title: فتح عرض تقديمي بلغة C# +linktitle: فتح العروض التقديمية type: docs weight: 20 url: /ar/net/open-presentation/ -keywords: "فتح باوربوينت, PPTX, PPT, فتح العرض التقديمي, تحميل العرض التقديمي, C#, Csharp, .NET" -description: "فتح أو تحميل عرض تقديمي PPT, PPTX, ODP في C# أو .NET" +keywords: +- فتح PowerPoint +- فتح عرض تقديمي +- فتح PPTX +- فتح PPT +- فتح ODP +- تحميل عرض تقديمي +- تحميل PPTX +- تحميل PPT +- تحميل ODP +- عرض تقديمي محمي +- عرض تقديمي كبير +- مصدر خارجي +- كائن ثنائي +- .NET +- C# +- Aspose.Slides +description: "فتح عروض PowerPoint (.pptx, .ppt) و OpenDocument (.odp) بسهولة باستخدام Aspose.Slides لـ .NET—سريع، موثوق، ومزود بجميع الميزات." --- -بجانب إنشاء عروض باوربوينت من الصفر، يسمح Aspose.Slides بفتح العروض الموجودة. بعد تحميل العرض التقديمي، يمكنك الحصول على معلومات حول العرض، تعديل العرض (المحتوى الموجود على شرائحه)، إضافة شرائح جديدة أو إزالة الموجودة منها، إلخ. +## **نظرة عامة** -## فتح العرض التقديمي +بعيدًا عن إنشاء عروض PowerPoint من الصفر، Aspose.Slides يتيح لك أيضًا فتح العروض التقديمية الموجودة. بعد تحميل عرض تقديمي، يمكنك استرجاع معلومات حوله، تحرير محتوى الشرائح، إضافة شرائح جديدة، إزالة الشرائح الحالية، وأكثر من ذلك. -لفتح عرض تقديمي موجود، عليك ببساطة إنشاء كائن من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) وتمرير مسار الملف (إلى العرض الذي تريد فتحه) إلى مُنشئه. +## **فتح العروض التقديمية** -هذا الكود في C# يوضح لك كيفية فتح عرض تقديمي ومعرفة عدد الشرائح التي يحتوي عليها: +لفتح عرض تقديمي موجود، أنشئ كائنًا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) ومرّر مسار الملف إلى المُنشئ الخاص بها. -```c# -// إنشاء كائن من فئة Presentation وتمرير مسار الملف إلى مُنشئه -Presentation pres = new Presentation("OpenPresentation.pptx"); - -// طباعة العدد الكلي للشرائح الموجودة في العرض -System.Console.WriteLine(pres.Slides.Count.ToString()); +```cs +// إنشاء كائن من فئة Presentation وتمرير مسار ملف إلى المُنشئ الخاص به. +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + // طباعة العدد الإجمالي للشرائح في العرض التقديمي. + System.Console.WriteLine(presentation.Slides.Count); +} ``` -## **فتح العرض التقديمي المحمي بكلمة مرور** -عندما تحتاج إلى فتح عرض تقديمي محمي بكلمة مرور، يمكنك تمرير كلمة المرور من خلال خاصية [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) (من فئة [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/)) لفك تشفير العرض وتحميله. هذا الكود في C# يوضح العملية: +## **فتح العروض التقديمية المحمية بكلمة مرور** + +عند الحاجة إلى فتح عرض تقديمي محمي بكلمة مرور، مرّر كلمة المرور عبر خاصية [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) لكائن [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) لفك التشفير وتحميله. يُظهر مثال C# التالي هذه العملية: -```c# - LoadOptions loadOptions = new LoadOptions {Password = "YOUR_PASSWORD"}; - using (Presentation presentation = new Presentation("pres.pptx", loadOptions)) - { - // قم ببعض العمل مع العرض المفكوك التشفير - } +```cs +LoadOptions loadOptions = new LoadOptions {Password = "YOUR_PASSWORD"}; +using (Presentation presentation = new Presentation("Sample.pptx", loadOptions)) +{ + // إجراء عمليات على العرض التقديمي المفكك. +} ``` -## فتح عرض تقديمي كبير -يوفر Aspose.Slides خيارات (خاصية [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) بشكل خاص) ضمن فئة [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) لتمكينك من تحميل العروض الكبيرة. +## **فتح العروض التقديمية الكبيرة** + +Aspose.Slides يوفر خيارات—وخاصة خاصية [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) في كائن [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/)—لمساعدتك على تحميل عروض تقديمية كبيرة. -هذا الكود في C# يوضح عملية تحميل عرض تقديمي كبير (على سبيل المثال 2 جيجابايت في الحجم): +يُظهر مثال C# التالي تحميل عرض تقديمي كبير (على سبيل المثال، 2 جيجابايت): -```c# -const string pathToVeryLargePresentationFile = "veryLargePresentation.pptx"; +```cs +const string filePath = "LargePresentation.pptx"; LoadOptions loadOptions = new LoadOptions { - BlobManagementOptions = { - // لنقم باختيار سلوك KeepLocked - "veryLargePresentation.pptx" سيتم قفله طوال - // عمر كائن العرض، ولكننا لا نحتاج إلى تحميله في الذاكرة أو نسخه إلى - // ملف مؤقت + BlobManagementOptions = + { + // اختر سلوك KeepLocked — سيستمر ملف العرض مقفولًا طوال فترة + // كائن Presentation، ولكن لا يلزم تحميله إلى الذاكرة أو نسخه إلى ملف مؤقت. PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, + IsTemporaryFilesAllowed = true, + MaxBlobsBytesInMemory = 10 * 1024 * 1024 // 10 ميغابايت } }; -using (Presentation pres = new Presentation(pathToVeryLargePresentationFile, loadOptions)) +using (Presentation presentation = new Presentation(filePath, loadOptions)) { - // تم تحميل العرض الكبير ويمكن استخدامه، لكن استهلاك الذاكرة لا يزال منخفضًا. + // تم تحميل العرض التقديمي الكبير ويمكن استخدامه، مع بقاء استهلاك الذاكرة منخفضًا. - // إجراء تغييرات على العرض. - pres.Slides[0].Name = "عرض كبير جداً"; + // إجرِ تغييرات على العرض التقديمي. + presentation.Slides[0].Name = "Large presentation"; - // سيتم حفظ العرض في ملف آخر. يبقى استهلاك الذاكرة منخفضاً خلال العملية - pres.Save("veryLargePresentation-copy.pptx", SaveFormat.Pptx); + // احفظ العرض التقديمي إلى ملف آخر. يبقى استهلاك الذاكرة منخفضًا أثناء هذه العملية. + presentation.Save("LargePresentation-copy.pptx", SaveFormat.Pptx); - // لا يمكن القيام بذلك! سيتم رمي استثناء IO، لأن الملف مقفل بينما لن يتم - // إتلاف كائنات pres - File.Delete(pathToVeryLargePresentationFile); + // لا تفعل ذلك! سيتم إلقاء استثناء إدخال/إخراج لأن الملف مقفول حتى يتم التخلص من كائن Presentation. + File.Delete(filePath); } -// من الجيد القيام بذلك هنا، حيث أن الملف المصدر ليس مقفلاً بواسطة كائن pres -File.Delete(pathToVeryLargePresentationFile); +// لا مشكلة في القيام بذلك هنا. لم يعد ملف المصدر مقفولًا بواسطة كائن Presentation. +File.Delete(filePath); ``` -{{% alert color="info" title="معلومات" %}} -لتجاوز بعض القيود عند التفاعل مع التدفقات، قد يقوم Aspose.Slides بنسخ محتويات التدفق. تحميل عرض تقديمي كبير من خلال تدفقه سيؤدي إلى نسخ محتويات العرض وقد يتسبب في تحميل بطيء. لذلك، عندما تنوي تحميل عرض تقديمي كبير، نوصي بشدة باستخدام مسار ملف العرض وليس تدفقه. +{{% alert color="info" title="معلومات" %}} +لتجاوز بعض القيود عند العمل مع التيارات، قد تقوم Aspose.Slides بنسخ محتوى التيار. تحميل عرض تقديمي كبير من تيار يؤدي إلى نسخ العرض وقد يبطئ عملية التحميل. لذلك، عندما تحتاج إلى تحميل عرض تقديمي كبير، نوصي بشدة باستخدام مسار ملف العرض بدلاً من التيار. -عندما تريد إنشاء عرض يحتوي على كائنات كبيرة (فيديو، صوت، صور كبيرة، إلخ)، يمكنك استخدام [تسهيلات Blob](https://docs.aspose.com/slides/net/manage-blob/) لتقليل استهلاك الذاكرة. +عند إنشاء عرض تقديمي يحتوي على كائنات كبيرة (فيديو، صوت، صور عالية الدقة، إلخ)، يمكنك استخدام [BLOB management](/slides/ar/net/manage-blob/) لتقليل استهلاك الذاكرة. +{{%/alert %}} -{{%/alert %}} +## **التحكم في الموارد الخارجية** +Aspose.Slides يوفر الواجهة [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) التي تسمح لك بإدارة الموارد الخارجية. يُظهر مثال C# التالي كيفية استخدام الواجهة `IResourceLoadingCallback`: -## تحميل العرض التقديمي -يوفر Aspose.Slides [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) مع طريقة واحدة تتيح لك إدارة الموارد الخارجية. هذا الكود في C# يوضح لك كيفية استخدام واجهة `IResourceLoadingCallback`: +```cs +LoadOptions loadOptions = new LoadOptions(); +loadOptions.ResourceLoadingCallback = new ImageLoadingHandler(); -```c# -LoadOptions opts = new LoadOptions(); -opts.ResourceLoadingCallback = new ImageLoadingHandler(); -Presentation presentation = new Presentation("presentation.pptx", opts); +Presentation presentation = new Presentation("Sample.pptx", loadOptions); ``` -```c# +```cs public class ImageLoadingHandler : IResourceLoadingCallback { public ResourceLoadingAction ResourceLoading(IResourceLoadingArgs args) { if (args.OriginalUri.EndsWith(".jpg")) { - try // تحميل صورة بديلة + try { - byte[] imageBytes = File.ReadAllBytes("c:\\aspose-logo.jpg"); - args.SetData(imageBytes); + // تحميل صورة بديلة. + byte[] imageData = File.ReadAllBytes("aspose-logo.jpg"); + args.SetData(imageData); return ResourceLoadingAction.UserProvided; } catch (Exception) @@ -112,53 +133,53 @@ public class ImageLoadingHandler : IResourceLoadingCallback } else if (args.OriginalUri.EndsWith(".png")) { - // تعيين عنوان URL بديل + // تعيين عنوان URL بديل. args.Uri = "http://www.google.com/images/logos/ps_logo2.png"; return ResourceLoadingAction.Default; } - // تخطى جميع الصور الأخرى + // تخطي جميع الصور الأخرى. return ResourceLoadingAction.Skip; } } ``` -## تحميل العرض التقديمي دون كائنات ثنائية مدمجة -يمكن أن يحتوي العرض التقديمي على أنواع محددة من الكائنات الثنائية المدمجة: +## **تحميل العروض التقديمية دون كائنات ثنائية مدمجة** -- مشروع VBA ([IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); -- بيانات كائن OLE المدمجة ([IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); -- بيانات التحكم ActiveX الثنائية ([IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)); +يمكن أن يحتوي عرض PowerPoint التقديمي على الأنواع التالية من الكائنات الثنائية المدمجة: -باستخدام خاصية [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/) ، يمكنك تحميل العرض دون أي كائنات ثنائية مدمجة. +- مشروع VBA (يمكن الوصول إليه عبر [IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); +- بيانات كائن OLE المدمجة (يمكن الوصول إليها عبر [IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); +- بيانات ثنائية لعنصر تحكم ActiveX (يمكن الوصول إليها عبر [IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)). -يمكن أن تكون هذه الخاصية مفيدة لإزالة المحتوى الثنائي الضار المحتمل. +باستخدام خاصية [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/)، يمكنك تحميل عرض تقديمي دون أي كائنات ثنائية مدمجة. -هذا الكود في C# يظهر كيفية تحميل وحفظ عرض دون أي محتوى ضار: +تُعد هذه الخاصية مفيدة لإزالة المحتوى الثنائي الذي قد يكون خبيثًا. يُظهر مثال C# التالي كيفية تحميل عرض تقديمي دون أي محتوى ثنائي مدمج: -```c# +```cs LoadOptions loadOptions = new LoadOptions() { - DeleteEmbeddedBinaryObjects = true + DeleteEmbeddedBinaryObjects = true } -using (var pres = new Presentation("malware.ppt", loadOptions)) +using (Presentation presentation = new Presentation("malware.ppt", loadOptions)) { - pres.Save("clean.ppt", SaveFormat.Ppt); + // إجراء عمليات على العرض التقديمي. } ``` -

فتح وحفظ العرض التقديمي

-الخطوات: فتح وحفظ العرض التقديمي في C# +## **الأسئلة المتكررة** + +**كيف يمكنني معرفة أن الملف تالف ولا يمكن فتحه؟** + +ستحصل على استثناء أثناء التحليل/التحقق من الصيغة عند التحميل. غالبًا ما تشير مثل هذه الأخطاء إلى بنية ZIP غير صالحة أو سجلات PowerPoint مكسورة. + +**ماذا يحدث إذا كانت الخطوط المطلوبة مفقودة عند الفتح؟** -1. قم بإنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) وتمرير الملف الذي تريد فتحه. -2. احفظ العرض التقديمي. +سيتم فتح الملف، لكن قد يستبدل [التصوير/التصدير](/slides/ar/net/convert-presentation/) الخطوط لاحقًا. قم بـ[تهيئة استبدال الخطوط](/slides/ar/net/font-substitution/) أو [إضافة الخطوط المطلوبة](/slides/ar/net/custom-font/) إلى بيئة الوقت التشغيلي. -```c# -// تحميل أي عرض تقديمي مدعوم مثل ppt, pptx, odp -Presentation presentation = new Presentation("Sample.odp"); +**ماذا عن الوسائط المدمجة (فيديو/صوت) عند الفتح؟** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +تصبح الوسائط متاحة كموارد للعرض التقديمي. إذا كانت الوسائط مُشار إليها عبر مسارات خارجية، تأكد من توفر تلك المسارات في بيئتك؛ وإلا قد تُهمل [التصوير/التصدير](/slides/ar/net/convert-presentation/) تلك الوسائط. \ No newline at end of file diff --git a/ar/net/developer-guide/manage-presentation/save-presentation/_index.md b/ar/net/developer-guide/manage-presentation/save-presentation/_index.md index 362500d5fd..790080266f 100644 --- a/ar/net/developer-guide/manage-presentation/save-presentation/_index.md +++ b/ar/net/developer-guide/manage-presentation/save-presentation/_index.md @@ -1,154 +1,201 @@ --- -title: حفظ العرض التقديمي في .NET -linktitle: حفظ العرض التقديمي +title: حفظ العروض التقديمية في .NET +linktitle: حفظ العروض التقديمية type: docs weight: 80 url: /ar/net/save-presentation/ -keywords: "حفظ PowerPoint, PPT, PPTX, حفظ العرض التقديمي, ملف, تدفق, C#, Csharp, .NET" -description: "حفظ عرض PowerPoint كملف أو تدفق في C# أو .NET" +keywords: +- حفظ PowerPoint +- حفظ OpenDocument +- حفظ العرض التقديمي +- حفظ الشريحة +- حفظ PPT +- حفظ PPTX +- حفظ ODP +- عرض تقديمي إلى ملف +- عرض تقديمي إلى تيار +- نوع عرض مسبق التعريف +- تنسيق Strict Office Open XML +- وضع Zip64 +- تحديث الصورة المصغرة +- حفظ التقدم +- .NET +- C# +- Aspose.Slides +description: "اكتشف كيفية حفظ العروض التقديمية في .NET باستخدام Aspose.Slides—تصدير إلى PowerPoint أو OpenDocument مع الحفاظ على التخطيطات والخطوط والمؤثرات." --- -## **حفظ العرض التقديمي** -فتح عرض تقديمي وصف كيف تستخدم فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) لفتح عرض تقديمي. يشرح هذا المقال كيفية إنشاء وحفظ العروض التقديمية. -تحتوي فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) على محتوى العرض التقديمي. سواء كنت تنشئ عرضًا تقديميًا من الصفر أو تعدل أحد العروض الموجودة، عند الانتهاء، تريد حفظ العرض التقديمي. باستخدام Aspose.Slides لـ .NET، يمكن حفظه كـ **ملف** أو **تدفق**. يشرح هذا المقال كيفية حفظ عرض تقديمي بطرق مختلفة: +## **نظرة عامة** -### **حفظ العروض التقديمية إلى ملفات** -احفظ العرض التقديمي كملف عن طريق استدعاء طريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) في فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). ببساطة مرر اسم الملف ونوع الحفظ إلى طريقة [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index). تظهر الأمثلة التالية كيفية حفظ عرض تقديمي باستخدام Aspose.Slides لـ .NET باستخدام C#. +[فتح العروض التقديمية في C#](/slides/ar/net/open-presentation/) يوضح كيفية استخدام فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) لفتح عرض تقديمي. يشرح هذا المقال كيفية إنشاء العروض التقديمية وحفظها. فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) تحتوي على محتويات العرض. سواء كنت تنشئ عرضًا تقديميًا من الصفر أو تعدّل عرضًا موجودًا، فستحتاج إلى حفظه عندما تنتهي. مع Aspose.Slides for .NET يمكنك الحفظ إلى **ملف** أو **تيار**. يوضح هذا المقال الطرق المختلفة لحفظ عرض تقديمي. -```c# -// أنشئ كائن Presentation يمثل ملف PPT -Presentation presentation= new Presentation(); +## **حفظ العروض التقديمية إلى ملفات** -//...قم ببعض العمل هنا... +احفظ عرضًا تقديميًا إلى ملف عن طريق استدعاء طريقة `Save` في فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). مرّر اسم الملف وتنسيق الحفظ إلى الطريقة. المثال التالي يوضح كيفية حفظ عرض تقديمي باستخدام Aspose.Slides. +```cs +// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي. +using (Presentation presentation = new Presentation()) +{ + // قم ببعض الأعمال هنا... -// احفظ عرضك التقديمي كملف -presentation.Save("Saved_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); + // حفظ العرض التقديمي إلى ملف. + presentation.Save("Output.pptx", SaveFormat.Pptx); +} ``` -### **حفظ العروض التقديمية إلى تدفقات** -من الممكن حفظ العرض التقديمي إلى تدفق عن طريق تمرير تدفق الإخراج إلى طريقة حفظ فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). هناك العديد من أنواع التدفقات التي يمكن حفظ العرض التقديمي إليها. في المثال أدناه، أنشأنا ملف عرض تقديمي جديد، وأضفنا نصًا في شكل وحفظنا العرض التقديمي في التدفق. -```c# -// أنشئ كائن Presentation يمثل ملف PPT +## **حفظ العروض التقديمية إلى تيارات** + +يمكنك حفظ عرض تقديمي إلى تيار بتمرير تيار إخراج إلى طريقة `Save` في فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). يمكن كتابة العرض إلى العديد من أنواع التيارات. في المثال أدناه، ننشئ عرضًا تقديميًا جديدًا ونحفظه إلى تيار ملف. +```cs +// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي. using (Presentation presentation = new Presentation()) { + using (FileStream fileStream = new FileStream("Output.pptx", FileMode.Create)) + { + // حفظ العرض التقديمي إلى التيار. + presentation.Save(fileStream, SaveFormat.Pptx); + } +} +``` - IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 200, 200); - // أضف نصًا إلى الشكل - shape.TextFrame.Text = "توضح هذه التجربة كيفية إنشاء ملف PowerPoint وحفظه في تدفق."; +## **حفظ العروض التقديمية بنوع عرض مسبق التعريف** - FileStream toStream = new FileStream("Save_As_Stream_out.pptx", FileMode.Create); - presentation.Save(toStream, Aspose.Slides.Export.SaveFormat.Pptx); - toStream.Close(); +يتيح لك Aspose.Slides تعيين العرض الأولي الذي يستخدمه PowerPoint عند فتح العرض المولد عبر فئة [ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/). عيّن خاصية [LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/lastview/) إلى قيمة من تعداد [ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype/). +```cs +using (Presentation presentation = new Presentation()) +{ + presentation.ViewProperties.LastView = ViewType.SlideMasterView; + presentation.Save("SlideMasterView.pptx", SaveFormat.Pptx); } ``` -### **حفظ العروض التقديمية مع نوع العرض المحدد مسبقًا** -توفر Aspose.Slides لـ .NET إمكانية تعيين نوع العرض للعروض التقديمية المولدة عندما يتم فتحها في PowerPoint من خلال فئة [ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties). يتم استخدام خاصية [LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/properties/lastview) لتعيين نوع العرض باستخدام المُعداد [ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype). -```csharp -using (Presentation pres = new Presentation()) +## **حفظ العروض التقديمية بتنسيق Strict Office Open XML** + +يتيح لك Aspose.Slides حفظ عرض تقديمي بتنسيق Strict Office Open XML. استخدم فئة [PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/) وعين خاصية التوافق عند الحفظ. إذا عينت `Conformance.Iso29500_2008_Strict`، يتم حفظ ملف الإخراج بتنسيق Strict Office Open XML. + +يوضح المثال أدناه إنشاء عرض تقديمي وحفظه بتنسيق Strict Office Open XML. +```cs +PptxOptions options = new PptxOptions() { - pres.ViewProperties.LastView = ViewType.SlideMasterView; - pres.Save("pres-will-open-SlideMasterView.pptx", SaveFormat.Pptx); + Conformance = Conformance.Iso29500_2008_Strict +}; + +// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي. +using (Presentation presentation = new Presentation()) +{ + // حفظ العرض التقديمي بتنسيق Strict Office Open XML. + presentation.Save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options); } ``` -### **حفظ العروض التقديمية في تنسيق Office Open XML الصارم** -يسمح لك Aspose.Slides بحفظ العرض التقديمي في تنسيق Office Open XML الصارم. لهذا الغرض، توفر فئة [**Aspose.Slides.Export.PptxOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions) حيث يمكنك تعيين خاصية Conformance أثناء حفظ ملف العرض التقديمي. إذا قمت بتعيين قيمتها إلى Conformance.Iso29500_2008_Strict، فسيتم حفظ ملف العرض التقديمي الناتج في تنسيق Office Open XML الصارم. -ينشئ نموذج الشيفرة التالي عرضًا تقديميًا ويحفظه في تنسيق Office Open XML الصارم. عند استدعاء طريقة الحفظ للعرض التقديمي، يتم تمرير كائن **[Aspose.Slides.Export.PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions)** معه مع تعيين خاصية [**Conformance**](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/properties/conformance) على [**Conformance.Iso29500_2008_Strict**](https://reference.aspose.com/slides/net/aspose.slides.export/conformance). +## **حفظ العروض التقديمية بتنسيق Office Open XML في وضع Zip64** + +ملف Office Open XML هو أرشيف ZIP يفرض حدودًا بحجم 4 GB (2^32 بايت) على الحجم غير المضغوط لأي ملف، وحجم ضغط أي ملف، وإجمالي حجم الأرشيف، كما يحد عدد الملفات إلى 65 535 (2^16‑1). تمددات تنسيق ZIP64 ترفع هذه الحدود إلى 2^64. -```csharp - // أنشئ كائن Presentation يمثل ملف عرض تقديمي - using (Presentation presentation = new Presentation()) - { - // احصل على الشريحة الأولى - ISlide slide = presentation.Slides[0]; +خاصية [IPptxOptions.Zip64Mode](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/) تتيح لك اختيار متى تُستخدم امتدادات تنسيق ZIP64 عند حفظ ملف Office Open XML. - // أضف شكلًا تلقائيًا من نوع خط - slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); +توفر هذه الخاصية الأوضاع التالية: - // احفظ العرض التقديمي في تنسيق Office Open XML الصارم - presentation.Save(dataDir + "NewPresentation_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx, - new PptxOptions() { Conformance = Conformance.Iso29500_2008_Strict }); +- `IfNecessary` يستخدم امتدادات ZIP64 فقط إذا تجاوز العرض القيود المذكورة أعلاه. هذا هو الوضع الافتراضي. +- `Never` لا يستخدم امتدادات ZIP64 أبدًا. +- `Always` يستخدم امتدادات ZIP64 دائمًا. - } +يعرض الكود التالي كيفية حفظ عرض تقديمي كـ PPTX مع تمكين امتدادات تنسيق ZIP64: +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + presentation.Save("OutputZip64.pptx", SaveFormat.Pptx, new PptxOptions() + { + Zip64Mode = Zip64Mode.Always + }); +} ``` -### **حفظ العروض التقديمية في تنسيق Office Open XML في وضع Zip64** -ملف Office Open XML هو أرشيف ZIP له حد يصل إلى 4 جيجا بايت (2^32 بايت) على الحجم غير المضغوط لملف، والحجم المضغوط لملف، والحجم الإجمالي للأرشيف، بالإضافة إلى حد يبلغ 65,535 (2^16-1) ملف في الأرشيف. تزيد امتدادات تنسيق ZIP64 الحدود إلى 2^64. -تسمح لك خاصية [**IPptxOptions.Zip64Mode**](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/) باختيار متى يجب استخدام امتدادات تنسيق ZIP64 للملف Office Open XML المحفوظ. +{{% alert title="NOTE" color="warning" %}} -توفر هذه الخاصية الأوضاع التالية: +عند الحفظ باستخدام `Zip64Mode.Never`، يُطرح استثناء [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/) إذا تعذّر حفظ العرض بتنسيق ZIP32. -- [Zip64Mode.IfNecessary](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) تعني أن امتدادات تنسيق ZIP64 ستستخدم فقط إذا كان العرض التقديمي يتجاوز الحدود المذكورة أعلاه. هذا هو الوضع الافتراضي. -- [Zip64Mode.Never](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) تعني أنه لن يتم استخدام امتدادات تنسيق ZIP64. -- [Zip64Mode.Always](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) تعني أنه سيتم دائمًا استخدام امتدادات تنسيق ZIP64. +{{% /alert %}} + +## **حفظ العروض التقديمية دون تحديث الصورة المصغرة** -توضح الشيفرة التالية كيف تحفظ العرض التقديمي في تنسيق PPTX مع امتدادات تنسيق ZIP64: +خاصية [PptxOptions.RefreshThumbnail](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/refreshthumbnail/) تتحكم في إنشاء الصورة المصغرة عند حفظ عرض تقديمي إلى PPTX: -```c# -using (Presentation pres = new Presentation("Sample.pptx")) +- إذا عُينت إلى `true`، تُحدث الصورة المصغرة أثناء الحفظ. هذا هو الوضع الافتراضي. +- إذا عُينت إلى `false`، تُحفظ الصورة المصغرة الحالية. إذا لم يكن للعرض صورة مصغرة، لن يُنشأ أي شيء. + +في الكود أدناه، يُحفظ العرض إلى PPTX دون تحديث صورته المصغرة. +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) { - pres.Save("Sample-zip64.pptx", SaveFormat.Pptx, new PptxOptions() + presentation.Save("Output.pptx", SaveFormat.Pptx, new PptxOptions() { - Zip64Mode = Zip64Mode.Always + RefreshThumbnail = false }); } ``` -{{% alert title="ملاحظة" color="warning" %}} -ستؤدي الحفظ في وضع Zip64Mode.Never إلى رفع استثناء [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/) إذا لم يكن من الممكن حفظ العرض التقديمي في تنسيق ZIP32. +{{% alert title="Info" color="info" %}} + +يساعد هذا الخيار في تقليل الزمن المطلوب لحفظ العرض بتنسيق PPTX. {{% /alert %}} -### **تحديثات حفظ التقدم بنسب مئوية** -تمت إضافة واجهة [**IProgressCallback**](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback) جديدة إلى واجهة [**ISaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions) والفئة المجردة [**SaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions). تمثل واجهة **IProgressCallback** كائنًا للنداء الخلفي لتحديثات التقدم في النسبة المئوية. +## **تحديثات حفظ التقدم كنسبة مئوية** + +يُستخدم واجهة [IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/) عبر خاصية `ProgressCallback` التي تعرّضها واجهة [ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions/) والفئة المجردة [SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/). عيّن تنفيذًا لـ [IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/) إلى `ProgressCallback` لتلقي تحديثات تقدم الحفظ كنسبة مئوية. -تظهر مقتطفات الشيفرة التالية كيفية استخدام واجهة IProgressCallback: +يعرض مقتطفات الكود التالية كيفية استخدام `IProgressCallback`. +```cs +ISaveOptions saveOptions = new PdfOptions(); +saveOptions.ProgressCallback = new ExportProgressHandler(); -```c# -using (Presentation presentation = new Presentation("ConvertToPDF.pptx")) +using (Presentation presentation = new Presentation("Sample.pptx")) { - ISaveOptions saveOptions = new PdfOptions(); - saveOptions.ProgressCallback = new ExportProgressHandler(); - presentation.Save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions); + presentation.Save("Output.pdf", SaveFormat.Pdf, saveOptions); } - ``` -```c# +```cs class ExportProgressHandler : IProgressCallback { public void Reporting(double progressValue) { - // استخدم قيمة النسبة المئوية هنا + // استخدم قيمة نسبة التقدم هنا. int progress = Convert.ToInt32(progressValue); - Console.WriteLine(progress + "% الملف تم تحويله"); + + Console.WriteLine(progress + "% of the file has been converted."); } } ``` -{{% alert title="معلومات" color="info" %}} -باستخدام واجهتها البرمجية الخاصة، طورت Aspose تطبيق [مقسم PowerPoint مجاني](https://products.aspose.app/slides/splitter) يسمح للمستخدمين بتقسيم عروضهم التقديمية إلى ملفات متعددة. أساسًا، يقوم التطبيق بحفظ الشرائح المحددة من عرض تقديمي معين كملفات PowerPoint جديدة (PPTX أو PPT). +{{% alert title="Info" color="info" %}} + +طوّرت Aspose تطبيقًا مجانيًا لتقسيم PowerPoint باستخدام واجهتها البرمجية الخاصة. يتيح لك التطبيق تقسيم عرض تقديمي إلى ملفات متعددة بحفظ الشرائح المختارة كملفات PPTX أو PPT جديدة. {{% /alert %}} -

فتح وحفظ العرض التقديمي

+## **الأسئلة الشائعة** + +**هل يدعم "الحفظ السريع" (الحفظ التدريجي) بحيث تُكتب التغييرات فقط؟** + +لا. كل عملية حفظ تُنشئ الملف الهدف بالكامل؛ الحفظ التدريجي "السريع" غير مدعوم. + +**هل يمكن حفظ نفس كائن Presentation من عدة خيوط بشكل آمن؟** + +لا. كائن [Presentation](/slides/ar/net/multithreading/) غير آمن للخلية المتعددة؛ احفظه من خيط واحد. -الخطوات: فتح وحفظ العرض التقديمي في C# +**ماذا يحدث للروابط التشعبية والملفات المرتبطة خارجياً عند الحفظ؟** -1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) بأي تنسيق مثل PPT، PPTX، ODP إلخ. -2. احفظ _العرض التقديمي_ في أي تنسيق مدعوم بواسطة [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) +يتم الحفاظ على [الروابط التشعبية](/slides/ar/net/manage-hyperlinks/). الملفات المرتبطة خارجياً (مثل الفيديوهات عبر مسارات نسبية) لا تُنسخ تلقائيًا—تأكد من بقاء المسارات المشار إليها متاحة. -```c# -// قم بتحميل أي ملف مدعوم في العرض التقديمي مثل ppt، pptx، odp إلخ. -Presentation presentation = new Presentation("Sample.odp"); +**هل يمكنني تعيين/حفظ بيانات تعريف المستند (المؤلف، العنوان، الشركة، التاريخ)؟** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +نعم. تُدعم خصائص المستند القياسية [/slides/net/presentation-properties/] وسيتم كتابتها إلى الملف عند الحفظ. \ No newline at end of file diff --git a/ar/net/developer-guide/modern-api/_index.md b/ar/net/developer-guide/modern-api/_index.md index 4686906e0a..ee50256603 100644 --- a/ar/net/developer-guide/modern-api/_index.md +++ b/ar/net/developer-guide/modern-api/_index.md @@ -1,60 +1,59 @@ --- -title: واجهة برمجة التطبيقات الحديثة +title: API الحديثة type: docs weight: 237 url: /ar/net/modern-api/ -keywords: "نظام واجهة برمجة التطبيقات الحديثة المتعددة المنصات System.Drawing" -description: "واجهة برمجة التطبيقات الحديثة" +keywords: "CrossPlatform API الحديثة System.Drawing" +description: "API الحديثة" --- -## المقدمة +## **المقدمة** -تاريخياً، كانت Aspose Slides تعتمد على System.Drawing وتحتوي في واجهة برمجة التطبيقات العامة على الفئات التالية من هناك: -- [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) -- [Image](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.image) -- [Bitmap](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.bitmap) -- [PrinterSettings](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.printing.printersettings) +تاريخيًا، يعتمد Aspose Slides على System.Drawing ويحتوي في الـ API العام على الفئات التالية من هناك: +- [رسومات](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) +- [صورة](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.image) +- [صورة نقطية](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.bitmap) +- [إعدادات الطابعة](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.printing.printersettings) -اعتبارًا من الإصدار 24.4، تم إعلان أن واجهة برمجة التطبيقات العامة هذه أصبحت قديمة. +اعتبارًا من الإصدار 24.4، تم إعلان أن هذا الـ API العام مهمل. -نظرًا لأن دعم System.Drawing في الإصدارات .NET6 وما فوق تم إزالته للإصدارات غير الخاصة بنظام ويندوز ([تغيير جذري](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only))، قامت Slides بتنفيذ نهج يعتمد على إصدارين من المكتبة: -- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) - دعم لـ .NET6+ على ويندوز و .NETStandard لنظامي ويندوز / لينوكس / ماك أو إس و .NETFramework 2+ (ويندوز). - - تعتمد على [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/). -- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) - إصدار ويندوز / لينوكس / ماك أو إس بدون تبعيات. +نظرًا لأن دعم System.Drawing في الإصدارات .NET6 وما فوق تم إزالته للإصدارات غير الويندوز ([تغيّر كبير](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only))، اتبع Aspose Slides نهجًا يتضمن مكتبتين: +- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) – يدعم .NET6+ للويندوز، .NETStandard للويندوز/لينكس/ماك OS، .NETFramework 2+ (ويندوز). + - يعتمد على [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/). +- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) – إصدار للويندوز/لينكس/ماك OS بدون تبعيات. -العيب في [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) هو أنه ينفذ نسخته الخاصة من System.Drawing في نفس المساحة الاسمية (للدعم التوافقي مع واجهة برمجة التطبيقات العامة). وبالتالي، عند استخدام Aspose.Slides.NET6.CrossPlatform و System.Drawing من .NETFramework أو حزمة System.Drawing.Common في نفس الوقت، يحدث تعارض في الأسماء ما لم يتم استخدام اسم مستعار. +العيب في [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) هو أنه ينفذ نسخته الخاصة من System.Drawing في نفس النطاق (لدعم التوافق العكسي مع الـ API العام). لذا، عند استخدام Aspose.Slides.NET6.CrossPlatform وSystem.Drawing من .NETFramework أو حزمة System.Drawing.Common في نفس الوقت، يحدث تعارض بالأسماء ما لم يُستخدم alias. -للتخلص من التبعيات على System.Drawing في الحزمة الرئيسية Aspose.Slides.NET، أضفنا ما يسمى "واجهة برمجة التطبيقات الحديثة" - أي الواجهة التي ينبغي استخدامها بدلاً من الواجهة الموقوفة، والتي تحتوي تواقيعها على تبعيات من الأنواع التالية من System.Drawing: Image و Bitmap. وتم إعلان أن PrinterSettings و Graphics أصبحت قديمة وتمت إزالة دعمها من واجهة برمجة التطبيقات العامة لـ Slides. +من أجل التخلص من التبعيات على System.Drawing في حزمة Aspose.Slides.NET الرئيسية، أضفنا ما يُسمى بـ "الـ API الحديث" – أي الـ API الذي يجب استخدامه بدلًا من الـ API المهمل، والتي تُظهر توقيعات تعتمد على الأنواع التالية من System.Drawing: Image و Bitmap. تُعلن عن إهمال PrinterSettings و Graphics وتم إزالة دعمهما من الـ API العام لـ Slides. -سيتم إزالة واجهة برمجة التطبيقات العامة القديمة التي تحتوي على تبعيات على System.Drawing في الإصدار 24.8. +سيتم إزالة الـ API العام المهمل الذي يعتمد على System.Drawing في الإصدار 24.8. -## واجهة برمجة التطبيقات الحديثة +## **الـ API الحديث** -تم إضافة الفئات والإعدادات التالية إلى واجهة برمجة التطبيقات العامة: +أُضيفت الفئات والتعدادات التالية إلى الـ API العام: -- Aspose.Slides.IImage - تمثل الصورة النقطية أو الصورة المتجهة. -- Aspose.Slides.ImageFormat - تمثل تنسيق ملف الصورة. -- Aspose.Slides.Images - طرق لإنشاء والعمل مع واجهة IImage. +- Aspose.Slides.IImage – تمثّل الصورة النقطية أو المتجهة. +- Aspose.Slides.ImageFormat – تمثّل تنسيق ملف الصورة. +- Aspose.Slides.Images – طرق لإنشاء والعمل مع واجهة IImage. -يرجى ملاحظة أن IImage قابلة للتصرف (تنفذ واجهة IDisposable ويجب إلحاق استخدامها بـ using أو التخلص منها بطريقة أخرى ملائمة). - -قد يبدو سيناريو الاستخدام النموذجي للواجهة الجديدة كما يلي: +يرجى ملاحظة أن IImage قابل للتصرف (يمتد من واجهة IDisposable ويجب اعتماد ‎using‎ أو إلغاءه بطريقة مناسبة). +سيناريو نموذجي لاستخدام الـ API الجديد قد يبدو كما يلي: ``` csharp using (Presentation pres = new Presentation()) { IPPImage ppImage; - // إنشاء مثيل يمكن التخلص منه من IImage من الملف على القرص. + // إنشاء نسخة قابلة للتصريف من IImage من الملف الموجود على القرص. using (IImage image = Images.FromFile("image.png")) { - // إنشاء صورة PowerPoint عن طريق إضافة مثيل من IImage إلى صور العرض التقديمي. + // إنشاء صورة PowerPoint عن طريق إضافة نسخة من IImage إلى صور العرض التقديمي. ppImage = pres.Images.AddImage(image); } // إضافة شكل صورة على الشريحة #1 pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); - // الحصول على مثيل من IImage يمثل الشريحة #1. + // الحصول على نسخة من IImage تمثل الشريحة #1. using (var slideImage = pres.Slides[0].GetImage(new Size(1920, 1080))) { // حفظ الصورة على القرص. @@ -63,14 +62,14 @@ using (Presentation pres = new Presentation()) } ``` -## استبدال الشيفرة القديمة بواجهة برمجة التطبيقات الحديثة -لتسهيل الانتقال، تكرر واجهة IImage الجديدة التواقيع المنفصلة للفئات Image و Bitmap. بشكل عام، تحتاج فقط إلى استبدال استدعاء الطريقة القديمة المستخدمة لـ System.Drawing بالطريقة الجديدة. +## **استبدال الكود القديم بالـ API الحديث** -### الحصول على صورة مصغرة للشريحة +للتسهيل أثناء الانتقال، تُعيد واجهة IImage الجديدة تكرار التواقيع المنفصلة لفئتي Image و Bitmap. بوجه عام، كل ما عليك هو استبدال استدعاء الطريقة القديمة التي تستخدم System.Drawing بالجديد. -شيفرة تستخدم واجهة برمجة التطبيقات القديمة: +### **الحصول على صورة مصغرة للشفرة** +الكود باستخدام الـ API المهمل: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -78,8 +77,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -واجهة برمجة التطبيقات الحديثة: +الـ API الحديث: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -87,10 +86,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### الحصول على صورة مصغرة لشكل -شيفرة تستخدم واجهة برمجة التطبيقات القديمة: +### **الحصول على صورة مصغرة للشكل** +الكود باستخدام الـ API المهمل: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -98,8 +97,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -واجهة برمجة التطبيقات الحديثة: +الـ API الحديث: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -107,10 +106,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### الحصول على صورة مصغرة للعرض التقديمي -شيفرة تستخدم واجهة برمجة التطبيقات القديمة: +### **الحصول على صورة مصغرة للعرض التقديمي** +الكود باستخدام الـ API المهمل: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -133,8 +132,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -واجهة برمجة التطبيقات الحديثة: +الـ API الحديث: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -157,10 +156,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### إضافة صورة إلى عرض تقديمي -شيفرة تستخدم واجهة برمجة التطبيقات القديمة: +### **إضافة صورة إلى العرض التقديمي** +الكود باستخدام الـ API المهمل: ``` csharp using (Presentation pres = new Presentation()) { @@ -174,8 +173,8 @@ using (Presentation pres = new Presentation()) } ``` -واجهة برمجة التطبيقات الحديثة: +الـ API الحديث: ``` csharp using (Presentation pres = new Presentation()) { @@ -189,92 +188,103 @@ using (Presentation pres = new Presentation()) } ``` -## الطرق / الخصائص التي ستتم إزالتها واستبدالها في واجهة برمجة التطبيقات الحديثة -### عرض تقديمي -| توقيع الطريقة | توقيع طريقة الاستبدال | -|-----------------------------------------------|---------------------------------------------------------| -| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | -| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | +## **الطرق/الخصائص التي ستُزال واستبدالها في الـ API الحديث** + +### **Presentation** +| توقيع الطريقة | توقيع الطريقة البديلة | +|---------------|----------------------| +| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | +| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | | public Bitmap[] GetThumbnails(IRenderingOptions options, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_4) | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, int[] slides, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_2) | | public Bitmap[] GetThumbnails(IRenderingOptions options, Size imageSize) | [GetImages(IRenderingOptions options, Size imageSize)]() | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, Size imageSize) | [GetImages(IRenderingOptions options, int[] slides, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_3) | -| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | سيتم حذفه تمامًا | -| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | سيتم حذفه تمامًا | -| public void Print() | سيتم حذفه تمامًا | -| public void Print(PrinterSettings printerSettings) | سيتم حذفه تمامًا | -| public void Print(string printerName) | سيتم حذفه تمامًا | -| public void Print(PrinterSettings printerSettings, string presName) | سيتم حذفه تمامًا | - -### شكل -| توقيع الطريقة | توقيع طريقة الاستبدال | -|----------------------------------------------------------------------|-------------------------------------------------------------------| -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | +| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | سيتم حذفها تمامًا | +| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | سيتم حذفها تمامًا | +| public void Print() | سيتم حذفها تمامًا | +| public void Print(PrinterSettings printerSettings) | سيتم حذفها تمامًا | +| public void Print(string printerName) | سيتم حذفها تمامًا | +| public void Print(PrinterSettings printerSettings, string presName) | سيتم حذفها تمامًا | + +### **Shape** +| توقيع الطريقة | توقيع الطريقة البديلة | +|---------------|----------------------| +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | | public Bitmap GetThumbnail(ShapeThumbnailBounds bounds, float scaleX, float scaleY) | [GetImage(ShapeThumbnailBounds bounds, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage_1) | -### شريحة -| توقيع الطريقة | توقيع طريقة الاستبدال | -|----------------------------------------------------------------------|-----------------------------------------------------------------------| -| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | -| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | -| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | -| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | +### **Slide** +| توقيع الطريقة | توقيع الطريقة البديلة | +|---------------|----------------------| +| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | +| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | +| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | +| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | | public Bitmap GetThumbnail(IRenderingOptions options, float scaleX, float scaleY) | [GetImage(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_2) | -| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | سيتم حذفه تمامًا | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | سيتم حذفه تمامًا | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | سيتم حذفه تمامًا | - -#### مخرجات -| توقيع الطريقة | توقيع طريقة الاستبدال | -|-----------------------------------------------------------------|-------------------------------------------------------------| -| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | - -### مجموعة الصور -| توقيع الطريقة | توقيع طريقة الاستبدال | -|-------------------------------------------|--------------------------------------------| -| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | - -### مصنع غلاف الصورة -| توقيع الطريقة | توقيع طريقة الاستبدال | -|----------------------------------------------------------|---------------------------------------------------------| -| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | - -### صورة العرض -| توقيع / خاصية | توقيع طريقة الاستبدال | -|--------------------------------------|-----------------------------------------| -| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | -| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | - -### تنسيق نمط -| توقيع الطريقة | توقيع طريقة الاستبدال | -|-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | -| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | - -### بيانات فعالة لتنسيق النمط -| توقيع الطريقة | توقيع طريقة الاستبدال | -|-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | - -## دعم Aspose.Slides.NET6.CrossPlatform سيتم إيقافه - -بعد إصدار [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) الإصدار 24.8، سيتم إيقاف دعم [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform). - -## دعم واجهة برمجة التطبيقات لـ Graphics و PrinterSettings سيتم إيقافه - -فئة [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) غير مدعومة للإصدارات المتعددة المنصات من .NET6 وما فوق. في Aspose Slides، سيتم إزالة جزء من واجهة برمجة التطبيقات الذي يستخدمها: +| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | سيتم حذفها تمامًا | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | سيتم حذفها تمامًا | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | سيتم حذفها تمامًا | + +### **Output** +| توقيع الطريقة | توقيع الطريقة البديلة | +|---------------|----------------------| +| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | + +### **ImageCollection** +| توقيع الطريقة | توقيع الطريقة البديلة | +|---------------|----------------------| +| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | + +### **ImageWrapperFactory** +| توقيع الطريقة | توقيع الطريقة البديلة | +|---------------|----------------------| +| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | + +### **PPImage** +| توقيع/خاصية الطريقة | توقيع الطريقة البديلة | +|---------------------|----------------------| +| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | +| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | + +### **PatternFormat** +| توقيع الطريقة | توقيع الطريقة البديلة | +|---------------|----------------------| +| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | +| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | + +### **IPatternFormatEffectiveData** +| توقيع الطريقة | توقيع الطريقة البديلة | +|---------------|----------------------| +| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | + +## **ستتوقف دعم Graphics و PrinterSettings في الـ API** + +فئة [رسومات](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) غير مدعومة للإصدارات المتعددة المنصات من .NET6 وما فوق. في Aspose Slides، سيتم إزالة الجزء المتعلق بها من الـ API: [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide/) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_5) -أيضًا، سيتم إزالة جزء من واجهة برمجة التطبيقات المتعلقة بالطباعة: +كما سيتم إزالة الجزء المتعلق بالطباعة من الـ API: [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): - [public void Presentation.Print](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print) - [public void Print(PrinterSettings printerSettings)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_1) - [public void Print(string printerName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_3) -- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) \ No newline at end of file +- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) + +# **الأسئلة المتكررة** + +**لماذا تم إلغاء System.Drawing.Graphics؟** + +يتم إزالة دعم `Graphics` من الـ API العام لتوحيد العمل مع التصيّر والصور، وإلغاء الاعتماد على تبعيات منصات محددة، والانتقال إلى نهج متعدد المنصات باستخدام [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/). ستُحذف جميع طرق التصيّر إلى `Graphics`. + +**ما الفائدة العملية من IImage مقارنةً بـ Image/Bitmap؟** + +يُوحّد [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) العمل مع الصور النقطية والمتجهة، يبسط الحفظ إلى تنسيقات متعددة عبر [ImageFormat](https://reference.aspose.com/slides/net/aspose.slides/imageformat/)، يقلل الاعتماد على `System.Drawing`، ويجعل الكود أكثر قابلية للنقل بين البيئات. + +**هل سيؤثر الـ API الحديث على أداء إنشاء الصور المصغرة؟** + +التحول من `GetThumbnail` إلى `GetImage` لا يضعف السيناريوهات: توفر الطرق الجديدة نفس الإمكانات لإنتاج الصور مع خيارات وأحجام مختلفة، مع الحفاظ على دعم خيارات التصيّر. الفائدة أو الخسارة المحددة تعتمد على السيناريو، لكن الاستبدالات متكافئة وظيفيًا. \ No newline at end of file diff --git a/ar/net/developer-guide/powerpoint-animation/_index.md b/ar/net/developer-guide/powerpoint-animation/_index.md index a9461e827a..02adbbee63 100644 --- a/ar/net/developer-guide/powerpoint-animation/_index.md +++ b/ar/net/developer-guide/powerpoint-animation/_index.md @@ -1,28 +1,55 @@ --- -title: الرسوم المتحركة في PowerPoint +title: تعزيز عروض PowerPoint التقديمية بالرسوم المتحركة في C# +linktitle: الرسوم المتحركة لبرنامج PowerPoint type: docs weight: 150 url: /ar/net/powerpoint-animation/ -keywords: "الرسوم المتحركة, تأثيرات الرسوم المتحركة, رسوم متحركة PowerPoint, الجدول الزمني للرسوم المتحركة, الرسوم المتحركة التفاعلية, رسوم متحركة الأشكال, الرسوم المتحركة للمخططات, النص المتحرك, عرض PowerPoint, C#, Csharp, Aspose.Slides for .NET" -description: "رسوم متحركة وعناصر في عرض PowerPoint باستخدام C# أو .NET" +keywords: +- إضافة الرسوم المتحركة +- تحديث الرسوم المتحركة +- تغيير الرسوم المتحركة +- إزالة الرسوم المتحركة +- إدارة الرسوم المتحركة +- التحكم في الرسوم المتحركة +- تأثير الرسوم المتحركة +- رسوم متحركة PowerPoint +- خط زمني للرسوم المتحركة +- رسوم متحركة تفاعلية +- رسوم متحركة مخصصة +- رسوم متحركة الشكل +- مخطط متحرك +- نص متحرك +- شكل متحرك +- كائن OLE متحرك +- صورة متحركة +- جدول متحرك +- عرض PowerPoint تقديمي +- C# +- Csharp +- Aspose.Slides for .NET +description: "استكشف إمكانيات Aspose.Slides for .NET في معالجة الرسوم المتحركة لبرنامج PowerPoint. يقدم هذا النظرة العامة نظرة عامة عامة على الميزات الرئيسية ويوفر رؤى لتعزيز عروضك التقديمية." --- -نظرًا لأن العروض التقديمية تهدف إلى عرض شيء ما، فإن مظهرها المرئي وسلوكها التفاعلي يتم اعتباره دائمًا أثناء إنشائها. +## **نظرة عامة** -**تعتبر الرسوم المتحركة PowerPoint** أمرًا مهمًا لجعل العرض جذابًا ومثيرًا للاهتمام للمشاهدين. يوفر Aspose.Slides for .NET مجموعة واسعة من الخيارات لإضافة الرسوم المتحركة إلى عرض PowerPoint: +نظرًا لأن العروض التقديمية تهدف إلى عرض شيء ما، فإن المظهر البصري والسلوك التفاعلي دائمًا ما يُؤخذان في الاعتبار أثناء الإنشاء. -- تطبيق أنواع مختلفة من تأثيرات الرسوم المتحركة PowerPoint على الأشكال والمخططات والجداول والأشياء OLE وعناصر العرض الأخرى. -- استخدام تأثيرات الرسوم المتحركة المتعددة على شكل واحد. -- استخدام الجدول الزمني للرسوم المتحركة للسيطرة على تأثيرات الرسوم المتحركة. +**رسوميات PowerPoint** تلعب دورًا مهمًا في جعل العرض جذابًا وملفتًا للانتباه. توفر Aspose.Slides for .NET مجموعة واسعة من الخيارات لإضافة الرسوم المتحركة إلى عروض PowerPoint: + +- تطبيق أنواع مختلفة من تأثيرات الرسوم المتحركة على الأشكال، المخططات، الجداول، كائنات OLE، وغيرها من عناصر العرض. +- استخدام عدة تأثيرات رسوم متحركة على شكل واحد. +- الاستفادة من خط الزمن للرسوم المتحركة للتحكم في تأثيراتها. - إنشاء رسوم متحركة مخصصة. -في Aspose.Slides for .NET، يمكن تطبيق تأثيرات الرسوم المتحركة المختلفة على الأشكال. حيث يتم اعتبار كل عنصر على الشريحة بما في ذلك النصوص والصور والأشياء OLE والجداول وما إلى ذلك كشكل، مما يعني أنه يمكننا تطبيق تأثير الرسوم المتحركة على كل عنصر في الشريحة. +في Aspose.Slides for .NET، يمكن تطبيق تأثيرات رسوم متحركة مختلفة على الأشكال. بما أن كل عنصر على الشريحة، بما في ذلك النصوص، الصور، كائنات OLE، والجداول، يُعتبر شكلًا، يمكن تطبيق تأثيرات الرسوم المتحركة على أي عنصر في الشريحة. + +[Aspose.Slides.Animation](https://reference.aspose.com/slides/net/aspose.slides.animation/) namespace يوفر فئات للعمل مع رسوميات PowerPoint. -[**Aspose.Slides.Animation**](https://reference.aspose.com/slides/net/aspose.slides.animation/) **namespace** يوفر فئة للعمل مع الرسوم المتحركة PowerPoint. ## **تأثيرات الرسوم المتحركة** -يدعم Aspose.Slides **أكثر من 150 تأثير رسومي**، بما في ذلك تأثيرات الرسوم المتحركة الأساسية مثل نقلة، PathFootball، تأثير التكبير وتأثيرات الرسوم المتحركة المحددة مثل OLEObjectShow و OLEObjectOpen. يمكنك العثور على قائمة كاملة بتأثيرات الرسوم المتحركة في [**EffectType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype)التعداد. -بالإضافة إلى ذلك، يمكن استخدام تأثيرات الرسوم المتحركة هذه بالاقتران معها: +يدعم Aspose.Slides **أكثر من 150 تأثيرًا** للرسوم المتحركة، بما في ذلك التأثيرات الأساسية مثل Bounce وPathFootball وZoom، بالإضافة إلى تأثيرات خاصة مثل OLEObjectShow وOLEObjectOpen. يمكنك العثور على القائمة الكاملة للتأثيرات في تعداد [EffectType](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype). + +بالإضافة إلى ذلك، يمكن استخدام هذه التأثيرات بالتزامن مع ما يلي: - [ColorEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/coloreffect) - [CommandEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/commandeffect) @@ -32,36 +59,59 @@ description: "رسوم متحركة وعناصر في عرض PowerPoint باست - [RotationEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/rotationeffect) - [ScaleEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/scaleeffect) - [SetEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/seteffect) -## **الرسوم المتحركة المخصصة** -من الممكن إنشاء **رسوم متحركة مخصصة** خاصة بك في Aspose.Slides. -يمكن تحقيق ذلك إذا قمت بدمج عدة سلوكيات معًا في رسوم متحركة مخصصة جديدة. -[**السلوك**](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) هو وحدة بناء لأي تأثير رسومي PowerPoint. جميع تأثيرات الرسوم المتحركة هي في الواقع مجموعة من السلوكيات المركبة في استراتيجية واحدة. يمكنك دمج السلوكيات في رسوم متحركة مخصصة مرة واحدة وإعادة استخدامها في عروض تقديمية أخرى. إذا قمت بإضافة سلوك جديد إلى تأثير الرسوم المتحركة PowerPoint القياسي - ستصبح رسمًا متحركًا مخصصًا آخر. على سبيل المثال، يمكنك إضافة سلوك التكرار إلى الرسوم المتحركة لجعلها تتكرر عدة مرات. +## **رسوم متحركة مخصصة** + +يمكنك إنشاء **رسوم متحركة مخصصة** خاصة بك في Aspose.Slides. يتحقق ذلك بدمج عدة سلوكيات معًا في حركة مخصصة جديدة. + +[Behaviour](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) هو المكون الأساسي لأي تأثير رسوم متحركة في PowerPoint. جميع تأثيرات الرسوم المتحركة تتكون في الأساس من مجموعة من السلوكيات المجمعة في استراتيجية واحدة. يمكنك دمج السلوكيات في رسم متحرك مخصص مرة واحدة وإعادة استخدامها في عروض أخرى. إذا أضفت سلوكًا جديدًا إلى تأثير رسوم متحركة قياسي، سيصبح ذلك تأثيرًا مخصصًا آخر. على سبيل المثال، يمكنك إضافة سلوك تكرار إلى رسم متحرك لجعله يتكرر عدة مرات. + +[Animation Point](https://reference.aspose.com/slides/net/aspose.slides.animation/point) هو النقطة التي يجب تطبيق السلوك عندها. -[**نقطة الرسوم المتحركة**](https://reference.aspose.com/slides/net/aspose.slides.animation/point) هي النقطة التي يجب تطبيق السلوك فيها. -## **الجدول الزمني للرسوم المتحركة** -[**التسلسل**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) هو مجموعة من تأثيرات الرسوم المتحركة، المُطبقة على شكل معين. +## **خط زمان الرسوم المتحركة** + +[Sequence](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) هي مجموعة من تأثيرات الرسوم المتحركة المطبقة على شكل محدد. + +[Timeline](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) هي مجموعة من السلاسل المستخدمة في شريحة معينة. تم تقديمها كـ "محرك رسوم متحركة" في PowerPoint 2002. في إصدارات PowerPoint السابقة، كان إضافة تأثيرات الرسوم المتحركة إلى العروض صعبًا ولا يمكن تحقيقه إلا عبر حلول بديلة متعددة. تستبدل خط الزمن فئة AnimationSettings القديمة وتوفر نموذج كائن أوضح للرسوم المتحركة في PowerPoint. يمكن أن تحتوي الشريحة على خط زمن واحد فقط للرسوم المتحركة. -[**الجدول الزمني**](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) هو مجموعة من التسلسلات المستخدمة في شريحة معينة. إنها محرك الرسوم المتحركة المتاح منذ PowerPoint 2002. في الإصدار السابق من PowerPoint، كان من الصعب إضافة تأثيرات الرسوم المتحركة إلى العرض، مما كان يمكن تحقيقه فقط مع حلول مختلفة. جاء الجدول الزمني ليحل محل فئة AnimationSettings القديمة ويقدم نموذج كائن أكثر وضوحًا لرسوم متحركة PowerPoint. يمكن أن تحتوي شريحة واحدة على جدول زمني واحد فقط للرسوم المتحركة. ## **الرسوم المتحركة التفاعلية** -[**المشغل**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) يتيح تعريف إجراءات المستخدم (مثل نقرة زر)، والتي ستجعل رسوم متحركة معينة تبدأ. تم إضافة المشغلات في أحدث إصدار من PowerPoint فقط. -## **رسوم متحركة الأشكال** -يسمح Aspose.Slides بتطبيق الرسوم المتحركة على الأشكال، التي يمكن أن تكون فعلًا نصًا أو مستطيلًا أو خطًا أو إطارًا أو كائن OLE، إلخ. + +[Trigger](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) يتيح لك تحديد إجراءات المستخدم (مثل نقر زر) التي ستبدأ رسمًا متحركًا محددًا. تم تقديم المشغلات في أحدث إصدارات PowerPoint. + +## **رسوم متحركة الشكل** + +تسمح لك Aspose.Slides بتطبيق الرسوم المتحركة على الأشكال، والتي قد تشمل النصوص، المستطيلات، الخطوط، الإطارات، كائنات OLE، والمزيد. {{% alert color="primary" %}} -اقرأ المزيد [**عن رسوم متحركة الأشكال**](/slides/ar/net/shape-animation/). +اقرأ المزيد [**حول رسوم متحركة الشكل**](/slides/ar/net/shape-animation/). {{% /alert %}} ## **المخططات المتحركة** -لإنشاء مخططات متحركة، يجب عليك استخدام جميع الفئات نفسها كما هو الحال بالنسبة للأشكال. ومع ذلك، من الممكن استخدام الرسوم المتحركة PowerPoint فقط على فئات المخطط أو سلسلة المخطط. يمكنك أيضًا تطبيق تأثير الرسوم المتحركة على عنصر فئة أو عنصر سلسلة. + +لإنشاء مخططات متحركة، يجب استخدام نفس الفئات المستخدمة للأشكال. ومع ذلك، لا يمكن تطبيق رسوميات PowerPoint إلا على فئات المخطط أو سلاسل المخطط. يمكنك أيضًا تطبيق تأثيرات الرسوم المتحركة على عنصر فئة أو عنصر سلسلة. {{% alert color="primary" %}} -اقرأ المزيد [**عن المخططات المتحركة**](/slides/ar/net/animated-charts/). +اقرأ المزيد [**حول المخططات المتحركة**](/slides/ar/net/animated-charts/). {{% /alert %}} ## **النص المتحرك** -بالإضافة إلى النص المتحرك، من الممكن أيضًا تطبيق الرسوم المتحركة على فقرة. + +إلى جانب النص المتحرك، يمكن أيضًا تطبيق الرسوم المتحركة على الفقرة. {{% alert color="primary" %}} -اقرأ المزيد [**عن النص المتحرك**](/slides/ar/net/animated-text/). -{{% /alert %}} \ No newline at end of file +اقرأ المزيد [**حول النص المتحرك**](/slides/ar/net/animated-text/). +{{% /alert %}} + +## **الأسئلة المتكررة** + +**هل سيتم الحفاظ على الرسوم المتحركة عند التصدير إلى PDF؟** + +لا. PDF هو تنسيق ثابت، لذا لا تُشغل الرسوم المتحركة ولا [انتقالات الشرائح](/slides/ar/net/slide-transition/). إذا كنت بحاجة إلى الحركة، صدّر إلى [HTML5](/slides/ar/net/export-to-html5/)، [GIF متحرك](/slides/ar/net/convert-powerpoint-to-animated-gif/)، أو [فيديو](/slides/ar/net/convert-powerpoint-to-video/) بدلاً من ذلك. + +**هل يمكنني تحويل عرضًا تقديميًا متحركًا إلى فيديو والتحكم في معدل الإطارات وحجم الإطار؟** + +نعم. يمكنك [تصدير العرض كإطارات](/slides/ar/net/convert-powerpoint-to-video/) وترميزها إلى فيديو (مثلاً باستخدام ffmpeg)، مع اختيار عدد الإطارات في الثانية والدقة. تُشغل الرسوم المتحركة وانتقالات الشرائح أثناء عملية التصدير. + +**هل ستبقى الرسوم المتحركة سليمة عند العمل مع ODP (ليس فقط PPTX)؟** + +تُدعم صيغ PPT وPPTX وODP للـ [قراءة](/slides/ar/net/open-presentation/) و[كتابة](/slides/ar/net/save-presentation/)، لكن اختلافات الصيغ قد تجعل بعض التأثيرات تظهر أو تتصرف بشكل مختلف قليلاً. يُنصح بالتحقق من الحالات الحرجة باستخدام عينات حقيقية. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-comments/_index.md b/ar/net/developer-guide/presentation-comments/_index.md index d2ad40819c..73f8c1bd91 100644 --- a/ar/net/developer-guide/presentation-comments/_index.md +++ b/ar/net/developer-guide/presentation-comments/_index.md @@ -1,30 +1,29 @@ --- -title: تعليقات العرض +title: تعليقات العرض التقديمي type: docs weight: 100 url: /ar/net/presentation-comments/ -keywords: "تعليقات، تعليقات PowerPoint، عرض PowerPoint، C#، Csharp، Aspose.Slides لـ .NET" -description: "إضافة تعليقات وردود في عرض PowerPoint باستخدام C# أو .NET" +keywords: "تعليقات, تعليقات PowerPoint, عرض PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "إضافة تعليقات والردود في عرض PowerPoint باستخدام C# أو .NET" --- -في PowerPoint، تظهر التعليقات كنوتة أو ملاحظة على شريحة. عند النقر على تعليق، يتم الكشف عن محتوياته أو رسائله. +في PowerPoint، يظهر التعليق كملاحظة أو توضيح على الشريحة. عند النقر على التعليق، يتم إظهار محتوياته أو رسائله. -## **لماذا نضيف تعليقات إلى العروض؟** +## **لماذا نضيف تعليقات إلى العروض التقديمية؟** -قد ترغب في استخدام التعليقات لتقديم ملاحظات أو التواصل مع زملائك عند مراجعة العروض. +قد ترغب في استخدام التعليقات لتقديم ملاحظات أو التواصل مع زملائك عند مراجعة العروض التقديمية. -للسماح لك باستخدام التعليقات في عروض PowerPoint، يوفر Aspose.Slides لـ .NET +لتمكينك من استخدام التعليقات في عروض PowerPoint التقديمية، توفر Aspose.Slides for .NET -* صنف [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)، الذي يحتوي على مجموعات من المؤلفين (من خاصية [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index)). يضيف المؤلفون تعليقات إلى الشرائح. -* واجهة [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection)، التي تحتوي على مجموعة من التعليقات للمؤلفين الفرديين. -* صنف [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)، الذي يحتوي على معلومات حول المؤلفين وتعليقاتهم: من أضاف التعليق، الوقت الذي تمت إضافة التعليق فيه، موقع التعليق، إلخ. -* صنف [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor)، الذي يحتوي على معلومات حول المؤلفين الفرديين: اسم المؤلف، الأحرف الأولى له، التعليقات المرتبطة باسم المؤلف، إلخ. - -## **إضافة تعليق على الشريحة** -يوضح لك هذا الرمز C# كيفية إضافة تعليق إلى شريحة في عرض PowerPoint: +* الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) التي تحتوي على مجموعات المؤلفين (من خاصية [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index)). يضيف المؤلفون تعليقات إلى الشرائح. +* الواجهة [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection) التي تحتوي على مجموعة التعليقات لكل مؤلف. +* الفئة [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) التي تحتوي على معلومات حول المؤلفين وتعليقاتهم: من أضاف التعليق، وقت إضافة التعليق، موضع التعليق، إلخ. +* الفئة [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor) التي تحتوي على معلومات حول كل مؤلف: اسم المؤلف، مختصراته، التعليقات المرتبطة باسم المؤلف، إلخ. +## **إضافة تعليق إلى الشريحة** +يعرض هذا الكود C# طريقة إضافة تعليق إلى شريحة في عرض PowerPoint: ```c# -// يقوم بإنشاء صنف Presentation +// يُنشئ فئة Presentation using (Presentation presentation = new Presentation()) { // يضيف شريحة فارغة @@ -33,42 +32,42 @@ using (Presentation presentation = new Presentation()) // يضيف مؤلفًا ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Jawad", "MF"); - // يحدد الموقع للتعليقات + // يضبط موضع التعليقات PointF point = new PointF(); point.X = 0.2f; point.Y = 0.2f; - // يضيف تعليق على الشريحة لمؤلف على الشريحة 1 - author.Comments.AddComment("مرحبًا Jawad، هذا تعليق الشريحة", presentation.Slides[0], point, DateTime.Now); + // يضيف تعليق شريحة لمؤلف على الشريحة 1 + author.Comments.AddComment("Hello Jawad, this is slide comment", presentation.Slides[0], point, DateTime.Now); - // يضيف تعليق على الشريحة لمؤلف على الشريحة 2 - author.Comments.AddComment("مرحبًا Jawad، هذا هو تعليق الشريحة الثاني", presentation.Slides[1], point, DateTime.Now); + // يضيف تعليق شريحة لمؤلف على الشريحة 2 + author.Comments.AddComment("Hello Jawad, this is second slide comment", presentation.Slides[1], point, DateTime.Now); - // يصل إلى الشريحة ISlide 1 + // الوصول إلى ISlide 1 ISlide slide = presentation.Slides[0]; - // عند تمرير null كوسيط، يتم جلب التعليقات من جميع المؤلفين إلى الشريحة المحددة + // عند تمرير null كمعامل، يتم جلب التعليقات من جميع المؤلفين إلى الشريحة المحددة IComment[] Comments = slide.GetSlideComments(author); - // يصل إلى التعليق عند الفهرس 0 للشريحة 1 + // الوصول إلى التعليق في الفهرس 0 للشريحة 1 String str = Comments[0].Text; presentation.Save("Comments_out.pptx", SaveFormat.Pptx); if (Comments.GetLength(0) > 0) { - // يحدد مجموعة تعليقات المؤلف عند الفهرس 0 + // يختار مجموعة تعليقات المؤلف في الفهرس 0 ICommentCollection commentCollection = Comments[0].Author.Comments; String Comment = commentCollection[0].Text; } } ``` -## **الوصول إلى تعليقات الشريحة** -يوضح لك هذا الرمز C# كيفية الوصول إلى تعليق موجود على شريحة في عرض PowerPoint: +## **الوصول إلى تعليقات الشريحة** +يعرض هذا الكود C# طريقة الوصول إلى تعليق موجود على شريحة في عرض PowerPoint: ```c# -// يقوم بإنشاء صنف Presentation +// ينشئ فئة Presentation using (Presentation presentation = new Presentation("Comments1.pptx")) { foreach (var commentAuthor in presentation.CommentAuthors) @@ -77,41 +76,41 @@ using (Presentation presentation = new Presentation("Comments1.pptx")) foreach (var comment1 in author.Comments) { var comment = (Comment) comment1; - Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " لديه تعليق: " + comment.Text + " مع المؤلف: " + comment.Author.Name + " تم نشره في الوقت :" + comment.CreatedTime + "\n"); + Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " has comment: " + comment.Text + " with Author: " + comment.Author.Name + " posted on time :" + comment.CreatedTime + "\n"); } } } ``` -## **الرد على التعليقات** -التعليق الأب هو التعليق الأعلى أو الأصلي في تسلسل تعليقات أو ردود. باستخدام خاصية [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) (من واجهة [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment))، يمكنك تعيين أو الحصول على تعليق الأب. -يوضح لك هذا الرمز C# كيفية إضافة التعليقات والحصول على الردود عليها: +## **الرد على التعليقات** +التعليق الأصلي هو التعليق الأعلى أو الأول في التسلسل الهرمي للتعليقات أو الردود. باستخدام خاصية [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) (من الواجهة [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)) يمكنك تعيين أو جلب التعليق الأصلي. +يعرض هذا الكود C# طريقة إضافة تعليقات والحصول على الردود عليها: ```c# using (Presentation pres = new Presentation()) { - // يضيف تعليقًا + // يضيف تعليق ICommentAuthor author1 = pres.CommentAuthors.AddAuthor("Author_1", "A.A."); IComment comment1 = author1.Comments.AddComment("comment1", pres.Slides[0], new PointF(10, 10), DateTime.Now); - // يضيف ردًا على comment1 + // يضيف ردًا على التعليق 1 ICommentAuthor author2 = pres.CommentAuthors.AddAuthor("Autror_2", "B.B."); - IComment reply1 = author2.Comments.AddComment("رد 1 على التعليق 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply1 = author2.Comments.AddComment("reply 1 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply1.ParentComment = comment1; - // يضيف ردًا آخر على comment1 - IComment reply2 = author2.Comments.AddComment("رد 2 على التعليق 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + // يضيف ردًا آخر على التعليق 1 + IComment reply2 = author2.Comments.AddComment("reply 2 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply2.ParentComment = comment1; // يضيف ردًا على الرد الحالي - IComment subReply = author1.Comments.AddComment("رد فرعي 3 على الرد 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment subReply = author1.Comments.AddComment("subreply 3 for reply 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); subReply.ParentComment = reply2; - IComment comment2 = author2.Comments.AddComment("تعليق 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment comment3 = author2.Comments.AddComment("تعليق 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment2 = author2.Comments.AddComment("comment 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment3 = author2.Comments.AddComment("comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment reply3 = author1.Comments.AddComment("رد 4 على التعليق 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply3 = author1.Comments.AddComment("reply 4 for comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply3.ParentComment = comment3; // يعرض تسلسل التعليقات على وحدة التحكم @@ -132,48 +131,48 @@ using (Presentation pres = new Presentation()) pres.Save("parent_comment.pptx",SaveFormat.Pptx); - // يزيل comment1 وجميع الردود عليه + // يزيل التعليق 1 وجميع الردود عليه comment1.Remove(); pres.Save("remove_comment.pptx", SaveFormat.Pptx); } ``` -{{% alert color="warning" title="انتباه" %}} -* عند استخدام طريقة [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) (من واجهة [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)) لحذف تعليق، سيتم أيضًا حذف الردود على التعليق. -* إذا أسفر إعداد [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) عن حلقة دائرية، سيتم طرح استثناء [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception). +{{% alert color="warning" title="Attention" %}} + +* عند استخدام طريقة [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) (من الواجهة [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)) لحذف تعليق، يتم حذف الردود على التعليق أيضاً. +* إذا أدى ضبط [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) إلى إشارة دائرية، سيتم طرح استثناء [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception). {{% /alert %}} ## **إضافة تعليق حديث** -في عام 2021، قدمت Microsoft *تعليقات حديثة* في PowerPoint. تعمل ميزة التعليقات الحديثة على تحسين التعاون بشكل كبير في PowerPoint. من خلال التعليقات الحديثة، يحصل مستخدمو PowerPoint على القدرة على حل التعليقات، ربط التعليقات بالأجسام والنصوص، والانخراط في التفاعلات بسهولة أكبر من السابق. - -في [Aspose Slides لـ .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/)، قمنا بتنفيذ دعم التعليقات الحديثة من خلال إضافة صنف [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment). وتمت إضافة طريقتي [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) و [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) إلى صنف [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection). +في عام 2021، قدمت Microsoft *التعليقات الحديثة* في PowerPoint. تُحسّن ميزة التعليقات الحديثة بشكل كبير من التعاون في PowerPoint. من خلال التعليقات الحديثة، يحصل مستخدمو PowerPoint على القدرة على حل التعليقات، ربط التعليقات بالكائنات والنصوص، والتفاعل بسهولة أكبر مما كان عليه سابقاً. -يوضح لك هذا الرمز C# كيفية إضافة تعليق حديث إلى شريحة في عرض PowerPoint: +في [Aspose Slides for .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/)، أضفنا دعم التعليقات الحديثة عبر فئة [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment). تمت إضافة طريقتي [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) و[InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) إلى فئة [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection). +يعرض هذا الكود C# طريقة إضافة تعليق حديث إلى شريحة في عرض PowerPoint: ```c# using (Presentation pres = new Presentation()) { ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("Some Author", "SA"); - IModernComment modernComment = newAuthor.Comments.AddModernComment("هذا تعليق حديث", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); + IModernComment modernComment = newAuthor.Comments.AddModernComment("This is a modern comment", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## **إزالة تعليق** -### **حذف جميع التعليقات والمؤلفين** +## **حذف التعليق** -يوضح لك هذا الرمز C# كيفية إزالة جميع التعليقات والمؤلفين في عرض تقديمي: +### **حذف جميع التعليقات والمؤلفين** +يعرض هذا الكود C# طريقة حذف جميع التعليقات والمؤلفين في عرض تقديمي: ```c# using (var presentation = new Presentation("example.pptx")) { - // يحذف جميع التعليقات من العرض + // يحذف جميع التعليقات من العرض التقديمي foreach (var author in presentation.CommentAuthors) { author.Comments.Clear(); @@ -186,27 +185,27 @@ using (var presentation = new Presentation("example.pptx")) } ``` -### **حذف تعليقات معينة** -يوضح لك هذا الرمز C# كيفية حذف تعليقات معينة على شريحة: +### **حذف تعليقات محددة** +يعرض هذا الكود C# طريقة حذف تعليقات معينة على شريحة: ```c# using (var presentation = new Presentation()) { ISlide slide = presentation.Slides[0]; - // إضافة التعليقات... - ICommentAuthor author = presentation.CommentAuthors.AddAuthor("مؤلف", "A"); - author.Comments.AddComment("تعليق 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); - author.Comments.AddComment("تعليق 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); + // إضافة تعليقات... + ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Author", "A"); + author.Comments.AddComment("comment 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); + author.Comments.AddComment("comment 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); - // إزالة جميع التعليقات التي تحتوي على نص "تعليق 1" + // حذف جميع التعليقات التي تحتوي على النص "comment 1" foreach (ICommentAuthor commentAuthor in presentation.CommentAuthors) { List toRemove = new List(); foreach (IComment comment in slide.GetSlideComments(commentAuthor)) { - if (comment.Text == "تعليق 1") + if (comment.Text == "comment 1") { toRemove.Add(comment); } @@ -220,4 +219,19 @@ using (var presentation = new Presentation()) presentation.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **الأسئلة المتداولة** + +**هل يدعم Aspose.Slides حالة مثل "تم الحل" للتعليقات الحديثة؟** + +نعم. تعرض [Modern comments](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/) خاصية [Status](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/status/); يمكنك قراءة وتعيين حالة التعليق (على سبيل المثال، وضع علامة بأنه تم حله)، ويتم حفظ هذه الحالة في الملف وتتعرف عليها PowerPoint. + +**هل تدعم المناقشات المتسلسلة (سلاسل الرد) وهل هناك حد للتعشيق؟** + +نعم. يمكن لكل تعليق الإشارة إلى [parent comment](https://reference.aspose.com/slides/net/aspose.slides/comment/parentcomment/)، مما يتيح سلاسل رد غير محدودة. لا تحدد API حدًا معينًا لعمق التعشيق. + +**في أي نظام إحداثيات يتم تحديد موضع مؤشر التعليق على الشريحة؟** + +يتم تخزين الموضع كنقطة عددية ذات نقطة عائمة في نظام إحداثيات الشريحة. يتيح لك ذلك وضع مؤشر التعليق بدقة في المكان الذي تحتاجه. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-blob/_index.md b/ar/net/developer-guide/presentation-content/manage-blob/_index.md index bf7087aa71..e6bd72b644 100644 --- a/ar/net/developer-guide/presentation-content/manage-blob/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-blob/_index.md @@ -1,79 +1,77 @@ --- -title: إدارة البلوبيات +title: إدارة Blob type: docs weight: 10 url: /ar/net/manage-blob/ -keywords: "إضافة بلوبي، تصدير بلوبي، إضافة صورة كبلوبي، عرض تقديمي لبرنامج PowerPoint، C#، Csharp، Aspose.Slides لـ .NET" -description: "إضافة بلوبي إلى عرض PowerPoint التقديمي في C# أو .NET. تصدير بلوبي. إضافة صورة كبلوبي" +keywords: "إضافة blob, تصدير blob, إضافة صورة كـ blob, عرض PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "إضافة blob إلى عرض PowerPoint في C# أو .NET. تصدير blob. إضافة صورة كـ blob" --- ## **حول BLOB** -**BLOB** (**كائن ثنائي كبير**) هو عادة عنصر كبير (صورة، عرض تقديمي، مستند، أو وسائط) محفوظ بصيغ ثنائية. +**BLOB** (**Binary Large Object**) عادةً ما يكون عنصرًا كبيرًا (صورة، عرض تقديمي، مستند، أو وسائط) محفوظًا بتنسيقات ثنائية. -يتيح لك Aspose.Slides لـ .NET استخدام الـ BLOBs للأشياء بطريقة تقلل من استهلاك الذاكرة عند التعامل مع ملفات كبيرة. +يتيح لك Aspose.Slides for .NET استخدام كائنات BLOB للكائنات بطريقة تقلل استهلاك الذاكرة عندما تكون الملفات الكبيرة متضمنة. ## **استخدام BLOB لتقليل استهلاك الذاكرة** -### **إضافة ملف كبير من خلال BLOB إلى عرض تقديمي** +### **إضافة ملف كبير عبر BLOB إلى عرض تقديمي** -يتيح لك [Aspose.Slides](/slides/ar/net/) لـ .NET إضافة ملفات كبيرة (في هذه الحالة، ملف فيديو كبير) من خلال عملية تتضمن BLOBs لتقليل استهلاك الذاكرة. - -يوضح هذا الكود C# كيفية إضافة ملف فيديو كبير من خلال عملية BLOB إلى عرض تقديمي: +[Aspose.Slides](/slides/ar/net/) for .NET يتيح لك إضافة ملفات كبيرة (في هذه الحالة، ملف فيديو كبير) عبر عملية تتضمن BLOBs لتقليل استهلاك الذاكرة. +This C# shows you how to add a large video file through the BLOB process to a presentation: ```c# const string pathToVeryLargeVideo = "veryLargeVideo.avi"; -// ينشئ عرض تقديمي جديد سيتم إضافة الفيديو إليه + // ينشئ عرضًا تقديميًا جديدًا سيُضاف إليه الفيديو using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToVeryLargeVideo, FileMode.Open)) { - // لنضيف الفيديو إلى العرض - اخترنا سلوك KeepLocked لأننا لا - // نعتزم الوصول إلى ملف "veryLargeVideo.avi". + // دعنا نضيف الفيديو إلى العرض التقديمي - اخترنا سلوك KeepLocked لأننا نريد +//ليس لدينا نية للوصول إلى الملف "veryLargeVideo.avi" الملف. IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddVideoFrame(0, 0, 480, 270, video); // يحفظ العرض التقديمي. بينما يتم إخراج عرض تقديمي كبير، يظل استهلاك الذاكرة - // منخفضاً طوال دورة حياة كائن pres +//منخفضًا طوال دورة حياة كائن pres pres.Save("presentationWithLargeVideo.pptx", SaveFormat.Pptx); } } ``` -### **تصدير ملف كبير من خلال BLOB من عرض تقديمي** -يتيح لك Aspose.Slides لـ .NET تصدير ملفات كبيرة (في هذه الحالة، ملف صوت أو فيديو) من خلال عملية تتضمن BLOBs من العروض التقديمية. على سبيل المثال، قد تحتاج إلى استخراج ملف وسائط كبير من عرض تقديمي لكن لا تريد تحميل الملف في ذاكرة الكمبيوتر. من خلال تصدير الملف عبر عملية BLOB، يمكنك الحفاظ على استهلاك الذاكرة منخفضًا. - -يوضح هذا الكود C# العملية الموصوفة: +### **تصدير ملف كبير عبر BLOB من العرض التقديمي** +يتيح لك Aspose.Slides for .NET تصدير ملفات كبيرة (في هذه الحالة، ملف صوت أو فيديو) عبر عملية تتضمن BLOBs من العروض التقديمية. على سبيل المثال، قد تحتاج إلى استخراج ملف وسائط كبير من عرض تقديمي ولكن لا تريد تحميل الملف إلى ذاكرة حاسوبك. من خلال تصدير الملف عبر عملية BLOB، يمكنك الحفاظ على استهلاك الذاكرة منخفضًا. +This code in C# demonstrates the described operation: ```c# const string hugePresentationWithAudiosAndVideosFile = @"Large Video File Test1.pptx"; LoadOptions loadOptions = new LoadOptions { BlobManagementOptions = { - // يقفل الملف المصدر ولا يحمل في الذاكرة + // يقفل ملف المصدر ولا يتم تحميله إلى الذاكرة PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, } }; -// ينشئ مثيل للعرض المدرج، يقفل ملف "hugePresentationWithAudiosAndVideos.pptx". +// ينشئ مثيلًا للعرض التقديمي، ويقفل ملف "hugePresentationWithAudiosAndVideos.pptx". using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosFile, loadOptions)) { - // دعونا نحفظ كل فيديو في ملف. لمنع استهلاك الذاكرة العالية، نحتاج إلى مخزن سيتم استخدامه - // لنقل البيانات من دفق فيديو العرض إلى دفق لملف فيديو جديد تم إنشاؤه. + // لنقم بحفظ كل فيديو إلى ملف. لتجنب استهلاك عالي للذاكرة، نحتاج إلى مخزن وسيط سيُستخدم + // لنقل البيانات من تدفق فيديو العرض التقديمي إلى تدفق ملف فيديو تم إنشاؤه حديثًا. byte[] buffer = new byte[8 * 1024]; - // يتكرر عبر الفيديوهات + // يتنقل عبر مقاطع الفيديو for (var index = 0; index < pres.Videos.Count; index++) { IVideo video = pres.Videos[index]; - // يفتح دفق فيديو العرض. يرجى ملاحظة أننا تجنبنا عمدًا الوصول إلى الخصائص - // مثل video.BinaryData - لأن هذه الخاصية تعيد مصفوفة بايت تحتوي على فيديو كامل، مما يتسبب بعد ذلك - // في تحميل البايتات في الذاكرة. نحن نستخدم video.GetStream، التي ستعيد Stream - ولا تتطلب منا - // تحميل الفيديو بالكامل في الذاكرة. + // يفتح تدفق فيديو العرض التقديمي. يرجى ملاحظة أننا تجنبنا عمدًا الوصول إلى الخصائص + // مثل video.BinaryData - لأن هذه الخاصية تُرجع مصفوفة بايت تحتوي على فيديو كامل، وهو ما + // يسبب تحميل البايتات إلى الذاكرة. نستخدم video.GetStream، الذي سيُعيد Stream - ولا يقوم + // لا يتطلب تحميل الفيديو بالكامل إلى الذاكرة. using (Stream presVideoStream = video.GetStream()) { using (FileStream outputFileStream = File.OpenWrite($"video{index}.avi")) @@ -86,44 +84,44 @@ using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosF } } - // سيظل استهلاك الذاكرة منخفضاً بغض النظر عن حجم الفيديو أو العرض، + // سيظل استهلاك الذاكرة منخفضًا بغض النظر عن حجم الفيديو أو العرض التقديمي، } - // إذا لزم الأمر، يمكنك تطبيق نفس الخطوات لملفات الصوت. + // إذا لزم الأمر، يمكنك تطبيق نفس الخطوات على ملفات الصوت. } ``` -### **إضافة صورة كـ BLOB في العرض التقديمي** -مع الطرق من واجهة [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) و [**ImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/imagecollection)، يمكنك إضافة صورة كبيرة كتيار ليتم التعامل معها كـ BLOB. -يوضح هذا الكود C# كيفية إضافة صورة كبيرة عبر عملية BLOB: +### **إضافة صورة كـ BLOB في العرض التقديمي** +باستخدام الأساليب من واجهة [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) والفئة [**ImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/imagecollection) يمكنك إضافة صورة كبيرة كتيار لتتم معالجتها كـ BLOB. +This C# code shows you how to add a large image through the BLOB process: ```c# string pathToLargeImage = "large_image.jpg"; -// ينشئ عرض تقديمي جديد سيتم إضافة الصورة إليه. +// ينشئ عرضًا تقديميًا جديدًا سيتم إضافة الصورة إليه. using (Presentation pres = new Presentation()) { - using (FileStream fileStream = new FileStream(pathToLargeImage, FileMode.Open)) - { - // لنضيف الصورة إلى العرض - اخترنا سلوك KeepLocked لأننا لا - // نعتزم الوصول إلى ملف "largeImage.png". - IPPImage img = pres.Images.AddImage(fileStream, LoadingStreamBehavior.KeepLocked); - pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, 300, 200, img); - - // يحفظ العرض التقديمي. بينما يتم إخراج عرض تقديمي كبير، يظل استهلاك الذاكرة - // منخفضًا طوال دورة حياة كائن pres - pres.Save("presentationWithLargeImage.pptx", SaveFormat.Pptx); - } + using (FileStream fileStream = new FileStream(pathToLargeImage, FileMode.Open)) + { + // دعنا نضيف الصورة إلى العرض التقديمي - نختار سلوك KeepLocked لأننا + // لا نعتزم الوصول إلى ملف "largeImage.png" الملف. + IPPImage img = pres.Images.AddImage(fileStream, LoadingStreamBehavior.KeepLocked); + pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, 300, 200, img); + + // يحفظ العرض التقديمي. بينما يتم إخراج عرض تقديمي كبير، استهلاك الذاكرة + // يبقى منخفضًا طوال دورة حياة كائن pres + pres.Save("presentationWithLargeImage.pptx", SaveFormat.Pptx); + } } ``` -## **الذاكرة والعروض التقديمية الكبيرة** -عادةً، لتحميل عرض تقديمي كبير، تتطلب أجهزة الكمبيوتر ذاكرة مؤقتة كبيرة. يتم تحميل محتوى العرض بأكمله في الذاكرة ويتوقف استخدام الملف (الذي تم تحميل العرض منه). +## **الذاكرة والعروض التقديمية الكبيرة** -افترض عرض تقديمي كبير لبرنامج PowerPoint (large.pptx) يحتوي على ملف فيديو بحجم 1.5 جيجابايت. الطريقة القياسية لتحميل العرض الواردة في هذا الكود C#: +عادةً، لتحميل عرض تقديمي كبير، تحتاج الحواسيب إلى الكثير من الذاكرة المؤقتة. يتم تحميل كل محتوى العرض التقديمي إلى الذاكرة ويتوقف استخدام الملف (الذي تم تحميل العرض منه). +Consider a large PowerPoint presentation (large.pptx) that contains a 1.5 GB video file. The standard method for loading the presentation is described in this C# code: ```c# using (Presentation pres = new Presentation("large.pptx")) { @@ -131,12 +129,11 @@ using (Presentation pres = new Presentation("large.pptx")) } ``` -لكن هذه الطريقة تستهلك حوالي 1.6 جيجابايت من الذاكرة المؤقتة. -### **تحميل عرض تقديمي كبير كـ BLOB** - -من خلال العملية التي تتضمن BLOB، يمكنك تحميل عرض تقديمي كبير مع استخدام ذاكرة قليلة. يصف هذا الكود C# تنفيذ العملية التي يتم من خلالها استخدام عملية BLOB لتحميل ملف عرض تقديمي كبير (large.pptx): +لكن هذه الطريقة تستهلك حوالي 1.6 جيجا بايت من الذاكرة المؤقتة. +### **تحميل عرض تقديمي كبير كـ BLOB** +Through the process involving a BLOB, you can load up a large presentation while using little memory. This C# code describes the implementation where the BLOB process is used to load up a large presentation file (large.pptx): ```c# LoadOptions loadOptions = new LoadOptions { @@ -153,10 +150,9 @@ using (Presentation pres = new Presentation("large.pptx", loadOptions)) } ``` -### **تغيير المجلد للملفات المؤقتة** - -عند استخدام عملية BLOB، يقوم جهاز الكمبيوتر الخاص بك بإنشاء ملفات مؤقتة في المجلد الافتراضي للملفات المؤقتة. إذا كنت ترغب في الاحتفاظ بالملفات المؤقتة في مجلد مختلف، يمكنك تغيير الإعدادات للتخزين باستخدام `TempFilesRootPath`: +### **تغيير المجلد للملفات المؤقتة** +When the BLOB process is used, your computer creates temporary files in the default folder for temporary files. If you want the temporary files to be kept in a different folder, you can change the settings for storage using `TempFilesRootPath`: ```c# LoadOptions loadOptions = new LoadOptions { @@ -169,8 +165,24 @@ LoadOptions loadOptions = new LoadOptions }; ``` -{{% alert title="معلومات" color="info" %}} -عند استخدام `TempFilesRootPath`، لا يقوم Aspose.Slides بإنشاء مجلد تلقائيًا لتخزين الملفات المؤقتة. عليك إنشاء المجلد يدويًا. +{{% alert title="Info" color="info" %}} +عند استخدامك `TempFilesRootPath`، لا يقوم Aspose.Slides بإنشاء مجلد لتخزين الملفات المؤقتة تلقائيًا. عليك إنشاء المجلد يدويًا. +{{% /alert %}} + +## **الأسئلة الشائعة** + +**ما هي البيانات في عرض Aspose.Slides التي تُعامل كـ BLOB وتتحكم فيها خيارات BLOB؟** +الكائنات الثنائية الكبيرة مثل الصور والصوت والفيديو تُعامل كـ BLOB. كما يتضمن ملف العرض التقديمي بالكامل معالجة BLOB عند تحميله أو حفظه. هذه الكائنات تحكمها سياسات BLOB التي تسمح لك بإدارة استخدام الذاكرة وتحويل البيانات إلى ملفات مؤقتة عند الحاجة. + +**أين يمكنني تكوين قواعد معالجة BLOB أثناء تحميل العرض التقديمي؟** +استخدم [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) مع [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/). هناك تقوم بتعيين الحد الأقصى للذاكرة للكائنات BLOB، السماح أو عدم السماح بالملفات المؤقتة، اختيار المسار الجذري للملفات المؤقتة، واختيار سلوك قفل المصدر. + +**هل تؤثر إعدادات BLOB على الأداء، وكيف يمكن موازنة السرعة مقابل الذاكرة؟** +نعم. الحفاظ على BLOB في الذاكرة يزيد السرعة ولكنه يزيد استهلاك الذاكرة RAM؛ خفض الحد الأقصى للذاكرة يوجه المزيد من العمل إلى الملفات المؤقتة، مما يقلل الذاكرة على حساب مزيد من عمليات الإدخال/الإخراج. قم بضبط الحد [MaxBlobsBytesInMemory](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/maxblobsbytesinmemory/) لتحقيق التوازن المناسب لسيناريو العمل والبيئة الخاصة بك. + +**هل تساعد خيارات BLOB عند فتح عروض تقديمية ضخمة جدًا (مثلاً عدة جيجابايت)؟** +نعم. تم تصميم [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/) لمثل هذه السيناريوهات: تمكين الملفات المؤقتة واستخدام قفل المصدر يمكن أن يقلل بشكل كبير من ذروة استهلاك RAM ويستقر عملية المعالجة للعروض الضخمة جدًا. -{{% /alert %}} \ No newline at end of file +**هل يمكنني استخدام سياسات BLOB عند التحميل من التدفقات بدلاً من ملفات القرص؟** +نعم. القواعد نفسها تنطبق على التدفقات: يمكن لكائن العرض التقديمي امتلاك وقفل تدفق الإدخال (حسب وضع القفل المختار)، وتُستخدم الملفات المؤقتة عندما يُسمح بذلك، مما يحافظ على استهلاك الذاكرة متوقعًا أثناء المعالجة. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-hyperlinks/_index.md b/ar/net/developer-guide/presentation-content/manage-hyperlinks/_index.md index 5660c5751f..f26398e0b0 100644 --- a/ar/net/developer-guide/presentation-content/manage-hyperlinks/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-hyperlinks/_index.md @@ -3,81 +3,78 @@ title: إدارة الروابط التشعبية type: docs weight: 20 url: /ar/net/manage-hyperlinks/ -keywords: "إضافة رابط تشعبي، عرض PowerPoint، رابط تشعبي PowerPoint، رابط نصي، رابط شريحة، رابط شكل، رابط صورة، رابط فيديو، .NET، C#، Csharp" -description: "إضافة رابط تشعبي إلى عرض PowerPoint باستخدام C# أو .NET" +keywords: "إضافة ارتباط تشعبي, عرض تقديمي PowerPoint, ارتباط تشعبي PowerPoint, ارتباط تشعبي نص, ارتباط تشعبي شريحة, ارتباط تشعبي شكل, ارتباط تشعبي صورة, ارتباط تشعبي فيديو, .NET, C#, Csharp" +description: "إضافة ارتباط تشعبي إلى عرض تقديمي PowerPoint باستخدام C# أو .NET" --- -الرابط التشعبي هو إشارة إلى كائن أو بيانات أو مكان في شيء ما. هذه روابط تشعبية شائعة في عروض PowerPoint: +الارتباط التشعبي هو إشارة إلى كائن أو بيانات أو مكان في شيء. هذه روابط تشعبية شائعة في عروض PowerPoint التقديمية: -* روابط لمواقع ويب داخل النصوص أو الأشكال أو الوسائط +* روابط إلى مواقع الويب داخل النصوص أو الأشكال أو الوسائط * روابط إلى الشرائح -تتيح لك Aspose.Slides لـ .NET أداء العديد من المهام المتعلقة بالروابط التشعبية في العروض التقديمية. +يتيح لك Aspose.Slides لـ .NET أداء العديد من المهام المتعلقة بالارتباطات التشعبية في العروض التقديمية. {{% alert color="primary" %}} - -قد ترغب في إلقاء نظرة على محرر PowerPoint البسيط [المجاني عبر الإنترنت من Aspose.](https://products.aspose.app/slides/editor) - +قد ترغب في تجربة Aspose بسيط، [محرر PowerPoint مجاني عبر الإنترنت.](https://products.aspose.app/slides/editor) {{% /alert %}} -## **إضافة روابط تشعبية URL** - -### **إضافة روابط تشعبية URL إلى النصوص** +## **إضافة ارتباطات URL** -يوضح لك هذا الكود بلغة C# كيفية إضافة رابط تشعبي لموقع ويب إلى نص: +### **إضافة ارتباطات URL إلى النصوص** +يعرض هذا الكود C# كيفية إضافة ارتباط تشعبي لموقع ويب إلى نص: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50, false); - shape1.AddTextFrame("Aspose: APIs تنسيق الملفات"); + shape1.AddTextFrame("Aspose: File Format APIs"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "أكثر من 70% من شركات فورتون 100 تثق في APIs من Aspose"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; presentation.Save("presentation-out.pptx", SaveFormat.Pptx); } ``` -### **إضافة روابط تشعبية URL إلى الأشكال أو الإطارات** -يوضح لك هذا الكود النموذجي بلغة C# كيفية إضافة رابط تشعبي لموقع ويب إلى شكل: +### **إضافة ارتباطات URL إلى الأشكال أو الإطارات** +يعرض هذا المثال في C# كيفية إضافة ارتباط تشعبي لموقع ويب إلى شكل: ```c# using (Presentation pres = new Presentation()) { IShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50); shape.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape.HyperlinkClick.Tooltip = "أكثر من 70% من شركات فورتون 100 تثق في APIs من Aspose"; + shape.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspode APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -### **إضافة روابط تشعبية URL إلى الوسائط** -تتيح لك Aspose.Slides إضافة روابط تشعبية إلى الصور وملفات الصوت والفيديو. +### **إضافة ارتباطات URL إلى الوسائط** -هذا الكود النموذجي يوضح لك كيفية إضافة رابط تشعبي إلى **صورة**: +يتيح لك Aspose.Slides إضافة روابط تشعبية إلى الصور وملفات الصوت والفيديو. +يعرض هذا المثال كيفية إضافة ارتباط تشعبي إلى **صورة**: ```c# using (Presentation pres = new Presentation()) { - // إضافة صورة إلى العرض التقديمي + // يضيف صورة إلى العرض التقديمي IPPImage image = pres.Images.AddImage(File.ReadAllBytes("image.png")); - // إنشاء إطار صورة على الشريحة 1 بناءً على الصورة المضافة سابقًا + // ينشئ إطار صورة على الشريحة 1 استنادًا إلى الصورة التي أضيفت مسبقًا IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, image); pictureFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - pictureFrame.HyperlinkClick.Tooltip = "أكثر من 70% من شركات فورتون 100 تثق في APIs من Aspose"; + pictureFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -هذا الكود النموذجي يوضح لك كيفية إضافة رابط تشعبي إلى **ملف صوتي**: +يعرض هذا المثال كيفية إضافة ارتباط تشعبي إلى **ملف صوتي**: ```c# using (Presentation pres = new Presentation()) { @@ -85,14 +82,14 @@ using (Presentation pres = new Presentation()) IAudioFrame audioFrame = pres.Slides[0].Shapes.AddAudioFrameEmbedded(10, 10, 100, 100, audio); audioFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - audioFrame.HyperlinkClick.Tooltip = "أكثر من 70% من شركات فورتون 100 تثق في APIs من Aspose"; + audioFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -هذا الكود النموذجي يوضح لك كيفية إضافة رابط تشعبي إلى **فيديو**: +يعرض هذا المثال كيفية إضافة ارتباط تشعبي إلى **فيديو**: ``` csharp using (Presentation pres = new Presentation()) { @@ -100,25 +97,22 @@ using (Presentation pres = new Presentation()) IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 100, 100, video); videoFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - videoFrame.HyperlinkClick.Tooltip = "أكثر من 70% من شركات فورتون 100 تثق في APIs من Aspose"; + videoFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -{{% alert title="نصيحة" color="primary" %}} - -قد ترغب في رؤية *[إدارة OLE](https://docs.aspose.com/slides/net/manage-ole/)*. +{{% alert title="Tip" color="primary" %}} +قد ترغب في الاطلاع على *[إدارة OLE](https://docs.aspose.com/slides/net/manage-ole/)*. {{% /alert %}} +## **استخدام الارتباطات التشعبية لإنشاء جدول محتويات** -## **استخدام الروابط التشعبية لإنشاء جدول محتويات** - -نظرًا لأن الروابط التشعبية تتيح لك إضافة إشارات إلى كائنات أو أماكن، يمكنك استخدامها لإنشاء جدول محتويات. - -هذا الكود النموذجي يوضح لك كيفية إنشاء جدول محتويات مع روابط تشعبية: +نظرًا لأن الارتباطات التشعبية تتيح لك إضافة إشارات إلى كائنات أو أماكن، يمكنك استخدامها لإنشاء جدول محتويات. +يعرض هذا المثال كيفية إنشاء جدول محتويات مع ارتباطات تشعبية: ```c# using (var presentation = new Presentation()) { @@ -133,10 +127,10 @@ using (var presentation = new Presentation()) var paragraph = new Paragraph(); paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - paragraph.Text = "عنوان الشريحة 2 .......... "; + paragraph.Text = "Title of slide 2 .......... "; var linkPortion = new Portion(); - linkPortion.Text = "الصفحة 2"; + linkPortion.Text = "Page 2"; linkPortion.PortionFormat.HyperlinkManager.SetInternalHyperlinkClick(secondSlide); paragraph.Portions.Add(linkPortion); @@ -146,100 +140,101 @@ using (var presentation = new Presentation()) } ``` -## **تنسيق الروابط التشعبية** -### **اللون** +## **تنسيق الارتباطات التشعبية** -بفضل خاصية [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource) في واجهة [IHyperlink](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink)، يمكنك تعيين اللون للروابط التشعبية وأيضًا الحصول على معلومات اللون من الروابط التشعبية. تم تقديم هذه الميزة لأول مرة في PowerPoint 2019، لذا فإن التغييرات المتعلقة بالخاصية لا تنطبق على إصدارات PowerPoint الأقدم. +### **اللون** -هذا الكود النموذجي يظهر عملية حيث تمت إضافة روابط تشعبية بألوان مختلفة إلى نفس الشريحة: +باستخدام الخاصية [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource) في واجهة [IHyperlink](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink)، يمكنك تحديد لون الارتباطات التشعبية والحصول أيضًا على معلومات اللون من الارتباطات. تم تقديم هذه الميزة لأول مرة في PowerPoint 2019، لذا فإن التغييرات المتعلقة بهذه الخاصية لا تنطبق على إصدارات PowerPoint الأقدم. +يوضح هذا المثال عملية تم فيها إضافة ارتباطات تشعبية بألوان مختلفة إلى الشريحة نفسها: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 450, 50, false); - shape1.AddTextFrame("هذه عينة من رابط تشعبي ملون."); + shape1.AddTextFrame("This is a sample of colored hyperlink."); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.ColorSource = HyperlinkColorSource.PortionFormat; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.FillType = FillType.Solid; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.SolidFillColor.Color = Color.Red; IAutoShape shape2 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 450, 50, false); - shape2.AddTextFrame("هذه عينة من رابط تشعبي عادي."); + shape2.AddTextFrame("This is a sample of usual hyperlink."); shape2.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); presentation.Save("presentation-out-hyperlink.pptx", SaveFormat.Pptx); } ``` + + ### **الصوت** -توفر Aspose.Slides هذه الخصائص للسماح لك بتأكيد رابط تشعبي بصوت: +يوفر Aspose.Slides هذه الخصائص لتتيح لك تعزيز ارتباط تشعبي بصوت: - [IHyperlink.Sound](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/sound) - [IHyperlink.StopSoundOnClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/stopsoundonclick) -#### **إضافة صوت لرابط تشعبي** - -يوضح لك هذا الكود بلغة C# كيفية تعيين رابط تشعبي يقوم بتشغيل صوت والتوقف عن استخدام رابط آخر: +#### **إضافة صوت للارتباط** +يعرض هذا الكود C# كيفية تعيين ارتباط تشعبي يشغل صوتًا وإيقافه عبر ارتباط تشعبي آخر: ```c# using (Presentation pres = new Presentation()) { - // إضافة صوت جديد إلى مجموعة الصوت في العرض التقديمي + // يضيف صوتًا جديدًا إلى مجموعة أصوات العرض التقديمي IAudio playSound = pres.Audios.AddAudio(File.ReadAllBytes("sampleaudio.wav")); ISlide firstSlide = pres.Slides[0]; - // إضافة شكل جديد مع رابط إلى الشريحة التالية + // يضيف شكلًا جديدًا مع ارتباط تشعبي إلى الشريحة التالية IShape firstShape = firstSlide.Shapes.AddAutoShape(ShapeType.SoundButton, 100, 100, 100, 50); firstShape.HyperlinkClick = Hyperlink.NextSlide; - // التحقق من الرابط التشعبي "لا صوت" + // يتحقق من الارتباط التشعبي "بدون صوت" if (!firstShape.HyperlinkClick.StopSoundOnClick && firstShape.HyperlinkClick.Sound == null) { - // تعيين الرابط التشعبي الذي يقوم بتشغيل الصوت + // يضبط الارتباط التشعبي الذي يُشغل الصوت firstShape.HyperlinkClick.Sound = playSound; } - // إضافة الشريحة الفارغة + // يضيف شريحة فارغة ISlide secondSlide = pres.Slides.AddEmptySlide(firstSlide.LayoutSlide); - // إضافة شكل جديد مع رابط "لا إجراء" + // يضيف شكلاً جديدًا مع ارتباط تشعبي NoAction IShape secondShape = secondSlide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 100, 50); secondShape.HyperlinkClick = Hyperlink.NoAction; - // تعيين علامة "توقف الصوت السابق" + // يضبط علم "إيقاف الصوت السابق" للارتباط التشعبي secondShape.HyperlinkClick.StopSoundOnClick = true; pres.Save("hyperlink-sound.pptx", SaveFormat.Pptx); } ``` -#### **استخراج صوت الرابط التشعبي** -يوضح لك هذا الكود بلغة C# كيفية استخراج الصوت المستخدم في رابط تشعبي: +#### **استخراج صوت الارتباط** +يعرض هذا الكود C# كيفية استخراج الصوت المستخدم في ارتباط تشعبي: ```c# using (Presentation pres = new Presentation("hyperlink-sound.pptx")) { ISlide firstSlide = pres.Slides[0]; - // الحصول على الرابط التشعبي للكيفية الأولى + // الحصول على الارتباط التشعبي للشكل الأول IHyperlink link = firstSlide.Shapes[0].HyperlinkClick; if (link.Sound != null) { - // استخراج صوت الرابط التشعبي في مصفوفة البايت + // استخراج صوت الارتباط التشعبي في مصفوفة بايت byte[] audioData = link.Sound.BinaryData; } } ``` -## **إزالة الروابط التشعبية من العروض التقديمية** -### **إزالة الروابط التشعبية من النصوص** +## **إزالة الارتباطات التشعبية في العروض التقديمية** -يوضح لك هذا الكود بلغة C# كيفية إزالة رابط تشعبي من نص في شريحة عرض تقديمي: +### **إزالة الارتباطات التشعبية من النصوص** +يعرض هذا الكود C# كيفية إزالة الارتباط التشعبي من نص في شريحة عرض تقديمي: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -263,10 +258,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **إزالة الروابط التشعبية من الأشكال أو الإطارات** -يوضح لك هذا الكود بلغة C# كيفية إزالة رابط تشعبي من شكل في شريحة عرض تقديمي: +### **إزالة الارتباطات التشعبية من الأشكال أو الإطارات** +يعرض هذا الكود C# كيفية إزالة الارتباط التشعبي من شكل في شريحة عرض تقديمي: ``` csharp using (Presentation pres = new Presentation("demo.pptx")) { @@ -279,27 +274,26 @@ using (Presentation pres = new Presentation("demo.pptx")) } ``` -## **رابط تشعبي قابل للتعديل** -تصنف [Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink) على أنها قابلة للتعديل. باستخدام هذه الفئة، يمكنك تغيير القيم لهذه الخصائص: +## **الارتباط التشعبي القابل للتغيير** +الفئة [Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink) قابلة للتغيير. باستخدام هذه الفئة، يمكنك تعديل القيم لهذه الخصائص: - [IHyperlink.TargetFrame](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/targetframe) - [IHyperlink.Tooltip](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/tooltip) - [IHyperlink.History](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/history) - [IHyperlink.HighlightClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/highlightclick) -توضح قطعة الكود كيفية إضافة رابط تشعبي إلى شريحة وتعديل أداة التلميح الخاصة به لاحقًا: - +يعرض مقطع الكود كيفية إضافة ارتباط تشعبي إلى شريحة وتعديل تلميحه لاحقًا: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50, false); - shape1.AddTextFrame("Aspose: APIs تنسيق الملفات"); + shape1.AddTextFrame("Aspose: File Format APIs"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "أكثر من 70% من شركات فورتون 100 تثق في APIs من Aspose"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; @@ -308,19 +302,29 @@ using (Presentation presentation = new Presentation()) ``` - - ## **الخصائص المدعومة في IHyperlinkQueries** -يمكنك الوصول إلى IHyperlinkQueries من عرض تقديمي أو شريحة أو نص تم تعريف الرابط التشعبي له. - +يمكنك الوصول إلى IHyperlinkQueries من عرض تقديمي أو شريحة أو نص تم تعريف الارتباط فيه. - [IPresentation.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/properties/hyperlinkqueries) - [IBaseSlide.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ibaseslide/properties/hyperlinkqueries) - [ITextFrame.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/itextframe/properties/hyperlinkqueries) -تدعم فئة IHyperlinkQueries هذه الطرق والخصائص: - +تدعم الفئة IHyperlinkQueries هذه الأساليب والخصائص: - [IHyperlinkQueries.GetHyperlinkClicks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkclicks) - [IHyperlinkQueries.GetHyperlinkMouseOvers();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkmouseovers) - [IHyperlinkQueries.GetAnyHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/getanyhyperlinks) -- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) \ No newline at end of file +- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) + +## **FAQ** + +**كيف يمكنني إنشاء تنقل داخلي ليس فقط إلى شريحة، بل إلى "قسم" أو الشريحة الأولى من قسم؟** + +الأقسام في PowerPoint هي تجميعات للشرائح؛ التنقل يستهدف تقنيًا شريحة محددة. للـ "انتقال إلى قسم"، عادةً ما تقوم بربط إلى شريحته الأولى. + +**هل يمكنني إرفاق ارتباط تشعبي بعناصر الشريحة الرئيسة ليعمل على جميع الشرائح؟** + +نعم. تدعم عناصر الشريحة الرئيسة وتخطيطها الروابط التشعبية. تظهر هذه الروابط على الشرائح الفرعية وتكون قابلة للنقر أثناء عرض الشرائح. + +**هل سيتم الحفاظ على الروابط التشعبية عند التصدير إلى PDF أو HTML أو صور أو فيديو؟** + +في [PDF](/slides/ar/net/convert-powerpoint-to-pdf/) و[HTML](/slides/ar/net/convert-powerpoint-to-html/)، نعم—عادةً ما يتم الحفاظ على الروابط. عند التصدير إلى [صور](/slides/ar/net/convert-powerpoint-to-png/) و[فيديو](/slides/ar/net/convert-powerpoint-to-video/)، لن يتم نقل قابلية النقر بسبب طبيعة هذه الصيغ (الإطارات النقطية/الفيديو لا تدعم الروابط التشعبية). \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md b/ar/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md index 58a3480baf..c100b04165 100644 --- a/ar/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md @@ -1,52 +1,60 @@ --- -title: إطار الصوت - إدراج واستخراج الصوت في PowerPoint باستخدام C# -linktitle: إطار الصوت +title: "إدارة الصوت في العروض التقديمية باستخدام C#" +linktitle: "إطار صوتي" type: docs weight: 10 url: /ar/net/audio-frame/ -keywords: "صورة مصغرة للصوت، إضافة صوت، إطار الصوت، خصائص الصوت، استخراج الصوت، C#، Csharp، Aspose.Slides لـ .NET" -description: "إضافة الصوت إلى عرض PowerPoint في C# أو .NET" +keywords: +- "صوت" +- "إطار صوت" +- "صورة مصغرة" +- "إضافة صوت" +- "خصائص الصوت" +- "خيارات الصوت" +- "استخراج الصوت" +- ".NET" +- "C#" +- "Aspose.Slides" +description: "إنشاء والتحكم في إطارات الصوت في Aspose.Slides لـ .NET — أمثلة C# لتضمين الصوت، قصه، تشغيله بصورة حلقيّة، وتكوين التشغيل عبر عروض PPT و PPTX و ODP." --- -## **إنشاء إطار الصوت** -تسمح Aspose.Slides لـ .NET بإضافة ملفات الصوت إلى الشرائح. يتم تضمين ملفات الصوت في الشرائح كإطارات صوتية. +## **إنشاء إطارات صوتية** -1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. احصل على مرجع الشريحة من خلال فهرسها. -3. قم بتحميل تدفق ملف الصوت الذي تريد تضمينه في الشريحة. -4. أضف إطار الصوت المضمن (الذي يحتوي على ملف الصوت) إلى الشريحة. -5. اضبط [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) و`Volume` المعرضين بواسطة كائن [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe). -6. احفظ العرض التقديمي المعدل. +Aspose.Slides for .NET يتيح لك إضافة ملفات صوتية إلى الشرائح. تُدمج ملفات الصوت في الشرائح كإطارات صوتية. -يوضح كود C# كيف يمكنك إضافة إطار صوت مضمن إلى الشريحة: +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. الحصول على مرجع الشريحة عبر فهرستها. +3. تحميل تدفق ملف الصوت الذي تريد دمجه في الشريحة. +4. إضافة إطار الصوت المدمج (الذي يحتوي على ملف الصوت) إلى الشريحة. +5. ضبط [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) و `Volume` المعروضة من قبل كائن [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe). +6. حفظ العرض التقديمي المعدل. ```c# -// يهيئ فئة presentation التي تمثل ملف عرض تقديمي +// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي using (Presentation pres = new Presentation()) { - // يحصل على الشريحة الأولى + // الحصول على الشريحة الأولى ISlide sld = pres.Slides[0]; - // يحمل ملف الصوت wav إلى التدفق + // تحميل ملف الصوت wav إلى الدفق FileStream fstr = new FileStream("sampleaudio.wav", FileMode.Open, FileAccess.Read); - // يضيف إطار الصوت + // إضافة إطار الصوت IAudioFrame audioFrame = sld.Shapes.AddAudioFrameEmbedded(50, 150, 100, 100, fstr); - // يحدد وضع التشغيل وحجم الصوت + // تعيين Play Mode و Volume للصوت audioFrame.PlayMode = AudioPlayModePreset.Auto; audioFrame.Volume = AudioVolumeMode.Loud; - // يكتب ملف PowerPoint إلى القرص + // كتابة ملف PowerPoint إلى القرص pres.Save("AudioFrameEmbed_out.pptx", SaveFormat.Pptx); } ``` -## **تغيير صورة إطار الصوت** -عند إضافة ملف صوتي إلى عرض تقديمي، يظهر الصوت كإطار بصور افتراضية قياسية (انظر الصورة في القسم أدناه). يمكنك تغيير صورة إطار الصوت (تعيين الصورة المفضلة لديك). +## **تغيير صورة إطار الصوت المصغرة** -يوضح كود C# كيف يمكنك تغيير صورة إطار الصوت أو صورة المعاينة: +عند إضافة ملف صوت إلى عرض تقديمي، يظهر الصوت كإطار يحمل صورة افتراضية قياسية (انظر الصورة في القسم أدناه). يمكنك تغيير صورة المصغرة لإطار الصوت (تعيين الصورة المفضلة لديك). ```c# using (var presentation = new Presentation()) @@ -63,82 +71,132 @@ using (var presentation = new Presentation()) var audioImage = presentation.Images.AddImage(imageStream); imageStream.Dispose(); - // يحدد الصورة لإطار الصوت. + // Sets the image for the audio frame. audioFrame.PictureFormat.Picture.Image = audioImage; // <----- - - //يحفظ العرض التقديمي المعدل على القرص + + // يحفظ العرض التقديمي المعدل على القرص presentation.Save("example_out.pptx", SaveFormat.Pptx); } ``` + ## **تغيير خيارات تشغيل الصوت** -تسمح Aspose.Slides لـ .NET بتغيير الخيارات التي تتحكم في تشغيل الصوت أو خصائصه. على سبيل المثال، يمكنك ضبط حجم الصوت، أو تعيين الصوت للتشغيل بشكل متكرر، أو حتى إخفاء أيقونة الصوت. +Aspose.Slides for .NET يتيح لك تعديل الخيارات التي تتحكم في تشغيل الصوت أو خصائصه. على سبيل المثال، يمكنك ضبط مستوى صوت الصوت، أو ضبط تشغيل الصوت بشكل حلقي، أو حتى إخفاء أيقونة الصوت. لوحة **خيارات الصوت** في Microsoft PowerPoint: -![example1_image](audio_frame_0.png) +![مثال_صورة](audio_frame_0.png) + +خيارات **الصوت** في PowerPoint التي تتCorrespond مع خصائص Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe): + +- **ابدأ** القائمة المنسدلة تتطابق مع خاصية [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode) +- **الحجم** يتطابق مع خاصية [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume) +- **تشغيل عبر الشرائح** يتطابق مع خاصية [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides) +- **حلقة حتى الإيقاف** يتطابق مع خاصية [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode) +- **إخفاء أثناء العرض** يتطابق مع خاصية [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing) +- **إعادة التقديم بعد التشغيل** يتطابق مع خاصية [AudioFrame.RewindAudio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio) -خيارات الصوت في PowerPoint التي تتوافق مع خصائص Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe): +خيارات **تحرير** في PowerPoint التي تتCorrespond مع خصائص Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe): -- قائمة خيارات الصوت **البداية** تطابق خاصية [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode) -- خيارات الصوت **الحجم** تطابق خاصية [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume) -- خيارات الصوت **التشغيل عبر الشرائح** تطابق خاصية [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides) -- خيارات الصوت **التكرار حتى التوقف** تطابق خاصية [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode) -- خيارات الصوت **الإخفاء أثناء العرض** تطابق خاصية [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing) -- خيارات الصوت **إعادة التشغيل بعد التشغيل** تطابق خاصية [AudioFrame.RewindAudio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio) +- **تلاشي الدخول** يتطابق مع خاصية [AudioFrame.FadeInDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeinduration/) +- **تلاشي الخروج** يتطابق مع خاصية [AudioFrame.FadeOutDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeoutduration/) +- **تقليم وقت بدء الصوت** يتطابق مع خاصية [AudioFrame.TrimFromStart](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromstart/) +- **تقليم وقت انتهاء الصوت** يساوي مدة الصوت ناقص قيمة خاصية [AudioFrame.TrimFromEnd](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromend/) -إليك كيفية تغيير خيارات تشغيل الصوت: +متحكم **مستوى الصوت** في لوحة التحكم الصوتية في PowerPoint يتCorrespond مع خاصية [AudioFrame.VolumeValue](https://reference.aspose.com/slides/net/aspose.slides/audioframe/volumevalue/) . يتيح لك تغيير مستوى الصوت كنسبة مئوية. + +هذه هي الطريقة التي يمكنك بها تغيير خيارات تشغيل الصوت: 1. [إنشاء](#create-audio-frame) أو الحصول على إطار الصوت. -2. تعيين قيم جديدة لخصائص إطار الصوت التي تريد تعديلها. +2. ضبط القيم الجديدة لخصائص إطار الصوت التي تريد تعديلها. 3. حفظ ملف PowerPoint المعدل. -يوضح كود C# عملية يتم فيها ضبط خيارات الصوت: - -``` csharp +```csharp using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) { - // يحصل على شكل AudioFrame + // الحصول على شكل AudioFrame AudioFrame audioFrame = (AudioFrame)pres.Slides[0].Shapes[0]; - // يحدد وضع التشغيل للتشغيل عند النقر + // تعيين وضع التشغيل للتشغيل عند النقر audioFrame.PlayMode = AudioPlayModePreset.OnClick; - // يحدد حجم الصوت على منخفض + // تعيين مستوى الصوت إلى منخفض audioFrame.Volume = AudioVolumeMode.Low; - // يحدد الصوت للتشغيل عبر الشرائح + // تعيين الصوت للتشغيل عبر الشرائح audioFrame.PlayAcrossSlides = true; - // يعطل التكرار للصوت + // تعطيل الحلقة للصوت audioFrame.PlayLoopMode = false; - // يخفي AudioFrame أثناء عرض الشرائح + // إخفاء AudioFrame أثناء عرض الشرائح audioFrame.HideAtShowing = true; - // يعيد تشغيل الصوت إلى البداية بعد التشغيل + // إرجاع الصوت إلى البداية بعد تشغيله audioFrame.RewindAudio = true; - // يحفظ ملف PowerPoint إلى القرص + // حفظ ملف PowerPoint إلى القرص pres.Save("AudioFrameEmbed_changed.pptx", SaveFormat.Pptx); } ``` + +هذا المثال في C# يوضح عملية تعديل خيارات الصوت: + +```c# +using (Presentation pres = new Presentation()) +{ + ISlide slide = pres.Slides[0]; + + byte[] audioData = File.ReadAllBytes("sampleaudio.mp3"); + IAudio audio = pres.Audios.AddAudio(audioData); + IAudioFrame audioFrame = slide.Shapes.AddAudioFrameEmbedded(50, 50, 100, 100, audio); + + // يضبط إزاحة بداية التقليم إلى 1.5 ثانية + audioFrame.TrimFromStart = 1500f; + // يضبط إزاحة نهاية التقليم إلى 2 ثانية + audioFrame.TrimFromEnd = 2000f; + + // يضبط مدة التلاشي التدريجي إلى 200 مللي ثانية + audioFrame.FadeInDuration = 200f; + // يضبط مدة التلاشي التدريجي للخروج إلى 500 مللي ثانية + audioFrame.FadeOutDuration = 500f; + + pres.Save("AudioFrameTrimFade_out.pptx", SaveFormat.Pptx); +} +``` + + +العينة التالية تُظهر كيفية استرداد إطار صوت مدمج وتعيين مستواه إلى 85٪: + +```c# +using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) +{ + // الحصول على شكل إطار صوت + IAudioFrame audioFrame = (IAudioFrame)pres.Slides[0].Shapes[0]; + + // ضبط مستوى صوت الإطار إلى 85% + audioFrame.VolumeValue = 85f; + + pres.Save("AudioFrameValue_out.pptx", SaveFormat.Pptx); +} +``` + + ## **استخراج الصوت** -تسمح Aspose.Slides لـ .NET باستخراج الصوت المستخدم في انتقالات عرض الشرائح. على سبيل المثال، يمكنك استخراج الصوت المستخدم في شريحة معينة. -1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) وقم بتحميل العرض التقديمي الذي يحتوي على الصوت. -2. احصل على مرجع الشريحة ذات الصلة من خلال فهرسها. -3. الوصول إلى انتقالات عرض الشرائح للشريحة. -4. استخراج الصوت في بيانات بايت. +Aspose.Slides for .NET يتيح لك استخراج الصوت المستخدم في انتقالات عرض الشرائح. على سبيل المثال، يمكنك استخراج الصوت المستخدم في شريحة محددة. -يوضح كود C# كيف يمكنك استخراج الصوت المستخدم في شريحة: +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) وتحميل العرض التقديمي الذي يحتوي على الصوت. +2. الحصول على مرجع الشريحة المعنية عبر فهرستها. +3. الوصول إلى انتقالات عرض الشرائح لتلك الشريحة. +4. استخراج الصوت على شكل بيانات بايت. ```c# string presName = "AudioSlide.pptx"; -// يهيئ فئة Presentation التي تمثل ملف عرض تقديمي +// ينشئ كائن من فئة Presentation التي تمثل ملف عرض تقديمي Presentation pres = new Presentation(presName); // يصل إلى الشريحة @@ -147,8 +205,23 @@ ISlide slide = pres.Slides[0]; // يحصل على تأثيرات انتقال عرض الشرائح للشريحة ISlideShowTransition transition = slide.SlideShowTransition; -// يستخرج الصوت في مصفوفة بايت +//يستخرج الصوت في مصفوفة بايت byte[] audio = transition.Sound.BinaryData; System.Console.WriteLine("Length: " + audio.Length); -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل يمكنني إعادة استخدام ملف الصوت نفسه عبر عدة شرائح دون زيادة حجم الملف؟** + +نعم. أضف الصوت مرة واحدة إلى [مجموعة الصوت المشتركة](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) في العرض التقديمي وأنشئ إطارات صوتية إضافية تشير إلى هذا الأصل الموجود. هذا يجنب تكرار بيانات الوسائط ويحافظ على حجم العرض تحت السيطرة. + +**هل يمكنني استبدال الصوت في إطار صوت موجود دون إعادة إنشاء الشكل؟** + +نعم. بالنسبة لصوت مرتبط، قم بتحديث [مسار الارتباط](https://reference.aspose.com/slides/net/aspose.slides/audioframe/linkpathlong/) للإشارة إلى الملف الجديد. بالنسبة لصوت مدمج، استبدل كائن [embedded audio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/embeddedaudio/) بآخر من [مجموعة الصوت](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) في العرض التقديمي. تظل تنسيقات الإطار ومعظم إعدادات التشغيل دون تغيير. + +**هل يؤدي التقليم إلى تغيير بيانات الصوت الأساسية المخزنة في العرض؟** + +لا. يقتصر التقليم على تعديل حدود التشغيل فقط. تظل بايتات الصوت الأصلية دون تغيير وتكون متاحة عبر الصوت المدمج أو مجموعة الصوت في العرض التقديمي. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-media-files/flash/_index.md b/ar/net/developer-guide/presentation-content/manage-media-files/flash/_index.md index 847d5215d5..45ccb08e90 100644 --- a/ar/net/developer-guide/presentation-content/manage-media-files/flash/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-media-files/flash/_index.md @@ -3,13 +3,12 @@ title: فلاش type: docs weight: 10 url: /ar/net/flash/ -keywords: "استخراج فلاش، عرض باوربوينت، C#، Csharp، Aspose.Slides لـ .NET" -description: "استخراج كائن فلاش من عرض باوربوينت في C# أو .NET" +keywords: "استخراج الفلاش, عرض باوربوينت, C#, Csharp, Aspose.Slides for .NET" +description: "استخراج كائن الفلاش من عرض باوربوينت باستخدام C# أو .NET" --- -## **استخراج كائنات فلاش من العرض** -توفر Aspose.Slides لـ .NET وسيلة لاستخراج كائنات فلاش من العرض. يمكنك الوصول إلى وحدة فلاش بالاسم واستخراجها من العرض بما في ذلك تخزين بيانات كائن SWF. - +## **استخراج كائنات الفلاش من العرض التقديمي** +يُوفر Aspose.Slides for .NET إمكانية استخراج كائنات الفلاش من العرض التقديمي. يمكنك الوصول إلى عنصر التحكم الفلاش بالاسم واستخراجه من العرض التقديمي بما في ذلك تخزين بيانات كائنات SWF. ```c# using (Presentation pres = new Presentation("withFlash.pptm")) { @@ -23,4 +22,23 @@ using (Presentation pres = new Presentation("withFlash.pptm")) } } } -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**ما هي صيغ العروض التقديمية المدعومة عند استخراج محتوى الفلاش؟** + +[Aspose.Slides يدعم](/slides/ar/net/supported-file-formats/) الصيغ الرئيسية لبرنامج PowerPoint مثل PPT و PPTX، نظرًا لأنه يمكنه تحميل هذه الحاويات والوصول إلى عناصر التحكم فيها، بما في ذلك عناصر ActiveX المتعلقة بالفلاش. + +**هل يمكنني تحويل عرض تقديمي يحتوي على فلاش إلى HTML5 والحفاظ على تفاعلية الفلاش؟** + +لا. لا يقوم Aspose.Slides بتنفيذ محتوى SWF أو تحويل تفاعليته. بينما يدعم التصدير إلى [HTML](/slides/ar/net/convert-powerpoint-to-html/)/[HTML5](/slides/ar/net/export-to-html5/)، لن يعمل الفلاش في المتصفحات الحديثة بسبب انتهاء الدعم. المسار الموصى به هو استبدال الفلاش ببدائل مثل الفيديو أو الرسوم المتحركة HTML5 قبل التصدير. + +**من منظور الأمان، هل يقوم Aspose.Slides بتنفيذ ملفات SWF أثناء قراءة العرض التقديمي؟** + +لا. يتعامل Aspose.Slides مع الفلاش كبيانات ثنائية مدمجة في الملف ولا ينفذ محتوى SWF أثناء المعالجة. + +**كيف يجب أن أتعامل مع العروض التقديمية التي تشمل فلاش مع ملفات مدمجة أخرى عبر OLE؟** + +يدعم Aspose.Slides [استخراج كائنات OLE المدمجة](/slides/ar/net/manage-ole/)، لذا يمكنك معالجة جميع المحتويات المدمجة ذات الصلة في خطوة واحدة، مع التعامل مع عناصر تحكم الفلاش وغيرها من المستندات المدمجة عبر OLE معًا. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-media-files/image/_index.md b/ar/net/developer-guide/presentation-content/manage-media-files/image/_index.md index 804e9556ca..cb7ee88a10 100644 --- a/ar/net/developer-guide/presentation-content/manage-media-files/image/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-media-files/image/_index.md @@ -3,38 +3,50 @@ title: صورة type: docs weight: 10 url: /ar/net/image/ -keywords: "إضافة صورة, إضافة صورة, عرض PowerPoint, EMF, SVG, C#, Csharp, Aspose.Slides لـ .NET" -description: "إضافة صورة إلى شريحة PowerPoint أو عرض تقديمي في C# أو .NET" +keywords: +- إضافة صورة +- إضافة صورة +- إضافة بت ماب +- استبدال صورة +- استبدال صورة +- من الويب +- خلفية +- إضافة PNG +- إضافة JPG +- إضافة SVG +- إضافة EMF +- إضافة WMF +- إضافة TIFF +- PowerPoint +- OpenDocument +- عرض تقديمي +- .NET +- C# +- Aspose.Slides +description: "تبسيط إدارة الصور في PowerPoint و OpenDocument باستخدام Aspose.Slides لـ .NET، تحسين الأداء وأتمتة سير العمل الخاص بك." --- ## **الصور في الشرائح في العروض التقديمية** -الصور تجعل العروض التقديمية أكثر جاذبية واهتمامًا. في Microsoft PowerPoint، يمكنك إدراج صور من ملف أو من الإنترنت أو من مواقع أخرى على الشرائح. بالمثل، يتيح لك Aspose.Slides إضافة الصور إلى الشرائح في عروضك التقديمية من خلال إجراءات مختلفة. +تجعل الصور العروض التقديمية أكثر جاذبية وإثارة للاهتمام. في Microsoft PowerPoint، يمكنك إدراج صور من ملف أو الإنترنت أو مواقع أخرى على الشرائح. وبالمثل، يتيح لك Aspose.Slides إضافة صور إلى الشرائح في عروضك التقديمية من خلال طرق مختلفة. {{% 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)—تتيح للناس إنشاء عروض تقديمية بسرعة من الصور. - +توفر Aspose محولات مجانية —[JPEG إلى PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) و[PNG إلى PowerPoint](https://products.aspose.app/slides/import/png-to-ppt) — التي تمكن الأشخاص من إنشاء عروض تقديمية بسرعة من الصور. {{% /alert %}} {{% alert title="معلومات" color="info" %}} - -إذا كنت ترغب في إضافة صورة ككائن إطار—خصوصًا إذا كنت تخطط لاستخدام خيارات التنسيق القياسية عليها لتغيير حجمها، وإضافة تأثيرات، وما إلى ذلك—انظر إلى [إطار الصورة](https://docs.aspose.com/slides/net/picture-frame/). - +إذا كنت تريد إضافة صورة ككائن إطار — خاصةً إذا كنت تخطط لاستخدام خيارات تنسيق قياسية لتغيير حجمها، إضافة تأثيرات، وما إلى ذلك — راجع [إطار الصورة](https://docs.aspose.com/slides/net/picture-frame/). {{% /alert %}} -{{% alert title="ملحوظة" color="warning" %}} - -يمكنك التعامل مع عمليات الإدخال/الإخراج المتعلقة بالصور وعروض PowerPoint لتحويل صورة من تنسيق إلى آخر. انظر هذه الصفحات: تحويل [صورة إلى JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); تحويل [JPG إلى صورة](https://products.aspose.com/slides/net/conversion/jpg-to-image/); تحويل [JPG إلى PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/)، تحويل [PNG إلى JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); تحويل [PNG إلى SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/)، تحويل [SVG إلى PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). - +{{% alert title="ملاحظة" color="warning" %}} +يمكنك معالجة عمليات الإدخال/الإخراج المتعلقة بالصور وعروض PowerPoint لتحويل صورة من تنسيق إلى آخر. راجع هذه الصفحات: تحويل [صورة إلى JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); تحويل [JPG إلى صورة](https://products.aspose.com/slides/net/conversion/jpg-to-image/); تحويل [JPG إلى PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), تحويل [PNG إلى JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); تحويل [PNG إلى SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), تحويل [SVG إلى PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -يدعم Aspose.Slides عمليات مع الصور في هذه الصيغ الشائعة: JPEG، PNG، BMP، GIF، وغيرها. +يدعم Aspose.Slides العمليات مع الصور بهذه الصيغ الشائعة: JPEG, PNG, BMP, GIF، وغيرها. ## **إضافة صور مخزنة محليًا إلى الشرائح** -يمكنك إضافة صورة واحدة أو عدة صور من الكمبيوتر إلى شريحة في عرض تقديمي. يعرض لك هذا الرمز التجريبي في C# كيفية إضافة صورة إلى شريحة: - +يمكنك إضافة صورة واحدة أو عدة صور من جهازك إلى شريحة في عرض تقديمي. يوضح لك هذا المثال البرمجي في C# كيفية إضافة صورة إلى شريحة: ```c# using (Presentation pres = new Presentation()) { @@ -46,12 +58,12 @@ using (Presentation pres = new Presentation()) } ``` -## **إضافة صور من الويب إلى الشرائح** -إذا كانت الصورة التي تريد إضافتها إلى شريحة غير متاحة على جهاز الكمبيوتر الخاص بك، يمكنك إضافة الصورة مباشرة من الويب. +## **إضافة صور من الويب إلى الشرائح** -يعرض لك هذا الرمز التجريبي كيفية إضافة صورة من الويب إلى شريحة في C#: +إذا كانت الصورة التي تريد إضافتها إلى شريحة غير متوفرة على جهازك، يمكنك إضافة الصورة مباشرةً من الويب. +هذا المثال البرمجي يوضح كيفية إضافة صورة من الويب إلى شريحة في C#: ```c# using (Presentation pres = new Presentation()) { @@ -60,7 +72,7 @@ using (Presentation pres = new Presentation()) byte[] imageData; using (WebClient webClient = new WebClient()) { - imageData = webClient.DownloadData(new Uri("[استبدل بالرابط]")); + imageData = webClient.DownloadData(new Uri("[REPLACE WITH URL]")); } IPPImage image = pres.Images.AddImage(imageData); @@ -70,12 +82,12 @@ using (Presentation pres = new Presentation()) } ``` -## **إضافة صور إلى شريحة الرئيسية** -الشريحة الرئيسية هي الشريحة العلوية التي تخزن وتتحكم في المعلومات (الموضوع، التخطيط، إلخ) حول جميع الشرائح تحتها. لذلك، عند إضافة صورة إلى شريحة رئيسية، ستظهر تلك الصورة على كل شريحة تحت تلك الشريحة الرئيسية. +## **إضافة صور إلى القالب الرئيسي للشرائح** -يعرض لك هذا الرمز التجريبي في C# كيفية إضافة صورة إلى شريحة رئيسية: +القالب الرئيسي للشرائح هو الشريحة العليا التي تخزن وتتحكم في المعلومات (السمة، التخطيط، إلخ) الخاصة بجميع الشرائح تحته. لذا، عندما تضيف صورة إلى القالب الرئيسي، تظهر تلك الصورة على كل شريحة تحت ذلك القالب. +هذا المثال البرمجي في C# يوضح كيفية إضافة صورة إلى القالب الرئيسي: ```c# using (Presentation pres = new Presentation()) { @@ -89,12 +101,14 @@ using (Presentation pres = new Presentation()) } ``` + ## **إضافة صور كخلفية للشرائح** -يمكن أن تقرر استخدام صورة كخلفية لشريحة معينة أو عدة شرائح. في هذه الحالة، عليك الاطلاع على *[تعيين الصور كخلفيات للشرائح](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*. +قد تقرر استخدام صورة كخلفية لشريحة محددة أو عدة شرائح. في هذه الحالة، يجب عليك الاطلاع على *[تعيين الصور كخلفيات للشرائح](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*. ## **إضافة SVG إلى العروض التقديمية** -يمكنك إضافة أو إدراج أي صورة إلى عرض تقديمي باستخدام طريقة [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe) التي تنتمي إلى واجهة [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). + +يمكنك إضافة أو إدراج أي صورة في عرض تقديمي باستخدام طريقة [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe) التي تنتمي إلى واجهة [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). لإنشاء كائن صورة بناءً على صورة SVG، يمكنك القيام بذلك بهذه الطريقة: @@ -102,9 +116,9 @@ using (Presentation pres = new Presentation()) 2. إنشاء كائن PPImage من ISvgImage 3. إنشاء كائن PictureFrame باستخدام واجهة IPPImage -يعرض لك هذا الرمز التجريبي كيف يمكنك تنفيذ الخطوات أعلاه لإضافة صورة SVG إلى عرض تقديمي: -``` csharp -// المسار إلى دليل الوثائق +هذا المثال البرمجي يوضح كيفية تنفيذ الخطوات أعلاه لإضافة صورة SVG إلى عرض تقديمي: +```csharp +// مسار دليل المستندات string dataDir = @"D:\Documents\"; // اسم ملف SVG المصدر @@ -125,26 +139,26 @@ using (var p = new Presentation()) // إنشاء كائن PPImage IPPImage ppImage = p.Images.AddImage(svgImage); - // إنشاء إطار صورة جديد + // إنشاء إطار صورة جديد p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 200, 100, ppImage.Width, ppImage.Height, ppImage); - // حفظ العرض التقديمي بتنسيق PPTX + // حفظ العرض بتنسيق PPTX p.Save(outPptxPath, SaveFormat.Pptx); } ``` -## **تحويل SVG إلى مجموعة من الأشكال** -إن تحويل Aspose.Slides من SVG إلى مجموعة من الأشكال مشابه لوظيفة PowerPoint المستخدمة للعمل مع صور SVG: +## **تحويل SVG إلى مجموعة من الأشكال** -![قائمة منبثقة في PowerPoint](img_01_01.png) +تحويل Aspose.Slides لـ SVG إلى مجموعة من الأشكال مشابه لوظيفة PowerPoint المستخدمة للعمل مع صور SVG: -تقدم الوظيفة بواسطة أحد الأعباء الزائدة من طريقة [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) الخاصة بواجهة [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) والتي تأخذ كائن [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) كأول معطى. +![قائمة PowerPoint المنبثقة](img_01_01.png) -يعرض لك هذا الرمز التجريبي كيف يمكنك استخدام الطريقة الموصوفة لتحويل ملف SVG إلى مجموعة من الأشكال: +توفر هذه الوظيفة أحد التحميلات المزدوجة (overloads) لطريقة [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) في واجهة [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) التي تستقبل كائن [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) كأول معامل. +هذا المثال البرمجي يوضح كيفية استخدام الطريقة الموصوفة لتحويل ملف SVG إلى مجموعة من الأشكال: ``` csharp -// المسار إلى دليل الوثائق +// مسار دليل المستندات string dataDir = @"D:\Documents\"; // اسم ملف SVG المصدر @@ -165,19 +179,20 @@ using (IPresentation presentation = new Presentation()) // الحصول على حجم الشريحة SizeF slideSize = presentation.SlideSize.Size; - // تحويل صورة SVG إلى مجموعة من الأشكال مع تغيير مقاسها إلى حجم الشريحة + // تحويل صورة SVG إلى مجموعة أشكال وتوسيعها لتناسب حجم الشريحة presentation.Slides[0].Shapes.AddGroupShape(svgImage, 0f, 0f, slideSize.Width, slideSize.Height); - // حفظ العرض التقديمي بتنسيق PPTX + // حفظ العرض بتنسيق PPTX presentation.Save(outPptxPath, SaveFormat.Pptx); } ``` -## **إضافة صور كـ EMF إلى الشرائح** -يسمح لك Aspose.Slides لـ .NET بإنشاء صور EMF من أوراق Excel وإضافة الصور كـ EMF إلى الشرائح باستخدام Aspose.Cells.  -يعرض لك هذا الرمز التجريبي كيف يمكنك تنفيذ المهمة الموصوفة: +## **إضافة صور كـ EMF في الشرائح** +يسمح Aspose.Slides للـ .NET بإنشاء صور EMF من أوراق Excel وإضافة الصور كـ EMF في الشرائح باستخدام Aspose.Cells. + +هذا المثال البرمجي يوضح كيفية تنفيذ المهمة الموصوفة: ``` csharp using (Workbook book = new Workbook(dataDir + "chart.xlsx")) { @@ -187,7 +202,7 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) options.VerticalResolution = 200; options.ImageFormat = System.Drawing.Imaging.ImageFormat.Emf; - // حفظ دفتر العمل إلى تدفق + // حفظ المصنف إلى التدفق SheetRender sr = new SheetRender(sheet, options); using (Presentation pres = new Presentation()) { @@ -210,8 +225,63 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) } ``` + +## **استبدال الصور في مجموعة الصور** + +Aspose.Slides يتيح لك استبدال الصور المخزنة في مجموعة الصور الخاصة بالعرض (بما في ذلك تلك المستخدمة في أشكال الشرائح). يعرض هذا القسم عدة نهج لتحديث الصور في المجموعة. توفر API طرقًا بسيطة لاستبدال صورة باستخدام بيانات بايت خام، أو كائن [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/)، أو صورة أخرى موجودة بالفعل في المجموعة. + +اتبع الخطوات التالية: +1. تحميل ملف العرض الذي يحتوي على الصور باستخدام الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +2. تحميل صورة جديدة من ملف إلى مصفوفة بايت. +3. استبدال الصورة المستهدفة بالصورة الجديدة باستخدام مصفوفة البايت. +4. في النهج الثاني، تحميل الصورة إلى كائن [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) واستبدال الصورة المستهدفة بذلك الكائن. +5. في النهج الثالث، استبدال الصورة المستهدفة بصورة موجودة بالفعل في مجموعة صور العرض. +6. كتابة العرض المعدل كملف PPTX. +```cs +// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي. +using Presentation presentation = new Presentation("sample.pptx"); + +// الطريقة الأولى. +byte[] imageData = File.ReadAllBytes("image0.jpeg"); +IPPImage oldImage = presentation.Images[0]; +oldImage.ReplaceImage(imageData); + +// الطريقة الثانية. +using IImage newImage = Images.FromFile("image1.png"); +oldImage = presentation.Images[1]; +oldImage.ReplaceImage(newImage); + +// الطريقة الثالثة. +oldImage = presentation.Images[2]; +oldImage.ReplaceImage(presentation.Images[3]); + +// حفظ العرض التقديمي إلى ملف. +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + {{% alert title="معلومات" color="info" %}} +باستخدام محول Aspose FREE [Text to GIF](https://products.aspose.app/slides/text-to-gif) يمكنك بسهولة تحريك النصوص، إنشاء GIFs من النصوص، وما إلى ذلك. +{{% /alert %}} + +## **أسئلة شائعة** + +**هل يبقى دقة الصورة الأصلية محفوظة بعد الإدراج؟** + +نعم. يتم الحفاظ على بكسلات المصدر، لكن المظهر النهائي يعتمد على كيفية تحجيم [الصورة](/slides/ar/net/picture-frame/) في الشريحة وأي ضغط يتم تطبيقه عند الحفظ. + +**ما هي أفضل طريقة لاستبدال الشعار نفسه عبر عشرات الشرائح دفعة واحدة؟** + +ضع الشعار على الشريحة الرئيسية أو على تخطيط واستبدله في مجموعة صور العرض — ستنتقل التحديثات إلى جميع العناصر التي تستخدم هذا المورد. + +**هل يمكن تحويل SVG المضمن إلى أشكال قابلة للتعديل؟** + +نعم. يمكنك تحويل SVG إلى مجموعة من الأشكال، وبعد ذلك تصبح الأجزاء الفردية قابلة للتحرير باستخدام خصائص الشكل القياسية. + +**كيف يمكنني تعيين صورة كخلفية لعدة شرائح في آن واحد؟** + +[تعيين الصورة كخلفية](/slides/ar/net/presentation-background/) على الشريحة الرئيسية أو التخطيط المناسب — أي شريحة تستخدم ذلك القالب/التخطيط ستورث الخلفية. -باستخدام محول Aspose المجاني [نص إلى GIF](https://products.aspose.app/slides/text-to-gif)، يمكنك بسهولة تحريك النصوص، وإنشاء GIFs من النصوص، إلخ. +**كيف يمكنني منع تضخم حجم العرض بسبب كثرة الصور؟** -{{% /alert %}} \ No newline at end of file +أعد استخدام مصدر صورة واحد بدلاً من التكرارات، اختر دقات معقولة، طبق الضغط عند الحفظ، واحتفظ بالرسومات المتكررة على القالب الرئيسي حيثما كان ذلك مناسبًا. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/ar/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index 0b997fbba0..d4fabd1dcc 100644 --- a/ar/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -3,52 +3,54 @@ title: إطار الصورة type: docs weight: 10 url: /ar/net/picture-frame/ -keywords: -- إضافة إطار الصورة -- إنشاء إطار الصورة +keywords: +- إطار الصورة +- إضافة إطار صورة +- إنشاء إطار صورة - إضافة صورة - إنشاء صورة - استخراج صورة +- قص صورة - خاصية StretchOff - تنسيق إطار الصورة - خصائص إطار الصورة -- عرض PowerPoint +- تأثير الصورة +- نسبة الأبعاد +- PowerPoint +- عرض تقديمي - C# - Csharp - Aspose.Slides for .NET -description: "إضافة إطار الصورة إلى عرض PowerPoint باستخدام C# أو .NET" +description: "أضف إطار صورة إلى عرض تقديمي PowerPoint باستخدام C# أو .NET" --- -إطار الصورة هو شكل يحتوي على صورة، إنه مثل صورة داخل إطار. +إطار الصورة هو شكل يحتوي على صورة—إنه مثل صورة داخل إطار. -يمكنك إضافة صورة إلى شريحة من خلال إطار الصورة. بهذه الطريقة، يمكنك تنسيق الصورة من خلال تنسيق إطار الصورة. - -{{% 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 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 %}} ## **إنشاء إطار صورة** -1. قم بإنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. احصل على مرجع الشريحة من خلال فهرسها. -3. قم بإنشاء كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) عن طريق إضافة صورة إلى [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) المرتبطة بكائن العرض الذي سيتم استخدامه لملء الشكل. -4. حدد عرض الصورة وارتفاعها. -5. قم بإنشاء [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) بناءً على عرض الصورة وارتفاعها من خلال طريقة `AddPictureFrame` التي تم توفيرها بواسطة كائن الشكل المرتبط بالشريحة المرجعية. -6. أضف إطار صورة (يحتوي على الصورة) إلى الشريحة. -7. اكتب العرض المعدل كملف PPTX. - -يوضح كود C# هذا كيفية إنشاء إطار صورة: +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. الحصول على مرجع الشريحة عبر فهرستها. +3. إنشاء كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) عن طريق إضافة صورة إلى [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) المرتبطة بكائن العرض الذي سيُستخدم لملء الشكل. +4. تحديد عرض الصورة وارتفاعها. +5. إنشاء [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) بناءً على عرض الصورة وارتفاعها عبر طريقة `AddPictureFrame` التي يوفرها كائن الشكل المرتبط بالشريحة المرجعية. +6. إضافة إطار صورة (الذي يحتوي على الصورة) إلى الشريحة. +7. حفظ العرض المعدل كملف PPTX. +يعرض لك هذا الكود C# كيفية إنشاء إطار صورة: ```c# -// ينشئ مثيل من فئة Presentation التي تمثل ملف PPTX +// ينشئ كائنًا من فئة Presentation التي تمثل ملف PPTX using (Presentation pres = new Presentation()) { // يحصل على الشريحة الأولى ISlide slide = pres.Slides[0]; - // يحمل صورة ويضيفها إلى مجموعة صور العرض + // يقوم بتحميل صورة وإضافتها إلى مجموعة صور العرض IImage image = Images.FromFile("aspose-logo.jpg"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); @@ -62,35 +64,33 @@ using (Presentation pres = new Presentation()) pictureFrame.LineFormat.Width = 20; pictureFrame.Rotation = 45; - // يكتب العرض إلى ملف PPTX + // يحفظ العرض في ملف PPTX pres.Save("RectPicFrameFormat_out.pptx", SaveFormat.Pptx); } ``` -{{% alert color="warning" %}} - -تسمح لك إطارات الصور بإنشاء شرائح عرض تقديمي بسرعة بناءً على الصور. عند دمج إطار الصورة مع خيارات الحفظ من Aspose.Slides، يمكنك التحكم في عمليات الإدخال/الإخراج لتحويل الصور من تنسيق إلى آخر. قد ترغب في رؤية هذه الصفحات: تحويل [الصورة إلى JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); تحويل [JPG إلى صورة](https://products.aspose.com/slides/net/conversion/jpg-to-image/); تحويل [JPG إلى PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/)، تحويل [PNG إلى JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); تحويل [PNG إلى SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/)، تحويل [SVG إلى PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). +{{% alert color="warning" %}} +تتيح لك إطارات الصورة إنشاء شرائح عرض تقديمي بسرعة استنادًا إلى الصور. عند الجمع بين إطار الصورة وخيارات الحفظ في Aspose.Slides، يمكنك التحكم في عمليات الإدخال/الإخراج لتحويل الصور من تنسيق إلى آخر. قد ترغب في مراجعة الصفحات التالية: تحويل [الصورة إلى JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); تحويل [JPG إلى صورة](https://products.aspose.com/slides/net/conversion/jpg-to-image/); تحويل [JPG إلى PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), تحويل [PNG إلى JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); تحويل [PNG إلى SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), تحويل [SVG إلى PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -## **إنشاء إطار صورة بمقياس نسبي** +## **إنشاء إطار صورة مع مقياس نسبي** -من خلال تغيير تدرج الصورة النسبي، يمكنك إنشاء إطار صورة أكثر تعقيدًا. +عن طريق تعديل مقياس الصورة النسبي، يمكنك إنشاء إطار صورة أكثر تعقيدًا. -1. قم بإنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. احصل على مرجع الشريحة من خلال فهرسها. -3. أضف صورة إلى مجموعة صور العرض. -4. قم بإنشاء كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) عن طريق إضافة صورة إلى [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) المرتبطة بكائن العرض الذي سيتم استخدامه لملء الشكل. -5. حدد عرض الصورة وارتفاعها النسبي في إطار الصورة. -6. اكتب العرض المعدل كملف PPTX. - -يوضح كود C# هذا كيفية إنشاء إطار صورة بمقياس نسبي: +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) . +2. الحصول على مرجع الشريحة عبر فهرستها. +3. إضافة صورة إلى مجموعة صور العرض. +4. إنشاء كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) عن طريق إضافة صورة إلى [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) المرتبطة بكائن العرض الذي سيُستخدم لملء الشكل. +5. تحديد العرض والارتفاع النسبيين للصورة في إطار الصورة. +6. حفظ العرض المعدل كملف PPTX. +يعرض لك هذا الكود C# كيفية إنشاء إطار صورة بمقياس نسبي: ```c# -// ينشئ مثيل من فئة Presentation التي تمثل ملف PPTX +// إنشاء كائن من فئة Presentation التي تمثل ملف PPTX using (Presentation presentation = new Presentation()) { - // يحمل صورة ويضيفها إلى مجموعة صور العرض + // يقوم بتحميل صورة ويضيفها إلى مجموعة صور العرض IImage image = Images.FromFile("aspose-logo.jpg"); IPPImage ppImage = presentation.Images.AddImage(image); image.Dispose(); @@ -98,19 +98,19 @@ using (Presentation presentation = new Presentation()) // يضيف إطار صورة إلى الشريحة IPictureFrame pictureFrame = presentation.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 100, 100, ppImage); - // يحدد عرض وارتفاع المقياس النسبي + // يضبط العرض والارتفاع النسبيين pictureFrame.RelativeScaleHeight = 0.8f; pictureFrame.RelativeScaleWidth = 1.35f; // يحفظ العرض - presentation.Save("إضافة إطار صورة بمقياس نسبي_out.pptx", SaveFormat.Pptx); + presentation.Save("Adding Picture Frame with Relative Scale_out.pptx", SaveFormat.Pptx); } ``` -## **استخراج صورة من إطار الصورة** -يمكنك استخراج الصور من كائنات [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) وحفظها في تنسيقات PNG وJPG وتنسيقات أخرى. توضح مثال الشفرة أدناه كيفية استخراج صورة من الوثيقة "sample.pptx" وحفظها بتنسيق PNG. +## **استخراج الصور النقطية من إطارات الصورة** +يمكنك استخراج الصور النقطية من كائنات [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) وحفظها بصيغة PNG أو JPG أو صيغ أخرى. يوضح المثال البرمجي أدناه كيفية استخراج صورة من المستند "sample.pptx" وحفظها بصيغة PNG. ```c# using (var presentation = new Presentation("sample.pptx")) { @@ -125,12 +125,34 @@ using (var presentation = new Presentation("sample.pptx")) } ``` -## **الحصول على شفافية الصورة** -تسمح لك Aspose.Slides بالحصول على شفافية الصورة. يوضح كود C# هذا العملية: +## **استخراج صور SVG من إطارات الصورة** + +عند احتواء عرض تقديمي على رسومات SVG موضوعة داخل أشكال [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/)، يتيح لك Aspose.Slides for .NET استرجاع الصور المتجهة الأصلية بجودة كاملة. من خلال استعراض مجموعة أشكال الشريحة، يمكنك تحديد كل [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/)، والتحقق مما إذا كان [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) المتعلق يحتوي على محتوى SVG، ثم حفظ تلك الصورة إلى القرص أو إلى تدفق بصيغة SVG الأصلية. + +المثال التالي يوضح كيفية استخراج صورة SVG من إطار صورة: +```cs +using var presentation = new Presentation("sample.pptx"); + +var slide = presentation.Slides[0]; +var shape = slide.Shapes[0]; + +if (shape is IPictureFrame pictureFrame) +{ + var svgImage = pictureFrame.PictureFormat.Picture.Image.SvgImage; + if (svgImage != null) + { + File.WriteAllText("output.svg", svgImage.SvgContent); + } +} +``` + +## **الحصول على شفافية الصورة** + +يتيح لك Aspose.Slides الحصول على تأثير الشفافية المطبق على الصورة. يوضح لك هذا الكود C# العملية: ```c# -using (var presentation = new Presentation(folderPath + "Test.pptx")) +using (var presentation = new Presentation("Test.pptx")) { var pictureFrame = (IPictureFrame)presentation.Slides[0].Shapes[0]; var imageTransform = pictureFrame.PictureFormat.Picture.ImageTransform; @@ -139,34 +161,38 @@ using (var presentation = new Presentation(folderPath + "Test.pptx")) if (effect is IAlphaModulateFixed alphaModulateFixed) { var transparencyValue = 100 - alphaModulateFixed.Amount; - Console.WriteLine("شفافية الصورة: " + transparencyValue); + Console.WriteLine("Picture transparency: " + transparencyValue); } } } ``` -## **تنسيق إطار الصورة** -تقدم Aspose.Slides العديد من خيارات التنسيق التي يمكن تطبيقها على إطار الصورة. باستخدام هذه الخيارات، يمكنك تعديل إطار الصورة ليتناسب مع متطلبات محددة. - -1. قم بإنشاء مثيل من فئة [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) . -2. احصل على مرجع الشريحة من خلال فهرسها. -3. قم بإنشاء كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) عن طريق إضافة صورة إلى [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) المرتبطة بكائن العرض الذي سيتم استخدامه لملء الشكل. -4. حدد عرض الصورة وارتفاعها. -5. قم بإنشاء `PictureFrame` بناءً على عرض الصورة وارتفاعها من خلال طريقة [AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe) التي تم توفيرها بواسطة كائن [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection) المرتبط بالشريحة المرجعية. -6. أضف إطار الصورة (الذي يحتوي على الصورة) إلى الشريحة. -7. حدد لون خط إطار الصورة. -8. حدد عرض خط إطار الصورة. -9. قم بتدوير إطار الصورة بإعطائه قيمة إيجابية أو سلبية. - * القيمة الإيجابية تدور الصورة في اتجاه عقارب الساعة. - * القيمة السلبية تدور الصورة عكس اتجاه عقارب الساعة. -10. أضف إطار الصورة (الذي يحتوي على الصورة) إلى الشريحة. -11. اكتب العرض المعدل كملف PPTX. +{{% alert color="primary" %}} +يمكن العثور على جميع التأثيرات المطبقة على الصور في [Aspose.Slides.Effects](https://reference.aspose.com/slides/net/aspose.slides.effects/). +{{% /alert %}} -يوضح كود C# هذا عملية تنسيق إطار الصورة: +## **تنسيق إطار الصورة** +توفر Aspose.Slides العديد من خيارات التنسيق التي يمكن تطبيقها على إطار الصورة. باستخدام هذه الخيارات، يمكنك تعديل إطار الصورة ليتوافق مع المتطلبات المحددة. + +1. إنشاء مثيل من الفئة [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) . +2. الحصول على مرجع الشريحة عبر فهرستها. +3. إنشاء كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) عن طريق إضافة صورة إلى [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) المرتبطة بكائن العرض الذي سيُستخدم لملء الشكل. +4. تحديد عرض الصورة وارتفاعها. +5. إنشاء `PictureFrame` بناءً على عرض الصورة وارتفاعها عبر طريقة [AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe) التي يوفرها كائن [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection) المرتبط بالشريحة المرجعية. +6. إضافة إطار الصورة (الذي يحتوي على الصورة) إلى الشريحة. +7. تحديد لون خط إطار الصورة. +8. تحديد عرض خط إطار الصورة. +9. تدوير إطار الصورة بإعطائه قيمة موجبة أو سالبة. + * القيمة الموجبة تدور الصورة باتجاه عقارب الساعة. + * القيمة السالبة تدور الصورة عكس اتجاه عقارب الساعة. +10. إضافة إطار الصورة (الذي يحتوي على الصورة) إلى الشريحة. +11. حفظ العرض المعدل كملف PPTX. + +يعرض لك هذا الكود C# عملية تنسيق إطار الصورة: ```c# -// ينشئ مثيل من فئة Presentation التي تمثل ملف PPTX +// ينشئ كائناً من فئة Presentation التي تمثل ملف PPTX using (Presentation presentation = new Presentation()) { // يحصل على الشريحة الأولى @@ -177,7 +203,7 @@ using (Presentation presentation = new Presentation()) IPPImage ppImage = presentation.Images.AddImage(image); image.Dispose(); - // يضيف إطار صورة بأبعاد الصورة المتساوية + // يضيف إطار صورة بارتفاع وعرض مساويين للصورة IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); // يطبق بعض التنسيق على إطار الصورة @@ -186,21 +212,19 @@ using (Presentation presentation = new Presentation()) pictureFrame.LineFormat.Width = 20; pictureFrame.Rotation = 45; - // يكتب العرض إلى ملف PPTX + // يكتب العرض في ملف PPTX presentation.Save("RectPicFrameFormat_out.pptx", SaveFormat.Pptx); } ``` -{{% alert 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 color="primary" %}} +قامت Aspose مؤخرًا بتطوير [صانع كولاج مجاني](https://products.aspose.app/slides/collage). إذا احتجت إلى دمج صور JPG/JPEG أو PNG، أو إنشاء شبكات من الصور، يمكنك استخدام هذه الخدمة. {{% /alert %}} ## **إضافة صورة كرابط** -لتجنب أحجام العروض الكبيرة، يمكنك إضافة صور (أو مقاطع فيديو) من خلال روابط بدلاً من إدخال الملفات مباشرة في العروض. يظهر كود C# هذا كيفية إضافة صورة وفيديو إلى عنصر نائب: - +لتجنب أحجام العرض الكبيرة، يمكنك إضافة صور (أو فيديوهات) عبر روابط بدلاً من تضمين الملفات مباشرةً في العروض. يوضح لك هذا الكود C# كيفية إضافة صورة وفيديو إلى عنصر نائب: ```c# using (var presentation = new Presentation("input.pptx")) { @@ -251,23 +275,23 @@ using (var presentation = new Presentation("input.pptx")) } ``` -## **قص الصورة** -يوضح كود C# هذا كيفية قص صورة موجودة على شريحة: +## **اقتصاص الصورة** +يوضح لك هذا الكود C# كيفية اقتصاص صورة موجودة على شريحة: ```c# using (Presentation presentation = new Presentation()) { - // ينشئ كائن صورة جديدة + // ينشئ كائن صورة جديد IImage image = Images.FromFile(imagePath); IPPImage newImage = presentation.Images.AddImage(image); image.Dispose(); - // يضيف إطار صورة إلى شريحة + // يضيف PictureFrame إلى شريحة IPictureFrame picFrame = presentation.Slides[0].Shapes.AddPictureFrame( ShapeType.Rectangle, 100, 100, 420, 250, newImage); - // يقص الصورة (قيمة النسبة المئوية) + // يقص الصورة (قيم النسبة المئوية) picFrame.PictureFormat.CropLeft = 23.6f; picFrame.PictureFormat.CropRight = 21.5f; picFrame.PictureFormat.CropTop = 3; @@ -278,12 +302,12 @@ using (Presentation presentation = new Presentation()) } ``` -## **حذف المناطق المقصوصة من الصورة** -إذا كنت ترغب في حذف المناطق المقصوصة من صورة موجودة في إطار، يمكنك استخدام طريقة [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/). تعيد هذه الطريقة الصورة المقصوصة أو الصورة الأصلية إذا كان القص غير ضروري. +## **حذف المناطق المقصوصة من الصورة** -يظهر كود C# هذا العملية: +إذا كنت ترغب في حذف المناطق المقصوصة من صورة موجودة داخل إطار، يمكنك استخدام طريقة [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) . ترجع هذه الطريقة الصورة المقصوصة أو الصورة الأصلية إذا لم يكن القص ضروريًا. +يظهر هذا الكود C# العملية: ```c# using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) { @@ -300,20 +324,67 @@ using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) } ``` -{{% alert title="ملاحظة" color="warning" %}} -تضيف طريقة [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) الصورة المقصوصة إلى مجموعة صور العرض. إذا كانت الصورة مستخدمة فقط في [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) المعالج، يمكن أن يقلل هذا الإعداد من حجم العرض. خلاف ذلك، سيزداد عدد الصور في العرض الناتج. - -تحول هذه الطريقة ملفات WMF/EMF الميتافايل إلى صورة PNG نقطية في عملية القص. +{{% alert title="NOTE" color="warning" %}} +تضيف طريقة [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) الصورة المقصوصة إلى مجموعة صور العرض. إذا كانت الصورة مستخدمة فقط في [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) المعالجة، يمكن لهذا الإعداد تقليل حجم العرض. وإلا، سيزداد عدد الصور في العرض الناتج. +تحول هذه الطريقة ملفات WMF/EMF الميتا إلى صورة PNG نقطية أثناء عملية القص. {{% /alert %}} -## **قفل نسبة العرض إلى الارتفاع** +## **ضغط الصورة** + +يمكنك ضغط صورة في عرض تقديمي باستخدام طريقة [`IPictureFillFormat.CompressImage`](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/compressimage/). تقلل هذه الطريقة من حجم الصورة بناءً على حجم الشكل والدقة المحددة، مع إمكانية حذف المناطق المقصوصة. -إذا كنت ترغب في أن يحتفظ الشكل الذي يحتوي على صورة بنسبة العرض إلى الارتفاع حتى بعد تغيير أبعاد الصورة، يمكنك استخدام خاصية [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) لضبط إعداد *قفل نسبة العرض إلى الارتفاع*. +تُعدِّل حجم الصورة ودقتها بطريقة مشابهة لميزة **Picture Format → Compress Pictures → Resolution** في PowerPoint. -يوضح كود C# هذا كيفية قفل نسبة العرض إلى الارتفاع لشكل: +المثال التالي يوضح كيفية ضغط صورة في عرض تقديمي بتحديد دقة مستهدفة وحذف المناطق المقصوصة اختياريًا: +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + // احصل على PictureFrame من الشريحة + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; + // ضغط الصورة بدقة مستهدفة 150 DPI (دقة الويب) وإزالة المناطق المقصوصة + bool result = picFrame.PictureFormat.CompressImage(true, PicturesCompression.Dpi150); + + // تحقق من نتيجة الضغط + if (result) + { + Console.WriteLine("Image successfully compressed."); + } + else + { + Console.WriteLine("Image compression failed or no changes were necessary."); + } +} +``` + + +أو باستخدام قيمة DPI مخصصة مباشرةً: +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; + + // ضغط الصورة إلى 150 DPI (دقة الويب)، وإزالة المناطق المقصوصة + bool result = picFrame.PictureFormat.CompressImage(true, 150f); +} +``` + + +{{% alert title="NOTE" color="warning" %}} +تحول الطريقة الصورة إلى دقة أقل بناءً على حجم الشكل وDPI المقدم. يمكن أيضًا حذف المناطق المقصوصة لتقليل حجم الملف. إذا كانت الصورة ملف ميتا (WMF/EMF) أو SVG، لا يتم تطبيق الضغط. كما يتم الحفاظ على جودة JPEG أو تقليلها قليلًا وفقًا للدقة، كما يحدث في PowerPoint مع JPEG عالي الدقة. +{{% /alert %}} + +## **قفل نسبة الأبعاد** + +إذا أردت أن يحتفظ شكل يحتوي صورة بنسبة أبعاده حتى بعد تعديل أبعاد الصورة، يمكنك استخدام الخاصية [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) لتعيين إعداد *Lock Aspect Ratio*. + +يعرض لك هذا الكود C# كيفية قفل نسبة أبعاد الشكل: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -326,35 +397,33 @@ using (Presentation pres = new Presentation("pres.pptx")) IPictureFrame pictureFrame = emptySlide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, presImage.Width, presImage.Height, presImage); - // يعين الشكل للاحتفاظ بنسبة العرض إلى الارتفاع عند تغيير الحجم + // يضبط الشكل للحفاظ على نسبة الأبعاد عند إعادة التحجيم pictureFrame.PictureFrameLock.AspectRatioLocked = true; } ``` -{{% alert title="ملاحظة" color="warning" %}} - -يحتفظ إعداد *قفل نسبة العرض إلى الارتفاع* فقط بالنسبة إلى العرض إلى الارتفاع للشكل وليس الصورة التي تحتوي عليها. +{{% alert title="NOTE" color="warning" %}} +إعداد *Lock Aspect Ratio* يحافظ فقط على نسبة أبعاد الشكل وليس الصورة التي يحتويها. {{% /alert %}} ## **استخدام خاصية StretchOff** -باستخدام الخصائص [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft)، [StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop)، [StretchOffsetRight,](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) و[StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) من واجهة [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) وفئة [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat)، يمكنك تحديد مستطيل التعبئة. +باستخدام الخصائص [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft)، [StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop)، [StretchOffsetRight](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) و[StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) من واجهة [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) وفئة [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat)، يمكنك تحديد مستطيل تعبئة. -عند تحديد التمديد لصورة، يتم توسيع مستطيل المصدر ليتناسب مع مستطيل التعبئة المحدد. يتم تعريف كل حافة من مستطيل التعبئة بنسيج مئوي من الحافة المقابلة لصندوق الحدود للشكل. تحدد النسبة المئوية الإيجابية نطاقًا في حين تحدد النسبة المئوية السلبية نطاقًا خارجيًا. +عند تحديد تمديد للصورة، يتم تحجيم مستطيل المصدر ليلائم مستطيل التعبئة المحدد. كل حافة من حواف مستطيل التعبئة تُحدَّد بنسبة مئوية من الحافة المقابلة لمربع حدود الشكل. النسبة المئوية الموجبة تعني داخلية، والسالبة تعني خارجية. -1. قم بإنشاء مثيل من فئة [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) . -2. احصل على مرجع الشريحة من خلال فهرسها. -3. أضف شكل مستطيل `AutoShape`. -4. قم بإنشاء صورة. -5. اضبط نوع تعبئة الشكل. -6. اضبط وضع تعبئة الصورة للشكل. -7. أضف صورة محددة لملء الشكل. -8. حدد تعويضات الصورة من الحافة المقابلة لصندوق الحدود للشكل. -9. اكتب العرض المعدل كملف PPTX. - -يوضح كود C# هذا عملية تستخدم فيها خاصية StretchOff: +1. إنشاء مثيل من الفئة [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) . +2. الحصول على مرجع الشريحة عبر فهرستها. +3. إضافة مستطيل `AutoShape`. +4. إنشاء صورة. +5. تحديد نوع تعبئة الشكل. +6. تحديد وضع تعبئة الصورة للشكل. +7. إضافة صورة لتعبئة الشكل. +8. تحديد إزاحات الصورة من الحافة المقابلة لصندوق حدود الشكل. +9. حفظ العرض المعدل كملف PPTX. +يوضح لك هذا الكود C# عملية استخدام خاصية StretchOff: ```c# using (Presentation pres = new Presentation()) { @@ -362,9 +431,9 @@ using (Presentation pres = new Presentation()) IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 400, 400, ppImage); + IPPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 400, 400, ppImage); - // يحدد الصورة المنبثقة من كل جانب في جسم الشكل + // يضبط تمدد الصورة من كل جانب في جسم الشكل pictureFrame.PictureFormat.PictureFillMode = PictureFillMode.Stretch; pictureFrame.PictureFormat.StretchOffsetLeft = 24; pictureFrame.PictureFormat.StretchOffsetRight = 24; @@ -373,4 +442,23 @@ using (Presentation pres = new Presentation()) pres.Save("imageStretch.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**كيف يمكنني معرفة صيغ الصور المدعومة لإطار الصورة؟** + +يدعم Aspose.Slides كل من الصور النقطية (PNG، JPEG، BMP، GIF، إلخ) والصور المتجهة (مثل SVG) عبر كائن الصورة المخصص لـ [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/). تتقاطع قائمة الصيغ المدعومة عادةً مع قدرات محرك تحويل الشرائح والصور. + +**كيف سيؤثر إضافة العشرات من الصور الكبيرة على حجم PPTX والأداء؟** + +تؤدي تضمين صور كبيرة إلى زيادة حجم الملف واستهلاك الذاكرة؛ بينما تساعد الروابط على الحفاظ على حجم العرض منخفضًا لكنها تتطلب بقاء الملفات الخارجية متاحة. يوفر Aspose.Slides إمكانية إضافة الصور عبر الروابط لتقليل حجم الملف. + +**كيف يمكنني قفل كائن صورة لمنع تحريكه/تحجيمه عن طريق الخطأ؟** + +استخدم [قفل الأشكال](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/pictureframelock/) لـ [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) (مثل تعطيل التحريك أو التحجيم). يُوضح آلية القفل في مقالة الحماية الخاصة بالأشكال /slides/net/applying-protection-to-presentation/ وتدعم أنواعًا متعددة من الأشكال بما فيها [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/). + +**هل يتم الحفاظ على دقة المتجهات SVG عند تصدير العرض إلى PDF/صور؟** + +يسمح Aspose.Slides باستخراج SVG من [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) كمتجه أصلي. عند **التصدير إلى PDF** (/slides/ar/net/convert-powerpoint-to-pdf/) أو **الصيغ النقطية** (/slides/ar/net/convert-powerpoint-to-png/)، قد يتم تحويله إلى نقطي حسب إعدادات التصدير؛ لكن يبقى SVG الأصلي محفوظًا كمتجه عند استخراج الصورة. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/ar/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index b0ee467e28..57083a1cb1 100644 --- a/ar/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -1,38 +1,37 @@ --- -title: إطار الفيديو +title: إ إطار الفيديو type: docs weight: 10 url: /ar/net/video-frame/ -keywords: "إضافة فيديو، إنشاء إطار فيديو، استخراج فيديو، عرض PowerPoint، C#، Csharp، Aspose.Slides لـ .NET" -description: "إضافة إطار فيديو إلى عرض PowerPoint في C# أو .NET" +keywords: "إضافة فيديو، إنشاء إطار فيديو، استخراج فيديو، عرض PowerPoint، C#، Csharp، Aspose.Slides for .NET" +description: "إضافة إطار فيديو إلى عرض PowerPoint باستخدام C# أو .NET" --- -يمكن أن يجعل الفيديو الموضوع بشكل جيد في عرض تقديمي رسالتك أكثر إقناعًا ويزيد من مستويات التفاعل مع جمهورك. +يمكن للفيديو الموضوع بشكل جيد في العرض التقديمي أن يجعل رسالتك أكثر إقناعًا ويزيد من مستويات التفاعل مع جمهورك. -يسمح لك PowerPoint بإضافة مقاطع الفيديو إلى الشريحة في عرض تقديمي بطريقتين: +PowerPoint يتيح لك إضافة مقاطع فيديو إلى شريحة في عرض تقديمي بطريقتين: * إضافة أو تضمين فيديو محلي (مخزن على جهازك) * إضافة فيديو عبر الإنترنت (من مصدر ويب مثل YouTube). -للسماح لك بإضافة مقاطع الفيديو (كائنات الفيديو) إلى عرض تقديمي، تقدم Aspose.Slides واجهة [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) وواجهة [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) وأنواع أخرى ذات صلة. +لتمكينك من إضافة مقاطع فيديو (كائنات فيديو) إلى عرض تقديمي، توفر Aspose.Slides الواجهة [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) والواجهة [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) وأنواع أخرى ذات صلة. ## **إنشاء إطار فيديو مضمّن** -إذا كان ملف الفيديو الذي تريد إضافته إلى شريحتك مخزنًا محليًا، يمكنك إنشاء إطار فيديو لتضمين الفيديو في عرضك التقديمي. +إذا كان ملف الفيديو الذي ترغب في إضافته إلى شريحتك مخزنًا محليًا، يمكنك إنشاء إطار فيديو لتضمين الفيديو في عرضك التقديمي. -1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. احصل على مرجع الشريحة من خلال فهرسها. -1. أضف كائن [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) ومرر مسار ملف الفيديو لتضمين الفيديو مع العرض التقديمي. -1. أضف كائن [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) لإنشاء إطار للفيديو. -1. احفظ العرض التقديمي المعدل. - -يعرض كود C# هذا كيفية إضافة فيديو مخزن محليًا إلى عرض تقديمي: +1. إنشاء مثال من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. احصل على مرجع الشريحة عبر رقم الفهرس الخاص بها. +1. أضف كائن [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) ومرّر مسار ملف الفيديو لتضمينه مع العرض التقديمي. +1. أضف كائن [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) لإنشاء إطار للفيديو. +1. احفظ العرض التقديمي المعدل. +هذا الكود بلغة C# يوضح لك كيفية إضافة فيديو مخزن محليًا إلى عرض تقديمي: ```c# -// ينشئ مثيلًا لفئة Presentation +// إنشاء كائن من فئة Presentation using (Presentation pres = new Presentation("pres.pptx")) { - // يحمل الفيديو + // يقوم بتحميل الفيديو using (FileStream fileStream = new FileStream("Wildlife.mp4", FileMode.Open, FileAccess.Read)) { IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); @@ -40,13 +39,13 @@ using (Presentation pres = new Presentation("pres.pptx")) // يحصل على الشريحة الأولى ويضيف إطار فيديو pres.Slides[0].Shapes.AddVideoFrame(10, 10, 150, 250, video); - // يحفظ العرض التقديمي على القرص + // يحفظ العرض التقديمي إلى القرص pres.Save("pres-with-video.pptx", SaveFormat.Pptx); } } ``` -بدلاً من ذلك، يمكنك إضافة فيديو عن طريق تمرير مسار ملفه مباشرة إلى طريقة [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/): +بدلاً من ذلك، يمكنك إضافة فيديو بتمرير مسار ملفه مباشرة إلى الطريقة [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/): ``` csharp using (Presentation pres = new Presentation()) { @@ -55,21 +54,22 @@ using (Presentation pres = new Presentation()) } ``` -## **إنشاء إطار فيديو مع فيديو من مصدر ويب** -يدعم 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/net/aspose.slides/presentation) -1. احصل على مرجع الشريحة من خلال فهرسها. -1. أضف كائن [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) ومرر الرابط إلى الفيديو. -1. قم بتعيين صورة مصغرة لإطار الفيديو. -1. احفظ العرض التقديمي. -يعرض كود C# هذا كيفية إضافة فيديو من الويب إلى شريحة في عرض PowerPoint: +## **إنشاء إطار فيديو من مصدر ويب** +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/net/aspose.slides/presentation). +1. احصل على مرجع الشريحة عبر رقم الفهرس الخاص بها. +1. أضف كائن [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) ومرّر رابط الفيديو. +1. قم بتعيين صورة مصغرة لإطار الفيديو. +1. احفظ العرض التقديمي. +هذا الكود بلغة C# يوضح لك كيفية إضافة فيديو من الويب إلى شريحة في عرض PowerPoint: ```c# public static void Run() { - // ينشئ كائن Presentation يمثل ملف عرض تقديمي + // ينشئ كائن Presentation الذي يمثل ملف عرض تقديمي using (Presentation pres = new Presentation()) { AddVideoFromYouTube(pres, "Tj75Arhq5ho"); @@ -83,7 +83,7 @@ private static void AddVideoFromYouTube(Presentation pres, string videoId) IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId); videoFrame.PlayMode = VideoPlayModePreset.Auto; - // يحمل الصورة المصغرة + // يحمّل الصورة المصغرة using (WebClient client = new WebClient()) { string thumbnailUri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg"; @@ -92,27 +92,27 @@ private static void AddVideoFromYouTube(Presentation pres, string videoId) } ``` + ## **استخراج الفيديو من الشريحة** -بالإضافة إلى إضافة مقاطع الفيديو إلى الشرائح، يسمح Aspose.Slides لك باستخراج مقاطع الفيديو المضمّنة في العروض التقديمية. +إلى جانب إضافة مقاطع الفيديو إلى الشرائح، تتيح لك Aspose.Slides استخراج مقاطع الفيديو المضمّنة في العروض التقديمية. -1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) لتحميل العرض التقديمي الذي يحتوي على الفيديو. -2. قم بالتكرار من خلال جميع كائنات [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). -3. قم بالتكرار من خلال جميع كائنات [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) للعثور على [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe). +1. إنشاء مثال من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) لتحميل العرض التقديمي الذي يحتوي على الفيديو. +2. التجول عبر جميع كائنات [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). +3. التجول عبر جميع كائنات [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) للعثور على [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe). 4. احفظ الفيديو على القرص. -يعرض كود C# هذا كيفية استخراج الفيديو من شريحة عرض تقديمي: - +هذا الكود بلغة C# يوضح لك كيفية استخراج الفيديو من شريحة في العرض التقديمي: ```c# -// ينشئ كائن Presentation يمثل ملف عرض تقديمي -Presentation presentation = new Presentation("Video.pptx"); + // ينشئ كائن Presentation الذي يمثل ملف عرض تقديمي + Presentation presentation = new Presentation("Video.pptx"); -// يتكرر من خلال الشرائح +// يتنقل عبر الشرائح foreach (ISlide slide in presentation.Slides) { - // يتكرر من خلال الأشكال + // يتنقل عبر الأشكال foreach (IShape shape in presentation.Slides[0].Shapes) { - // يحفظ الفيديو على القرص بمجرد العثور على VideoFrame الذي يحتوي على الفيديو + // يحفظ الفيديو إلى القرص بمجرد العثور على VideoFrame يحتوي على الفيديو if (shape is VideoFrame) { IVideoFrame vf = shape as IVideoFrame; @@ -127,4 +127,23 @@ foreach (ISlide slide in presentation.Slides) } } } -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**ما هي معلمات تشغيل الفيديو التي يمكن تعديلها لإطار الفيديو (VideoFrame)؟** + +يمكنك التحكم في [وضع التشغيل](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playmode/) (تلقائي أو عند النقر) و[التكرار](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playloopmode/). تتوفر هذه الخيارات عبر خصائص كائن [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe/) . + +**هل يؤثر إضافة فيديو على حجم ملف PPTX؟** + +نعم. عند تضمين فيديو محلي، تُدرج البيانات الثنائية في المستند، وبالتالي يزداد حجم العرض التقديمي بنسبة حجم الملف. عند إضافة فيديو عبر الإنترنت، يُضمّن رابط وصورة مصغرة فقط، لذا يكون الزيادة في الحجم أصغر. + +**هل يمكنني استبدال الفيديو في إطار فيديو موجود دون تغيير موقعه وحجمه؟** + +نعم. يمكنك استبدال [محتوى الفيديو](https://reference.aspose.com/slides/net/aspose.slides/videoframe/embeddedvideo/) داخل الإطار مع الحفاظ على هندسة الشكل؛ هذا سيناريو شائع لتحديث الوسائط في تخطيط موجود. + +**هل يمكن تحديد نوع المحتوى (MIME) لفيديو مضمّن؟** + +نعم. يحتوي الفيديو المضمّن على [نوع المحتوى](https://reference.aspose.com/slides/net/aspose.slides/video/contenttype/) الذي يمكنك قراءته واستخدامه، على سبيل المثال عند حفظه على القرص. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-ole/_index.md b/ar/net/developer-guide/presentation-content/manage-ole/_index.md index 8933b70626..e3ef5d866f 100644 --- a/ar/net/developer-guide/presentation-content/manage-ole/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-ole/_index.md @@ -1,331 +1,337 @@ --- -title: إدارة OLE +title: "إدارة OLE في العروض التقديمية باستخدام C#" +linktitle: "إدارة OLE" type: docs weight: 40 url: /ar/net/manage-ole/ keywords: -- إضافة OLE -- تضمين OLE -- إضافة كائن -- تضمين كائن -- تضمين ملف -- كائن مرتبط -- ربط الكائنات وتضمينها -- كائن OLE -- باوربوينت -- عرض تقديمي -- C# -- Csharp -- Aspose.Slides لـ .NET -description: إضافة كائنات OLE إلى عروض باوربوينت في C# أو .NET +- "كائن OLE" +- "ربط الكائنات وتضمينها" +- "إضافة OLE" +- "تضمين OLE" +- "إضافة كائن" +- "تضمين كائن" +- "إضافة ملف" +- "تضمين ملف" +- "كائن مرتبط" +- "ملف مرتبط" +- "تغيير OLE" +- "أيقونة OLE" +- "عنوان OLE" +- "استخراج OLE" +- "استخراج كائن" +- "استخراج ملف" +- "PowerPoint" +- "عرض تقديمي" +- ".NET" +- "C#" +- "Aspose.Slides" +description: "تحسين إدارة كائنات OLE في PowerPoint وملفات OpenDocument باستخدام Aspose.Slides لـ .NET. قم بتضمين المحتوى، تحديثه، وتصديره بسلاسة." --- -{{% alert title="معلومات" color="info" %}} +{{% alert title="Info" color="info" %}} -إن OLE (ربط الكائنات وتضمينها) هو تقنية من مايكروسوفت تسمح بتضمين البيانات والكائنات التي تم إنشاؤها في أحد التطبيقات داخل تطبيق آخر من خلال الربط أو التضمين. +OLE (Object Linking & Embedding) هي تقنية من مايكروسوفت تسمح بنقل البيانات والكائنات التي تم إنشاؤها في تطبيق واحد إلى تطبيق آخر عبر الربط أو التضمين. -{{% /alert %}} +{{% /alert %}} -اعتبر رسمًا بيانيًا تم إنشاؤه في MS Excel. يتم بعد ذلك وضع الرسم البياني داخل شريحة باوربوينت. هذا الرسم البياني من Excel يعتبر كائن OLE. +تخيل وجود مخطط تم إنشاؤه في MS Excel. ثم يتم وضع هذا المخطط داخل شريحة PowerPoint. يُعتبر هذا المخطط في Excel كائن OLE. -- قد يظهر كائن OLE كأيقونة. في هذه الحالة، عندما تنقر نقرًا مزدوجًا على الأيقونة، يُفتح الرسم البياني في تطبيقه المرتبط (Excel)، أو يُطلب منك اختيار تطبيق لفتح الكائن أو تحريره. -- قد يعرض كائن OLE المحتويات الفعلية — على سبيل المثال، محتويات رسم بياني. في هذه الحالة، يتم تفعيل الرسم البياني في باوربوينت، وتحميل واجهة الرسم البياني، ويمكنك تعديل بيانات الرسم البياني داخل تطبيق باوربوينت. +- قد يظهر كائن OLE كأيقونة. في هذه الحالة، عند النقر المزدوج على الأيقونة، يفتح المخطط في التطبيق المرتبط به (Excel)، أو يُطلب منك اختيار تطبيق لفتح أو تعديل الكائن. +- قد يعرض كائن OLE محتوياته الفعلية، مثل محتوى المخطط. في هذه الحالة، يتم تنشيط المخطط في PowerPoint، يتم تحميل واجهة المخطط، ويمكنك تعديل بيانات المخطط داخل PowerPoint. -يسمح لك [Aspose.Slides لـ .NET](https://products.aspose.com/slides/net/) بإدراج كائنات OLE في الشرائح كإطارات كائن OLE ([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)). +[Aspose.Slides for .NET](https://products.aspose.com/slides/net/) يسمح بإدراج كائنات OLE في الشرائح كإطارات كائن OLE ([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)). ## **إضافة إطارات كائن OLE إلى الشرائح** -افترض أنك قد أنشأت بالفعل رسمًا بيانيًا في Microsoft Excel وترغب في تضمين هذا الرسم البياني في شريحة كإطار كائن OLE باستخدام Aspose.Slides لـ .NET، يمكنك القيام بذلك بهذه الطريقة: -1. إنشاء مثيل من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -2. الحصول على مرجع الشريحة من خلال فهرسها. -3. فتح ملف Excel الذي يحتوي على كائن الرسم البياني Excel وحفظه إلى `MemoryStream`. -4. إضافة [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) إلى الشريحة التي تحتوي على مصفوفة بايتات ومعلومات أخرى حول كائن OLE. -5. كتابة العرض المعدل كملف PPTX. +افترض أنك قد أنشأت مخططًا بالفعل في Microsoft Excel وتريد تضمينه في شريحة كإطار كائن OLE باستخدام Aspose.Slides for .NET، يمكنك القيام بذلك بهذه الطريقة: -في المثال أدناه، أضفنا رسمًا بيانيًا من ملف Excel إلى شريحة كإطار [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) باستخدام Aspose.Slides لـ .NET. -**ملاحظة** أن مُنشئ [IOleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo) يأخذ امتداد كائن يمكن تضمينه كمعامل ثاني. يسمح هذا الامتداد لباوربوينت بتفسير نوع الملف بشكل صحيح واختيار التطبيق المناسب لفتح كائن OLE. +1. أنشئ مثيلاً من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. احصل على مرجع الشريحة عبر فهرسها. +3. اقرأ ملف Excel كمصفوفة بايت. +4. أضف الـ[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) إلى الشريحة متضمناً مصفوفة البايت ومعلومات أخرى حول كائن OLE. +5. احفظ العرض التقديمي المعدل كملف PPTX. -``` csharp -// ينشئ مثيلًا من فئة Presentation التي تمثل ملف PPTX -using (Presentation pres = new Presentation()) +في المثال أدناه، أضفنا مخططًا من ملف Excel إلى شريحة كـ[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) باستخدام Aspose.Slides for .NET. +**ملاحظة** أنّ مُنشئ [OleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides.dom.ole/oleembeddeddatainfo/) يأخذ امتداد كائن قابل للتضمين كمعامل ثانٍ. يسمح هذا الامتداد لـPowerPoint بتفسير نوع الملف بشكل صحيح واختيار التطبيق المناسب لفتح كائن OLE هذا. +```csharp +using (Presentation presentation = new Presentation()) { - // الوصول إلى الشريحة الأولى - ISlide sld = pres.Slides[0]; - - // تحميل ملف Excel إلى دفق - MemoryStream mstream = new MemoryStream(); - using (FileStream fs = new FileStream("book1.xlsx", FileMode.Open, FileAccess.Read)) - { - byte[] buf = new byte[4096]; - - while (true) - { - int bytesRead = fs.Read(buf, 0, buf.Length); - if (bytesRead <= 0) - break; - mstream.Write(buf, 0, bytesRead); - } - } + SizeF slideSize = presentation.SlideSize.Size; + ISlide slide = presentation.Slides[0]; - // إنشاء كائن بيانات للتضمين - IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(mstream.ToArray(), "xlsx"); + // إعداد البيانات لكائن OLE. + byte[] fileData = File.ReadAllBytes("book.xlsx"); + IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(fileData, "xlsx"); - // إضافة شكل إطار كائن Ole - IOleObjectFrame oleObjectFrame = sld.Shapes.AddOleObjectFrame(0, 0, pres.SlideSize.Size.Width, - pres.SlideSize.Size.Height, dataInfo); + // إضافة إطار كائن OLE إلى الشريحة. + slide.Shapes.AddOleObjectFrame(0, 0, slideSize.Width, slideSize.Height, dataInfo); - // كتابة ملف PPTX إلى القرص - pres.Save("OleEmbed_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -### إضافة إطارات كائن OLE المرتبطة -يسمح لك Aspose.Slides لـ .NET بإضافة [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) دون تضمين البيانات ولكن فقط مع ارتباط إلى الملف. -هذا الرمز بلغة C# يوضح لك كيفية إضافة [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) مع ملف Excel مرتبط إلى شريحة: +### **إضافة إطارات OLE مرتبطة** + +يسمح Aspose.Slides for .NET بإضافة [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) دون تضمين البيانات وإنما فقط عبر رابط إلى الملف. -``` csharp -using (Presentation pres = new Presentation()) +يظهر لك هذا الكود C# كيفية إضافة [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) مع ملف Excel مرتبط إلى شريحة: +```csharp +using (Presentation presentation = new Presentation()) { - // الوصول إلى الشريحة الأولى - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // إضافة إطار كائن Ole مع ملف Excel مرتبط - IOleObjectFrame oleObjectFrame = slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book1.xlsx"); + // إضافة إطار كائن OLE مع ملف Excel مرتبط. + slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book.xlsx"); - // كتابة ملف PPTX إلى القرص - pres.Save("OleLinked_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **الوصول إلى إطارات كائن OLE** -إذا كان كائن OLE قد تم تضمينه بالفعل في شريحة، يمكنك العثور على ذلك الكائن أو الوصول إليه بسهولة بهذه الطريقة: - -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. الحصول على مرجع الشريحة باستخدام فهرسها. -3. الوصول إلى شكل [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). - في مثالنا، استخدمنا PPTX الذي تم إنشاؤه سابقًا والذي يحتوي على شكل واحد فقط على الشريحة الأولى. ثم قمنا بتحويل ذلك الكائن إلى [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) كما هو مطلوب للوصول إليه. -4. بمجرد الوصول إلى إطار كائن OLE، يمكنك القيام بأي عملية عليه. -في المثال أدناه، يتم الوصول إلى إطار كائن OLE (كائن رسم بياني Excel مضمن في شريحة) - ثم يتم كتابة بيانات ملفه إلى ملف Excel: -``` csharp -// تحميل PPTX إلى كائن تقديم -using (Presentation pres = new Presentation("AccessingOLEObjectFrame.pptx")) + +## **الوصول إلى إطارات OLE** + +إذا كان كائن OLE مضمّنًا مسبقًا في شريحة، يمكنك العثور عليه أو الوصول إليه بسهولة بهذه الطريقة: + +1. حمّل عرضًا تقديميًا يحتوي على كائن OLE مضمّن بإنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. احصل على مرجع الشريحة باستخدام فهرستها. +3. وصول إلى الشكل [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). في مثالنا، استخدمنا ملف PPTX المنشأ مسبقًا والذي يحتوي على شكل واحد فقط في الشريحة الأولى. ثم *قمنا بالتحويل* لهذا الكائن إلى [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe). كان هذا هو إطار كائن OLE المطلوب الوصول إليه. +4. بمجرد الوصول إلى إطار كائن OLE، يمكنك تنفيذ أي عملية عليه. + +في المثال أدناه، تم الوصول إلى إطار كائن OLE (كائن مخطط Excel مضمّن في شريحة) وبيانات ملفه. +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) { - // الوصول إلى الشريحة الأولى - ISlide sld = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // تحويل الشكل إلى OleObjectFrame - OleObjectFrame oleObjectFrame = sld.Shapes[0] as OleObjectFrame; + // الحصول على الشكل الأول كإطار كائن OLE. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // قراءة كائن OLE وكتابته إلى القرص - if (oleObjectFrame != null) + if (oleFrame != null) { - // الحصول على بيانات الملف المضمنة - byte[] data = oleObjectFrame.EmbeddedData.EmbeddedFileData; + // الحصول على بيانات الملف المضمّن. + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; - // الحصول على امتداد الملف المضمن - string fileExtention = oleObjectFrame.EmbeddedData.EmbeddedFileExtension; + // الحصول على امتداد الملف المضمّن. + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; - // إنشاء مسار لحفظ الملف المستخرج - string extractedPath = "excelFromOLE_out" + fileExtention; - - // حفظ البيانات المستخرجة - using (FileStream fstr = new FileStream(extractedPath, FileMode.Create, FileAccess.Write)) - { - fstr.Write(data, 0, data.Length); - } + // ... } } ``` -### الوصول إلى خصائص إطارات كائن OLE المرتبطة -يسمح لك Aspose.Slides بالوصول إلى خصائص إطار كائن OLE المرتبط. +### **الوصول إلى خصائص إطار OLE المرتبط** -هذا الرمز بلغة C# يوضح لك كيفية التحقق مما إذا كان كائن OLE مرتبطًا ثم الحصول على مسار الملف المرتبط: -```csharp -using (Presentation pres = new Presentation("OleLinked.ppt")) -{ - // الوصول إلى الشريحة الأولى - ISlide slide = pres.Slides[0]; - - // الحصول على الشكل الأول كإطار كائن Ole - OleObjectFrame oleObjectFrame = slide.Shapes[0] as OleObjectFrame; - - // تحقق مما إذا كان كائن Ole مرتبطًا. - if (oleObjectFrame != null && oleObjectFrame.IsObjectLink) - { - // طباعة المسار الكامل لملف مرتبط - Console.WriteLine("إطار كائن Ole مرتبط بـ: " + oleObjectFrame.LinkPathLong); - - // طباعة المسار النسبي لملف مرتبط إذا كان موجودًا. - // يمكن أن تحتوي عروض PPT فقط على المسار النسبي. - string relativePath = oleObjectFrame.LinkPathRelative; - if (!string.IsNullOrEmpty(relativePath)) - { - Console.WriteLine("المسار النسبي لإطار كائن Ole: " + oleObjectFrame.LinkPathRelative); - } - } -} -``` -## **تغيير بيانات كائن OLE** +يسمح Aspose.Slides بالوصول إلى خصائص إطارات OLE المرتبطة. -إذا كان كائن OLE قد تم تضمينه بالفعل في شريحة، يمكنك الوصول بسهولة إلى ذلك الكائن وتعديل بياناته بهذه الطريقة: - -1. فتح العرض التقديمي المرغوب الذي يحتوي على كائن OLE المضمن من خلال إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) . -2. الحصول على مرجع الشريحة من خلال فهرسها. -3. الوصول إلى شكل [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). - في مثالنا، استخدمنا PPTX الذي تم إنشاؤه سابقًا والذي يحتوي على شكل واحد على الشريحة الأولى. ثم قمنا بتحويل ذلك الكائن إلى [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) كما هو المطلوب للوصول إليه. -4. بمجرد الوصول إلى إطار كائن OLE، يمكنك القيام بأي عملية عليه. -5. إنشاء كائن Workbook والوصول إلى بيانات OLE. -6. الوصول إلى ورقة العمل المطلوبة وتعديل البيانات. -7. حفظ Workbook المحدث في تدفقات. -8. تغيير بيانات كائن OLE من بيانات التدفق. -في المثال أدناه، يتم الوصول إلى إطار كائن OLE (كائن رسم بياني Excel مضمن في شريحة) - ثم يتم تعديل بيانات ملفه لتغيير بيانات الرسم البياني: -``` csharp -using (Presentation pres = new Presentation("ChangeOLEObjectData.pptx")) +يظهر لك هذا الكود C# كيفية التحقق مما إذا كان كائن OLE مرتبطًا ثم الحصول على مسار الملف المرتبط: +```csharp +using (Presentation presentation = new Presentation("sample.ppt")) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - OleObjectFrame ole = null; + // الحصول على الشكل الأول كإطار كائن OLE. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // يتجول في جميع الأشكال بحثًا عن إطار Ole - foreach (IShape shape in slide.Shapes) + // التحقق مما إذا كان كائن OLE مرتبطًا. + if (oleFrame != null && oleFrame.IsObjectLink) { - if (shape is OleObjectFrame) + // طباعة المسار الكامل للملف المرتبط. + Console.WriteLine("OLE object frame is linked to: " + oleFrame.LinkPathLong); + + // طباعة المسار النسبي للملف المرتبط إذا كان موجودًا. + // يمكن لملفات PPT فقط أن تحتوي على المسار النسبي. + if (!string.IsNullOrEmpty(oleFrame.LinkPathRelative)) { - ole = (OleObjectFrame)shape; + Console.WriteLine("OLE object frame relative path: " + oleFrame.LinkPathRelative); } } +} +``` + + +## **تغيير بيانات كائن OLE** + +{{% alert color="primary" %}} +في هذا القسم، يستخدم مثال الكود أدناه [Aspose.Cells for .NET](/cells/net/). +{{% /alert %}} - if (ole != null) +إذا كان كائن OLE مضمّنًا مسبقًا في شريحة، يمكنك بسهولة الوصول إلى ذلك الكائن وتعديل بياناته بهذه الطريقة: + +1. حمّل عرضًا تقديميًا يحتوي على كائن OLE مضمّن بإنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. احصل على مرجع الشريحة عبر فهرستها. +3. وصول إلى الشكل [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). في مثالنا، استخدمنا ملف PPTX المنشأ مسبقًا والذي يحتوي على شكل واحد في الشريحة الأولى. ثم *قمنا بالتحويل* لهذا الكائن إلى [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe). كان هذا هو إطار كائن OLE المطلوب الوصول إليه. +4. بمجرد الوصول إلى إطار كائن OLE، يمكنك تنفيذ أي عملية عليه. +5. أنشئ كائنًا من نوع `Workbook` واطلع على بيانات OLE. +6. احصل على `Worksheet` المطلوبة وقم بتعديل البيانات. +7. احفظ الـ`Workbook` المحدث في تدفق (stream). +8. غيّر بيانات كائن OLE من التدفق. + +في المثال أدناه، يتم الوصول إلى إطار كائن OLE (كائن مخطط Excel مضمّن في شريحة) وتعديل بيانات ملفه لتحديث بيانات المخطط. +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + // الحصول على الشكل الأول كإطار كائن OLE. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; + + if (oleFrame != null) { - using (MemoryStream msln = new MemoryStream(ole.EmbeddedData.EmbeddedFileData)) + using (MemoryStream oleStream = new MemoryStream(oleFrame.EmbeddedData.EmbeddedFileData)) { - // قراءة بيانات الكائن في Workbook - Workbook Wb = new Workbook(msln); + // قراءة بيانات كائن OLE ككائن Workbook. + Workbook workbook = new Workbook(oleStream); - using (MemoryStream msout = new MemoryStream()) + using (MemoryStream newOleStream = new MemoryStream()) { - // تعديل بيانات workbook - Wb.Worksheets[0].Cells[0, 4].PutValue("E"); - Wb.Worksheets[0].Cells[1, 4].PutValue(12); - Wb.Worksheets[0].Cells[2, 4].PutValue(14); - Wb.Worksheets[0].Cells[3, 4].PutValue(15); - - OoxmlSaveOptions so1 = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); - Wb.Save(msout, so1); - - // تغيير بيانات كائن إطار Ole - IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(msout.ToArray(), ole.EmbeddedData.EmbeddedFileExtension); - ole.SetEmbeddedData(newData); + // تعديل بيانات المصنف. + workbook.Worksheets[0].Cells[0, 4].PutValue("E"); + workbook.Worksheets[0].Cells[1, 4].PutValue(12); + workbook.Worksheets[0].Cells[2, 4].PutValue(14); + workbook.Worksheets[0].Cells[3, 4].PutValue(15); + + OoxmlSaveOptions fileOptions = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); + workbook.Save(newOleStream, fileOptions); + + // تغيير بيانات كائن إطار OLE. + IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(newOleStream.ToArray(), oleFrame.EmbeddedData.EmbeddedFileExtension); + oleFrame.SetEmbeddedData(newData); } } } - pres.Save("OleEdit_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **تضمين أنواع ملفات أخرى في الشرائح** -بجانب الرسوم البيانية Excel، يسمح Aspose.Slides لـ .NET بتضمين أنواع أخرى من الملفات في الشرائح. على سبيل المثال، يمكنك إدراج ملفات HTML وPDF وZIP ككائنات في شريحة. عندما ينقر المستخدم نقرًا مزدوجًا على الكائن المدخل، يتم تشغيل الكائن تلقائيًا في البرنامج المناسب، أو يتم توجيه المستخدم لاختيار برنامج مناسب لفتح الكائن. -هذا الرمز بلغة C# يوضح لك كيفية تضمين HTML وZIP في شريحة: +## **تضمين أنواع ملفات أخرى في الشرائح** + +بالإضافة إلى مخططات Excel، يسمح Aspose.Slides for .NET بتضمين أنواع أخرى من الملفات في الشرائح. على سبيل المثال، يمكنك إدراج ملفات HTML وPDF وZIP ككائنات. عند النقر المزدوج على الكائن المدرج، يفتح تلقائيًا في البرنامج المناسب، أو يُطلب من المستخدم اختيار برنامج مناسب لفتحه. +يظهر لك هذا الكود C# كيفية تضمين HTML وZIP في شريحة: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - - byte[] htmlBytes = File.ReadAllBytes("embedOle.html"); - IOleEmbeddedDataInfo dataInfoHtml = new OleEmbeddedDataInfo(htmlBytes, "html"); - IOleObjectFrame oleFrameHtml = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, dataInfoHtml); - oleFrameHtml.IsObjectIcon = true; - - byte[] zipBytes = File.ReadAllBytes("embedOle.zip"); - IOleEmbeddedDataInfo dataInfoZip = new OleEmbeddedDataInfo(zipBytes, "zip"); - IOleObjectFrame oleFrameZip = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, dataInfoZip); - oleFrameZip.IsObjectIcon = true; - - pres.Save("embeddedOle.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + + byte[] htmlData = File.ReadAllBytes("sample.html"); + IOleEmbeddedDataInfo htmlDataInfo = new OleEmbeddedDataInfo(htmlData, "html"); + IOleObjectFrame htmlOleFrame = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, htmlDataInfo); + htmlOleFrame.IsObjectIcon = true; + + byte[] zipData = File.ReadAllBytes("sample.zip"); + IOleEmbeddedDataInfo zipDataInfo = new OleEmbeddedDataInfo(zipData, "zip"); + IOleObjectFrame zipOleFrame = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, zipDataInfo); + zipOleFrame.IsObjectIcon = true; + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **تعيين أنواع الملفات للكائنات المضمنة** -عند العمل على العروض التقديمية، قد تحتاج إلى استبدال كائنات OLE القديمة بكائنات جديدة. أو قد تحتاج إلى استبدال كائن OLE غير المدعوم بكائن مدعوم. -يسمح لك Aspose.Slides لـ .NET بتعيين نوع الملف لكائن مضمن. بهذه الطريقة، يمكنك تغيير بيانات إطار OLE أو امتداده. +## **تحديد أنواع الملفات للكائنات المضمنة** -هذا الرمز بلغة C# يوضح لك كيفية تعيين نوع الملف لكائن OLE المضمن: +عند العمل مع العروض التقديمية، قد تحتاج إلى استبدال كائنات OLE القديمة بأخرى جديدة أو استبدال كائن OLE غير مدعوم بآخر مدعوم. يتيح Aspose.Slides for .NET تحديد نوع الملف لكائن مضمّن، مما يمكنك من تحديث بيانات إطار OLE أو امتداده. +يظهر لك هذا الكود C# كيفية تعيين نوع الملف لكائن OLE مضمّن إلى `zip`: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; - Console.WriteLine($"الامتداد الحالي للبيانات المضمنة هو: {oleObjectFrame.EmbeddedData.EmbeddedFileExtension}"); - - oleObjectFrame.SetEmbeddedData(new OleEmbeddedDataInfo(File.ReadAllBytes("embedOle.zip"), "zip")); - - pres.Save("embeddedChanged.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + + Console.WriteLine($"Current embedded file extension is: {fileExtension}"); + + // غيّر نوع الملف إلى ZIP. + oleFrame.SetEmbeddedData(new OleEmbeddedDataInfo(fileData, "zip")); + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **تعيين صور الأيقونات والعناوين للكائنات المضمنة** -بعد تضمين كائن OLE، تتم إضافة معاينة تتكون من صورة أيقونة وعنوان تلقائيًا. المعاينة هي ما يراه المستخدمون قبل وصولهم إلى الكائن OLE أو فتحه. -إذا كنت ترغب في استخدام صورة ونص محددين كعناصر في المعاينة، يمكنك تعيين صورة الأيقونة والعنوان باستخدام Aspose.Slides لـ .NET. +## **تعيين صور الأيقونة والعناوين للكائنات المضمنة** -هذا الرمز بلغة C# يوضح لك كيفية تعيين صورة الأيقونة والعنوان لكائن مضمن: +بعد تضمين كائن OLE، يتم إضافة معاينة تتكون من صورة أيقونة تلقائيًا. هذه المعاينة هي ما يراه المستخدمون قبل الوصول إلى كائن OLE أو فتحه. إذا كنت ترغب في استخدام صورة ونص محددين كعناصر في المعاينة، يمكنك تعيين صورة الأيقونة والعنوان باستخدام Aspose.Slides for .NET. +يظهر لك هذا الكود C# كيفية تعيين صورة الأيقونة والعنوان لكائن مضمّن: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + // إضافة صورة إلى موارد العرض التقديمي. + byte[] imageData = File.ReadAllBytes("image.png"); + IPPImage oleImage = presentation.Images.AddImage(imageData); - IPPImage oleImage = pres.Images.AddImage(File.ReadAllBytes("image.png")); - oleObjectFrame.SubstitutePictureTitle = "عنواني"; - oleObjectFrame.SubstitutePictureFormat.Picture.Image = oleImage; - oleObjectFrame.IsObjectIcon = false; + // تعيين عنوان وصورة معاينة OLE. + oleFrame.SubstitutePictureTitle = "My title"; + oleFrame.SubstitutePictureFormat.Picture.Image = oleImage; + oleFrame.IsObjectIcon = true; - pres.Save("embeddedOle-newImage.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **منع تغيير حجم إطار كائن OLE وإعادة وضعه** -بعد إضافة كائن OLE مرتبط إلى شريحة عرض تقديمي، عندما تفتح العرض في باوربوينت، قد ترى رسالة تطلب منك تحديث الروابط. قد يؤدي النقر على زر "تحديث الروابط" إلى تغيير حجم وموقع إطار كائن OLE لأن باوربوينت تحدث البيانات من كائن OLE المرتبط وتقوم بتحديث معاينة الكائن. لمنع باوربوينت من المطالبة بتحديث بيانات الكائن، قم بتعيين خاصية `UpdateAutomatic` لواجهة [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/) إلى `false`: +## **منع تعديل حجم وإعادة تموضع إطار كائن OLE** +بعد إضافة كائن OLE مرتبط إلى شريحة عرض تقديمي، عند فتح العرض في PowerPoint، قد تظهر رسالة تطلب منك تحديث الروابط. الضغط على زر "Update Links" قد يغيّر حجم ووضع إطار كائن OLE لأن PowerPoint يقوم بتحديث البيانات من كائن OLE المرتبط ويعيد تحميل معاينة الكائن. لمنع PowerPoint من طلب تحديث بيانات الكائن، اضبط الخاصية `UpdateAutomatic` للواجهة [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/) إلى `false`: ```cs -oleObjectFrame.UpdateAutomatic = false; +oleFrame.UpdateAutomatic = false; ``` -## **استخراج الملفات المضمنة** -يسمح Aspose.Slides لـ .NET باستخراج الملفات المضمنة في الشرائح ككائنات OLE بهذه الطريقة: -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) التي تحتوي على كائن OLE الذي تنوي استخراجه. -2. التكرار عبر جميع الأشكال في العرض والوصول إلى شكل [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). -3. الوصول إلى بيانات الملف المضمن من إطار كائن OLE وكتابته إلى القرص. -هذا الرمز بلغة C# يوضح لك كيفية استخراج ملف مضمن في شريحة ككائن OLE: +## **استخراج الملفات المضمَّنة** + +يتيح Aspose.Slides for .NET استخراج الملفات المضمنة في الشرائح ككائنات OLE بهذه الطريقة: + +1. أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) التي تحتوي على كائنات OLE التي تريد استخراجها. +2. تجول عبر جميع الأشكال في العرض وابدأ بالوصول إلى أشكال [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). +3. احصل على بيانات الملفات المضمنة من إطارات OLE واكتبها إلى القرص. + +يظهر لك هذا الكود C# كيفية استخراج الملفات المضمَّنة في شريحة ككائنات OLE: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - for (var index = 0; index < slide.Shapes.Count; index++) + for (int index = 0; index < slide.Shapes.Count; index++) { IShape shape = slide.Shapes[index]; - IOleObjectFrame oleFrame = shape as IOleObjectFrame; - + if (oleFrame != null) { - byte[] data = oleFrame.EmbeddedData.EmbeddedFileData; - string extension = oleFrame.EmbeddedData.EmbeddedFileExtension; - - File.WriteAllBytes($"oleFrame{index}{extension}", data); + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + + string filePath = $"OLE_object_{index}{fileExtension}"; + File.WriteAllBytes(filePath, fileData); } } } -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل سيتم عرض محتوى OLE عند تصدير الشرائح إلى PDF/صور؟** +ما يُظهر على الشريحة هو ما يتم تصديره — أي الأيقونة/الصورة البديلة (المعاينة). لا يتم تنفيذ محتوى OLE "الحي" أثناء التصدير. إذا لزم الأمر، عيّن صورة معاينة خاصة لضمان الظهور المتوقع في ملف PDF المُصدّر. + +**كيف يمكنني قفل كائن OLE على شريحة بحيث لا يتمكن المستخدمون من تحريكه/تعديله في PowerPoint؟** +قفل الشكل: يوفر Aspose.Slides [قفل على مستوى الشكل](/slides/ar/net/applying-protection-to-presentation/). هذا ليس تشفيرًا، لكنه يمنع فعليًا التعديلات والحركة غير المقصودة. + +**لماذا يقوم كائن Excel المرتبط "بالقفز" أو تغيير حجمه عند فتح العرض؟** +قد يقوم PowerPoint بتحديث معاينة OLE المرتبط. للحصول على مظهر ثابت، اتبع ممارسات [حل العمل لإعادة تحجيم الأوراق](/slides/ar/net/working-solution-for-worksheet-resizing/) — إما ضبط الإطار ليتناسب مع النطاق، أو تحجيم النطاق إلى إطار ثابت وتعيين صورة بديلة مناسبة. + +**هل سيتم الحفاظ على المسارات النسبية لكائنات OLE المرتبطة في تنسيق PPTX؟** +في PPTX، لا تتوفر معلومات "المسار النسبي" — فقط المسار الكامل. تُوجد المسارات النسبية في تنسيق PPT القديم. لضمان النقل، يفضّل استخدام مسارات مطلقة موثوقة/URI يمكن الوصول إليها أو التضمين. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-text/animated-text/_index.md b/ar/net/developer-guide/presentation-content/manage-text/animated-text/_index.md index a952ae58d1..f12cb6d21e 100644 --- a/ar/net/developer-guide/presentation-content/manage-text/animated-text/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-text/animated-text/_index.md @@ -3,14 +3,13 @@ title: نص متحرك type: docs weight: 60 url: /ar/net/animated-text/ -keywords: "نص متحرك، تأثيرات الرسوم المتحركة، عرض باوربوينت، C#، Csharp، Aspose.Slides لـ .NET" -description: "أضف نصوصًا متحركة وتأثيرات لعرض باوربوينت باستخدام C# أو .NET" +keywords: "نص متحرك, تأثيرات الرسوم المتحركة, عرض بوربوينت, C#, Csharp, Aspose.Slides for .NET" +description: "إضافة نص متحرك وتأثيرات إلى عرض بوربوينت بلغة C# أو .NET" --- -## إضافة تأثيرات الرسوم المتحركة إلى الفقرات - -أضفنا طريقة [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) إلى فئتي [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) و [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence). تتيح لك هذه الطريقة إضافة تأثيرات الرسوم المتحركة إلى فقرة واحدة. يشير هذا الكود المثال إلى كيفية إضافة تأثير رسوم متحركة إلى فقرة واحدة: +## **إضافة تأثيرات الرسوم المتحركة إلى الفقرات** +أضفنا طريقة [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) إلى الفئات [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) و[**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence). تسمح لك هذه الطريقة بإضافة تأثيرات الرسوم المتحركة إلى فقرة واحدة. يوضح لك هذا المثال البرمجي كيفية إضافة تأثير رسوم متحركة إلى فقرة واحدة: ```c# using (Presentation presentation = new Presentation(dataDir + "Presentation1.pptx")) { @@ -18,7 +17,7 @@ using (Presentation presentation = new Presentation(dataDir + "Presentation1.ppt IAutoShape autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; - // أضف تأثير الرسوم المتحركة "Fly" إلى الفقرة المحددة + // أضف تأثير حركة الطيران إلى الفقرة المحددة IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(paragraph, EffectType.Fly, EffectSubtype.Left, EffectTriggerType.OnClick); @@ -27,13 +26,11 @@ using (Presentation presentation = new Presentation(dataDir + "Presentation1.ppt ``` +## **الحصول على تأثيرات الرسوم المتحركة في الفقرات** -## الحصول على تأثيرات الرسوم المتحركة في الفقرات - -قد تقرر معرفة تأثيرات الرسوم المتحركة المضافة إلى فقرة—على سبيل المثال، في سيناريو واحد، تريد الحصول على تأثيرات الرسوم المتحركة في فقرة لأنك تخطط لتطبيق تلك التأثيرات على فقرة أو شكل آخر. - -تتيح لك Aspose.Slides لـ .NET الحصول على جميع تأثيرات الرسوم المتحركة المطبقة على الفقرات الموجودة في إطار نص (شكل). يشير هذا الكود المثال إلى كيفية الحصول على تأثيرات الرسوم المتحركة في فقرة: +قد ترغب في معرفة تأثيرات الرسوم المتحركة المضافة إلى فقرة — على سبيل المثال، في أحد السيناريوهات، تريد الحصول على تأثيرات الرسوم المتحركة في فقرة لأنك تخطط لتطبيق تلك التأثيرات على فقرة أو شكل آخر. +يتيح لك Aspose.Slides for .NET الحصول على جميع تأثيرات الرسوم المتحركة المطبقة على الفقرات الموجودة داخل إطار نص (شكل). يوضح لك هذا المثال البرمجي كيفية الحصول على تأثيرات الرسوم المتحركة في فقرة: ```c# using (Presentation pres = new Presentation("Test.pptx")) { @@ -45,7 +42,22 @@ using (Presentation pres = new Presentation("Test.pptx")) IEffect[] effects = sequence.GetEffectsByParagraph(paragraph); if (effects.Length > 0) - Console.WriteLine("الفقرة \"" + paragraph.Text + "\" تحتوي على تأثير " + effects[0].Type + "."); + Console.WriteLine("Paragraph \"" + paragraph.Text + "\" has " + effects[0].Type + " effect."); } } -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**كيف تختلف رسوم النص المتحركة عن انتقالات الشرائح، وهل يمكن دمجها؟** + +تتحكم رسوم النص المتحركة في سلوك الكائن بمرور الوقت على الشريحة، بينما تتحكم [الانتقالات](/slides/ar/net/slide-transition/) في طريقة تغير الشرائح. إنهما مستقلان ويمكن استخدامهما معًا؛ يتم التحكم في ترتيب التشغيل بواسطة جدول توقيت الرسوم المتحركة وإعدادات الانتقال. + +**هل يتم الحفاظ على رسوم النص المتحركة عند التصدير إلى PDF أو الصور؟** + +لا. ملفات PDF والصور النقطية ثابتة، لذلك سترى حالة واحدة من الشريحة بدون حركة. للحفاظ على الحركة، استخدم تصدير [فيديو](/slides/ar/net/convert-powerpoint-to-video/) أو [HTML](/slides/ar/net/export-to-html5/). + +**هل تعمل رسوم النص المتحركة في التخطيطات وماستر الشريحة؟** + +تُورّث التأثيرات المطبقة على كائنات التخطيط/الماستر إلى الشرائح، لكن توقيتها وتفاعلها مع الرسوم المتحركة على مستوى الشريحة يعتمد على التسلسل النهائي في الشريحة. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md b/ar/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md index 5ae05c961b..abcfe7f22a 100644 --- a/ar/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md @@ -1,127 +1,152 @@ --- -title: استخراج النص من العرض التقديمي +title: "استخراج النص المتقدم من العروض التقديمية في C#" +linktitle: "استخراج النص" type: docs weight: 90 url: /ar/net/extract-text-from-presentation/ -keywords: "استخراج النص من الشريحة, استخراج النص من PowerPoint, C#, Csharp, Aspose.Slides لـ .NET" -description: "استخراج النص من الشريحة أو العرض التقديمي PowerPoint باستخدام C# أو .NET" +keywords: +- "استخراج النص" +- "استخراج النص من الشريحة" +- "استخراج النص من العرض التقديمي" +- "استخراج النص من PowerPoint" +- "استخراج النص من PPT" +- "استخراج النص من PPTX" +- "استخراج النص من ODP" +- "C#" +- ".NET" +- "Aspose.Slides" +description: "تعلم كيف تستخرج النص بسرعة وسهولة من عروض PowerPoint التقديمية باستخدام Aspose.Slides لـ .NET. اتبع دليلنا البسيط خطوة بخطوة لتوفير الوقت والوصول بكفاءة إلى محتوى الشرائح في تطبيقاتك." --- -{{% alert color="primary" %}} +## **نظرة عامة** -ليس من غير المألوف أن يحتاج المطورون إلى استخراج النص من عرض تقديمي. للقيام بذلك، تحتاج إلى استخراج النص من جميع الأشكال في جميع الشرائح في العرض التقديمي. تشرح هذه المقالة كيفية استخراج النص من عروض Microsoft PowerPoint PPTX باستخدام Aspose.Slides. يمكن استخراج النص بطرق التالية: +يُعد استخراج النص من العروض التقديمية مهمة شائعة ولكنها أساسية للمطورين الذين يتعاملون مع محتوى الشرائح. سواء كنت تتعامل مع ملفات Microsoft PowerPoint بصيغة PPT أو PPTX، أو عروض OpenDocument (ODP)، فإن الوصول إلى البيانات النصية واسترجاعها يمكن أن يكون حيويًا للتحليل، والأتمتة، والفهرسة، أو نقل المحتوى. -- [استخراج النص من شريحة واحدة](/slides/ar/net/extracting-text-from-the-presentation/) -- [استخراج النص باستخدام طريقة GetAllTextBoxes](/slides/ar/net/extracting-text-from-the-presentation/) -- [استخراج النص بشكل منظم وسريع](/slides/ar/net/extracting-text-from-the-presentation/) +توفر هذه المقالة دليلًا شاملًا حول كيفية استخراج النص بكفاءة من صيغ العروض المختلفة، بما في ذلك PPT وPPTX وODP، باستخدام Aspose.Slides for .NET. ستتعلم كيفية iterating systematic عبر عناصر العرض لاسترداد محتوى النص بدقة. -{{% /alert %}} -## **استخراج النص من الشريحة** -توفر Aspose.Slides لـ .NET مساحة الأسماء Aspose.Slides.Util والتي تشمل فئة SlideUtil. تعرض هذه الفئة عددًا من الطرق الثابتة المزدوجة لاستخراج النص الكامل من عرض تقديمي أو شريحة. لاستخراج النص من شريحة في عرض PPTX، -استخدم طريقة [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextboxes) الثابتة المزدوجة التي تعرضها فئة SlideUtil. تقبل هذه الطريقة كائن الشريحة كمعامل. -عند التنفيذ، تقوم طريقة الشريحة بمسح النص الكامل من الشريحة الممررة كمعامل وتُرجع مصفوفة من كائنات TextFrame. هذا يعني أن أي تنسيق نص مرتبط بالنص متاح. يقوم النص البرمجي التالي باستخراج جميع النصوص على الشريحة الأولى من العرض التقديمي: +## **استخراج النص من شريحة** -```c# -//إنشاء كائن فئة Presentation الذي يمثل ملف PPTX -Presentation pptxPresentation = new Presentation("demo.pptx"); +توفر Aspose.Slides for .NET مساحة الاسم [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/) التي تشمل الفئة [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/). تُعرِّف هذه الفئة عدة أساليب ثابتة محمَّلة لاستخراج كل النص من عرض تقديمي أو شريحة. لاستخراج النص من شريحة في عرض تقديمي، استخدم الأسلوب [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextboxes/). يقبل هذا الأسلوب كائنًا من النوع [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) كمعامل. عند تنفيذه، يقوم الأسلوب بفحص الشريحة بالكامل للبحث عن النص ويعيد مصفوفة من الكائنات من النوع [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/)، مع الحفاظ على أي تنسيق للنص. -//الحصول على مصفوفة من كائنات ITextFrame من جميع الشرائح في PPTX -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +المقتطف البرمجي التالي يستخرج كل النص من الشريحة الأولى للعرض التقديمي: +```cs +int slideIndex = 0; -//التكرار عبر مصفوفة TextFrames -for (int i = 0; i < textFramesPPTX.Length; i++) +// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي (PPT، PPTX، ODP، إلخ). +using Presentation presentation = new Presentation("demo.pptx"); + +// Get a reference to the slide. +ISlide slide = presentation.Slides[slideIndex]; + +// Get an array of text frames from the slide. +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextBoxes(slide); + +// Loop through the array of the text frames. +for (int i = 0; i < textFrames.Length; i++) { - //التكرار عبر الفقرات في ITextFrame الحالي - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) - { - //التكرار عبر الأجزاء في IParagraph الحالي - foreach (IPortion port in para.Portions) - { - //عرض النص في الجزء الحالي - Console.WriteLine(port.Text); - - //عرض ارتفاع الخط للنص - Console.WriteLine(port.PortionFormat.FontHeight); - - //عرض اسم الخط للنص - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } - } + // التكرار عبر الفقرات في إطار النص الحالي. + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // التكرار عبر أجزاء النص في الفقرة الحالية. + foreach (IPortion portion in paragraph.Portions) + { + // عرض النص في جزء النص الحالي. + Console.WriteLine(portion.Text); + + // عرض ارتفاع الخط للنص. + Console.WriteLine(portion.PortionFormat.FontHeight); + + // عرض اسم الخط للنص. + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } } ``` +## **استخراج النص من عرض تقديمي كامل** +لمسح النص من العرض التقديمي بالكامل، استخدم الأسلوب الثابت [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextframes/) الموجود في الفئة [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/). يقبل هذا الأسلوب معاملين: -## **استخراج النص من العرض التقديمي** -لمسح النص من العرض التقديمي الكامل، استخدم - [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextframes) الطريقة الثابتة التي تعلنها فئة SlideUtil. تأخذ هذه الطريقة معاملين: - -1. أولاً، كائن Presentation يمثل عرض PPTX الذي يتم استخراج النص منه. -1. ثانياً، قيمة Boolean تحدد ما إذا كان يجب تضمين الشريحة الرئيسية عند مسح النص من العرض التقديمي. - تُرجع الطريقة مصفوفة من كائنات TextFrame، مكتملة بمعلومات تنسيق النص. يقوم الكود أدناه بمسح النص ومعلومات التنسيق من عرض تقديمي، بما في ذلك الشرائح الرئيسية. - -```c# -//إنشاء كائن فئة Presentation الذي يمثل ملف PPTX -Presentation pptxPresentation = new Presentation("demo.pptx"); +1. أولاً، كائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) يمثل عرض PowerPoint أو OpenDocument سيتم استخراج النص منه. +2. ثانيًا، قيمة `Boolean` تحدد ما إذا كان يجب تضمين الشرائح الرئيسية عند مسح النص من العرض التقديمي. -//الحصول على مصفوفة من كائنات ITextFrame من جميع الشرائح في PPTX -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +يعيد الأسلوب مصفوفة من الكائنات من النوع [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/)، تشمل معلومات تنسيق النص. الكود أدناه يقوم بمسح النص وتفاصيل التنسيق من عرض تقديمي، بما في ذلك الشرائح الرئيسية: +```cs +// إنشاء كائن من فئة Presentation التي تمثل ملف عرض تقديمي (PPT, PPTX, ODP, إلخ). +using Presentation presentation = new Presentation("demo.pptx"); -//التكرار عبر مصفوفة TextFrames -for (int i = 0; i < textFramesPPTX.Length; i++) +// Get an array of text frames from all slides in the presentation. +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(presentation, true); - //التكرار عبر الفقرات في ITextFrame الحالي - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) +// التكرار عبر مصفوفة إطارات النص. +for (int i = 0; i < textFrames.Length; i++) +{ + // التكرار عبر الفقرات في إطار النص الحالي. + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // التكرار عبر أجزاء النص في الفقرة الحالية. + foreach (IPortion portion in paragraph.Portions) + { + // عرض النص في جزء النص الحالي. + Console.WriteLine(portion.Text); + + // عرض ارتفاع الخط للنص. + Console.WriteLine(portion.PortionFormat.FontHeight); + + // عرض اسم الخط للنص. + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } +} +``` - //التكرار عبر الأجزاء في IParagraph الحالي - foreach (IPortion port in para.Portions) - { - //عرض النص في الجزء الحالي - Console.WriteLine(port.Text); - //عرض ارتفاع الخط للنص - Console.WriteLine(port.PortionFormat.FontHeight); +## **استخراج النص المصنف والسريع** - //عرض اسم الخط للنص - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } +توفر الفئة [PresentationFactory](https://reference.aspose.com/slides/net/aspose.slides/presentationfactory/) أيضًا أساليب ثابتة لاستخراج كل النص من العروض التقديمية: +``` cs +IPresentationText GetPresentationText(string file, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode, ILoadOptions options); ``` +تشير الوسيطة enum [TextExtractionArrangingMode](https://reference.aspose.com/slides/net/aspose.slides/textextractionarrangingmode/) إلى وضع تنظيم نتيجة استخراج النص ويمكن تعيينها إلى القيم التالية: +- `Unarranged` - النص الخام دون اعتبار لموقعه على الشريحة. +- `Arranged` - يُرتَّب النص بنفس الترتيب الموجود على الشريحة. +يمكن استخدام وضع "Unarranged" عندما تكون السرعة حرجة؛ فهو أسرع من وضع "Arranged". -## **استخراج النص بشكل منظم وسريع** -تمت إضافة الطريقة الثابتة الجديدة GetPresentationText إلى كائن Presentation. هناك نوعان من التحميل الزائد لهذه الطريقة: +يمثل [IPresentationText](https://reference.aspose.com/slides/net/aspose.slides/ipresentationtext/) النص الخام المستخرج من العرض التقديمي. يحتوي على خاصية [SlidesText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) من مساحة الاسم [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/)، والتي تُعيد مصفوفة من الكائنات من النوع [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/). كل كائن يمثل النص على الشريحة المقابلة. يحتوي كائن النوع [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) على الخصائص التالية: -```csharp -PresentationText GetPresentationText(Stream stream) -PresentationText GetPresentationText(Stream stream, ExtractionMode mode) +- `Text` - النص داخل أشكال الشريحة. +- `MasterText` - النص داخل أشكال الشريحة الرئيسية المرتبطة بهذه الشريحة. +- `LayoutText` - النص داخل أشكال شريحة التخطيط المرتبطة بهذه الشريحة. +- `NotesText` - النص داخل أشكال شريحة الملاحظات المرتبطة بهذه الشريحة. +- `CommentsText` - النص داخل التعليقات المرتبطة بهذه الشريحة. +```cs +IPresentationText text = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); +Console.WriteLine(text.SlidesText[0].Text); +Console.WriteLine(text.SlidesText[0].LayoutText); +Console.WriteLine(text.SlidesText[0].MasterText); +Console.WriteLine(text.SlidesText[0].NotesText); +Console.WriteLine(text.SlidesText[0].CommentsText); ``` -تشير قيمة إدخال نوع ExtractionMode إلى الوضع لتنظيم ناتج النص ويمكن تعيينها إلى القيم التالية: -غير منظم - النص الخام دون أن يؤخذ في الاعتبار موضعه في الشريحة -منظم - يتم وضع النص بالترتيب نفسه كما هو على الشريحة -يمكن استخدام الوضع غير المنظم عندما تكون السرعة حاسمة، فهو أسرع من الوضع المنظم. +## **الأسئلة الشائعة** + +**ما مدى سرعة معالجة Aspose.Slides لعروض تقديمية كبيرة أثناء استخراج النص؟** -يمثل PresentationText النص الخام المستخرج من العرض التقديمي. يحتوي على خاصية SlidesText من مساحة أسماء Aspose.Slides.Util التي تُرجع مصفوفة من كائنات ISlideText. يمثل كل كائن النص على الشريحة المقابلة. تحتوي كائنات ISlideText على الخصائص التالية: +تم تحسين Aspose.Slides لأداء عالي ويعالج حتى العروض الكبيرة بكفاءة، مما يجعله مناسبًا للسيناريوهات ذات الوقت الحقيقي أو المعالجة الضخمة. -ISlideText.Text - النص على أشكال الشريحة -ISlideText.MasterText - النص على أشكال الصفحة الرئيسية لهذه الشريحة -ISlideText.LayoutText - النص على أشكال صفحة التخطيط لهذه الشريحة -ISlideText.NotesText - النص على أشكال صفحة الملاحظات لهذه الشريحة +**هل يمكن لـ Aspose.Slides استخراج النص من الجداول والرسوم البيانية داخل العروض التقديمية؟** -هناك أيضًا فئة SlideText التي تنفذ واجهة ISlideText. +نعم، يدعم Aspose.Slides استخراج النص من الجداول، والرسوم البيانية، وغيرها من عناصر الشريحة المعقدة، مما يتيح لك الوصول إلى جميع المحتويات النصية وتحليلها بسهولة. -يمكن استخدام واجهة برمجة التطبيقات الجديدة هكذا: +**هل أحتاج إلى ترخيص Aspose.Slides خاص لاستخراج النص من العروض التقديمية؟** -```c# -IPresentationText text1 = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); -Console.WriteLine(text1.SlidesText[0].Text); -Console.WriteLine(text1.SlidesText[0].LayoutText); -Console.WriteLine(text1.SlidesText[0].MasterText); -Console.WriteLine(text1.SlidesText[0].NotesText); -``` \ No newline at end of file +يمكنك استخراج النص باستخدام النسخة التجريبية المجانية من Aspose.Slides، رغم أنها تحتوي على بعض القيود، مثل معالجة عدد محدود من الشرائح. للحصول على استخدام غير مقيد ومعالجة عروض تقديمية أكبر، يُنصح بشراء ترخيص كامل. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md b/ar/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md index 4a450031b1..ed8ede4195 100644 --- a/ar/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md @@ -1,42 +1,55 @@ --- -title: إدارة إعدادات التعديل التلقائي +title: تحسين عروضك التقديمية باستخدام AutoFit في C# +linktitle: إدارة إعدادات Autofit type: docs weight: 30 url: /ar/net/manage-autofit-settings/ -keywords: "مربع النص، تعديل تلقائي، عرض PowerPoint، C#، Csharp، Aspose.Slides لـ .NET" -description: "تعيين إعدادات التعديل التلقائي لمربع النص في PowerPoint باستخدام C# أو .NET" +keywords: +- مربع نص +- AutoFit +- عدم الضبط التلقائي +- ملاءمة النص +- تصغير النص +- التفاف النص +- تحجيم الشكل +- PowerPoint +- عرض تقديمي +- C# +- .NET +- Aspose.Slides +description: "تعلم كيفية إدارة إعدادات AutoFit في Aspose.Slides لـ .NET لتحسين عرض النص في عروض PowerPoint وOpenDocument وتحسين قابلية قراءة المحتوى." --- -بشكل افتراضي، عند إضافة مربع نص، يستخدم Microsoft PowerPoint إعداد **تغيير حجم الشكل ليتناسب مع النص** لمربع النص—إذ يقوم بتغيير حجم مربع النص تلقائيًا لضمان تناسق النص داخله. +## **نظرة عامة** -![textbox-in-powerpoint](textbox-in-powerpoint.png) +بشكل افتراضي، عندما تضيف مربع نص، يستخدم Microsoft PowerPoint إعداد **Resize shape to fit text** لمربع النص—يقوم تلقائيًا بتغيير حجم مربع النص لضمان أن النص دائمًا يتناسب معه. -* عندما يصبح النص في مربع النص أطول أو أكبر، يقوم PowerPoint بتكبير مربع النص تلقائيًا—يزيد من ارتفاعه—ليتمكن من استيعاب المزيد من النص. -* عندما يصبح النص في مربع النص أقصر أو أصغر، يقوم PowerPoint بتقليل مربع النص تلقائيًا—يقلل من ارتفاعه—لإزالة المساحة الزائدة. +![مربع نص في PowerPoint](textbox-in-powerpoint.png) -في PowerPoint، هذه هي 4 معلمات أو خيارات مهمة تتحكم في سلوك التعديل التلقائي لمربع النص: +* عندما يصبح النص في مربع النص أطول أو أكبر، يقوم PowerPoint تلقائيًا بتكبير مربع النص—زيادة ارتفاعه—للسماح له بحمل المزيد من النص. +* عندما يصبح النص في مربع النص أقصر أو أصغر، يقوم PowerPoint تلقائيًا بتقليل حجم مربع النص—خفض ارتفاعه— لإزالة المساحة الزائدة. -* **لا تعدل تلقائيًا** -* **تصغير النص عند التدفق الزائد** -* **تغيير حجم الشكل ليتناسب مع النص** -* **لف النص في الشكل.** +في PowerPoint، هذه هي المعايير أو الخيارات الأربعة المهمة التي تتحكم في سلوك الضبط التلقائي لمربع النص: -![autofit-options-powerpoint](autofit-options-powerpoint.png) +* **عدم الضبط التلقائي** +* **تصغير النص عند الفائض** +* **تحجيم الشكل ليتناسب مع النص** +* **التفاف النص داخل الشكل** -توفر Aspose.Slides لـ .NET خيارات مماثلة—بعض الخصائص تحت فئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)—التي تسمح لك بالتحكم في سلوك التعديل التلقائي لمربعات النص في العروض التقديمية. +![خيارات الضبط التلقائي في PowerPoint](autofit-options-powerpoint.png) -## **تغيير حجم الشكل ليتناسب مع النص** +توفر Aspose.Slides for .NET خيارات مشابهة—خصائص تحت فئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)—تتيح لك التحكم في سلوك الضبط التلقائي لمربعات النص في العروض التقديمية. -إذا كنت ترغب في أن يتناسب النص في مربع مع ذلك المربع بعد إجراء تغييرات على النص، يجب عليك استخدام خيار **تغيير حجم الشكل ليتناسب مع النص**. لتحديد هذا الإعداد، قم بتعيين خاصية [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (من فئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) إلى `Shape`. +## **تحجيم الشكل ليتناسب مع النص** -![alwaysfit-setting-powerpoint](alwaysfit-setting-powerpoint.png) +إذا كنت تريد أن يتناسب النص دائمًا داخل الصندوق بعد إجراء تغييرات على النص، عليك استخدام خيار **Resize shape to fit text**. لتحديد هذا الإعداد، عيّن خاصية `AutofitType` من فئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) إلى `Shape`. -هذا الكود C# يظهر لك كيفية تحديد أن النص يجب أن يتناسب دائمًا مع مربع النص في عرض PowerPoint: +![تحجيم الشكل ليتناسب مع النص](alwaysfit-setting-powerpoint.png) ```c# - using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -47,24 +60,23 @@ description: "تعيين إعدادات التعديل التلقائي لمرب ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Shape; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -إذا أصبح النص أطول أو أكبر، سيتم تغيير حجم مربع النص تلقائيًا (زيادة في الارتفاع) لضمان تناسق جميع النصوص بداخله. إذا أصبح النص أقصر، يحدث العكس. -## **لا تعدل تلقائيًا** +إذا أصبح النص أطول أو أكبر، سيُعيد PowerPoint تعديل حجم مربع النص تلقائيًا (زيادة ارتفاعه) لضمان أن جميع النص يتناسب فيه. إذا أصبح النص أقصر، يحدث العكس. -إذا كنت ترغب في أن يحتفظ مربع النص أو الشكل بأبعاده بغض النظر عن التغييرات التي تطرأ على النص المحتوى، يجب عليك استخدام خيار **لا تعدل تلقائيًا**. لتحديد هذا الإعداد، قم بتعيين خاصية [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (من فئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) إلى `None`. +## **عدم الضبط التلقائي** -![donotautofit-setting-powerpoint](donotautofit-setting-powerpoint.png) +إذا كنت تريد أن يحتفظ مربع النص أو الشكل بأبعاده بغض النظر عن التغييرات التي تطرأ على النص الذي يحتويه، عليك استخدام خيار **Do not Autofit**. لتحديد هذا الإعداد، عيّن خاصية `AutofitType` من فئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) إلى `None`. -هذا الكود C# يظهر لك كيفية تحديد أن مربع النص يجب أن يحتفظ دائمًا بأبعاده في عرض PowerPoint: +!["Do not Autofit" setting in PowerPoint](donotautofit-setting-powerpoint.png) ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -75,24 +87,23 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.None; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -عندما يصبح النص طويلًا جدًا مقارنة بمربعه، فإنه يتجاوز الحدود. -## **تصغير النص عند التدفق الزائد** +عند أن يصبح النص أطول من الصندوق، ينسكب خارج الصندوق. -إذا أصبح النص طويلًا جدًا بالنسبة لمربعه، من خلال خيار **تصغير النص عند التدفق الزائد**، يمكنك تحديد أن حجم النص ومسافاته يجب تقليلها ليتناسب مع مربعه. لتحديد هذا الإعداد، قم بتعيين خاصية [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (من فئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) إلى `Normal`. +## **تصغير النص عند الفائض** -![shrinktextonoverflow-setting-powerpoint](shrinktextonoverflow-setting-powerpoint.png) +إذا أصبح النص أطول من الصندوق، يمكنك عبر خيار **Shrink text on overflow** تحديد أن يتم تقليل حجم النص والمسافات لجعله يتناسب داخل الصندوق. لتحديد هذا الإعداد، عيّن خاصية `AutofitType` من فئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) إلى `Normal`. -هذا الكود C# يظهر لك كيفية تحديد أن النص يجب أن يتم تصغيره عند التدفق الزائد في عرض PowerPoint: +!["Shrink text on overflow" setting in PowerPoint](shrinktextonoverflow-setting-powerpoint.png) ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -103,26 +114,23 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Normal; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="معلومات" color="info" %}} - -عند استخدام خيار **تصغير النص عند التدفق الزائد**، يتم تطبيق الإعداد فقط عندما يصبح النص طويلًا جدًا لمربعه. +{{% alert title="Info" color="info" %}} +عند استخدام خيار **Shrink text on overflow**، يتم تطبيق الإعداد فقط عندما يصبح النص أطول من الصندوق. {{% /alert %}} -## **لف النص** - -إذا كنت ترغب في لف النص داخل شكل عندما يتجاوز النص حدود الشكل (العرض فقط)، يجب عليك استخدام خيار **لف النص في الشكل**. لتحديد هذا الإعداد، يجب عليك تعيين خاصية [WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/wraptext) (من فئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) إلى `true`. +## **التفاف النص داخل الشكل** -هذا الكود C# يظهر لك كيفية استخدام إعداد لف النص في عرض PowerPoint: +إذا كنت تريد أن يُلتف النص داخل الشكل عندما يتجاوز النص حد الشكل (العرض فقط)، عليك استخدام معلمة **Wrap text in shape**. لتحديد هذا الإعداد، عليك تعيين خاصية `WrapText` من فئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) إلى `NullableBool.True`. ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -133,12 +141,25 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.WrapText = NullableBool.True; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="ملاحظة" color="warning" %}} -إذا قمت بتعيين خاصية `WrapText` إلى `False` لشكل، عندما يصبح النص داخل الشكل أطول من عرض الشكل، يتجاوز النص حدود الشكل على طول سطر واحد. +{{% alert title="Note" color="warning" %}} +إذا قمت بتعيين خاصية `WrapText` إلى `NullableBool.False` لشكل ما، عندما يصبح النص داخل الشكل أطول من عرض الشكل، يمتد النص خارج حدود الشكل في سطر واحد. +{{% /alert %}} + +## **الأسئلة المتكررة** + +**هل تؤثر الهوامش الداخلية لإطار النص على AutoFit؟** + +نعم. تقليل الهوامش الداخلية (Padding) يقلل من المساحة المتاحة للنص، لذا سيتدخل AutoFit مبكرًا—إما بتصغير حجم الخط أو تغيير حجم الشكل أسرع. تحقق من الهوامش واضبطها قبل تعديل AutoFit. + +**كيف يتفاعل AutoFit مع الفواصل اليدوية والناعمة؟** + +تظل الفواصل القسرية كما هي، ويتكيف AutoFit مع حجم الخط والمسافات حولها. إزالة الفواصل غير الضرورية غالبًا ما يقلل من شدة تقليص النص بواسطة AutoFit. + +**هل يؤدي تغيير خط الثيم أو استبدال الخط إلى تأثير نتائج AutoFit؟** -{{% /alert %}} \ No newline at end of file +نعم. استبدال الخط بآخر له مقاييس مختلفة يغير عرض/ارتفاع النص، مما قد يغيّر الحجم النهائي للخط وتوزيع الأسطر. بعد أي تغيير أو استبدال للخط، يجب مراجعة الشرائح مرة أخرى. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md b/ar/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md index a2414f292a..401313e820 100644 --- a/ar/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md @@ -1,59 +1,58 @@ --- -title: إدارة القوائم النقطية والقوائم المرقمة +title: إدارة القوائم النقطية والرقمية type: docs weight: 70 url: /ar/net/manage-bullet-and-numbered-lists -keywords: "النقاط، قوائم نقطية، أرقام، قوائم مرقمة، نقاط مصورة، نقاط متعددة المستويات، عرض PowerPoint، C#، Csharp، Aspose.Slides ل .NET" -description: "إنشاء قوائم نقطية ومرقمة في عرض PowerPoint بلغة C# أو .NET" +keywords: "النقاط, قوائم نقطية, الأرقام, قوائم رقمية, نقاط بصورة, نقاط متعددة المستويات, عرض PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "إنشاء قوائم نقطية ورقمية في عرض PowerPoint باستخدام C# أو .NET" --- -في **Microsoft PowerPoint**، يمكنك إنشاء قوائم نقطية ومرقمة بنفس الطريقة التي تفعلها في Word وغيرها من محررات النصوص. **Aspose.Slides ل .NET** يسمح لك أيضاً باستخدام النقاط والأرقام في الشرائح في عروضك التقديمية. +في **Microsoft PowerPoint**، يمكنك إنشاء قوائم نقطية ومرقمة بنفس الطريقة التي تفعلها في Word وغيرها من محررات النص. **Aspose.Slides for .NET** يسمح لك أيضًا باستخدام النقاط والأرقام في الشرائح في عروضك التقديمية. -### لماذا استخدام القوائم النقطية؟ +## **لماذا تستخدم القوائم النقطية؟** -تساعد القوائم النقطية على تنظيم وتقديم المعلومات بسرعة وفعالية. +القوائم النقطية تساعدك على تنظيم وعرض المعلومات بسرعة وكفاءة. **مثال على قائمة نقطية** في معظم الحالات، تخدم القائمة النقطية هذه الوظائف الثلاث الرئيسية: -- تجذب انتباه قرائك أو مشاهديك إلى المعلومات المهمة -- تتيح لقرائك أو مشاهديك مسح النقاط الأساسية بسهولة -- تنقل وتقدم تفاصيل مهمة بكفاءة. +- تجذب انتباه القراء أو المشاهدين إلى المعلومات الهامة +- تتيح للقراء أو المشاهدين مسح النقاط الرئيسية بسهولة +- تنقل وتوصل التفاصيل المهمة بكفاءة. -### لماذا استخدام القوائم المرقمة؟ +## **لماذا تستخدم القوائم المرقمة؟** -تساعد القوائم المرقمة أيضاً في تنظيم وتقديم المعلومات. من المثالي أن تستخدم الأرقام (بدلاً من النقاط) عندما يكون ترتيب الإدخالات (على سبيل المثال، *الخطوة 1، الخطوة 2*، إلخ) مهماً أو عندما يتعين الإشارة إلى إدخال (على سبيل المثال، *راجع الخطوة 3*). +القوائم المرقمة تساعد أيضًا في تنظيم وعرض المعلومات. من المثالي أن تستخدم الأرقام (بدلاً من النقاط) عندما يكون ترتيب الإدخالات (على سبيل المثال، *الخطوة 1، الخطوة 2*، إلخ) مهمًا أو عندما يجب الإشارة إلى إدخال (على سبيل المثال، *انظر الخطوة 3*). **مثال على قائمة مرقمة** -هذا ملخص للخطوات (من الخطوة 1 إلى الخطوة 15) في إجراء **إنشاء نقاط** أدناه: +هذه ملخص للخطوات (من الخطوة 1 إلى الخطوة 15) في إجراء **إنشاء النقاط** أدناه: -1. إنشاء مثيل من فئة العرض التقديمي. +1. إنشاء كائن من الفئة Presentation. 2. تنفيذ عدة مهام (من الخطوة 3 إلى الخطوة 14). -3. حفظ العرض التقديمي. +3. حفظ العرض التقديمي. -## إنشاء النقاط +## **إنشاء النقاط** -لإنشاء قائمة نقطية، اتبع هذه الخطوات: +لإنشاء قائمة نقطية، اتبع الخطوات التالية: -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. الوصول إلى الشريحة (التي تريد إضافة قائمة نقطية إليها) في مجموعة الشرائح من خلال كائن [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). -3. إضافة [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) في الشريحة المحددة. +1. إنشاء كائن من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. الوصول إلى الشريحة (التي تريد إضافة قائمة نقطية فيها) في مجموعة الشرائح عبر كائن [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). +3. إضافة [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) إلى الشريحة المحددة. 4. الوصول إلى [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) للشكل المضاف. -5. إزالة الفقرة الافتراضية في [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. إنشاء مثيل من الفقرة الأولى باستخدام فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). -8. تعيين نوع النقطة إلى Symbol ثم تعيين حرف النقطة. -9. تعيين نص الفقرة. -10. تعيين مسافة الفقرة لإعداد النقطة. -11. تعيين لون النقطة. -12. تعيين ارتفاع النقطة. -13. إضافة الفقرة التي تم إنشاؤها في مجموعة الفقرات في [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -14. إضافة الفقرة الثانية وتكرار الخطوات 7-12. +5. إزالة الفقرة الافتراضية في [TextFrame](). +6. إنشاء أول كائن فقرة باستخدام الفئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). +8. ضبط نوع النقطة إلى Symbol ثم تحديد حرف النقطة. +9. ضبط نص الفقرة. +10. ضبط مسافة إزاحة الفقرة لتحديد النقطة. +11. ضبط لون النقطة. +12. ضبط ارتفاع النقطة. +13. إضافة الفقرة التي تم إنشاؤها إلى مجموعة فقرات [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +14. إضافة الفقرة الثانية وتكرار الخطوات من 7 إلى 12. 15. حفظ العرض التقديمي. -هذا الكود المثالي بلغة C#—تنفيذ للخطوات السابقة—يوضح لك كيفية إنشاء قائمة نقطية في شريحة: - +يعرض هذا المثال البرمجي بلغة C#—تنفيذ للخطوات أعلاه—كيفية إنشاء قائمة نقطية في شريحة: ```c# using (Presentation pres = new Presentation()) { @@ -69,7 +68,7 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; paragraph.ParagraphFormat.Bullet.Color.Color = Color.Red; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "نصي"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); @@ -79,38 +78,38 @@ using (Presentation pres = new Presentation()) } ``` -## إنشاء النقاط المصورة -يسمح لك Aspose.Slides ل .NET بتغيير النقاط في القوائم النقطية. يمكنك استبدال النقاط برموز أو صور مخصصة. إذا كنت ترغب في إضافة اهتمام بصري إلى قائمة أو جذب المزيد من الانتباه إلى إدخالات في قائمة، يمكنك استخدام صورتك الخاصة كنقطة. +## **إنشاء نقاط بصورة** - {{% alert color="primary" %}} +يتيح لك Aspose.Slides for .NET تغيير النقاط في القوائم النقطية. يمكنك استبدال النقاط برموز أو صور مخصصة. إذا أردت إضافة عنصر بصري جذاب إلى القائمة أو جذب انتباه أكبر إلى العناصر في القائمة، يمكنك استخدام صورتك الخاصة كنقطة. -من المثالي، إذا كنت تنوي استبدال الرمز النقطي العادي بصورة، أن ترغب في اختيار صورة رسومية بسيطة ذات خلفية شفافة. مثل هذه الصور تعمل بشكل أفضل كرموز نقطية مخصصة. +{{% alert color="primary" %}} -في أي حال، سيتم تقليل الصورة التي تختارها إلى حجم صغير جداً، لذلك نوصي بشدة بأن تختار صورة تبدو جيدة (كبديل لرمز النقطة) في القائمة. +من الناحية المثالية، إذا كنت تنوي استبدال رمز النقطة العادي بصورة، قد ترغب في اختيار صورة رسومية بسيطة بخلفية شفافة. هذه الصور تعمل بشكل أفضل كرموز نقطية مخصصة. + +في أي حال، الصورة التي تختارها سيُقلّص حجمها إلى حجم صغير جدًا، لذا نوصي بشدة باختيار صورة تبدو جيدة (كبديل لرمز النقطة) في القائمة. {{% /alert %}} -لإنشاء نقطة مصورة، انتبه إلى هذه الخطوات: +لإنشاء نقطة بصورة، اتبع الخطوات التالية: -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. إنشاء كائن من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. الوصول إلى الشريحة المطلوبة في مجموعة الشرائح باستخدام كائن [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). -3. إضافة [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) في الشريحة المحددة. +3. إضافة [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) إلى الشريحة المحددة. 4. الوصول إلى [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) للشكل المضاف. 5. إزالة الفقرة الافتراضية في [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. إنشاء مثيل من الفقرة الأولى باستخدام فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). -7. تحميل الصورة من القرص وإضافتها إلى [Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images) ثم استخدام مثيل [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) الذي تم إرجاعه من طريقة [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index). -8. تعيين نوع النقطة إلى Picture ثم تعيين الصورة. -9. تعيين نص الفقرة. -10. تعيين مسافة الفقرة لإعداد النقطة. -11. تعيين لون النقطة. -12. تعيين ارتفاع النقاط. -13. إضافة الفقرة التي تم إنشاؤها في مجموعة الفقرات في [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -14. إضافة الفقرة الثانية وتكرار الخطوات 7-13. +6. إنشاء أول كائن فقرة باستخدام الفئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). +7. تحميل الصورة من القرص وإضافتها إلى [Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images) ثم استخدام كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) الذي تم إرجاعه من طريقة [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index). +8. ضبط نوع النقطة إلى Picture ثم تعيين الصورة. +9. ضبط نص الفقرة. +10. ضبط مسافة إزاحة الفقرة لتحديد النقطة. +11. ضبط لون النقطة. +12. ضبط ارتفاع النقاط. +13. إضافة الفقرة التي تم إنشاؤها إلى مجموعة فقرات [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +14. إضافة الفقرة الثانية وتكرار الخطوات من 7 إلى 13. 15. حفظ العرض التقديمي. -هذا الكود بلغة C# يوضح لك كيفية إنشاء نقطة مصورة في شريحة: - +يعرض هذا الكود بلغة C# كيفية إنشاء نقطة بصورة في شريحة: ```c# using (Presentation pres = new Presentation()) { @@ -126,7 +125,7 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.Picture.Image = image; paragraph.ParagraphFormat.Indent = 15; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "نصي"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); @@ -136,24 +135,24 @@ using (Presentation pres = new Presentation()) } ``` -## إنشاء النقاط متعددة المستويات -لإنشاء قائمة نقطية تحتوي على عناصر على مستويات مختلفة—قوائم إضافية تحت القائمة النقطية الرئيسية—اتبع هذه الخطوات: +## **إنشاء نقاط متعددة المستويات** -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +لإنشاء قائمة نقطية تحتوي على عناصر بمستويات مختلفة — قوائم إضافية تحت القائمة النقطية الرئيسية — اتبع الخطوات التالية: + +1. إنشاء كائن من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. الوصول إلى الشريحة المطلوبة في مجموعة الشرائح باستخدام كائن [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). -3. إضافة [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) في الشريحة المحددة. +3. إضافة [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) إلى الشريحة المحددة. 4. الوصول إلى [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) للشكل المضاف. 5. إزالة الفقرة الافتراضية في [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. إنشاء مثيل من الفقرة الأولى باستخدام فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) مع تعيين العمق على 0. -7. إنشاء مثيل من الفقرة الثانية باستخدام فئة Paragraph وتعليم العمق على 1. -8. إنشاء مثيل من الفقرة الثالثة باستخدام فئة Paragraph وتعليم العمق على 2. -9. إنشاء مثيل من الفقرة الرابعة باستخدام فئة Paragraph وتعليم العمق على 3. -10. إضافة الفقرات التي تم إنشاؤها في مجموعة الفقرات في [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +6. إنشاء أول كائن فقرة باستخدام الفئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) وتعيين العمق إلى 0. +7. إنشاء الفقرة الثانية باستخدام الفئة Paragraph وتعيين العمق إلى 1. +8. إنشاء الفقرة الثالثة باستخدام الفئة Paragraph وتعيين العمق إلى 2. +9. إنشاء الفقرة الرابعة باستخدام الفئة Paragraph وتعيين العمق إلى 3. +10. إضافة الفقرات التي تم إنشاؤها إلى مجموعة فقرات [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). 11. حفظ العرض التقديمي. -هذا الكود، الذي هو تنفيذ للخطوات السابقة، يوضح لك كيفية إنشاء قائمة نقطية متعددة المستويات بلغة C#: - +يعرض هذا الكود، الذي هو تنفيذ للخطوات أعلاه، كيفية إنشاء قائمة نقطية متعددة المستويات بلغة C#: ```c# using (Presentation pres = new Presentation()) { @@ -164,32 +163,32 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Depth = 0; - paragraph.Text = "نصي عمق 0"; + paragraph.Text = "My text Depth 0"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); - paragraph2.ParagraphFormat.Depth = 1; - paragraph2.Text = "نصي عمق 1"; + paragraph2.ParagraphFormat.Depth = 0; + paragraph2.Text = "My text Depth 1"; textFrame.Paragraphs.Add(paragraph2); Paragraph paragraph3 = new Paragraph(); paragraph3.ParagraphFormat.Depth = 2; - paragraph3.Text = "نصي عمق 2"; + paragraph3.Text = "My text Depth 2"; textFrame.Paragraphs.Add(paragraph3); Paragraph paragraph4 = new Paragraph(); paragraph4.ParagraphFormat.Depth = 3; - paragraph4.Text = "نصي عمق 3"; + paragraph4.Text = "My text Depth 3"; textFrame.Paragraphs.Add(paragraph4); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## إنشاء أرقام -هذا الكود بلغة C# يوضح لك كيفية إنشاء قائمة مرقمة في شريحة: +## **إنشاء أعداد** +يعرض هذا الكود بلغة C# كيفية إنشاء قائمة مرقمة في شريحة: ```c# using (Presentation pres = new Presentation()) { @@ -200,16 +199,31 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph.Text = "نصي 1"; + paragraph.Text = "My text 1"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph2.Text = "نصي 2"; + paragraph2.Text = "My text 2"; textFrame.Paragraphs.Add(paragraph2); // ... pres.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**هل يمكن تصدير القوائم النقطية والمرقمة التي تم إنشاؤها باستخدام Aspose.Slides إلى تنسيقات أخرى مثل PDF أو الصور؟** + +نعم، يحافظ Aspose.Slides بالكامل على تنسيق وهيكل القوائم النقطية والمرقمة عند تصدير العروض التقديمية إلى تنسيقات مثل PDF أو الصور وغيرها، مما يضمن نتائج متسقة. + +**هل يمكن استيراد القوائم النقطية أو المرقمة من عروض تقديمية موجودة؟** + +نعم، يتيح لك Aspose.Slides استيراد وتحرير القوائم النقطية أو المرقمة من عروض تقديمية موجودة مع الحفاظ على تنسيقها ومظهرها الأصلي. + +**هل يدعم Aspose.Slides القوائم النقطية والمرقمة في العروض التقديمية التي تم إنشاؤها بعدة لغات؟** + +نعم، يدعم Aspose.Slides بالكامل العروض التقديمية متعددة اللغات، مما يتيح لك إنشاء القوائم النقطية والمرقمة بأي لغة، بما في ذلك استخدام الأحرف الخاصة أو غير اللاتينية. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md b/ar/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md index ee092cd101..b357f50bf0 100644 --- a/ar/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md @@ -1,60 +1,66 @@ --- -title: إدارة فقرة PowerPoint في C# +title: إدارة فقرات PowerPoint في C# type: docs weight: 40 url: /ar/net/manage-paragraph/ -keywords: -- إضافة فقرة +keywords: +- إضافة نص +- إضافة فقرات +- إدارة النص - إدارة الفقرات -- مسافة الفقرة +- مسافة البادئة للفقرة +- نقطة الفقرة +- قائمة مرقمة - خصائص الفقرة -- نص HTML -- تصدير نص الفقرة +- استيراد HTML +- نص إلى HTML +- فقرة إلى HTML +- فقرات إلى صور +- تصدير الفقرات - عرض PowerPoint - C# - Csharp - Aspose.Slides لـ .NET -description: "إنشاء وإدارة فقرة ونص ومسافة وخصائص في عروض PowerPoint في C# أو .NET" +description: "إنشاء فقرات وإدارة خصائص الفقرة في عروض PowerPoint التقديمية باستخدام C# أو .NET" --- -توفر Aspose.Slides جميع الواجهات والفئات التي تحتاجها للعمل مع نصوص PowerPoint وفقرات وأجزاء في C#. +توفر Aspose.Slides جميع الواجهات والفئات التي تحتاجها للعمل مع نصوص PowerPoint والفقرات والأجزاء في C#. -* توفر Aspose.Slides واجهة [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) للسماح لك بإضافة كائنات تمثل فقرة. يمكن أن يحتوي كائن `ITextFame` على فقرة واحدة أو أكثر (كل فقرة يتم إنشاؤها من خلال إرجاع خط). -* توفر Aspose.Slides واجهة [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) للسماح لك بإضافة كائنات تمثل أجزاء. يمكن أن يحتوي كائن `IParagraph` على جزء واحد أو أكثر (مجموعة من كائنات iPortions). -* توفر Aspose.Slides واجهة [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) للسماح لك بإضافة كائنات تمثل نصوص وخصائص تنسيقها. +* توفر Aspose.Slides الواجهة [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) للسماح لك بإضافة كائنات تمثل فقرة. يمكن لكائن `ITextFame` أن يحتوي على فقرة واحدة أو عدة فقرات (كل فقرة تُنشأ عبر عودة سطر). +* توفر Aspose.Slides الواجهة [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) للسماح لك بإضافة كائنات تمثل أجزاء. يمكن لكائن `IParagraph` أن يحتوي على جزء واحد أو عدة أجزاء (مجموعة من كائنات iPortions). +* توفر Aspose.Slides الواجهة [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) للسماح لك بإضافة كائنات تمثل نصوصًا وخصائص تنسيقها. -يمكن أن يتعامل كائن `IParagraph` مع نصوص ذات خصائص تنسيق مختلفة من خلال كائناته الفرعية `IPortion`. +كائن `IParagraph` قادر على معالجة نصوص ذات خصائص تنسيق مختلفة من خلال كائنات `IPortion` التحتية الخاصة به. -## **إضافة فقرات متعددة تحتوي على أجزاء متعددة** +## **Add Multiple Paragraph Containing Multiple Portions** -تظهر لك هذه الخطوات كيفية إضافة إطار نصي يحتوي على 3 فقرات وكل فقرة تحتوي على 3 أجزاء: +توضح هذه الخطوات كيفية إضافة إطار نص يحتوي على 3 فقرات، وكل فقرة تحتوي على 3 أجزاء: -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. الوصول إلى مرجع الشريحة ذات الصلة من خلال فهرسها. +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. الوصول إلى مرجع الشريحة ذات الصلة عبر الفهرس الخاص بها. 3. إضافة شكل مستطيل [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) إلى الشريحة. -4. احصل على ITextFrame المرتبط بـ [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). -5. إنشاء كائنين [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) وإضافتهما إلى مجموعة `IParagraphs` من [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). -6. إنشاء ثلاثة كائنات [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) لكل `IParagraph` جديدة (كائنان Portion لفقرة افتراضية) وإضافة كل كائن `IPortion` إلى مجموعة IPortion لكل `IParagraph`. -7. تعيين نص لبعض الأجزاء. -8. تطبيق ميزات التنسيق المفضلة لديك على كل جزء باستخدام خصائص التنسيق المعروضة بواسطة كائن `IPortion`. -9. حفظ العرض المعدل. - -هذا الشيفرة C# هي تطبيق للخطوات لإضافة فقرات تحتوي على أجزاء: - +4. الحصول على ITextFrame المرتبط بـ [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +5. إنشاء كائنين [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) وإضافتهما إلى مجموعة `IParagraphs` الخاصة بـ [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +6. إنشاء ثلاثة كائنات [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) لكل `IParagraph` جديد (كائنين Portion للفقرة الافتراضية) وإضافة كل كائن `IPortion` إلى مجموعة IPortion الخاصة بكل `IParagraph`. +7. تعيين نص لكل جزء. +8. تطبيق ميزات التنسيق المفضلة على كل جزء باستخدام خصائص التنسيق التي توفرها كائنات `IPortion`. +9. حفظ العرض التقديمي المعدل. + +هذا الكود C# هو تنفيذ للخطوات الخاصة بإضافة فقرات تحتوي على أجزاء: ```c# -// يقوم بإنشاء مثيل لفئة Presentation التي تمثل ملف PPTX +// ينشئ فئة Presentation التي تمثل ملف PPTX using (Presentation pres = new Presentation()) { - // الوصول إلى الشريحة الأولى + // يصل إلى الشريحة الأولى ISlide slide = pres.Slides[0]; - // إضافة شكل مستطيل IAutoShape + // يضيف IAutoShape شكل مستطيل IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 150, 300, 150); - // الوصول إلى إطار نص الآوتوشيب + // يصل إلى TextFrame للـ AutoShape ITextFrame tf = ashp.TextFrame; - // إنشاء فقرات وأجزاء بتنسيقات نص مختلفة + // ينشئ فقرات وأجزاء بصيغ نصية مختلفة IParagraph para0 = tf.Paragraphs[0]; IPortion port01 = new Portion(); IPortion port02 = new Portion(); @@ -98,294 +104,297 @@ using (Presentation pres = new Presentation()) tf.Paragraphs[i].Portions[j].PortionFormat.FontHeight = 18; } } - // حفظ العرض المعدل + // يحفظ العرض التقديمي المعدل pres.Save("multiParaPort_out.pptx", SaveFormat.Pptx); - } ``` -## **إدارة نقاط الفقرة** -تساعد قوائم النقاط على تنظيم وتقديم المعلومات بسرعة وكفاءة. الفقرات المرقمة دائما أسهل في القراءة والفهم. - -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. الوصول إلى مرجع الشريحة ذات الصلة من خلال فهرسها. -3. إضافة [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) إلى الشريحة المحددة. -4. الوصول إلى [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) للشكل الآوتوشيب. -5. إزالة الفقرة الافتراضية في `TextFrame`. -6. إنشاء مثيل الفقرة الأولى باستخدام فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). -7. تعيين نوع الفقرة `Type` ليكون `Symbol` وتعيين رمز الفقرة. -8. تعيين نص الفقرة `Text`. -9. تعيين `Indent` الفقرة للنقطة. -10. تعيين لون للنقطة. -11. تعيين ارتفاع للنقطة. -12. إضافة الفقرة الجديدة إلى مجموعة فقرات `TextFrame`. -13. إضافة الفقرة الثانية وتكرار العملية الموضحة في الخطوات من 7 إلى 13. -14. حفظ العرض. - -هذا الشيفرة C# تظهر لك كيفية إضافة نقطة فقرة: - -```c# -// يقوم بإنشاء مثيل لفئة Presentation التي تمثل ملف PPTX -using (Presentation pres = new Presentation()) -{ - - // الوصول إلى الشريحة الأولى - ISlide slide = pres.Slides[0]; - - - // إضافة والوصول إلى Autoshape - IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - - // الوصول إلى إطار نص الآوتوشيب - ITextFrame txtFrm = aShp.TextFrame; - - // إزالة الفقرة الافتراضية - txtFrm.Paragraphs.RemoveAt(0); - // إنشاء فقرة - Paragraph para = new Paragraph(); +## **Manage Paragraph Bullets** - // تعيين نمط الفقرة ورمزها - para.ParagraphFormat.Bullet.Type = BulletType.Symbol; - para.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); +تساعد القوائم النقطية في تنظيم وعرض المعلومات بسرعة وفعالية. الفقرات النقطية دائمًا ما تكون أسهل في القراءة والفهم. - // تعيين نص الفقرة - para.Text = "مرحبًا بك في Aspose.Slides"; - - // تعيين مسافة النقطة - para.ParagraphFormat.Indent = 25; - - // تعيين لون النقطة - para.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; - para.ParagraphFormat.Bullet.Color.Color = Color.Black; - para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // تعيين IsBulletHardColor إلى true لاستخدام لون النقطة الخاص - - // تعيين ارتفاع النقطة - para.ParagraphFormat.Bullet.Height = 100; - - // إضافة الفقرة إلى إطار النص - txtFrm.Paragraphs.Add(para); - - // إنشاء الفقرة الثانية - Paragraph para2 = new Paragraph(); - - // تعيين نوع ونمط الفقرة - para2.ParagraphFormat.Bullet.Type = BulletType.Numbered; - para2.ParagraphFormat.Bullet.NumberedBulletStyle = NumberedBulletStyle.BulletCircleNumWDBlackPlain; - - // إضافة نص الفقرة - para2.Text = "هذه نقطة مرقمة"; - - // تعيين مسافة النقطة - para2.ParagraphFormat.Indent = 25; - - para2.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; - para2.ParagraphFormat.Bullet.Color.Color = Color.Black; - para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // تعيين IsBulletHardColor إلى true لاستخدام لون النقطة الخاص - - // تعيين ارتفاع النقطة - para2.ParagraphFormat.Bullet.Height = 100; - - // إضافة الفقرة إلى إطار النص - txtFrm.Paragraphs.Add(para2); +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. الوصول إلى مرجع الشريحة ذات الصلة عبر الفهرس الخاص بها. +3. إضافة [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) إلى الشريحة المختارة. +4. الوصول إلى `TextFrame` الخاص بالـ autoshape عبر [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/). +5. إزالة الفقرة الافتراضية في `TextFrame`. +6. إنشاء أول مثال للفقرة باستخدام فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). +8. ضبط `Type` للرصاصة للفقرة إلى `Symbol` وتعيين حرف الرصاصة. +9. ضبط نص الفقرة. +10. ضبط `Indent` للرصاصة. +11. تعيين لون للرصاصة. +12. تعيين ارتفاع للرصاصة. +13. إضافة الفقرة الجديدة إلى مجموعة فقرات `TextFrame`. +14. إضافة الفقرة الثانية وتكرار العملية المذكورة في الخطوات من 7 إلى 13. +15. حفظ العرض التقديمي. +هذا الكود C# يوضح كيفية إضافة رصاصة للفقرة: +```c# + // ينشئ فئة Presentation التي تمثل ملف PPTX + using (Presentation pres = new Presentation()) + { + + // يصل إلى الشريحة الأولى + ISlide slide = pres.Slides[0]; + + + // يضيف الشكل التلقائي ويصل إليه + IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); + + // يصل إلى إطار النص للـ AutoShape + ITextFrame txtFrm = aShp.TextFrame; + + // يزيل الفقرة الافتراضية + txtFrm.Paragraphs.RemoveAt(0); + + // ينشئ فقرة + Paragraph para = new Paragraph(); + + // يضبط نمط نقطة الفقرة والرمز + para.ParagraphFormat.Bullet.Type = BulletType.Symbol; + para.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); + + // يضبط نص الفقرة + para.Text = "Welcome to Aspose.Slides"; + + // يضبط إزاحة النقطة + para.ParagraphFormat.Indent = 25; + + // يضبط لون النقطة + para.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; + para.ParagraphFormat.Bullet.Color.Color = Color.Black; + para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // تعيين IsBulletHardColor إلى true لاستخدام لون النقطة الخاص + + // يضبط ارتفاع النقطة + para.ParagraphFormat.Bullet.Height = 100; + + // يضيف الفقرة إلى إطار النص + txtFrm.Paragraphs.Add(para); + + // ينشئ الفقرة الثانية + Paragraph para2 = new Paragraph(); + + // يضبط نوع ونمط نقطة الفقرة + para2.ParagraphFormat.Bullet.Type = BulletType.Numbered; + para2.ParagraphFormat.Bullet.NumberedBulletStyle = NumberedBulletStyle.BulletCircleNumWDBlackPlain; + + // يضيف نص الفقرة + para2.Text = "This is numbered bullet"; + + // يضبط إزاحة النقطة + para2.ParagraphFormat.Indent = 25; + + para2.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; + para2.ParagraphFormat.Bullet.Color.Color = Color.Black; + para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // تعيين IsBulletHardColor إلى true لاستخدام لون النقطة الخاص + + // يضبط ارتفاع النقطة + para2.ParagraphFormat.Bullet.Height = 100; + + // يضيف الفقرة إلى إطار النص + txtFrm.Paragraphs.Add(para2); + + + // يحفظ العرض التقديمي المعدل + pres.Save("Bullet_out.pptx", SaveFormat.Pptx); + + } +``` - // حفظ العرض المعدل - pres.Save("Bullet_out.pptx", SaveFormat.Pptx); -} -``` +## **Manage Picture Bullets** -## **إدارة نقاط الصورة** -تساعد قوائم النقاط على تنظيم وتقديم المعلومات بسرعة وكفاءة. الفقرات المصورة سهلة القراءة والفهم. +تساعد القوائم النقطية في تنظيم وعرض المعلومات بسرعة وفعالية. فقرات الصور سهلة القراءة والفهم. -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. الوصول إلى مرجع الشريحة ذات الصلة من خلال فهرسها. +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. الوصول إلى مرجع الشريحة ذات الصلة عبر الفهرس الخاص بها. 3. إضافة [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) إلى الشريحة. -4. الوصول إلى [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) للشكل الآوتوشيب. +4. الوصول إلى `TextFrame` الخاص بالـ autoshape عبر [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/). 5. إزالة الفقرة الافتراضية في `TextFrame`. -6. إنشاء مثيل الفقرة الأولى باستخدام فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). -7. تحميل الصورة في [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/). -8. تعيين نوع النقطة إلى [Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) وتعيين الصورة. -9. تعيين نص الفقرة `Text`. -10. تعيين `Indent` الفقرة للنقطة. -11. تعيين لون للنقطة. -12. تعيين ارتفاع للنقطة. +6. إنشاء أول مثال للفقرة باستخدام فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). +7. تحميل الصورة عبر [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/). +8. ضبط نوع الرصاصة إلى [Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) وتعيين الصورة. +9. ضبط نص الفقرة. +10. ضبط `Indent` للرصاصة. +11. تعيين لون للرصاصة. +12. ضبط ارتفاع للرصاصة. 13. إضافة الفقرة الجديدة إلى مجموعة فقرات `TextFrame`. 14. إضافة الفقرة الثانية وتكرار العملية بناءً على الخطوات السابقة. -15. حفظ العرض المعدل. - -هذا الشيفرة C# تظهر لك كيفية إضافة وإدارة نقاط الصورة: +15. حفظ العرض التقديمي المعدل. +هذا الكود C# يوضح كيفية إضافة وإدارة رصاصات الصور: ```c# -// يقوم بإنشاء مثيل لفئة Presentation التي تمثل ملف PPTX +// ينشئ فئة Presentation التي تمثل ملف PPTX Presentation presentation = new Presentation(); -// الوصول إلى الشريحة الأولى +// يصل إلى الشريحة الأولى ISlide slide = presentation.Slides[0]; -// يقوم بإنشاء الصورة للنقاط +// ينشئ الصورة للنقاط IImage image = Images.FromFile("bullets.png"); IPPImage ippxImage = presentation.Images.AddImage(image); image.Dispose(); -// إضافة والوصول إلى Autoshape +// يضيف الشكل التلقائي ويصل إليه IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); -// الوصول إلى إطار النص الآوتوشيب +// يصل إلى إطار النص للـ autoshape ITextFrame textFrame = autoShape.TextFrame; -// إزالة الفقرة الافتراضية +// يزيل الفقرة الافتراضية textFrame.Paragraphs.RemoveAt(0); -// إنشاء فقرة جديدة +// ينشئ فقرة جديدة Paragraph paragraph = new Paragraph(); -paragraph.Text = "مرحبًا بك في Aspose.Slides"; +paragraph.Text = "Welcome to Aspose.Slides"; -// تعيين نمط الفقرة ورمز الصورة +// يضبط نمط نقطة الفقرة والصورة paragraph.ParagraphFormat.Bullet.Type = BulletType.Picture; paragraph.ParagraphFormat.Bullet.Picture.Image = ippxImage; -// تعيين ارتفاع النقطة +// يضبط ارتفاع النقطة paragraph.ParagraphFormat.Bullet.Height = 100; -// إضافة الفقرة إلى إطار النص +// يضيف الفقرة إلى إطار النص textFrame.Paragraphs.Add(paragraph); -// كتابة العرض كملف PPTX +// يكتب العرض التقديمي كملف PPTX presentation.Save("ParagraphPictureBulletsPPTX_out.pptx", SaveFormat.Pptx); -// كتابة العرض كملف PPT +// يكتب العرض التقديمي كملف PPT presentation.Save("ParagraphPictureBulletsPPT_out.ppt", SaveFormat.Ppt); ``` -## **إدارة النقاط متعددة المستويات** -تساعد قوائم النقاط على تنظيم وتقديم المعلومات بسرعة وكفاءة. النقاط متعددة المستويات سهلة القراءة والفهم. -1. إنشاء مثيل من فئة [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)class. -2. الوصول إلى مرجع الشريحة ذات الصلة من خلال فهرسها. +## **Manage Multilevel Bullets** + +تساعد القوائم النقطية في تنظيم وعرض المعلومات بسرعة وفعالية. الرصاصات المتدرجة سهولة القراءة والفهم. + +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)class. +2. الوصول إلى مرجع الشريحة ذات الصلة عبر الفهرس الخاص بها. 3. إضافة [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) في الشريحة الجديدة. -4. الوصول إلى [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) للشكل الآوتوشيب. +4. الوصول إلى `TextFrame` الخاص بالـ autoshape عبر [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/). 5. إزالة الفقرة الافتراضية في `TextFrame`. -6. إنشاء مثيل الفقرة الأولى من خلال فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) وتعيين العمق إلى 0. -7. إنشاء مثيل الفقرة الثانية من خلال فئة `Paragraph` وتعيين العمق إلى 1. -8. إنشاء مثيل الفقرة الثالثة من خلال فئة `Paragraph` وتعيين العمق إلى 2. -9. إنشاء مثيل الفقرة الرابعة من خلال فئة `Paragraph` وتعيين العمق إلى 3. +6. إنشاء أول مثال للفقرة عبر فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) وضبط العمق إلى 0. +7. إنشاء المثال الثاني للفقرة عبر فئة `Paragraph` وضبط العمق إلى 1. +8. إنشاء المثال الثالث للفقرة عبر فئة `Paragraph` وضبط العمق إلى 2. +9. إنشاء المثال الرابع للفقرة عبر فئة `Paragraph` وضبط العمق إلى 3. 10. إضافة الفقرات الجديدة إلى مجموعة فقرات `TextFrame`. -11. حفظ العرض المعدل. - -هذا الشيفرة C# تظهر لك كيفية إضافة وإدارة النقاط متعددة المستويات: +11. حفظ العرض التقديمي المعدل. +هذا الكود C# يوضح كيفية إضافة وإدارة الرصاصات المتدرجة: ```c# -// يقوم بإنشاء مثيل لفئة Presentation التي تمثل ملف PPTX +// ينشئ فئة Presentation التي تمثل ملف PPTX using (Presentation pres = new Presentation()) { - // الوصول إلى الشريحة الأولى + // يصل إلى الشريحة الأولى ISlide slide = pres.Slides[0]; - // إضافة والوصول إلى Autoshape + // يضيف الشكل التلقائي ويصل إليه IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // الوصول إلى إطار النص للشكل الآوتوشيب الذي تم إنشاؤه + // يصل إلى إطار النص للشكل التلقائي المُنشأ ITextFrame text = aShp.AddTextFrame(""); - // مسح الفقرة الافتراضية + // يمسح الفقرة الافتراضية text.Paragraphs.Clear(); - // إضافة الفقرة الأولى + // يضيف الفقرة الأولى IParagraph para1 = new Paragraph(); - para1.Text = "المحتوى"; + para1.Text = "Content"; para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para1.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // تعيين مستوى النقطة + // يحدد مستوى الرصاصة para1.ParagraphFormat.Depth = 0; - // إضافة الفقرة الثانية + // يضيف الفقرة الثانية IParagraph para2 = new Paragraph(); - para2.Text = "المستوى الثاني"; + para2.Text = "Second Level"; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = '-'; para2.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para2.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // تعيين مستوى النقطة + // يحدد مستوى الرصاصة para2.ParagraphFormat.Depth = 1; - // إضافة الفقرة الثالثة + // يضيف الفقرة الثالثة IParagraph para3 = new Paragraph(); - para3.Text = "المستوى الثالث"; + para3.Text = "Third Level"; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para3.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para3.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // تعيين مستوى النقطة + // يحدد مستوى الرصاصة para3.ParagraphFormat.Depth = 2; - // إضافة الفقرة الرابعة + // يضيف الفقرة الرابعة IParagraph para4 = new Paragraph(); - para4.Text = "المستوى الرابع"; + para4.Text = "Fourth Level"; para4.ParagraphFormat.Bullet.Type = BulletType.Symbol; para4.ParagraphFormat.Bullet.Char = '-'; para4.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para4.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // تعيين مستوى النقطة + // يحدد مستوى الرصاصة para4.ParagraphFormat.Depth = 3; - // إضافة الفقرات إلى المجموعة + // يضيف الفقرات إلى المجموعة text.Paragraphs.Add(para1); text.Paragraphs.Add(para2); text.Paragraphs.Add(para3); text.Paragraphs.Add(para4); - // كتابة العرض كملف PPTX + // يكتب العرض التقديمي كملف PPTX pres.Save("MultilevelBullet.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **إدارة الفقرة مع قائمة مرقمة مخصصة** -توفر واجهة [IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) خاصية [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) وغيرها التي تتيح لك إدارة الفقرات مع ترقيم أو تنسيق مخصص. -1. إنشاء مثيل من فئة [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)class. +## **Manage Paragraph with Custom Numbered List** + +توفر الواجهة [IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) الخاصية [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) وغيرها التي تتيح لك إدارة الفقرات القابلة للترقيم المخصص أو التنسيق. + +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)class. 2. الوصول إلى الشريحة التي تحتوي على الفقرة. 3. إضافة [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) إلى الشريحة. -4. الوصول إلى [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) للشكل الآوتوشيب. +4. الوصول إلى `TextFrame` للـ autoshape عبر [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/). 5. إزالة الفقرة الافتراضية في `TextFrame`. -6. إنشاء المثيل الأول للفقرة من خلال فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) وتعيين [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) إلى 2. -7. إنشاء المثيل الثاني للفقرة من خلال فئة `Paragraph` وتعيين `NumberedBulletStartWith` إلى 3. -8. إنشاء المثيل الثالث للفقرة من خلال فئة `Paragraph` وتعيين `NumberedBulletStartWith` إلى 7. +6. إنشاء أول مثال للفقرة عبر فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) وضبط [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) إلى 2. +7. إنشاء المثال الثاني للفقرة عبر فئة `Paragraph` وضبط `NumberedBulletStartWith` إلى 3. +8. إنشاء المثال الثالث للفقرة عبر فئة `Paragraph` وضبط `NumberedBulletStartWith` إلى 7. 9. إضافة الفقرات الجديدة إلى مجموعة فقرات `TextFrame`. -10. حفظ العرض المعدل. - -هذا الشيفرة C# تظهر لك كيفية إضافة وإدارة الفقرات مع ترقيم أو تنسيق مخصص: +10. حفظ العرض التقديمي المعدل. +هذا الكود C# يوضح كيفية إضافة وإدارة فقرات ذات ترقيم مخصص أو تنسيق: ```c# using (var presentation = new Presentation()) { var shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // الوصول إلى إطار النص للشكل الآوتوشيب الذي تم إنشاؤه + // يصل إلى إطار النص للشكل التلقائي المُنشأ ITextFrame textFrame = shape.TextFrame; - // إزالة الفقرة الافتراضية الموجودة + // يزيل الفقرة الافتراضية الموجودة textFrame.Paragraphs.RemoveAt(0); // القائمة الأولى - var paragraph1 = new Paragraph { Text = "نقطة 2" }; + var paragraph1 = new Paragraph { Text = "bullet 2" }; paragraph1.ParagraphFormat.Depth = 4; paragraph1.ParagraphFormat.Bullet.NumberedBulletStartWith = 2; paragraph1.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph1); - var paragraph2 = new Paragraph { Text = "نقطة 3" }; + var paragraph2 = new Paragraph { Text = "bullet 3" }; paragraph2.ParagraphFormat.Depth = 4; paragraph2.ParagraphFormat.Bullet.NumberedBulletStartWith = 3; paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph2); - var paragraph5 = new Paragraph { Text = "نقطة 7" }; + var paragraph5 = new Paragraph { Text = "bullet 7" }; paragraph5.ParagraphFormat.Depth = 4; paragraph5.ParagraphFormat.Bullet.NumberedBulletStartWith = 7; paragraph5.ParagraphFormat.Bullet.Type = BulletType.Numbered; @@ -395,40 +404,41 @@ using (var presentation = new Presentation()) } ``` -## **تعيين مسافة الفقرة** -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. الوصول إلى مرجع الشريحة ذات الصلة من خلال فهرسها. + +## **Set Paragraph Indent** + +1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. الوصول إلى مرجع الشريحة ذات الصلة عبر الفهرس الخاص بها. 1. إضافة شكل مستطيل [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) إلى الشريحة. -1. إضافة [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) مع ثلاث فقرات إلى الشكل المستطيل. +1. إضافة [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) يحتوي على ثلاث فقرات إلى الشكل المستطيل. 1. إخفاء خطوط المستطيل. -1. تعيين المسافة لكل [فقرة](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) من خلال خاصية BulletOffset. -1. كتابة العرض المعدل كملف PPT. - -هذا الشيفرة C# تظهر لك كيفية تعيين مسافة الفقرة: +1. ضبط المسافة البادئة لكل [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) عبر خاصية BulletOffset الخاصة بها. +1. كتابة العرض التقديمي المعدل كملف PPT. +هذا الكود C# يوضح كيفية ضبط مسافة بادئة للفقرة: ```c# -// يقوم بإنشاء مثيل لفئة Presentation +// إنشاء فئة Presentation Presentation pres = new Presentation(); -// يحصل على الشريحة الأولى +// الحصول على الشريحة الأولى ISlide sld = pres.Slides[0]; -// يضيف شكل مستطيل +// إضافة شكل مستطيل IAutoShape rect = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 500, 150); -// يضيف إطار نص إلى الشكل المستطيل -ITextFrame tf = rect.AddTextFrame("هذه هي السطر الأول \rهذه هي السطر الثاني \rهذه هي السطر الثالث"); +// إضافة TextFrame إلى المستطيل +ITextFrame tf = rect.AddTextFrame("This is first line \rThis is second line \rThis is third line"); -// يضبط النص ليتناسب مع الشكل +// ضبط النص ليتناسب مع الشكل tf.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// يخفي خطوط الشكل المستطيل +// إخفاء خطوط المستطيل rect.LineFormat.FillFormat.FillType = FillType.Solid; -// يحصل على الفقرة الأولى في إطار النص ويعين مسافتها +// الحصول على الفقرة الأولى في TextFrame وتعيين إزاحة البادئة لها IParagraph para1 = tf.Paragraphs[0]; -// تعيين نمط الفقرة ورمزها +// ضبط نمط نقطة الفقرة والرمز para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.Alignment = TextAlignment.Left; @@ -436,7 +446,7 @@ para1.ParagraphFormat.Alignment = TextAlignment.Left; para1.ParagraphFormat.Depth = 2; para1.ParagraphFormat.Indent = 30; -// يحصل على الفقرة الثانية في إطار النص ويعين مسافتها +// الحصول على الفقرة الثانية في TextFrame وتعيين إزاحة البادئة لها IParagraph para2 = tf.Paragraphs[1]; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -444,7 +454,7 @@ para2.ParagraphFormat.Alignment = TextAlignment.Left; para2.ParagraphFormat.Depth = 2; para2.ParagraphFormat.Indent = 40; -// يحصل على الفقرة الثالثة في إطار النص ويعين مسافتها +// الحصول على الفقرة الثالثة في TextFrame وتعيين إزاحة البادئة لها IParagraph para3 = tf.Paragraphs[2]; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -452,65 +462,37 @@ para3.ParagraphFormat.Alignment = TextAlignment.Left; para3.ParagraphFormat.Depth = 2; para3.ParagraphFormat.Indent = 50; -// يكتب العرض إلى القرص +// حفظ العرض التقديمي إلى القرص pres.Save("InOutDent_out.pptx", SaveFormat.Pptx); ``` -## **تعيين المسافة المعلقة للفقرة** - -هذا الشيفرة C# تظهر لك كيفية تعيين المسافة المعلقة لفقرة: - -```c# -using (Presentation pres = new Presentation()) -{ - var autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 250, 550, 150); - Paragraph para1 = new Paragraph - { - Text = "مثال" - }; - Paragraph para2 = new Paragraph - { - Text = "تعيين المسافة المعلقة للفقرة" - }; - Paragraph para3 = new Paragraph - { - Text = "هذه الشيفرة C# تظهر لك كيفية تعيين المسافة المعلقة للفقرة: " - }; +## **Set Hanging Indent for Paragraph** - para2.ParagraphFormat.MarginLeft = 10f; - para3.ParagraphFormat.MarginLeft = 20f; - - autoShape.TextFrame.Paragraphs.Add(para1); - autoShape.TextFrame.Paragraphs.Add(para2); - autoShape.TextFrame.Paragraphs.Add(para3); - - pres.Save("pres.pptx", SaveFormat.Pptx); -} -``` +هذا الكود C# يوضح كيفية ضبط المسافة البادئة المتدلية للفقرة: +{{301b7441-c12f-4011-a0a9-e08c4ced703}} -## **إدارة خصائص انتهاء الفقرة لكل فقرة** +## **Manage End Paragraph Run Properties for Paragraph** -1. إنشاء مثيل من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -1. احصل على مرجع للشريحة التي تحتوي على الفقرة من خلال موقعها. +1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. الحصول على مرجع الشريحة التي تحتوي على الفقرة عبر موضعها. 1. إضافة شكل مستطيل [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) إلى الشريحة. -1. إضافة [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) مع فقرتين إلى الشكل المستطيل. -1. تعيين `FontHeight` ونوع الخط إلى الفقرات. -1. تعيين خصائص النهاية للفقرات. -1. كتابة العرض المعدل كملف PPTX. - -هذا الشيفرة C# تظهر لك كيفية تعيين خصائص النهاية للفقرات في PowerPoint: +1. إضافة [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) يحتوي على فقرتين إلى المستطيل. +1. ضبط `FontHeight` ونوع الخط للفقرات. +1. ضبط خصائص End للفقرات. +1. كتابة العرض التقديمي المعدل كملف PPTX. +هذا الكود C# يوضح كيفية ضبط خصائص End للفقرات في PowerPoint: ```c# using (Presentation pres = new Presentation("Test.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 200, 250); Paragraph para1 = new Paragraph(); - para1.Portions.Add(new Portion("نص تجريبي")); + para1.Portions.Add(new Portion("Sample text")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("نص تجريبي 2")); + para2.Portions.Add(new Portion("Sample text 2")); PortionFormat endParagraphPortionFormat = new PortionFormat(); endParagraphPortionFormat.FontHeight = 48; endParagraphPortionFormat.LatinFont = new FontData("Times New Roman"); @@ -523,81 +505,193 @@ using (Presentation pres = new Presentation("Test.pptx")) } ``` -## **استيراد نص HTML إلى الفقرات** -توفر Aspose.Slides دعمًا محسّنًا لاستيراد نص HTML إلى الفقرات. -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -2. الوصول إلى مرجع الشريحة ذات الصلة من خلال فهرسها. +## **Import HTML Text into Paragraphs** + +توفر Aspose.Slides دعمًا محسّنًا لاستيراد نصوص HTML إلى الفقرات. + +1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. الوصول إلى مرجع الشريحة ذات الصلة عبر الفهرس الخاص بها. 3. إضافة [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) إلى الشريحة. -4. إضافة والوصول إلى `autoshape` [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/). +4. إضافة والوصول إلى `autoshape` عبر [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/). 5. إزالة الفقرة الافتراضية في `ITextFrame`. -6. قراءة ملف HTML المصدر في TextReader. -7. إنشاء المثيل الأول للفقرة من خلال فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) class. -8. إضافة محتوى ملف HTML المقروء في TextReader إلى [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) في TextFrame. -9. حفظ العرض المعدل. - -هذا الشيفرة C# هي تطبيق للخطوات لاستيراد نصوص HTML في الفقرات: +6. قراءة ملف HTML المصدر في كائن TextReader. +7. إنشاء أول مثال للفقرة عبر فئة [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). +8. إضافة محتوى ملف HTML المقروء إلى مجموعة [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) الخاصة بـ TextFrame. +9. حفظ العرض التقديمي المعدل. +هذا الكود C# هو تنفيذ للخطوات الخاصة باستيراد نصوص HTML إلى الفقرات: ```c# -// يقوم بإنشاء مثيل عرض فارغ +// ينشئ مثيلًا فارغًا من العرض التقديمي using (Presentation pres = new Presentation()) { - // الوصول إلى الشريحة الأولى الافتراضية للعرض + // يصل إلى الشريحة الأولى الافتراضية في العرض التقديمي ISlide slide = pres.Slides[0]; - // إضافة شكل أوتوشيب لإيواء محتوى HTML + // يضيف الشكل التلقائي لاستضافة محتوى HTML IAutoShape ashape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, pres.SlideSize.Size.Width - 20, pres.SlideSize.Size.Height - 10); ashape.FillFormat.FillType = FillType.NoFill; - // إضافة إطار نص إلى الشكل + // يضيف إطار نص إلى الشكل ashape.AddTextFrame(""); - // مسح جميع الفقرات في إطار النص المضاف + // يمسح جميع الفقرات في إطار النص المضاف ashape.TextFrame.Paragraphs.Clear(); - // تحميل ملف HTML باستخدام قارئ تيار + // يقوم بتحميل ملف HTML باستخدام قارئ تدفق TextReader tr = new StreamReader("file.html"); - // إضافة النص من قراءة التيار HTML إلى إطار النص + // يضيف النص من قارئ تدفق HTML إلى إطار النص ashape.TextFrame.Paragraphs.AddFromHtml(tr.ReadToEnd()); - // حفظ العرض + // يحفظ العرض التقديمي pres.Save("output_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **تصدير نص الفقرات إلى HTML** -توفر Aspose.Slides دعمًا محسّنًا لتصدير النصوص (المحتوى في الفقرات) إلى HTML. -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class وتحميل العرض المطلوب. -2. الوصول إلى مرجع الشريحة ذات الصلة من خلال فهرسها. -3. الوصول إلى الشكل الذي يحتوي على النص الذي سيتم تصديره إلى HTML. -4. الوصول إلى [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) للشكل. -5. إنشاء مثيل من `StreamWriter` وإضافة ملف HTML الجديد. -6. توفير فهرس بدء إلى StreamWriter وتصدير الفقرات المفضلة لديك. +## **Export Paragraphs Text to HTML** -هذا الشيفرة C# تظهر لك كيفية تصدير نص فقرة PowerPoint إلى HTML: +توفر Aspose.Slides دعمًا محسّنًا لتصدير النصوص (الموجودة في الفقرات) إلى HTML. +1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) وتحميل العرض التقديمي المطلوب. +2. الوصول إلى مرجع الشريحة ذات الصلة عبر الفهرس الخاص بها. +3. الوصول إلى الشكل الذي يحتوي على النص الذي سيُصدَّر إلى HTML. +4. الوصول إلى [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) الخاص بالشكل. +5. إنشاء نسخة من `StreamWriter` وإضافة ملف HTML الجديد. +6. توفير فهرس بداية إلى StreamWriter وتصدير الفقرات المفضلة لديك. + +هذا الكود C# يوضح كيفية تصدير نصوص فقرات PowerPoint إلى HTML: ```c# -// يقوم بتحميل ملف العرض +// يحمل ملف العرض التقديمي using (Presentation pres = new Presentation("ExportingHTMLText.pptx")) { - // الوصول إلى الشريحة الأولى الافتراضية للعرض + // يصل إلى الشريحة الأولى الافتراضية في العرض التقديمي ISlide slide = pres.Slides[0]; - // الوصول إلى الفهرس المطلوب + // يصل إلى الفهرس المطلوب int index = 0; - // الوصول إلى الشكل المضاف + // يصل إلى الشكل المضاف IAutoShape ashape = (IAutoShape)slide.Shapes[index]; StreamWriter sw = new StreamWriter("output_out.html", false, Encoding.UTF8); - // كتابة بيانات الفقرات إلى HTML بتحديد فهرس البداية للفقرة وعدد الفقرات التي ستتم نسخها + // يكتب بيانات الفقرات إلى HTML بتحديد فهرس بداية الفقرة وعدد الفقرات التي سيتم نسخها sw.Write(ashape.TextFrame.Paragraphs.ExportToHtml(0, ashape.TextFrame.Paragraphs.Count, null)); sw.Close(); } -``` \ No newline at end of file +``` + + +## **Save a Paragraph as an Image** + +في هذا القسم، سنستعرض مثالين يوضحان كيفية حفظ فقرة نصية، ممثلة بواجهة [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/)، كصورة. يتضمن كلا المثالين الحصول على صورة الشكل الذي يحتوي الفقرة باستخدام طرق `GetImage` من واجهة [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/)، حساب حدود الفقرة داخل الشكل، وتصديرها كصورة bitmap. تسمح هذه الأساليب باستخراج أجزاء محددة من النص من عروض PowerPoint وحفظها كصور منفصلة، مما قد يكون مفيدًا لاستخدامها لاحقًا في سيناريوهات متعددة. + +افترض أن لدينا ملف عرض تقديمي اسمه sample.pptx يحتوي على شريحة واحدة، حيث يكون الشكل الأول مربع نص يحتوي على ثلاث فقرات. + +![The text box with three paragraphs](paragraph_to_image_input.png) + +**Example 1** + +في هذا المثال، نحصل على الفقرة الثانية كصورة. للقيام بذلك، نستخرج صورة الشكل من الشريحة الأولى للعرض التقديمي ثم نحسب حدود الفقرة الثانية داخل إطار النص الخاص بالشكل. تُعاد رسم الفقرة على صورة bitmap جديدة، تُحفظ بصيغة PNG. هذه الطريقة مفيدة عندما تحتاج إلى حفظ فقرة معينة كصورة منفصلة مع الحفاظ على الأبعاد وتنسيق النص بدقة. +```csharp +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap. +using var shapeImage = firstShape.GetImage(); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +النتيجة: + +![The paragraph image](paragraph_to_image_output.png) + +**Example 2** + +في هذا المثال، نوسّع النهج السابق بإضافة عوامل مقياس إلى صورة الفقرة. يتم استخراج الشكل من العرض التقديمي وحفظه كصورة بمعامل مقياس `2`. يتيح ذلك مخرجات بدقة أعلى عند تصدير الفقرة. ثم تُحسب حدود الفقرة مع مراعاة المقياس. يمكن أن يكون المقياس مفيدًا عندما تحتاج إلى صورة أكثر تفصيلًا، على سبيل المثال للاستخدام في مواد مطبوعة عالية الجودة. +```csharp +var imageScaleX = 2f; +var imageScaleY = imageScaleX; + +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// احفظ الشكل في الذاكرة كصورة bitmap مع التحجيم. +using var shapeImage = firstShape.GetImage(ShapeThumbnailBounds.Shape, imageScaleX, imageScaleY); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// إنشاء صورة bitmap للشكل من الذاكرة. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// حساب حدود الفقرة الثانية. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); +paragraphRectangle.X *= imageScaleX; +paragraphRectangle.Y *= imageScaleY; +paragraphRectangle.Width *= imageScaleX; +paragraphRectangle.Height *= imageScaleY; + +// حساب حجم الصورة الناتجة (الحد الأدنى - بكسل واحد 1x1). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// تحضير صورة bitmap للفقرة. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// إعادة رسم الفقرة من صورة bitmap الخاصة بالشكل إلى صورة bitmap الخاصة بالفقرة. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +## **FAQ** + +**Can I completely disable line wrapping inside a text frame?** + +نعم. استخدم إعداد التفاف إطار النص ([WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/wraptext/)) لإيقاف التفاف الأسطر بحيث لا تنكسر عند حواف الإطار. + +**How can I get the exact on-slide bounds of a specific paragraph?** + +يمكنك استرجاع المستطيل الحدودي للفقرة (وحتى للجزء الفردي) لمعرفة موقعها الدقيق وحجمها على الشريحة. + +**Where is paragraph alignment (left/right/center/justify) controlled?** + +يتم التحكم في المحاذاة عبر خاصية [Alignment](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/alignment/) على مستوى الفقرة في [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/); وتطبق على الفقرة بأكملها بغض النظر عن تنسيق الأجزاء الفردية. + +**Can I set a spell-check language for just part of a paragraph (e.g., one word)?** + +نعم. يتم تعيين اللغة على مستوى الجزء عبر [PortionFormat.LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/)، لذا يمكن أن يت coexist عدة لغات داخل فقرة واحدة. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md b/ar/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md index 0125546162..4fbefb81b8 100644 --- a/ar/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md @@ -1,27 +1,26 @@ --- -title: إدارة عنصر نائب +title: إدارة العنصر النائب type: docs weight: 10 url: /ar/net/manage-placeholder/ -keywords: "عنصر نائب, نص العنصر النائب, نص الترويسة, عرض تقديمي في PowerPoint, C#, Csharp, Aspose.Slides for .NET" -description: "تغيير نص العنصر النائب ونص الترويسة في عروض PowerPoint باستخدام C# أو .NET" +keywords: "عنصر نائب, نص العنصر النائب, نص الإرشاد, عرض تقديمي PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "تغيير نص العنصر النائب ونص الإرشاد في عروض PowerPoint التقديمية باستخدام C# أو .NET" --- ## **تغيير النص في العنصر النائب** -باستخدام [Aspose.Slides for .NET](/slides/ar/net/)، يمكنك العثور على العناصر النائبة وتعديلها في الشرائح داخل العروض التقديمية. يتيح لك Aspose.Slides إجراء تغييرات على النص في العنصر النائب. +باستخدام [Aspose.Slides for .NET](/slides/ar/net/)، يمكنك العثور على العناصر النائبة وتعديلها على الشرائح في العروض التقديمية. يسمح لك Aspose.Slides بإجراء تغييرات على النص داخل العنصر النائب. -**المتطلبات الأساسية**: تحتاج إلى عرض تقديمي يحتوي على عنصر نائب. يمكنك إنشاء مثل هذا العرض في تطبيق Microsoft PowerPoint العادي. +**المتطلب المسبق**: تحتاج إلى عرض تقديمي يحتوي على عنصر نائب. يمكنك إنشاء مثل هذا العرض التقديمي باستخدام تطبيق Microsoft PowerPoint القياسي. -إليك كيفية استخدام Aspose.Slides لاستبدال النص في العنصر النائب في ذلك العرض: +إليك طريقة استخدام Aspose.Slides لاستبدال النص في العنصر النائب داخل ذلك العرض التقديمي: -1. قم بإنشاء كائن من فئة [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation) ومرر العرض كوسيط. +1. إنشاء كائن من الفئة [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation) وتمرير العرض التقديمي كمعامل. 2. احصل على مرجع الشريحة من خلال فهرسها. -3. قم بالتكرار خلال الأشكال للعثور على العنصر النائب. -4. قم بتحويل شكل العنصر النائب إلى [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) وتغيير النص باستخدام [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/) المرتبط بـ [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). -5. احفظ العرض المعدل. - -يوضح هذا الكود C# كيفية تغيير النص في عنصر نائب: +3. قم بالتكرار عبر الأشكال للعثور على العنصر النائب. +4. حوّل شكل العنصر النائب إلى [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) ثم غيّر النص باستخدام [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/) المرتبط بـ [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). +5. احفظ العرض التقديمي المعدّل. +هذا الكود C# يعرض طريقة تغيير النص في العنصر النائب: ```c# // إنشاء كائن من فئة Presentation using (Presentation pres = new Presentation("ReplacingText.pptx")) @@ -35,41 +34,41 @@ using (Presentation pres = new Presentation("ReplacingText.pptx")) if (shp.Placeholder != null) { // تغيير النص في كل عنصر نائب - ((IAutoShape)shp).TextFrame.Text = "هذا عنصر نائب"; + ((IAutoShape)shp).TextFrame.Text = "This is a Placeholder"; } - // حفظ العرض على القرص + // حفظ العرض التقديمي إلى القرص pres.Save("output_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **تعيين نص الترويسة في العنصر النائب** -تحتوي التخطيطات القياسية والمعدة مسبقًا على نصوص ترويسة العناصر النائبة مثل ***اضغط لإضافة عنوان*** أو ***اضغط لإضافة عنوان فرعي***. باستخدام Aspose.Slides، يمكنك إدراج نصوص ترويسة مفضلة لديك في تخطيطات العناصر النائبة. -يوضح هذا الكود C# كيفية تعيين نص الترويسة في عنصر نائب: +## **تعيين نص الإرشاد في العنصر النائب** +تحتوي القوالب القياسية والمُعدة مسبقاً على نصوص إرشادية في العنصر النائب مثل ***انقر لإضافة عنوان*** أو ***انقر لإضافة نص فرعي***. باستخدام Aspose.Slides، يمكنك إدراج نصوص الإرشاد المفضلة لديك في قوالب العناصر النائبة. +هذا الكود C# يوضح طريقة تعيين نص الإرشاد في العنصر النائب: ```c# using (Presentation pres = new Presentation("Presentation2.pptx")) { ISlide slide = pres.Slides[0]; - foreach (IShape shape in slide.Slide.Shapes) // التكرار عبر الشريحة + foreach (IShape shape in slide.Slide.Shapes) // يتكرر عبر الشريحة { if (shape.Placeholder != null && shape is AutoShape) { string text = ""; - if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // يعرض PowerPoint "اضغط لإضافة عنوان" + if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPoint يعرض "انقر لإضافة عنوان" { - text = "أضف عنوانًا"; + text = "Add Title"; } - else if (shape.Placeholder.Type == PlaceholderType.Subtitle) // إضافة عنوان فرعي + else if (shape.Placeholder.Type == PlaceholderType.Subtitle) // يضيف العنوان الفرعي { - text = "أضف عنوانًا فرعيًا"; + text = "Add Subtitle"; } ((IAutoShape)shape).TextFrame.Text = text; - Console.WriteLine($"عنصر نائب بالنص: {text}"); + Console.WriteLine($"Placeholder with text: {text}"); } } @@ -77,12 +76,12 @@ using (Presentation pres = new Presentation("Presentation2.pptx")) } ``` -## **تعيين شفافية صورة العنصر النائب** -يتيح لك Aspose.Slides تعيين شفافية الصورة الخلفية في عنصر نائب نص. من خلال ضبط شفافية الصورة في مثل هذا الإطار، يمكنك جعل النص أو الصورة بارزًا (اعتمادًا على ألوان النص والصورة). +## **تعيين شفافية صورة العنصر النائب** -يوضح هذا الكود C# كيفية تعيين الشفافية لخلفية صورة (داخل شكل): +يسمح لك Aspose.Slides بتعيين شفافية صورة الخلفية في عنصر نائب نصي. من خلال تعديل شفافية الصورة داخل هذا الإطار، يمكنك إبراز النص أو الصورة (حسب ألوان النص والصورة). +هذا الكود C# يوضح طريقة تعيين الشفافية لخلفية الصورة (داخل الشكل): ```c# using (var presentation = new Presentation()) { @@ -93,4 +92,19 @@ using (var presentation = new Presentation()) autoShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; autoShape.FillFormat.PictureFillFormat.Picture.ImageTransform.AddAlphaModulateFixedEffect(75); } -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**ما هو العنصر النائب الأساسي، وكيف يختلف عن الشكل المحلي على الشريحة؟** + +العنصر النائب الأساسي هو الشكل الأصلي الموجود في القالب أو القالب الرئيسي الذي يرث منه شكل الشريحة — النوع، الموضع، وبعض التنسيقات تأتي منه. الشكل المحلي مستقل؛ إذا لم يكن هناك عنصر نائب أساسي، لا يتم تطبيق الوراثة. + +**كيف يمكنني تحديث جميع العناوين أو التسميات التوضيحية في العرض التقديمي دون التكرار على كل شريحة؟** + +قم بتحرير العنصر النائب المقابل في القالب أو القالب الرئيسي. ستورث الشرائح المستندة إلى تلك القوالب/القالب الرئيسي التغيّر تلقائيًا. + +**كيف يمكنني التحكم في العناصر النائبة القياسية للترويسة/التذييل — التاريخ والوقت، رقم الشريحة، ونص التذييل؟** + +استخدم مديري HeaderFooter في النطاق المناسب (الشرائح العادية، القوالب، القالب الرئيسي، الملاحظات/المطبوعات) لتفعيل أو إلغاء تلك العناصر النائبة وتعيين محتواها. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md b/ar/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md index 9836205b01..b391c05fc0 100644 --- a/ar/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md @@ -1,126 +1,164 @@ --- -title: إدارة مربع النص +title: إدارة مربع نص type: docs weight: 20 url: /ar/net/manage-textbox/ -keywords: "مربع نص, إطار نص, إضافة مربع نص, مربع نص مع ارتباط تشعبي, C#, Csharp, Aspose.Slides for .NET" -description: "إضافة مربع نص أو إطار نص إلى عروض PowerPoint التقديمية في C# أو .NET" +keywords: +- مربع نص +- إطار نص +- إضافة نص +- تحديث النص +- مربع نص مع رابط تشعبي +- PowerPoint +- عرض تقديمي +- C# +- Csharp +- Aspose.Slides for .NET +description: "إدارة مربع نص أو إطار نص في عروض PowerPoint التقديمية باستخدام C# أو .NET" --- -النصوص على الشرائح عادةً ما توجد في مربعات نص أو أشكال. لذلك، لإضافة نص إلى شريحة، عليك إضافة مربع نص أولاً ثم وضع بعض النصوص داخل مربع النص. +عادةً ما تكون النصوص على الشرائح موجودة في مربعات النص أو الأشكال. لذلك، لإضافة نص إلى شريحة، يجب عليك أولاً إضافة مربع نص ثم وضع بعض النص داخل مربع النص. -للسماح لك بإضافة شكل يمكنه الاحتفاظ بالنص، توفر Aspose.Slides for .NET واجهة [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape). +للسماح لك بإضافة شكل يمكنه احتواء النص، توفر Aspose.Slides for .NET الواجهة [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) . -{{% alert title="ملحوظة" color="warning" %}} +{{% alert title="Note" color="warning" %}} -توفر Aspose.Slides أيضًا واجهة [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) للسماح لك بإضافة أشكال إلى الشرائح. ومع ذلك، ليست جميع الأشكال المضافة من خلال واجهة `IShape` يمكنها الاحتفاظ بالنص. الأشكل المضافة من خلال واجهة [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) عادةً ما تحتوي على نص. +كما توفر Aspose.Slides الواجهة [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) للسماح لك بإضافة أشكال إلى الشرائح. ومع ذلك، ليس كل الأشكال التي تُضاف عبر واجهة `IShape` يمكنها احتواء النص. عادةً ما تحتوي الأشكال التي تُضاف عبر الواجهة [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) على نص. -لذلك، عند التعامل مع شكل موجود تريد إضافة نص له، قد ترغب في التحقق والتأكيد أنه تم تحويله من خلال واجهة `IAutoShape`. فقط حينها ستكون قادرًا على العمل مع [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe) ، وهي خاصية تحت `IAutoShape`. راجع قسم [تحديث النص](https://docs.aspose.com/slides/net/manage-textbox/#update-text) في هذه الصفحة. +لذلك، عند التعامل مع شكل موجود تريد إضافة نص إليه، قد ترغب في التحقق والتأكد من أنه تم تحويله عبر واجهة `IAutoShape`. فقط عندها سيمكنك العمل مع [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe)، وهي خاصية ضمن `IAutoShape`. راجع قسم [Update Text](https://docs.aspose.com/slides/net/manage-textbox/#update-text) في هذه الصفحة. {{% /alert %}} ## **إنشاء مربع نص على الشريحة** -1. إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. الحصول على مرجع الشريحة الأولى من خلال فهرسها. -3. إضافة كائن [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) مع [ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype) تم تعيينه كـ `Rectangle` في موقع محدد على الشريحة والحصول على مرجع لكائن `IAutoShape` المضاف حديثًا. -4. إضافة خاصية `TextFrame` إلى الكائن `IAutoShape` التي ستحتوي على نص. في المثال أدناه، أضفنا هذا النص: *Aspose TextBox* -5. أخيرًا، كتابة ملف PPTX من خلال كائن `Presentation`. - -توضح هذه الشيفرة بلغة C#—تنفيذ الخطوات المذكورة أعلاه—كيفية إضافة نص إلى شريحة: +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. احصل على مرجع الشريحة الأولى عبر فهرستها. +3. أضف كائنًا من نوع [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) مع خاصية [ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype) مضبوطة على `Rectangle` في موضع محدد على الشريحة واحصل على المرجع للكائن `IAutoShape` المضاف حديثًا. +4. أضف خاصية `TextFrame` إلى كائن `IAutoShape` لتحتوي على نص. في المثال أدناه، أضفنا هذا النص: *Aspose TextBox* +5. أخيرًا، احفظ ملف PPTX عبر كائن `Presentation`. +هذا الكود C#—تنفيذ للخطوات أعلاه—يوضح لك كيفية إضافة نص إلى شريحة: ```c# -// يهيئ PresentationEx +// إنشاء كائن PresentationEx using (Presentation pres = new Presentation()) { - - // يحصل على الشريحة الأولى في العرض التقديمي + // الحصول على الشريحة الأولى في العرض التقديمي ISlide sld = pres.Slides[0]; - // يضيف AutoShape بنوع تم تعيينه كـ Rectangle + // إضافة AutoShape مع تعيين النوع على مستطيل IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - // يضيف TextFrame إلى Rectangle + // إضافة TextFrame إلى المستطيل ashp.AddTextFrame(" "); - // يصل إلى إطار النص + // الوصول إلى إطار النص ITextFrame txtFrame = ashp.TextFrame; - // ينشئ كائن Paragraph لإطار النص + // إنشاء كائن Paragraph لإطار النص IParagraph para = txtFrame.Paragraphs[0]; - // ينشئ كائن Portion للفقرة + // إنشاء كائن Portion للفقرة IPortion portion = para.Portions[0]; - // يحدد النص + // تعيين النص portion.Text = "Aspose TextBox"; - // يحفظ العرض التقديمي على القرص + // حفظ العرض التقديمي إلى القرص pres.Save("TextBox_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` + ## **التحقق من شكل مربع النص** -توفر Aspose.Slides خاصية [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) (من فئة [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)) للسماح لك بفحص الأشكال والعثور على مربعات النص. +توفر Aspose.Slides الخاصية [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) من الواجهة [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) ، مما يتيح لك فحص الأشكال وتحديد مربعات النص. ![مربع النص والشكل](istextbox.png) -توضح هذه الشيفرة بلغة C# كيفية التحقق مما إذا تم إنشاء شكل كمربع نص: - +هذا الكود C# يوضح لك كيفية التحقق مما إذا كان الشكل قد تم إنشاؤه كمربع نص: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - Aspose.Slides.LowCode.ForEach.Shape(pres, (shape, slide, index) => + Aspose.Slides.LowCode.ForEach.Shape(presentation, (shape, slide, index) => { - if (shape is AutoShape autoShape) + if (shape is IAutoShape autoShape) { - Console.WriteLine(autoShape.IsTextBox ? "الشكل هو مربع نص" : "الشكل ليس مربع نص"); + Console.WriteLine(autoShape.IsTextBox ? "shape is a text box" : "shape is not a text box"); } }); } ``` -## **إضافة عمود في مربع النص** -توفر Aspose.Slides خاصيات [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) و [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) (من واجهة [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) وفئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) للسماح لك بإضافة أعمدة إلى مربعات النص. يمكنك تحديد عدد الأعمدة في مربع النص ثم تحديد المسافة بالنقاط بين الأعمدة. +لاحظ أنه إذا قمت فقط بإضافة شكل تلقائي باستخدام طريقة `AddAutoShape` من الواجهة [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/) ، فإن خاصية `IsTextBox` لهذا الشكل ستُرجع `false`. ومع ذلك، بعد إضافة نص إلى الشكل باستخدام طريقة `AddTextFrame` أو خاصية `Text`، ستُرجع خاصية `IsTextBox` القيمة `true`. +```cs +using (Presentation presentation = new Presentation()) +{ + ISlide slide = presentation.Slides[0]; + + IAutoShape shape1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 100, 40); + // shape1.IsTextBox غير صحيح + shape1.AddTextFrame("shape 1"); + // shape1.IsTextBox صحيح + + IAutoShape shape2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 110, 100, 40); + // shape2.IsTextBox غير صحيح + shape2.TextFrame.Text = "shape 2"; + // shape2.IsTextBox صحيح + + IAutoShape shape3 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 210, 100, 40); + // shape3.IsTextBox غير صحيح + shape3.AddTextFrame(""); + // shape3.IsTextBox غير صحيح + + IAutoShape shape4 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 310, 100, 40); + // shape4.IsTextBox غير صحيح + shape4.TextFrame.Text = ""; + // shape4.IsTextBox غير صحيح +} +``` + + +## **إضافة عمود في مربع النص** -توضح هذه الشيفرة بلغة C# العملية الموضحة: +توفر Aspose.Slides الخصائص [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) و[ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) (من الواجهة [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) والفئة [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) للسماح لك بإضافة أعمدة إلى مربعات النص. يمكنك تحديد عدد الأعمدة في مربع النص ثم تحديد التباعد بالنقاط بين الأعمدة. +هذا الكود في C# يوضح العملية الموضحة: ```c# using (Presentation presentation = new Presentation()) { // يحصل على الشريحة الأولى في العرض التقديمي ISlide slide = presentation.Slides[0]; - // يضيف AutoShape بنوع تم تعيينه كـ Rectangle + // إضافة AutoShape مع تعيين النوع إلى Rectangle IAutoShape aShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 300, 300); - // يضيف TextFrame إلى Rectangle - aShape.AddTextFrame("جميع هذه الأعمدة مقيدة لتكون داخل حاوية نص واحدة -- " + - "يمكنك إضافة أو حذف نص وسيتم تعديل النص الجديد أو المتبقي " + - "لتدفق داخل الحاوية. لا يمكنك الحصول على تدفق النص من حاوية واحدة إلى أخرى -- " + - "كما أخبرناك، خيارات الأعمدة للنص في PowerPoint محدودة!"); + // إضافة TextFrame إلى Rectangle + aShape.AddTextFrame("All these columns are limited to be within a single text container -- " + + "you can add or delete text and the new or remaining text automatically adjusts " + + "itself to flow within the container. You cannot have text flow from one container " + + "to other though -- we told you PowerPoint's column options for text are limited!"); - // يحصل على تنسيق النص لإطار النص + // الحصول على تنسيق النص في TextFrame ITextFrameFormat format = aShape.TextFrame.TextFrameFormat; - // يحدد عدد الأعمدة في TextFrame + // تحديد عدد الأعمدة في TextFrame format.ColumnCount = 3; - // يحدد المسافة بين الأعمدة + // تحديد التباعد بين الأعمدة format.ColumnSpacing = 10; - // يحفظ العرض التقديمي + // حفظ العرض التقديمي presentation.Save("ColumnCount.pptx", SaveFormat.Pptx); } ``` + ## **إضافة عمود في إطار النص** -توفر Aspose.Slides for .NET خاصية [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) (من واجهة [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat)) التي تتيح لك إضافة أعمدة في إطارات النص. من خلال هذه الخاصية، يمكنك تحديد عدد الأعمدة المفضل لديك في إطار النص. -توضح هذه الشيفرة بلغة C# كيفية إضافة عمود داخل إطار النص: +توفر Aspose.Slides for .NET الخاصية [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) (من الواجهة [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat)) التي تسمح لك بإضافة أعمدة في إطارات النص. من خلال هذه الخاصية، يمكنك تحديد عدد الأعمدة المفضل في إطار النص. +هذا الكود C# يوضح لك كيفية إضافة عمود داخل إطار النص: ```c# string outPptxFileName = "ColumnsTest.pptx"; using (Presentation pres = new Presentation()) @@ -129,10 +167,10 @@ using (Presentation pres = new Presentation()) TextFrameFormat format = (TextFrameFormat)shape1.TextFrame.TextFrameFormat; format.ColumnCount = 2; - shape1.TextFrame.Text = "جميع هذه الأعمدة مُجبرة على البقاء داخل حاوية نص واحدة -- " + - "يمكنك إضافة أو حذف نص - وسيتم تعديل النص الجديد أو المتبقي تلقائيًا " + - "للبقاء داخل الحاوية. لا يمكنك الحصول على تدفق النص من حاوية واحدة " + - "إلى أخرى، رغم ذلك -- لأن خيارات الأعمدة للنص في PowerPoint محدودة!"; + shape1.TextFrame.Text = "All these columns are forced to stay within a single text container -- " + + "you can add or delete text - and the new or remaining text automatically adjusts " + + "itself to stay within the container. You cannot have text spill over from one container " + + "to other, though -- because PowerPoint's column options for text are limited!"; pres.Save(outPptxFileName, SaveFormat.Pptx); using (Presentation test = new Presentation(outPptxFileName)) @@ -162,12 +200,12 @@ using (Presentation pres = new Presentation()) } ``` -## **تحديث النص** -تسمح Aspose.Slides لك بتغيير أو تحديث النص الموجود في مربع نص أو جميع النصوص الموجودة في عرض تقديمي. +## **تحديث النص** -توضح هذه الشيفرة بلغة C# عملية يقوم فيها بتحديث أو تغيير جميع النصوص في عرض تقديمي: +تتيح لك Aspose.Slides تغيير أو تحديث النص الموجود في مربع نص أو جميع النصوص الموجودة في عرض تقديمي. +هذا الكود C# يوضح عملية يتم فيها تحديث أو تغيير جميع النصوص في عرض تقديمي: ```c# using(Presentation pres = new Presentation("text.pptx")) { @@ -175,64 +213,75 @@ using(Presentation pres = new Presentation("text.pptx")) { foreach (IShape shape in slide.Shapes) { - if (shape is IAutoShape autoShape) // يتحقق مما إذا كان الشكل يدعم إطار النص (IAutoShape). + if (shape is IAutoShape autoShape) //يتحقق مما إذا كان الشكل يدعم إطار النص (IAutoShape). { - foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) // يتكرر عبر الفقرات في إطار النص + foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) //يتنقل عبر الفقرات في إطار النص { - foreach (IPortion portion in paragraph.Portions) // يتكرر عبر كل جزء في الفقرة + foreach (IPortion portion in paragraph.Portions) //يتنقل عبر كل جزء في الفقرة { - portion.Text = portion.Text.Replace("years", "months"); // يغير النص - portion.PortionFormat.FontBold = NullableBool.True; // يغير التنسيق + portion.Text = portion.Text.Replace("years", "months"); //يغيّر النص + portion.PortionFormat.FontBold = NullableBool.True; //يغيّر التنسيق } } } } } - - // يحفظ العرض التقديمي المعدل + + //يحفظ العرض التقديمي المعدل pres.Save("text-changed.pptx", SaveFormat.Pptx); } ``` -## **إضافة مربع نص مع ارتباط تشعبي** -يمكنك إدراج ارتباط داخل مربع نص. عند النقر على مربع النص، يتم توجيه المستخدمين لفتح الارتباط. +## **إضافة مربع نص مع رابط تشعبي** -1. إنشاء مثيل من فئة `Presentation`. -2. الحصول على مرجع الشريحة الأولى من خلال فهرسها. -3. إضافة كائن `AutoShape` مع `ShapeType` تم تعيينه كـ `Rectangle` في موقع محدد على الشريحة والحصول على مرجع للكائن AutoShape المضاف حديثًا. -4. إضافة `TextFrame` إلى كائن `AutoShape` يحتوي على *Aspose TextBox* كنص افتراضي. -5. إنشاء مثيل من فئة `IHyperlinkManager`. -6. تعيين كائن `IHyperlinkManager` إلى خاصية [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick) المرتبطة بجزء النص المفضل لديك من `TextFrame`. -7. أخيرًا، كتابة ملف PPTX من خلال كائن `Presentation`. +يمكنك إدراج رابط داخل مربع نص. عند النقر على مربع النص، يُوجه المستخدمون لفتح الرابط. -توضح هذه الشيفرة بلغة C#—تنفيذ الخطوات المذكورة أعلاه—كيفية إضافة مربع نص مع ارتباط تشعبي إلى شريحة: +1. إنشاء نسخة من الفئة `Presentation`. +2. احصل على مرجع الشريحة الأولى عبر فهرستها. +3. أضف كائن `AutoShape` مع `ShapeType` مضبوطة على `Rectangle` في موضع محدد على الشريحة واحصل على مرجع الكائن AutoShape المضاف حديثًا. +4. أضف `TextFrame` إلى كائن `AutoShape` يحتوي على *Aspose TextBox* كنص افتراضي. +5. إنشاء نسخة من الفئة `IHyperlinkManager`. +6. عيّن كائن `IHyperlinkManager` إلى خاصية [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick) المرتبطة بالجزء المفضل من `TextFrame`. +7. أخيرًا، احفظ ملف PPTX عبر كائن `Presentation`. +هذا الكود C#—تنفيذ للخطوات أعلاه—يوضح لك كيفية إضافة مربع نص مع رابط تشعبي إلى شريحة: ```c# -// يهيئ فئة Presentation تمثل PPTX +// يُنشئ كائن من فئة Presentation تمثل ملف PPTX Presentation pptxPresentation = new Presentation(); // يحصل على الشريحة الأولى في العرض التقديمي ISlide slide = pptxPresentation.Slides[0]; -// يضيف كائن AutoShape بنوع تم تعيينه كـ Rectangle +// يضيف كائن AutoShape مع تعيين النوع إلى Rectangle IShape pptxShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 150, 150, 50); -// يحول الشكل إلى AutoShape +// يقوم بتحويل الشكل إلى AutoShape IAutoShape pptxAutoShape = (IAutoShape)pptxShape; -// يصل إلى خاصية ITextFrame المرتبطة بـ AutoShape +// يصل إلى الخاصية ITextFrame المرتبطة بـ AutoShape pptxAutoShape.AddTextFrame(""); ITextFrame ITextFrame = pptxAutoShape.TextFrame; -// يضيف بعض النصوص إلى إطار +// يضيف بعض النص إلى الإطار ITextFrame.Paragraphs[0].Portions[0].Text = "Aspose.Slides"; -// يحدد الارتباط للجزء النصي +// يضبط الارتباط التشعبي لنص الجزء IHyperlinkManager HypMan = ITextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkManager; HypMan.SetExternalHyperlinkClick("http://www.aspose.com"); // يحفظ عرض PPTX pptxPresentation.Save("hLinkPPTX_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**ما الفرق بين مربع النص وعلامة النص النائبة عند العمل مع الشرائح الرئيسية؟** + +يُورث [placeholder](/slides/ar/net/manage-placeholder/) النمط/الموقع من الـ [master](https://reference.aspose.com/slides/net/aspose.slides/masterslide/) ويمكن تجاوزه في الـ [layouts](https://reference.aspose.com/slides/net/aspose.slides/layoutslide/)، بينما يُعد مربع النص العادي كائنًا مستقلاً على شريحة محددة ولا يتغير عند تغيير التخطيطات. + +**كيف يمكنني تنفيذ استبدال نص جماعي عبر العرض التقديمي دون التأثر بالنص داخل المخططات والجداول وSmartArt؟** + +قصر تكرارك على الأشكال التلقائية التي تحتوي على إطارات نص واستبعاد الكائنات المضمنة ([charts](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/), [tables](https://reference.aspose.com/slides/net/aspose.slides/table/), [SmartArt](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartart/)) عبر استعراض مجموعاتها بشكل منفصل أو تخطي تلك الأنواع من الكائنات. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md b/ar/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md index 970cc1e028..a287f6cc12 100644 --- a/ar/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md @@ -1,28 +1,43 @@ --- -title: تحديد لغة العرض +title: توطين العرض التقديمي type: docs weight: 100 url: /ar/net/presentation-localization/ -keywords: "تغيير اللغة، تدقيق إملائي، تدقيق، تدقيق إملائي، عرض PowerPoint، C#، Csharp، Aspose.Slides for .NET" -description: "تغيير أو التحقق من اللغة في عرض PowerPoint. تدقيق إملائي للنص في C# أو .NET" +keywords: "تغيير اللغة, تدقيق إملائي, تدقيق إملاء, مدقق إملائي, عرض PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "تغيير أو فحص اللغة في عرض PowerPoint. تدقيق إملائي للنص في C# أو .NET" --- -## **تغيير اللغة للنص في العرض والشكل** -- إنشاء مثيل من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -- الحصول على مرجع شريحة باستخدام مؤشرها. -- إضافة شكل تلقائي من نوع المستطيل إلى الشريحة. -- إضافة بعض النصوص إلى TextFrame. -- تعيين معرف اللغة للنص. -- كتابة العرض كملف PPTX. -يتم توضيح تنفيذ الخطوات المذكورة أعلاه أدناه في مثال. +## **تغيير اللغة للعرض ونص الشكل** +- إنشاء مثيل لفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. +- الحصول على مرجع شريحة باستخدام فهرسها. +- إضافة AutoShape من النوع Rectangle إلى الشريحة. +- إضافة بعض النص إلى TextFrame. +- تعيين Language Id للنص. +- كتابة العرض بصيغة ملف PPTX. +يتم توضيح تنفيذ الخطوات المذكورة أعلاه في مثال أدناه. ```c# using (Presentation pres = new Presentation("test0.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); - shape.AddTextFrame("نص لتطبيق لغة التدقيق الإملائي"); + shape.AddTextFrame("Text to apply spellcheck language"); shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId = "en-EN"; pres.Save("test1.pptx",Aspose.Slides.Export.SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل يقوم language_id بتفعيل الترجمة التلقائية للنص؟** + +لا. [language_id](https://reference.aspose.com/slides/net/aspose.slides/portionformat/languageid/) في Aspose.Slides يخزن اللغة للتدقيق الإملائي وإثبات القواعد، لكنه لا يترجم أو يغير محتوى النص. إنها بيانات وصفية يفهمها PowerPoint للإثبات. + +**هل يؤثر language_id على التقسيم إلى مقاطع والفواصل خلال العرض؟** + +في Aspose.Slides، [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) مخصص للإثبات. جودة التقسيم إلى مقاطع وتفاف السطر تعتمد أساساً على توفر [proper fonts](/slides/ar/net/powerpoint-fonts/) وإعدادات التخطيط/فواصل السطر لنظام الكتابة. لضمان العرض الصحيح، احرص على توفير الخطوط المطلوبة، وتكوين [font substitution rules](/slides/ar/net/font-substitution/)، و/أو [embed fonts](/slides/ar/net/embedded-font/) في العرض. + +**هل يمكنني تعيين لغات مختلفة داخل فقرة واحدة؟** + +نعم. يتم تطبيق [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) على مستوى جزء النص، لذا يمكن لفقرة واحدة دمج لغات متعددة بإعدادات إثبات مختلفة. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md b/ar/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md index 5d9cf522fd..d3995b57b5 100644 --- a/ar/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md @@ -1,78 +1,114 @@ --- -title: النص العلوي والنص السلفي +title: إدارة النصوص المرتفعة والمتدنية في C# +linktitle: النص المرتفع والنص المتدنٍ type: docs weight: 80 url: /ar/net/superscript-and-subscript/ -keywords: "نص علوي, نص سلفي, إضافة نص علوي, إضافة نص سلفي, عرض PowerPoint, C#, Csharp, Aspose.Slides for .NET" -description: "إضافة نص علوي ونص سلفي إلى عروض PowerPoint في C# أو .NET" +keywords: +- مرتفع +- متدنٍ +- إضافة نص مرتفع +- إضافة نص متدنٍ +- PowerPoint +- OpenDocument +- عرض تقديمي +- C# +- Csharp +- Aspose.Slides +description: "اتقن النصوص المرتفعة والمتدنية في Aspose.Slides for .NET وارتقِ بعروضك التقديمية باستخدام تنسيق نصي احترافي لتحقيق أقصى تأثير." --- -## **إدارة النص العلوي والنص السلفي** -يمكنك إضافة نص علوي ونص سلفي داخل أي جزء من الفقرة. لإضافة نص علوي أو نص سلفي في إطار نص Aspose.Slides، يجب استخدام **خاصية الإزاحة** في فئة PortionFormat. +## **نظرة عامة** -تُرجع هذه الخاصية أو تضبط النص العلوي أو النص السلفي (قيمة من -100% (نص سلفي) إلى 100% (نص علوي). على سبيل المثال: +توفر Aspose.Slides for .NET ميزات لدمج النصوص المرتفعة والنصوص السفلية في عروض PowerPoint (PPT، PPTX) وOpenDocument (ODP). سواء كنت تحتاج إلى تمييز الصيغ الكيميائية أو المعادلات الرياضية أو إضافة هوامش توضيحية، فإن خيارات التنسيق المتخصصة هذه تساعد على الحفاظ على الوضوح والدقة. في هذه المقالة، ستتعلم كيفية تطبيق أنماط النص المرتفع والنص السلفي بسلاسة وضمان نتائج احترافية في كل شريحة. -- أنشئ مثيلًا من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -- احصل على مرجع لشريحة باستخدام فهرسها. -- أضف شكل تلقائي من نوع مستطيل إلى الشريحة. -- الوصول إلى ITextFrame المرتبط بـ IAutoShape. -- مسح الفقرات الموجودة. -- أنشئ كائن فقرة جديد للحفاظ على النص العلوي وأضفه إلى مجموعة IParagraphs من ITextFrame. -- أنشئ كائن جزء جديد. -- اضبط خاصية الإزاحة للجزء بين 0 و100 لإضافة النص العلوي. (0 تعني عدم وجود نص علوي). -- اضبط بعض النصوص للجزء ثم أضف ذلك إلى مجموعة أجزاء الفقرة. -- أنشئ كائن فقرة جديد للحفاظ على النص السلفي وأضفه إلى مجموعة IParagraphs من ITextFrame. -- أنشئ كائن جزء جديد. -- اضبط خاصية الإزاحة للجزء بين 0 و-100 لإضافة النص السلفي. (0 تعني عدم وجود نص سلفي). -- اضبط بعض النصوص للجزء ثم أضف ذلك إلى مجموعة أجزاء الفقرة. -- احفظ العرض كملف PPTX. +## **إضافة نص مرتفع وأسفل السطر** -تنفيذ الخطوات المذكورة أعلاه موضح أدناه. +يمكنك إضافة نص مرتفع وأسفل السطر داخل أي فقرة في عرض تقديمي. لتحقيق ذلك باستخدام Aspose.Slides، يجب عليك استخدام خاصية `Escapement` في فئة [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/). +تتيح لك هذه الخاصية ضبط النص كمرتفع أو سلفي، بقيم تتراوح من -100٪ (سلفي) إلى 100٪ (مرتفع). + +خطوات التنفيذ: + +1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +1. الحصول على مرجع إلى شريحة باستخدام فهرسها. +1. إضافة [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) من النوع `Rectangle` إلى الشريحة. +1. الوصول إلى [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) المرتبط بـ [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +1. مسح الفقرات الموجودة. +1. إنشاء [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) جديد للنص المرتفع وإضافته إلى مجموعة الفقرات في [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/). +1. إنشاء عنصر جزء نص جديد. +1. ضبط خاصية `Escapement` لجزء النص بين 0 إلى 100 لتطبيق النص المرتفع (0 يعني عدم وجود نص مرتفع). +1. تعيين بعض النص لـ [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) وإضافته إلى مجموعة الأجزاء في الفقرة. +1. إنشاء [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) جديد للنص السلفي وإضافته إلى مجموعة الفقرات. +1. إنشاء عنصر جزء نص جديد. +1. ضبط خاصية `Escapement` لجزء النص بين 0 إلى -100 لتطبيق النص السلفي (0 يعني عدم وجود نص سلفي). +1. تعيين بعض النص لـ [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) وإضافته إلى مجموعة الأجزاء في الفقرة. +1. حفظ العرض التقديمي كملف PPTX. + +الكود C# التالي ينفّذ هذه الخطوات: ```c# -using (Presentation presentation = new Presentation("test.pptx")) +using (Presentation presentation = new Presentation()) { - // الحصول على الشريحة + // احصل على الشريحة الأولى. ISlide slide = presentation.Slides[0]; - // إنشاء مربع نص + // إنشاء صندوق نص. IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 200, 100); ITextFrame textFrame = shape.TextFrame; + textFrame.Paragraphs.Clear(); - // إنشاء فقرة للنص العلوي + // إنشاء فقرة لنص مرتفع. IParagraph superPar = new Paragraph(); - // إنشاء جزء مع نص عادي + // إنشاء جزء نص مع نص عادي. IPortion portion1 = new Portion(); - portion1.Text = "عنوان الشريحة"; + portion1.Text = "MyProduct"; superPar.Portions.Add(portion1); - // إنشاء جزء مع نص علوي + // إنشاء جزء نص مع نص مرتفع. IPortion superPortion = new Portion(); superPortion.PortionFormat.Escapement = 30; superPortion.Text = "TM"; superPar.Portions.Add(superPortion); - // إنشاء فقرة للنص السلفي + // إنشاء فقرة لنص سفلي. IParagraph paragraph2 = new Paragraph(); - // إنشاء جزء مع نص عادي + // إنشاء جزء نص مع نص عادي. IPortion portion2 = new Portion(); - portion2.Text = "أ"; + portion2.Text = "a"; paragraph2.Portions.Add(portion2); - // إنشاء جزء مع نص سلفي + // إنشاء جزء نص مع نص سفلي. IPortion subPortion = new Portion(); subPortion.PortionFormat.Escapement = -25; - subPortion.Text = "ي"; + subPortion.Text = "i"; paragraph2.Portions.Add(subPortion); - // إضافة الفقرات إلى مربع النص + // إضافة الفقرات إلى صندوق النص. textFrame.Paragraphs.Add(superPar); textFrame.Paragraphs.Add(paragraph2); - presentation.Save("TestOut.pptx", SaveFormat.Pptx); - System.Diagnostics.Process.Start("TestOut.pptx"); - } -``` \ No newline at end of file + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +النتيجة: + +![النص المرتفع والملفوف أسفل السطر](superscript_and_subscript.png) + +## **الأسئلة الشائعة** + +**هل سيُحافظ على النصوص المرتفعة والملفوفة أسفل السطر عند تصديرها إلى PDF أو تنسيقات أخرى؟** + +نعم، يحتفظ Aspose.Slides for .NET بتنسيق النص المرتفع والملفوف أسفل السطر بشكل صحيح عند تصدير العروض إلى PDF أو PPT/PPTX أو الصور أو أي تنسيقات مدعومة أخرى. يظل التنسيق المتخصص محفوظًا في جميع ملفات الإخراج. + +**هل يمكن دمج النصوص المرتفعة والملفوفة أسفل السطر مع أنماط تنسيق أخرى مثل الغامق أو المائل؟** + +نعم، يتيح Aspose.Slides خلط الأنماط النصية المختلفة داخل جزء نص واحد. يمكنك تمكين الغامق أو المائل أو التح underline وتطبيق النص المرتفع أو السلفي في الوقت نفسه من خلال ضبط الخصائص المناسبة في [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/). + +**هل يعمل تنسيق النص المرتفع والملفوف أسفل السطر للنص داخل الجداول أو المخططات أو SmartArt؟** + +نعم، يدعم Aspose.Slides for .NET التنسيق داخل معظم الكائنات، بما في ذلك الجداول وعناصر المخططات. عند العمل مع SmartArt، يجب الوصول إلى العناصر المناسبة (مثل [SmartArtNode](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartartnode/)) وحاويات النص الخاصة بها، ثم ضبط خصائص [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) بنفس الطريقة. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md b/ar/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md index 98c83b1492..8d7cc49dc3 100644 --- a/ar/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md @@ -1,672 +1,554 @@ --- -title: تنسيق النص +title: تنسيق نص PowerPoint في C# linktitle: تنسيق النص type: docs weight: 50 url: /ar/net/text-formatting/ keywords: -- تمييز النص -- تعبير منتظم -- محاذاة فقرات النص +- تسليط الضوء على النص +- تعبير نمطي +- محاذاة الفقرة +- نمط النص +- خلفية النص - شفافية النص -- خصائص خط الفقرة +- تباعد الأحرف +- خصائص الخط - عائلة الخط - دوران النص -- دوران الزاوية المخصصة +- زاوية الدوران - إطار النص - تباعد الأسطر -- خاصية الملاءمة التلقائية +- خاصية الضبط التلقائي - مرساة إطار النص -- تبويب النص -- النمط الافتراضي للنص +- جدولة النص +- اللغة الافتراضية +- PowerPoint +- OpenDocument +- عرض تقديمي - C# -- Aspose.Slides لـ .NET -description: "إدارة وتعديل النص وخصائص إطار النص في C#" +- Aspose.Slides +description: "تعلم كيفية تنسيق وتطبيق نمط النص في عروض PowerPoint وOpenDocument باستخدام Aspose.Slides لـ .NET. قم بتخصيص الخطوط والألوان والمحاذاة والمزيد باستخدام أمثلة كود قوية بلغة C#." --- -## نظرة عامة +## **نظرة عامة** -تصف هذه المقالة كيفية **العمل مع تنسيق نص عرض PowerPoint باستخدام C#** مثل تمييز النص، تطبيق تعبير منتظم، محاذاة فقرات النص، ضبط شفافية النص، تغيير خصائص خط الفقرة، استخدام عائلات الخطوط، ضبط دوران النص، تخصيص دوران الزاوية، إدارة إطار النص، ضبط تباعد الأسطر، استخدام خاصية الملاءمة التلقائية، ضبط مرساة إطار النص، تغيير تبويب النص. تغطي المقالة هذه المواضيع. +تقدم هذه المقالة كيفية إدارة وتنسيق النص في عروض PowerPoint وOpenDocument باستخدام Aspose.Slides لـ .NET. ستتعلم كيفية تطبيق ميزات تنسيق النص مثل اختيار الخط، الحجم، اللون، التظليل، لون الخلفية، التباعد، والمحاذاة. بالإضافة إلى ذلك، تغطي العمل مع إطارات النص، الفقرات، التنسيق، وخيارات التخطيط المتقدمة مثل الدوران المخصص وسلوكيات الضبط التلقائي. -## **تمييز النص** -تم إضافة طريقة HighlightText جديدة إلى واجهة ITextFrame وclass TextFrame. +سواء كنت تقوم بإنشاء العروض برمجيًا أو تخصيص المحتوى الموجود، ستساعدك هذه الأمثلة على إنشاء تخطيطات نصية واضحة ومظهر احترافي تعزز شرائحك وتحسن قابلية القراءة. -يسمح بتمييز جزء من النص بلون الخلفية باستخدام عينة نص، مشابهًا لأداة لون تمييز النص في PowerPoint 2019. +في الأمثلة أدناه، سنستخدم ملفًا باسم "sample.pptx" يحتوي على مربع نص واحد في الشريحة الأولى بالنص التالي: +![نص عينة](sample_text.png) -1. قم بإنشاء كائن من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) مع ملف الإدخال. - - يمكن أن يكون ملف الإدخال PPT، PPTX، ODP، إلخ. -3. الوصول إلى الشريحة باستخدام مجموعة [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/) -4. الوصول إلى الشكل باستخدام مجموعة [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) كـ [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). -5. تمييز النص باستخدام طريقة [TextFrame.Highlight()](https://reference.aspose.com/slides/net/aspose.slides/textframe/highlighttext/#highlighttext). -6. احفظ العرض بالتنسيق المطلوب، أي PPT، PPTX أو ODP، إلخ. +## **تسليط الضوء على النص** -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("title", Color.LightBlue); // تمييز جميع كلمات 'مهم' -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("to", Color.Violet, new TextHighlightingOptions() +تتيح لك طريقة [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/) تمييز جزء من النص بلون خلفية بناءً على عينة نص مطابقة. + +لاستخدام هذه الطريقة، اتبع الخطوات التالية: + +1. إنشاء كائن من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) باستخدام ملف إدخال (PPT، PPTX، ODP، إلخ). +2. الوصول إلى الشريحة المطلوبة باستخدام مجموعة [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/). +3. الوصول إلى الشكل المستهدف من مجموعة [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) وتحويله إلى [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +4. تمييز النص المطلوب باستخدام طريقة [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/) من خلال تقديم النص النموذجي واللون. +5. حفظ العرض بالتنسيق المطلوب (مثل PPT، PPTX، ODP). + +المثال البرمجي أدناه يبرز جميع حالات الأحرف **"try"** والكلمة الكاملة **"to"**. +```cs +using (var presentation = new Presentation("sample.pptx")) { - WholeWordsOnly = true -}); // تمييز جميع وقوعات 'the' المنفصلة -presentation.Save("SomePresentation-out2.pptx", SaveFormat.Pptx); + // الحصول على الشكل الأول من الشريحة الأولى. + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; + + // تمييز الكلمة "try" في الشكل. + shape.TextFrame.HighlightText("try", Color.LightBlue); + + var searchOptions = new TextSearchOptions() + { + WholeWordsOnly = true + }; + + // تمييز الكلمة "to" في الشكل. + shape.TextFrame.HighlightText("to", Color.Violet, searchOptions, null); + + presentation.Save("highlighted_text.pptx", SaveFormat.Pptx); +} ``` -{{% alert color="primary" %}} -تقدم Aspose خدمة [تحرير PowerPoint مجانية على الإنترنت](https://products.aspose.app/slides/editor) +النتيجة: +![النص المظلل](highlighted_text.png) +{{% alert color="primary" %}} +توفر Aspose [محرر PowerPoint مجاني عبر الإنترنت](https://products.aspose.app/slides/editor). {{% /alert %}} +## **تسليط الضوء على النص باستخدام التعابير النمطية** -## **تمييز النص باستخدام تعبير منتظم** -تمت إضافة طريقة HighlightRegex جديدة إلى واجهة ITextFrame وclass TextFrame. - -يسمح بتمييز جزء من النص بلون الخلفية باستخدام regex، مشابهًا لأداة لون تمييز النص في PowerPoint 2019. +تتيح لك Aspose.Slides لـ .NET البحث وتظليل أجزاء محددة من النص في شرائح PowerPoint باستخدام التعابير النمطية. تكون هذه الميزة مفيدة بشكل خاص عندما تحتاج إلى إبراز الكلمات المفتاحية أو الأنماط أو المحتوى المستند إلى البيانات بصورة ديناميكية. تسمح طريقة [ITextFrame.HighlightRegex](https://docs.aspose.com/slides/net/text-formatting/) لك بتظليل أجزاء من النص بلون خلفية باستخدام تعبير نمطي. +المثال البرمجي أدناه يبرز جميع الكلمات التي تحتوي على **سبعة أحرف أو أكثر**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; -توضح المقتطفات البرمجية أدناه كيفية استخدام هذه الميزة: + // تمييز جميع الكلمات التي تحتوي على سبعة أحرف أو أكثر. + shape.TextFrame.HighlightRegex(@"\b[^\s]{7,}\b", Color.Yellow, null); -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -TextHighlightingOptions options = new TextHighlightingOptions(); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightRegex(@"\b[^\s]{5,}\b", Color.Blue, options); // تمييز جميع الكلمات التي تحتوي على 10 رموز أو أكثر -presentation.Save("SomePresentation-out.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text_using_regex.pptx", SaveFormat.Pptx); +} ``` -## **تعيين لون خلفية النص** -تتيح Aspose.Slides لك تحديد اللون المفضل لديك لخلفية النص. +النتيجة: +![النص المظلل باستخدام التعبير النمطي](highlighted_text_using_regex.png) -يوضح هذا الكود C# كيفية تعيين لون الخلفية لنص كامل: +## **تعيين لون خلفية النص** -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("أسود"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" أحمر "); - - var portion3 = new Portion("أسود"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +تمكنك Aspose.Slides لـ .NET من تطبيق ألوان خلفية على فقرات كاملة أو أجزاء نصية فردية في شرائح PowerPoint. هذه الوظيفة مفيدة عندما تريد تظليل كلمات أو عبارات محددة، أو جذب الانتباه إلى رسائل رئيسية، أو تحسين الجاذبية البصرية لعروضك التقديمية. -using (Presentation pres = new Presentation("text.pptx")) +المثال البرمجي التالي يوضح كيفية تعيين لون الخلفية لل**فقرة بأكملها**: +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - foreach (IPortion portion in autoShape.TextFrame.Paragraphs[0].Portions) - { - portion.PortionFormat.HighlightColor.Color = Color.Blue; - } + // تعيين لون التمييز للفقرة بأكملها. + paragraph.ParagraphFormat.DefaultPortionFormat.HighlightColor.Color = Color.LightGray; - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("gray_paragraph.pptx", SaveFormat.Pptx); } ``` -هذا الكود C# يوضح لك كيفية تعيين لون الخلفية لجزء فقط من النص: -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("أسود"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" أحمر "); - - var portion3 = new Portion("أسود"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +النتيجة: +![الفقرة الرمادية](gray_paragraph.png) -using (Presentation pres = new Presentation("text.pptx")) +المثال البرمجي أدناه يوضح كيفية تعيين لون الخلفية لـ **أجزاء النص ذات الخط الغامق**: +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - IPortion redPortion = autoShape.TextFrame.Paragraphs[0].Portions - .First(p => p.Text.Contains("أحمر")); + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // تعيين لون التمييز لجزء النص. + portion.PortionFormat.HighlightColor.Color = Color.LightGray; + } + } - redPortion.PortionFormat.HighlightColor.Color = Color.Red; - - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("gray_text_portions.pptx", SaveFormat.Pptx); } ``` -## **محاذاة فقرات النص** -يعتبر تنسيق النص أحد العناصر الرئيسية أثناء إنشاء أي نوع من الوثائق أو العروض التقديمية. نعلم أن Aspose.Slides لـ .NET تدعم إضافة نص إلى الشرائح ولكن في هذا الموضوع، سنرى كيف يمكننا التحكم في محاذاة فقرات النص في شريحة. يرجى اتباع الخطوات أدناه لمحاذاة فقرات النص باستخدام Aspose.Slides لـ .NET : +النتيجة: +![أجزاء النص الرمادية](gray_text_portions.png) -1. إنشاء كائن من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -2. الحصول على مرجع لشريحة باستخدام الفهرس الخاص بها. -3. الوصول إلى أشكال العناصر النائبة الموجودة في الشريحة وتحويلها إلى AutoShape. -4. الحصول على الفقرة (التي تحتاج إلى محاذاة) من TextFrame المعرض بواسطة AutoShape. -5. محاذاة الفقرة. يمكن محاذاة الفقرة إلى اليمين أو اليسار أو المنتصف أو تبريرها. -6. كتابة العرض المعدل كملف PPTX. +## **محاذاة فقرات النص** -تم تنفيذ الخطوات أعلاه أدناه. +تُعد محاذاة النص جانبًا أساسيًا في تنسيق الشرائح يؤثر على كل من قابلية القراءة والجاذبية البصرية. في Aspose.Slides لـ .NET، يمكنك التحكم بدقة في محاذاة الفقرات داخل إطارات النص، مما يضمن عرض المحتوى بصورة متسقة—سواءً كان مركزيًا، أو مَحاذً إلى اليسار، أو إلى اليمين، أو مبررًا. يوضح هذا القسم كيفية تطبيق وتخصيص محاذاة النص في عروض PowerPoint الخاصة بك. -```c# -// إنشاء كائن Presentation يمثل ملف PPTX -using (Presentation pres = new Presentation("ParagraphsAlignment.pptx")) +المثال البرمجي التالي يوضح كيفية محاذاة الفقرة إلى **الوسط**: +```cs +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // الوصول إلى الشريحة الأولى - ISlide slide = pres.Slides[0]; - - // الوصول إلى العنصر النائب الأول والثاني في الشريحة وتحويله إلى AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; - - // تغيير النص في كلا العنصرين - tf1.Text = "محاذاة مركزية بواسطة Aspose"; - tf2.Text = "محاذاة مركزية بواسطة Aspose"; - - // الحصول على الفقرة الأولى من العنصرين النائبين - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - - // محاذاة فقرة النص إلى المنتصف - para1.ParagraphFormat.Alignment = TextAlignment.Center; - para2.ParagraphFormat.Alignment = TextAlignment.Center; + // تعيين محاذاة الفقرة إلى الوسط. + paragraph.ParagraphFormat.Alignment = TextAlignment.Center; - // كتابة العرض كملف PPTX - pres.Save("Centeralign_out.pptx", SaveFormat.Pptx); + presentation.Save("aligned_paragraph.pptx", SaveFormat.Pptx); } ``` +النتيجة: +![الفقرة المحاذاة](aligned_paragraph.png) + ## **تعيين الشفافية للنص** -توضح هذه المقالة كيفية تعيين خاصية الشفافية لأي شكل نص باستخدام Aspose.Slides لـ .NET. من أجل تعيين الشفافية على النص. يرجى اتباع الخطوات أدناه: -1. إنشاء كائن من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -2. الحصول على مرجع لشريحة. -3. تعيين لون الظل -4. كتابة العرض كملف PPTX. +يسمح ضبط شفافية النص بإنشاء تأثيرات بصرية دقيقة وتحسين جمالية الشرائح. توفر Aspose.Slides لـ .NET القدرة على تعيين مستوى شفافية الفقرات وأجزاء النص، مما يسهل دمج النص مع الخلفيات أو إبراز عناصر محددة. يوضح هذا القسم كيفية تطبيق إعدادات الشفافية على النص في عروضك. -تم تنفيذ الخطوات أعلاه أدناه. +المثال البرمجي أدناه يوضح كيفية تطبيق الشفافية على **الفقرة بأكملها**: +```cs +int alpha = 50; -```c# -using (Presentation pres = new Presentation("transparency.pptx")) +using (var presentation = new Presentation("sample.pptx")) { - IAutoShape shape = (IAutoShape)pres.Slides[0].Shapes[0]; - IEffectFormat effects = shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.EffectFormat; - - IOuterShadow outerShadowEffect = effects.OuterShadowEffect; - - Color shadowColor = outerShadowEffect.ShadowColor.Color; - Console.WriteLine($"{shadowColor} - الشفافية هي: {((float)shadowColor.A / byte.MaxValue) * 100}"); + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // تعيين الشفافية إلى صفر بالمئة - outerShadowEffect.ShadowColor.Color = Color.FromArgb(255, shadowColor); + // تعيين لون تعبئة النص إلى لون شفاف. + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); - pres.Save("transparency-2.pptx", SaveFormat.Pptx); + presentation.Save("transparent_paragraph.pptx", SaveFormat.Pptx); } ``` -## **تعيين تباعد الأحرف للنص** -تتيح Aspose.Slides لك تعيين المسافة بين الحروف في مربع نص. بهذه الطريقة، يمكنك ضبط الكثافة البصرية لخط أو كتلة نصية عن طريق توسيع أو تقليل المسافة بين الأحرف. +النتيجة: +![الفقرة الشفافة](transparent_paragraph.png) -يوضح هذا الكود C# كيف يمكنك توسيع المسافة لخط واحد من النص وتقليل المسافة لخط آخر: +المثال البرمجي التالي يوضح كيفية تطبيق الشفافية على **أجزاء النص ذات الخط الغامق**: +```cs +int alpha = 50; -```c# -var presentation = new Presentation("in.pptx"); - -var textBox1 = (IAutoShape) presentation.Slides[0].Shapes[0]; -var textBox2 = (IAutoShape) presentation.Slides[0].Shapes[1]; +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -textBox1.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = 20; // توسيع -textBox2.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = -2; // تقليل + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // تعيين شفافية جزء النص. + portion.PortionFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); + } + } -presentation.Save("out.pptx", SaveFormat.Pptx); + presentation.Save("transparent_text_portions.pptx", SaveFormat.Pptx); +} ``` -## **إدارة خصائص خط الفقرة** -تحتوي العروض التقديمية عادةً على كل من النصوص والصور. يمكن تنسيق النص بطرق متنوعة، إما لتسليط الضوء على أقسام وكلمات محددة، أو للامتثال للأساليب المؤسسية. يساعد تنسيق النص المستخدمين على تغيير الشكل والمظهر لمحتوى العرض التقديمي. توضح هذه المقالة كيفية استخدام Aspose.Slides لـ .NET لتكوين خصائص خط الفقرات النص على الشرائح. لإدارة خصائص خط فقرة باستخدام Aspose.Slides لـ .NET : +النتيجة: +![أجزاء النص الشفافة](transparent_text_portions.png) -1. إنشاء كائن من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -2. الحصول على مرجع لشريحة باستخدام فهرسها. -3. الوصول إلى أشكال العنصر النائب في الشريحة وتحويلها إلى AutoShape. -4. الحصول على الفقرة من TextFrame المعرض بواسطة AutoShape. -5. تبرير الفقرة. -6. الوصول إلى جزء نص فقرة. -7. تعريف الخط باستخدام FontData وتعيين الخط لجزء النص وفقًا لذلك. - 1. تعيين الخط كعريض. - 1. تعيين الخط كإيطالي. -8. تعيين لون الخط باستخدام FillFormat المعروض بواسطة كائن Portion. -9. كتابة العرض المعدل كملف [PPTX](https://docs.fileformat.com/presentation/pptx/) . +## **تعيين تباعد الأحرف للنص** -تم تنفيذ الخطوات أعلاه أدناه. يأخذ عرضًا غير مزخرف ويدرج تنسيقات الخطوط على واحدة من الشرائح. +تتيح لك Aspose.Slides ضبط التباعد بين الحروف في مربع النص. يتيح لك ذلك تعديل الكثافة البصرية لخط أو كتلة نصية عن طريق توسيع أو تضييق المسافة بين الأحرف. -```c# -// إنشاء كائن Presentation يمثل ملف PPTX -using (Presentation pres = new Presentation("FontProperties.pptx")) +الكود C# التالي يوضح كيفية توسيع تباعد الأحرف في **الفقرة بأكملها**: +```cs +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // الوصول إلى الشريحة باستخدام موضعها - ISlide slide = pres.Slides[0]; - - // الوصول إلى العنصر النائب الأول والثاني في الشريحة وتحويلها إلى AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; - - // الوصول إلى الفقرة الأولى - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - - // الوصول إلى الجزء الأول - IPortion port1 = para1.Portions[0]; - IPortion port2 = para2.Portions[0]; + // ملاحظة: استخدم القيم السلبية لتقليل تباعد الأحرف. + paragraph.ParagraphFormat.DefaultPortionFormat.Spacing = 3; // توسيع تباعد الأحرف. - // تعريف خطوط جديدة - FontData fd1 = new FontData("Elephant"); - FontData fd2 = new FontData("Castellar"); + presentation.Save("character_spacing_in_paragraph.pptx", SaveFormat.Pptx); +} +``` - // تعيين الخطوط الجديدة للجزء - port1.PortionFormat.LatinFont = fd1; - port2.PortionFormat.LatinFont = fd2; - // تعيين الخط كعريض - port1.PortionFormat.FontBold = NullableBool.True; - port2.PortionFormat.FontBold = NullableBool.True; +النتيجة: +![تباعد الأحرف في الفقرة](character_spacing_in_paragraph.png) - // تعيين الخط كإيطالي - port1.PortionFormat.FontItalic = NullableBool.True; - port2.PortionFormat.FontItalic = NullableBool.True; +المثال البرمجي أدناه يوضح كيفية توسيع تباعد الأحرف في **أجزاء النص ذات الخط الغامق**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // تعيين لون الخط - port1.PortionFormat.FillFormat.FillType = FillType.Solid; - port1.PortionFormat.FillFormat.SolidFillColor.Color = Color.Purple; - port2.PortionFormat.FillFormat.FillType = FillType.Solid; - port2.PortionFormat.FillFormat.SolidFillColor.Color = Color.Peru; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // ملاحظة: استخدم القيم السلبية لتقليل تباعد الأحرف. + portion.PortionFormat.Spacing = 3; // توسيع تباعد الأحرف. + } + } - // كتابة PPTX إلى القرص - pres.Save("WelcomeFont_out.pptx", SaveFormat.Pptx); + presentation.Save("character_spacing_in_text_portions.pptx", SaveFormat.Pptx); } ``` -## **إدارة عائلة الخط للنص** -يستخدم الجزء للاحتفاظ بالنص الذي له نمط تنسيق مشابه في فقرة. توضح هذه المقالة كيفية استخدام Aspose.Slides لـ .NET لإنشاء مربع نص ببعض النص ثم تعريف خط معين، وخصائص أخرى مختلفة من فئة عائلة الخط. لإنشاء مربع نص وتعيين خصائص الخط للنص بداخله: +النتيجة: +![تباعد الأحرف في أجزاء النص](character_spacing_in_text_portions.png) -1. إنشاء كائن من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -2. الحصول على مرجع لشريحة باستخدام فهرسها. -3. إضافة AutoShape من نوع مستطيل إلى الشريحة. -4. إزالة نمط التعبئة المرتبط بـ AutoShape. -5. الوصول إلى TextFrame الخاص بـ AutoShape. -6. إضافة بعض النص إلى TextFrame. -7. الوصول إلى كائن Portion المرتبط بـ TextFrame. -8. تحديد الخط الذي سيتم استخدامه للجزء. -9. تحديد خصائص خط أخرى مثل العريض، الإيطالي، والتسطير، اللون والارتفاع باستخدام الخصائص المناسبة كما هو معروض بواسطة كائن Portion. -10. كتابة العرض المعدل كملف PPTX. +## **إدارة خصائص خط النص** -تم تنفيذ الخطوات أعلاه أدناه. +تتيح لك Aspose.Slides لـ .NET ضبط إعدادات الخط بدقة على مستوى الفقرة وعلى مستوى أجزاء النص الفردية، مما يضمن التناسق البصري وتلبية متطلبات تصميم العرض. يمكنك تحديد أنماط الخطوط، الأحجام، وخيارات التنسيق الأخرى لكافة الفقرات، مما يمنحك سيطرة أكبر على مظهر النص. يوضح هذا القسم كيفية إدارة خصائص الخط للنصوص الفقرية في الشريحة. -```c# -// إنشاء Presentation -using (Presentation presentation = new Presentation()) +الكود التالي يحدد الخط ونمط النص للفقرة بأكملها: يطبق حجم الخط، غامق، مائل، تسطير منقط، وخط Times New Roman على جميع أجزاء الفقرة. +```cs +using (var presentation = new Presentation("sample.pptx")) { - - // الحصول على الشريحة الأولى - ISlide sld = presentation.Slides[0]; - - // إضافة AutoShape من نوع مستطيل - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); - - // إزالة أي نمط تعبئة مرتبط بـ AutoShape - ashp.FillFormat.FillType = FillType.NoFill; - - // الوصول إلى TextFrame المرتبط بـ AutoShape - ITextFrame tf = ashp.TextFrame; - tf.Text = "مربع نص Aspose"; - - // الوصول إلى الجزء المرتبط بـ TextFrame - IPortion port = tf.Paragraphs[0].Portions[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // تعيين الخط للجزء - port.PortionFormat.LatinFont = new FontData("Times New Roman"); + // تعيين خصائص الخط للفقرة. + paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 12; + paragraph.ParagraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontItalic = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontUnderline = TextUnderlineType.Dotted; + paragraph.ParagraphFormat.DefaultPortionFormat.LatinFont = new FontData("Times New Roman"); - // تعيين خاصية العريض للخط - port.PortionFormat.FontBold = NullableBool.True; + presentation.Save("font_properties_for_paragraph.pptx", SaveFormat.Pptx); +} +``` - // تعيين خاصية الإيطالي للخط - port.PortionFormat.FontItalic = NullableBool.True; - // تعيين خاصية التسطير للخط - port.PortionFormat.FontUnderline = TextUnderlineType.Single; +النتيجة: +![خصائص الخط للفقرة](font_properties_for_paragraph.png) - // تعيين ارتفاع الخط - port.PortionFormat.FontHeight = 25; +المثال البرمجي أدناه يطبق خصائص مشابهة على **أجزاء النص ذات الخط الغامق**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // تعيين لون الخط - port.PortionFormat.FillFormat.FillType = FillType.Solid; - port.PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // تعيين خصائص الخط لجزء النص. + portion.PortionFormat.FontHeight = 13; + portion.PortionFormat.FontItalic = NullableBool.True; + portion.PortionFormat.FontUnderline = TextUnderlineType.Dotted; + portion.PortionFormat.LatinFont = new FontData("Times New Roman"); + } + } - // كتابة العرض إلى القرص - presentation.Save("SetTextFontProperties_out.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_text_portions.pptx", SaveFormat.Pptx); } ``` -## **تعيين حجم الخط للنص** - -تتيح Aspose.Slides لك اختيار حجم الخط المفضل لديك للنص الموجود في فقرة والنصوص الأخرى التي قد تضاف إلى الفقرة لاحقًا. -يوضح هذا C# كيفية تعيين حجم الخط للنص الموجود في فقرة: +النتيجة: +![خصائص الخط لأجزاء النص](font_properties_for_text_portions.png) -```c# -var presentation = new Presentation("example.pptx"); +## **تعيين دوران النص** -// يحصل على الشكل الأول، على سبيل المثال. -var shape = presentation.Slides[0].Shapes[0]; +يمكن أن يعزز تدوير النص تخطيط شرائحك ويساعد على إبراز محتوى معين. باستخدام Aspose.Slides لـ .NET، يمكنك بسهولة تطبيق دوران على النص داخل الأشكال، وضبط الزاوية لتتناسب مع تصميمك. يوضح هذا القسم كيفية تعيين والتحكم في دوران النص لتحقيق التأثير البصري المطلوب. -if (shape is IAutoShape autoShape) +الكود التالي يضبط اتجاه النص في الشكل إلى `Vertical270`، مما يدير النص **90 درجة عكس اتجاه عقارب الساعة**: +```cs +using (var presentation = new Presentation("sample.pptx")) { - // يحصل على الفقرة الأولى، على سبيل المثال. - var paragraph = autoShape.TextFrame.Paragraphs[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; - // تعيين الحجم الافتراضي للخط إلى 20 pt لجميع أجزاء النص في الفقرة. - paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 20; + autoShape.TextFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; - // تعيين حجم الخط إلى 20 pt للجزء الحالي من النص في الفقرة. - foreach (var portion in paragraph.Portions) - { - portion.PortionFormat.FontHeight = 20; - } + presentation.Save("text_rotation.pptx", SaveFormat.Pptx); } - -presentation.Save("output.pptx", SaveFormat.Pptx); ``` -## **تعيين دوران النص** -تتيح Aspose.Slides لـ .NET للمطورين تدوير النص. يمكن تعيين النص ليظهر كأفقي، عمودي، عمودي 270، عمودي WordArt، عمودي EastAsian، عمودي Mongolian أو عمودي WordArt من اليمين إلى اليسار. لتدوير نص أي TextFrame، يرجى اتباع الخطوات أدناه: +النتيجة: +![دوران النص](text_rotation.png) -1. إنشاء كائن من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -2. الوصول إلى الشريحة الأولى. -3. إضافة أي شكل إلى الشريحة. -4. الوصول إلى TextFrame. -5. تدوير النص. -6. حفظ الملف على القرص. +## **تعيين دوران مخصص لإطارات النص** -```c# -// إنشاء كائن من Presentation class -Presentation presentation = new Presentation(); +يسمح تعيين زاوية دوران مخصصة لـ `TextFrame` بوضع النص بزايا دقيقة، مما يتيح تصاميم شرائح أكثر إبداعًا ومرونة. توفر Aspose.Slides لـ .NET تحكمًا كاملًا في دوران إطارات النص، مما يسهل محاذاة النص مع عناصر الشريحة الأخرى. يوضح هذا القسم كيفية تطبيق زاوية دوران محددة على `TextFrame`. -// الحصول على الشريحة الأولى -ISlide slide = presentation.Slides[0]; +الكود التالي يدور إطار النص بزاوية 3 درجات باتجاه عقارب الساعة داخل الشكل: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// إضافة AutoShape من نوع مستطيل -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); + autoShape.TextFrame.TextFrameFormat.RotationAngle = 3; -// إضافة TextFrame إلى المستطيل -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; + presentation.Save("custom_text_rotation.pptx", SaveFormat.Pptx); +} +``` -// الوصول إلى إطار النص -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; -// إنشاء كائن Paragraph لإطار النص -IParagraph para = txtFrame.Paragraphs[0]; +النتيجة: +![دوران النص المخصص](custom_text_rotation.png) -// إنشاء كائن Portion للفقرة -IPortion portion = para.Portions[0]; -portion.Text = "ثور بني سريع يقفز فوق الكلب الكسول. ثور بني سريع يقفز فوق الكلب الكسول."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; +## **ضبط تباعد الأسطر للفقرات** -// حفظ العرض -presentation.Save("RotateText_out.pptx", SaveFormat.Pptx); -``` +توفر Aspose.Slides الخصائص `SpaceAfter` و `SpaceBefore` و `SpaceWithin` ضمن فئة [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/)، مما يتيح لك إدارة تباعد الأسطر لفقرة. تُستخدم هذه الخصائص كما يلي: +* استخدام قيمة موجبة لتحديد تباعد الأسطر كنسبة مئوية من ارتفاع السطر. +* استخدام قيمة سالبة لتحديد تباعد الأسطر بالنقاط. -## **تعيين زاوية دوران مخصصة لـ TextFrame** -تدعم Aspose.Slides لـ .NET الآن، تعيين زاوية دوران مخصصة لـ textframe. في هذا الموضوع، سنرى مع المثال كيفية تعيين خاصية RotationAngle في Aspose.Slides. تم إضافة خاصية RotationAngle جديدة إلى الواجهات IChartTextBlockFormat وITextFrameFormat، مما يسمح بتعيين زاوية الدوران المخصصة لـ textframe. من أجل تعيين خاصية RotationAngle، يرجى اتباع الخطوات أدناه: +الكود التالي يوضح كيفية تحديد تباعد الأسطر داخل الفقرة: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -1. إنشاء كائن من [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -2. إضافة مخطط على الشريحة. -3. تعيين خاصية RotationAngle. -4. كتابة العرض كملف PPTX. + paragraph.ParagraphFormat.SpaceWithin = 200; -في المثال أدناه، نقوم بتعيين خاصية RotationAngle. + presentation.Save("line_spacing.pptx", SaveFormat.Pptx); +} +``` -```c# -// إنشاء كائن من Presentation class -Presentation presentation = new Presentation(); -IChart chart = presentation.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 300); +النتيجة: +![تباعد الأسطر داخل الفقرة](line_spacing.png) -IChartSeries series = chart.ChartData.Series[0]; +## **تعيين نوع الضبط التلقائي لإطارات النص** -series.Labels.DefaultDataLabelFormat.ShowValue = true; -series.Labels.DefaultDataLabelFormat.TextFormat.TextBlockFormat.RotationAngle = 65; +تحدد الخاصية AutoFitType كيفية تصرف النص عندما يتجاوز حدود الحاوية. تسمح لك Aspose.Slides لـ .NET بالتحكم فيما إذا كان النص يجب أن يتقلص ليتناسب، أو يتجاوز، أو يعيد تحجيم الشكل تلقائيًا. يوضح هذا القسم كيفية تعيين `AutofitType` لـ `TextFrame` لإدارة تخطيط النص بفعالية داخل الأشكال. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -chart.HasTitle = true; -chart.ChartTitle.AddTextFrameForOverriding("عنوان مخصص").TextFrameFormat.RotationAngle = -30; + autoShape.TextFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// حفظ العرض -presentation.Save("textframe-rotation_out.pptx", SaveFormat.Pptx); + presentation.Save("autofit_type.pptx", SaveFormat.Pptx); +} ``` -## **تباعد الأسطر للفقرات** -توفر Aspose.Slides خصائص ([SpaceAfter](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spaceafter)، [SpaceBefore](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacebefore)، و[SpaceWithin](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacewithin)) تحت فئة [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/) التي تسمح لك بإدارة تباعد الأسطر لفقرات محددة. يتم استخدام الخصائص الثلاث بهذه الطريقة: - -* لتحديد تباعد الأسطر لفقرة معينة كنسبة مئوية، استخدم قيمة إيجابية. -* لتحديد تباعد الأسطر لفقرة معينة بالنقاط، استخدم قيمة سالبة. - -على سبيل المثال، يمكنك تطبيق تباعد خط بحجم 16 نقطة على فقرة من خلال تعيين خاصية `SpaceBefore` إلى -16. +## **تعيين مرساة إطارات النص** -هذا هو كيف تحدد تباعد الأسطر لفقرة محددة: +تحدد المرساة كيفية وضع النص داخل الشكل رأسياً. باستخدام Aspose.Slides لـ .NET، يمكنك تعيين نوع المرساة لـ `TextFrame` لمحاذاة النص إلى أعلى، أو وسط، أو أسفل الشكل. يوضح هذا القسم كيفية تعديل إعدادات المرساة لتحقيق محاذاة رأسية مرغوبة لمحتوى النص. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -1. تحميل عرض يحتوي على AutoShape وبعض النص فيه. -2. الحصول على مرجع الشريحة من خلال فهرسها. -3. الوصول إلى TextFrame. -4. الوصول إلى الفقرة. -5. تعيين خصائص الفقرة. -6. حفظ العرض. + autoShape.TextFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; -يوضح هذا الكود C# كيفية تحديد تباعد الأسطر لفقرة: + presentation.Save("text_anchor.pptx", SaveFormat.Pptx); +} +``` -```c# -// إنشاء كائن من Presentation class -Presentation presentation = new Presentation("Fonts.pptx"); -// الحصول على مرجع الشريحة من خلال فهرسها -ISlide sld = presentation.Slides[0]; +## **تعيين جدولة النص** -// الوصول إلى TextFrame -ITextFrame tf1 = ((IAutoShape)sld.Shapes[0]).TextFrame; +تساعد الجدولة على تنظيم النص في تخطيطات منظمة جيدًا عن طريق إضافة مسافات متسقة بين عناصر المحتوى. يدعم Aspose.Slides لـ .NET ضبط فواصل تبويب مخصصة داخل فقرات النص، مما يتيح تحكمًا دقيقًا في موضع النص. يوضح هذا القسم كيفية تكوين جدولة النص لتحسين المحاذاة والتنسيق. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// الوصول إلى الفقرة -IParagraph para1 = tf1.Paragraphs[0]; + paragraph.ParagraphFormat.DefaultTabSize = 100; + paragraph.ParagraphFormat.Tabs.Add(30, TabAlignment.Left); -// تعيين خصائص الفقرة -para1.ParagraphFormat.SpaceWithin = 80; -para1.ParagraphFormat.SpaceBefore = 40; -para1.ParagraphFormat.SpaceAfter = 40; -// حفظ العرض -presentation.Save("LineSpacing_out.pptx", SaveFormat.Pptx); + presentation.Save("paragraph_tabs.pptx", SaveFormat.Pptx); +} ``` -## **تعيين خاصية AutofitType لإطار النص** -في هذا الموضوع، سوف نستكشف الخصائص المختلفة لتنسيق إطار النص. تغطي هذه المقالة كيفية تعيين خاصية AutofitType لإطار النص، ومرساة النص، وتدوير النص في العرض التقديمي. تتيح Aspose.Slides لـ .NET للمطورين تعيين خاصية AutofitType لأي إطار نص. يمكن تعيين AutofitType إلى عادي أو شكل. إذا تم تعيينه إلى عادي، فسيبقى الشكل كما هو بينما سيتم ضبط النص دون تسبب الشكل في تغيير نفسه بينما إذا تم تعيين AutofitType إلى الشكل، فستتم تعديل الشكل بحيث يحتوى فقط على النص المطلوب فيه. لتعيين خاصية AutofitType لإطار نص، يرجى اتباع الخطوات أدناه: +النتيجة: +![فواصل الفقرة](paragraph_tabs.png) -1. إنشاء كائن من [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -2. الوصول إلى الشريحة الأولى. -3. إضافة أي شكل إلى الشريحة. -4. الوصول إلى TextFrame. -5. تعيين AutofitType لـ TextFrame. -6. حفظ الملف على القرص. +## **تعيين لغة التدقيق** -```c# -// إنشاء كائن من Presentation class -Presentation presentation = new Presentation(); +توفر Aspose.Slides الخاصية `LanguageId` ضمن فئة [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/)، والتي تسمح لك بتعيين لغة التدقيق لتوثيق PowerPoint. تحدد لغة التدقيق اللغة المستخدمة لتدقيق الإملاء والقواعد في PowerPoint. -// الوصول إلى الشريحة الأولى -ISlide slide = presentation.Slides[0]; +الكود التالي يوضح كيفية تعيين لغة التدقيق لجزء نصي: +```cs +using (var presentation = new Presentation("presentation.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// إضافة AutoShape من نوع مستطيل -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); + var paragraph = autoShape.TextFrame.Paragraphs[0]; + paragraph.Portions.Clear(); -// إضافة TextFrame إلى المستطيل -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; + var font = new FontData("SimSun"); -// الوصول إلى إطار النص -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; + var textPortion = new Portion(); + textPortion.PortionFormat.ComplexScriptFont = font; + textPortion.PortionFormat.EastAsianFont = font; + textPortion.PortionFormat.LatinFont = font; -// إنشاء كائن Paragraph لإطار النص -IParagraph para = txtFrame.Paragraphs[0]; + // تعيين معرف لغة التدقيق. + textPortion.PortionFormat.LanguageId = "zh-CN"; -// إنشاء كائن Portion للفقرة -IPortion portion = para.Portions[0]; -portion.Text = "ثور بني سريع يقفز فوق الكلب الكسول. ثور بني سريع يقفز فوق الكلب الكسول."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + textPortion.Text = "1。"; + paragraph.Portions.Add(textPortion); -// حفظ العرض -presentation.Save("formatText_out.pptx", SaveFormat.Pptx); + presentation.Save("proofing_language.pptx", SaveFormat.Pptx); +} ``` -## **تعيين مرساة إطار النص** -تتيح Aspose.Slides لـ .NET للمطورين تعيين مرساة لأي TextFrame. يحدد TextAnchorType مكان وضع هذا النص في الشكل. يمكن تعيين TextAnchorType إلى أعلى أو وسط أو أسفل أو مبرر أو موزع. لتعيين مرساة لأي TextFrame، يرجى اتباع الخطوات أدناه: +## **تعيين اللغة الافتراضية** -1. إنشاء كائن من [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. -2. الوصول إلى الشريحة الأولى. -3. إضافة أي شكل إلى الشريحة. -4. الوصول إلى TextFrame. -5. تعيين TextAnchorType لإطار النص. -6. حفظ الملف على القرص. +يضمن تحديد اللغة الافتراضية للنص صحة تدقيق الإملاء، وتقطيع الكلمات، وسلوك تحويل النص إلى كلام في PowerPoint. تسمح لك Aspose.Slides لـ .NET بتعيين اللغة على مستوى جزء النص أو الفقرة. يوضح هذا القسم كيفية تعريف اللغة الافتراضية لنص العرض التقديمي الخاص بك. +```cs +var loadOptions = new LoadOptions(); +loadOptions.DefaultTextLanguage = "en-US"; -```c# -// إنشاء كائن من Presentation class -Presentation presentation = new Presentation(); +using (var presentation = new Presentation(loadOptions)) +{ + var slide = presentation.Slides[0]; -// الحصول على الشريحة الأولى -ISlide slide = presentation.Slides[0]; + // إضافة شكل مستطيل جديد مع نص. + var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 150, 50); + shape.TextFrame.Text = "Sample text"; -// إضافة AutoShape من نوع مستطيل -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); + // التحقق من لغة الجزء الأول. + var portion = shape.TextFrame.Paragraphs[0].Portions[0]; + Console.WriteLine(portion.PortionFormat.LanguageId); +} +``` -// إضافة TextFrame إلى المستطيل -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; -// الوصول إلى إطار النص -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; +## **تعيين نمط النص الافتراضي** -// إنشاء كائن Paragraph لإطار النص -IParagraph para = txtFrame.Paragraphs[0]; +إذا كنت بحاجة إلى تطبيق نفس تنسيق النص الافتراضي على جميع عناصر النص في العرض مرة واحدة، يمكنك استخدام الخاصية `DefaultTextStyle` من واجهة [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) وتعريف التنسيق المفضل لديك. -// إنشاء كائن Portion للفقرة -IPortion portion = para.Portions[0]; -portion.Text = "ثور بني سريع يقفز فوق الكلب الكسول. ثور بني سريع يقفز فوق الكلب الكسول."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; +الكود التالي يوضح كيفية تعيين خط عريض افتراضي بحجم 14 نقطة لجميع النصوص عبر الشرائح في عرض تقديمي جديد. +```cs +using (var presentation = new Presentation()) +{ + // الحصول على تنسيق الفقرة المستوى الأعلى. + var paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); -// حفظ العرض -presentation.Save("AnchorText_out.pptx", SaveFormat.Pptx); + if (paragraphFormat != null) + { + paragraphFormat.DefaultPortionFormat.FontHeight = 14; + paragraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; + } + + presentation.Save("default_text_style.pptx", SaveFormat.Pptx); +} ``` -## **تعيين تبويب النص** -- EffectiveTabs.ExplicitTabCount (2 في حالتنا هذه) تعادل Tabs.Count. -- تتضمن مجموعة EffectiveTabs جميع علامات التبويب (من مجموعة Tabs وعلامات التبويب الافتراضية) -- EffectiveTabs.ExplicitTabCount (2 في حالتنا هذه) تعادل Tabs.Count. -- تظهر خاصية EffectiveTabs.DefaultTabSize (294) المسافة بين علامات التبويب الافتراضية (3 و 4 في مثالنا). -- ستعيد EffectiveTabs.GetTabByIndex(index) برقم الفهرس = 0 علامة التبويب الصريحة الأولى (الموقع = 731)، الفهرس = 1 - العلامة الثانية (الموقع = 1241). إذا حاولت الحصول على علامة التبويب التالية برقم الفهرس = 2، فسيعيد الانتقال إلى علامة التبويب الافتراضية الأولى (الموقع = 1470) وهكذا. -- مستخدمًا EffectiveTabs.GetTabAfterPosition(pos) للحصول على التبويب التالي بعد نص معين. على سبيل المثال، لديك نص: "Helloworld!". لرسم هذا النص، يجب أن تعرف أين تبدأ "world!". في البداية، يجب عليك حساب طول "Hello" بالبكسل واستدعاء GetTabAfterPosition مع هذه القيمة. ستحصل على الموقع التالي لعرض "world!". -## **تعيين لغة التدقيق** +## **استخراج النص مع تأثير الحروف الكبيرة** -تتيح Aspose.Slides خاصية [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) (المعرضة من فئة [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) لتعيين لغة التدقيق لملف PowerPoint. لغة التدقيق هي اللغة التي يتم من خلالها التحقق من الإملاء والقواعد في PowerPoint. +في PowerPoint، يؤدي تطبيق تأثير الخط **All Caps** إلى ظهور النص بأحرف كبيرة على الشريحة حتى لو كان مكتوبًا أصلاً بأحرف صغيرة. عند استرجاع مثل هذا الجزء النصي باستخدام Aspose.Slides، تُعيد المكتبة النص كما تم إدخاله بالضبط. لمعالجة ذلك، تحقق من [TextCapType](https://reference.aspose.com/slides/net/aspose.slides/textcaptype/)— إذا كان يشير إلى `All`، قم ببساطة بتحويل السلسلة المسترجعة إلى أحرف كبيرة بحيث يتطابق الناتج مع ما يراه المستخدمون على الشريحة. -يوضح هذا الكود C# كيفية تعيين لغة التدقيق لـ PowerPoint: +لنفترض أن لدينا مربع نص التالي على الشريحة الأولى من ملف sample2.pptx. +![تأثير الحروف الكبيرة](all_caps_effect.png) -```c# -using (Presentation pres = new Presentation(pptxFileName)) +المثال البرمجي أدناه يوضح كيفية استخراج النص مع تطبيق تأثير **All Caps**: +```cs +using (var presentation = new Presentation("sample2.pptx")) { - AutoShape autoShape = (AutoShape)pres.Slides[0].Shapes[0]; - - IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; - paragraph.Portions.Clear(); - - Portion newPortion = new Portion(); + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var textPortion = autoShape.TextFrame.Paragraphs[0].Portions[0]; - IFontData font = new FontData("SimSun"); - IPortionFormat portionFormat = newPortion.PortionFormat; - portionFormat.ComplexScriptFont = font; - portionFormat.EastAsianFont = font; - portionFormat.LatinFont = font; + Console.WriteLine($"Original text: {textPortion.Text}"); - portionFormat.LanguageId = "zh-CN"; // تعيين معرف لغة التدقيق - - newPortion.Text = "1。"; - paragraph.Portions.Add(newPortion); + var textFormat = textPortion.PortionFormat.GetEffective(); + if (textFormat.TextCapType == TextCapType.All) + { + var text = textPortion.Text.ToUpper(); + Console.WriteLine($"All-Caps effect: {text}"); + } } ``` -## **تعيين اللغة الافتراضية** - -يوضح هذا الكود C# كيفية تعيين اللغة الافتراضية لعرض PowerPoint بالكامل: -```c# -LoadOptions loadOptions = new LoadOptions(); -loadOptions.DefaultTextLanguage = "en-US"; -using (Presentation pres = new Presentation(loadOptions)) -{ - // إضافة شكل مستطيل جديد مع نص - IAutoShape shp = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 50); - shp.TextFrame.Text = "نص جديد"; - - // يتحقق من لغة العنصر الأول - Console.WriteLine(shp.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId); -} +الناتج: +```text +Original text: Hello, Aspose! +All-Caps effect: HELLO, ASPOSE! ``` -## **تعيين نمط النص الافتراضي** -إذا كنت بحاجة إلى تطبيق نفس تنسيق النص الافتراضي على جميع عناصر نص العرض التقديمي مرة واحدة، فيمكنك استخدام خاصية `DefaultTextStyle` من واجهة [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) وتعيين التنسيق المفضل لديك. يوضح مثال الكود أدناه كيفية تعيين الخط العريض الافتراضي (14 نقطة) للنص على جميع الشرائح في عرض تقديمي جديد. +## **FAQ** -```c# -using (Presentation presentation = new Presentation()) -{ - // الحصول على تنسيق الفقرة الرئيسي. - IParagraphFormat paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); +**كيف يمكن تعديل النص في جدول على شريحة؟** - if (paragraphFormat != null) - { - paragraphFormat.DefaultPortionFormat.FontHeight = 14; - paragraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; - } +لتعديل النص في جدول على شريحة، تحتاج إلى استخدام كائن [ITable](https://reference.aspose.com/slides/net/aspose.slides/itable/). يمكنك المرور على جميع الخلايا في الجدول وتغيير النص في كل خلية عبر الوصول إلى خصائص `TextFrame` و `ParagraphFormat` داخل كل خلية. - presentation.Save("DefaultTextStyle.pptx", SaveFormat.Pptx); -} -``` \ No newline at end of file +**كيف يمكن تطبيق لون متدرج على النص في شريحة PowerPoint؟** + +لتطبيق لون متدرج على النص، استخدم الخاصية `FillFormat` في [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/). اضبط `FillFormat` على `Gradient`، حيث يمكنك تحديد ألوان البداية والنهاية للمتدرج، بالإضافة إلى خصائص أخرى مثل الاتجاه والشفافية لإنشاء تأثير المتدرج على النص. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-text/wordart/_index.md b/ar/net/developer-guide/presentation-content/manage-text/wordart/_index.md index 18f893439f..8f80551362 100644 --- a/ar/net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,372 +1,257 @@ --- -title: وورد آرت +title: إنشاء وتطبيق تأثيرات WordArt في C# +linktitle: ووردآرت type: docs weight: 110 url: /ar/net/wordart/ -keywords: "وورد آرت، فن الكتابة، إنشاء وورد آرت، قالب وورد آرت، تأثيرات وورد آرت، تأثيرات الظل، تأثيرات العرض، تأثيرات الوهج، تحولات وورد آرت، تأثيرات ثلاثية الأبعاد، تأثيرات الظل الخارجي، تأثيرات الظل الداخلي، C#، Csharp، Aspose.Slides لـ .NET" -description: "إضافة وتعديل وإدارة وورد آرت وتأثيراته في عروض PowerPoint باستخدام C# أو Aspose.Slides لـ .NET" +keywords: +- WordArt +- إنشاء WordArt +- قالب WordArt +- تأثير WordArt +- تأثير الظل +- تأثير العرض +- تأثير التوهج +- تحويل WordArt +- تأثير 3D +- تأثير الظل الخارجي +- تأثير الظل الداخلي +- C# +- Csharp +- .NET +- Aspose.Slides +description: "تعلم كيفية إنشاء وتخصيص تأثيرات WordArt في Aspose.Slides for .NET. يساعد هذا الدليل خطوة بخطوة المطورين على تحسين العروض التقديمية بنص أنيق ومهني باستخدام C#." --- -## **ما هو وورد آرت؟** -وورد آرت هو ميزة تسمح لك بتطبيق تأثيرات على النصوص لجعلها تبرز. مع وورد آرت، على سبيل المثال، يمكنك تحديد نص أو ملؤه بلون (أو تدرج)، أو إضافة تأثيرات ثلاثية الأبعاد، إلخ. يمكنك أيضًا تشويه أو ثني أو تمديد شكل النص. +## **نظرة عامة** -{{% alert color="primary" %}} - -يتيح لك وورد آرت التعامل مع النص كما لو كان كائنًا رسوميًا. تتكون وورد آرت من تأثيرات أو تعديلات خاصة يتم تطبيقها على النصوص لجعلها أكثر جذبًا أو ملحوظية. - -{{% /alert %}} - -**وورد آرت في Microsoft PowerPoint** - -لاستخدام وورد آرت في Microsoft PowerPoint، يجب عليك اختيار أحد قوالب وورد آرت المحددة مسبقًا. قالب وورد آرت هو مجموعة من التأثيرات التي تُطبق على نص أو شكله. - -**وورد آرت في Aspose.Slides** - -في Aspose.Slides لـ .NET 20.10، قمنا بتنفيذ دعم لوورد آرت وأدخلنا تحسينات على الميزة في الإصدارات التالية من Aspose.Slides لـ .NET. - -مع Aspose.Slides لـ .NET، يمكنك بسهولة إنشاء قالب وورد آرت الخاص بك (تأثير واحد أو مجموعة من التأثيرات) في C# وتطبيقه على النصوص. +تسمح تأثيرات WordArt لك بإضافة نص ذو مظهر جذاب ومُصمم إلى عروض PowerPoint الخاصة بك. باستخدام Aspose.Slides for .NET، يمكن للمطورين إنشاء WordArt وتخصيصه وإدارته برمجيًا كما في Microsoft PowerPoint — دون الحاجة لتثبيت Office. تُقدِّم هذه المقالة نظرة عامة على العمل مع WordArt في .NET، بما في ذلك كيفية تطبيق تحولات النص، أنماط التعبئة، الخطوط الخارجية، الظلال، وغيرها من خيارات التنسيق لجعل محتوى العرض أكثر تعبيرًا وجاذبية. يسمح WordArt لك بمعاملة النص ككائن رسومي. يتكون من تأثيرات أو تعديلات خاصة تُطبق على النص لجعله أكثر جاذبية أو وضوحًا. -## إنشاء قالب وورد آرت بسيط وتطبيقه على نص +## **إنشاء قالب WordArt بسيط وتطبيقه على النص** -**باستخدام Aspose.Slides** +في هذا القسم، سنستكشف كيفية إنشاء قالب WordArt بسيط وتطبيقه على النص باستخدام Aspose.Slides for .NET. يقدم WordArt طريقة سهلة لتعزيز مظهر النص بتأثيرات بصرية ملفتة وأنماط. من خلال تعلم الخطوات الأساسية لإنشاء واستخدام WordArt، يمكنك بسهولة تعديل هذه التقنيات لتناسب أي مشروع، وجعل عروضك أكثر حيوية ولا تُنسى. -أولاً، نقوم بإنشاء نص بسيط باستخدام هذا الكود C#: - -``` csharp -using (Presentation pres = new Presentation()) +أولًا، ننشئ نصًا بسيطًا باستخدام كود C# التالي: +```cs +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); + ISlide slide = presentation.Slides[0]; + + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 400, 200); ITextFrame textFrame = autoShape.TextFrame; - Portion portion = (Portion)textFrame.Paragraphs[0].Portions[0]; + IPortion portion = textFrame.Paragraphs[0].Portions[0]; portion.Text = "Aspose.Slides"; } ``` -الآن، نقوم بتعيين ارتفاع خط النص لقيمة أكبر لجعل التأثير أكثر وضوحًا من خلال هذا الكود: - -``` csharp -FontData fontData = new FontData("Arial Black"); -portion.PortionFormat.LatinFont = fontData; -portion.PortionFormat.FontHeight = 36; -``` - -**باستخدام Microsoft PowerPoint** - -اذهب إلى قائمة تأثيرات وورد آرت في Microsoft PowerPoint: - -![todo:image_alt_text](image-20200930113926-1.png) -من القائمة على اليمين، يمكنك اختيار تأثير وورد آرت محدد مسبقًا. من القائمة على اليسار، يمكنك تحديد إعدادات لوورد آرت جديد. -هذه بعض المعلمات أو الخيارات المتاحة: - -![todo:image_alt_text](image-20200930114015-3.png) - -**باستخدام Aspose.Slides** - -هنا، نقوم بتطبيق لون نمط SmallGrid على النص ونضيف حد نص أسود بعرض 1 باستخدام هذا الكود: - -``` csharp -portion.PortionFormat.FillFormat.FillType = FillType.Pattern; -portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; -portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; -portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; - -portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +الآن، نضبط ارتفاع خط النص إلى قيمة أكبر لجعل التأثير أكثر وضوحًا باستخدام الكود التالي: +```cs + portion.PortionFormat.LatinFont = new FontData("Arial Black"); + portion.PortionFormat.FontHeight = 36; ``` -النص الناتج: -![todo:image_alt_text](image-20200930114108-4.png) +هنا، نطبق تعبئة نمط SmallGrid على النص ونضيف حدًا نصيًا أسود بعرض 1 باستخدام الكود التالي: +```cs + portion.PortionFormat.FillFormat.FillType = FillType.Pattern; + portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; + portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; + portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; + + portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +``` -## تطبيق تأثيرات وورد آرت الأخرى -**باستخدام Microsoft PowerPoint** +النص الناتج: -من واجهة البرنامج، يمكنك تطبيق هذه التأثيرات على نص أو كتلة نص أو شكل أو عنصر مشابه: +![قالب WordArt البسيط](WordArt_template.png) -![todo:image_alt_text](image-20200930114129-5.png) +## **تطبيق تأثيرات WordArt أخرى** -على سبيل المثال، يمكن تطبيق تأثيرات الظل والانعكاس والوهج على نص؛ يمكن تطبيق تأثيرات التنسيق ثلاثي الأبعاد والدوران ثلاثي الأبعاد على كتلة نص؛ يمكن تطبيق خاصية الحواف الناعمة على كائن الشكل (لا يزال لها تأثير عند عدم تعيين خاصية التنسيق ثلاثي الأبعاد). +بالإضافة إلى التحولات الأساسية، يتيح لك Aspose.Slides for .NET تطبيق مجموعة متنوعة من تأثيرات WordArt المتقدمة لتحسين مظهر نصك. وتشمل هذه الخطوط الخارجية، التعبئات، الظلال، الانعكاسات، وتأثيرات التوهج. من خلال دمج هذه الخصائص، يمكنك إنشاء أنماط نصية لافتة للنظر تتألق في عروضك. يعرض هذا القسم كيفية تطبيق هذه التأثيرات برمجيًا باستخدام أمثلة شفرة بسيطة وواضحة. -### تطبيق تأثيرات الظل +### **تطبيق تأثيرات الظل الخارجي** -هنا، نهدف إلى تعيين الخصائص المتعلقة بالنص فقط. نقوم بتطبيق تأثير الظل على نص باستخدام هذا الكود في C#: +تساعد تأثيرات الظل الخارجي النص على البروز بإضافة ظل خلف حدوده، مما يخلق إحساسًا بالعمق والبعد عن الخلفية. يتيح لك Aspose.Slides for .NET بسهولة تطبيق وتخصيص الظلال الخارجية على نص WordArt. في هذا القسم، ستتعلم كيفية ضبط لون الظل، الاتجاه، المسافة، نصف قطر الضبابية، وغير ذلك لتحقيق التأثير البصري المطلوب. -``` csharp -portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 65; -portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4.73; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 2; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 30; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); +المقتطف التالي من كود C# يطبق تأثير ظل على النص الذي تم إنشاؤه أعلاه. +```cs + portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 30; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 20; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); ``` -يدعم واجهة برمجة التطبيقات Aspose.Slides ثلاثة أنواع من الظلال: الظل الخارجي، الظل الداخلي، والظل المحدد مسبقًا. - - مع الظل المحدد مسبقًا، يمكنك تطبيق ظل على نص (باستخدام القيم المحددة مسبقًا). - -**باستخدام Microsoft PowerPoint** -في PowerPoint، يمكنك استخدام نوع واحد من الظل. إليك مثال: - -![todo:image_alt_text](image-20200930114225-6.png) - -**باستخدام Aspose.Slides** - -يسمح Aspose.Slides بالفعل بتطبيق نوعين من الظلال في وقت واحد: الظل الداخلي والظل المحدد مسبقًا. +النص الناتج: -**ملاحظات:** +![تأثير الظل الخارجي](outer_shadow_effect.png) -- عند استخدام الظل الخارجي والظل المحدد مسبقًا معًا، يتم تطبيق تأثير الظل الخارجي فقط. -- إذا تم استخدام الظل الخارجي والظل الداخلي في نفس الوقت، فإن التأثير الناتج أو المطبق يعتمد على إصدار PowerPoint. على سبيل المثال، في PowerPoint 2013، يتضاعف التأثير. ولكن في PowerPoint 2007، يتم تطبيق تأثير الظل الخارجي. +{{% alert color="primary" %}} +- عند استخدام OuterShadow و PresetShadow معًا، يُطبق تأثير OuterShadow فقط. +- إذا تم استخدام OuterShadow و InnerShadow في آنٍ واحد، يعتمد التأثير الناتج على إصدار PowerPoint. على سبيل المثال، في PowerPoint 2013 يتضاعف التأثير، بينما في PowerPoint 2007 يُطبق فقط تأثير OuterShadow. +{{% /alert %}} + +### **تطبيق تأثيرات الانعكاس** + +في هذا القسم، نستكشف كيفية تطبيق تأثيرات الانعكاس في شرايحك باستخدام Aspose.Slides for .NET. يمكن أن تكون تأثيرات الانعكاس وسيلة فعّالة لمنح النص أو الأشكال مظهرًا أنيقًا وعصريًا، مما يساعد العناصر الرئيسية على البروز ويضيف عمقًا للعرض. من خلال فهم عملية تطبيق وتخصيص هذه التأثيرات، يمكنك بسهولة تعديلها لتتناسب مع احتياجات التصميم والهوية البصرية الخاصة بك. + +أضف تأثير انعكاس إلى النص باستخدام مثال كود C# التالي: +```cs + portion.PortionFormat.EffectFormat.EnableReflectionEffect(); + portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; + portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; + portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; +``` -### تطبيق العرض على النصوص -نضيف العرض إلى النص من خلال هذا العينة من الكود في C#: +النص الناتج: -``` csharp -portion.PortionFormat.EffectFormat.EnableReflectionEffect(); -portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; -portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; -portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; -``` +![تأثير الانعكاس](reflection_effect.png) -### تطبيق تأثير الوهج على النصوص +### **تطبيق تأثيرات التوهج** -نقوم بتطبيق تأثير الوهج على النص لجعله يتألق أو يبرز باستخدام هذا الكود: +في هذا القسم، نستكشف كيفية تطبيق تأثير توهج على النص باستخدام Aspose.Slides for .NET. يمكن لتأثير التوهج جعل نصك يبرز بخط خارجي مضيء، معززًا الجاذبية البصرية للشرائح. من خلال ضبط الإعدادات مثل اللون والشدة، يمكنك بسهولة تخصيص التوهج ليتلاءم مع تصميمك واحتياجات العلامة التجارية، لضمان جذب انتباه الجمهور إلى النقاط الأساسية في عرضك. -``` csharp -portion.PortionFormat.EffectFormat.EnableGlowEffect(); -portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; -portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); -portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; +طبق تأثير توهج على النص لجعله يلمع أو يبرز باستخدام الكود التالي: +```cs + portion.PortionFormat.EffectFormat.EnableGlowEffect(); + portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; + portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); + portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; ``` -نتيجة العملية: -![todo:image_alt_text](image-20200930114621-7.png) +النص الناتج: -{{% alert color="primary" %}} +![تأثير التوهج](glow_effect.png) -يمكنك تغيير المعلمات الخاصة بالظل والعرض والوهج. يتم تعيين خصائص التأثيرات على كل جزء من النص بشكل منفصل. +### **تطبيق تحولات WordArt** -{{% /alert %}} +في هذا القسم، نستكشف كيفية استخدام التحولات في WordArt مع Aspose.Slides for .NET. تتيح لك التحولات ثني أو تمديد أو تشويه النص، مما يخلق تأثيرات فريدة ومبهرة بصريًا. من خلال إتقان هذه التقنيات، يمكنك بسهولة تعديل أشكال النص وأنماطه لتتناسب مع هوية علامتك أو رؤيتك الإبداعية، مما يضمن عرضًا جذابًا ومصقولًا. -### استخدام التحولات في وورد آرت - -نستخدم خاصية Transform (الموروثة في الكتلة الكاملة من النص) من خلال هذا الكود: -``` csharp -textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; +استخدم خاصية `Transform` (التي تُطبق على كتلة النص بالكامل) باستخدام الكود التالي: +```cs + textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; ``` -النتيجة: - -![todo:image_alt_text](image-20200930114712-8.png) -{{% alert color="primary" %}} +النص الناتج: -كل من Microsoft PowerPoint وAspose.Slides لـ .NET يوفران عددًا معينًا من أنواع التحولات المحددة مسبقًا. +![تحول WordArt](transform_effect.png) +{{% alert color="primary" %}} +توفر Aspose.Slides for .NET مجموعة من [أنواع التحويل](https://reference.aspose.com/slides/net/aspose.slides/textshapetype/). {{% /alert %}} -**باستخدام PowerPoint** - -للوصول إلى أنواع التحولات المحددة مسبقًا، اذهب إلى: **التنسيق** -> **تأثير النص** -> **تحول** +### **تطبيق تأثيرات ثلاثية الأبعاد على الأشكال والنص** -**باستخدام Aspose.Slides** +إن إنشاء مرئيات واقعية وجذابة يمكن أن يعزز بشكل كبير من تأثير عروضك. في هذا القسم، نستكشف كيفية تطبيق تأثيرات ثلاثية الأبعاد (3D) على الأشكال باستخدام Aspose.Slides for .NET. من خلال تعديل معلمات مثل العمق، الزاوية، والإضاءة، يمكنك إنتاج تحولات ثلاثية الأبعاد مثيرة تجذب انتباه الجمهور على الفور. سواء كنت تستهدف إضاءات خفيفة أو أوهام درامية، توفر هذه الميزات طرقًا مرنة للارتقاء بتصميمك وتوصيل الأفكار بطريقة أكثر جاذبية. -لاختيار نوع تحول، استخدم enum TextShapeType. +استخدم الكود النموذجي التالي لتعيين تأثير ثلاثي الأبعاد على الشكل: +```cs + autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelBottom.Height = 10.5; + autoShape.ThreeDFormat.BevelBottom.Width = 10.5; -### تطبيق تأثيرات ثلاثية الأبعاد على النصوص والأشكال + autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelTop.Height = 12.5; + autoShape.ThreeDFormat.BevelTop.Width = 11; -نقوم بتعيين تأثير ثلاثي الأبعاد على شكل نص باستخدام هذه العينة من الكود: + autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + autoShape.ThreeDFormat.ExtrusionHeight = 6; -``` csharp -autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelBottom.Height = 10.5; -autoShape.ThreeDFormat.BevelBottom.Width = 10.5; + autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; + autoShape.ThreeDFormat.ContourWidth = 1.5; -autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelTop.Height = 12.5; -autoShape.ThreeDFormat.BevelTop.Width = 11; + autoShape.ThreeDFormat.Depth = 3; -autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -autoShape.ThreeDFormat.ExtrusionHeight = 6; + autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; -autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; -autoShape.ThreeDFormat.ContourWidth = 1.5; + autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -autoShape.ThreeDFormat.Depth = 3; - -autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; - -autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); - -autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -النص الناتج وشكله: -![todo:image_alt_text](image-20200930114816-9.png) +الشكل الناتج: -نقوم بتطبيق تأثير ثلاثي الأبعاد على النص باستخدام هذا الكود C#: +![تأثير الشكل ثلاثي الأبعاد](shape_3D_effect.png) -``` csharp -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; +استخدم الكود النموذجي التالي لتعيين تأثير ثلاثي الأبعاد على النص: +```cs + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; -textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; -textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; + textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; + textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; -textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; + textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; -textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; + textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); + textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -نتيجة العملية: - -![todo:image_alt_text](image-20200930114905-10.png) -{{% alert color="primary" %}} - -يستند تطبيق تأثيرات ثلاثية الأبعاد على النصوص أو أشكالها والتفاعلات بين التأثيرات إلى قواعد معينة. +النص الناتج: -اعتبر مشهدًا لنص والشكل الذي يحتوي على هذا النص. يحتوي التأثير ثلاثي الأبعاد على تمثيل كائن ثلاثي الأبعاد والمشهد الذي وُضِع فيه الكائن. +![تأثير النص ثلاثي الأبعاد](text_3D_effect.png) -- عندما يتم تعيين المشهد لكل من الشكل والنص، يحصل مشهد الشكل على الأولوية العليا - يتم تجاهل مشهد النص. -- عندما يفتقر الشكل إلى مشهده الخاص ولكنه يحتوي على تمثيل ثلاثي الأبعاد، يتم استخدام مشهد النص. -- بخلاف ذلك - عندما يكون الشكل أصلاً بلا تأثير ثلاثي الأبعاد - يكون الشكل مسطحًا ويتم تطبيق التأثير ثلاثي الأبعاد فقط على النص. +{{% alert color="primary" %}} +تطبيق تأثيرات ثلاثية الأبعاد على النص أو أشكاله—وتفاعل هذه التأثيرات مع بعضها—تحكمها قواعد محددة. اعتبر مشهدًا يتضمن كلًا من النص والشكل الذي يحتويه. يتضمن تأثير ثلاثي الأبعاد تمثيلًا ثلاثيًا للعنصر والمشهد الذي يوضع فيه. -تتصل الأوصاف بـ [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/lightrig) و [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/camera) الخصائص. +- إذا تم ضبط مشهد لكل من الشكل والنص، يُعطى أولوية مشهد الشكل وتُتجاهل مشهد النص. +- إذا كان الشكل يفتقر إلى مشهد خاص به ولكنه يحتوي على تمثيل ثلاثي الأبعاد، يُستخدم مشهد النص. +- إذا كان الشكل لا يحتوي على أي تأثير ثلاثي الأبعاد، يُعامل كمسطح، ويُطبق التأثير ثلاثي الأبعاد فقط على النص. +هذه السلوكيات تتعلق بخواص [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/lightrig/) و[ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/camera/). {{% /alert %}} -## **تطبيق تأثيرات الظل الخارجي على النصوص** -توفر Aspose.Slides لـ .NET [**IOuterShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/ioutershadow) و[**IInnerShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/iinnershadow) الفئات التي تتيح لك تطبيق تأثيرات الظل على النص الموجود في TextFrame. اتبع هذه الخطوات: - -1. أنشئ مثيلًا لفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. احصل على مرجع لشريحة باستخدام فهرسها. -3. أضف AutoShape من نوع مستطيل إلى الشريحة. -4. الوصول إلى TextFrame المرتبط بـ AutoShape. -5. قم بتعيين FillType لـ AutoShape إلى NoFill. -6. مثّل صف الظل الخارجي -7. قم بتعيين BlurRadius للظل. -8. قم بتعيين Direction للظل -9. قم بتعيين Distance للظل. -10. قم بتعيين RectangleAlign إلى TopLeft. -11. قم بتعيين اللون المحدد مسبقًا للظل إلى الأسود. -12. اكتب العرض كملف PPTX. - -هذا الكود التجريبي في C# - تنفيذ الخطوات أعلاه - يوضح لك كيفية تطبيق تأثير الظل الخارجي على نص: - -```c# -using (Presentation pres = new Presentation()) -{ - - // احصل على مرجع الشريحة - ISlide sld = pres.Slides[0]; - - // أضف AutoShape من نوع مستطيل - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - - // أضف TextFrame إلى المستطيل - ashp.AddTextFrame("Aspose TextBox"); - - // تعطيل ملء الشكل في حالة رغبتنا في الحصول على ظل للنص - ashp.FillFormat.FillType = FillType.NoFill; - - // أضف الظل الخارجي وقم بتعيين جميع المعلمات اللازمة - ashp.EffectFormat.EnableOuterShadowEffect(); - IOuterShadow shadow = ashp.EffectFormat.OuterShadowEffect; - shadow.BlurRadius = 4.0; - shadow.Direction = 45; - shadow.Distance = 3; - shadow.RectangleAlign = RectangleAlignment.TopLeft; - shadow.ShadowColor.PresetColor = PresetColor.Black; - - // اكتب العرض إلى القرص - pres.Save("pres_out.pptx", SaveFormat.Pptx); -} -``` - - -## **تطبيق تأثير الظل الداخلي على الأشكال** -اتبع هذه الخطوات: - -1. أنشئ مثيلًا لفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. احصل على مرجع للشريحة. -3. أضف AutoShape من النوع المستطيل. -4. قم بتمكين InnerShadowEffect. -5. قم بتعيين جميع المعلمات اللازمة. -6. قم بتعيين ColorType كخطة. -7. قم بتعيين لون الخطة. -8. احفظ العرض كملف [PPTX](https://docs.fileformat.com/presentation/pptx/) . +## **الأسئلة الشائعة** -هذا الكود التجريبي (الذي يستند إلى الخطوات أعلاه) يوضح لك كيفية إضافة موصل بين شكلين في C#: +**هل يمكنني استخدام تأثيرات WordArt مع خطوط أو نصوص بلغات مختلفة (مثل العربية أو الصينية)؟** -```c# -using(Presentation presentation = new Presentation()) -{ - // احصل على مرجع للشريحة - ISlide slide = presentation.Slides[0]; +نعم، يدعم Aspose.Slides for .NET اليونيكود ويعمل مع جميع الخطوط والنصوص الرئيسية. يمكن تطبيق تأثيرات WordArt مثل الظل، التعبئة، والحد regardless من اللغة، رغم أن توفر الخطوط وعرضها قد يعتمد على خطوط النظام. - // أضف AutoShape من نوع مستطيل - IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 400, 300); - ashp.FillFormat.FillType = FillType.NoFill; +**هل يمكنني تطبيق تأثيرات WordArt على عناصر قالب الشريحة (Master)؟** - // أضف TextFrame إلى المستطيل - ashp.AddTextFrame("Aspose TextBox"); - IPortion port = ashp.TextFrame.Paragraphs[0].Portions[0]; - IPortionFormat pf = port.PortionFormat; - pf.FontHeight = 50; +نعم، يمكنك تطبيق تأثيرات WordArt على الأشكال في القوالب الرئيسية، بما في ذلك عناصر النائب للعنوان، التذييل، أو النص الخلفي. سيظهر أي تعديل على القالب عبر جميع الشرائح المرتبطة به. - // تمكّن InnerShadowEffect - IEffectFormat ef = pf.EffectFormat; - ef.EnableInnerShadowEffect(); +**هل تؤثر تأثيرات WordArt على حجم ملف العرض؟** - // قم بتعيين جميع المعلمات اللازمة - ef.InnerShadowEffect.BlurRadius = 8.0; - ef.InnerShadowEffect.Direction = 90.0F; - ef.InnerShadowEffect.Distance = 6.0; - ef.InnerShadowEffect.ShadowColor.B = 189; +قليلًا. قد تزيد تأثيرات WordArt مثل الظلال، التوهج، وتعبئات التدرج من حجم الملف قليلًا بسبب إضافة بيانات تنسيق، لكن الفرق عادةً ما يكون ضئيلًا. - // قم بتعيين ColorType كخطة - ef.InnerShadowEffect.ShadowColor.ColorType = ColorType.Scheme; +**هل يمكنني معاينة نتيجة تأثيرات WordArt دون حفظ العرض؟** - // قم بتعيين لون الخطة - ef.InnerShadowEffect.ShadowColor.SchemeColor = SchemeColor.Accent1; - - // احفظ العرض - presentation.Save("WordArt_out.pptx", SaveFormat.Pptx); -} -``` \ No newline at end of file +نعم، يمكنك تحويل الشرائح التي تحتوي على WordArt إلى صور (مثل PNG أو JPEG) باستخدام طريقة `GetImage` من واجهات [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/) أو [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/). يتيح لك ذلك معاينة النتيجة في الذاكرة أو على الشاشة قبل حفظ أو تصدير العرض بالكامل. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/manage-zoom/_index.md b/ar/net/developer-guide/presentation-content/manage-zoom/_index.md index de6699ce64..e352ecaa56 100644 --- a/ar/net/developer-guide/presentation-content/manage-zoom/_index.md +++ b/ar/net/developer-guide/presentation-content/manage-zoom/_index.md @@ -1,111 +1,110 @@ --- -title: إدارة الزوم +title: إدارة التكبير type: docs weight: 60 url: /ar/net/manage-zoom/ -keywords: -- زوم -- إطار زوم -- إضافة زوم -- تنسيق إطار الزوم -- زوم ملخص -- عرض PowerPoint +keywords: +- تكبير +- إطار التكبير +- إضافة تكبير +- تنسيق إطار التكبير +- تكبير ملخص +- عرض تقديمي PowerPoint - C# - Csharp -- Aspose.Slides لـ .NET -description: "إضافة زوم أو إطارات زوم إلى عروض PowerPoint في C# أو .NET" +- Aspose.Slides for .NET +description: "إضافة تكبير أو إطارات تكبير إلى عروض PowerPoint التقديمية في C# أو .NET" --- ## **نظرة عامة** -تتيح لك الزوم في PowerPoint الانتقال إلى ومن الشرائح المحددة، الأقسام، وأجزاء من العرض التقديمي. عندما تقدم، قد تكون هذه القدرة على التنقل بسرعة عبر المحتوى مفيدة جدًا. +تتيح لك خاصية التكبير في PowerPoint القفز إلى شرائح أو أقسام أو أجزاء معينة من العرض التقديمي والعودة منها. عند تقديمك، قد يكون هذا القدرة على التنقل بسرعة عبر المحتوى مفيدة للغاية. -![overview_image](overview.png) +![صورة_نظرة_عامة](overview.png) -* لتلخيص عرض تقديمي كامل على شريحة واحدة، استخدم [زوم ملخص](#Summary-Zoom). -* لإظهار الشرائح المحددة فقط، استخدم [زوم شريحة](#Slide-Zoom). -* لإظهار قسم واحد فقط، استخدم [زوم قسم](#Section-Zoom). +* لتلخيص العرض التقديمي بالكامل على شريحة واحدة، استخدم [تكبير ملخص](#Summary-Zoom). +* لعرض شرائح محددة فقط، استخدم [تكبير شريحة](#Slide-Zoom). +* لعرض قسم واحد فقط، استخدم [تكبير قسم](#Section-Zoom). -## **زوم الشريحة** -يمكن أن تجعل زوم الشريحة عرضك التقديمي أكثر ديناميكية، مما يسمح لك بالتنقل بحرية بين الشرائح بأي ترتيب تختاره دون مقاطعة سير عرضك. يعتبر زوم الشرائح رائعًا للعروض القصيرة التي لا تحتوي على العديد من الأقسام، ولكن يمكنك استخدامها في سيناريوهات تقديم مختلفة. +## **تكبير الشريحة** +يمكن لتكبير الشريحة جعل عرضك التقديمي أكثر حيوية، حيث يسمح لك بالتنقل بحرية بين الشرائح بأي ترتيب تختاره دون مقاطعة تدفق العرض. تكبير الشرائح مفيد للعروض القصيرة التي لا تحتوي على أقسام كثيرة، لكنك لا تزال تستطيع استخدامه في سيناريوهات عرض مختلفة. -تساعدك زوم الشرائح على التعمق في عدة قطع من المعلومات بينما تشعر أنك على قماش واحد. +يساعدك تكبير الشرائح على الخوض في معلومات متعددة بينما تشعر أنك على لوحة واحدة. -![overview_image](slidezoomsel.png) +![صورة_نظرة_عامة](slidezoomsel.png) -بالنسبة لكائنات زوم الشريحة، يوفر Aspose.Slides التعداد [ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype)، الواجهة [IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe)، وبعض الطرق ضمن الواجهة [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +بالنسبة لكائنات تكبير الشرائح، توفر Aspose.Slides تعداد [ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype)، وواجهة [IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe)، وبعض الطرق ضمن واجهة [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -### **إنشاء إطارات الزوم** +### **إنشاء إطارات التكبير** -يمكنك إضافة إطار زوم على شريحة بهذه الطريقة: +يمكنك إضافة إطار تكبير إلى شريحة بهذه الطريقة: -1. أنشئ مثيلًا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. أنشئ شرائح جديدة تنوي ربط إطارات الزوم بها. -3. أضف نص تعريف وخلفية إلى الشرائح التي تم إنشاؤها. -4. أضف إطارات زوم (تحتوي على المراجع إلى الشرائح التي تم إنشاؤها) إلى الشريحة الأولى. -5. اكتب العرض المعدل كملف PPTX. - -هذا الكود في C# يوضح لك كيفية إنشاء إطار زوم على شريحة: +1. إنشاء كائن من صنف [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. إنشاء شرائح جديدة تريد ربط إطارات التكبير بها. +3. إضافة نص تعريف وخلفية إلى الشرائح التي تم إنشاؤها. +4. إضافة إطارات تكبير (تحتوي على مراجع للشرائح التي تم إنشاؤها) إلى الشريحة الأولى. +5. كتابة العرض المعدل كملف PPTX. +هذا الكود C# يوضح كيفية إنشاء إطار تكبير على شريحة: ``` csharp using (Presentation pres = new Presentation()) { - //يضيف شرائح جديدة إلى العرض + //يضيف شرائح جديدة إلى العرض التقديمي ISlide slide2 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); ISlide slide3 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); - // ينشئ خلفية للشفيفة الثانية + // ينشئ خلفية للشرريحة الثانية slide2.Background.Type = BackgroundType.OwnBackground; slide2.Background.FillFormat.FillType = FillType.Solid; slide2.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // ينشئ صندوق نص للشفيفة الثانية + // ينشئ مربع نص للشرريحة الثانية IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "الشفيفة الثانية"; + autoshape.TextFrame.Text = "Second Slide"; - // ينشئ خلفية للشفيفة الثالثة + // ينشئ خلفية للشرريحة الثالثة slide3.Background.Type = BackgroundType.OwnBackground; slide3.Background.FillFormat.FillType = FillType.Solid; slide3.Background.FillFormat.SolidFillColor.Color = Color.DarkKhaki; - // ينشئ صندوق نص للشفيفة الثالثة + // ينشئ مربع نص للشرريحة الثالثة autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "الشفيفة الثالثة"; + autoshape.TextFrame.Text = "Trird Slide"; - //يضيف كائنات زوم + //يضيف كائنات ZoomFrame pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); - // يحفظ العرض + // يحفظ العرض التقديمي pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **إنشاء إطارات زوم بصور مخصصة** -باستخدام Aspose.Slides لـ .NET، يمكنك إنشاء إطار زوم بصورة معاينة شريحة مختلفة بهذه الطريقة: -1. أنشئ مثيلًا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. أنشئ شريحة جديدة تنوي ربط إطار الزوم بها. -3. أضف نص تعريف وخلفية إلى الشريحة. -4. أنشئ كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) عن طريق إضافة صورة إلى مجموعة الصور المرتبطة بكائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) الذي سيتم استخدامه لملء الإطار. -5. أضف إطارات زوم (تحتوي على مرجع إلى الشريحة التي تم إنشاؤها) إلى الشريحة الأولى. -6. اكتب العرض المعدل كملف PPTX. -هذا الكود في C# يوضح لك كيفية إنشاء إطار زوم بصورة مختلفة: +### **إنشاء إطارات التكبير بصور مخصصة** +مع Aspose.Slides لـ .NET، يمكنك إنشاء إطار تكبير بصورة معاينة شريحة مختلفة بهذه الطريقة: +1. إنشاء كائن من صنف [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. إنشاء شريحة جديدة تريد ربط إطار التكبير بها. +3. إضافة نص تعريف وخلفية إلى الشريحة. +4. إنشاء كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) بإضافة صورة إلى مجموعة Images المرتبطة بكائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) الذي سيُستخدم لملء الإطار. +5. إضافة إطارات تكبير (تحتوي على المرجع إلى الشريحة التي تم إنشاؤها) إلى الشريحة الأولى. +6. كتابة العرض المعدل كملف PPTX. +هذا الكود C# يوضح كيفية إنشاء إطار تكبير بصورة مخصصة: ``` csharp using (Presentation pres = new Presentation()) { - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); - // ينشئ خلفية للشفيفة الثانية + // ينشئ خلفية للشريحة الثانية slide.Background.Type = BackgroundType.OwnBackground; slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // ينشئ صندوق نص للشفيفة الثالثة + // ينشئ مربع نص للشرريحة الثالثة IAutoShape autoshape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "الشفيفة الثانية"; + autoshape.TextFrame.Text = "Second Slide"; - // ينشئ صورة جديدة لكائن الزوم + // ينشئ صورة جديدة لكائن التكبير IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); @@ -113,57 +112,57 @@ using (Presentation pres = new Presentation()) //يضيف كائن ZoomFrame pres.Slides[0].Shapes.AddZoomFrame(20, 20, 300, 200, slide, ppImage); - // يحفظ العرض + // يحفظ العرض التقديمي pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **تنسيق إطارات الزوم** -في الأقسام السابقة، عرضنا لك كيفية إنشاء إطارات زوم بسيطة. لإنشاء إطارات زوم أكثر تعقيدًا، يجب عليك تعديل تنسيق إطار بسيط. هناك العديد من خيارات التنسيق التي يمكنك تطبيقها على إطار الزوم. -يمكنك التحكم في تنسيق إطار الزوم على شريحة بهذه الطريقة: +### **تنسيق إطارات التكبير** +في الأقسام السابقة، عرضنا لك كيفية إنشاء إطارات تكبير بسيطة. لإنشاء إطارات تكبير أكثر تعقيدًا، عليك تعديل تنسيق إطار بسيط. هناك عدة خيارات تنسيق يمكنك تطبيقها على إطار التكبير. -1. أنشئ مثيلًا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. أنشئ شرائح جديدة تنوي ربط إطار الزوم بها. -3. أضف بعض نص التعريف والخلفية إلى الشرائح التي تم إنشاؤها. -4. أضف إطارات زوم (تحتوي على المراجع إلى الشرائح التي تم إنشاؤها) إلى الشريحة الأولى. -5. أنشئ كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) عن طريق إضافة صورة إلى مجموعة الصور المرتبطة بكائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) الذي سيتم استخدامه لملء الإطار. -6. عيّن صورة مخصصة لكائن إطار الزوم الأول. -7. غيّر تنسيق الخط لكائن إطار الزوم الثاني. -8. أزل الخلفية من صورة كائن إطار الزوم الثاني. -5. اكتب العرض المعدل كملف PPTX. +يمكنك التحكم في تنسيق إطار التكبير على شريحة بهذه الطريقة: -هذا الكود في C# يوضح لك كيفية تغيير تنسيق إطار الزوم على شريحة: +1. إنشاء كائن من صنف [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. إنشاء شرائح جديدة للربط التي تريد ربط إطار التكبير بها. +3. إضافة بعض النصوص التعريفية وخلفية إلى الشرائح التي تم إنشاؤها. +4. إضافة إطارات تكبير (تحتوي على مراجع للشرائح التي تم إنشاؤها) إلى الشريحة الأولى. +5. إنشاء كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) بإضافة صورة إلى مجموعة Images المرتبطة بكائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) الذي سيُستخدم لملء الإطار. +6. تعيين صورة مخصصة لإطار التكبير الأول. +7. تغيير تنسيق الخط لإطار التكبير الثاني. +8. إزالة الخلفية من صورة إطار التكبير الثاني. +5. كتابة العرض المعدل كملف PPTX. +هذا الكود C# يوضح كيفية تغيير تنسيق إطار التكبير على شريحة: ``` csharp using (Presentation pres = new Presentation()) { - //يضيف شرائح جديدة إلى العرض + //يضيف شرائح جديدة إلى العرض التقديمي ISlide slide2 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); ISlide slide3 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); - // ينشئ خلفية للشفيفة الثانية + // ينشئ خلفية للشرائح الثانية slide2.Background.Type = BackgroundType.OwnBackground; slide2.Background.FillFormat.FillType = FillType.Solid; slide2.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // ينشئ صندوق نص للشفيفة الثانية + // ينشئ مربع نص للشرائح الثانية IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "الشفيفة الثانية"; + autoshape.TextFrame.Text = "Second Slide"; - // ينشئ خلفية للشفيفة الثالثة + // ينشئ خلفية للشرائح الثالثة slide3.Background.Type = BackgroundType.OwnBackground; slide3.Background.FillFormat.FillType = FillType.Solid; slide3.Background.FillFormat.SolidFillColor.Color = Color.DarkKhaki; - // ينشئ صندوق نص للشفيفة الثالثة + // ينشئ مربع نص للشرائح الثالثة autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "الشفيفة الثالثة"; + autoshape.TextFrame.Text = "Trird Slide"; - //يضيف كائنات زوم + //يضيف كائنات ZoomFrame IZoomFrame zoomFrame1 = pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); IZoomFrame zoomFrame2 = pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); - // ينشئ صورة جديدة لكائن الزوم + // ينشئ صورة جديدة لكائن التكبير IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); @@ -171,87 +170,87 @@ using (Presentation pres = new Presentation()) // يحدد صورة مخصصة لكائن zoomFrame1 zoomFrame1.ZoomImage = ppImage; - // يحدد تنسيق إطار زوم لكائن zoomFrame2 + // يحدد تنسيق إطار التكبير لكائن zoomFrame2 zoomFrame2.LineFormat.Width = 5; zoomFrame2.LineFormat.FillFormat.FillType = FillType.Solid; zoomFrame2.LineFormat.FillFormat.SolidFillColor.Color = Color.HotPink; zoomFrame2.LineFormat.DashStyle = LineDashStyle.DashDot; - // إعداد لعدم عرض الخلفية لكائن zoomFrame2 + // إعداد عدم إظهار الخلفية لكائن zoomFrame2 zoomFrame2.ShowBackground = false; - // يحفظ العرض + // يحفظ العرض التقديمي pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -## **زوم القسم** -زوم القسم هو ارتباط لقسم في عرضك التقديمي. يمكنك استخدام زوم الأقسام للعودة إلى الأقسام التي تريد التأكيد عليها حقًا. أو يمكنك استخدامها لتسليط الضوء على كيفية ارتباط أجزاء معينة من عرضك التقديمي. +## **تكبير القسم** -![overview_image](seczoomsel.png) +تكبير القسم هو ارتباط لقسم في عرضك التقديمي. يمكنك استخدام تكبير الأقسام للعودة إلى الأقسام التي ترغب في التأكيد عليها. أو يمكنك استخدامها لتسليط الضوء على كيفية ارتباط أجزاء معينة من العرض. -بالنسبة لكائنات زوم القسم، يوفر Aspose.Slides الواجهة [ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe) وبعض الطرق ضمن الواجهة [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +![صورة_نظرة_عامة](seczoomsel.png) -### **إنشاء إطارات زوم القسم** +بالنسبة لكائنات تكبير الأقسام، توفر Aspose.Slides واجهة [ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe) وبعض الطرق ضمن واجهة [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -يمكنك إضافة إطار زوم القسم إلى شريحة بهذه الطريقة: +### **إنشاء إطارات تكبير القسم** -1. أنشئ مثيلًا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. أنشئ شريحة جديدة. -3. أضف خلفية تعريف إلى الشريحة التي تم إنشاؤها. -4. أنشئ قسمًا جديدًا تنوي ربط إطار الزوم به. -5. أضف إطار زوم القسم (يحتوي على مراجع إلى القسم الذي تم إنشاؤه) إلى الشريحة الأولى. -6. اكتب العرض المعدل كملف PPTX. +يمكنك إضافة إطار تكبير قسم إلى شريحة بهذه الطريقة: -هذا الكود في C# يوضح لك كيفية إنشاء إطار زوم على شريحة: +1. إنشاء كائن من صنف [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. إنشاء شريحة جديدة. +3. إضافة خلفية تعريفية إلى الشريحة التي تم إنشاؤها. +4. إنشاء قسم جديد تريد ربط إطار التكبير به. +5. إضافة إطار تكبير قسم (يحتوي على مراجع للقسم الذي تم إنشاؤه) إلى الشريحة الأولى. +6. كتابة العرض المعدل كملف PPTX. +هذا الكود C# يوضح كيفية إنشاء إطار تكبير على شريحة: ``` csharp using (Presentation pres = new Presentation()) { - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - pres.Sections.AddSection("القسم 1", slide); + // يضيف قسمًا جديدًا إلى العرض التقديمي + pres.Sections.AddSection("Section 1", slide); // يضيف كائن SectionZoomFrame ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); - // يحفظ العرض + // يحفظ العرض التقديمي pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **إنشاء إطارات زوم القسم بصور مخصصة** -باستخدام Aspose.Slides لـ .NET، يمكنك إنشاء إطار زوم القسم بصورة معاينة شريحة مختلفة بهذه الطريقة: +### **إنشاء إطارات تكبير القسم بصور مخصصة** -1. أنشئ مثيلًا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. أنشئ شريحة جديدة. -3. أضف خلفية تعريف إلى الشريحة التي تم إنشاؤها. -4. أنشئ قسمًا جديدًا تنوي ربط إطار الزوم به. -5. أنشئ كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) عن طريق إضافة صورة إلى مجموعة الصور المرتبطة بكائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) الذي سيتم استخدامه لملء الإطار. -5. أضف إطار زوم القسم (يحتوي على مرجع إلى القسم الذي تم إنشاؤه) إلى الشريحة الأولى. -6. اكتب العرض المعدل كملف PPTX. +باستخدام Aspose.Slides لـ .NET، يمكنك إنشاء إطار تكبير قسم بصورة معاينة شريحة مختلفة بهذه الطريقة: -هذا الكود في C# يوضح لك كيفية إنشاء إطار زوم بصورة مختلفة: +1. إنشاء كائن من صنف [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. إنشاء شريحة جديدة. +3. إضافة خلفية تعريفية إلى الشريحة التي تم إنشاؤها. +4. إنشاء قسم جديد تريد ربط إطار التكبير به. +5. إنشاء كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) بإضافة صورة إلى مجموعة Images المرتبطة بكائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) الذي سيُستخدم لملء الإطار. +5. إضافة إطار تكبير قسم (يحتوي على مرجع للقسم الذي تم إنشاؤه) إلى الشريحة الأولى. +6. كتابة العرض المعدل كملف PPTX. +هذا الكود C# يوضح كيفية إنشاء إطار تكبير بصورة مختلفة: ``` csharp using (Presentation pres = new Presentation()) { - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - pres.Sections.AddSection("القسم 1", slide); + // يضيف قسمًا جديدًا إلى العرض التقديمي + pres.Sections.AddSection("Section 1", slide); - // ينشئ صورة جديدة لكائن الزوم + // ينشئ صورة جديدة لكائن التكبير IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); @@ -259,48 +258,48 @@ using (Presentation pres = new Presentation()) // يضيف كائن SectionZoomFrame ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1], ppImage); - // يحفظ العرض + // يحفظ العرض التقديمي pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **تنسيق إطارات زوم القسم** -لإنشاء إطارات زوم القسم أكثر تعقيدًا، يجب عليك تعديل تنسيق إطار بسيط. هناك العديد من خيارات التنسيق التي يمكنك تطبيقها على إطار زوم القسم. +### **تنسيق إطارات تكبير القسم** -يمكنك التحكم في تنسيق إطار زوم القسم على شريحة بهذه الطريقة: +لإنشاء إطارات تكبير قسم أكثر تعقيدًا، عليك تعديل تنسيق إطار بسيط. هناك عدة خيارات تنسيق يمكنك تطبيقها على إطار تكبير القسم. -1. أنشئ مثيلًا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. أنشئ شريحة جديدة. -3. أضف خلفية تعريف إلى الشريحة التي تم إنشاؤها. -4. أنشئ قسمًا جديدًا تنوي ربط إطار الزوم به. -5. أضف إطار زوم القسم (يحتوي على مراجع إلى القسم الذي تم إنشاؤه) إلى الشريحة الأولى. -6. غيّر الحجم والموقع لكائن زوم القسم الذي تم إنشاؤه. -7. أنشئ كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) عن طريق إضافة صورة إلى مجموعة الصور المرتبطة بكائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) الذي سيتم استخدامه لملء الإطار. -8. عيّن صورة مخصصة لكائن إطار زوم القسم الذي تم إنشاؤه. -9. عيّن القدرة على *العودة إلى الشريحة الأصلية من القسم المرتبط*. -10. أزل الخلفية من صورة كائن إطار زوم القسم. -11. غيّر تنسيق الخط لكائن إطار الزوم الثاني. -12. غيّر مدة الانتقال. -13. اكتب العرض المعدل كملف PPTX. +يمكنك التحكم في تنسيق إطار تكبير القسم على شريحة بهذه الطريقة: -هذا الكود في C# يوضح لك كيفية تغيير تنسيق إطار زوم القسم: +1. إنشاء كائن من صنف [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. إنشاء شريحة جديدة. +3. إضافة خلفية تعريفية إلى الشريحة التي تم إنشاؤها. +4. إنشاء قسم جديد تريد ربط إطار التكبير به. +5. إضافة إطار تكبير قسم (يحتوي على مراجع للقسم الذي تم إنشاؤه) إلى الشريحة الأولى. +6. تغيير الحجم والموقع لكائن تكبير القسم الذي تم إنشاؤه. +7. إنشاء كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) بإضافة صورة إلى مجموعة Images المرتبطة بكائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) الذي سيُستخدم لملء الإطار. +8. تعيين صورة مخصصة لكائن إطار تكبير القسم الذي تم إنشاؤه. +9. تعيين قدرة *العودة إلى الشريحة الأصلية من القسم المرتبط*. +10. إزالة الخلفية من صورة إطار تكبير القسم. +11. تغيير تنسيق الخط لإطار التكبير الثاني. +12. تغيير مدة الانتقال. +13. كتابة العرض المعدل كملف PPTX. +هذا الكود C# يوضح كيفية تغيير تنسيق إطار تكبير القسم: ``` csharp using (Presentation pres = new Presentation()) { - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - pres.Sections.AddSection("القسم 1", slide); + // يضيف قسمًا جديدًا إلى العرض التقديمي + pres.Sections.AddSection("Section 1", slide); - // إضافة كائن SectionZoomFrame + // يضيف كائن SectionZoomFrame ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); - // التنسيق لإطار SectionZoomFrame + // تنسيق SectionZoomFrame sectionZoomFrame.X = 100; sectionZoomFrame.Y = 300; sectionZoomFrame.Width = 100; @@ -322,180 +321,180 @@ using (Presentation pres = new Presentation()) sectionZoomFrame.TransitionDuration = 1.5f; - // يحفظ العرض + // يحفظ العرض التقديمي pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -## **زوم الملخص** -زوم الملخص هو مثل صفحة الهبوط التي يتم عرض جميع أجزاء عرضك التقديمي مرة واحدة. عندما تقدم، يمكنك استخدام الزوم للانتقال من مكان إلى آخر في عرضك التقديمي بأي ترتيب تريده. يمكنك أن تكون مبدعًا، تتخطى إلى الأمام، أو تعيد زيارة أجزاء من عرض الشريحة الخاص بك دون مقاطعة سير عرضك. +## **تكبير الملخص** -![overview_image](sumzoomsel.png) +تكبير الملخص يشبه صفحة هبوط حيث يتم عرض جميع أجزاء العرض التقديمي مرة واحدة. عند تقديمك، يمكنك استخدام التكبير للانتقال من مكان إلى آخر في العرض بأي ترتيب ترغب فيه. يمكنك الإبداع، القفز إلى الأمام، أو العودة إلى أجزاء من عرض الشرائح دون مقاطعة تدفق العرض. -بالنسبة لكائنات زوم الملخص، يوفر Aspose.Slides الواجهة [ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe)، [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)، و [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) والعديد من الطرق ضمن الواجهة [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +![صورة_نظرة_عامة](sumzoomsel.png) -### **إنشاء زوم الملخص** +بالنسبة لكائنات تكبير الملخص، توفر Aspose.Slides واجهات [ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe)، [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)، و[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) وبعض الطرق تحت واجهة [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -يمكنك إضافة إطار زوم الملخص إلى شريحة بهذه الطريقة: +### **إنشاء تكبير الملخص** -1. أنشئ مثيلًا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. أنشئ شرائح جديدة مع خلفية تعريف وأقسام جديدة للشريحة التي تم إنشاؤها. -3. أضف إطار الزوم الملخص إلى الشريحة الأولى. -4. اكتب العرض المعدل كملف PPTX. +يمكنك إضافة إطار تكبير ملخص إلى شريحة بهذه الطريقة: -هذا الكود في C# يوضح لك كيفية إنشاء إطار زوم ملخص على شريحة: +1. إنشاء كائن من صنف [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. إنشاء شرائح جديدة بخلفية تعريفية وأقسام جديدة للشرائح التي تم إنشاؤها. +3. إضافة إطار تكبير الملخص إلى الشريحة الأولى. +4. كتابة العرض المعدل كملف PPTX. +هذا الكود C# يوضح كيفية إنشاء إطار تكبير ملخص على شريحة: ``` csharp using (Presentation pres = new Presentation()) { - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - pres.Sections.AddSection("القسم 1", slide); + //يضيف قسمًا جديدًا إلى العرض التقديمي + pres.Sections.AddSection("Section 1", slide); - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - pres.Sections.AddSection("القسم 2", slide); + //يضيف قسمًا جديدًا إلى العرض التقديمي + pres.Sections.AddSection("Section 2", slide); - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Chartreuse; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - pres.Sections.AddSection("القسم 3", slide); + //يضيف قسمًا جديدًا إلى العرض التقديمي + pres.Sections.AddSection("Section 3", slide); - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.DarkGreen; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - pres.Sections.AddSection("القسم 4", slide); + //يضيف قسمًا جديدًا إلى العرض التقديمي + pres.Sections.AddSection("Section 4", slide); - // يضيف كائن SummaryZoomFrame + //يضيف كائن SummaryZoomFrame ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); - // يحفظ العرض + //يحفظ العرض التقديمي pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **إضافة وإزالة قسم زوم الملخص** -تمثل جميع الأقسام في إطار زوم الملخص كائنات [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)، التي يتم تخزينها في الكائن [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection). يمكنك إضافة أو إزالة كائن قسم زوم الملخص من خلال واجهة [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) بهذه الطريقة: +### **إضافة وإزالة أقسام تكبير الملخص** -1. أنشئ مثيلًا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. أنشئ شرائح جديدة مع خلفية تعريف وأقسام جديدة للشريحة التي تم إنشاؤها. -3. أضف إطار الزوم الملخص إلى الشريحة الأولى. -4. أضف شريحة جديدة وقسمًا إلى العرض. -5. أضف القسم الذي تم إنشاؤه إلى إطار الزوم الملخص. -6. أزل القسم الأول من إطار الزوم الملخص. -7. اكتب العرض المعدل كملف PPTX. +جميع الأقسام في إطار تكبير الملخص ممثلة بكائنات [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)، والتي تُحفظ في كائن [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection). يمكنك إضافة أو إزالة كائن قسم تكبير الملخص عبر واجهة [ISummaryZoomSectionCollection] بهذه الطريقة: -هذا الكود في C# يوضح لك كيفية إضافة وإزالة الأقسام في إطار زوم الملخص: +1. إنشاء كائن من صنف [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. إنشاء شرائح جديدة بخلفية تعريفية وأقسام جديدة للشرائح التي تم إنشاؤها. +3. إضافة إطار تكبير ملخص إلى الشريحة الأولى. +4. إضافة شريحة وقسم جديدين إلى العرض. +5. إضافة القسم الذي تم إنشاؤه إلى إطار تكبير الملخص. +6. إزالة القسم الأول من إطار تكبير الملخص. +7. كتابة العرض المعدل كملف PPTX. +هذا الكود C# يوضح كيفية إضافة وإزالة الأقسام في إطار تكبير الملخص: ``` csharp using (Presentation pres = new Presentation()) { - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - pres.Sections.AddSection("القسم 1", slide); + // يضيف قسمًا جديدًا إلى العرض التقديمي + pres.Sections.AddSection("Section 1", slide); - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - pres.Sections.AddSection("القسم 2", slide); + // يضيف قسمًا جديدًا إلى العرض التقديمي + pres.Sections.AddSection("Section 2", slide); // يضيف كائن SummaryZoomFrame ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Chartreuse; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - ISection section3 = pres.Sections.AddSection("القسم 3", slide); + // يضيف قسمًا جديدًا إلى العرض التقديمي + ISection section3 = pres.Sections.AddSection("Section 3", slide); - // يضيف قسمًا إلى زوم الملخص + // يضيف قسمًا إلى Summary Zoom summaryZoomFrame.SummaryZoomCollection.AddSummaryZoomSection(section3); - // يزيل القسم من زوم الملخص + // يزيل القسم من Summary Zoom summaryZoomFrame.SummaryZoomCollection.RemoveSummaryZoomSection(pres.Sections[1]); - // يحفظ العرض + // يحفظ العرض التقديمي pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **تنسيق أقسام زوم الملخص** -لإنشاء كائنات قسم زوم الملخص أكثر تعقيدًا، يجب عليك تعديل تنسيق إطار بسيط. هناك العديد من خيارات التنسيق التي يمكنك تطبيقها على كائن قسم زوم الملخص. +### **تنسيق أقسام تكبير الملخص** -يمكنك التحكم في تنسيق كائن قسم زوم الملخص في إطار زوم الملخص بهذه الطريقة: +لإنشاء كائنات أقسام تكبير ملخص أكثر تعقيدًا، عليك تعديل تنسيق إطار بسيط. هناك عدة خيارات تنسيق يمكنك تطبيقها على كائن قسم تكبير الملخص. -1. أنشئ مثيلًا من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. أنشئ شرائح جديدة مع خلفية تعريف وأقسام جديدة للشريحة التي تم إنشاؤها. -3. أضف إطار الزوم الملخص إلى الشريحة الأولى. -4. احصل على كائن قسم زوم الملخص الأول من `ISummaryZoomSectionCollection`. -5. أنشئ كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) عن طريق إضافة صورة إلى مجموعة الصور المرتبطة بكائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) الذي سيتم استخدامه لملء الإطار. -6. عيّن صورة مخصصة لكائن قسم زوم الملخص الذي تم إنشاؤه. -7. عيّن القدرة على *العودة إلى الشريحة الأصلية من القسم المرتبط*. -8. غيّر تنسيق الخط لكائن زوم الملخص الثاني. -9. غيّر مدة الانتقال. -10. اكتب العرض المعدل كملف PPTX. +يمكنك التحكم في تنسيق كائن قسم تكبير الملخص داخل إطار تكبير الملخص بهذه الطريقة: -هذا الكود في C# يوضح لك كيفية تغيير تنسيق قسم زوم الملخص: +1. إنشاء كائن من صنف [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. إنشاء شرائح جديدة بخلفية تعريفية وأقسام جديدة للشرائح التي تم إنشاؤها. +3. إضافة إطار تكبير ملخص إلى الشريحة الأولى. +4. الحصول على كائن قسم تكبير ملخص من `ISummaryZoomSectionCollection` للكائن الأول. +7. إنشاء كائن [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) بإضافة صورة إلى مجموعة الصور المرتبطة بكائن [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) الذي سيُستخدم لملء الإطار. +8. تعيين صورة مخصصة لكائن إطار تكبير القسم الذي تم إنشاؤه. +9. تعيين قدرة *العودة إلى الشريحة الأصلية من القسم المرتبط*. +11. تغيير تنسيق الخط لكائن إطار التكبير الثاني. +12. تغيير مدة الانتقال. +13. كتابة العرض المعدل كملف PPTX. +هذا الكود C# يوضح كيفية تغيير تنسيق كائن قسم تكبير الملخص: ``` csharp using (Presentation pres = new Presentation()) { - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - pres.Sections.AddSection("القسم 1", slide); + // يضيف قسمًا جديدًا إلى العرض التقديمي + pres.Sections.AddSection("Section 1", slide); - //يضيف شريحة جديدة إلى العرض + //يضيف شريحة جديدة إلى العرض التقديمي slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // يضيف قسمًا جديدًا إلى العرض - pres.Sections.AddSection("القسم 2", slide); + // يضيف قسمًا جديدًا إلى العرض التقديمي + pres.Sections.AddSection("Section 2", slide); // يضيف كائن SummaryZoomFrame ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); - // يحصل على كائن SummaryZoomSection الأول + // يحصل على أول كائن SummaryZoomSection ISummaryZoomSection summarySection = summaryZoomFrame.SummaryZoomCollection[0]; IImage image = Images.FromFile("image.png"); @@ -513,7 +512,22 @@ using (Presentation pres = new Presentation()) summarySection.TransitionDuration = 1.5f; - // يحفظ العرض + // يحفظ العرض التقديمي pres.Save("presentation.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**هل يمكنني التحكم في العودة إلى الشريحة "الأم" بعد عرض الهدف؟** + +نعم. يحتوي [إطار التكبير](https://reference.aspose.com/slides/net/aspose.slides/zoomframe/) أو [القسم](https://reference.aspose.com/slides/net/aspose.slides/sectionzoomframe/) على سلوك `ReturnToParent` الذي، عند تفعيله، يعيد المشاهدين إلى الشريحة الأصلية بعد زيارة المحتوى المستهدف. + +**هل يمكنني تعديل "سرعة" أو مدة انتقال التكبير؟** + +نعم. يدعم التكبير تعيين `TransitionDuration` لتتمكن من التحكم في طول حركة القفزة. + +**هل هناك حدود لعدد كائنات التكبير التي يمكن أن يحتويها العرض التقديمي؟** + +لا توجد حد ثابت موثق للـ API. الحدود العملية تعتمد على تعقيد العرض الإجمالي وأداء المشاهد. يمكنك إضافة العديد من إطارات التكبير، لكن يُنصح بمراعاة حجم الملف وزمن التقديم. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md b/ar/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md index 61a2fe15c5..fd0b71af65 100644 --- a/ar/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md +++ b/ar/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md @@ -3,28 +3,25 @@ title: إدارة العلامات والبيانات المخصصة type: docs weight: 300 url: /ar/net/managing-tags-and-custom-data -keywords: "العلامات، البيانات المخصصة، القيمة للعلامات، إضافة العلامات، عرض باوربوينت، C#، Csharp، Aspose.Slides for .NET" -description: "إضافة العلامات والبيانات المخصصة إلى عروض باوربوينت باستخدام C# أو .NET" +keywords: "علامات, بيانات مخصصة, قيمة للعلامات, إضافة علامات, عرض تقديمي PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "إضافة علامات وبيانات مخصصة إلى عروض PowerPoint التقديمية باستخدام C# أو .NET" --- -## تخزين البيانات في ملفات العروض +## **تخزين البيانات في ملفات العرض** -تُخزَّن ملفات PPTX، وهي العناصر ذات الامتداد .pptx، في تنسيق PresentationML، وهو جزء من مواصفة Office Open XML. يحدد تنسيق Office Open XML الهيكلية للبيانات الموجودة في العروض. +يتم تخزين ملفات PPTX—العناصر ذات الامتداد .pptx—في تنسيق PresentationML، وهو جزء من مواصفة Office Open XML. يحدد تنسيق Office Open XML هيكل البيانات الموجودة في العروض التقديمية. -مع كون *الشريحة* واحدة من العناصر في العروض، تحتوي *جزء الشريحة* على محتوى شريحة واحدة. يُسمح لجزء الشريحة بوجود علاقات صريحة مع العديد من الأجزاء – مثل العلامات المعرفة من قِبل المستخدم – المحددة بموجب ISO/IEC 29500. +مع اعتبار *الشريحة* أحد عناصر العروض التقديمية، يحتوي *جزء الشريحة* على محتوى شريحة واحدة. يسمح لجزء الشريحة أن يكون له علاقات صريحة مع العديد من الأجزاء—مثل العلامات المعرفة من قبل المستخدم—التي تعرفها ISO/IEC 29500. -يمكن أن توجد البيانات المخصصة (الخاصة بعرض تقديمي) أو المستخدم كعلامات ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection)) وأجزاء CustomXml ([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection)). +يمكن أن توجد بيانات مخصصة (محددة لعروض تقديمية) أو للمستخدم كعلامات ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection)) وCustomXmlParts ([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection)). {{% alert color="primary" %}} - -العلامات هي في الأساس قيم تتكون من أزواج مفاتيح وسلاسل. - +العلامات هي أساسًا قيم زوجية من السلسلة والمفتاح. {{% /alert %}} -## الحصول على القيم للعلامات - -في الشرائح، تتوافق علامة مع خاصية IDocumentProperties.Keywords. يعرض هذا الكود النموذجي كيفية الحصول على قيمة علامة باستخدام Aspose.Slides for .NET لـ [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation): +## **الحصول على قيم العلامات** +في الشرائح، تتطابق العلامة مع الخاصية IDocumentProperties.Keywords. يوضح لك هذا المثال البرمجي كيفية الحصول على قيمة علامة باستخدام Aspose.Slides for .NET ل[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation): ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,17 +29,17 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## إضافة علامات إلى العروض -تسمح Aspose.Slides لك بإضافة علامات إلى العروض. تتكون العلامة عادةً من عنصرين: +## **إضافة علامات إلى العروض التقديمية** -- اسم الميزة المخصصة - `MyTag` -- قيمة الميزة المخصصة - `My Tag Value` +تتيح لك Aspose.Slides إضافة العلامات إلى العروض التقديمية. عادةً ما تتكون العلامة من عنصرين: -إذا كنت بحاجة إلى تصنيف بعض العروض بناءً على قاعدة أو خاصية معينة، فيمكنك الاستفادة من إضافة علامات إلى تلك العروض. على سبيل المثال، إذا كنت تريد تصنيف أو تجميع جميع العروض من دول أمريكا الشمالية معًا، يمكنك إنشاء علامة أمريكية شمالية ثم تعيين الدول المعنية (الولايات المتحدة، المكسيك، وكندا) كقيم. +- اسم الخاصية المخصصة - `MyTag` +- قيمة الخاصية المخصصة - `My Tag Value` -يعرض هذا الكود النموذجي كيفية إضافة علامة إلى [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) باستخدام Aspose.Slides for .NET: +إذا كنت بحاجة إلى تصنيف بعض العروض التقديمية بناءً على قاعدة أو خاصية محددة، فقد تستفيد من إضافة العلامات إلى تلك العروض. على سبيل المثال، إذا أردت تصنيف أو جمع كل العروض التقديمية من دول أمريكا الشمالية معًا، يمكنك إنشاء علامة أمريكا الشمالية ثم تعيين الدول ذات الصلة (الولايات المتحدة، المكسيك، وكندا) كقيم. +يوضح لك هذا المثال البرمجي كيفية إضافة علامة إلى [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) باستخدام Aspose.Slides for .NET: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -51,8 +48,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -يمكن أيضًا تعيين العلامات لــ [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide): +يمكن أيضًا تعيين العلامات لـ[Slide](https://reference.aspose.com/slides/net/aspose.slides/slide): ```csharp using(Presentation pres = new Presentation()) { @@ -61,8 +58,8 @@ using(Presentation pres = new Presentation()) } ``` -أو لأي [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape) فردي: +أو لأي [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape): ```csharp using(Presentation pres = new Presentation()) { @@ -71,4 +68,19 @@ using(Presentation pres = new Presentation()) shape.TextFrame.Text = "My text"; shape.CustomData.Tags["tag"] = "value"; } -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل يمكنني إزالة جميع العلامات من عرض تقديمي أو شريحة أو شكل في عملية واحدة؟** + +نعم. تدعم [tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) عملية [clear](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/clear/) التي تحذف جميع أزواج المفتاح‑القيمة مرة واحدة. + +**كيف يمكنني حذف علامة واحدة باسمها دون التجول عبر المجموعة بأكملها؟** + +استخدم عملية [Remove(name)](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/remove/) على [TagCollection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) لحذف العلامة بمفتاحها. + +**كيف يمكنني استرداد القائمة الكاملة لأسماء العلامات للتحليل أو الفلترة؟** + +استخدم [GetNamesOfTags](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/getnamesoftags/) على [tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/); تُعيد مصفوفة بجميع أسماء العلامات. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md b/ar/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md index 11b47a5cba..607b72cf75 100644 --- a/ar/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md +++ b/ar/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md @@ -1,28 +1,28 @@ --- -title: الرسوم البيانية المتحركة +title: مخططات متحركة type: docs weight: 80 url: /ar/net/animated-charts/ -keywords: "الرسوم البيانية، سلسلة الرسوم البيانية، تقديم باوربوينت المتحرك، PPTX، PPT، C#، Csharp، Aspose.Slides لـ .NET" -description: "سلاسل الرسوم البيانية وحركات باوربوينت في C# أو .NET" +keywords: "مخططات، سلسلة المخططات، تحريك عرض PowerPoint، PPTX، PPT، C#، Csharp، Aspose.Slides for .NET" +description: "سلسلة مخططات PowerPoint والتحريكات في C# أو .NET" --- -يدعم Aspose.Slides لـ .NET تحريك عناصر الرسوم البيانية. **السلاسل**، **الفئات**، **عناصر السلاسل**، **عناصر الفئات** يمكن أن تُحرك باستخدام [**ISequence**.**AddEffect**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect) والطريقتين [**EffectChartMajorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype) و [**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype). -## **تحريك سلسلة الرسوم البيانية** -إذا كنت ترغب في تحريك سلسلة الرسوم البيانية، اكتب الكود وفق الخطوات المذكورة أدناه: +يدعم Aspose.Slides for .NET تحريك عناصر المخطط. يمكن تحريك **السلاسل**، **الفئات**، **عناصر السلاسل**، **عناصر الفئات** باستخدام طريقة [**ISequence**.**AddEffect** ](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect) واثنين من القيم enum [**EffectChartMajorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype) و[**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype). -1. تحميل عرض تقديمي. -2. الحصول على مرجع من كائن الرسم البياني. -3. تحريك السلسلة. -4. كتابة ملف العرض التقديمي على القرص. +## **تحريك سلسلة المخطط** +إذا أردت تحريك سلسلة مخطط، اكتب الشيفرة وفق الخطوات التالية: -في المثال المقدم أدناه، قمنا بتحريك سلسلة الرسوم البيانية. +1. تحميل عرض تقديمي. +1. الحصول على مرجع كائن المخطط. +1. تحريك السلسلة. +1. كتابة ملف العرض التقديمي إلى القرص. +في المثال أدناه، قمنا بتحريك سلاسل المخطط. ```c# -// إنشاء فئة العرض التقديمي التي تمثل ملف العرض التقديمي +// إنشاء فئة Presentation التي تمثل ملف عرض تقديمي using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // الحصول على مرجع من كائن الرسم البياني + // الحصول على مرجع كائن المخطط var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; @@ -53,20 +53,19 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ``` -## **تحريك فئة الرسوم البيانية** -إذا كنت ترغب في تحريك سلسلة الرسوم البيانية، اكتب الكود وفق الخطوات المذكورة أدناه: +## **تحريك فئة المخطط** +إذا أردت تحريك فئة مخطط، اكتب الشيفرة وفق الخطوات التالية: 1. تحميل عرض تقديمي. -2. الحصول على مرجع من كائن الرسم البياني. -3. تحريك الفئة. -4. كتابة ملف العرض التقديمي على القرص. - -في المثال المقدم أدناه، قمنا بتحريك فئة الرسوم البيانية. +1. الحصول على مرجع كائن المخطط. +1. تحريك الفئة. +1. كتابة ملف العرض التقديمي إلى القرص. +في المثال أدناه، قمنا بتحريك فئة المخطط. ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // الحصول على مرجع من كائن الرسم البياني + // الحصول على مرجع كائن المخطط var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; @@ -94,62 +93,61 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ``` -## **التحريك في عنصر السلسلة** -إذا كنت ترغب في تحريك عناصر السلسلة، اكتب الكود وفق الخطوات المذكورة أدناه: +## **تحريك عنصر السلسلة** +إذا أردت تحريك عناصر السلسلة، اكتب الشيفرة وفق الخطوات التالية: 1. تحميل عرض تقديمي. -2. الحصول على مرجع من كائن الرسم البياني. -3. تحريك عناصر السلسلة. -4. كتابة ملف العرض التقديمي على القرص. - -في المثال المقدم أدناه، قمنا بتحريك عناصر السلسلة. +1. الحصول على مرجع كائن المخطط. +1. تحريك عناصر السلسلة. +1. كتابة ملف العرض التقديمي إلى القرص. +في المثال أدناه، قمنا بتحريك عناصر السلسلة. ```c# -// تحميل عرض تقديمي -using (Presentation presentation = new Presentation("ExistingChart.pptx")) -{ - // الحصول على مرجع من كائن الرسم البياني - var slide = presentation.Slides[0] as Slide; - var shapes = slide.Shapes as ShapeCollection; - var chart = shapes[0] as IChart; - - // تحريك عناصر السلسلة - slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - // كتابة ملف العرض التقديمي إلى القرص - presentation.Save("AnimatingSeriesElements_out.pptx", SaveFormat.Pptx); + // تحميل عرض تقديمي + using (Presentation presentation = new Presentation("ExistingChart.pptx")) + { + // الحصول على مرجع كائن المخطط + var slide = presentation.Slides[0] as Slide; + var shapes = slide.Shapes as ShapeCollection; + var chart = shapes[0] as IChart; + + // تحريك عناصر السلسلة + slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + // كتابة ملف العرض التقديمي إلى القرص + presentation.Save("AnimatingSeriesElements_out.pptx", SaveFormat.Pptx); + } ``` -## **التحريك في عنصر الفئة** -إذا كنت ترغب في تحريك عناصر الفئات، اكتب الكود وفق الخطوات المذكورة أدناه: +## **تحريك عنصر الفئة** +إذا أردت تحريك عناصر الفئات، اكتب الشيفرة وفق الخطوات التالية: 1. تحميل عرض تقديمي. -2. الحصول على مرجع من كائن الرسم البياني. -3. تحريك عناصر الفئات. -4. كتابة ملف العرض التقديمي على القرص. - -في المثال المقدم أدناه، قمنا بتحريك عناصر الفئات. +1. الحصول على مرجع كائن المخطط. +1. تحريك عناصر الفئات. +1. كتابة ملف العرض التقديمي إلى القرص. +في المثال أدناه، قمنا بتحريك عناصر الفئات. ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // الحصول على مرجع من كائن الرسم البياني + // الحصول على مرجع كائن المخطط var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; @@ -174,4 +172,27 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) // كتابة ملف العرض التقديمي إلى القرص presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**هل تدعم المخططات أنواع تأثير مختلفة (مثل الدخول، التركيز، الخروج) كما تدعم الأشكال العادية؟** + +نعم. تُعامل المخططات كأشكال، لذا تدعم أنواع تأثير الرسوم المتحركة القياسية، بما في ذلك الدخول، التركيز، والخروج، مع تحكم كامل عبر جدول زمني للشرائح وسلاسل الرسوم المتحركة. + +**هل يمكنني دمج تحريك المخطط مع انتقالات الشرائح؟** + +نعم. [Transitions](/slides/ar/net/slide-transition/) تنطبق على الشريحة، في حين تنطبق تأثيرات الرسوم المتحركة على الكائنات داخل الشريحة. يمكنك استخدامهما معًا في نفس العرض التقديمي والتحكم فيهما بشكل مستقل. + +**هل تُحفظ تحريكات المخطط عند حفظ الملف بصيغة PPTX؟** + +نعم. عند [save to PPTX](/slides/ar/net/save-presentation/)، تُحفظ جميع تأثيرات الرسوم المتحركة وترتيبها لأنه جزء من نموذج الرسوم المتحركة الأصلي للعرض التقديمي. + +**هل يمكنني قراءة تحريكات المخطط الموجودة في عرض تقديمي وتعديلها؟** + +نعم. توفر [API](https://reference.aspose.com/slides/net/aspose.slides.animation/) إمكانية الوصول إلى جدول زمني للشرائح، والسلاسل، والتأثيرات، مما يتيح لك فحص تحريكات المخطط الحالية وتعديلها دون الحاجة لإعادة إنشائها من الصفر. + +**هل يمكنني إنشاء فيديو يتضمن تحريكات المخطط باستخدام Aspose.Slides؟** + +نعم. يمكنك [export a presentation to video](/slides/ar/net/convert-powerpoint-to-video/) مع الحفاظ على التحريكات، وضبط التوقيتات وإعدادات التصدير الأخرى بحيث يعكس المقطع الناتج التشغيل المتحرك. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md index 4697a94208..70b627ce6f 100644 --- a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md +++ b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md @@ -3,13 +3,12 @@ title: حسابات المخطط type: docs weight: 50 url: /ar/net/chart-calculations/ -keywords: "حسابات المخطط، عناصر المخطط، موضع العنصر، قيم المخطط C#، Csharp، Aspose.Slides لـ .NET" -description: "حسابات وقيم مخطط PowerPoint في C# أو .NET" +keywords: "حسابات المخطط, عناصر المخطط, موقع العنصر, قيم المخطط C#, Csharp, Aspose.Slides for .NET" +description: "حسابات وقيم مخططات PowerPoint في C# أو .NET" --- -## **احسب القيم الفعلية لعناصر المخطط** -توفر Aspose.Slides لـ .NET واجهة برمجة تطبيقات بسيطة للحصول على هذه الخصائص. سيساعدك ذلك في حساب القيم الفعلية لعناصر المخطط. تشمل القيم الفعلية موضع العناصر التي تنفذ واجهة IActualLayout (IActualLayout.ActualX، IActualLayout.ActualY، IActualLayout.ActualWidth، IActualLayout.ActualHeight) والقيم الفعلية للمحاور (IAxis.ActualMaxValue، IAxis.ActualMinValue، IAxis.ActualMajorUnit، IAxis.ActualMinorUnit، IAxis.ActualMajorUnitScale، IAxis.ActualMinorUnitScale). - +## **حساب القيم الفعلية لعناصر المخطط** +Aspose.Slides for .NET يوفر API بسيط للحصول على هذه الخصائص. سيساعدك ذلك على حساب القيم الفعلية لعناصر المخطط. تشمل القيم الفعلية موضع العناصر التي تنفذ واجهة IActualLayout (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) والقيم الفعلية للمحاور (IAxis.ActualMaxValue, IAxis.ActualMinValue, IAxis.ActualMajorUnit, IAxis.ActualMinorUnit, IAxis.ActualMajorUnitScale, IAxis.ActualMinorUnitScale). ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -26,10 +25,8 @@ using (Presentation pres = new Presentation("test.pptx")) ``` - -## **احسب موضع العناصر الأصلية في المخطط** -توفر Aspose.Slides لـ .NET واجهة برمجة تطبيقات بسيطة للحصول على هذه الخصائص. توفر خصائص IActualLayout معلومات حول الموضع الفعلي للعناصر الأصلية في المخطط. من الضروري استدعاء الطريقة IChart.ValidateChartLayout() مسبقًا لملء الخصائص بالقيم الفعلية. - +## **حساب الموضع الفعلي لعناصر المخطط الأصلية** +Aspose.Slides for .NET يوفر API بسيط للحصول على هذه الخصائص. خصائص IActualLayout توفر معلومات حول الموضع الفعلي لعنصر المخطط الأصل. من الضروري استدعاء الطريقة IChart.ValidateChartLayout() مسبقًا لملء الخصائص بالقيم الفعلية. ```c# // إنشاء عرض تقديمي فارغ using (Presentation pres = new Presentation()) @@ -45,10 +42,8 @@ using (Presentation pres = new Presentation()) ``` - ## **إخفاء المعلومات من المخطط** -تساعدك هذه الصفحة على فهم كيفية إخفاء المعلومات من المخطط. باستخدام Aspose.Slides لـ .NET يمكنك إخفاء **العنوان، المحور العمودي، المحور الأفقي** و **خطوط الشبكة** من المخطط. يوضح المثال البرمجي أدناه كيفية استخدام هذه الخصائص. - +هذا الموضوع يساعدك على فهم كيفية إخفاء المعلومات من المخطط. باستخدام Aspose.Slides for .NET يمكنك إخفاء **العنوان**, **المحور العمودي**, **المحور الأفقي** و **خطوط الشبكة** من المخطط. مثال الشيفرة أدناه يوضح كيفية استخدام هذه الخصائص. ```c# using (Presentation pres = new Presentation()) { @@ -58,13 +53,13 @@ using (Presentation pres = new Presentation()) //إخفاء عنوان المخطط chart.HasTitle = false; - //إخفاء محور القيم + ///إخفاء محور القيم chart.Axes.VerticalAxis.IsVisible = false; - //رؤية محور الفئات + //إظهار محور الفئة chart.Axes.HorizontalAxis.IsVisible = false; - //إخفاء الأسطورة + //إخفاء وسيلة الإيضاح chart.HasLegend = false; //إخفاء خطوط الشبكة الرئيسية @@ -79,7 +74,7 @@ using (Presentation pres = new Presentation()) series.Marker.Symbol = MarkerStyleType.Circle; series.Labels.DefaultDataLabelFormat.ShowValue = true; - series.Labels.DefaultDataLabelFormat.Position = LegendDataLabelPosition.Top; + series.Labels.DefaultDataLabelFormat.Position = LegendDataLabelFormat.Top; series.Marker.Size = 15; //تعيين لون خط السلسلة @@ -89,4 +84,19 @@ using (Presentation pres = new Presentation()) pres.Save("HideInformationFromChart.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل تعمل دفاتر عمل Excel الخارجية كمصدر بيانات، وكيف يؤثر ذلك على إعادة الحساب؟** + +نعم. يمكن للمخطط الإشارة إلى دفتر عمل خارجي: عند الاتصال أو تحديث المصدر الخارجي، تُؤخذ الصيغ والقيم من ذلك الدفتر، ويعكس المخطط التحديثات أثناء عمليات الفتح/التحرير. يتيح لك API [تحديد دفتر العمل الخارجي](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/) والمسار وإدارة البيانات المرتبطة. + +**هل يمكنني حساب وعرض خطوط الاتجاه دون تنفيذ التحليل الانحداري بنفسي؟** + +نعم. [خطوط الاتجاه](/slides/ar/net/trend-line/) (خطية، أسية، وغيرها) تُضاف وتُحدَّث تلقائيًا بواسطة Aspose.Slides؛ يتم إعادة حساب معلماتها من بيانات السلسلة تلقائيًا، لذلك لا تحتاج إلى تنفيذ حساباتك الخاصة. + +**إذا كان العرض التقديمي يحتوي على مخططات متعددة مرتبطة بروابط خارجية، هل يمكنني التحكم في دفتر العمل الذي يستخدمه كل مخطط للقيم المحسوبة؟** + +نعم. يمكن لكل مخطط الإشارة إلى [دفتر العمل الخارجي](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/) الخاص به، أو يمكنك إنشاء/استبدال دفتر عمل خارجي لكل مخطط بشكل مستقل عن الآخرين. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md index 820237a315..e813c57619 100644 --- a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md +++ b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md @@ -1,14 +1,13 @@ --- -title: ملاحظة +title: ملاحظة توضيحية type: docs url: /ar/net/callout/ -keywords: "ملاحظة الرسم البياني، تسمية بيانات الرسم البياني، C#، Csharp، Aspose.Slides لـ .NET" -description: "ملاحظات الرسم البياني في PowerPoint وعلامات البيانات بـ C# أو .NET" +keywords: "ملاحظة توضيحية للمخطط, تسمية بيانات المخطط, C#, Csharp, Aspose.Slides for .NET" +description: "ملاحظات توضيحية للمخططات وتسمية البيانات في PowerPoint باستخدام C# أو .NET" --- -## **استخدام الملاحظات** -تمت إضافة خاصية **ShowLabelAsDataCallout** إلى فئة **DataLabelFormat** وواجهة **IDataLabelFormat**، التي تحدد ما إذا كانت تسمية بيانات الرسم البياني المحدد ستظهر كملاحظة بيانات أو كتسمية بيانات. في المثال المذكور أدناه، قمنا بتعيين الملاحظات. - +## **استخدام الملاحظات التوضيحية** +تمت إضافة الخاصية الجديدة **ShowLabelAsDataCallout** إلى الفئة **DataLabelFormat** والواجهة **IDataLabelFormat**، والتي تحدد ما إذا كان سيتم عرض تسمية البيانات للمخطط المحدد كملاحظة توضيحية أو كتسمية بيانات. في المثال المذكور أدناه، قمنا بتعيين الملاحظات التوضيحية. ```c# using (Presentation presentation = new Presentation()) { @@ -21,10 +20,8 @@ using (Presentation presentation = new Presentation()) ``` - -## **تعيين ملاحظة لرسم بياني دائري** -يوفر Aspose.Slides لـ .NET دعمًا لتعيين شكل ملاحظة تسمية بيانات السلسلة لرسم بياني دائري. المثال التالي هو مثال توضيحي.  - +## **تعيين ملاحظة توضيحية لمخطط الدونات** +توفر Aspose.Slides for .NET دعمًا لتعيين شكل ملاحظة توضيحية لتسمية بيانات السلسلة لمخطط الدونات. يُعطى المثال التالي. ```c# Presentation pres = new Presentation("testc.pptx"); ISlide slide = pres.Slides[0]; @@ -82,4 +79,15 @@ while (categoryIndex < 15) categoryIndex++; } pres.Save("chart.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**هل يتم الحفاظ على الملاحظات التوضيحية عند تحويل العرض التقديمي إلى PDF أو HTML5 أو SVG أو صور؟** + +نعم. الملاحظات التوضيحية هي جزء من عرض المخطط، لذلك عند تصدير إلى [PDF](/slides/ar/net/convert-powerpoint-to-pdf/)، [HTML5](/slides/ar/net/export-to-html5/)، [SVG](/slides/ar/net/render-a-slide-as-an-svg-image/)، أو [raster images](/slides/ar/net/convert-powerpoint-to-png/)، يتم الحفاظ عليها مع تنسيق الشريحة. + +**هل تعمل الخطوط المخصصة في الملاحظات التوضيحية، وهل يمكن الحفاظ على مظهرها عند التصدير؟** + +نعم. تدعم Aspose.Slides [embedding fonts](/slides/ar/net/embedded-font/) في العرض وتتحكم في تضمين الخطوط أثناء التصدير مثل [PDF](/slides/ar/net/convert-powerpoint-to-pdf/)، مما يضمن أن تبدو الملاحظات التوضيحية نفسها عبر الأنظمة المختلفة. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index 378c29fb58..9cd328243a 100644 --- a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,26 +1,23 @@ --- -title: محور الرسم البياني +title: محور المخطط type: docs url: /ar/net/chart-axis/ -keywords: "محور الرسم البياني في PowerPoint, الرسوم البيانية التقديمية, C#, .NET, التعامل مع محور الرسم البياني, بيانات الرسم البياني" -description: "تعديل محور الرسم البياني في PowerPoint باستخدام C# أو .NET" +keywords: "محور مخطط PowerPoint, مخططات العرض, C#, .NET, تعديل محور المخطط, بيانات المخطط" +description: "تحرير محور مخطط PowerPoint في C# أو .NET" --- +## **الحصول على القيم القصوى على المحور العمودي في المخططات** +يسمح لك Aspose.Slides for .NET بالحصول على القيم الدنيا والقصوى على المحور العمودي. اتبع هذه الخطوات: -## **الحصول على القيم القصوى على المحور العمودي في الرسوم البيانية** -يسمح لك Aspose.Slides لشركة .NET بالحصول على القيم الدنيا والقصوى على محور عمودي. اتبع هذه الخطوات: - -1. قم بإنشاء مثيل لفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. الوصول إلى الشريحة الأولى. -1. إضافة رسم بياني باستخدام بيانات افتراضية. -1. الحصول على القيمة القصوى الفعلية على المحور. -1. الحصول على القيمة الدنيا الفعلية على المحور. -1. الحصول على الوحدة الرئيسية الفعلية للمحور. -1. الحصول على الوحدة الثانوية الفعلية للمحور. -1. الحصول على مقياس الوحدة الرئيسية الفعلية للمحور. -1. الحصول على مقياس الوحدة الثانوية الفعلية للمحور. - -يظهر هذا الكود المصدري - تنفيذ للخطوات أعلاه - كيف تحصل على القيم المطلوبة في C#: +1. إنشاء نسخة من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. الوصول إلى الشريحة الأولى. +3. إضافة مخطط ببيانات افتراضية. +4. الحصول على القيمة القصوى الفعلية على المحور. +5. الحصول على القيمة الدنيا الفعلية على المحور. +6. الحصول على وحدة المحور الرئيسية الفعلية. +7. الحصول على وحدة المحور الثانوية الفعلية. +8. الحصول على مقياس الوحدة الرئيسية الفعلي للمحور. +9. الحصول على مقياس الوحدة الثانوية الفعلي للمحور. ```c# using (Presentation pres = new Presentation()) @@ -34,19 +31,17 @@ using (Presentation pres = new Presentation()) double majorUnit = chart.Axes.HorizontalAxis.ActualMajorUnit; double minorUnit = chart.Axes.HorizontalAxis.ActualMinorUnit; - // حفظ العرض التقديمي + // يحفظ العرض التقديمي presentation.Save("ErrorBars_out.pptx", SaveFormat.Pptx); } ``` -## **تبادل البيانات بين المحاور** -يسمح لك Aspose.Slides بسرعة بتبادل البيانات بين المحاور - البيانات الموجودة على المحور العمودي (المحور الصادي) تنتقل إلى المحور الأفقي (المحور السيني) والعكس بالعكس. - -يظهر هذا الكود C# كيف تقوم بأداء مهمة تبادل البيانات بين المحاور على الرسم البياني: +## **تبديل البيانات بين المحاور** +يتيح لك Aspose.Slides تبديل البيانات بين المحاور بسرعة — يتم نقل البيانات المعروضة على المحور العمودي (محور y) إلى المحور الأفقي (محور x) والعكس بالعكس. ```c# -// إنشاء عرض تقديمي فارغ + // إنشاء عرض تقديمي فارغ using (Presentation pres = new Presentation()) { IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 400, 300); @@ -59,10 +54,9 @@ using (Presentation pres = new Presentation()) } ``` -## **تعطيل المحور العمودي للرسوم البيانية الخطية** - -يظهر هذا الكود C# كيف تخفي المحور العمودي لرسم بياني خطي: +## **إلغاء تمكين المحور العمودي لمخططات الخط** +يعرض لك هذا الكود بلغة C# كيفية إخفاء المحور العمودي لمخطط خط: ```c# using (Presentation pres = new Presentation()) { @@ -73,10 +67,9 @@ using (Presentation pres = new Presentation()) } ``` -## **تعطيل المحور الأفقي للرسوم البيانية الخطية** - -يظهر هذا الكود كيف تخفي المحور الأفقي لرسم بياني خطي: +## **إلغاء تمكين المحور الأفقي لمخططات الخط** +يعرض لك هذا الكود كيفية إخفاء المحور الأفقي لمخطط خط: ```c# using (Presentation pres = new Presentation()) { @@ -87,10 +80,9 @@ using (Presentation pres = new Presentation()) } ``` -## **تغيير محور الفئة** - -باستخدام خاصية **CategoryAxisType**، يمكنك تحديد نوع محور الفئة المفضل لديك (**تاريخ** أو **نص**). يُظهر هذا الكود في C# العملية: +## **تغيير محور الفئة** +باستخدام الخاصية **CategoryAxisType**، يمكنك تحديد نوع محور الفئة المفضل لديك (**date** أو **text**). يوضح هذا الكود بلغة C# العملية: ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -103,9 +95,9 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) } ``` -## **تعيين تنسيق التاريخ لقيمة محور الفئة** -يسمح لك Aspose.Slides لشركة .NET بتعيين تنسيق التاريخ لقيمة محور الفئة. تُظهر هذه العملية في كود C#: +## **تعيين تنسيق التاريخ لقيمة محور الفئة** +يسمح لك Aspose.Slides for .NET بتعيين تنسيق التاريخ لقيمة محور الفئة. يتم توضيح العملية في هذا الكود بلغة C#: ```c# using (Presentation pres = new Presentation()) { @@ -134,9 +126,9 @@ using (Presentation pres = new Presentation()) } ``` -## **تعيين زاوية التدوير لعنوان محور الرسم البياني** -يسمح لك Aspose.Slides لشركة .NET بتعيين زاوية التدوير لعنوان محور الرسم البياني. يُظهر كود C# هذا العملية: +## **تعيين زاوية الدوران لعنوان محور المخطط** +يسمح لك Aspose.Slides for .NET بتعيين زاوية الدوران لعنوان محور المخطط. يوضح هذا الكود بلغة C# العملية: ```c# using (Presentation pres = new Presentation()) { @@ -148,9 +140,9 @@ using (Presentation pres = new Presentation()) } ``` -## **تعيين محور الموقع في محور الفئة أو القيمة** -يسمح لك Aspose.Slides لشركة .NET بتعيين محور الموقع في محور الفئة أو القيمة. يُظهر كود C# هذا كيف تقوم بأداء المهمة: +## **تعيين موضع المحور في محور الفئة أو محور القيمة** +يسمح لك Aspose.Slides for .NET بتعيين موضع المحور في محور الفئة أو محور القيمة. يوضح هذا الكود بلغة C# كيفية تنفيذ المهمة: ```c# using (Presentation pres = new Presentation()) { @@ -161,9 +153,9 @@ using (Presentation pres = new Presentation()) } ``` -## **تفعيل عرض علامة وحدة على محور قيمة الرسم البياني** -يسمح لك Aspose.Slides لشركة .NET بتكوين رسم بياني ليظهر علامة وحدة على محور قيمة الرسم البياني الخاص به. تُظهر كود C# هذا العملية: +## **تمكين تسمية وحدة العرض على محور قيمة المخطط** +يسمح لك Aspose.Slides for .NET بتكوين مخطط لإظهار تسمية الوحدة على محور قيمة المخطط. يوضح هذا الكود بلغة C# العملية: ```c# using (Presentation pres = new Presentation(dataDir+"Test.pptx")) { @@ -171,4 +163,15 @@ using (Presentation pres = new Presentation(dataDir+"Test.pptx")) chart.Axes.VerticalAxis.DisplayUnit = DisplayUnitType.Millions; pres.Save("Result.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**كيف يمكنني تعيين القيمة التي يتقاطع عندها محور مع الآخر (تقاطع المحاور)؟** + +توفر المحاور خيار [تقاطع المحاور](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/crosstype/): يمكنك اختيار التقاطع عند الصفر، أو عند أقصى فئة/قيمة، أو عند قيمة رقمية محددة. هذا مفيد لتحريك محور X لأعلى أو لأسفل أو لتأكيد خط الأساس. + +**كيف يمكنني تموضع تسميات العلامات بالنسبة إلى المحور (جانبية، خارجية، داخلية)؟** + +قم بضبط [موضع التسمية](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/majortickmark/) إلى "cross" أو "outside" أو "inside". هذا يؤثر على قابلية القراءة ويساعد في توفير المساحة، خصوصًا في المخططات الصغيرة. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md index 666c5a97a4..a276125244 100644 --- a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md +++ b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md @@ -1,17 +1,16 @@ --- -title: ملصق بيانات الرسم البياني +title: تسمية بيانات المخطط type: docs url: /ar/net/chart-data-label/ -keywords: "ملصق بيانات الرسم البياني, مسافة الملصق, C#, Csharp, Aspose.Slides for .NET" -description: "تعيين ملصق بيانات الرسم البياني في PowerPoint والمسافة في C# أو .NET" +keywords: "تسمية بيانات المخطط, مسافة التسمية, C#, Csharp, Aspose.Slides for .NET" +description: "تعيين تسمية بيانات مخطط PowerPoint والمسافة في C# أو .NET" --- -تظهر ملصقات البيانات على الرسم البياني تفاصيل حول سلسلة بيانات الرسم البياني أو نقاط البيانات الفردية. تتيح للقراء التعرف بسرعة على سلسلة البيانات كما تجعل الرسوم البيانية أسهل في الفهم. +تُظهر تسميات البيانات في المخطط تفاصيل حول سلسلة بيانات المخطط أو نقاط البيانات الفردية. فهي تسمح للقراء بتحديد سلاسل البيانات بسرعة كما تجعل المخططات أسهل في الفهم. -## **تعيين دقة البيانات في ملصقات بيانات الرسم البياني** - -يوضح هذا الكود بلغة C# كيفية تعيين دقة البيانات في ملصق بيانات الرسم البياني: +## **تعيين دقة البيانات في تسميات بيانات المخطط** +يظهر هذا الكود C# كيفية تعيين دقة البيانات في تسمية بيانات المخطط: ```c# using (Presentation pres = new Presentation()) { @@ -23,11 +22,12 @@ using (Presentation pres = new Presentation()) } ``` -## **عرض النسبة المئوية كملصقات** -تتيح Aspose.Slides for .NET تعيين ملصقات النسبة المئوية على الرسوم البيانية المعروضة. يوضح هذا الكود بلغة C# العملية: +## **عرض النسبة المئوية كتسميات** + +تتيح لك Aspose.Slides for .NET تعيين تسميات النسبة المئوية على المخططات المعروضة. يوضح هذا الكود C# العملية: ```c# -// ينشئ مثيلاً لفئة Presentation +// إنشاء كائن من فئة Presentation Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; @@ -72,45 +72,47 @@ for (int x = 0; x < chart.ChartData.Series.Count; x++) } } -// يحفظ العرض التقديمي الذي يحتوي على الرسم البياني +// حفظ العرض التقديمي الذي يحتوي على المخطط presentation.Save("DisplayPercentageAsLabels_out.pptx", SaveFormat.Pptx); ``` -## **تعيين علامة النسبة المئوية مع ملصقات بيانات الرسم البياني** -يوضح هذا الكود بلغة C# كيفية تعيين علامة النسبة المئوية لملصق بيانات الرسم البياني: + +## **تعيين علامة النسبة المئوية في تسميات بيانات المخطط** + +يظهر هذا الكود C# كيفية تعيين علامة النسبة المئوية لتسمية بيانات المخطط: ```c# -// ينشئ مثيلاً لفئة Presentation +// ينشئ كائنًا من فئة Presentation Presentation presentation = new Presentation(); -// يحصل على مرجع شريحة من خلال فهرسها +// يحصل على مرجع الشريحة عبر فهرسها ISlide slide = presentation.Slides[0]; -// ينشئ الرسم البياني PercentsStackedColumn على شريحة +// ينشئ مخطط PercentsStackedColumn على شريحة IChart chart = slide.Shapes.AddChart(ChartType.PercentsStackedColumn, 20, 20, 500, 400); -// يعين NumberFormatLinkedToSource إلى false +// يضبط الخاصية NumberFormatLinkedToSource إلى false chart.Axes.VerticalAxis.IsNumberFormatLinkedToSource = false; chart.Axes.VerticalAxis.NumberFormat = "0.00%"; chart.ChartData.Series.Clear(); int defaultWorksheetIndex = 0; -// يحصل على ورقة عمل بيانات الرسم البياني +// يحصل على ورقة بيانات المخطط IChartDataWorkbook workbook = chart.ChartData.ChartDataWorkbook; -// يضيف سلسلتين جديدتين +// يضيف سلسلة جديدة IChartSeries series = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 1, "Reds"), chart.Type); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 1, 0.30)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 1, 0.50)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 3, 1, 0.80)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 4, 1, 0.65)); -// يعين لون التعبئة للسلسلة +// يضبط لون التعبئة للسلسلة series.Format.Fill.FillType = FillType.Solid; series.Format.Fill.SolidFillColor.Color = Color.Red; -// يعين خصائص LabelFormat +// يضبط خصائص تنسيق التسمية series.Labels.DefaultDataLabelFormat.ShowValue = true; series.Labels.DefaultDataLabelFormat.IsNumberFormatLinkedToSource = false; series.Labels.DefaultDataLabelFormat.NumberFormat = "0.0%"; @@ -119,14 +121,14 @@ series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.FillTyp series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.White; series.Labels.DefaultDataLabelFormat.ShowValue = true; -// يضيف سلسلتين جديدتين +// يضيف سلسلة جديدة IChartSeries series2 = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 2, "Blues"), chart.Type); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 2, 0.70)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 2, 0.50)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 3, 2, 0.20)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 4, 2, 0.35)); -// يعين نوع التعبئة واللون +// يضبط نوع التعبئة واللون series2.Format.Fill.FillType = FillType.Solid; series2.Format.Fill.SolidFillColor.Color = Color.Blue; series2.Labels.DefaultDataLabelFormat.ShowValue = true; @@ -136,36 +138,37 @@ series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FontHeight = 10; series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.FillType = FillType.Solid; series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.White; -// يكتب العرض التقديمي إلى القرص +// يحفظ العرض التقديمي إلى القرص presentation.Save("SetDataLabelsPercentageSign_out.pptx", SaveFormat.Pptx); ``` -## **تعيين مسافة الملصق من المحور** -يوضح هذا الكود بلغة C# كيفية تعيين مسافة الملصق من محور الفئة عندما تتعامل مع رسم بياني مرسوم من المحاور: +## **تعيين مسافة التسمية من المحور** + +يظهر هذا الكود C# كيفية تعيين مسافة التسمية من محور الفئات عندما تكون تتعامل مع مخطط مرسم من المحاور: ```c# -// ينشئ مثيلاً لفئة Presentation +// ينشئ كائنًا من فئة Presentation Presentation presentation = new Presentation(); -// يحصل على مرجع شريحة +// يحصل على مرجع الشريحة ISlide sld = presentation.Slides[0]; -// ينشئ رسمًا بيانيًا على الشريحة +// ينشئ مخططًا على الشريحة IChart ch = sld.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 300); -// يعين مسافة الملصق من المحور +// يضبط مسافة التسمية من المحور ch.Axes.HorizontalAxis.LabelOffset = 500; -// يكتب العرض التقديمي إلى القرص +// يحفظ العرض التقديمي إلى القرص presentation.Save("SetCategoryAxisLabelDistance_out.pptx", SaveFormat.Pptx); ``` -## **تعديل موقع الملصق** -عندما تقوم بإنشاء رسم بياني لا يعتمد على أي محور مثل الرسم البياني الدائري، قد تنتهي ملصقات بيانات الرسم البياني بالقرب من حافته. في مثل هذه الحالة، تحتاج إلى تعديل موقع ملصق البيانات بحيث يتم عرض خطوط الربط بوضوح. +## **ضبط موضع التسمية** -يوضح هذا الكود بلغة C# كيفية تعديل موقع الملصق على رسم بياني دائري: +عند إنشاء مخطط لا يعتمد على أي محور مثل مخطط الفطيرة، قد تكون تسميات البيانات قريبة جدًا من حافته. في هذه الحالة، عليك ضبط موضع تسمية البيانات بحيث تظهر خطوط الربط بوضوح. +يظهر هذا الكود C# كيفية ضبط موضع التسمية في مخطط الفطيرة: ```c# using (Presentation pres = new Presentation()) { @@ -183,4 +186,19 @@ using (Presentation pres = new Presentation()) } ``` -![pie-chart-adjusted-label](pie-chart-adjusted-label.png) \ No newline at end of file + +![مخطط دائري مع تسمية مضبوطة](pie-chart-adjusted-label.png) + +## **الأسئلة المتكررة** + +**كيف يمكنني منع تداخل تسميات البيانات في المخططات الكثيفة؟** + +استخدام وضعية وضع التسميات التلقائي، خطوط الربط، وتقليل حجم الخط؛ إذا لزم الأمر، إخفاء بعض الحقول (مثل الفئة) أو إظهار التسميات فقط للنقاط المتطرفة/المفتاحية. + +**كيف يمكنني إلغاء تفعيل التسميات للقيم الصفرية أو السلبية أو الفارغة فقط؟** + +تصفية نقاط البيانات قبل تمكين التسميات وإيقاف العرض للقيم التي تساوي 0 أو القيم السلبية أو القيم المفقودة وفق قاعدة محددة. + +**كيف يمكنني ضمان نمط تسمية متسق عند التصدير إلى PDF/صور؟** + +تعيين الخطوط صراحةً (العائلة، الحجم) والتأكد من توفر الخط على جانب العرض لتجنب fallback. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index ca2e0afa50..963dece35d 100644 --- a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,45 +1,44 @@ --- -title: علامة بيانات الرسم البياني +title: علامة بيانات المخطط type: docs url: /ar/net/chart-data-marker/ keywords: -- خيارات علامات الرسم البياني +- خيارات علامة المخطط - PowerPoint - عرض تقديمي - C# - Csharp -- Aspose.Slides for .NET -description: "قم بتعيين خيارات علامة الرسم البياني في عروض PowerPoint التقديمية باستخدام C# أو .NET" +- Aspose.Slides لـ .NET +description: "ضبط خيارات علامة المخطط في عروض تقديمية PowerPoint باستخدام C# أو .NET" --- -## **تعيين خيارات علامة الرسم البياني** -يمكن تعيين العلامات على نقاط بيانات الرسم البياني داخل سلسلة معينة. لتعيين خيارات علامة الرسم البياني، يرجى اتباع الخطوات أدناه: +## **تعيين خيارات علامة المخطط** +يمكن تعيين العلامات على نقاط بيانات المخطط داخل السلاسل المحددة. لضبط خيارات علامة المخطط، يرجى اتباع الخطوات أدناه: -- إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -- إنشاء الرسم البياني الافتراضي. +- إنشاء فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +- إنشاء المخطط الافتراضي. - تعيين الصورة. -- أخذ أول سلسلة رسم بياني. +- الحصول على أول سلسلة مخطط. - إضافة نقطة بيانات جديدة. -- كتابة العرض التقديمي على القرص. - -في المثال المعطى أدناه، قمنا بتعيين خيارات علامة الرسم البياني على مستوى نقاط البيانات. +- كتابة العرض التقديمي إلى القرص. +في المثال المعطى أدناه، قمنا بتعيين خيارات علامة المخطط على مستوى نقاط البيانات. ```c# -// إنشاء مثيل من فئة Presentation +// إنشاء كائن من فئة Presentation using Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; -// إنشاء الرسم البياني الافتراضي +// إنشاء المخطط الافتراضي IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 0, 0, 400, 400); -// الحصول على فهرس ورقة البيانات الافتراضية للرسم البياني +// الحصول على فهرس ورقة عمل بيانات المخطط الافتراضية int defaultWorksheetIndex = 0; -// الحصول على ورقة بيانات الرسم البياني +// الحصول على ورقة عمل بيانات المخطط IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook; -// حذف سلسلة العرض التوضيحي +// حذف سلسلة العرض التجريبي chart.ChartData.Series.Clear(); // إضافة سلسلة جديدة @@ -53,7 +52,7 @@ IPPImage imgx1 = presentation.Images.AddImage(image1); using IImage image2 = Images.FromFile("Tulips.jpg"); IPPImage imgx2 = presentation.Images.AddImage(image2); -// أخذ أول سلسلة رسم بياني +// أخذ أول سلسلة مخطط IChartSeries series = chart.ChartData.Series[0]; // إضافة نقطة جديدة (1:3) هناك. @@ -73,9 +72,20 @@ point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorkshee point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx2; -// تغيير علامة سلسلة الرسم البياني +// تغيير علامة سلسلة المخطط series.Marker.Size = 15; -// كتابة العرض التقديمي على القرص +// حفظ العرض التقديمي إلى القرص presentation.Save("MarkOptions_out.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**ما هي أشكال العلامات المتوفرة بشكل افتراضي؟** + +الأشكال القياسية متوفرة (دائرة، مربع، ماسي، مثلث، إلخ)؛ يتم تعريف القائمة بواسطة تعداد [MarkerStyleType](https://reference.aspose.com/slides/net/aspose.slides.charts/markerstyletype/). إذا كنت بحاجة إلى شكل غير قياسي، استخدم علامة مع تعبئة صورة لمحاكاة الرسوم المخصصة. + +**هل يتم الحفاظ على العلامات عند تصدير المخطط إلى صورة أو SVG؟** + +نعم. عند عرض المخططات إلى [raster formats](/slides/ar/net/convert-powerpoint-to-png/) أو حفظ [shapes as SVG](/slides/ar/net/render-a-slide-as-an-svg-image/)، تحتفظ العلامات بمظهرها وإعداداتها، بما في ذلك الحجم، التعبئة، والحدود. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md index 2ec047aa20..6fca953b97 100644 --- a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md +++ b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md @@ -1,22 +1,21 @@ --- -title: جدول بيانات الرسم البياني +title: جدول بيانات المخطط type: docs url: /ar/net/chart-data-table/ -keywords: "خصائص الخط، جدول بيانات الرسم البياني، عرض PowerPoint، C#، Csharp، Aspose.Slides لـ .NET" -description: "تعيين خصائص الخط لجدول بيانات الرسم البياني في عروض PowerPoint باستخدام C# أو .NET" +keywords: "خصائص الخط, جدول بيانات المخطط, عرض تقديمي PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "تعيين خصائص الخط لجدول بيانات المخطط في عروض PowerPoint التقديمية باستخدام C# أو .NET" --- -## **تعيين خصائص الخط لجدول بيانات الرسم البياني** -يوفر Aspose.Slides لـ .NET دعمًا لتغيير لون الفئات في سلسلة الألوان. +## **تعيين خصائص الخط لجدول بيانات المخطط** +توفر Aspose.Slides for .NET دعمًا لتغيير لون الفئات في لون السلسلة. -1. قم بإنشاء كائن من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. أضف الرسم البياني إلى الشريحة. -1. قم بتعيين جدول الرسم البياني. -1. قم بتعيين ارتفاع الخط. -1. احفظ العرض المعدل. - - يوجد أدناه مثال توضيحي. +1. إنشاء كائن فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. إضافة مخطط إلى الشريحة. +1. ضبط جدول المخطط. +1. تعيين ارتفاع الخط. +1. حفظ العرض التقديمي المعدل. +مثال توضيحي أدناه. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -29,4 +28,23 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **الأسئلة الشائعة** + +**هل يمكنني إظهار مفاتيح وسيلة إيضاح صغيرة بجانب القيم في جدول بيانات المخطط؟** + +نعم. يدعم جدول البيانات [مفاتيح وسيلة الإيضاح](https://reference.aspose.com/slides/net/aspose.slides.charts/datatable/showlegendkey/)، ويمكنك تشغيلها أو إيقافها. + +**هل سيبقى جدول البيانات محفوظًا عند تصدير العرض التقديمي إلى PDF أو HTML أو صور؟** + +نعم. تقوم Aspose.Slides برسم المخطط كجزء من الشريحة، لذا فإن الـ[PDF](/slides/ar/net/convert-powerpoint-to-pdf/)/[HTML](/slides/ar/net/convert-powerpoint-to-html/)/[صورة](/slides/ar/net/convert-powerpoint-to-png/) المصدر يتضمن المخطط مع جدول بياناته. + +**هل يتم دعم جداول البيانات للمخططات التي تأتي من ملف قالب؟** + +نعم. بالنسبة لأي مخطط تم تحميله من عرض تقديمي موجود أو قالب، يمكنك التحقق وتغيير ما إذا كان جدول البيانات [معروضًا](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/) باستخدام خصائص المخطط. + +**كيف يمكنني بسرعة العثور على المخططات في ملف ما التي تم تمكين جدول البيانات لها؟** + +قم بفحص خاصية كل مخطط التي تشير إلى ما إذا كان جدول البيانات [معروضًا](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/) وتكرار المرور عبر الشرائح لتحديد المخططات التي تم تمكينه فيها. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index 6a4c35a2b1..e44d9c20fd 100644 --- a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,53 +1,51 @@ --- -title: تفسير الرسم البياني +title: أسطورة المخطط type: docs url: /ar/net/chart-legend/ -keywords: "تفسير الرسم البياني، حجم خط التفسير، عرض PowerPoint، C#، Csharp، Aspose.Slides لـ .NET" -description: "تعيين موضع وحجم الخط لتفسير الرسم البياني في عروض PowerPoint باستخدام C# أو .NET" +keywords: "أسطورة المخطط, حجم خط الأسطورة, عرض تقديمي PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "تعيين الموقع وحجم الخط لأسطورة المخطط في عروض PowerPoint التقديمية باستخدام C# أو .NET" --- -## **تعيين موضع التفسير** -لتعيين خصائص التفسير. يرجى اتباع الخطوات أدناه: +## **تحديد موضع الأسطورة** +من أجل تعيين خصائص الأسطورة. يرجى اتباع الخطوات التالية: -- إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -- الحصول على مرجع للشريحة. -- إضافة رسم بياني على الشريحة. -- تعيين خصائص التفسير. -- كتابة العرض كملف PPTX. - -في المثال المعطى أدناه، قمنا بتعيين الموضع والحجم لتفسير الرسم البياني. +- إنشاء مثال من فئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +- الحصول على مرجع الشريحة. +- إضافة مخطط إلى الشريحة. +- تعيين خصائص الأسطورة. +- كتابة العرض التقديمي كملف PPTX. +في المثال الموضح أدناه، قمنا بتعيين الموضع والحجم لأسطورة المخطط. ```c# -// إنشاء مثيل من فئة Presentation +// إنشاء مثال من فئة Presentation Presentation presentation = new Presentation(); -// الحصول على مرجع للشريحة +// الحصول على مرجع الشريحة ISlide slide = presentation.Slides[0]; -// إضافة رسم بياني عمودي مجمع على الشريحة +// إضافة مخطط عمود مجمع إلى الشريحة IChart chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 500); -// تعيين خصائص التفسير +// تعيين خصائص الأسطورة chart.Legend.X = 50 / chart.Width; chart.Legend.Y = 50 / chart.Height; chart.Legend.Width = 100 / chart.Width; chart.Legend.Height = 100 / chart.Height; -// كتابة العرض إلى القرص +// كتابة العرض التقديمي إلى القرص presentation.Save("Legend_out.pptx", SaveFormat.Pptx); ``` -## **تعيين حجم خط التفسير** -يتيح Aspose.Slides لـ .NET للمطورين تعيين حجم خط التفسير. يرجى اتباع الخطوات أدناه: +## **تعيين حجم الخط للأسطورة** +تتيح مكتبة Aspose.Slides for .NET للمطورين تعيين حجم الخط للأسطورة. يرجى اتباع الخطوات التالية: -- إنشاء مثيل من فئة `Presentation`. -- إنشاء الرسم البياني الافتراضي. +- إنشاء كائن من فئة `Presentation`. +- إنشاء المخطط الافتراضي. - تعيين حجم الخط. -- تعيين الحد الأدنى لقيمة المحور. -- تعيين الحد الأقصى لقيمة المحور. -- كتابة العرض إلى القرص. - +- تعيين قيمة الحد الأدنى للمحور. +- تعيين قيمة الحد الأقصى للمحور. +- كتابة العرض التقديمي إلى القرص. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -64,17 +62,16 @@ using (Presentation pres = new Presentation("test.pptx")) ``` -## **تعيين حجم خط تفسير فردي** -يتيح Aspose.Slides لـ .NET للمطورين تعيين حجم خط إدخالات التفسير الفردية. يرجى اتباع الخطوات أدناه: +## **تعيين حجم الخط لأسطورة فردية** +تتيح مكتبة Aspose.Slides for .NET للمطورين تعيين حجم الخط لمدخلات الأسطورة الفردية. يرجى اتباع الخطوات التالية: -- إنشاء مثيل من فئة `Presentation`. -- إنشاء الرسم البياني الافتراضي. -- الوصول إلى إدخال التفسير. +- إنشاء كائن من فئة `Presentation`. +- إنشاء المخطط الافتراضي. +- الوصول إلى مدخل الأسطورة. - تعيين حجم الخط. -- تعيين الحد الأدنى لقيمة المحور. -- تعيين الحد الأقصى لقيمة المحور. -- كتابة العرض إلى القرص. - +- تعيين قيمة الحد الأدنى للمحور. +- تعيين قيمة الحد الأقصى للمحور. +- كتابة العرض التقديمي إلى القرص. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -89,4 +86,19 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **الأسئلة المتكررة** + +**هل يمكنني تمكين الأسطورة بحيث يخصص المخطط مساحة لها تلقائيًا بدلاً من تغطيتها؟** + +نعم. استخدم وضع عدم التراكب ([Overlay](https://reference.aspose.com/slides/net/aspose.slides.charts/legend/overlay/) = `false`); في هذه الحالة، سيقلص مساحة الرسم لتستوعب الأسطورة. + +**هل يمكنني إنشاء تسميات أسطورة متعددة الأسطر؟** + +نعم. يتم لف التسميات الطويلة تلقائيًا عندما تكون المساحة غير كافية؛ كما يتم دعم فواصل الأسطر القسرية عبر أحرف السطر الجديد في اسم السلسلة. + +**كيف أجعل الأسطورة تتبع نظام ألوان سمة العرض التقديمي؟** + +لا تقم بتعيين ألوان/تعبئات/خطوط صريحة للأسطورة أو نصها. سيتوارثون ذلك من السمة وسيتم تحديثهم بشكل صحيح عند تغيير التصميم. \ No newline at end of file diff --git a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index 431cc163c5..f133ad683b 100644 --- a/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/ar/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -2,22 +2,21 @@ title: منطقة رسم المخطط type: docs url: /ar/net/chart-plot-area/ -keywords: "منطقة رسم المخطط عرض PowerPoint، C#، Csharp، Aspose.Slides لـ .NET" -description: "احصل على عرض وارتفاع منطقة رسم المخطط. تعيين وضع التخطيط. عرض PowerPoint في C# أو .NET" +keywords: "منطقة رسم المخطط عرض PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "الحصول على العرض والارتفاع لمنطقة رسم المخطط. ضبط وضع التخطيط. عرض PowerPoint في C# أو .NET" --- -## **احصل على عرض وارتفاع منطقة رسم المخطط** -توفر Aspose.Slides لـ .NET واجهة برمجة تطبيقات بسيطة لـ . +## **الحصول على العرض والارتفاع لمنطقة رسم المخطط** +Aspose.Slides for .NET توفر واجهة برمجة تطبيقات بسيطة لـ . -1. أنشئ مثيلاً لفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) . +1. إنشاء مثيل من الفئة [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 1. الوصول إلى الشريحة الأولى. -1. أضف مخططًا ببيانات افتراضية. -1. استدعاء الدالة IChart.ValidateChartLayout() قبل الحصول على القيم الفعلية. -1. الحصول على الموقع الفعلي لـ X (يسار) عنصر المخطط بالنسبة للزاوية العليا اليسرى من المخطط. -1. الحصول على الجزء العلوي الفعلي لعنصر المخطط بالنسبة للزاوية العليا اليسرى من المخطط. -1. الحصول على العرض الفعلي لعنصر المخطط. -1. الحصول على الارتفاع الفعلي لعنصر المخطط. - +1. إضافة مخطط مع البيانات الافتراضية. +1. استدعاء الطريقة IChart.ValidateChartLayout() قبل للحصول على القيم الفعلية. +1. يُحصل على الموضع الفعلي X (اليسار) لعنصر المخطط نسبةً إلى الزاوية اليسرى العليا للمخطط. +1. يُحصل على أعلى العنصر الفعلي للمخطط نسبةً إلى الزاوية اليسرى العليا للمخطط. +1. يُحصل على العرض الفعلي لعنصر المخطط. +1. يُحصل على الارتفاع الفعلي لعنصر المخطط. ```c# using (Presentation pres = new Presentation("test.Pptx")) { @@ -35,16 +34,13 @@ using (Presentation pres = new Presentation("test.Pptx")) ``` +## **ضبط وضع تخطيط منطقة رسم المخطط** +Aspose.Slides for .NET توفر واجهة برمجة تطبيقات بسيطة لضبط وضع تخطيط منطقة رسم المخطط. تم إضافة الخاصية **LayoutTargetType** إلى الفئات **ChartPlotArea** و **IChartPlotArea**. إذا تم تعريف تخطيط منطقة الرسم يدويا، تحدد هذه الخاصية ما إذا كان يتم تخطيط المنطقة من الداخل (بدون المحاور وعناوين المحاور) أو من الخارج (مع المحاور وعناوين المحاور). هناك قيمتان ممكنتان معرفتان في تعداد **LayoutTargetType**. +- **LayoutTargetType.Inner** - يحدد أن حجم منطقة الرسم يحدد حجم المنطقة نفسه، بدون علامات التحديد وعناوين المحاور. +- **LayoutTargetType.Outer** - يحدد أن حجم منطقة الرسم يحدد حجم المنطقة، وعلامات التحديد، وعناوين المحاور. -## **تعيين وضع تخطيط منطقة رسم المخطط** -توفر Aspose.Slides لـ .NET واجهة برمجة تطبيقات بسيطة لتعيين وضع تخطيط منطقة رسم المخطط. تمت إضافة خاصية **LayoutTargetType** إلى فصول **ChartPlotArea** و **IChartPlotArea**. إذا تم تعريف تخطيط منطقة الرسم يدويًا، فإن هذه الخاصية تحدد ما إذا كان يجب تخطيط منطقة الرسم من الداخل (لا يشمل المحاور وعلامات المحاور) أو من الخارج (يشمل المحاور وعلامات المحاور). هناك قيمتان ممكنتان تم تعريفهما في تعداد **LayoutTargetType**. - -- **LayoutTargetType.Inner** - تحدد أنه يجب أن يحدد حجم منطقة الرسم حجم منطقة الرسم، دون احتساب علامات الدرج والمحاور. -- **LayoutTargetType.Outer** - تحدد أنه يجب أن يحدد حجم منطقة الرسم حجم منطقة الرسم، مع علامات الدرج والمحاور. - -الكود النموذجي مذكور أدناه. - +الكود النموذجي موضح أدناه. ```c# using (Presentation presentation = new Presentation()) { @@ -58,4 +54,23 @@ using (Presentation presentation = new Presentation()) presentation.Save("SetLayoutMode_outer.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**بأي وحدات تُرجع القيم ActualX، ActualY، ActualWidth، وActualHeight؟** + +وحدات النقاط؛ 1 بوصة = 72 نقطة. هذه هي وحدات إحداثيات Aspose.Slides. + +**كيف تختلف منطقة الرسم (Plot Area) عن منطقة المخطط (Chart Area) من حيث المحتوى؟** + +منطقة الرسم هي منطقة رسم البيانات (السلاسل، خطوط الشبكة، خطوط الاتجاه، إلخ)؛ بينما تشمل منطقة المخطط العناصر المحيطة (العنوان، المفتاح، إلخ). في المخططات ثلاثية الأبعاد، تشمل منطقة الرسم أيضًا الجدران/الأرضية والمحاور. + +**كيف يتم تفسير قيم X، Y، العرض، والارتفاع لمنطقة الرسم عندما يكون التخطيط يدويًا؟** + +هي كسور (0–1) من الحجم الكلي للمخطط؛ في هذا الوضع، يتم إلغاء التمركز التلقائي وتُستخدم الكسور التي تحددها. + +**لماذا تغير موقع منطقة الرسم بعد إضافة/نقل المفتاح؟** + +المفتاح يقع في منطقة المخطط خارج منطقة الرسم لكنه يؤثر على التخطيط والمساحة المتاحة، لذا قد تتحرك منطقة الرسم عندما يكون التمركز التلقائي مفعلاً. (هذا سلوك قياسي للمخططات في PowerPoint.) \ No newline at end of file diff --git a/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..28de2f53cf --- /dev/null +++ b/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,200 @@ +--- +title: "أتمتة إنشاء PowerPoint في .NET: إنشاء عروض تقديمية ديناميكية بسهولة" +linktitle: أتمتة إنشاء PowerPoint +type: docs +weight: 20 +url: /ar/net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- منصات سحابية +- أتمتة إنشاء PowerPoint +- إنشاء عروض برمجياً +- أتمتة PowerPoint +- إنشاء شرائح ديناميكية +- تقارير أعمال آلية +- أتمتة PPT +- عرض .NET +- C# +- Aspose.Slides +description: "أتمتة إنشاء الشرائح على منصات سحابية باستخدام Aspose.Slides لـ .NET—إنشاء، تعديل، وتحويل ملفات PowerPoint و OpenDocument بسرعة وبشكل موثوق." +--- + +## **المقدمة** + +إنشاء عروض PowerPoint يدويًا يمكن أن يكون مهمة تستغرق وقتًا طويلاً ومكررة — خاصة عندما يكون المحتوى مبنيًا على بيانات ديناميكية تتغير باستمرار. سواء كان ذلك في توليد تقارير الأعمال الأسبوعية، أو تجميع المواد التعليمية، أو إنتاج عروض مبيعات جاهزة للعميل، فإن الأتمتة يمكنها توفير عدد لا يحصى من الساعات وضمان التناسق عبر الفرق. + +لمطوري .NET، يفتح أتمتة إنشاء عروض PowerPoint إمكانيات قوية. يمكنك دمج توليد الشرائح في بوابات الويب، أو أدوات سطح المكتب، أو خدمات الخلفية، أو منصات السحابة لتحويل البيانات ديناميكيًا إلى عروض تقديمية محترفة ذات علامة تجارية — حسب الطلب. + +في هذه المقالة، سنستعرض حالات الاستخدام الشائعة لإنشاء عروض PowerPoint تلقائيًا في تطبيقات .NET (بما في ذلك عمليات النشر على منصات السحابة) ولماذا تصبح ميزة أساسية في الحلول الحديثة. من سحب البيانات التجارية في الوقت الفعلي إلى تحويل النص أو الصور إلى شرائح، الهدف هو تحويل المحتوى الخام إلى تنسيقات بصرية منظمة يمكن لجمهورك فهمها فورًا. + +## **حالات الاستخدام الشائعة لأتمتة PowerPoint في .NET** + +يكون أتمتة إنشاء PowerPoint مفيدة بشكل خاص في السيناريوهات التي يحتاج فيها محتوى العرض إلى التجميع الديناميكي أو التخصيص أو التحديث المتكرر. تشمل بعض أكثر حالات الاستخدام الواقعية شيوعًا ما يلي: + +- **تقارير الأعمال ولوحات التحكم** + إنشاء ملخصات المبيعات، مؤشرات الأداء الرئيسية، أو تقارير الأداء المالي عن طريق سحب البيانات الحية من قواعد البيانات أو واجهات برمجة التطبيقات. + +- **عروض المبيعات والتسويق المخصصة** + إنشاء عروض تقديمية مخصصة للعميل تلقائيًا باستخدام بيانات CRM أو النماذج، مما يضمن سرعة الإنجاز وتناسق العلامة التجارية. + +- **المحتوى التعليمي** + تحويل المواد التعليمية، الاختبارات، أو ملخصات الدورات إلى مجموعات شرائح منظمة لمنصات التعلم الإلكتروني. + +- **الرؤى المدعومة بالبيانات والذكاء الاصطناعي** + استخدام معالجة اللغة الطبيعية أو محركات التحليل لتحويل البيانات الخام أو النصوص الطويلة إلى عروض ملخصة. + +- **شرائح مبنية على الوسائط** + تجميع العروض من الصور المحملة، لقطات الشاشة المشروحة، أو إطارات الفيديو الرئيسية مع أوصاف داعمة. + +- **تحويل المستندات** + تحويل مستندات Word أو PDFs أو مدخلات النماذج إلى عروض بصرية تلقائيًا بأقل جهد يدوي. + +- **الأدوات للمطورين والتقنية** + إنشاء عروض تقنية، نظرات عامة على الوثائق، أو سجلات التغييرات بصيغة شرائح مباشرة من الكود أو محتوى markdown. + +من خلال أتمتة هذه سير العمل، يمكن للمؤسسات توسيع نطاق إنشاء المحتوى، الحفاظ على التناسق، وتوفير الوقت لأعمال أكثر استراتيجية. + +## **لنكتب الكود** + +للهذا المثال، اخترنا **[Aspose.Slides for .NET](https://products.aspose.com/slides/net)** لتوضيح أتمتة PowerPoint بفضل مجموعة ميزاته الشاملة وسهولة الاستخدام عند العمل مع العروض برمجيًا. + +على عكس المكتبات منخفضة المستوى مثل **[Open XML SDK](https://github.com/dotnet/Open-XML-SDK)**، التي تتطلب من المطورين العمل مباشرةً مع بنية Open XML (مما يؤدي غالبًا إلى شفرة مطولة وأقل قابلية للقراءة)، توفر Aspose.Slides واجهة برمجة تطبيقات ذات مستوى أعلى. إنها تُجرد التعقيد، مما يسمح للمطورين بالتركيز على منطق العرض — مثل التخطيط، والتنسيق، وربط البيانات — دون الحاجة إلى فهم تنسيق ملف PowerPoint بالتفصيل. + +على الرغم من أن Aspose.Slides مكتبة تجارية، إلا أنها توفر نسخة [تجربة مجانية](https://releases.aspose.com/slides/net/) قادرة بالكامل على تشغيل الأمثلة المقدمة في هذه المقالة. لغرض توضيح الأفكار، اختبار الميزات، أو بناء إثبات مفهوم كما نغطي هنا، التجربة أكثر من كافية. وهذا يجعلها خيارًا مريحًا للتجربة مع أتمتة PowerPoint دون الحاجة إلى الالتزام برخصة مسبقة. + +بالنسبة للذين يبحثون عن بدائل مفتوحة المصدر أو خالية من الترخيص، يمكن النظر في مكتبات مثل Open XML SDK أو [NPOI](https://github.com/dotnetcore/NPOI)، رغم أنها غالبًا ما تتطلب مزيدًا من الشفرة ومعرفة أعمق بتنسيق الملف الأساسي. + +حسنًا، دعونا نتجول في بناء عرض تجريبي باستخدام محتوى واقعي. + +تأكد من إضافة مرجع إلى حزمة Aspose.Slides من NuGet قبل البدء: +```sh +dotnet add package Aspose.Slides.NET +``` + + +### **إنشاء شريحة عنوان** + +سنبدأ بإنشاء عرض تقديمي جديد وإضافة شريحة عنوان تحتوي على عنوان رئيسي وعنوان فرعي. +```cs +using var presentation = new Presentation(); + +var slide0 = presentation.Slides[0]; +slide0.LayoutSlide = presentation.LayoutSlides.GetByType(SlideLayoutType.Title); + +var titleShape = slide0.Shapes[0] as IAutoShape; +var subtitleShape = slide0.Shapes[1] as IAutoShape; + +titleShape.TextFrame.Text = "Quarterly Business Review – Q1 2025"; +subtitleShape.TextFrame.Text = "Prepared for Executive Team"; +``` + + +![شريحة العنوان](slide_0.png) + +### **إضافة شريحة مع مخطط عمودي** + +بعد ذلك، سننشئ شريحة تعرض أداء المبيعات الإقليمية كمخطط عمودي. +```cs +var layoutSlide1 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide1 = presentation.Slides.AddEmptySlide(layoutSlide1); + +var chart = slide1.Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.Legend.Position = LegendPositionType.Bottom; +chart.HasTitle = true; +chart.ChartTitle.AddTextFrameForOverriding("Data from January – March 2025"); +chart.ChartTitle.Overlay = false; + +var workbook = chart.ChartData.ChartDataWorkbook; +var worksheetIndex = 0; + +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 1, 0, "North America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 2, 0, "Europe")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 4, 0, "Latin America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 5, 0, "Middle East")); + +var series = chart.ChartData.Series.Add(workbook.GetCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.Type); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 1, 1, 480)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 2, 1, 365)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 3, 1, 290)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 4, 1, 150)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 5, 1, 120)); +``` + + +![الشريحة مع المخطط](slide_1.png) + +### **إضافة شريحة مع جدول** + +سنضيف الآن شريحة تعرض مؤشرات الأداء الرئيسية بصيغة جدول. +```cs +var layoutSlide2 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide2 = presentation.Slides.AddEmptySlide(layoutSlide2); + +var columnWidths = new double[] { 200, 100 }; +var rowHeights = new double[] { 40, 40, 40, 40, 40 }; + +var table = slide2.Shapes.AddTable(200, 200, columnWidths, rowHeights); +table[0, 0].TextFrame.Text = "Metric"; +table[1, 0].TextFrame.Text = "Value"; +table[0, 1].TextFrame.Text = "Total Revenue"; +table[1, 1].TextFrame.Text = "$1.4M"; +table[0, 2].TextFrame.Text = "Gross Margin"; +table[1, 2].TextFrame.Text = "54%"; +table[0, 3].TextFrame.Text = "New Customers"; +table[1, 3].TextFrame.Text = "340"; +table[0, 4].TextFrame.Text = "Customer Retention"; +table[1, 4].TextFrame.Text = "87%"; +``` + + +![الشريحة مع الجدول](slide_2.png) + +### **إضافة شريحة ملخص بنقاط تعداد** + +أخيرًا، سنضمّن ملخصًا وخطة عمل باستخدام قائمة تعداد بسيطة. +```cs +IParagraph CreateBulletParagraph(string text) +{ + var paragraph = new Paragraph(); + paragraph.ParagraphFormat.Bullet.Type = BulletType.Symbol; + paragraph.ParagraphFormat.Indent = 15; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.Text = text; + return paragraph; +} +``` + +```cs +var layoutSlide3 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide3 = presentation.Slides.AddEmptySlide(layoutSlide3); + +var bulletList = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.FillFormat.FillType = FillType.NoFill; +bulletList.LineFormat.FillFormat.FillType = FillType.NoFill; + +bulletList.TextFrame.Paragraphs.Clear(); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Schedule follow-up review in early July")); +``` + + +![الشريحة مع النص](slide_3.png) + +### **حفظ العرض التقديمي** + +أخيرًا، نحفظ العرض التقديمي على القرص: +```cs +presentation.Save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **الخلاصة** + +توفر أتمتة إنشاء PowerPoint في تطبيقات .NET فوائد واضحة في توفير الوقت وتقليل الجهد اليدوي. من خلال دمج المحتوى الديناميكي مثل المخططات، الجداول، والنصوص، يمكن للمطورين إنتاج عروض تقديمية متسقة ومحترفة بسرعة — مثالية لتقارير الأعمال، اجتماعات العملاء، أو المحتوى التعليمي. + +في هذه المقالة، عرضنا كيفية أتمتة إنشاء عرض تقديمي من الصفر، بما في ذلك إضافة شريحة عنوان، مخططات، وجداول. يمكن تطبيق هذا النهج عبر حالات استخدام متعددة حيث يحتاج إلى عروض تقديمية تلقائية مستندة إلى البيانات. + +باستخدام الأدوات المناسبة، يمكن لمطوري .NET أتمتة إنشاء PowerPoint بفعالية، مما يعزز الإنتاجية ويضمن التناسق عبر العروض التقديمية. \ No newline at end of file diff --git a/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ar/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..2d546b779d --- /dev/null +++ b/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "أتمتة إنشاء عروض PowerPoint في JavaScript: إنشاء عروض تقديمية ديناميكية بسهولة" +linktitle: "أتمتة إنشاء PowerPoint" +type: docs +weight: 20 +url: /ar/nodejs-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- "منصات السحابة" +- "أتمتة إنشاء PowerPoint" +- "إنشاء عروض تقديمية برمجياً" +- "أتمتة PowerPoint" +- "إنشاء شرائح ديناميكية" +- "تقارير أعمال مؤتمتة" +- "أتمتة PPT" +- "عرض JavaScript" +- "Node.js" +- "JavaScript" +- "Aspose.Slides" +description: "أتمتة إنشاء الشرائح على منصات السحابة باستخدام Aspose.Slides لـ Node.js—إنشاء، تحرير، وتحويل ملفات PowerPoint وOpenDocument بسرعة وموثوقية." +--- + +## **المقدمة** + +إن إنشاء عروض PowerPoint يدوياً يمكن أن يكون مهمة تستغرق وقتًا طويلاً وتكرارًا مستمرًا — خصوصًا عندما يكون المحتوى قائمًا على بيانات ديناميكية تتغير بشكل متكرر. سواء كان ذلك لتوليد تقارير الأعمال الأسبوعية، أو تجميع المواد التعليمية، أو إنتاج عروض مبيعات جاهزة للعميل، فإن الأتمتة يمكن أن توفر ساعات لا تحصى وتضمن التناسق عبر الفرق. + +بالنسبة لمطوري Node.js، فتح الأتمتة لإنشاء عروض PowerPoint آفاقًا قوية. يمكنك دمج توليد الشرائح في بوابات الويب، وأدوات سطح المكتب، وخدمات الخلفية، أو منصات السحابة لتحويل البيانات ديناميكيًا إلى عروض احترافية ذات علامة تجارية — حسب الطلب. + +في هذه المقالة، سنستعرض حالات الاستخدام الشائعة لتوليد PowerPoint تلقائيًا في تطبيقات Node.js (بما في ذلك النشر على منصات السحابة) ولماذا أصبحت ميزة أساسية في الحلول الحديثة. من سحب بيانات الأعمال في الوقت الفعلي إلى تحويل النص أو الصور إلى شرائح، الهدف هو تحويل المحتوى الخام إلى صيغ بصرية منظمة يستطيع جمهورك فهمها فورًا. + +## **حالات الاستخدام الشائعة لأتمتة PowerPoint في JavaScript** + +يكون أتمتة توليد PowerPoint مفيدًا بشكل خاص في السيناريوهات التي يحتاج فيها محتوى العرض إلى تجميع ديناميكي، أو تخصيص، أو تحديث متكرر. بعض أكثر حالات الاستخدام الواقعية شيوعًا تشمل: + +- **تقارير الأعمال ولوحات المعلومات** + إنشاء ملخصات مبيعات، مؤشرات KPI، أو تقارير الأداء المالي عن طريق سحب بيانات حية من قواعد البيانات أو واجهات برمجة التطبيقات. + +- **عرض مبيعات وتسويق مخصص** + إنشاء عروض تقديمية مخصصة للعميل تلقائيًا باستخدام بيانات CRM أو نماذج، مما يضمن سرعة الإنجاز واتساق العلامة التجارية. + +- **محتوى تعليمي** + تحويل المواد التعليمية، الاختبارات، أو ملخصات الدورات إلى عروض شرائح منظمة لمنصات التعلم الإلكتروني. + +- **تحليلات مدعومة بالبيانات والذكاء الاصطناعي** + استخدام معالجة اللغة الطبيعية أو محركات التحليل لتحويل البيانات الخام أو النصوص الطويلة إلى عروض ملخصة. + +- **شرائح تعتمد على الوسائط** + تجميع عروض من صور مرفوعة، لقطات شاشة موثقة، أو إطارات رئيسية للفيديو مع أوصاف داعمة. + +- **تحويل المستندات** + تحويل مستندات Word، ملفات PDF، أو مدخلات النماذج إلى عروض بصرية مع جهد يدوي قليل جدًا. + +- **أدوات المطورين والتقنية** + إنشاء عروض تجريبية تقنية، لمحات توثيقية، أو سجل تغييرات بصيغة شرائح مباشرة من الكود أو محتوى markdown. + +من خلال أتمتة هذه التدفقات، يمكن للمنظمات توسيع نطاق إنشاء المحتوى، الحفاظ على التناسق، وتحرير الوقت لأعمال أكثر استراتيجية. + +## **لنكتب الكود** + +في هذا المثال، اخترنا **[Aspose.Slides للـ Node.js](https://products.aspose.com/slides/nodejs-java/)** لشرح أتمتة PowerPoint بفضل مجموعة ميزاته الشاملة وسهولة الاستخدام عند التعامل مع العروض برمجيًا. + +على عكس المكتبات منخفضة المستوى التي تتطلب من المطورين العمل مباشرةً مع بنية Open XML (مما يؤدي غالبًا إلى كود مطول وصعب القراءة)، يوفر Aspose.Slides API عالي المستوى. فهو يُجرد التعقيد، مما يسمح للمطورين بالتركيز على منطق العرض — مثل التخطيط، التنسيق، وربط البيانات — دون الحاجة لفهم تفاصيل تنسيق ملف PowerPoint. + +على الرغم من أن Aspose.Slides مكتبة تجارية، فإنها تقدم [نسخة تجريبية مجانية](https://releases.aspose.com/slides/nodejs-java/) يمكنها تشغيل الأمثلة الموجودة في هذه المقالة بالكامل. لأغراض استعراض الأفكار، اختبار الميزات، أو بناء نموذج إثبات مفهوم كما نفعل هنا، النسخة التجريبية كافية تمامًا. هذا يجعلها خيارًا مريحًا لتجربة أتمتة PowerPoint دون الحاجة لشراء ترخيص مسبقًا. + +حسنًا، لنستعرض بناء عرض مثال باستخدام محتوى واقعي. + +### **إنشاء شريحة عنوان** + +سنبدأ بإنشاء عرض جديد وإضافة شريحة عنوان مع عنوان رئيسي وعنوان فرعي. +```js +let presentation = new aspose.slides.Presentation(); + +let slide0 = presentation.getSlides().get_Item(0); + +let layoutSlide = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Title)); +slide0.setLayoutSlide(layoutSlide); + +let titleShape = slide0.getShapes().get_Item(0); +let subtitleShape = slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![شريحة العنوان](slide_0.png) + +### **إضافة شريحة مع مخطط عمودي** + +بعد ذلك، سننشئ شريحة تُظهر أداء المبيعات الإقليمية كمخطط عمودي. +```js +let layoutSlide1 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +let chart = slide1.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(aspose.slides.LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +let workbook = chart.getChartData().getChartDataWorkbook(); +let worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +let series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![الشريحة التي تحتوي على المخطط](slide_1.png) + +### **إضافة شريحة مع جدول** + +سنضيف الآن شريحة تعرض مقاييس الأداء الأساسية بصيغة جدول. +```js +let layoutSlide2 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +let columnWidths = java.newArray("double", [200, 100]); +let rowHeights = java.newArray("double", [40, 40, 40, 40, 40]); + +let table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![الشريحة التي تحتوي على الجدول](slide_2.png) + +### **إضافة شريحة ملخص مع نقاط نقطية** + +أخيرًا، سنضمّن ملخصًا وخطة عمل باستخدام قائمة نقطية بسيطة. +```js +function createBulletParagraph(text) { + let paragraph = new aspose.slides.Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(java.newByte(aspose.slides.BulletType.Symbol)); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid)); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLACK")); + paragraph.setText(text); + return paragraph; +} +``` + +```js +let layoutSlide3 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +let bulletList = slide3.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); +bulletList.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![الشريحة التي تحتوي على النص](slide_3.png) + +### **حفظ العرض** + +في النهاية، نحفظ العرض إلى القرص: +```js +presentation.save("presentation.pptx", aspose.slides.SaveFormat.Pptx); +``` + + +## **الخلاصة** + +توفر أتمتة توليد PowerPoint في تطبيقات Node.js فوائد واضحة في توفير الوقت وتقليل الجهد اليدوي. من خلال دمج محتوى ديناميكي مثل المخططات، الجداول، والنصوص، يمكن للمطورين إنتاج عروض متسقة واحترافية بسرعة — مثالية لتقارير الأعمال، الاجتماعات مع العملاء، أو المحتوى التعليمي. + +في هذه المقالة، أظهرنا كيفية أتمتة إنشاء عرض من الصفر، بما في ذلك إضافة شريحة عنوان، مخططات، وجداول. يمكن تطبيق هذا النهج عبر حالات استخدام متعددة تتطلب عروضًا مدفوعة بالبيانات ومؤتمتة. + +باستخدام الأدوات المناسبة، يمكن لمطوري Node.js أتمتة إنشاء عروض PowerPoint بفعالية، مما يعزز الإنتاجية ويضمن التناسق عبر جميع العروض. \ No newline at end of file diff --git a/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ar/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..11077ce432 --- /dev/null +++ b/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "أتمتة إنشاء PowerPoint في PHP: إنشاء عروض تقديمية ديناميكية بسهولة" +linktitle: أتمتة إنشاء PowerPoint +type: docs +weight: 20 +url: /ar/php-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- منصات السحابة +- أتمتة إنشاء PowerPoint +- إنشاء عروض تقديمية برمجياً +- أتمتة PowerPoint +- إنشاء شرائح ديناميكية +- تقارير أعمال مؤتمتة +- أتمتة PPT +- عرض تقديمي PHP +- PHP +- Aspose.Slides +description: "أتمتة إنشاء الشرائح على منصات السحابة باستخدام Aspose.Slides for PHP — توليد، تعديل، وتحويل ملفات PowerPoint و OpenDocument بسرعة وموثوقية." +--- + +## **المقدمة** + +إن إنشاء عروض PowerPoint يدوياً يمكن أن يكون مهمة تستغرق وقتًا طويلاً ومتكررة—خاصة عندما يكون المحتوى مستندًا إلى بيانات ديناميكية تتغير باستمرار. سواء كان ذلك لإنتاج تقارير الأعمال الأسبوعية، أو تجميع المواد التعليمية، أو إعداد عروض مبيعات جاهزة للعملاء، فإن الأتمتة يمكنها توفير ساعات لا تُحصى وضمان التناسق بين الفرق. + +بالنسبة لمطوري PHP، فتح الأتمتة لإنشاء عروض PowerPoint يتيح إمكانات قوية. يمكنك دمج توليد الشرائح في بوابات الويب، أدوات سطح المكتب، الخدمات الخلفية، أو المنصات السحابية لتحويل البيانات ديناميكيًا إلى عروض تقديمية احترافية ومُعلمة بالعلامة التجارية—عند الطلب. + +في هذه المقالة، سنستعرض حالات الاستخدام الشائعة لتوليد PowerPoint تلقائيًا في تطبيقات PHP (بما في ذلك النشر على المنصات السحابية) ولماذا أصبح ميزة أساسية في الحلول الحديثة. من سحب بيانات الأعمال في الوقت الحقيقي إلى تحويل النص أو الصور إلى شرائح، الهدف هو تحويل المحتوى الخام إلى تنسيقات بصرية منظمة يفهمها الجمهور على الفور. + +## **حالات الاستخدام الشائعة لأتمتة PowerPoint في PHP** + +تكون أتمتة إنشاء PowerPoint مفيدة بشكل خاص في السيناريوهات التي يحتاج فيها محتوى العرض إلى تجميع ديناميكي، أو تخصيص، أو تحديث متكرر. بعض أكثر حالات الاستخدام الواقعية شيوعًا تشمل: + +- **تقارير الأعمال ولوحات المعلومات** + إنشاء ملخصات مبيعات، مؤشرات الأداء الرئيسية، أو تقارير الأداء المالي عن طريق سحب بيانات حية من قواعد البيانات أو واجهات برمجة التطبيقات. + +- **عروض مبيعات وتسويق مخصصة** + إنشاء عروض تقديمية موجهة للعميل تلقائيًا باستخدام بيانات CRM أو النماذج، مع ضمان سرعة التنفيذ وتناسق العلامة التجارية. + +- **محتوى تعليمي** + تحويل المواد التعليمية، الاختبارات، أو ملخصات الدورات إلى شرائح منظمة لمنصات التعلم الإلكتروني. + +- **تحليلات مدعومة بالبيانات والذكاء الاصطناعي** + استخدام معالجة اللغة الطبيعية أو محركات التحليل لتطوير عروض تقديمية موجزة من بيانات خام أو نصوص طويلة. + +- **شرائح مستندة إلى وسائط** + تجميع عروض من صور مُحمَّلة، لقطات شاشة مع توضيحات، أو إطارات رئيسية للفيديو مع أوصاف داعمة. + +- **تحويل المستندات** + تحويل مستندات Word، ملفات PDF، أو مدخلات النماذج إلى عروض بصرية بأقل جهد يدوي. + +- **أدوات المطورين والتقنية** + إنشاء عروض توضيحية تقنية، نظرات عامة على الوثائق، أو سجلات تغيّر بصيغة شرائح مباشرة من الشيفرة أو محتوى markdown. + +من خلال أتمتة هذه سير العمل، يمكن للمنظمات توسيع نطاق إنشاء المحتوى، الحفاظ على التناسق، وتوفير الوقت للأنشطة الاستراتيجية. + +## **لنكتب الشيفرة** + +للتوضيح، اخترنا **[Aspose.Slides for PHP](https://products.aspose.com/slides/php-java/)** لعرض أتمتة PowerPoint بفضل مجموعة ميزاته الشاملة وسهولة الاستخدام عند التعامل مع العروض برمجيًا. + +على عكس المكتبات منخفضة المستوى التي تتطلب من المطورين التعامل مباشرة مع بنية Open XML (مما ينتج عنه شيفرة مطولة وأقل قابلية للقراءة)، توفر Aspose.Slides API عالي المستوى. فهي تُجرد التعقيد، مما يتيح للمطورين التركيز على منطق العرض—مثل التخطيط، التنسيق، وربط البيانات—دون الحاجة لفهم تفاصيل تنسيق ملف PowerPoint. + +على الرغم من أن Aspose.Slides مكتبة تجارية، إلا أنها تقدم نسخة [الإصدار التجريبي المجاني](https://releases.aspose.com/slides/php-java/) القادرة تمامًا على تشغيل الأمثلة الواردة في هذه المقالة. لأغراض استعراض الأفكار، اختبار الميزات، أو بناء نموذج إثبات مفهوم كما في مثالنا، يكون التجريبي كافياً جدًا. وهذا يجعلها خيارًا ملائمًا لتجربة أتمتة PowerPoint دون الحاجة لشراء ترخيص مبدئي. + +حسنًا، دعونا نتناول بناء عرض تقديمي تجريبي باستخدام محتوى واقعي. + +### **إنشاء شريحة عنوان** + +سنبدأ بإنشاء عرض جديد وإضافة شريحة عنوان تتضمن عنوانًا رئيسيًا وعنوانًا فرعيًا. +```php +$presentation = new Presentation(); + +$slide0 = $presentation->getSlides()->get_Item(0); + +$layoutSlide = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Title); +$slide0->setLayoutSlide($layoutSlide); + +$titleShape = $slide0->getShapes()->get_Item(0); +$subtitleShape = $slide0->getShapes()->get_Item(1); + +$titleShape->getTextFrame()->setText("Quarterly Business Review – Q1 2025"); +$subtitleShape->getTextFrame()->setText("Prepared for Executive Team"); +``` + + +![The title slide](slide_0.png) + +### **إضافة شريحة تحتوي على مخطط عمودي** + +بعد ذلك، سننشئ شريحة تُظهر أداء المبيعات الإقليمية كمخطط عمودي. +```php +$layoutSlide1 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide1 = $presentation->getSlides()->addEmptySlide($layoutSlide1); + +$chart = $slide1->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +$chart->getLegend()->setPosition(LegendPositionType::Bottom); +$chart->setTitle(true); +$chart->getChartTitle()->addTextFrameForOverriding("Data from January – March 2025"); +$chart->getChartTitle()->setOverlay(false); + +$workbook = $chart->getChartData()->getChartDataWorkbook(); +$worksheetIndex = 0; + +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 1, 0, "North America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 2, 0, "Europe")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 3, 0, "Asia Pacific")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 4, 0, "Latin America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 5, 0, "Middle East")); + +$series = $chart->getChartData()->getSeries()->add($workbook->getCell($worksheetIndex, 0, 1, "Sales (\$K)"), $chart->getType()); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 1, 1, 480)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 2, 1, 365)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 3, 1, 290)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 4, 1, 150)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 5, 1, 120)); +``` + + +![The slide with the chart](slide_1.png) + +### **إضافة شريحة تحتوي على جدول** + +سنضيف الآن شريحة تعرض مؤشرات الأداء الرئيسية في شكل جدول. +```php +$layoutSlide2 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide2 = $presentation->getSlides()->addEmptySlide($layoutSlide2); + +$columnWidths = [200, 100]; +$rowHeights = [40, 40, 40, 40, 40]; + +$table = $slide2->getShapes()->addTable(200, 200, $columnWidths, $rowHeights); +$table->getColumns()->get_Item(0)->get_Item(0)->getTextFrame()->setText("Metric"); +$table->getColumns()->get_Item(1)->get_Item(0)->getTextFrame()->setText("Value"); +$table->getColumns()->get_Item(0)->get_Item(1)->getTextFrame()->setText("Total Revenue"); +$table->getColumns()->get_Item(1)->get_Item(1)->getTextFrame()->setText("$1.4M"); +$table->getColumns()->get_Item(0)->get_Item(2)->getTextFrame()->setText("Gross Margin"); +$table->getColumns()->get_Item(1)->get_Item(2)->getTextFrame()->setText("54%"); +$table->getColumns()->get_Item(0)->get_Item(3)->getTextFrame()->setText("New Customers"); +$table->getColumns()->get_Item(1)->get_Item(3)->getTextFrame()->setText("340"); +$table->getColumns()->get_Item(0)->get_Item(4)->getTextFrame()->setText("Customer Retention"); +$table->getColumns()->get_Item(1)->get_Item(4)->getTextFrame()->setText("87%"); +``` + + +![The slide with the table](slide_2.png) + +### **إضافة شريحة ملخص بنقاط تعداد** + +أخيرًا، سندرج ملخصًا وخطة عمل باستخدام قائمة تعداد بسيطة. +```php +function createBulletParagraph($text) { + $paragraph = new Paragraph(); + $paragraph->getParagraphFormat()->getBullet()->setType(BulletType::Symbol); + $paragraph->getParagraphFormat()->setIndent(15); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK); + $paragraph->setText($text); + return $paragraph; +} +``` + +```php +$layoutSlide3 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide3 = $presentation->getSlides()->addEmptySlide($layoutSlide3); + +$bulletList = $slide3->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +$bulletList->getFillFormat()->setFillType(FillType::NoFill); +$bulletList->getLineFormat()->getFillFormat()->setFillType(FillType::NoFill); + +$bulletList->getTextFrame()->getParagraphs()->clear(); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Prepare new campaign strategy for Q2")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![The slide with the text](slide_3.png) + +### **حفظ العرض التقديمي** + +في النهاية، نحفظ العرض على القرص: +```php +$presentation->save("presentation.pptx", SaveFormat::Pptx); +``` + + +## **الخاتمة** + +توفر أتمتة إنشاء PowerPoint في تطبيقات PHP فوائد واضحة في توفير الوقت وتقليل الجهد اليدوي. من خلال دمج محتوى ديناميكي مثل المخططات والجداول والنصوص، يمكن للمطورين إنتاج عروض تقديمية متسقة ومهنية بسرعة—مثالية لتقارير الأعمال، اجتماعات العملاء، أو المحتوى التعليمي. + +في هذه المقالة، أوضحنا كيفية أتمتة إنشاء عرض من الصفر، بما في ذلك إضافة شريحة عنوان، مخططات، وجداول. يمكن تطبيق هذا النهج عبر حالات استخدام متعددة تحتاج إلى عروض تقديمية مدفوعة بالبيانات ومؤتمتة. + +باستخدام الأدوات المناسبة، يمكن لمطوري PHP أتمتة إنشاء PowerPoint بفعالية، مما يعزز الإنتاجية ويضمن التناسق عبر العروض. \ No newline at end of file diff --git a/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ar/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index f28627b3e9..ad00b57693 100644 --- a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -1,5 +1,5 @@ --- -title: تحويل عروض PowerPoint إلى HTML في بايثون +title: تحويل عروض PowerPoint إلى HTML باستخدام Python linktitle: PowerPoint إلى HTML type: docs weight: 30 @@ -22,12 +22,12 @@ keywords: - حفظ PPTX كـ HTML - Python - Aspose.Slides -description: "تحويل عروض PowerPoint إلى HTML متجاوب في بايثون. الحفاظ على التخطيط والروابط والصور مع دليل تحويل Aspose.Slides للحصول على نتائج سريعة وخالية من العيوب." +description: "تحويل عروض PowerPoint إلى HTML استجابي باستخدام Python. حافظ على التخطيط والروابط والصور مع دليل تحويل Aspose.Slides للحصول على نتائج سريعة وخالية من الأخطاء." --- ## **نظرة عامة** -تشرح هذه المقالة كيفية تحويل عرض PowerPoint إلى صيغة HTML باستخدام بايثون. تغطي الموضوعات التالية. +تشرح هذه المقالة كيفية تحويل عرض PowerPoint إلى تنسيق HTML باستخدام Python. وتغطي المواضيع التالية. - تحويل PowerPoint إلى HTML في بايثون - تحويل PPT إلى HTML في بايثون @@ -35,28 +35,30 @@ description: "تحويل عروض PowerPoint إلى HTML متجاوب في با - تحويل ODP إلى HTML في بايثون - تحويل شريحة PowerPoint إلى HTML في بايثون -## **Python PowerPoint إلى HTML** +## **PowerPoint إلى HTML باستخدام Python** -للحصول على عينة كود بايثون لتحويل PowerPoint إلى HTML، يرجى الاطلاع على القسم أدناه، أي [تحويل PowerPoint إلى HTML](#convert-powerpoint-to-html). يمكن للكود تحميل عدد من الصيغ مثل PPT و PPTX و ODP في كائن Presentation وحفظه بصيغة HTML. +للحصول على عينة كود Python لتحويل PowerPoint إلى HTML، يرجى الاطلاع على القسم أدناه أي [تحويل PowerPoint إلى HTML](#convert-powerpoint-to-html). يمكن للكود تحميل عدة صيغ مثل PPT و PPTX و ODP في كائن Presentation وحفظه بتنسيق HTML. ## **حول تحويل PowerPoint إلى HTML** باستخدام [**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/)، يمكن للتطبيقات والمطورين تحويل عرض PowerPoint إلى HTML: **PPTX إلى HTML** أو **PPT إلى HTML**. +باستخدام [**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/)، يمكن للتطبيقات والمطورين تحويل عرض PowerPoint إلى HTML: **PPTX إلى HTML** أو **PPT إلى HTML**. + **Aspose.Slides** توفر العديد من الخيارات (معظمها من فئة [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/)) التي تحدد عملية تحويل PowerPoint إلى HTML: * تحويل عرض PowerPoint كامل إلى HTML. -* تحويل شريحة محددة في عرض PowerPoint إلى HTML. -* تحويل وسائط العرض (الصور، الفيديوهات، إلخ) إلى HTML. -* تحويل عرض PowerPoint إلى HTML استجابة. +* تحويل شريحة معينة في عرض PowerPoint إلى HTML. +* تحويل وسائط العرض (صور، فيديوهات، إلخ) إلى HTML. +* تحويل عرض PowerPoint إلى HTML استجابي. * تحويل عرض PowerPoint إلى HTML مع تضمين أو استبعاد ملاحظات المتحدث. * تحويل عرض PowerPoint إلى HTML مع تضمين أو استبعاد التعليقات. -* تحويل عرض PowerPoint إلى HTML مع الخطوط الأصلية أو المضمَّنة. -* تحويل عرض PowerPoint إلى HTML مع استخدام نمط CSS الجديد. +* تحويل عرض PowerPoint إلى HTML مع الخطوط الأصلية أو المدمجة. +* تحويل عرض PowerPoint إلى HTML باستخدام نمط CSS الجديد. {{% alert color="primary" %}} -باستخدام API الخاص به، طورت Aspose محولات مجانية من [العرض إلى HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html): [PPT إلى HTML](https://products.aspose.app/slides/conversion/ppt-to-html)، [PPTX إلى HTML](https://products.aspose.app/slides/conversion/pptx-to-html)، [ODP إلى HTML](https://products.aspose.app/slides/conversion/odp-to-html)، إلخ. +باستخدام API الخاص بها، قامت Aspose بتطوير محولات مجانية [presentation to HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html): [PPT إلى HTML](https://products.aspose.app/slides/conversion/ppt-to-html)، [PPTX إلى HTML](https://products.aspose.app/slides/conversion/pptx-to-html)، [ODP إلى HTML](https://products.aspose.app/slides/conversion/odp-to-html)، وغيرها. [![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) @@ -66,7 +68,7 @@ description: "تحويل عروض PowerPoint إلى HTML متجاوب في با {{% alert title="Note" color="warning" %}} -إلى جانب عمليات التحويل الموضحة هنا، يدعم Aspose.Slides أيضًا عمليات التحويل التالية المتعلقة بصيغة HTML: +بالإضافة إلى عمليات التحويل الموضحة هنا، تدعم Aspose.Slides أيضًا عمليات التحويل التالية التي تتضمن تنسيق HTML: * [HTML إلى صورة](https://products.aspose.com/slides/python-net/conversion/html-to-image/) * [HTML إلى JPG](https://products.aspose.com/slides/python-net/conversion/html-to-jpg/) @@ -80,10 +82,10 @@ description: "تحويل عروض PowerPoint إلى HTML متجاوب في با باستخدام Aspose.Slides، يمكنك تحويل عرض PowerPoint كامل إلى HTML بهذه الطريقة: -1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) -1. استخدام طريقة [Save ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)لحفظ الكائن كملف HTML. +1. إنشاء مثال من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) +2. استخدام طريقة [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) لحفظ الكائن كملف HTML. -هذا الكود يوضح لك كيفية تحويل PowerPoint إلى HTML في بايثون: +يعرض هذا الكود كيفية تحويل PowerPoint إلى HTML باستخدام python: ```python import aspose.slides as slides @@ -100,9 +102,9 @@ pres.save("ConvertWholePresentationToHTML_out.html", slides.export.SaveFormat.HT ``` -## **تحويل PowerPoint إلى HTML استجابة** +## **تحويل PowerPoint إلى HTML استجابي** -توفر Aspose.Slides الفئة [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) التي تسمح لك بإنشاء ملفات HTML استجابة. هذا الكود يوضح لك كيفية تحويل عرض PowerPoint إلى HTML استجابة في بايثون: +Aspose.Slides توفر الفئة [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) التي تسمح لك بإنشاء ملفات HTML استجابية. يعرض هذا الكود كيفية تحويل عرض PowerPoint إلى HTML استجابي باستخدام python: ```py # إنشاء كائن Presentation يمثل ملف عرض تقديمي import aspose.slides as slides @@ -120,7 +122,7 @@ pres.save("ConvertPresentationToResponsiveHTML_out.html", slides.export.SaveForm ## **تحويل PowerPoint إلى HTML مع الملاحظات** -هذا الكود يوضح لك كيفية تحويل PowerPoint إلى HTML مع الملاحظات في بايثون: +يعرض هذا الكود كيفية تحويل PowerPoint إلى HTML مع الملاحظات باستخدام python: ```py import aspose.slides as slides @@ -135,17 +137,17 @@ pres.save("Output.html", slides.export.SaveFormat.HTML, opt) ## **تحويل PowerPoint إلى HTML مع الخطوط الأصلية** -توفر Aspose.Slides الفئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) التي تسمح لك بضم جميع الخطوط في عرض أثناء تحويله إلى HTML. +Aspose.Slides توفر الفئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) التي تسمح لك بدمج جميع الخطوط في عرض تقديمي أثناء تحويله إلى HTML. -لمنع تضمين بعض الخطوط، يمكنك تمرير مصفوفة من أسماء الخطوط إلى مُنَشِئ مُعامل من الفئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/). الخطوط الشائعة مثل Calibri أو Arial، عندما تُستخدم في عرض، لا تحتاج إلى تضمينها لأن معظم الأنظمة تحتوي بالفعل على هذه الخطوط. عندما يتم تضمين هذه الخطوط، يصبح مستند HTML الناتج كبيرًا بشكل غير ضروري. +لمنع دمج بعض الخطوط، يمكنك تمرير مصفوفة من أسماء الخطوط إلى مُنشئ معلمات من الفئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/). الخطوط الشائعة مثل Calibri أو Arial، عند استخدامها في عرض تقديمي، لا تحتاج إلى دمجها لأن معظم الأنظمة تحتوي عليها بالفعل. عندما يتم دمج هذه الخطوط، يصبح مستند HTML الناتج كبيرًا بشكل غير ضروري. -الفئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) تدعم الوراثة وتوفر طريقة `WriteFont` التي من المفترض أن تُستبدل. +فئة [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) تدعم الوراثة وتوفر طريقة `WriteFont`، والتي من المفترض أن تُعاد تعريفها. ```py import aspose.slides as slides pres = slides.Presentation("input.pptx") -# استبعاد خطوط العرض التقديمية الافتراضية +# استبعاد خطوط العرض التقديمي الافتراضية fontNameExcludeList = ["Calibri", "Arial"] htmlOptionsEmbed = slides.export.HtmlOptions() @@ -155,20 +157,19 @@ pres.save("input-PFDinDisplayPro-Regular-installed.html", slides.export.SaveForm ``` -## **تحويل الشريحة إلى HTML** +## **تحويل شريحة إلى HTML** -تحويل شريحة عرض منفصلة إلى HTML. لذلك استخدم نفس طريقة [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) المعروضة من الفئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) التي تُستخدم لتحويل العرض PPT(X) كامل إلى مستند HTML. يمكن أيضًا استخدام الفئة [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) لتعيين خيارات التحويل الإضافية: +تحويل شريحة عرض تقديمي منفصلة إلى HTML. للقيام بذلك استخدم نفس طريقة [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) المعروضة بواسطة فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) التي تُستخدم لتحويل عرض PPT(X) كامل إلى مستند HTML. يمكن أيضًا استخدام فئة [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) لتعيين خيارات التحويل الإضافية: ```py # [TODO[not_supported_yet]: تنفيذ بايثون لواجهة .net] ``` - ## **حفظ CSS والصور عند التصدير إلى HTML** -باستخدام ملفات نمط CSS الجديدة، يمكنك بسهولة تغيير نمط ملف HTML الناتج عن عملية تحويل PowerPoint إلى HTML. +باستخدام ملفات نمط CSS الجديدة، يمكنك بسهولة تغيير نمط ملف HTML الناتج عن عملية تحويل PowerPoint إلى HTML. -الكود بايثون في هذا المثال يوضح لك كيفية استخدام طرق يمكن تجاوزها لإنشاء مستند HTML مخصص مع رابط إلى ملف CSS: +يعرض كود python في هذا المثال كيفية استخدام الطرق القابلة لإعادة التعريف لإنشاء مستند HTML مخصص مع رابط إلى ملف CSS: ```py # [TODO[not_supported_yet]: تنفيذ بايثون لواجهات .net] ``` @@ -176,17 +177,17 @@ pres.save("input-PFDinDisplayPro-Regular-installed.html", slides.export.SaveForm ## **ربط جميع الخطوط عند تحويل العرض إلى HTML** -إذا كنت لا ترغب في تضمين الخطوط (لتجنب زيادة حجم HTML الناتج)، يمكنك ربط جميع الخطوط بتنفيذ نسخة مخصصة من `LinkAllFontsHtmlController`. +إذا كنت لا ترغب في دمج الخطوط (لتجنب زيادة حجم HTML الناتج)، يمكنك ربط جميع الخطوط من خلال تنفيذ نسخة خاصة بك من `LinkAllFontsHtmlController`. -هذا الكود بايثون يوضح لك كيفية تحويل PowerPoint إلى HTML مع ربط جميع الخطوط واستبعاد "Calibri" و "Arial" (لأنهما موجودان بالفعل على النظام): +يعرض هذا الكود python كيفية تحويل PowerPoint إلى HTML مع ربط جميع الخطوط واستبعاد "Calibri" و "Arial" (لأنهما موجودان بالفعل في النظام): ```py # [TODO[not_supported_yet]: تنفيذ بايثون لواجهات .net] ``` -## **دعم خاصية الاستجابة في SVG** +## **دعم خاصية SVG الاستجابية** -عينة الكود أدناه توضح كيفية تصدير عرض PPT(X) إلى HTML مع تخطيط استجابة: +يعرض عينة الكود أدناه كيفية تصدير عرض PPT(X) إلى HTML مع التخطيط الاستجابي: ```py presentation = slides.Presentation("SomePresentation.pptx") @@ -197,17 +198,16 @@ presentation.save("SomePresentation-out.html", slides.export.SaveFormat.HTML, sa ``` - ## **تصدير ملفات الوسائط إلى ملف HTML** -باستخدام Aspose.Slides للبايثون، يمكنك تصدير ملفات الوسائط بهذه الطريقة: +باستخدام Aspose.Slides للـ python، يمكنك تصدير ملفات الوسائط بهذه الطريقة: -1. إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. الحصول على مرجع إلى الشريحة. -1. إضافة فيديو إلى الشريحة. -1. كتابة العرض كملف HTML. +1. إنشاء مثال من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). +2. الحصول على مرجع للشرائح. +3. إضافة فيديو إلى الشريحة. +4. كتابة العرض كملف HTML. -هذا الكود بايثون يوضح لك كيفية إضافة فيديو إلى العرض ثم حفظه كملف HTML: +يعرض هذا الكود python كيفية إضافة فيديو إلى العرض ثم حفظه كملف HTML: ```py import aspose.slides as slides @@ -230,44 +230,44 @@ presentation.save(path + "ExportMediaFiles_out.html", slides.export.SaveFormat.H ``` -## الأسئلة المتكررة +## **الأسئلة المتكررة** -### **كيف يمكنني تحويل عرض PowerPoint إلى HTML باستخدام بايثون؟** +**كيف يمكنني تحويل عرض PowerPoint إلى HTML باستخدام Python؟** -يمكنك استخدام مكتبة Aspose.Slides للبايثون عبر .NET لتحميل ملفات PPT أو PPTX أو ODP وتحويلها إلى HTML باستخدام طريقة `save()` مع `SaveFormat.HTML`. +يمكنك استخدام مكتبة Aspose.Slides for Python via .NET لتحميل ملفات PPT أو PPTX أو ODP وتحويلها إلى HTML باستخدام طريقة `save()` مع `SaveFormat.HTML`. -### **هل تدعم Aspose.Slides تحويل شرائح PowerPoint الفردية إلى HTML؟** +**هل تدعم Aspose.Slides تحويل شرائح PowerPoint الفردية إلى HTML؟** -نعم، تتيح Aspose.Slides تحويل العرض بالكامل أو شرائح محددة إلى HTML من خلال تكوين `HtmlOptions` وفقًا لذلك. +نعم، يسمح Aspose.Slides بتحويل العرض بالكامل أو شرائح محددة إلى HTML عن طريق ضبط `HtmlOptions` وفقًا لذلك. -### **هل يمكنني توليد HTML استجابة من عروض PowerPoint؟** +**هل يمكنني إنشاء HTML استجابي من عروض PowerPoint؟** -نعم، باستخدام فئة `ResponsiveHtmlController` يمكنك تصدير عرضك إلى تخطيط HTML استجابة يتكيف مع أحجام الشاشات المختلفة. +نعم، باستخدام فئة `ResponsiveHtmlController`، يمكنك تصدير عرضك إلى تخطيط HTML استجابي يتكيف مع أحجام الشاشات المختلفة. -### **هل يمكن تضمين ملاحظات المتحدث أو التعليقات في ملف HTML المصدر؟** +**هل يمكن تضمين ملاحظات المتحدث أو التعليقات في HTML المُصدَّر؟** -نعم، يمكنك تكوين `HtmlOptions` لتضمين أو استبعاد ملاحظات المتحدث والتعليقات عند تصدير عروض PowerPoint إلى HTML. +نعم، يمكنك ضبط `HtmlOptions` لتضمين أو استبعاد ملاحظات المتحدث والتعليقات عند تصدير عروض PowerPoint إلى HTML. -### **هل يمكنني تضمين الخطوط عند تحويل العرض إلى HTML؟** +**هل يمكنني دمج الخطوط عند تحويل عرض تقديمي إلى HTML؟** -نعم، توفر Aspose.Slides فئة `EmbedAllFontsHtmlController` التي تسمح لك بضم الخطوط أو استبعاد خطوط معينة لتقليل حجم الملف الناتج. +نعم، يوفر Aspose.Slides الفئة `EmbedAllFontsHtmlController` التي تسمح بدمج الخطوط أو استبعاد بعض الخطوط لتقليل حجم الملف الناتج. -### **هل يدعم تحويل PowerPoint إلى HTML ملفات وسائط مثل الفيديوهات والصوت؟** +**هل يدعم تحويل PowerPoint إلى HTML ملفات الوسائط مثل الفيديوهات والصوت؟** -نعم، تسمح Aspose.Slides بتصدير محتوى الوسائط المدمج في الشرائح إلى HTML باستخدام `VideoPlayerHtmlController` وفئات التكوين ذات الصلة. +نعم، يسمح Aspose.Slides بتصدير محتوى الوسائط المضمن في الشرائح إلى HTML باستخدام `VideoPlayerHtmlController` والفئات المرتبطة. -### **ما صيغ الملفات التي تدعمها التحويل إلى HTML؟** +**ما صيغ الملفات المدعومة للتحويل إلى HTML؟** -تدعم Aspose.Slides تحويل صيغ العروض PPT و PPTX و ODP إلى HTML. كما تسمح بحفظ محتوى الشرائح كـ SVG وتصدير الأصول الإعلامية. +يدعم Aspose.Slides تحويل صيغ العروض PPT و PPTX و ODP إلى HTML. كما يتيح حفظ محتوى الشرائح كـ SVG وتصدير موارد الوسائط. -### **هل يمكنني تجنب تضمين الخطوط لتقليل حجم ملف HTML؟** +**هل يمكنني تجنب دمج الخطوط لتقليل حجم HTML الناتج؟** -نعم، يمكنك ربط الخطوط المتاحة على النظام مثل Arial أو Calibri بدلاً من تضمينها، عبر تنفيذ مخصص لـ `HtmlController`. +نعم، يمكنك ربط الخطوط المتوفرة في النظام مثل Arial أو Calibri بدلاً من دمجها، باستخدام تنفيذ مخصص لـ `HtmlController`. -### **هل هناك أداة على الإنترنت لتحويل PowerPoint إلى HTML؟** +**هل توجد أداة عبر الإنترنت لتحويل PowerPoint إلى HTML؟** -نعم، يمكنك تجربة الأدوات المجانية على الويب من Aspose مثل [PPT إلى HTML](https://products.aspose.app/slides/conversion/ppt-to-html) أو [PPTX إلى HTML](https://products.aspose.app/slides/conversion/pptx-to-html) لتحويل العروض مباشرة في المتصفح دون كتابة أي كود. +نعم، يمكنك تجربة الأدوات المجانية عبر الويب من Aspose مثل [PPT إلى HTML](https://products.aspose.app/slides/conversion/ppt-to-html) أو [PPTX إلى HTML](https://products.aspose.app/slides/conversion/pptx-to-html) لتحويل العروض مباشرة في المتصفح دون كتابة أي كود. -### **هل يمكنني استخدام أنماط CSS مخصصة في ملف HTML المصدر؟** +**هل يمكنني استخدام أنماط CSS مخصصة في ملف HTML المُصدَّر؟** -نعم، تسمح Aspose.Slides بربط ملفات CSS الخارجية أثناء التحويل، مما يتيح لك تخصيص مظهر محتوى HTML الناتج بالكامل. \ No newline at end of file +نعم، يسمح Aspose.Slides بالربط بملفات CSS خارجية أثناء التحويل، مما يتيح لك تخصيص مظهر محتوى HTML الناتج بالكامل. diff --git a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index 7c7973e69f..9223e41df9 100644 --- a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,6 +1,6 @@ --- -title: تحويل PPT وPPTX إلى PDF في Python | خيارات متقدمة -linktitle: تحويل PowerPoint إلى PDF +title: تحويل PPT و PPTX إلى PDF في Python | خيارات متقدمة +linktitle: PowerPoint إلى PDF type: docs weight: 40 url: /ar/python-net/convert-powerpoint-to-pdf/ @@ -15,54 +15,54 @@ keywords: - PDF/A1b - PDF/UA - Python -- Aspose.Slides -description: "دليل خطوة بخطوة لتحويل ملفات PPT وPPTX وODP إلى ملفات PDF عالية الجودة ومتوافقة مع WCAG باستخدام Aspose.Slides — يشمل الحماية بكلمة مرور، وتحديد الشرائح، والتحكم بجودة الصور." +- Aspose.Slides for Python +description: "دليل خطوة بخطوة لتحويل PPT و PPTX و ODP إلى ملفات PDF عالية الجودة ومتوافقة مع WCAG باستخدام Aspose.Slides في Python — يشمل حماية بكلمة مرور، اختيار الشرائح، والتحكم في جودة الصور." +showReadingTime: true --- ## **نظرة عامة** -يوفر تحويل مستندات PowerPoint إلى تنسيق PDF العديد من المزايا، بما في ذلك ضمان التوافق عبر الأجهزة المختلفة والحفاظ على تخطيط وعرض العرض التقديمي الخاص بك. توضح هذه المقالة كيفية تحويل العروض التقديمية إلى مستندات PDF، واستخدام خيارات مختلفة للتحكم في جودة الصورة، وإدراج الشرائح المخفية، وحماية مستندات PDF بكلمة مرور، واكتشاف استبدالات الخطوط، واختيار الشرائح من أجل التحويل، وتطبيق معايير الامتثال على مستندات الخرج. +يساعد تحويل عروض PowerPoint (PPT، PPTX، ODP) إلى صيغة PDF باستخدام بايثون على تحقيق عدة مزايا، بما في ذلك ضمان التوافق عبر مختلف الأجهزة والحفاظ على تخطيط وتنسيق العرض التقديمي الخاص بك. يوضح هذا الدليل كيفية تحويل العروض إلى مستندات PDF، واستخدام خيارات متعددة للتحكم في جودة الصور، وتضمين الشرائح المخفية، وحماية مستندات PDF بكلمة مرور، واكتشاف استبدالات الخطوط، واختيار شرائح محددة للتحويل، وتطبيق معايير الامتثال على المستندات الناتجة. ## **تحويلات PowerPoint إلى PDF** -باستخدام Aspose.Slides، يمكنك تحويل العروض التقديمية بتنسيقات مختلفة إلى PDF: +باستخدام Aspose.Slides، يمكنك تحويل العروض في هذه الصيغ إلى PDF: -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -لتحويل عرض تقديمي إلى PDF باستخدام Python، عليك ببساطة تمرير اسم الملف كوسيط في [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) ثم حفظ العرض التقديمي كملف PDF باستخدام طريقة [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods). تكشف فئة [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) عن طريقة [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) التي تُستخدم عادةً لتحويل عرض تقديمي إلى PDF. +لتحويل عرض تقديمي إلى PDF في بايثون، كل ما عليك هو تمرير اسم الملف كمعامل في فئة [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) ثم حفظ العرض كملف PDF باستخدام طريقة [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods). فئة [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) تعرض طريقة [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) التي تُستخدم عادةً لتحويل عرض تقديمي إلى PDF. -{{% alert title="ملاحظة" color="warning" %}} +{{% alert title="NOTE" color="warning" %}} -Aspose.Slides لـ Python تكتب مباشرة معلومات API ورقم الإصدار في مستندات الإخراج. على سبيل المثال، عند تحويل عرض تقديمي إلى PDF، تملأ Aspose.Slides لـ Python حقل التطبيق بالقيمة '*Aspose.Slides*' وحقل PDF Producer بقيمة في صيغة '*Aspose.Slides v XX.XX*'. **ملاحظة** أنه لا يمكنك إخبار Aspose.Slides لـ Python بتغيير أو إزالة هذه المعلومات من مستندات الإخراج. +Aspose.Slides for Python يكتب مباشرة معلومات API ورقم الإصدار في المستندات الناتجة. على سبيل المثال، عندما يقوم بتحويل عرض تقديمي إلى PDF، يقوم Aspose.Slides for Python بملء حقل Application بالقيمة '*Aspose.Slides*' وحقل PDF Producer بقيمة بصيغة '*Aspose.Slides v XX.XX*'. **ملاحظة** لا يمكنك توجيه Aspose.Slides for Python لتغيير أو إزالة هذه المعلومات من المستندات الناتجة. {{% /alert %}} -يسمح Aspose.Slides لك بتحويل: +Aspose.Slides يتيح لك تحويل: -* عرض تقديمي كامل إلى PDF -* شرائح محددة في عرض تقديمي إلى PDF -* عرض تقديمي +* كامل العروض إلى PDF +* شرائح محددة في العرض إلى PDF -تصدّر Aspose.Slides العروض التقديمية إلى PDF بطريقة تجعل محتويات ملفات PDF الناتجة مشابهة جدًا لتلك الموجودة في العروض التقديمية الأصلية. غالبًا ما يتم تقديم هذه العناصر والسمات المعروفة بشكل صحيح في تحويلات العرض التقديمي إلى PDF: +Aspose.Slides يصدر العروض إلى PDF، مع ضمان أن محتويات ملفات PDF الناتجة مطابقة بدقة للعروض الأصلية. يتم تحويل العناصر والسمات بدقة أثناء التحويل، بما في ذلك: * الصور -* صناديق النص وأشكال أخرى -* النصوص وتنسيقها -* الفقرات وتنسيقها +* مربعات النص والأشكال +* تنسيق النص +* تنسيق الفقرات * الروابط التشعبية -* الرأس والتذييل -* التعداد النقطي +* رؤوس وتذييلات الصفحات +* القوائم النقاطية * الجداول ## **تحويل PowerPoint إلى PDF** -يتم تنفيذ عملية تحويل PDF القياسية PowerPoint باستخدام الخيارات الافتراضية. في هذه الحالة، تحاول Aspose.Slides تحويل العرض التقديمي المقدم إلى PDF باستخدام إعدادات مثلى عند أقصى مستويات الجودة. يوضح كود Python التالي كيفية تحويل PowerPoint إلى PDF: +عملية التحويل القياسية من PowerPoint إلى PDF تُنفذ باستخدام الخيارات الافتراضية. في هذه الحالة، يحاول Aspose.Slides تحويل العرض المقدم إلى PDF باستخدام إعدادات مثالية بأعلى مستويات الجودة. يُظهر هذا الكود بايثون كيفية تحويل PowerPoint إلى PDF: -_الخطوات: تحويل PowerPoint إلى PDF باستخدام Python_ +_خطوات: تحويل PowerPoint إلى PDF في بايثون_ -يشرح كود العينة التالي هذه التحويلات باستخدام Python عبر .NET +الكود النموذجي التالي يوضح هذه التحويلات باستخدام بايثون عبر .NET - خطوات: تحويل PowerPoint إلى PDF باستخدام Python عبر .NET - خطوات: تحويل PPT إلى PDF باستخدام Python عبر .NET - خطوات: تحويل PPTX إلى PDF باستخدام Python عبر .NET @@ -71,175 +71,176 @@ _الخطوات: تحويل PowerPoint إلى PDF باستخدام Python_ _خطوات الكود:_ -- إنشاء مثيل من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) وتزويدها بملف PowerPoint. - * _.ppt_ امتداد لفتح ملف **PPT** داخل فئة _Presentation_. - * _.pptx_ امتداد لفتح ملف **PPTX** داخل فئة _Presentation_. - * _.odp_ امتداد لفتح ملف **ODP** داخل فئة _Presentation_. - * _.pps_ امتداد لفتح ملف **PPS** داخل فئة _Presentation_. -- حفظ _Presentation_ إلى تنسيق **PDF** عن طريق استدعاء طريقة **Save** واستخدام تعداد **SaveFormat.PDF**. - - +- إنشاء نسخة من فئة [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) وتزويدها بملف PowerPoint. + * امتداد _.ppt_ لتحميل ملف **PPT** داخل فئة _Presentation_. + * امتداد _.pptx_ لتحميل ملف **PPTX** داخل فئة _Presentation_. + * امتداد _.odp_ لتحميل ملف **ODP** داخل فئة _Presentation_. + * امتداد _.pps_ لتحميل ملف **PPS** داخل فئة _Presentation_. +- حفظ الـ _Presentation_ إلى صيغة **PDF** باستدعاء طريقة **Save** واستخدام تعداد **SaveFormat.PDF**. ```python import aspose.slides as slides -# Instantiates a Presentation class that represents a PowerPoint file +# ينشئ كائن من فئة Presentation يمثل ملف PowerPoint presentation = slides.Presentation("PowerPoint.ppt") -# Saves the presentation as a PDF +# يحفظ العرض التقديمي كملف PDF presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF) ``` + {{% alert color="primary" %}} -توفر Aspose محول [**PowerPoint إلى PDF مجاني عبر الإنترنت**](https://products.aspose.app/slides/conversion/ppt-to-pdf) يوضح عملية تحويل العرض التقديمي إلى PDF. من أجل تنفيذ مباشر للإجراء الموصوف هنا، يمكنك إجراء اختبار مع المحول. +Aspose يوفر محولًا مجانيًا على الإنترنت **PowerPoint إلى PDF** يوضح عملية تحويل العرض إلى PDF. لتجربة التنفيذ الحي للإجراء الموضح هنا، يمكنك إجراء اختبار باستخدام المحول. {{% /alert %}} -## تحويل PowerPoint إلى PDF مع خيارات +## **تحويل PowerPoint إلى PDF مع الخيارات** -توفر Aspose.Slides خيارات مخصصة—خصائص تحت فئة [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)—تتيح لك تخصيص الPDF (الناتج من عملية التحويل)، وتشفير الPDF بكلمة مرور، أو حتى تحديد كيفية سير عملية التحويل. +Aspose.Slides يقدم خيارات مخصصة—خصائص ضمن فئة [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)—تسمح لك بتخصيص PDF الناتج، أو قفل PDF بكلمة مرور، أو حتى تحديد كيفية سير عملية التحويل. ### **تحويل PowerPoint إلى PDF مع خيارات مخصصة** -باستخدام خيارات التحويل المخصصة، يمكنك ضبط إعداد الجودة المفضل لديك لصور النقاط النقطية، وتحديد كيفية التعامل مع ملفات الميتا، وضبط مستوى الضغط للنصوص، وضبط DPI للصور، إلخ. - -توضح مثال الكود أدناه عملية حيث يتم تحويل عرض تقديمي PowerPoint إلى PDF مع عدة خيارات مخصصة: +باستخدام خيارات التحويل المخصصة، يمكنك ضبط إعداد جودة الصور النقطية، وتحديد طريقة معالجة ملفات الميتا، وتعيين مستوى ضغط النصوص، وتعيين DPI للصور، وغيرها. +المثال البرمجي أدناه يوضح عملية تحويل عرض PowerPoint إلى PDF مع عدة خيارات مخصصة: ```python import aspose.slides as slides -# Instantiates the PdfOptions class +# ينشئ كائن من فئة PdfOptions pdf_options = slides.export.PdfOptions() -# Sets the quality for JPG images +# يحدد جودة صور JPG pdf_options.jpeg_quality = 90 -# Sets DPI for images +# يحدد DPI للصور pdf_options.sufficient_resolution = 300 -# Sets the behavior for metafiles +# يحدد سلوك ملفات الميتافي pdf_options.save_metafiles_as_png = True -# Sets the text compression level for textual content +# يحدد مستوى ضغط النص للمحتوى النصي pdf_options.text_compression = slides.export.PdfTextCompression.FLATE -# Defines the PDF compliance mode +# يحدد وضع الامتثال لـ PDF pdf_options.compliance = slides.export.PdfCompliance.PDF15 -# Instantiates the Presentation class that represents a PowerPoint document +# ينشئ كائن من فئة Presentation التي تمثل مستند PowerPoint with slides.Presentation("PowerPoint.pptx") as presentation: - # Saves the presentation as a PDF document + # يحفظ العرض التقديمي كمستند PDF presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options) ``` -### **تحويل PowerPoint إلى PDF مع الشرائح المخفية** -إذا كان العرض التقديمي يحتوي على شرائح مخفية، يمكنك استخدام خيار مخصص—خاصية `show_hidden_slides` من فئة [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)—لإخبار Aspose.Slides بإدراج الشرائح المخفية كصفحات في ملف PDF الناتج. +### **تحويل PowerPoint إلى PDF مع الشرائح المخفية** -يوضح كود Python هذا كيفية تحويل عرض تقديمي PowerPoint إلى PDF مع إدراج الشرائح المخفية: +إذا كان العرض يحتوي على شرائح مخفية، يمكنك استخدام خيار مخصص—خاصية `show_hidden_slides` من فئة [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)—لإرشاد Aspose.Slides لتضمين الشرائح المخفية كصفحات في PDF الناتج. +هذا الكود بايثون يوضح كيفية تحويل عرض PowerPoint إلى PDF مع تضمين الشرائح المخفية: ```python import aspose.slides as slides -# Instantiates a Presentation class that represents a PowerPoint file +# ينشئ كائنًا من فئة Presentation يمثل ملف PowerPoint presentation = slides.Presentation("PowerPoint.pptx") -# Instantiates the the PdfOptions class +# ينشئ كائنًا من فئة PdfOptions pdfOptions = slides.export.PdfOptions() -# Adds hidden slides +# يضيف الشرائح المخفية pdfOptions.show_hidden_slides = True -# Saves the presentation as a PDF +# يحفظ العرض التقديمي كملف PDF presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### **تحويل PowerPoint إلى PDF محمي بكلمة مرور** -يوضح كود Python هذا كيفية تحويل PowerPoint إلى PDF محمي بكلمة مرور (باستخدام معلمات الحماية من فئة [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) ): +### **تحويل PowerPoint إلى PDF محمي بكلمة مرور** +هذا الكود بايثون يوضح كيفية تحويل PowerPoint إلى PDF محمي بكلمة مرور (باستخدام معلمات الحماية من فئة [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)): ```python import aspose.slides as slides -# Instantiates a Presentation object that represents a PowerPoint file +# ينشئ كائن Presentation يمثل ملف PowerPoint presentation = slides.Presentation("PowerPoint.pptx") -# Instantiates the PdfOptions class +# ينشئ فئة PdfOptions pdfOptions = slides.export.PdfOptions() -# Sets PDF password and access permissions +# يحدد كلمة مرور PDF وأذونات الوصول pdfOptions.password = "password" pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT -# Saves the presentation as a PDF +# يحفظ العرض التقديمي كملف PDF presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### **كشف استبدالات الخطوط** -تقدم Aspose.Slides خاصية `warning_callback` تحت فئة [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/) للسماح لك بكشف استبدالات الخطوط في عملية تحويل العرض التقديمي إلى PDF. +### **اكتشاف استبدالات الخطوط** -يوضح كود Python هذا كيفية الكشف عن استبدالات الخطوط: +Aspose.Slides يقدم خاصية `warning_callback` ضمن فئة [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/) للسماح لك باكتشاف استبدالات الخطوط أثناء عملية تحويل العرض إلى PDF. +هذا الكود بايثون يوضح كيفية اكتشاف استبدالات الخطوط: ```python [TODO[SLIDESPYNET-91]: callbacks are not supported for now] ``` + {{% alert color="primary" %}} -للحصول على مزيد من المعلومات حول استبدال الخط، انظر مقالة [استبدال الخط](https://docs.aspose.com/slides/python-net/font-substitution/). +للمزيد من المعلومات حول استبدال الخطوط، راجع مقالة [Font Substitution](https://docs.aspose.com/slides/python-net/font-substitution/). {{% /alert %}} -## **تحويل الشرائح المحددة في PowerPoint إلى PDF** - -يوضح كود Python هذا كيفية تحويل شرائح محددة في عرض تقديمي PowerPoint إلى PDF: +## **تحويل شرائح مختارة في PowerPoint إلى PDF** +هذا الكود بايثون يوضح كيفية تحويل شرائح محددة في عرض PowerPoint إلى PDF: ```python import aspose.slides as slides -# Instantiates a Presentation object that represents a PowerPoint file +# ينشئ كائن Presentation يمثل ملف PowerPoint presentation = slides.Presentation("PowerPoint.pptx") -# Sets an array of slides positions +# يحدد مصفوفة مواضع الشرائح slides_array = [ 1, 3 ] -# Saves the presentation as a PDF +# يحفظ العرض التقديمي كملف PDF presentation.save("PPTX-to-PDF.pdf", slides_array, slides.export.SaveFormat.PDF) ``` -## **تحويل PowerPoint إلى PDF مع حجم شريحة مخصص** -يوضح كود Python هذا كيفية تحويل PowerPoint عندما يكون حجم شريحته محددًا إلى PDF: +## **تحويل PowerPoint إلى PDF مع حجم شريحة مخصص** +هذا الكود بايثون يوضح كيفية تحويل PowerPoint عندما يتم تحديد حجم شريحته إلى PDF: ```python import aspose.slides as slides -# Instantiates a Presentation object that represents a PowerPoint file -presentation = slides.Presentation("SelectedSlides.pptx") -auxPresentation = slides.Presentation() +slide_width = 612 +slide_height = 792 -slide = presentation.slides[0] +# إنشاء كائن من فئة Presentation يمثل ملف PowerPoint أو OpenDocument. +with slides.Presentation("SelectedSlides.pptx") as presentation: -auxPresentation.slides.insert_clone(0, slide) + # إنشاء عرض تقديمي جديد بحجم شريحة معدل. + with slides.Presentation() as resized_presentation: -# Sets the slide type and size -auxPresentation.slide_size.set_size(612, 792, slides.SlideSizeScaleType.ENSURE_FIT) + # تعيين حجم الشريحة المخصص. + resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT) -pdfOptions = slides.export.PdfOptions() -pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL + # استنساخ الشريحة الأولى من العرض الأصلي. + slide = presentation.slides[0] + resized_presentation.slides.insert_clone(0, slide) -auxPresentation.save("PDFnotes_out.pdf", slides.export.SaveFormat.PDF, pdfOptions) + # حفظ العرض المعاد تحجيمه كملف PDF مع الملاحظات. + resized_presentation.save("PDF_with_notes.pdf", slides.export.SaveFormat.PDF) ``` -## **تحويل PowerPoint إلى PDF في عرض ملاحظات الشريحة** -يوضح كود Python هذا كيفية تحويل PowerPoint إلى PDF بالملاحظات: +## **تحويل PowerPoint إلى PDF في عرض ملاحظات الشرائح** +هذا الكود بايثون يوضح كيفية تحويل PowerPoint إلى PDF ملاحظات: ```python import aspose.slides as slides -# Instantiates a Presentation class that represents a PowerPoint file +# ينشئ كائن من فئة Presentation يمثل ملف PowerPoint presentation = slides.Presentation("NotesFile.pptx") pdfOptions = slides.export.PdfOptions() @@ -249,12 +250,12 @@ pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPosition presentation.Save("Pdf_Notes_out.tiff", slides.export.SaveFormat.PDF, pdfOptions) ``` -## **معايير الوصول والامتثال للPDF** -تتيح لك Aspose.Slides استخدام إجراء تحويل يتوافق مع [إرشادات إمكانية الوصول لمحتوى الويب (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). يمكنك تصدير مستند PowerPoint إلى PDF باستخدام أي من هذه المعايير: **PDF/A1a**، **PDF/A1b**، و **PDF/UA**. +## **معايير إمكانية الوصول والامتثال للـ PDF** -يوضح كود Python هذا عملية تحويل PowerPoint إلى PDF حيث يتم الحصول على عدة ملفات PDF تستند إلى معايير امتثال مختلفة: +Aspose.Slides يتيح لك استخدام إجراء تحويل يتوافق مع [إرشادات إمكانية الوصول لمحتوى الويب (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). يمكنك تصدير مستند PowerPoint إلى PDF باستخدام أي من معايير الامتثال هذه: **PDF/A1a**، **PDF/A1b**، و **PDF/UA**. +هذا الكود بايثون يوضح عملية تحويل PowerPoint إلى PDF يتم فيها الحصول على ملفات PDF متعددة بناءً على معايير امتثال مختلفة: ```python import aspose.slides as slides @@ -272,8 +273,49 @@ options.compliance = slides.export.PdfCompliance.PDF_UA pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options) ``` -{{% alert title="ملاحظة" color="warning" %}} -دعم Aspose.Slides لعمليات تحويل PDF يمتد إلى السماح لك بتحويل PDF إلى أكثر تنسيقات الملفات شيوعًا. يمكنك إجراء تحويلات [PDF إلى HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/)، [PDF إلى صورة](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/)، [PDF إلى JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/)، و [PDF إلى PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/). كما يتم دعم عمليات تحويل PDF إلى تنسيقات متخصصة أخرى—[PDF إلى SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/)، [PDF إلى TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/)، و [PDF إلى XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/). +{{% alert title="Note" color="warning" %}} + +دعم Aspose.Slides لعمليات تحويل PDF يمتد إلى السماح لك بتحويل PDF إلى أكثر صيغ الملفات شيوعًا. يمكنك إجراء التحويلات التالية: [PDF إلى HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/)، [PDF إلى صورة](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/)، [PDF إلى JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/)، و[PDF إلى PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/). عمليات تحويل PDF إلى صيغ متخصصة أخرى—[PDF إلى SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/)، [PDF إلى TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/)، و[PDF إلى XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/)—مدعومة أيضًا. + +{{% /alert %}} + +## **الأسئلة المتداولة** + +**هل يمكن لـ Aspose.Slides for Python إزالة معلومات التطبيق من PDF؟** + +لا، Aspose.Slides for Python يدرج تلقائيًا معلومات API ورقم الإصدار في PDF الناتج. لا يمكن تعديل أو إزالة هذه المعلومات. + +**كيف يمكن تضمين شرائح محددة فقط في تحويل PDF؟** + +يمكنك تحديد مؤشرات الشرائح التي تريد تحويلها بتمرير مصفوفة من مواضع الشرائح إلى طريقة `save`. + +**هل يمكن حماية PDF بكلمة مرور أثناء التحويل؟** + +نعم، يمكنك تعيين كلمة مرور وتحديد أذونات الوصول باستخدام فئة `PdfOptions` قبل حفظ العرض كملف PDF. + +**هل يدعم Aspose.Slides تحويل PDF إلى صيغ أخرى؟** + +نعم، يدعم Aspose.Slides تحويل ملفات PDF إلى صيغ مثل HTML، صيغ الصور (JPG، PNG)، SVG، TIFF، وXML. + +**كيف أضمن أن PDF يلتزم بمعايير إمكانية الوصول؟** + +عيّن خاصية `compliance` في `PdfOptions` إلى معايير مثل `PDF_A1A`، `PDF_A1B`، أو `PDF_UA` لضمان الامتثال لإرشادات الوصول. + +**هل يمكن تضمين الشرائح المخفية في ملف PDF الناتج؟** + +نعم، عن طريق تعيين خاصية `show_hidden_slides` في `PdfOptions` إلى `True`، سيتم تضمين الشرائح المخفية في PDF. + +**كيف يمكن تعديل جودة الصورة والدقة أثناء التحويل؟** + +استخدم خاصيتي `jpeg_quality` و `sufficient_resolution` في `PdfOptions` للتحكم في جودة الصورة ودقتها في PDF الناتج. + +**هل يتعامل Aspose.Slides تلقائيًا مع استبدالات الخطوط؟** + +Aspose.Slides يكتشف استبدالات الخطوط أثناء التحويل، ويمكنك معالجتها باستخدام خاصية `warning_callback` في `SaveOptions` (محدودة حاليًا). + +## **الموارد الإضافية** -{{% /alert %}} \ No newline at end of file +- [توثيق Aspose.Slides for .NET](https://docs.aspose.com/slides/python-net/) +- [مرجع Aspose.Slides API](https://reference.aspose.com/slides/python-net/) +- [محولات Aspose المجانية على الإنترنت](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index ea8cef3b02..88e073e824 100644 --- a/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/ar/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -1,5 +1,5 @@ --- -title: تحويل PPT إلى PPTX باستخدام Python +title: تحويل PPT إلى PPTX في Python linktitle: PPT إلى PPTX type: docs weight: 20 @@ -11,95 +11,91 @@ keywords: - عرض تقديمي - Python - Aspose.Slides -description: "قم بتحويل عروض PPT القديمة إلى PPTX الحديثة بسرعة باستخدام Python و Aspose.Slides — دليل واضح، عينات شيفرة مجانية، بدون اعتماد على Microsoft Office." +description: "تحويل العروض التقديمية القديمة بصيغة PPT إلى صيغة PPTX الحديثة بسرعة في Python باستخدام Aspose.Slides — دليل واضح، عينات شفرة مجانية، بدون اعتماد على Microsoft Office." --- ## **نظرة عامة** -تشرح هذه المقالة كيفية تحويل عرض تقديمي لبرنامج PowerPoint بتنسيق PPT إلى تنسيق PPTX باستخدام Python ومع تطبيق تحويل PPT إلى PPTX عبر الإنترنت. يتم تغطية الموضوع التالي: +هذه المقالة توضح طريقة تحويل عرض PowerPoint بصيغة PPT إلى صيغة PPTX باستخدام Python ومن خلال تطبيق تحويل PPT إلى PPTX على الإنترنت. الموضوع التالي مُغطى: - تحويل PPT إلى PPTX باستخدام Python -## **تحويل PPT إلى PPTX باستخدام Python** +## **Python تحويل PPT إلى PPTX** -للحصول على عينة كود Python لتحويل PPT إلى PPTX، يرجى مراجعة القسم أدناه، أي [تحويل PPT إلى PPTX](#convert-ppt-to-pptx). يقوم ببساطة بتحميل ملف PPT وحفظه بتنسيق PPTX. عن طريق تحديد تنسيقات حفظ مختلفة، يمكنك أيضًا حفظ ملف PPT بالعديد من الصيغ الأخرى مثل PDF و XPS و ODP و HTML، إلخ، كما هو موضح في هذه المقالات: +للحصول على مثال كود Python لتحويل PPT إلى PPTX، يرجى الاطلاع على القسم أدناه، أي [تحويل PPT إلى PPTX](#convert-ppt-to-pptx). يقوم الكود ببساطة بتحميل ملف PPT وحفظه بصيغة PPTX. من خلال تحديد صيغ حفظ مختلفة، يمكنك أيضًا حفظ ملف PPT إلى العديد من الصيغ الأخرى مثل PDF و XPS و ODP و HTML وغيرها، كما هو موضح في هذه المقالات: -- [Python Convert PPT إلى PDF](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-pdf/) -- [Python Convert PPT إلى XPS](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/) -- [Python Convert PPT إلى HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/) -- [Python Convert PPT إلى ODP](https://docs.aspose.com/slides/python-net/save-presentation/) -- [Python Convert PPT إلى صورة](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-png/) +- [Python تحويل PPT إلى PDF](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-pdf/) +- [Python تحويل PPT إلى XPS](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/) +- [Python تحويل PPT إلى HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/) +- [Python تحويل PPT إلى ODP](https://docs.aspose.com/slides/python-net/save-presentation/) +- [Python تحويل PPT إلى Image](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-png/) ## **حول تحويل PPT إلى PPTX** -قم بتحويل تنسيق PPT القديم إلى PPTX باستخدام Aspose.Slides API. إذا كنت بحاجة إلى تحويل آلاف العروض التقديمية من PPT إلى تنسيق PPTX، فإن أفضل حل هو القيام بذلك برمجيًا. باستخدام Aspose.Slides API، يمكن القيام بذلك في بضع أسطر من الشيفرة فقط. يدعم API توافقًا كاملًا لتحويل عرض تقديمي من PPT إلى PPTX، ويمكنه: +قم بتحويل صيغة PPT القديمة إلى PPTX باستخدام Aspose.Slides API. إذا كنت بحاجة إلى تحويل آلاف العروض التقديمية من PPT إلى صيغة PPTX، فإن الحل الأفضل هو القيام بذلك برمجيًا. مع Aspose.Slides API، يمكنك إنجاز ذلك في بضع أسطر من الشيفرة فقط. تدعم الواجهة برمجة التطبيقات التوافق الكامل لتحويل عرض PPT إلى PPTX، ويمكنك القيام بما يلي: -- تحويل الهياكل المعقدة للماسترات، التخطيطات، والشرائح. +- تحويل هياكل معقدة من القوالب، التخطيطات، والشرائح. - تحويل عرض تقديمي يحتوي على مخططات. -- تحويل عرض تقديمي يحتوي على أشكال مجموعات، الأشكال التلقائية (مثل المستطيلات والبيضاوات)، والأشكال ذات الهندسة المخصصة. -- تحويل عرض تقديمي يحتوي على قوام وأنماط تعبئة صورة للأشكال التلقائية. -- تحويل عرض تقديمي يحتوي على نواقل محتوى، إطارات نصية، وحاملات نص. +- تحويل عرض تقديمي يحتوي على أشكال مجموعة، أشكال تلقائية (مثل المستطيلات والبيضات)، وأشكال ذات هندسة مخصصة. +- تحويل عرض تقديمي يحتوي على قوام وأنماط تعبئة صور للأشكال التلقائية. +- تحويل عرض تقديمي يحتوي على نواقل، إطارات نصية، وحاملات نص. {{% alert color="primary" %}} -ألقِ نظرة على تطبيق [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) : +ألق نظرة على التطبيق [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) : [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -تم بناء هذا التطبيق استنادًا إلى **Aspose.Slides API**، لذا يمكنك رؤية مثال مباشر على قدرات تحويل PPT إلى PPTX الأساسية. Aspose.Slides Conversion هو تطبيق ويب يتيح لك سحب ملف عرض تقديمي بتنسيق PPT وتنزيله بعد تحويله إلى PPTX. +تم بناء هذا التطبيق بناءً على **Aspose.Slides API**، لذلك يمكنك مشاهدة مثال حي لقدرات التحويل الأساسية من PPT إلى PPTX. Aspose.Slides Conversion هو تطبيق ويب يتيح لك سحب ملف عرض بصيغة PPT وتحميله بعد تحويله إلى PPTX. -اعثر على أمثلة حية أخرى لـ [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) . +ابحث عن أمثلة أخرى حيّة [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) . {{% /alert %}} ## **تحويل PPT إلى PPTX** -لتحويل PPT إلى PPTX، ما عليك سوى تمرير اسم الملف وتنسيق الحفظ إلى طريقة [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) في فئة [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). عينة الشيفرة Python أدناه تحول عرضًا تقديميًا من PPT إلى PPTX باستخدام الإعدادات الافتراضية. +لتحويل PPT إلى PPTX، ما عليك سوى تمرير اسم الملف وصيغة الحفظ إلى طريقة [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) في فئة [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). المثال البرمجي أدناه يحول عرضًا من PPT إلى PPTX باستخدام الخيارات الافتراضية. ```python import aspose.slides as slides # إنشاء كائن Presentation يمثل ملف PPT pres = slides.Presentation("PPTtoPPTX.ppt") -# حفظ العرض التقديمي بتنسيق PPTX +# حفظ العرض التقديمي بصيغة PPTX pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` -اقرأ المزيد عن صيغ العروض التقديمية [**PPT vs PPTX**](/slides/ar/python-net/ppt-vs-pptx/) وكيفية [**Aspose.Slides يدعم تحويل PPT إلى PPTX**](/slides/ar/python-net/convert-ppt-to-pptx/). +اقرأ المزيد عن [**PPT vs PPTX**](/slides/ar/python-net/ppt-vs-pptx/) صيغ العروض وكيفية [**Aspose.Slides supports PPT to PPTX conversion**](/slides/ar/python-net/convert-ppt-to-pptx/). -## الأسئلة المتكررة +## **الأسئلة الشائعة** -### **ما هو الفرق بين صيغ PPT و PPTX؟** +**ما الفرق بين صيغ PPT و PPTX؟** -PPT هو تنسيق ملف ثنائي قديم يستخدمه Microsoft PowerPoint، بينما PPTX هو التنسيق القائم على XML الأحدث الذي تم تقديمه مع Microsoft Office 2007. توفر ملفات PPTX أداءً أفضل، حجم ملف أصغر، وتحسين في استعادة البيانات. +PPT هي الصيغة الثنائية القديمة المستخدمة بواسطة Microsoft PowerPoint، بينما PPTX هي الصيغة القائمة على XML والتي تم تقديمها مع Microsoft Office 2007. ملفات PPTX توفر أداءً أفضل، حجم ملف أصغر، وتحسينًا في استعادة البيانات. -### **هل يمكنني تحويل PPT إلى PPTX باستخدام Python؟** +**هل يمكنني تحويل PPT إلى PPTX باستخدام Python؟** -نعم، باستخدام مكتبة Aspose.Slides for Python عبر .NET، يمكنك بسهولة تحميل ملف PPT وحفظه بتنسيق PPTX ببضع أسطر من الشيفرة فقط. +نعم، باستخدام مكتبة Aspose.Slides for Python عبر .NET، يمكنك بسهولة تحميل ملف PPT وحفظه بصيغة PPTX ببضع أسطر من الشيفرة فقط. -### **هل Aspose.Slides for Python عبر .NET مطلوب لتحويل PPT إلى PPTX؟** +**هل تدعم Aspose.Slides التحويل الجماعي لعدة ملفات PPT إلى PPTX؟** -نعم، يوفر Aspose.Slides API الطرق والفئات اللازمة لتحويل، ومعالجة، وحفظ عروض PowerPoint برمجيًا دون الاعتماد على Microsoft PowerPoint. +نعم، يمكنك استخدام Aspose.Slides داخل حلقة لتحويل عدة ملفات PPT إلى PPTX برمجيًا، مما يجعله مناسبًا لسيناريوهات التحويل الجماعي. -### **هل يدعم Aspose.Slides تحويل دفعة من ملفات PPT متعددة إلى PPTX؟** +**هل سيحافظ المحتوى والتنسيق على الشكل بعد التحويل؟** -نعم، يمكنك استخدام Aspose.Slides في حلقة لتحويل ملفات PPT متعددة إلى PPTX برمجيًا، مما يجعله مناسبًا لسيناريوهات التحويل الدفعي. +تحافظ Aspose.Slides على دقة عالية في تحويل العروض. تُحفظ تخطيطات الشرائح، الرسوم المتحركة، الأشكال، المخططات، وعناصر التصميم الأخرى أثناء تحويل PPT إلى PPTX. -### **هل سيتم الحفاظ على المحتوى والتنسيق بعد التحويل؟** +**هل يمكنني تحويل صيغ أخرى مثل PDF أو HTML من ملفات PPT؟** -يحافظ Aspose.Slides على دقة عالية في تحويل العروض التقديمية. يتم الحفاظ على تخطيطات الشرائح، الرسوم المتحركة، الأشكال، المخططات، وغيرها من عناصر التصميم أثناء تحويل PPT إلى PPTX. +نعم، تدعم Aspose.Slides تحويل ملفات PPT إلى صيغ متعددة تشمل PDF و XPS و HTML و ODP وكذلك صيغ الصور مثل PNG و JPEG. -### **هل يمكنني تحويل صيغ أخرى مثل PDF أو HTML من ملفات PPT؟** +**هل من الممكن تحويل PPT إلى PPTX دون تثبيت Microsoft PowerPoint؟** -نعم، يدعم Aspose.Slides تحويل ملفات PPT إلى صيغ متعددة، بما في ذلك PDF و XPS و HTML و ODP، وصيغ الصور مثل PNG و JPEG. +نعم، Aspose.Slides for Python عبر .NET هي واجهة برمجة تطبيقات مستقلة ولا تتطلب تثبيت Microsoft PowerPoint أو أي برنامج طرف ثالث لإجراء التحويل. -### **هل من الممكن تحويل PPT إلى PPTX دون تثبيت Microsoft PowerPoint؟** +**هل هناك أداة على الإنترنت متاحة لتحويل PPT إلى PPTX؟** -نعم، Aspose.Slides for Python عبر .NET هو API مستقل ولا يتطلب Microsoft PowerPoint أو أي برنامج طرف ثالث لإجراء التحويل. - -### **هل هناك أداة عبر الإنترنت متاحة لتحويل PPT إلى PPTX؟** - -نعم، يمكنك استخدام تطبيق الويب المجاني [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) لإجراء التحويل مباشرةً في متصفحك دون كتابة أي شيفرة. \ No newline at end of file +نعم، يمكنك استخدام تطبيق الويب المجاني [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) للقيام بالتحويل مباشرة في المتصفح دون كتابة أي كود. diff --git a/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..396033ad0e --- /dev/null +++ b/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "أتمتة إنشاء عروض PowerPoint في Python: إنشاء عروض تقديمية ديناميكية بسهولة" +linktitle: "أتمتة إنشاء عروض PowerPoint" +type: docs +weight: 20 +url: /ar/python-net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- "منصات سحابية" +- "أتمتة إنشاء عروض PowerPoint" +- "إنشاء عروض تقديمية برمجياً" +- "أتمتة PowerPoint" +- "إنشاء شرائح ديناميكية" +- "تقارير أعمال مؤتمتة" +- "أتمتة PPT" +- "عرض Python" +- "Python" +- "Aspose.Slides" +description: "أتمتة إنشاء الشرائح على منصات سحابية باستخدام Aspose.Slides for Python — إنشاء، تحرير، وتحويل ملفات PowerPoint و OpenDocument بسرعة وموثوقية." +--- + +## **المقدمة** + +إنشاء عروض PowerPoint يدوياً يمكن أن يكون مهمة تستغرق وقتًا طويلاً ومتكررة — خاصة عندما يكون المحتوى مستندًا إلى بيانات ديناميكية تتغير باستمرار. سواء كان ذلك في توليد تقارير الأعمال الأسبوعية، أو تجميع المواد التعليمية، أو إنتاج عروض مبيعات جاهزة للعميل، يمكن للأتمتة أن توفر ساعات لا تُعد وتضمن الاتساق عبر الفرق. + +لمطوري Python، يفتح أتمتة إنشاء عروض PowerPoint إمكانيات قوية. يمكنك دمج توليد الشرائح في بوابات الويب، الأدوات سطح المكتب، خدمات الخلفية، أو المنصات السحابية لتحويل البيانات بشكل ديناميكي إلى عروض تقديمية احترافية ومُعلمة بالعلامة التجارية — حسب الطلب. + +في هذا المقال، سنستكشف حالات الاستخدام الشائعة لتوليد PowerPoint آليًا في تطبيقات Python (بما في ذلك النشر على المنصات السحابية) ولماذا تصبح هذه الخاصية أساسية في الحلول الحديثة. من سحب بيانات الأعمال في الوقت الفعلي إلى تحويل النصوص أو الصور إلى شرائح، الهدف هو تحويل المحتوى الخام إلى صيغ بصرية منظمة يمكن للجمهور فهمها فورًا. + +## **حالات الاستخدام الشائعة لأتمتة PowerPoint في Python** + +تكون أتمتة توليد PowerPoint مفيدة بشكل خاص في السيناريوهات التي يحتاج فيها محتوى العرض إلى التجميع الديناميكي أو التخصيص أو التحديث المتكرر. بعض أكثر حالات الاستخدام الواقعية شيوعًا تشمل: + +- **تقارير الأعمال ولوحات المعلومات** + توليد ملخصات المبيعات، مؤشرات الأداء الرئيسية، أو تقارير الأداء المالي من خلال سحب البيانات الحية من قواعد البيانات أو واجهات برمجة التطبيقات. + +- **عروض مبيعات وتسويق مخصصة** + إنشاء عروض تقديمية مخصصة للعميل تلقائيًا باستخدام بيانات CRM أو النماذج، مما يضمن سرعة التسليم واتساق العلامة التجارية. + +- **محتوى تعليمي** + تحويل المواد التعليمية، الاختبارات، أو ملخصات الدورات إلى عروض شرائح منظمة لمنصات التعلم الإلكتروني. + +- **رؤى مدعومة بالبيانات والذكاء الاصطناعي** + استخدام معالجة اللغة الطبيعية أو محركات التحليل لتحويل البيانات الخام أو النصوص الطويلة إلى عروض تقديمية ملخصة. + +- **شرائح مدعومة بوسائط** + تجميع عروض من صور مرفوعة، لقطات شاشة مشروحة، أو إطارات رئيسية للفيديو مع أوصاف داعمة. + +- **تحويل المستندات** + تحويل مستندات Word، ملفات PDF، أو مدخلات النماذج إلى عروض بصرية مع حد أدنى من الجهد اليدوي. + +- **أدوات المطورين والتقنية** + إنشاء عروض توضيحية تقنية، ملخصات توثيقية، أو سجلات تغييرات بصيغة شرائح مباشرة من الشيفرة أو محتوى markdown. + +من خلال أتمتة هذه التدفقات، تستطيع المؤسسات توسيع نطاق إنشاء المحتوى، الحفاظ على الاتساق، وتوفير الوقت للمهام الإستراتيجية. + +## **دعونا نبرمج** + +في هذا المثال، اخترنا **[Aspose.Slides for Python](https://products.aspose.com/slides/python-net/)** لتوضيح أتمتة PowerPoint بسبب مجموعة ميزاته الشاملة وسهولة الاستخدام عند التعامل مع العروض برمجيًا. + +على عكس المكتبات ذات المستوى الأدنى التي تتطلب من المطورين العمل مباشرةً مع بنية Open XML (مما يؤدي غالبًا إلى شفرة مطولة وأقل قابلية للقراءة)، تقدم Aspose.Slides واجهة برمجة تطبيقات عالية المستوى. فهي تُجرد التعقيد، مما يسمح للمطورين بالتركيز على منطق العرض — مثل التخطيط، التنسيق، وربط البيانات — دون الحاجة إلى فهم تفصيلي لتنسيق ملف PowerPoint. + +على الرغم من أن Aspose.Slides مكتبة تجارية، إلا أنها توفر نسخة **[تجربة مجانية](https://releases.aspose.com/slides/python-net/)** يمكنها تشغيل الأمثلة الواردة في هذا المقال بالكامل. لأغراض استعراض الأفكار، اختبار الميزات، أو بناء نموذج إثبات مفهوم كما هو موضح هنا، تكون التجربة كافية للغاية. هذا يجعلها خيارًا مريحًا لتجربة أتمتة PowerPoint دون الحاجة إلى ترخيص مسبق. + +حسنًا، دعونا نستعرض بناء عرض تجريبي باستخدام محتوى واقعي. + +### **إنشاء شريحة عنوان** + +سنبدأ بإنشاء عرض جديد وإضافة شريحة عنوان تحتوي على عنوان رئيسي وعنوان فرعي. +```py +import aspose.slides as slides +import aspose.slides.charts as charts +import aspose.pydrawing as draw + +with slides.Presentation() as presentation: + + slide_0 = presentation.slides[0] + slide_0.layout_slide = presentation.layout_slides.get_by_type(slides.SlideLayoutType.TITLE) + + title_shape = slide_0.shapes[0] + subtitle_shape = slide_0.shapes[1] + + title_shape.text_frame.text = "Quarterly Business Review – Q1 2025" + subtitle_shape.text_frame.text = "Prepared for Executive Team" +``` + + +![شريحة العنوان](slide_0.png) + +### **إضافة شريحة مع مخطط عمودي** + +بعد ذلك، سننشئ شريحة تُظهر أداء المبيعات الإقليمي كمخطط عمودي. +```py +layout_slide_1 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_1 = presentation.slides.add_empty_slide(layout_slide_1) + +chart = slide_1.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350, False) +chart.legend.position = charts.LegendPositionType.BOTTOM +chart.has_title = True +chart.chart_title.add_text_frame_for_overriding("Data from January – March 2025") +chart.chart_title.overlay = False + +workbook = chart.chart_data.chart_data_workbook +worksheet_index = 0 + +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 1, 0, "North America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 2, 0, "Europe")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 3, 0, "Asia Pacific")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 4, 0, "Latin America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 5, 0, "Middle East")) + +series = chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 1, "Sales ($K)"), chart.type) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 1, 480)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 1, 365)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 1, 290)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 4, 1, 150)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 5, 1, 120)) +``` + + +![الشريحة مع المخطط](slide_1.png) + +### **إضافة شريحة مع جدول** + +سنضيف الآن شريحة تعرض مؤشرات الأداء الرئيسية بصيغة جدول. +```py +layout_slide_2 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_2 = presentation.slides.add_empty_slide(layout_slide_2) + +column_widths = [200, 100] +row_heights = [40, 40, 40, 40, 40] + +table = slide_2.shapes.add_table(200, 200, column_widths, row_heights) +table.columns[0][0].text_frame.text = "Metric" +table.columns[1][0].text_frame.text = "Value" +table.columns[0][1].text_frame.text = "Total Revenue" +table.columns[1][1].text_frame.text = "$1.4M" +table.columns[0][2].text_frame.text = "Gross Margin" +table.columns[1][2].text_frame.text = "54%" +table.columns[0][3].text_frame.text = "New Customers" +table.columns[1][3].text_frame.text = "340" +table.columns[0][4].text_frame.text = "Customer Retention" +table.columns[1][4].text_frame.text = "87%" +``` + + +![الشريحة مع الجدول](slide_2.png) + +### **إضافة شريحة ملخص بنقاط تعداد** + +أخيرًا، سنضمّن ملخصًا وخطة عمل باستخدام قائمة تعداد بسيطة. +```py +def create_bullet_paragraph(text): + paragraph = slides.Paragraph() + paragraph.paragraph_format.bullet.type = slides.BulletType.SYMBOL + paragraph.paragraph_format.indent = 15 + paragraph.paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID + paragraph.paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.black + paragraph.text = text + return paragraph +``` + +```py +layout_slide_3 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_3 = presentation.slides.add_empty_slide(layout_slide_3) + +bullet_list = slide_3.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 50, 600, 200) +bullet_list.fill_format.fill_type = slides.FillType.NO_FILL +bullet_list.line_format.fill_format.fill_type = slides.FillType.NO_FILL + +bullet_list.text_frame.paragraphs.clear() +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Strong performance in North America; growth opportunity in Asia Pacific")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Improve marketing outreach in underperforming regions")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Prepare new campaign strategy for Q2")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Schedule follow-up review in early July")) +``` + + +![الشريحة مع النص](slide_3.png) + +### **حفظ العرض** + +أخيرًا، نقوم بحفظ العرض على القرص: +```py +presentation.save("presentation.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **الخاتمة** + +توفر أتمتة توليد PowerPoint في تطبيقات Python فوائد واضحة في توفير الوقت وتقليل الجهد اليدوي. من خلال دمج محتوى ديناميكي مثل المخططات، الجداول، والنصوص، يمكن للمطورين إنتاج عروض متسقة واحترافية بسرعة — مثالية لتقارير الأعمال، اجتماعات العملاء، أو المحتوى التعليمي. + +في هذا المقال، عرضنا كيفية أتمتة إنشاء عرض من الصفر، بما في ذلك إضافة شريحة عنوان، مخططات، وجداول. يمكن تطبيق هذا النهج عبر حالات الاستخدام المختلفة التي تتطلب عروضًا مدفوعة بالبيانات وتُنشأ آليًا. + +باستخدام الأدوات المناسبة، يمكن لمطوري Python أتمتة إنشاء PowerPoint بفاعلية، مما يعزز الإنتاجية ويضمن الاتساق عبر جميع العروض. \ No newline at end of file diff --git a/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ar/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..d112cdac8c --- /dev/null +++ b/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Automatisierung der PowerPoint-Generierung unter Android: Dynamische Präsentationen einfach erstellen" +linktitle: Automatisierung der PowerPoint-Generierung +type: docs +weight: 20 +url: /de/androidjava/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- Cloud-Plattformen +- PowerPoint-Generierung automatisieren +- Präsentationen programmgesteuert erzeugen +- PowerPoint-Automatisierung +- Dynamische Folienerstellung +- Automatisierte Geschäftsberichte +- PPT-Automatisierung +- Android-Präsentation +- Java +- Aspose.Slides +description: "Automatisieren Sie die Folienerstellung auf Cloud-Plattformen mit Aspose.Slides für Android—generieren, bearbeiten und konvertieren Sie PowerPoint- und OpenDocument-Dateien schnell und zuverlässig." +--- + +## **Einleitung** + +PowerPoint‑Präsentationen manuell zu erstellen kann zeitaufwendig und repetitiv sein — insbesondere, wenn der Inhalt auf dynamischen Daten basiert, die sich häufig ändern. Ob wöchentliche Geschäftsberichte, Lehrmaterialien oder verkaufsfertige Präsentationen für Kunden – Automatisierung spart unzählige Stunden und sorgt für Konsistenz im Team. + +Für Android‑Entwickler eröffnet die Automatisierung der PowerPoint‑Erstellung leistungsstarke Möglichkeiten. Sie können die Foliengenerierung in Web‑Portale, Desktop‑Tools, Backend‑Dienste oder Cloud‑Plattformen integrieren, um Daten dynamisch in professionelle, gebrandete Präsentationen — on‑demand — zu verwandeln. + +In diesem Artikel untersuchen wir die gängigen Anwendungsfälle für automatisierte PowerPoint‑Generierung in Android‑Apps (einschließlich Deployments auf Cloud‑Plattformen) und warum dies zu einer essenziellen Funktion moderner Lösungen wird. Vom Abrufen von Echtzeit‑Geschäftsdaten bis zum Umwandeln von Text oder Bildern in Folien – das Ziel ist, Rohinhalte in strukturierte, visuelle Formate zu transformieren, die das Publikum sofort versteht. + +## **Gängige Anwendungsfälle für PowerPoint‑Automatisierung auf Android** + +Die Automatisierung der PowerPoint‑Erstellung ist besonders nützlich in Szenarien, in denen Präsentationsinhalte dynamisch zusammengesetzt, personalisiert oder häufig aktualisiert werden müssen. Zu den häufigsten realen Anwendungsfällen gehören: + +- **Geschäftsberichte & Dashboards** + Generieren Sie Verkaufs‑Zusammenfassungen, KPIs oder Finanz‑Performance‑Berichte, indem Sie Live‑Daten aus Datenbanken oder APIs abrufen. + +- **Personalisierte Verkaufs‑ & Marketing‑Decks** + Erstellen Sie automatisch kundenspezifische Pitch‑Decks mithilfe von CRM‑ oder Formulardaten und gewährleisten Sie schnelle Lieferzeiten sowie Marken‑Konsistenz. + +- **Bildungsinhalte** + Wandeln Sie Lernmaterial, Fragenkataloge oder Kurszusammenfassungen in strukturierte Folien für E‑Learning‑Plattformen um. + +- **Daten‑ & KI‑gestützte Insights** + Nutzen Sie Natural‑Language‑Processing‑ oder Analyse‑Engines, um Rohdaten bzw. lange Texte in zusammengefasste Präsentationen zu verwandeln. + +- ** Medienbasierte Folien** + Stellen Sie Präsentationen aus hochgeladenen Bildern, annotierten Screenshots oder Video‑Keyframes mit begleitenden Beschreibungen zusammen. + +- **Dokumentkonvertierung** + Konvertieren Sie automatisch Word‑Dokumente, PDFs oder Formulareingaben in visuelle Präsentationen mit minimalem manuellem Aufwand. + +- **Entwickler‑ und Technische Tools** + Erzeugen Sie Tech‑Demos, Dokumentations‑Übersichten oder Change‑Logs im Folienformat direkt aus Code oder Markdown‑Inhalten. + +Durch die Automatisierung dieser Workflows können Unternehmen die Inhaltserstellung skalieren, Konsistenz wahren und Zeit für strategischere Aufgaben freisetzen. + +## **Lass uns coden** + +Für dieses Beispiel haben wir **[Aspose.Slides for Android](https://products.aspose.com/slides/android-java/)** gewählt, um die PowerPoint‑Automatisierung zu demonstrieren, da es über ein umfassendes Funktionsset und eine einfache Handhabung bei der programmgesteuerten Arbeit mit Präsentationen verfügt. + +Im Gegensatz zu Low‑Level‑Bibliotheken, die Entwickler zwingen, direkt mit der Open‑XML‑Struktur zu arbeiten (was oft zu sperrem und weniger lesbarem Code führt), bietet Aspose.Slides eine höherwertige API. Sie abstrahiert die Komplexität, sodass sich Entwickler auf die Präsentationslogik — wie Layout, Formatierung und Datenbindung — konzentrieren können, ohne das PowerPoint‑Dateiformat im Detail kennen zu müssen. + +Obwohl Aspose.Slides eine kommerzielle Bibliothek ist, stellt sie eine [Kostenlose Testversion](https://releases.aspose.com/slides/androidjava/) bereit, die vollständig in der Lage ist, die in diesem Artikel gezeigten Beispiele auszuführen. Für die Demonstration von Ideen, das Testen von Funktionen oder das Erstellen eines Proof‑of‑Concept, wie wir es hier tun, ist die Testversion mehr als ausreichend. Das macht sie zu einer praktischen Option, um automatisierte PowerPoint‑Erstellung zu experimentieren, ohne sofort eine Lizenz erwerben zu müssen. + +Ok, lassen Sie uns Schritt für Schritt eine Beispiel‑Präsentation mit realen Inhalten erstellen. + +### **Erstelle eine Titelfolie** + +Wir beginnen mit dem Erstellen einer neuen Präsentation und dem Hinzufügen einer Titelfolie mit Hauptüberschrift und Untertitel. +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![Die Titelfolie](slide_0.png) + +### **Füge eine Folie mit einem Säulendiagramm hinzu** + +Als Nächstes erstellen wir eine Folie, die die regionale Verkaufsleistung als Säulendiagramm zeigt. +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![Die Folie mit dem Diagramm](slide_1.png) + +### **Füge eine Folie mit einer Tabelle hinzu** + +Jetzt fügen wir eine Folie hinzu, die wichtige Leistungskennzahlen im Tabellenformat präsentiert. +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![Die Folie mit der Tabelle](slide_2.png) + +### **Füge eine Zusammenfassungsfolie mit Aufzählungspunkten hinzu** + +Abschließend ergänzen wir eine Zusammenfassung und einen Aktionsplan mittels einer einfachen Aufzählungsliste. +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![Die Folie mit dem Text](slide_3.png) + +### **Speichere die Präsentation** + +Zum Schluss speichern wir die Präsentation auf dem Datenträger: +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Fazit** + +Die Automatisierung der PowerPoint‑Erstellung in Android‑Anwendungen bietet klare Vorteile: Sie spart Zeit und reduziert manuellen Aufwand. Durch die Integration dynamischer Inhalte wie Diagramme, Tabellen und Texte können Entwickler schnell konsistente, professionelle Präsentationen erzeugen — ideal für Geschäftsberichte, Kundentreffen oder Bildungsinhalte. + +In diesem Artikel haben wir gezeigt, wie man von Grund auf eine Präsentation automatisiert erstellt, einschließlich einer Titelfolie, Diagrammen und Tabellen. Dieser Ansatz lässt sich auf zahlreiche Anwendungsfälle übertragen, bei denen automatisierte, datengetriebene Präsentationen benötigt werden. + +Durch den Einsatz der richtigen Werkzeuge können Android‑Entwickler die PowerPoint‑Erstellung effizient automatisieren, die Produktivität steigern und Konsistenz über alle Präsentationen hinweg sicherstellen. \ No newline at end of file diff --git a/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/de/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..30d12ecf89 --- /dev/null +++ b/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Automatisierung der PowerPoint-Generierung in C++: Dynamische Präsentationen einfach erstellen" +linktitle: "Automatisierung der PowerPoint-Generierung" +type: docs +weight: 20 +url: /de/cpp/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- Cloud-Plattformen +- PowerPoint-Generierung automatisieren +- Präsentationen programmgesteuert erzeugen +- PowerPoint-Automatisierung +- Dynamische Folienerstellung +- Automatisierte Geschäftsberichte +- PPT-Automatisierung +- C++-Präsentation +- C++ +- Aspose.Slides +description: "Automatisieren Sie die Folienerstellung auf Cloud-Plattformen mit Aspose.Slides für C++ – schnell und zuverlässig PowerPoint- und OpenDocument-Dateien erzeugen, bearbeiten und konvertieren." +--- + +## **Einleitung** + +PowerPoint-Präsentationen manuell zu erstellen kann zeitaufwendig und repetitiv sein – besonders wenn der Inhalt auf dynamischen Daten basiert, die sich häufig ändern. Ob es darum geht, wöchentliche Geschäftsberichte zu erstellen, Lernmaterial zusammenzustellen oder verkaufsfertige Kundenpräsentationen zu produzieren, Automatisierung kann unzählige Stunden einsparen und Konsistenz über Teams hinweg gewährleisten. + +Für C++‑Entwickler eröffnet die Automatisierung der Erstellung von PowerPoint‑Präsentationen leistungsstarke Möglichkeiten. Sie können die Foliengenerierung in Webportale, Desktop‑Tools, Backend‑Dienste oder Cloud‑Plattformen integrieren, um Daten dynamisch in professionelle, markenbezogene Präsentationen – nach Bedarf – zu konvertieren. + +In diesem Artikel untersuchen wir die gängigen Anwendungsfälle für die automatisierte PowerPoint‑Erstellung in C++‑Apps (einschließlich Deployments auf Cloud‑Plattformen) und warum sie zu einem unverzichtbaren Feature moderner Lösungen wird. Vom Abrufen von Echtzeit‑Geschäftsdaten bis hin zur Umwandlung von Text oder Bildern in Folien, das Ziel ist, Rohinhalt in strukturierte, visuelle Formate zu verwandeln, die Ihr Publikum sofort versteht. + +## **Gängige Anwendungsfälle für PowerPoint‑Automatisierung in C++** + +Die Automatisierung der PowerPoint‑Erstellung ist besonders nützlich in Szenarien, in denen Präsentationsinhalte dynamisch zusammengestellt, personalisiert oder häufig aktualisiert werden müssen. Einige der häufigsten realen Anwendungsfälle sind: + +- **Geschäftsberichte & Dashboards** + Erzeugen Sie Verkaufszusammenfassungen, KPIs oder Finanzleistungsberichte, indem Sie Live‑Daten aus Datenbanken oder APIs abrufen. + +- **Personalisierte Verkaufs‑ & Marketing‑Decks** + Erstellen Sie automatisch kundenspezifische Pitch‑Decks mithilfe von CRM‑ oder Formulardaten, um schnelle Lieferzeiten und Markenkonsistenz zu gewährleisten. + +- **Bildungsinhalt** + Konvertieren Sie Lernmaterial, Quizze oder Kurszusammenfassungen in strukturierte Folien‑Decks für E‑Learning‑Plattformen. + +- **Daten‑ & KI‑gestützte Erkenntnisse** + Nutzen Sie Natural‑Language‑Processing‑ oder Analyse‑Engines, um Rohdaten oder lange Texte in zusammengefasste Präsentationen zu verwandeln. + +- **Medienbasierte Folien** + Stellen Sie Präsentationen aus hochgeladenen Bildern, kommentierten Screenshots oder Video‑Keyframes mit unterstützenden Beschreibungen zusammen. + +- **Dokumentkonvertierung** + Konvertieren Sie automatisch Word‑Dokumente, PDFs oder Formulareingaben in visuelle Präsentationen bei minimalem manuellem Aufwand. + +- **Entwickler‑ und Technik‑Tools** + Erstellen Sie technische Demos, Dokumentations‑Übersichten oder Änderungsprotokolle im Folienformat direkt aus Code‑ oder Markdown‑Inhalten. + +Durch die Automatisierung dieser Workflows können Organisationen die Inhaltserstellung skalieren, Konsistenz wahren und Zeit für strategischere Aufgaben freisetzen. + +## **Lass uns codieren** + +Für dieses Beispiel haben wir **[Aspose.Slides for C++](https://products.aspose.com/slides/cpp/)** ausgewählt, um PowerPoint‑Automatisierung zu demonstrieren, da es über einen umfassenden Funktionsumfang und eine einfache Handhabung bei der programmgesteuerten Arbeit mit Präsentationen verfügt. + +Im Gegensatz zu Low‑Level‑Bibliotheken, die Entwickler dazu zwingen, direkt mit der Open‑XML‑Struktur zu arbeiten (was häufig zu ausschweifendem und weniger lesbarem Code führt), bietet Aspose.Slides eine höherwertige API. Sie abstrahiert die Komplexität, sodass sich Entwickler auf die Präsentationslogik – wie Layout, Formatierung und Datenbindung – konzentrieren können, ohne das PowerPoint‑Dateiformat im Detail verstehen zu müssen. + +Obwohl Aspose.Slides eine kommerzielle Bibliothek ist, bietet sie eine [Kostenlose Testversion](https://releases.aspose.com/slides/cpp/) an, die vollständig in der Lage ist, die in diesem Artikel bereitgestellten Beispiele auszuführen. Für Demonstrationszwecke, das Testen von Funktionen oder das Erstellen eines Proof‑of‑Concepts, wie wir es hier behandeln, ist die Testversion mehr als ausreichend. Das macht sie zu einer praktischen Option, um mit automatisierter PowerPoint‑Erstellung zu experimentieren, ohne zunächst eine Lizenz erwerben zu müssen. + +Ok, lassen Sie uns Schritt für Schritt eine Beispielpräsentation mit realen Inhalten erstellen. + +### **Erstelle eine Titelfolie** + +Wir beginnen damit, eine neue Präsentation zu erstellen und eine Titelfolie mit einer Hauptüberschrift und einem Untertitel hinzuzufügen. +```cpp +auto presentation = MakeObject(); + +auto slide0 = presentation->get_Slide(0); + +auto layoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Title); +slide0->set_LayoutSlide(layoutSlide); + +auto titleShape = ExplicitCast(slide0->get_Shape(0)); +auto subtitleShape = ExplicitCast(slide0->get_Shape(1)); + +titleShape->get_TextFrame()->set_Text(u"Quarterly Business Review – Q1 2025"); +subtitleShape->get_TextFrame()->set_Text(u"Prepared for Executive Team"); +``` + + +![Die Titelfolie](slide_0.png) + +### **Füge eine Folie mit einem Säulendiagramm hinzu** + +Als Nächstes erstellen wir eine Folie, die die regionale Verkaufsleistung als Säulendiagramm zeigt. +```cpp +auto layoutSlide1 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide1 = presentation->get_Slides()->AddEmptySlide(layoutSlide1); + +auto chart = slide1->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +chart->get_Legend()->set_Position(LegendPositionType::Bottom); +chart->set_HasTitle(true); +chart->get_ChartTitle()->AddTextFrameForOverriding(u"Data from January – March 2025"); +chart->get_ChartTitle()->set_Overlay(false); + +auto workbook = chart->get_ChartData()->get_ChartDataWorkbook(); +auto worksheetIndex = 0; + +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 1, 0, ObjectExt::Box(u"North America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 2, 0, ObjectExt::Box(u"Europe"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 3, 0, ObjectExt::Box(u"Asia Pacific"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 4, 0, ObjectExt::Box(u"Latin America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 5, 0, ObjectExt::Box(u"Middle East"))); + +auto series = chart->get_ChartData()->get_Series()->Add(workbook->GetCell(worksheetIndex, 0, 1, ObjectExt::Box(u"Sales ($K)")), chart->get_Type()); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 1, 1, ObjectExt::Box(480))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 2, 1, ObjectExt::Box(365))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 3, 1, ObjectExt::Box(290))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 4, 1, ObjectExt::Box(150))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 5, 1, ObjectExt::Box(120))); +``` + + +![Die Folie mit dem Diagramm](slide_1.png) + +### **Füge eine Folie mit einer Tabelle hinzu** + +Jetzt fügen wir eine Folie hinzu, die wichtige Leistungskennzahlen im Tabellenformat präsentiert. +```cpp +auto layoutSlide2 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide2 = presentation->get_Slides()->AddEmptySlide(layoutSlide2); + +auto columnWidths = MakeArray({ 200, 100 }); +auto rowHeights = MakeArray({ 40, 40, 40, 40, 40 }); + +auto table = slide2->get_Shapes()->AddTable(200, 200, columnWidths, rowHeights); +table->get_Column(0)->idx_get(0)->get_TextFrame()->set_Text(u"Metric"); +table->get_Column(1)->idx_get(0)->get_TextFrame()->set_Text(u"Value"); +table->get_Column(0)->idx_get(1)->get_TextFrame()->set_Text(u"Total Revenue"); +table->get_Column(1)->idx_get(1)->get_TextFrame()->set_Text(u"$1.4M"); +table->get_Column(0)->idx_get(2)->get_TextFrame()->set_Text(u"Gross Margin"); +table->get_Column(1)->idx_get(2)->get_TextFrame()->set_Text(u"54%"); +table->get_Column(0)->idx_get(3)->get_TextFrame()->set_Text(u"New Customers"); +table->get_Column(1)->idx_get(3)->get_TextFrame()->set_Text(u"340"); +table->get_Column(0)->idx_get(4)->get_TextFrame()->set_Text(u"Customer Retention"); +table->get_Column(1)->idx_get(4)->get_TextFrame()->set_Text(u"87%"); +``` + + +![Die Folie mit der Tabelle](slide_2.png) + +### **Füge eine Zusammenfassungsfolie mit Aufzählungspunkten hinzu** + +Abschließend fügen wir eine Zusammenfassung und einen Aktionsplan mithilfe einer einfachen Aufzählungsliste hinzu. +```cpp +static SharedPtr CreateBulletParagraph(String text) { + auto paragraph = MakeObject(); + paragraph->get_ParagraphFormat()->get_Bullet()->set_Type(BulletType::Symbol); + paragraph->get_ParagraphFormat()->set_Indent(15); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->set_FillType(FillType::Solid); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Black()); + paragraph->set_Text(text); + return paragraph; +} +``` + +```cpp +auto layoutSlide3 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide3 = presentation->get_Slides()->AddEmptySlide(layoutSlide3); + +auto bulletList = slide3->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +bulletList->get_FillFormat()->set_FillType(FillType::NoFill); +bulletList->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill); + +bulletList->get_TextFrame()->get_Paragraphs()->Clear(); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Improve marketing outreach in underperforming regions")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Prepare new campaign strategy for Q2")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Schedule follow-up review in early July")); +``` + + +![Die Folie mit dem Text](slide_3.png) + +### **Speichere die Präsentation** + +Abschließend speichern wir die Präsentation auf dem Datenträger: +```java +presentation->Save(u"presentation.pptx", SaveFormat::Pptx); +``` + + +## **Fazit** + +Die Automatisierung der PowerPoint‑Erstellung in C++‑Anwendungen bietet klare Vorteile bei der Zeitersparnis und der Reduzierung manueller Arbeit. Durch die Integration dynamischer Inhalte wie Diagramme, Tabellen und Text können Entwickler schnell konsistente, professionelle Präsentationen erzeugen – ideal für Geschäftsberichte, Kundentreffen oder Bildungsinhalte. + +In diesem Artikel haben wir demonstriert, wie man die Erstellung einer Präsentation von Grund auf automatisiert, einschließlich dem Hinzufügen einer Titelfolie, Diagrammen und Tabellen. Dieser Ansatz lässt sich auf verschiedene Anwendungsfälle übertragen, in denen automatisierte, datengetriebene Präsentationen benötigt werden. + +Durch den Einsatz der richtigen Werkzeuge können C++‑Entwickler die PowerPoint‑Erstellung effizient automatisieren, die Produktivität steigern und Konsistenz über alle Präsentationen hinweg sicherstellen. \ No newline at end of file diff --git a/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/de/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..c61c90a223 --- /dev/null +++ b/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Automatisierung der PowerPoint-Erstellung in Java: Dynamische Präsentationen einfach erstellen" +linktitle: Automatisierung der PowerPoint-Erstellung +type: docs +weight: 20 +url: /de/java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- Cloud-Plattformen +- PowerPoint-Erstellung automatisieren +- Präsentationen programmgesteuert erzeugen +- PowerPoint-Automatisierung +- Dynamische Folienerstellung +- Automatisierte Geschäftsberichte +- PPT-Automatisierung +- Java-Präsentation +- Java +- Aspose.Slides +description: "Automatisieren Sie die Folienerstellung auf Cloud-Plattformen mit Aspose.Slides for Java—generieren, bearbeiten und konvertieren Sie PowerPoint- und OpenDocument-Dateien schnell und zuverlässig." +--- + +## **Einleitung** + +Das manuelle Erstellen von PowerPoint‑Präsentationen kann zeitaufwändig und wiederholend sein — insbesondere dann, wenn der Inhalt auf dynamischen Daten basiert, die sich häufig ändern. Ob wöchentliche Geschäftsberichte, Bildungs­materialien oder kundenfertige Verkauf‑Decks – Automatisierung spart unzählige Stunden und sorgt für Konsistenz im gesamten Team. + +Für Java‑Entwickler eröffnet die Automatisierung der PowerPoint‑Erstellung leistungsstarke Möglichkeiten. Sie können die Foliengenerierung in Web‑Portale, Desktop‑Tools, Backend‑Dienste oder Cloud‑Plattformen integrieren, um Daten dynamisch in professionelle, gebrandete Präsentationen – on‑demand – zu verwandeln. + +In diesem Artikel untersuchen wir die gängigen Anwendungsfälle für automatisierte PowerPoint‑Generierung in Java‑Apps (einschließlich Deployments auf Cloud‑Plattformen) und warum sie zu einem unverzichtbaren Feature moderner Lösungen wird. Vom Abrufen aktueller Geschäftsdaten bis zum Umwandeln von Text‑ oder Bild‑Inhalten in Folien ist das Ziel, Rohdaten in strukturierte, visuelle Formate zu überführen, die das Publikum sofort versteht. + +## **Häufige Anwendungsfälle für PowerPoint‑Automatisierung in Java** + +Die Automatisierung der PowerPoint‑Erstellung ist besonders nützlich, wenn Präsentationsinhalte dynamisch zusammengestellt, personalisiert oder häufig aktualisiert werden müssen. Zu den häufigsten realen Anwendungsfällen gehören: + +- **Geschäftsberichte & Dashboards** + Generieren von Verkaufs‑Zusammenfassungen, KPIs oder Finanz‑Performance‑Berichten durch das Abrufen von Live‑Daten aus Datenbanken oder APIs. + +- **Personalisierte Verkaufs‑ & Marketing‑Decks** + Automatisches Erstellen kunden­spezifischer Pitch‑Decks mithilfe von CRM‑ oder Formulardaten, um schnelle Turn‑around‑Zeiten und Marken‑Konsistenz zu gewährleisten. + +- **Bildungs‑Inhalte** + Umwandeln von Lernmaterialien, Quiz‑Fragen oder Kurs‑Zusammenfassungen in strukturierte Folien‑Decks für E‑Learning‑Plattformen. + +- **Daten‑ & KI‑gestützte Insights** + Einsatz von Natural‑Language‑Processing‑ oder Analyse‑Engines, um Rohdaten bzw. lange Texte in zusammengefasste Präsentationen zu transformieren. + +- **Medienbasierte Folien** + Zusammenstellen von Präsentationen aus hochgeladenen Bildern, annotierten Screenshots oder Video‑Keyframes mit begleitenden Beschreibungen. + +- **Dokumenten‑Konvertierung** + Automatisches Konvertieren von Word‑Dokumenten, PDFs oder Formulareingaben in visuelle Präsentationen mit minimalem manuellem Aufwand. + +- **Entwickler‑ & technische Tools** + Erstellen von Tech‑Demos, Dokumentations‑Übersichten oder Change‑Logs im Folien‑Format direkt aus Code‑ oder Markdown‑Inhalten. + +Durch die Automatisierung dieser Workflows können Unternehmen die Inhaltserstellung skalieren, Konsistenz wahren und Zeit für strategischere Aufgaben freisetzen. + +## **Let's Code** + +Für dieses Beispiel haben wir **[Aspose.Slides for Java](https://products.aspose.com/slides/java/)** gewählt, um die PowerPoint‑Automatisierung zu demonstrieren, da es einen umfassenden Funktionsumfang und einfache Handhabung bei der programmatischen Arbeit mit Präsentationen bietet. + +Im Gegensatz zu Low‑Level‑Bibliotheken, die Entwickler zwingen, direkt mit der Open‑XML‑Struktur zu arbeiten (oft verbunden mit sehr verbose und schwer lesbarem Code), bietet Aspose.Slides eine höher‑abstrahierte API. Sie verbirgt die Komplexität und ermöglicht es Entwicklern, sich auf die Präsentationslogik — wie Layout, Formatierung und Datenbindung — zu konzentrieren, ohne das PowerPoint‑Dateiformat im Detail verstehen zu müssen. + +Obwohl Aspose.Slides eine kommerzielle Bibliothek ist, stellt sie eine [Kostenlose Testversion](https://releases.aspose.com/slides/java/) bereit, die vollumfänglich die in diesem Artikel gezeigten Beispiele ausführen kann. Für das Demonstrieren von Ideen, das Testen von Features oder das Erstellen eines Proof‑of‑Concepts wie hier, ist die Testversion mehr als ausreichend. Das macht sie zu einer bequemen Option, automatisierte PowerPoint‑Generierung auszuprobieren, ohne sofort eine Lizenz erwerben zu müssen. + +Ok, lassen Sie uns den Aufbau einer Beispiel‑Präsentation anhand von realen Inhalten durchgehen. + +### **Erstellen einer Titelfolie** + +Wir beginnen mit dem Erzeugen einer neuen Präsentation und dem Hinzufügen einer Titelfolie mit Hauptüberschrift und Untertitel. +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![The title slide](slide_0.png) + +### **Hinzufügen einer Folie mit einem Säulendiagramm** + +Als Nächstes erstellen wir eine Folie, die die regionale Verkaufs‑Performance als Säulendiagramm darstellt. +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![The slide with the chart](slide_1.png) + +### **Hinzufügen einer Folie mit einer Tabelle** + +Jetzt fügen wir eine Folie hinzu, die wichtige Leistungskennzahlen im Tabellenformat präsentiert. +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![The slide with the table](slide_2.png) + +### **Hinzufügen einer Zusammenfassungsfolie mit Aufzählungspunkten** + +Abschließend ergänzen wir eine Übersicht und einen Aktionsplan mittels einer einfachen Aufzählungsliste. +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![The slide with the text](slide_3.png) + +### **Speichern der Präsentation** + +Zum Schluss speichern wir die Präsentation auf dem Datenträger: +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Fazit** + +Die Automatisierung der PowerPoint‑Erstellung in Java‑Anwendungen bietet klare Vorteile: Zeitersparnis und Reduzierung manueller Arbeit. Durch die Integration dynamischer Inhalte wie Diagramme, Tabellen und Text können Entwickler schnell konsistente, professionelle Präsentationen erzeugen — ideal für Geschäftsberichte, Kundengespräche oder Bildungs‑Materialien. + +In diesem Artikel haben wir gezeigt, wie man von Grund auf eine Präsentation automatisiert erstellt, inklusive Titel‑Folie, Diagrammen und Tabellen. Dieser Ansatz lässt sich auf verschiedene Anwendungsfälle übertragen, in denen automatisierte, datengetriebene Präsentationen benötigt werden. + +Durch den gezielten Einsatz der richtigen Werkzeuge können Java‑Entwickler die PowerPoint‑Erstellung effizient automatisieren, die Produktivität steigern und Konsistenz über alle Präsentationen hinweg sicherstellen. \ No newline at end of file diff --git a/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/de/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/de/net/developer-guide/3d-presentation/_index.md b/de/net/developer-guide/3d-presentation/_index.md index 16bb931097..deb9a70f70 100644 --- a/de/net/developer-guide/3d-presentation/_index.md +++ b/de/net/developer-guide/3d-presentation/_index.md @@ -7,10 +7,10 @@ keywords: - 3D - 3D PowerPoint - 3D-Präsentation -- 3D-Rotation +- 3D-Drehung - 3D-Tiefe - 3D-Extrusion -- 3D-Gradient +- 3D-Verlauf - 3D-Text - PowerPoint-Präsentation - C# @@ -19,38 +19,28 @@ keywords: description: "3D PowerPoint-Präsentation in C# oder .NET" --- +## **Übersicht** +Wie erstellen Sie normalerweise eine 3D‑PowerPoint‑Präsentation? +Microsoft PowerPoint ermöglicht das Erstellen von 3D‑Präsentationen, indem wir dort 3D‑Modelle hinzufügen, 3D‑Effekte auf Formen anwenden, 3D‑Text erstellen, 3D‑Grafiken in die Präsentation hochladen und PowerPoint‑3D‑Animationen erzeugen. -## Übersicht -Wie erstellen Sie normalerweise eine 3D PowerPoint-Präsentation? -Microsoft PowerPoint ermöglicht es, 3D-Präsentationen zu erstellen, indem wir dort 3D-Modelle hinzufügen, 3D-Effekte auf Formen anwenden, -3D-Text erstellen, 3D-Grafiken in die Präsentation hochladen und PowerPoint 3D-Animationen erstellen. +Das Erzeugen von 3D‑Effekten hat einen großen Einfluss darauf, Ihre Präsentation zu einer 3D‑Präsentation zu verbessern, und kann die einfachste Implementierung einer 3D‑Präsentation sein. +Seit der Version 20.9 von Aspose.Slides wurde eine neue **plattformübergreifende 3D‑Engine** hinzugefügt. Die neue 3D‑Engine ermöglicht das Exportieren und Rasterisieren von Formen und Text mit 3D‑Effekten. In früheren Versionen wurden Formen mit angewendeten 3D‑Effekten flach gerendert. Jetzt ist es jedoch möglich, Formen mit einem **vollen 3D‑Render** darzustellen. +Außerdem können Formen mit 3D‑Effekten nun über die öffentliche Slides‑API erstellt werden. -Die Erstellung von 3D-Effekten hat einen großen Einfluss auf die Verbesserung Ihrer Präsentation zu einer 3D-Präsentation und kann die einfachste Umsetzung einer 3D-Präsentation sein. -Seit der Version 20.9 von Aspose.Slides wurde ein neuer **plattformerweiterter 3D-Engine** hinzugefügt. Der neue 3D-Engine ermöglicht es, -Formen und Text mit 3D-Effekten zu exportieren und zu rasterisieren. In früheren Versionen -wurden Formen mit 3D-Effekten flach dargestellt. Aber jetzt ist es möglich, -Formen mit einer **vollwertigen 3D** darzustellen. -Darüber hinaus ist es jetzt möglich, Formen mit 3D-Effekten über die öffentliche API von Slides zu erstellen. - -Im Aspose.Slides API, um -eine Form zu einer PowerPoint 3D-Form zu machen, verwenden Sie die [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat) Eigenschaft, -die die Eigenschaften des [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat) Interfaces erbt: +In der Aspose.Slides‑API verwenden Sie die Eigenschaft [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat), die die Merkmale des Interfaces [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat) erbt, um +eine Form zu einer PowerPoint‑3D‑Form zu machen: - [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) -und [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop): Bevel für die Form einstellen, Bevel-Typ definieren (z.B. Winkel, Kreis, weich rund), Höhe und Breite des Bevels definieren. -- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): wird verwendet, um Kamerabewegungen um das Objekt zu imitieren. Mit anderen Worten, durch die Einstellung der Kamerarotation, Zoom und anderen Eigenschaften - können Sie mit Ihren -Formen wie mit dem 3D-Modell in PowerPoint interagieren. +und [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop): Begrenzung (Bevel) für die Form festlegen, Typ (z. B. Angle, Circle, SoftRound) definieren, Höhe und Breite der Begrenzung bestimmen. +- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): Wird verwendet, um Kamerabewegungen um das Objekt zu simulieren. Durch das Einstellen von Drehung, Zoom und anderen Eigenschaften können Sie Ihre Formen wie ein 3D‑Modell in PowerPoint manipulieren. - [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) -und [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth): Kontureigenschaften festlegen, um die Form wie eine 3D-PowerPoint-Form aussehen zu lassen. +und [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth): Kontur‑Eigenschaften festlegen, damit die Form wie eine 3D‑PowerPoint‑Form aussieht. - [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth), [ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) -und [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight): werden verwendet, um die Form dreidimensional zu machen, was bedeutet, eine 2D-Form in eine 3D-Form zu konvertieren, -indem man ihre Tiefe einstellt oder sie extrudiert. -- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig): kann einen Lichteffekt auf einer 3D-Form erzeugen. Die Logik dieser Eigenschaft ist ähnlich wie bei der Kamera, Sie können die Rotation des Lichts -im Verhältnis zur 3D-Form einstellen und den Lichttyp wählen. -- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material): Durch das Festlegen des Typs des 3D-Formmaterials kann ein lebendigerer Effekt erzielt werden. Die Eigenschaft bietet eine Reihe vordefinierter Materialien, wie: -Metall, Kunststoff, Pulver, Matt, usw. - -Alle 3D-Funktionen können sowohl auf Formen als auch auf Text angewendet werden. Lassen Sie uns sehen, wie man auf die oben genannten Eigenschaften zugreift und sie dann Schritt für Schritt im Detail betrachtet: +und [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight): Werden verwendet, um die Form dreidimensional zu machen, d. h. eine 2D‑Form in eine 3D‑Form zu konvertieren, indem Sie die Tiefe setzen oder sie extrudieren. +- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig): Kann einen Lichteffekt auf einer 3D‑Form erzeugen. Die Logik dieser Eigenschaft ähnelt der von Camera; Sie können die Drehung des Lichts relativ zur 3D‑Form festlegen und den Lichttyp wählen. +- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material): Das Festlegen des Materials einer 3D‑Form verleiht ihr ein lebendigeres Aussehen. Die Eigenschaft bietet vordefinierte Materialien wie Metal, Plastic, Powder, Matte usw. + +Alle 3D‑Funktionen können sowohl auf Formen als auch auf Text angewendet werden. Lassen Sie uns sehen, wie Sie die oben genannten Eigenschaften verwenden und sie anschließend Schritt für Schritt im Detail betrachten: ``` csharp const float imageScale = 2; @@ -79,21 +69,21 @@ using (Presentation presentation = new Presentation()) } ``` -Das gerenderte Thumbnail sieht so aus: + +Das gerenderte Vorschaubild sieht so aus: ![todo:image_alt_text](img_01_01.png) -## 3D-Rotation -Es ist möglich, PowerPoint 3D-Formen im 3D-Raum zu drehen, was mehr Interaktivität bringt. Um eine 3D-Form in PowerPoint zu drehen, verwenden Sie normalerweise das folgende Menü: +## **3D‑Drehung** +Es ist möglich, PowerPoint‑3D‑Formen in einer 3D‑Ebene zu drehen, was mehr Interaktivität bringt. Um eine 3D‑Form in PowerPoint zu drehen, verwenden Sie normalerweise das folgende Menü: ![todo:image_alt_text](img_02_01.png) -In der Aspose.Slides API kann die 3D-Formrotation über die [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera) Eigenschaft verwaltet werden: - +In der Aspose.Slides‑API kann die 3D‑Form‑Drehung über die Eigenschaft [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera) verwaltet werden: ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); -// ... andere 3D-Szenenparameter festlegen +// ... weitere 3D-Szenenparameter festlegen using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -101,16 +91,16 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -## 3D-Tiefe und Extrusion -Um der Form die dritte Dimension zu verleihen und sie zu einer 3D-Form zu machen, verwenden Sie die [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) -und [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) Eigenschaften: +## **3D‑Tiefe und Extrusion** +Um Ihrer Form die dritte Dimension hinzuzufügen und sie zu einer 3D‑Form zu machen, verwenden Sie die Eigenschaften [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) +und [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor): ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); shape.ThreeDFormat.ExtrusionHeight = 100; shape.ThreeDFormat.ExtrusionColor.Color = Color.Purple; -// ... andere 3D-Szenenparameter festlegen +// ... weitere 3D‑Szenenparameter festlegen using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -118,14 +108,14 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -In der Regel verwenden Sie das Tiefenmenü in PowerPoint, um die Tiefe für die PowerPoint 3D-Form festzulegen: -![todo:image_alt_text](img_02_02.png) +Normalerweise verwenden Sie das Menü „Depth“ in PowerPoint, um die Tiefe einer PowerPoint‑3D‑Form festzulegen: +![todo:image_alt_text](img_02_02.png) -## 3D-Gradient -Ein Gradient kann verwendet werden, um die Farbe der PowerPoint 3D-Form zu füllen. Lassen Sie uns eine Form mit Farbverlauf und 3D-Effekt erstellen: +## **3D‑Verlauf** +Ein Verlauf kann verwendet werden, um die Farbe einer PowerPoint‑3D‑Form zu füllen. Erstellen wir eine Form mit Verlauf‑Füllfarbe und wenden einen 3D‑Effekt darauf an: ``` csharp const float imageScale = 2; @@ -155,11 +145,12 @@ using (Presentation presentation = new Presentation()) } ``` + Und hier ist das Ergebnis: ![todo:image_alt_text](img_02_03.png) -Neben einer Farbverlauffüllfarbe ist es auch möglich, Formen mit einem Bild zu füllen: +Neben einer Verlauf‑Füllfarbe ist es möglich, Formen mit einem Bild zu füllen: ``` csharp byte[] imageData = File.ReadAllBytes("image.jpg"); IPPImage image = presentation.Images.AddImage(imageData); @@ -175,13 +166,13 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -So sieht es aus: -![todo:image_alt_text](img_02_04.png) +So sieht das aus: -## 3D-Text (WordArt) -Aspose.Slides ermöglicht es auch, 3D auf Text anzuwenden. Um einen 3D-Text zu erstellen, können Sie den WordArt-Transformeffekt verwenden: +![todo:image_alt_text](img_02_04.png) +## **3D‑Text (WordArt)** +Aspose.Slides ermöglicht das Anwenden von 3D auf Text. Für die Erstellung von 3D‑Text können Sie den WordArt‑Transformations‑Effekt verwenden: ``` csharp const float imageScale = 2; @@ -203,7 +194,7 @@ using (Presentation presentation = new Presentation()) shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 128; ITextFrameFormat textFrameFormat = shape.TextFrame.TextFrameFormat; - // Setzen Sie den WordArt-Transformeffekt "Bogen nach oben" + // den "Arch Up" WordArt-Transformations-Effekt setzen textFrameFormat.Transform = TextShapeType.ArchUp; textFrameFormat.ThreeDFormat.ExtrusionHeight = 3.5f; @@ -224,16 +215,21 @@ using (Presentation presentation = new Presentation()) } ``` + Hier ist das Ergebnis: ![todo:image_alt_text](img_02_05.png) +## **FAQ** + +**Werden 3D‑Effekte beim Exportieren einer Präsentation in Bilder/PDF/HTML beibehalten?** + +Ja. Die Slides‑3D‑Engine rendert 3D‑Effekte beim Export in unterstützte Formate ([Bilder](/slides/de/net/convert-powerpoint-to-png/), [PDF](/slides/de/net/convert-powerpoint-to-pdf/), [HTML](/slides/de/net/convert-powerpoint-to-html/), usw.). + +**Kann ich die „effektiven“ (finalen) 3D‑Parameterwerte abrufen, die Themen, Vererbung usw. berücksichtigen?** + +Ja. Slides bietet APIs zum [Lesen effektiver Werte](/slides/de/net/shape-effective-properties/) (einschließlich für 3D – Beleuchtung, Abschrägungen usw.), sodass Sie die endgültigen angewendeten Einstellungen sehen können. -## Nicht Unterstützt - Kommt Bald -Die folgenden PowerPoint 3D-Funktionen werden noch nicht unterstützt: -- Bevel -- Material -- Kontur -- Beleuchtung +**Funktionieren 3D‑Effekte, wenn eine Präsentation in ein Video konvertiert wird?** -Wir setzen die Verbesserung unserer 3D-Engine fort, und diese Funktionen sind Gegenstand weiterer Implementierungen. \ No newline at end of file +Ja. Beim [Erzeugen von Frames für das Video](/slides/de/net/convert-powerpoint-to-video/) werden 3D‑Effekte genau so gerendert wie bei [exportierten Bildern](/slides/de/net/convert-powerpoint-to-png/). \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/_index.md index b0cc5497e0..0cf88ca7f5 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -5,39 +5,73 @@ weight: 70 url: /de/net/convert-presentation/ --- -## **PPT zu PPTX Konvertierung** -### **Über die PPT zu PPTX Konvertierung** -Aspose.Slides unterstützt jetzt die Konvertierung von PPT nach PPTX. -### **Konvertierung von PPT zu PPTX mit Aspose.Slides** -Aspose.Slides für .NET bietet teilweise Unterstützung für die Konvertierung von PPT-Dokumentdateiformat-Präsentationen in PPTX-Dateiformat-Präsentationen. Da die Unterstützung für das genannte Präsentationskonvertierungsmerkmal gerade in Aspose.Slides für .NET eingeführt wurde, hat sie momentan nur eingeschränkte Möglichkeiten und funktioniert nur für die einfache Form von Präsentationen. Der Hauptvorteil, den die Aspose.Slides für .NET API-Bibliothek bei der Konvertierung einer PPT-Präsentation 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/net/convert-presentation/) zum Abschnitt mit dem Code-Snippets für weitere Details fort. Der folgende Abschnitt veranschaulicht klar, welche Funktionen bei der Konvertierung von PPT-Format-Präsentationen in PPTX-Format-Präsentationen unterstützt und nicht unterstützt werden. +## **PPT zu PPTX-Konvertierung** +### **Über die PPT zu PPTX-Konvertierung** +Aspose.Slides unterstützt jetzt die Konvertierung von PPT zu PPTX. +### **PPT zu PPTX mit Aspose.Slides konvertieren** +Aspose.Slides for .NET bietet Teilunterstützung für die Konvertierung von Präsentationen im PPT‑Dateiformat in das PPTX‑Dateiformat. Da die Unterstützung dieser Präsentationskonvertierung gerade erst in Aspose.Slides for .NET eingeführt wurde, hat sie momentan nur eingeschränkte Fähigkeiten und funktioniert nur für einfache Präsentationen. Der Hauptvorteil, den die Aspose.Slides for .NET‑API‑Bibliothek beim Konvertieren von PPT‑Präsentationen in PPTX‑Präsentationen bietet, liegt in der einfachen Handhabung der API zur Erreichung des gewünschten Ziels. Bitte gehen Sie zu diesem [Link](/slides/de/net/convert-presentation/) zum Abschnitt Codebeispiele für weitere Details. Der folgende Abschnitt zeigt deutlich, welche Funktionen beim Konvertieren von PPT‑Präsentationen zu PPTX‑Präsentationen unterstützt bzw. nicht unterstützt werden. {{% alert color="primary" %}} -Weitere Informationen [**Wie man PPT in PPTX konvertiert**](/slides/de/net/convert-ppt-to-pptx/). +Weitere Informationen [**Wie man PPT zu PPTX konvertiert**](/slides/de/net/convert-ppt-to-pptx/). {{% /alert %}} -## **Präsentation in PDF Konvertierung** + +## **Präsentation zu PDF-Konvertierung** ### **Über PDF** -Das [Portable Document Format](https://de.wikipedia.org/wiki/PDF) ist ein Dateiformat, das von Adobe Systems zur Dokumentenaustausch zwischen verschiedenen Organisationen geschaffen wurde. Ziel dieses Formats war es, zu ermöglichen, dass der Inhalt der Dokumente so dargestellt werden kann, dass das visuelle Erscheinungsbild nicht von der Plattform abhängt, auf der es angesehen wird. +Das [Portable Document Format](https://en.wikipedia.org/wiki/PDF) ist ein Dateiformat, das von Adobe System für den Austausch von Dokumenten zwischen verschiedenen Organisationen erstellt wurde. Der Zweck dieses Formats besteht darin, zu ermöglichen, dass der Inhalt der Dokumente so dargestellt werden kann, dass ihr visuelles Erscheinungsbild nicht von der Plattform abhängt, auf der es betrachtet wird. ### **PDF in Aspose.Slides für .NET** -[PDF](https://docs.fileformat.com/pdf/) ist ein Dateiformat, das von Adobe Systems zur Dokumentenaustausch zwischen verschiedenen Organisationen geschaffen wurde. Ziel dieses Formats war es, zu ermöglichen, dass das visuelle Erscheinungsbild des Inhalts der Dokumente nicht von der Plattform abhängt, auf der es angesehen wird. +[PDF](https://docs.fileformat.com/pdf/) ist ein Dateiformat, das von Adobe System für den Austausch von Dokumenten zwischen verschiedenen Organisationen erstellt wurde. Der Zweck dieses Formats besteht darin, zu ermöglichen, dass das visuelle Erscheinungsbild der Dokumenteninhalte nicht von der Plattform abhängt, auf der es betrachtet wird. -Jedes Präsentationsdokument, das in Aspose.Slides für .NET geladen werden kann, kann in ein PDF-Dokument konvertiert werden. Sie können die Präsentationsdokumente direkt mit dem Aspose.Slides für .NET-Element in PDF exportieren. Sie benötigen dafür keine anderen Drittanbieter-Bibliotheken oder das Aspose.PDF-Element. +Jedes Präsentationsdokument, das in Aspose.Slides for .NET geladen werden kann, lässt sich in ein PDF‑Dokument konvertieren. Sie können die Präsentationsdokumente direkt mit der Aspose.Slides for .NET‑Komponente in PDF exportieren. Es sind keine weiteren Drittanbieter‑Bibliotheken oder die Aspose.PDF‑Komponente dafür erforderlich. {{% alert color="primary" %}} -Weitere Informationen [**Wie man eine Präsentation in PDF konvertiert**](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-pdf/). +Weitere Informationen [**Wie man eine Präsentation zu PDF konvertiert**](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-pdf/). {{% /alert %}} -## **Präsentation in XPS Konvertierung** +## **Präsentation zu XPS-Konvertierung** ### **Über XPS** -Die [XML Parser Specification](https://de.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 plattformunabhängiges Erscheinungsbild des Dokuments bereitzustellen. -### **Konvertierung von Präsentationen in XPS mit Aspose.Slides** -Jedes Präsentationsdokument, das von Aspose.Slides für .NET geladen werden kann, kann in das XPS-Format konvertiert werden. Aspose.Slides für .NET nutzt den hochpräzisen Seitenlayout- und Rendering-Engine, um Ausgaben im festen Layout XPS-Dokumentformat zu erzeugen. Es ist erwähnenswert, dass Aspose.Slides für .NET XPS direkt generiert, ohne von den Windows Presentation Foundation (WPF)-Klassen abhängig zu sein, die mit dem .NET Framework 3.5 verpackt sind, wodurch Aspose.Slides für .NET in der Lage ist, XPS-Dokumente auf Maschinen zu erzeugen, die Versionen des .NET Frameworks früher als 3.5 ausführen. Sie können in [diesem Thema](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) mehr über den Export der Präsentationsdokumente zu XPS-Dokumenten durch Aspose.Slides für .NET erfahren. +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. Ähnlich wie PDF ist XPS ein festes Layout‑Dokumentformat, das dazu dient, die Dokumenttreue zu erhalten und ein geräteunabhängiges Erscheinungsbild zu bieten. +### **Präsentation zu XPS mit Aspose.Slides konvertieren** +Jedes Präsentationsdokument, das von Aspose.Slides for .NET geladen werden kann, lässt sich in das XPS‑Format konvertieren. Aspose.Slides for .NET verwendet die hochpräzise Seitenlayout‑ und Rendering‑Engine, um Ausgaben im festgelegten XPS‑Dokumentformat zu erzeugen. Erwähnenswert ist, dass Aspose.Slides for .NET XPS direkt generiert, ohne von den Windows Presentation Foundation (WPF)‑Klassen abhängen zu müssen, die mit dem .NET Framework 3.5 ausgeliefert werden. Dadurch kann Aspose.Slides for .NET XPS‑Dokumente auch auf Maschinen erzeugen, die .NET Framework‑Versionen vor 3.5 verwenden. Informationen zum Export von Präsentationsdokumenten zu XPS‑Dokumenten finden Sie in [diesem Thema](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). + {{% alert color="primary" %}} -Weitere Informationen [**Wie man eine Präsentation in XPS konvertiert**](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) +Weitere Informationen [**Wie man eine Präsentation zu XPS konvertiert.**](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) {{% /alert %}} -## **Präsentation in TIFF Konvertierung** + +## **Präsentation zu TIFF-Konvertierung** ### **Über TIFF** -Das [Tagged Image File Format](https://de.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 weitgehend von Scan-, Fax- und anderen Bildbearbeitungsanwendungen unterstützt. -### **Konvertierung von Präsentationen in TIFF mit Aspose.Slides** -Jedes Dokument, das in Aspose.Slide für .NET geladen werden kann, kann auch direkt von Aspose.Slides für .NET in ein TIFF-Dokument konvertiert werden, wodurch die Notwendigkeit eines Drittanbieter-Elements entfällt. Darüber hinaus können Sie optional die Größe der Bilder im resultierenden TIFF-Dokument definieren. Informationen über den Export der Präsentationsdokumente zu TIFF-Dokumenten durch Aspose.Slides für .NET finden Sie in [diesem Thema](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-tiff/). +Das [Tagged Image File Format](https://en.wikipedia.org/wiki/TIFF) , das für das Speichern mehrerer Bilder in einem Dokument bekannt ist, wurde ursprünglich von Aldus erstellt. Dieses Format wird von Scan‑, Fax‑ und anderen Bildbearbeitungsanwendungen breit unterstützt. +### **Präsentation zu TIFF mit Aspose.Slides konvertieren** +Jedes Dokument, das in Aspose.Slides for .NET geladen werden kann, lässt sich ebenfalls direkt in ein TIFF‑Dokument konvertieren, ohne dass eine Drittanbieter‑Komponente erforderlich ist. Optional können Sie die Größe der Bilder im resultierenden TIFF‑Dokument festlegen. Informationen zum Export von Präsentationsdokumenten zu TIFF‑Dokumenten finden Sie in [diesem Thema](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-tiff/). + {{% alert color="primary" %}} -Weitere Informationen [**Wie man eine Präsentation in TIFF konvertiert**](/slides/de/net/convert-powerpoint-to-tiff/) -{{% /alert %}} \ No newline at end of file +Weitere Informationen [**Wie man eine Präsentation zu TIFF konvertiert.**](/slides/de/net/convert-powerpoint-to-tiff/) +{{% /alert %}} + +## **FAQ** + +**Kann ich versteckte Folien beim Exportieren zu PDF/XPS einbeziehen?** + +Ja. Der Export unterstützt das Einbeziehen versteckter Folien über die entsprechende Option in den [PDF](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/)/[XPS](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/)‑Einstellungen. + +**Wird das Speichern im PDF/A‑Format (zur Archivierung) unterstützt?** + +Ja, PDF/A‑Konformitätsstufen sind über die [PDF‑Compliance‑Optionen](/reference.aspose.com/slides/net/aspose.slides.export/pdfcompliance/) (einschließlich A‑2a/A‑2b/A‑2u und A‑3a/A‑3b) beim Export verfügbar. + +**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/net/embedded-font/), eine [Ersatz‑Schriftart](/slides/de/net/fallback-font/) angeben und das [Verhalten steuern](/slides/de/net/font-substitution/), wenn einer Schriftart bestimmte Stile fehlen. + +**Wie kann ich die Qualität und Größe des resultierenden PDFs steuern?** + +Es stehen Optionen für die [JPEG‑Qualität](/reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/jpegquality/), die [Textkompression](/reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/textcompression/) und einen [ausreichenden Auflösungs‑Schwellenwert](/reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/sufficientresolution/) für Bilder zur Verfügung, plus ein Modus, der die [beste Kompression für Bilder](/reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/bestimagescompressionratio/) 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 Mehrkernverarbeitung mehrerer Dateien gleichzeitig unterstützt?** + +Es ist zulässig, verschiedene Präsentationen parallel in separaten Prozessen zu verarbeiten. Wichtig: Das gleiche [Präsentations](/reference.aspose.com/slides/net/aspose.slides/presentation/)-Objekt darf nicht aus [mehreren Threads](/slides/de/net/multithreading/) geladen oder gespeichert werden. + +**Gibt es Risiken beim Anwenden der Lizenz aus verschiedenen Threads?** + +Ja, Aufrufe zum [Lizenz‑Setzen](/slides/de/net/licensing/) sind nicht thread‑sicher und erfordern Synchronisation. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md index 049bf87f8d..9065504ea0 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md @@ -1,52 +1,85 @@ --- -title: OpenOffice ODP konvertieren +title: OpenDocument‑Präsentationen (ODP) in C# konvertieren +linktitle: OpenDocument konvertieren type: docs weight: 10 url: /de/net/convert-openoffice-odp/ -keywords: "ODP zu PDF konvertieren, ODP zu PPT, ODP zu PPTX, ODP zu XPS, ODP zu HTML, ODP zu TIFF" -description: "Konvertieren Sie ODP zu PDF, ODP zu PPT, ODP zu PPTX, ODP zu HTML und anderen Formaten mit Aspose.Slides." +keywords: +- ODP konvertieren +- ODP zu Bild +- ODP zu GIF +- ODP zu HTML +- ODP zu JPG +- ODP zu MD +- ODP zu PDF +- ODP zu PNG +- ODP zu PPT +- ODP zu PPTX +- ODP zu TIFF +- ODP zu Video +- ODP zu Word +- ODP zu XPS +description: "Aspose.Slides für .NET ermöglicht die einfache Konvertierung von ODP in PDF, HTML und Bildformate. Steigern Sie Ihre .NET-Anwendungen mit schneller und genauer Präsentationskonvertierung." --- -[**Aspose.Slides API**](https://products.aspose.com/slides/net/) ermöglicht es Ihnen, OpenOffice ODP-Präsentationen in viele Formate zu konvertieren. Die API, die verwendet wird, um ODP-Dateien in andere Dokumentformate zu konvertieren, ist dieselbe, die für PowerPoint (PPT und PPTX) Konvertierungsoperationen verwendet wird. +## **Übersicht** -Diese Beispiele zeigen Ihnen, wie Sie ODP-Dokumente in andere Formate konvertieren können (ändern Sie einfach die Quell-ODP-Datei): +Aspose.Slides für .NET bietet eine robuste API zum Konvertieren von OpenDocument‑Präsentationen (ODP) in verschiedene andere Formate. Analog zum Ansatz für PowerPoint‑Dateien (PPT und PPTX) können Entwickler ODP‑Dokumente einfach in Formate wie HTML, PDF, TIFF, JPG, XPS und mehr exportieren. -- [ODP zu HTML konvertieren](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-html/) -- [ODP zu PDF konvertieren](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-pdf/) -- [ODP zu TIFF konvertieren](/slides/de/net/convert-powerpoint-to-tiff/) -- [ODP zu SWF Flash konvertieren](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-swf-flash/) -- [ODP zu XPS konvertieren](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) -- [ODP zu PDF mit Notizen konvertieren](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-pdf-with-notes/) -- [ODP zu TIFF mit Notizen konvertieren](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-tiff-with-notes/) +Diese Beispiele zeigen, wie ODP‑Dokumente in andere Formate konvertiert werden (nur die Quelle zur ODP‑Datei ändern): -Wenn Sie beispielsweise eine ODP-Präsentation in PDF konvertieren müssen, kann dies so geschehen: +- [ODP in HTML konvertieren](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-html/) +- [ODP in PDF konvertieren](/slides/de/net/convert-powerpoint-ppt-and-pptx-to-pdf/) +- [ODP in TIFF konvertieren](/slides/de/net/convert-powerpoint-to-tiff/) +- [ODP in SWF konvertieren](/slides/de/net/convert-powerpoint-to-swf-flash/) +- [ODP in XPS konvertieren](/slides/de/net/convert-powerpoint-to-xps/) +- [ODP in PDF mit Notizen konvertieren](/slides/de/net/convert-powerpoint-to-pdf-with-notes/) +- [ODP in TIFF mit Notizen konvertieren](/slides/de/net/convert-powerpoint-to-tiff-with-notes/) -```csharp -using (Presentation pres = new Presentation("pres.odp")) +Zum Beispiel erfordert die Konvertierung einer ODP‑Präsentation in PDF nur wenige Code‑Zeilen in C#: +```cs +using (Presentation presentation = new Presentation("presentation.odp")) { - pres.Save("pres.pdf", SaveFormat.Pdf); + presentation.Save("presentation.pdf", SaveFormat.Pdf); } ``` -## OpenDocument Präsentation in verschiedenen Anwendungen +## **OpenDocument‑Präsentation in verschiedenen Anwendungen** -Wenn eine OpenDocument Präsentationsdatei in PowerPoint geöffnet wird, kann die Formatierung fehlen, wie sie in der Originalanwendung war, in der sie erstellt wurde, da die OpenDocument Präsentationsanwendung und die PowerPoint-Anwendung unterschiedliche Funktionen und Optionen bieten. +Wenn eine OpenDocument‑Präsentationsdatei (ODP) in PowerPoint geöffnet wird, kann die ursprüngliche Formatierung aus der Anwendung, in der sie erstellt wurde, verloren gehen. Das liegt daran, dass die OpenDocument‑Präsentations‑App und die PowerPoint‑App unterschiedliche Funktionen und Rendering‑Verhalten bieten. -Dies sind einige der Unterschiede: -- In PowerPoint werden alle Tabellen typischerweise zuletzt geladen und überlagern andere Formen (unabhängig von der Anordnung der Formen auf der ODP-Folie). -- Das Bildfüllformat für ODP-Tabellen wird in PowerPoint nicht unterstützt. -- Die vertikale Textrotation (270, gestapelt) und die verteilte Ausrichtung werden in LibreOffice/OpenOffice Impress nicht unterstützt. -- Bildfüllung, Farbverlauffüllung und Mustervollfüllung für Text werden in LibreOffice/OpenOffice Impress nicht unterstützt. +Einige Unterschiede: -MS PowerPoint und LibreOffice/OpenOffice Impress behandeln Listen ebenfalls unterschiedlich. Eine in PowerPoint erstellte ODP-Datei wird in LibreOffice/OpenOffice nicht korrekt geöffnet und umgekehrt. +- In PowerPoint werden Tabellen normalerweise zuletzt gerendert und können andere Formen überlagern, unabhängig von ihrer Reihenfolge auf der ODP‑Folien. +- Bildfüllung für ODP‑Tabellen wird in PowerPoint nicht unterstützt. +- Vertikale Textrotation (270°, gestapelt) und verteilte Ausrichtung werden in LibreOffice/OpenOffice Impress nicht unterstützt. +- Bildfüllung, Farbverlauffüllung und Musterfüllung für Text werden in LibreOffice/OpenOffice Impress nicht unterstützt. -Dieses Bild zeigt die Ansicht der Liste, die in LibreOffice Impress erstellt wurde: +MS PowerPoint und LibreOffice/OpenOffice Impress behandeln Listen ebenfalls unterschiedlich. Eine in PowerPoint erstellte ODP‑Datei wird in LibreOffice/OpenOffice Impress möglicherweise nicht korrekt angezeigt und umgekehrt. -![odp-list-example](odp-list-example.png) +Das Bild unten zeigt, wie eine Liste aussieht, wenn sie in LibreOffice Impress erstellt wurde: +![ODP list example](odp-list-example.png) +Aspose.Slides speichert ODP‑Listen so, dass sie in LibreOffice/OpenOffice Impress korrekt angezeigt werden. -**Aspose.Slides** speichert die ODP-Listen, um sicherzustellen, dass sie in LibreOffice/OpenOffice Impress korrekt angezeigt werden. +[Weitere Informationen zum OpenDocument‑Format und zu PowerPoint]https://support.microsoft.com/en-us/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0 -[Erfahren Sie mehr über das OpenDocument-Format und PowerPoint](https://support.microsoft.com/en-gb/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0/). \ No newline at end of file +## **FAQ** + +**Was passiert, wenn sich die Formatierung meiner ODP‑Datei nach der Konvertierung ändert?** + +ODP und PowerPoint verwenden unterschiedliche Präsentationsmodelle, und einige Elemente – wie Tabellen, benutzerdefinierte Schriften oder Füllstile – werden möglicherweise nicht exakt gleich gerendert. Es wird empfohlen, die Ausgabe zu überprüfen und Layout oder Formatierung bei Bedarf im Code anzupassen. + +**Muss OpenOffice oder LibreOffice installiert sein, um ODP‑Konvertierung zu nutzen?** + +Nein, Aspose.Slides für .NET ist eine eigenständige Bibliothek und erfordert keine Installation von OpenOffice oder LibreOffice auf Ihrem System. + +**Kann ich das Ausgabeformat während der ODP‑Konvertierung anpassen (z. B. PDF‑Optionen festlegen)?** + +Ja, Aspose.Slides bietet umfangreiche Optionen zur Anpassung der Ausgabe. Beispielsweise können Sie beim Speichern als PDF Kompression, Bildqualität, Text‑Rendering und mehr über die [PdfOptions]https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/‑Klasse steuern. + +**Ist Aspose.Slides für serverseitige oder cloud‑basierte ODP‑Verarbeitung geeignet?** + +Absolut. Aspose.Slides für .NET ist sowohl für Desktop‑ als auch für Serverumgebungen konzipiert, einschließlich cloud‑basierter Plattformen wie Azure, AWS und Docker‑Containern, ohne UI‑Abhängigkeiten. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md index e7480067ee..ca5ed9208e 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md @@ -1,34 +1,53 @@ --- -title: ODP in PPTX umwandeln in C# -linktitle: ODP in PPTX umwandeln +title: ODP nach PPTX konvertieren in C# +linktitle: ODP nach PPTX konvertieren type: docs weight: 10 url: /de/net/convert-odp-to-pptx/ -keywords: "OpenOffice-Präsentation umwandeln, ODP, ODP in PPTX, C#, Csharp, .NET" -description: "OpenOffice ODP in PowerPoint-Präsentation PPTX in C# oder .NET umwandeln" +keywords: "OpenOffice Präsentation konvertieren, ODP, ODP zu PPTX, C#, Csharp, .NET" +description: "OpenOffice ODP in PowerPoint‑Präsentation PPTX in C# oder .NET konvertieren" --- -## Überblick +## **Übersicht** Dieser Artikel erklärt die folgenden Themen. -- [C# ODP in PPTX umwandeln](#csharp-odp-to-pptx) -- [C# ODP in PowerPoint umwandeln](#csharp-odp-to-powerpoint) +- [C# ODP nach PPTX konvertieren](#csharp-odp-to-pptx) +- [C# ODP nach PowerPoint konvertieren](#csharp-odp-to-powerpoint) -## C# ODP in PPTX Umwandlung +## **ODP nach PPTX‑Konvertierung** -Aspose.Slides für .NET bietet die Klasse Presentation, die eine Präsentationsdatei darstellt. [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse kann jetzt auch ODP über den Konstruktor der Präsentation zugreifen, wenn das Objekt instanziiert wird. Das folgende Beispiel zeigt, wie man eine ODP-Präsentation in eine PPTX-Präsentation umwandelt. - -Schritte: ODP in PPTX umwandeln in C# | -Schritte: ODP in PowerPoint umwandeln in C# +Aspose.Slides für .NET bietet die Klasse **Presentation**, die eine Präsentationsdatei darstellt. Die Klasse **Presentation** kann nun auch über den Presentation‑Konstruktor auf ODP zugreifen, wenn das Objekt erstellt wird. Das folgende Beispiel zeigt, wie man eine ODP‑Präsentation in eine PPTX‑Präsentation konvertiert. +Schritte: ODP nach PPTX in C# konvertieren | +Schritte: ODP nach PowerPoint in C# konvertieren ```c# -// Öffnen der ODP-Datei +// ODP-Datei öffnen Presentation pres = new Presentation("AccessOpenDoc.odp"); -// Speichern der ODP-Präsentation im PPTX-Format +// ODP-Präsentation im PPTX-Format speichern pres.Save("AccessOpenDoc_out.pptx", SaveFormat.Pptx); ``` -## **Live-Beispiel** -Sie können die [**Aspose.Slides Umwandlung**](https://products.aspose.app/slides/conversion/) Webanwendung besuchen, die mit der **Aspose.Slides API** erstellt wurde. Die App demonstriert, wie die Umwandlung von ODP in PPTX mit der Aspose.Slides API implementiert werden kann. \ No newline at end of file + +## **Live‑Beispiel** + +Sie können die Web‑App [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) besuchen, die mit der **Aspose.Slides API** erstellt wurde. Die App demonstriert, wie die ODP‑zu‑PPTX‑Konvertierung mit der Aspose.Slides API implementiert werden kann. + +## **FAQ** + +**Muss ich Microsoft PowerPoint oder LibreOffice installieren, um ODP nach PPTX zu konvertieren?** + +Nein. Aspose.Slides funktioniert eigenständig und erfordert keine Drittanbieter‑Anwendungen zum Lesen oder Schreiben von ODP/PPTX. + +**Werden Master‑Folien, Layouts und Designs während der Konvertierung beibehalten?** + +Ja. Die Bibliothek verwendet ein vollständiges Präsentations‑Objektmodell und behält die Struktur, einschließlich Master‑Folien und Layouts, bei, sodass das Design nach der Konvertierung korrekt bleibt. + +**Kann ich passwortgeschützte ODP‑Dateien konvertieren?** + +Ja. Aspose.Slides unterstützt die Erkennung von Schutz, das Öffnen und Arbeiten mit [geschützten Präsentationen](/slides/de/net/password-protected-presentation/) (einschließlich ODP), wenn Sie das Passwort angeben, sowie die Konfiguration von Verschlüsselung und den Zugriff auf Dokumenteneigenschaften. + +**Ist Aspose.Slides für Cloud‑ oder REST‑basierte Konvertierungsdienste geeignet?** + +Ja. Sie können die lokale Bibliothek in Ihrem eigenen Backend verwenden oder [Aspose.Slides Cloud](https://products.aspose.cloud/slides/family/) (REST‑API); beide Optionen unterstützen die ODP → PPTX‑Konvertierung. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md new file mode 100644 index 0000000000..0a2df3c22c --- /dev/null +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md @@ -0,0 +1,65 @@ +--- +title: Präsentationen im Handout-Modus in C# +type: docs +weight: 150 +url: /de/net/convert-powerpoint-in-Handout-mode/ +keywords: +- PowerPoint konvertieren +- Handout-Modus +- Handout +- PowerPoint +- PPT +- PPTX +- Präsentation +- C# +- Csharp +- .NET +- Aspose.Slides +description: "Präsentationen im Handout-Modus in C# konvertieren" +--- + +## **Handout-Modus-Export** + +Aspose.Slides bietet die Möglichkeit, Präsentationen in verschiedene Formate zu konvertieren, einschließlich der Erstellung von Handouts zum Drucken im Handout‑Modus. Dieser Modus ermöglicht es, zu konfigurieren, wie mehrere Folien auf einer einzelnen Seite angezeigt werden, was ihn für Konferenzen, Seminare und andere Veranstaltungen nützlich macht. Sie können diesen Modus aktivieren, indem Sie die `SlidesLayoutOptions`‑Eigenschaft in den [IPdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ipdfoptions/), [IRenderingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/irenderingoptions/), [IHtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ihtmloptions/) und [ITiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/itiffoptions/) Schnittstellen festlegen. + +Um den Handout‑Modus zu konfigurieren, verwenden Sie das [HandoutLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/handoutlayoutingoptions/) Objekt, das bestimmt, wie viele Folien auf einer einzelnen Seite platziert werden und weitere Anzeigeparameter. + +Unten finden Sie ein Codebeispiel, das zeigt, wie Sie eine Präsentation in PDF im Handout‑Modus konvertieren. +```c# +// Präsentation laden. +using var presentation = new Presentation("sample.pptx"); + +// Exportoptionen festlegen. +var pdfOptions = new PdfOptions +{ + SlidesLayoutOptions = new HandoutLayoutingOptions + { + Handout = HandoutType.Handouts4Horizontal, // 4 Folien auf einer Seite horizontal + PrintSlideNumbers = true, // Foliennummern drucken + PrintFrameSlide = true, // Rahmen um Folien drucken + PrintComments = false // keine Kommentare + } +}; + +// Präsentation mit dem gewählten Layout als PDF exportieren. +presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); +``` + + +{{% alert color="warning" %}} +Beachten Sie, dass die `SlidesLayoutOptions`‑Eigenschaft nur für bestimmte Ausgabeformate verfügbar ist, wie PDF, HTML, TIFF und beim Rendern als Bilder. +{{% /alert %}} + +## **FAQ** + +**Wie hoch ist die maximale Anzahl von Folienminiaturansichten pro Seite im Handout‑Modus?** + +Aspose.Slides unterstützt [Voreinstellungen](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) von bis zu 9 Miniaturansichten pro Seite mit horizontaler oder vertikaler Anordnung: 1, 2, 3, 4 (horizontal/vertikal), 6 (horizontal/vertikal) und 9 (horizontal/vertikal). + +**Kann ich ein benutzerdefiniertes Raster festlegen, z. B. 5 oder 8 Folien pro Seite?** + +Nein. Die Anzahl und Anordnung der Miniaturansichten werden ausschließlich durch die [HandoutType](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) Aufzählung gesteuert; beliebige Layouts werden nicht unterstützt. + +**Kann ich ausgeblendete Folien in die Handout‑Ausgabe einbeziehen?** + +Ja. Aktivieren Sie die `ShowHiddenSlides`‑Option in den Exporteinstellungen für das Zielformat, z. B. [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions/) oder [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index d83e8788a4..44befafed0 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -1,16 +1,15 @@ --- -title: PowerPoint in animiertes GIF umwandeln +title: PowerPoint in animiertes GIF konvertieren type: docs weight: 65 url: /de/net/convert-powerpoint-to-animated-gif/ -keywords: "PowerPoint umwandeln, PPT, PPTX, animiertes GIF, PPT in animiertes GIF, PPTX in animiertes GIF C#, Csharp, .NET, Standardparameter, benutzerdefinierte Parameter" -description: "PowerPoint-Präsentation in animiertes GIF umwandeln: PPT in GIF, PPTX in GIF in C# oder .NET" +keywords: "PowerPoint konvertieren, PPT, PPTX, animiertes GIF, PPT zu animiertem GIF, PPTX zu animiertem GIF C#, Csharp, .NET, Standardeinstellungen, benutzerdefinierte Einstellungen " +description: "PowerPoint-Präsentation in animiertes GIF konvertieren: PPT zu GIF, PPTX zu GIF in C# oder .NET" --- -## Konvertieren von Präsentationen in animiertes GIF mit Standardparametern ## - -Dieser Beispielcode in C# zeigt Ihnen, wie Sie eine Präsentation mit Standardparametern in ein animiertes GIF umwandeln: +## **Präsentationen mit Standardeinstellungen in animiertes GIF konvertieren** +Dieser Beispielcode in C# zeigt, wie man eine Präsentation mit den Standard‑Einstellungen in ein animiertes GIF konvertiert: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -18,31 +17,43 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Das animierte GIF wird mit den Standardparametern erstellt. -{{% alert title="TIPP" color="primary" %}} +Das animierte GIF wird mit den Standard‑Parametern 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/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/net/aspose.slides.export/gifoptions) verwenden. Siehe den Beispielcode unten. {{% /alert %}} -## Konvertieren von Präsentationen in animiertes GIF mit benutzerdefinierten Einstellungen ## -Dieser Beispielcode zeigt Ihnen, wie Sie eine Präsentation mit benutzerdefinierten Einstellungen in C# in ein animiertes GIF umwandeln: +## **Präsentationen mit benutzerdefinierten Einstellungen in animiertes GIF konvertieren** +Dieser Beispielcode zeigt, wie man eine Präsentation mit benutzerdefinierten Einstellungen in ein animiertes GIF in C# konvertiert: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { pres.Save("pres.gif", SaveFormat.Gif, new GifOptions { - FrameSize = new Size(960, 720), // die Größe des resultierenden GIF - DefaultDelay = 2000, // wie lange jede Folie angezeigt wird, bis sie zur nächsten gewechselt wird + FrameSize = new Size(960, 720), // die Größe des resultierenden GIFs + DefaultDelay = 2000, // wie lange jede Folie angezeigt wird, bis sie zur nächsten wechselt TransitionFps = 35 // FPS erhöhen, um die Qualität der Übergangsanimation zu verbessern }); } ``` + {{% alert title="Info" color="info" %}} -Sie möchten vielleicht einen kostenlosen [Text zu GIF](https://products.aspose.app/slides/text-to-gif) Konverter, der von Aspose entwickelt wurde, 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/net/powerpoint-fonts/). Aspose.Slides wird ersetzen, aber das Aussehen kann abweichen. Für Branding sollten Sie stets sicherstellen, dass die benötigten Schriftarten explizit verfügbar sind. + +**Kann ich ein Wasserzeichen über die GIF‑Frames legen?** -{{% /alert %}} \ No newline at end of file +Ja. [Fügen Sie ein halbtransparentes Objekt/Logo](/slides/de/net/watermark/) dem Master‑Foliensatz oder einzelnen Folien vor dem Export hinzu — das Wasserzeichen erscheint auf jedem Frame. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index ca8f2c6b3f..c07d57e98c 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -1,190 +1,205 @@ --- -title: PowerPoint in HTML konvertieren in C# .NET -linktitle: PowerPoint in HTML konvertieren +title: "PowerPoint-Präsentationen in HTML konvertieren in C#" +linktitle: "PowerPoint in HTML konvertieren" type: docs weight: 30 url: /de/net/convert-powerpoint-to-html/ -keywords: "C# PowerPoint in HTML, C# PPT in HTML, C# ODP in HTML, C# Folie in HTML, PowerPoint-Präsentation konvertieren, PPTX, PPT, PPT in HTML, PPTX in HTML, PowerPoint in HTML, PowerPoint als HTML speichern, PPT als HTML speichern, PPTX als HTML speichern, C#, Csharp, .NET, Aspose.Slides, HTML Export" -description: "PowerPoint HTML konvertieren: Speichern Sie PPTX oder PPT als HTML. Speichern Sie Folien als HTML" +keywords: +- PowerPoint zu HTML +- Präsentation zu HTML +- Folie zu HTML +- PPT zu HTML +- PPTX zu HTML +- ODP zu HTML +- PowerPoint-Präsentation konvertieren +- PowerPoint-Konvertierung +- Präsentationskonvertierung +- HTML-Konvertierung +- PowerPoint als HTML speichern +- Präsentation als HTML speichern +- Folie als HTML speichern +- PPT als HTML speichern +- PPTX als HTML speichern +- HTML-Export +- C# +- .NET +- Aspose.Slides +description: "Erfahren Sie, wie Sie PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides für .NET in HTML konvertieren. Dieser Leitfaden bietet Anweisungen, Codebeispiele und bewährte Methoden zum Konvertieren von Folien in ein web‑freundliches Format." --- -## **Überblick** +## **Übersicht** -Dieser Artikel erklärt, wie man eine PowerPoint-Präsentation im HTML-Format mit C# konvertiert. Es werden die folgenden Themen behandelt. +Verbessern Sie Ihren Arbeitsablauf, indem Sie PowerPoint- und OpenDocument-Präsentationen mit Aspose.Slides für .NET in HTML konvertieren. Dieser Leitfaden bietet detaillierte Anleitungen, robuste Codebeispiele und getestete Methoden, um einen zuverlässigen und effizienten Konvertierungsprozess zu gewährleisten, der für die Anzeige im Web optimiert ist. -- [PowerPoint in HTML konvertieren in C#](#convert-powerpoint-to-html) -- [PPT in HTML konvertieren in C#](#convert-powerpoint-to-html) -- [PPTX in HTML konvertieren in C#](#convert-powerpoint-to-html) -- [ODP in HTML konvertieren in C#](#convert-powerpoint-to-html) -- [PowerPoint-Folie in HTML konvertieren in C#](#convert-slide-to-html) +Aspose.Slides bietet viele Optionen - meist aus der [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) Klasse - die den Konvertierungsprozess vom PowerPoint-(oder OpenDocument-)Format zu HTML definieren: -## **C# PowerPoint in HTML** - -Für C# Beispielcode zum Konvertieren von PowerPoint in HTML siehe den Abschnitt unten d.h. [PowerPoint in HTML konvertieren](#convert-powerpoint-to-html). Der Code kann eine Vielzahl von Formaten wie PPT, PPTX und ODP im Präsentationsobjekt laden und in das HTML-Format speichern. - -## **Über die PowerPoint-zu-HTML-Konvertierung** -Mit [**Aspose.Slides für .NET**](https://products.aspose.com/slides/net/) können Anwendungen und Entwickler eine PowerPoint-Präsentation in HTML konvertieren: **PPTX in HTML** oder **PPT in HTML**. - -**Aspose.Slides** bietet viele Optionen (hauptsächlich aus der [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) Klasse), die den Konvertierungsprozess von PowerPoint in HTML definieren: - -* Gesamte PowerPoint-Präsentation in HTML konvertieren. -* Eine spezifische Folie in einer PowerPoint-Präsentation in HTML konvertieren. +* Eine gesamte PowerPoint-Präsentation in HTML konvertieren. +* Eine bestimmte Folie einer PowerPoint-Präsentation in HTML konvertieren. * Präsentationsmedien (Bilder, Videos usw.) in HTML konvertieren. * Eine PowerPoint-Präsentation in responsives HTML konvertieren. -* Eine PowerPoint-Präsentation in HTML mit eingeschlossenen oder ausgeschlossenen Sprecherhinweisen konvertieren. +* Eine PowerPoint-Präsentation in HTML mit eingeschlossenen oder ausgeschlossenen Sprecher-Notizen konvertieren. * Eine PowerPoint-Präsentation in HTML mit eingeschlossenen oder ausgeschlossenen Kommentaren konvertieren. * Eine PowerPoint-Präsentation in HTML mit originalen oder eingebetteten Schriftarten konvertieren. -* Eine PowerPoint-Präsentation in HTML konvertieren und den neuen CSS-Stil verwenden. - -{{% alert color="primary" %}} - -Mit seiner eigenen API hat Aspose kostenlose [Präsentation zu HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) Konverter entwickelt: [PPT zu HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX zu HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP zu HTML](https://products.aspose.app/slides/conversion/odp-to-html) usw. - -[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) - -Sie möchten vielleicht auch andere [kostenlose Konverter von Aspose](https://products.aspose.app/slides/conversion) überprüfen. - -{{% /alert %}} +* Eine PowerPoint-Präsentation in HTML unter Verwendung des neuen CSS-Stils konvertieren. -{{% alert title="Hinweis" color="warning" %}} +## **Präsentation in HTML konvertieren** -Neben den hier beschriebenen Konvertierungsprozessen unterstützt Aspose.Slides auch diese Konvertierungsoperationen, die das HTML-Format betreffen: +Mit Aspose.Slides können Sie eine gesamte PowerPoint‑ oder OpenDocument‑Präsentation wie folgt in HTML konvertieren: -* [HTML zu Bild](https://products.aspose.com/slides/net/conversion/html-to-image/) -* [HTML zu JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) -* [HTML zu XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) -* [HTML zu TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) - -{{% /alert %}} - - -## **PowerPoint in HTML konvertieren** -Mit Aspose.Slides können Sie eine gesamte PowerPoint-Präsentation auf diese Weise in HTML konvertieren: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -1. Verwenden Sie die [Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save)Methode, um das Objekt als HTML-Datei zu speichern. - -Dieser Code zeigt, wie man eine PowerPoint in HTML in C# konvertiert: +1. Erzeugen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. +1. Verwenden Sie die [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) Methode, um das Objekt als HTML‑Datei zu speichern. +Dieser Code zeigt, wie Sie eine PowerPoint‑Präsentation in C# in HTML konvertieren: ```c# -// Instanziiert ein Präsentationsobjekt, das eine Präsentationsdatei e.g. PPT, PPTX, ODP usw. darstellt. -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// Instanziieren Sie die Presentation‑Klasse, die eine Präsentationsdatei (z. B. PPT, PPTX, ODP usw.) darstellt. +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions htmlOpt = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOpt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; - - htmlOpt.HtmlFormatter = HtmlFormatter.CreateDocumentFormatter("", false); - - // Speichert die Präsentation als HTML - presentation.Save("ConvertWholePresentationToHTML_out.html", SaveFormat.Html, htmlOpt); + // Speichern Sie die Präsentation als HTML. + presentation.Save("output.html", SaveFormat.Html); } ``` -## **PowerPoint in responsives HTML konvertieren** -Aspose.Slides bietet die [ResponsiveHtmlController ](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller)Klasse, die es Ihnen ermöglicht, responsive HTML-Dateien zu generieren. Dieser Code zeigt, wie man eine PowerPoint-Präsentation in responsives HTML in C# konvertiert: +## **Präsentation in responsives HTML konvertieren** +Aspose.Slides stellt die Klasse [ResponsiveHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller) bereit, mit der Sie responsive HTML‑Dateien erzeugen können. Dieser Code demonstriert, wie Sie eine PowerPoint‑Präsentation in C# in responsives HTML konvertieren: ```c# -// Instanziiert ein Präsentationsobjekt, das eine Präsentationsdatei darstellt -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) -{ - ResponsiveHtmlController controller = new ResponsiveHtmlController(); - HtmlOptions htmlOptions = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) }; - - // Speichert die Präsentation als HTML - presentation.Save("ConvertPresentationToResponsiveHTML_out.html", SaveFormat.Html, htmlOptions); -} + // Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei darstellt. + using (Presentation presentation = new Presentation("presentation.pptx")) + { + ResponsiveHtmlController controller = new ResponsiveHtmlController(); + + HtmlOptions htmlOptions = new HtmlOptions + { + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) + }; + + // Speichern Sie die Präsentation als HTML. + presentation.Save("responsive.html", SaveFormat.Html, htmlOptions); + } ``` -## **PowerPoint in HTML mit Notizen konvertieren** -Dieser Code zeigt, wie man eine PowerPoint in HTML mit Notizen in C# konvertiert: +## **Präsentation in HTML mit Sprecher-Notizen konvertieren** + +Beim Konvertieren einer PowerPoint‑ oder OpenDocument‑Präsentation in HTML mit Sprecher-Notizen ist es wichtig, die gesamte Essenz des Originaldokuments zu erfassen. Dieser Prozess stellt sicher, dass nicht nur die visuellen Elemente der Folien exakt wiedergegeben werden, sondern auch die begleitenden Sprecher-Notizen erhalten bleiben, wodurch der Inhalt mit zusätzlichem Kontext und Einblicken angereichert wird. + +Angenommen, wir haben eine PowerPoint‑Präsentation mit der folgenden Folie: + +![Eine Präsentationsfolie mit Sprecher-Notizen](slide_with_notes.png) + +Dieser Code demonstriert, wie Sie eine PowerPoint‑Präsentation in C# in HTML mit Sprecher-Notizen konvertieren: ```c# -using (Presentation pres = new Presentation("Presentation.pptx")) +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions opt = new HtmlOptions(); + // Optionen für Sprecher-Notizen festlegen. + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - INotesCommentsLayoutingOptions options = opt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + // Optionen für das Ausgabedokument HTML festlegen. + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions + }; - // Speichert Notizseiten - pres.Save("Output.html", SaveFormat.Html, opt); + // Präsentation als HTML mit Sprecher-Notizen speichern. + presentation.Save("slide_with_notes.html", SaveFormat.Html, htmlOptions); } ``` -## **PowerPoint in HTML mit originalen Schriftarten konvertieren** -Aspose.Slides bietet die [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) Klasse, die es Ihnen ermöglicht, alle Schriftarten in einer Präsentation beim Konvertieren der Präsentation in HTML einzubetten. +Das Ergebnis: + +![Ein HTML-Dokument mit der Folie und den Sprecher-Notizen](HTML_with_notes.png) -Um zu verhindern, dass bestimmte Schriftarten eingebettet werden, können Sie ein Array von Schriftartnamen an einen parameterisierten Konstruktor der [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) Klasse übergeben. Beliebte Schriftarten, wie Calibri oder Arial, müssen in einer Präsentation nicht eingebettet werden, da die meisten Systeme bereits über solche Schriftarten verfügen. Wenn diese Schriftarten eingebettet werden, wird das resultierende HTML-Dokument unnötig groß. +## **Präsentation in HTML mit Original-Schriftarten konvertieren** -Die [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) Klasse unterstützt Vererbung und bietet die [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont) Methode, die überschrieben werden soll. +Aspose.Slides stellt die Klasse [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) zur Verfügung, die es ermöglicht, beim Konvertieren einer Präsentation in HTML alle Schriftarten einzubetten. +Um das Einbetten bestimmter Schriftarten zu verhindern, können Sie einem parametrisierten Konstruktor der Klasse [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) ein Array von Schriftartnamen übergeben. Beliebte Schriftarten wie Calibri oder Arial müssen nicht eingebettet werden, da die meisten Systeme diese bereits enthalten. Das Einbetten würde die Größe des resultierenden HTML-Dokuments unnötig erhöhen. + +Die Klasse [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) unterstützt Vererbung und stellt die Methode [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont) bereit, die überschrieben werden soll. ```c# -using (Presentation pres = new Presentation("input.pptx")) +using (Presentation presentation = new Presentation("input.pptx")) { - // Schließt Standard-Präsentationsschriftarten aus - string[] fontNameExcludeList = { "Calibri", "Arial" }; + // Standard-Schriftarten der Präsentation ausschließen. + string[] excludeFonts = { "Calibri", "Arial" }; - EmbedAllFontsHtmlController embedFontsController = new EmbedAllFontsHtmlController(fontNameExcludeList); + EmbedAllFontsHtmlController fontController = new EmbedAllFontsHtmlController(excludeFonts); - HtmlOptions htmlOptionsEmbed = new HtmlOptions + HtmlOptions htmlOptions = new HtmlOptions { - HtmlFormatter = HtmlFormatter.CreateCustomFormatter(embedFontsController) + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(fontController) }; - pres.Save("input-PFDinDisplayPro-Regular-installed.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("embedded_fonts.html", SaveFormat.Html, htmlOptions); } ``` -## **PowerPoint in HTML mit hochwertigen Bildern konvertieren** -Standardmäßig gibt Aspose.Slides beim Konvertieren von PowerPoint in HTML kleine HTML-Dokumente mit Bildern in 72 DPI und entfernten zugeschnittenen Bereichen aus. Um HTML-Dateien mit höherer Bildqualität zu erhalten, müssen Sie die `PicturesCompression`-Eigenschaft (aus der `HtmlOptions`-Klasse) auf 96 (d.h. `PicturesCompression.Dpi96`) oder höhere [Werte](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression) setzen. +## **Präsentation in HTML mit Bildern hoher Qualität konvertieren** -Dieser C#-Code zeigt Ihnen, wie Sie eine PowerPoint-Präsentation in HTML konvertieren, während Sie Bilder in hoher Qualität mit 150 DPI (d.h. `PicturesCompression.Dpi150`) erhalten: +Standardmäßig erzeugt Aspose.Slides beim Konvertieren einer PowerPoint‑Präsentation in HTML eine kleine HTML‑Datei mit Bildern in 72 DPI und entfernt beschnittene Bereiche. Um HTML‑Dateien mit höherwertigen Bildern zu erhalten, müssen Sie die Eigenschaft `PicturesCompression` (aus der Klasse `HtmlOptions`) auf 96 (d.h. `PicturesCompression.Dpi96`) oder einen höheren Wert setzen, wie in [dieser Referenz](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression) beschrieben. +Dieser C#‑Code demonstriert, wie Sie eine PowerPoint‑Präsentation in HTML konvertieren und dabei hochqualitative Bilder mit 150 DPI (d.h. `PicturesCompression.Dpi150`) erhalten: ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - PicturesCompression = PicturesCompression.Dpi150 -}; -pres.Save("OutputDoc-dpi150.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + PicturesCompression = PicturesCompression.Dpi150 + }; + + presentation.Save("output_dpi_150.html", SaveFormat.Html, htmlOptions); +} ``` -Dieser Code in C# zeigt Ihnen, wie Sie HTML mit Bildern in voller Qualität ausgeben: +Dieser C#‑Code zeigt, wie Sie eine PowerPoint‑Präsentation in HTML konvertieren, ohne beschnittene Bereiche zu entfernen: ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - DeletePicturesCroppedAreas = false -}; -pres.Save("Outputdoc-noCrop.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + DeletePicturesCroppedAreas = false + }; + + presentation.Save("output_no_crop.html", SaveFormat.Html, htmlOptions); +} ``` -## **Folie in HTML konvertieren** -Um eine spezifische Folie in einer PowerPoint in HTML zu konvertieren, müssen Sie dieselbe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse instanziieren (die verwendet wird, um ganze Präsentationen in HTML zu konvertieren) und dann die [Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save)Methode verwenden, um die Datei als HTML zu speichern. Die [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions**) Klasse kann verwendet werden, um zusätzliche Konvertierungsoptionen anzugeben: -Dieser C#-Code zeigt Ihnen, wie Sie eine Folie in einer PowerPoint-Präsentation in HTML konvertieren: +## **Folie einer Präsentation in HTML konvertieren** +Um eine bestimmte Folie einer PowerPoint‑Präsentation in HTML zu konvertieren, müssen Sie dieselbe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse (die für die Konvertierung ganzer Präsentationen in HTML verwendet wird) instanziieren und anschließend die [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) Methode nutzen, um die Datei als HTML zu speichern. Die Klasse [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) kann verwendet werden, um zusätzliche Konvertierungsoptionen anzugeben. + +Dieser C#‑Code demonstriert, wie Sie eine Folie mit Sprecher-Notizen einer PowerPoint‑Präsentation in HTML konvertieren: ```c# public static void Run() { - using (Presentation presentation = new Presentation("Individual-Slide.pptx")) + using (Presentation presentation = new Presentation("sample.pptx")) { - HtmlOptions htmlOptions = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()); + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions, + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()) + }; - // Speichert Datei for (int i = 0; i < presentation.Slides.Count; i++) - presentation.Save("Individual Slide" + (i + 1) + "_out.html", new[] { i + 1 }, SaveFormat.Html, htmlOptions); + { + int slideIndex = i + 1; + + // Speichern Sie die Folie in einer HTML-Datei. + string fileName = $"output_slide_{slideIndex}.html"; + presentation.Save(fileName, new[] { slideIndex }, SaveFormat.Html, htmlOptions); + } } } @@ -218,27 +233,28 @@ public class CustomFormattingController : IHtmlFormattingController ``` -## **CSS und Bilder beim Exportieren nach HTML speichern** -Mit neuen CSS-Stilvorlagen können Sie leicht den Stil der HTML-Datei ändern, die aus dem PowerPoint-zu-HTML-Konvertierungsprozess resultiert. +## **CSS und Bilder beim Export nach HTML speichern** -Der C#-Code in diesem Beispiel zeigt Ihnen, wie Sie überschreibbare Methoden verwenden, um ein benutzerdefiniertes HTML-Dokument mit einem Link zu einer CSS-Datei zu erstellen: +Mit neuen CSS-Stildateien können Sie das Erscheinungsbild der aus dem PowerPoint-zu-HTML-Konvertierungsprozess erzeugten HTML-Datei problemlos ändern. +Der C#-Code in diesem Beispiel demonstriert, wie Sie überschreibbare Methoden verwenden, um ein benutzerdefiniertes HTML-Dokument zu erstellen, das einen Link zu einer CSS-Datei enthält: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { CustomHeaderAndFontsController htmlController = new CustomHeaderAndFontsController("styles.css"); + HtmlOptions options = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(htmlController), }; - pres.Save("pres.html", SaveFormat.Html, options); + presentation.Save("pres.html", SaveFormat.Html, options); } ``` ```c# public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController { - // Benutzerdefinierte Header-Vorlage + // Benutzerdefinierte Header-Vorlage. const string Header = "\n" + "\n" + "\n" + @@ -247,7 +263,6 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController "\n" + ""; - private readonly string m_cssFileName; public CustomHeaderAndFontsController(string cssFileName) @@ -263,40 +278,37 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController public override void WriteAllFonts(IHtmlGenerator generator, IPresentation presentation) { - generator.AddHtml(""); + generator.AddHtml(""); base.WriteAllFonts(generator, presentation); } } ``` -## **Alle Schriftarten verlinken, wenn die Präsentation nach HTML konvertiert wird** -Wenn Sie Schriftarten nicht einbetten möchten (um die Größe des resultierenden HTML zu vermeiden), können Sie alle Schriftarten verlinken, indem Sie Ihre eigene Version von `LinkAllFontsHtmlController` implementieren. +## **Alle Schriftarten verlinken beim Konvertieren einer Präsentation in HTML** -Dieser C#-Code zeigt Ihnen, wie man eine PowerPoint in HTML konvertiert, während man alle Schriftarten verlinkt und "Calibri" und "Arial" ausschließt (da sie bereits im System vorhanden sind): +Wenn Sie Schriftarten nicht einbetten möchten (um die Größe des resultierenden HTML nicht zu erhöhen), können Sie alle Schriftarten verlinken, indem Sie Ihre eigene `LinkAllFontsHtmlController`‑Version implementieren. +Dieser C#‑Code zeigt, wie Sie eine PowerPoint‑Präsentation in HTML konvertieren, dabei alle Schriftarten verlinken und "Calibri" sowie "Arial" ausschließen (da diese bereits im System installiert sind): ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { - // Schließt Standard-Präsentationsschriftarten aus + // Standard‑Schriftarten der Präsentation ausschließen. string[] fontNameExcludeList = { "Calibri", "Arial" }; - Paragraph para = new Paragraph(); - ITextFrame txt; - - LinkAllFontsHtmlController linkcont = new LinkAllFontsHtmlController(fontNameExcludeList, @"C:\Windows\Fonts\"); + LinkAllFontsHtmlController linkcont = new LinkAllFontsHtmlController(fontNameExcludeList, @"C:\Windows\Fonts\");; HtmlOptions htmlOptionsEmbed = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(linkcont) }; - pres.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); } ``` -Dieser C#-Code zeigt, wie `LinkAllFontsHtmlController` implementiert wird: +Dieser C#‑Code zeigt, wie das `LinkAllFontsHtmlController` implementiert ist: ```c# public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController { @@ -319,7 +331,7 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController try { string fontName = substitutedFont == null ? originalFont.FontName : substitutedFont.FontName; - string path = fontName + ".woff"; // Einige Pfadsanierungsmaßnahmen könnten erforderlich sein + string path = fontName + ".woff"; // Some path sanitaze may be needed. File.WriteAllBytes(Path.Combine(m_basePath, path), fontData); @@ -339,30 +351,36 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController } ``` -## **PowerPoint in responsives HTML konvertieren** -Dieser C#-Code zeigt Ihnen, wie Sie eine PowerPoint-Präsentation in responsives HTML konvertieren: +## **Präsentation mit SVG-Bildern in responsives HTML konvertieren** + +Dieser C#‑Code zeigt, wie Sie eine PowerPoint‑Präsentation in responsives HTML konvertieren: ```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -HtmlOptions saveOptions = new HtmlOptions(); -saveOptions.SvgResponsiveLayout = true; -presentation.Save("SomePresentation-out.html", SaveFormat.Html, saveOptions); +using (Presentation presentation = new Presentation("Presentation.pptx")) +{ + HtmlOptions saveOptions = new HtmlOptions + { + SvgResponsiveLayout = true + }; + + presentation.Save("SvgResponsiveLayout-out.html", SaveFormat.Html, saveOptions); +} ``` -## **Medien-Dateien nach HTML exportieren** -Mit Aspose.Slides für .NET können Sie Medien-Dateien auf diese Weise exportieren: +## **Mediendateien nach HTML exportieren** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -1. Holen Sie sich eine Referenz auf die Folie. -1. Fügen Sie ein Video zur Folie hinzu. -1. Schreiben Sie die Präsentation als HTML-Datei. +Mit Aspose.Slides für .NET können Sie Mediendateien wie folgt exportieren: -Dieser C#-Code zeigt Ihnen, wie Sie ein Video zur Präsentation hinzufügen und es dann als HTML speichern: +1. Erzeugen Sie eine Instanz der [Presentation] Klasse. +1. Holen Sie sich eine Referenz auf die Folie. +1. Fügen Sie der Folie ein Video hinzu. +1. Schreiben Sie die Präsentation als HTML‑Datei. +Dieser C#‑Code zeigt, wie Sie ein Video zur Präsentation hinzufügen und anschließend als HTML speichern: ```c# -// Lädt eine Präsentation -using (Presentation pres = new Presentation()) +// Neue Präsentation erstellen. +using (Presentation presentation = new Presentation()) { string path = "C:/out/"; const string fileName = "ExportMediaFiles_out.html"; @@ -370,22 +388,58 @@ using (Presentation pres = new Presentation()) using (FileStream fileStream = new FileStream("my_video.avi", FileMode.Open, FileAccess.Read)) { - IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); + IVideo video = presentation.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; slide.Shapes.AddVideoFrame(10, 10, 100, 100, video); } VideoPlayerHtmlController controller = new VideoPlayerHtmlController(path, fileName, baseUri); - // Setzt HTML-Optionen + // HTML-Optionen festlegen. HtmlOptions htmlOptions = new HtmlOptions(controller); SVGOptions svgOptions = new SVGOptions(controller); htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller); htmlOptions.SlideImageFormat = SlideImageFormat.Svg(svgOptions); - // Speichert die Datei - pres.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); + // Präsentation als HTML-Datei speichern. + presentation.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); } -``` \ No newline at end of file +``` + + +{{% alert color="primary" %}} + +Aspose hat kostenlose [Präsentation nach HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) Konverter entwickelt: [PPT nach HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX nach HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP nach HTML](https://products.aspose.app/slides/conversion/odp-to-html), usw. + +[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) + +Schauen Sie sich weitere [kostenlose Konverter von Aspose](https://products.aspose.app/slides/conversion) an. + +{{% /alert %}} + +{{% alert title="Note" color="warning" %}} + +Neben den hier beschriebenen Konvertierungsprozessen unterstützt Aspose.Slides zudem diese Konvertierungsoperationen im Zusammenhang mit dem HTML-Format: + +* [HTML zu Bild](https://products.aspose.com/slides/net/conversion/html-to-image/) +* [HTML zu JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) +* [HTML zu XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) +* [HTML zu TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) + +{{% /alert %}} + +## **FAQ** + +**Wie ist die Leistung von Aspose.Slides bei der Konvertierung mehrerer Präsentationen nach HTML?** + +Die Leistung hängt von Größe und Komplexität der Präsentationen ab. Aspose.Slides ist für Batch-Operationen hoch effizient und skalierbar. Um bei der Konvertierung vieler Präsentationen optimale Leistung zu erzielen, wird empfohlen, nach Möglichkeit Multithreading oder Parallelverarbeitung zu nutzen. + +**Unterstützt Aspose.Slides das Exportieren von Hyperlinks nach HTML?** + +Ja, Aspose.Slides unterstützt das Exportieren eingebetteter Hyperlinks nach HTML vollständig. Beim Konvertieren von Präsentationen in das HTML-Format werden Hyperlinks automatisch erhalten und bleiben anklickbar. + +**Gibt es eine Begrenzung der Folienzahl beim Konvertieren von Präsentationen nach HTML?** + +Es gibt keine Begrenzung der Folienzahl bei der Verwendung von Aspose.Slides. Sie können Präsentationen beliebiger Größe konvertieren. Bei sehr großen Präsentationen kann die Leistung jedoch von den verfügbaren Ressourcen Ihres Servers oder Systems abhängen. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md index 891b571505..03d8635045 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md @@ -1,107 +1,92 @@ --- -title: PowerPoint in JPG umwandeln in C# -linktitle: PowerPoint PPT in JPG umwandeln +title: PPT, PPTX und ODP in JPG konvertieren in C# +linktitle: Folien in JPG-Bilder konvertieren type: docs weight: 60 url: /de/net/convert-powerpoint-to-jpg/ keywords: -- PowerPoint-Präsentation umwandeln -- JPG -- JPEG -- PowerPoint in JPG -- PowerPoint in JPEG -- PPT in JPG -- PPTX in JPG -- PPT in JPEG -- PPTX in JPEG +- PowerPoint in JPG konvertieren +- Präsentation in JPG konvertieren +- Folie in JPG konvertieren +- PPT in JPG konvertieren +- PPTX in JPG konvertieren +- ODP in JPG konvertieren +- PowerPoint zu JPG +- Präsentation zu JPG +- Folie zu JPG +- PPT zu JPG +- PPTX zu JPG +- ODP zu JPG +- PowerPoint in JPEG konvertieren +- Präsentation in JPEG konvertieren +- Folie in JPEG konvertieren +- PPT in JPEG konvertieren +- PPTX in JPEG konvertieren +- ODP in JPEG konvertieren +- PowerPoint zu JPEG +- Präsentation zu JPEG +- Folie zu JPEG +- PPT zu JPEG +- PPTX zu JPEG +- ODP zu JPEG - C# - Csharp - .NET - Aspose.Slides -description: "PowerPoint in JPG umwandeln in C# oder .NET. Folie als JPG-Bild speichern" +description: "Erfahren Sie, wie Sie Ihre Folien aus PowerPoint- und OpenDocument-Präsentationen mit nur wenigen Codezeilen in hochwertige JPEG-Bilder umwandeln. Optimieren Sie Präsentationen für die Webnutzung, das Teilen und die Archivierung. Lesen Sie jetzt den vollständigen Leitfaden!" --- ## **Überblick** -Dieser Artikel erklärt, wie man eine PowerPoint-Präsentation im JPG-Format mithilfe von C# umwandelt. Er behandelt die folgenden Themen: +Das Konvertieren von PowerPoint‑ und OpenDocument‑Präsentationen in JPG‑Bilder erleichtert das Teilen von Folien, die Optimierung der Leistung und das Einbetten von Inhalten in Websites oder Anwendungen. Aspose.Slides für .NET ermöglicht es, PPTX‑, PPT‑ und ODP‑Dateien in hochwertige JPEG‑Bilder zu verwandeln. Dieser Leitfaden erklärt verschiedene Methoden zur Konvertierung. -- [C# PowerPoint in JPG umwandeln](#convert-powerpoint-pptpptx-to-jpg) -- [C# PPT in JPG umwandeln](#convert-powerpoint-pptpptx-to-jpg) -- [C# PPTX in JPG umwandeln](#convert-powerpoint-pptpptx-to-jpg) -- [C# ODP in JPG umwandeln](#convert-powerpoint-pptpptx-to-jpg) -- [C# PowerPoint-Folie in Bild umwandeln](#convert-powerpoint-pptpptx-to-jpg) +Mit diesen Funktionen ist es einfach, Ihren eigenen Präsentations‑Viewer zu implementieren und für jede Folie ein Miniaturbild zu erstellen. Dies kann nützlich sein, wenn Sie Folien vor dem Kopieren schützen oder die Präsentation im Nur‑Lese‑Modus demonstrieren möchten. Aspose.Slides ermöglicht es, die gesamte Präsentation oder eine bestimmte Folie in Bildformate zu konvertieren. -## **C# PowerPoint in JPG** +## **Präsentationsfolien in JPG‑Bilder konvertieren** -Für Beispielcode in C#, um PowerPoint in JPG umzuwandeln, siehe den Abschnitt unten, d.h. [PowerPoint in JPG umwandeln](#convert-powerpoint-pptpptx-to-jpg). Der Code kann mehrere Formate wie PPT, PPTX und ODP im Präsentationsobjekt laden und dann das Miniaturbild der Folien im JPG-Format speichern. Die anderen PowerPoint zu Bild-Konversionen, die ähnlich wie PNG, BMP, TIFF und SVG sind, werden in diesen Artikeln behandelt. - -- [C# PowerPoint in PNG umwandeln](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -- [C# PowerPoint in BMP umwandeln](#convert-powerpoint-pptpptx-to-jpg) -- [C# PowerPoint in TIFF umwandeln](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) -- [C# PowerPoint in SVG umwandeln](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) - -## **Über die Umwandlung von PowerPoint in JPG** -Mit der [**Aspose.Slides .NET API**](https://products.aspose.com/slides/net/) können Sie eine PowerPoint PPT oder PPTX-Präsentation in ein JPG-Bild konvertieren. Es ist auch möglich, PPT/PPTX in BMP, PNG oder SVG umzuwandeln. Mit diesen Funktionen ist es einfach, Ihren eigenen Präsentationsbetrachter zu implementieren und das Miniaturbild für jede Folie zu erstellen. Dies kann nützlich sein, wenn Sie Präsentationsfolien vor dem Urheberrecht schützen oder die Präsentation im Nur-Lese-Modus demonstrieren möchten. Aspose.Slides ermöglicht es, die gesamte Präsentation oder eine bestimmte Folie in Bildformate umzuwandeln. - -{{% alert color="primary" %}} - -Um zu sehen, wie Aspose.Slides PowerPoint in JPG-Bilder umwandelt, möchten Sie vielleicht diese kostenlosen Online-Konverter ausprobieren: PowerPoint [PPTX in JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) und [PPT in JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg). - -{{% /alert %}} - -![todo:image_alt_text](ppt-to-jpg.png) - -## **PowerPoint PPT/PPTX in JPG umwandeln** -Hier sind die Schritte, um PPT/PPTX in JPG umzuwandeln: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Holen Sie sich das Folienobjekt vom Typ [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) aus der [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) Sammlung. -3. Erstellen Sie das Miniaturbild jeder Folie und wandeln Sie es dann in JPG um. Die Methode [**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) wird verwendet, um ein Miniaturbild einer Folie zu erhalten, sie gibt ein [Bitmap](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.bitmap?view=netframework-4.8) Objekt als Ergebnis zurück. Die [GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) Methode muss von der benötigten Folie vom Typ [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) aufgerufen werden, die Skalen des resultierenden Miniaturbildes werden in die Methode übergeben. -4. Nachdem Sie das Miniaturbild der Folie erhalten haben, rufen Sie die Methode [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8) vom Miniaturbildobjekt auf. Übergeben Sie den resultierenden Dateinamen und das Bildformat. +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Rufen Sie das Folienobjekt vom Typ [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) aus der Sammlung [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) ab. +3. Erstellen Sie ein Bild der Folie mit der Methode [ISlide.GetImage(float, float)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5). +4. Rufen Sie die Methode [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3) auf dem Bildobjekt auf. Übergeben Sie den Ausgabedateinamen und das Bildformat als Argumente. {{% alert color="primary" %}} -**Hinweis**: Die Umwandlung von PPT/PPTX in JPG unterscheidet sich von der Umwandlung in andere Typen in der Aspose.Slides .NET API. Für andere Typen verwenden Sie normalerweise die Methode [**IPresentation.SaveMethod(String, SaveFormat, ISaveOptions)** ](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5), aber hier benötigen Sie die Methode [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8). +**Hinweis:** Die Konvertierung von PPT, PPTX oder ODP nach JPG unterscheidet sich von der Konvertierung in andere Formate in der Aspose.Slides .NET‑API. Für andere Formate verwenden Sie typischerweise die Methode [IPresentation.Save(String, SaveFormat, ISaveOptions)](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/save/#save_5). Für die JPG‑Konvertierung müssen Sie jedoch die Methode [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3) verwenden. {{% /alert %}} - ```c# -const int imageScale = 1; +int scaleX = 1; +int scaleY = scaleX; -using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt")) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.ppt")) { - foreach (ISlide slide in pres.Slides) + foreach (ISlide slide in presentation.Slides) { - // Erstellt ein Bild in voller Größe - using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) + // Erstelle ein Bild der Folie mit dem angegebenen Maßstab. + using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) { - // Speichert das Bild auf der Festplatte im JPEG-Format - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // Speichere das Bild im JPEG-Format auf der Festplatte. + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } } ``` -## **PowerPoint PPT/PPTX in JPG mit benutzerdefinierten Abmessungen umwandeln** -Um die Abmessungen des resultierenden Miniaturbilds und JPEG-Bilds zu ändern, können Sie die Werte *ScaleX* und *ScaleY* festlegen, indem Sie sie in die [**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) Methode übergeben: -```c# -using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx")) -{ - // Definiert Abmessungen - int desiredX = 1200; - int desiredY = 800; +## **Folien in JPG mit benutzerdefinierten Abmessungen konvertieren** - // Holt die skalierenden Werte von X und Y - float scaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX; - float scaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY; +Um die Abmessungen der resultierenden JPG‑Bilder zu ändern, können Sie die Bildgröße festlegen, indem Sie sie an die Methode [ISlide.GetImage(Size)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_6) übergeben. Dies ermöglicht die Erstellung von Bildern mit spezifischen Breiten‑ und Höhenwerten, sodass die Ausgabe Ihren Anforderungen an Auflösung und Seitenverhältnis entspricht. Diese Flexibilität ist besonders nützlich beim Erzeugen von Bildern für Webanwendungen, Berichte oder Dokumentationen, bei denen präzise Bildabmessungen erforderlich sind. +```c# +Size imageSize = new Size(1200, 800); - foreach (ISlide slide in pres.Slides) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.pptx")) +{ + foreach (ISlide slide in presentation.Slides) { - // Erstellt ein Bild in voller Größe - using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) + // Erstelle ein Bild der Folie mit der angegebenen Größe. + using (IImage thumbnail = slide.GetImage(imageSize)) { - // Speichert das Bild auf der Festplatte im JPEG-Format - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // Speichere das Bild im JPEG-Format auf der Festplatte. + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } @@ -109,42 +94,76 @@ using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx")) ``` -## **Kommentare rendern beim Speichern der Präsentation als Bild** -Aspose.Slides für .NET bietet eine Funktion, die es Ihnen ermöglicht, Kommentare in den Folien einer Präsentation zu rendern, wenn Sie diese Folien in Bilder umwandeln. Dieser C#-Code demonstriert den Vorgang: +## **Kommentare beim Speichern von Folien als Bilder rendern** + +Aspose.Slides für .NET bietet eine Funktion, mit der Kommentare auf den Folien einer Präsentation beim Konvertieren in JPG‑Bilder gerendert werden können. Diese Funktion ist besonders nützlich, um Anmerkungen, Feedback oder Diskussionen, die von Mitwirkenden in PowerPoint‑Präsentationen hinzugefügt wurden, zu erhalten. Durch das Aktivieren dieser Option werden Kommentare in den generierten Bildern sichtbar, sodass Sie das Feedback leichter prüfen und teilen können, ohne die Originalpräsentation öffnen zu müssen. + +Angenommen, wir haben eine Präsentationsdatei "sample.pptx" mit einer Folie, die Kommentare enthält: +![The slide with comments](slide_with_comments.png) + +Der folgende C#‑Code konvertiert die Folie in ein JPG‑Bild und bewahrt die Kommentare: ```c# -using (Presentation presentation = new Presentation("test.pptx")) +int scaleX = 2; +int scaleY = scaleX; + +using (Presentation presentation = new Presentation("sample.pptx")) { IRenderingOptions options = new RenderingOptions { + // Optionen für die Folienkommentare festlegen. SlidesLayoutOptions = new NotesCommentsLayoutingOptions { - NotesPosition = NotesPositions.BottomTruncated, - CommentsAreaColor = Color.Red, + CommentsPosition = CommentsPositions.Right, CommentsAreaWidth = 200, - CommentsPosition = CommentsPositions.Right + CommentsAreaColor = Color.DarkOrange } }; - using (IImage image = presentation.Slides[0].GetImage(options)) + // Erste Folie in ein Bild konvertieren. + using (IImage image = presentation.Slides[0].GetImage(options, scaleX, scaleY)) { - image.Save("OutPresBitmap.png", ImageFormat.Png); + image.Save("Slide_1.jpg", ImageFormat.Jpeg); } - - System.Diagnostics.Process.Start("OutPresBitmap.png"); } ``` -{{% alert title="Tipp" color="primary" %}} -Aspose bietet eine [KOSTENLOSE Collage-Webanwendung](https://products.aspose.app/slides/collage). Mit diesem Online-Dienst können Sie [JPG zu JPG](https://products.aspose.app/slides/collage/jpg) oder PNG zu PNG-Bildern zusammenführen, [Fotokollagen](https://products.aspose.app/slides/collage/photo-grid) erstellen und so weiter. +Das Ergebnis: + +![The JPG image with comments](image_with_comments.png) + +## **Siehe auch** + +- [PowerPoint in GIF konvertieren](/slides/de/net/convert-powerpoint-to-animated-gif/) +- [PowerPoint in PNG konvertieren](/slides/de/net/convert-powerpoint-to-png/) +- [PowerPoint in TIFF konvertieren](/slides/de/net/convert-powerpoint-to-tiff/) +- [PowerPoint nach SVG rendern](/slides/de/net/render-a-slide-as-an-svg-image/) + +{{% alert color="primary" %}} +Um zu sehen, wie Aspose.Slides PowerPoint in JPG‑Bilder konvertiert, testen Sie diese kostenlosen Online‑Konverter: PowerPoint [PPTX zu JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) und [PPT zu JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg). +{{% /alert %}} + +![Free Online PPTX to JPG Converter](ppt-to-jpg.png) + +{{% alert title="Tip" color="primary" %}} -Unter Verwendung derselben Prinzipien, die in diesem Artikel beschrieben sind, können Sie Bilder von einem Format in ein anderes konvertieren. Für weitere Informationen siehe diese Seiten: [Bild in JPG umwandeln](https://products.aspose.com/slides/net/conversion/image-to-jpg/); [JPG in Bild umwandeln](https://products.aspose.com/slides/net/conversion/jpg-to-image/); [JPG in PNG umwandeln](https://products.aspose.com/slides/net/conversion/jpg-to-png/), [PNG in JPG umwandeln](https://products.aspose.com/slides/net/conversion/png-to-jpg/); [PNG in SVG umwandeln](https://products.aspose.com/slides/net/conversion/png-to-svg/), [SVG in PNG umwandeln](https://products.aspose.com/slides/net/conversion/svg-to-png/). +Aspose bietet eine [KOSTENLOSE Collage-Web‑App](https://products.aspose.app/slides/collage). Mit diesem Online‑Dienst können Sie [JPG zu JPG](https://products.aspose.app/slides/collage/jpg) oder PNG zu PNG‑Bilder zusammenführen, [Fotogitter](https://products.aspose.app/slides/collage/photo-grid) erstellen usw. + +Mit denselben Prinzipien, die in diesem Artikel beschrieben werden, können Sie Bilder von einem Format in ein anderes konvertieren. Weitere Informationen finden Sie auf diesen Seiten: konvertieren [image to JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); konvertieren [JPG to image](https://products.aspose.com/slides/net/conversion/jpg-to-image/); konvertieren [JPG to PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/); konvertieren [PNG to JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); konvertieren [PNG to SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/); konvertieren [SVG to PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -## **Siehe auch** +## **FAQ** + +**Unterstützt diese Methode die Stapelkonvertierung?** + +Ja, Aspose.Slides ermöglicht die Stapelkonvertierung mehrerer Folien zu JPG in einem einzigen Vorgang. + +**Unterstützt die Konvertierung SmartArt, Diagramme und andere komplexe Objekte?** + +Ja, Aspose.Slides rendert alle Inhalte, einschließlich SmartArt, Diagramme, Tabellen, Formen und mehr. Die Rendering‑Genauigkeit kann jedoch leicht von PowerPoint abweichen, insbesondere bei benutzerdefinierten oder fehlenden Schriftarten. -Siehe andere Optionen, um PPT/PPTX in Bilder umzuwandeln wie: +**Gibt es Einschränkungen bezüglich der Anzahl der verarbeitbaren Folien?** -- [PPT/PPTX in SVG-Umwandlung](/slides/de/net/render-a-slide-as-an-svg-image/). \ No newline at end of file +Aspose.Slides selbst legt keine strengen Begrenzungen für die Anzahl der verarbeitbaren Folien fest. Bei sehr großen Präsentationen oder hochauflösenden Bildern können jedoch Out‑Of‑Memory‑Fehler auftreten. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md index f7ec4f3c92..ce04225328 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md @@ -3,29 +3,28 @@ title: PowerPoint in Markdown konvertieren in C# type: docs weight: 140 url: /de/net/convert-powerpoint-to-markdown/ -keywords: "PowerPoint in Markdown konvertieren, ppt in md konvertieren, PowerPoint, PPT, PPTX, Präsentation, Markdown, C#, Csharp, .NET, Aspose.Slides" +keywords: "PowerPoint in Markdown konvertieren, ppt zu md konvertieren, PowerPoint, PPT, PPTX, Präsentation, Markdown, C#, Csharp, .NET, Aspose.Slides" description: "PowerPoint in Markdown konvertieren in C#" --- {{% alert color="info" %}} -Die Unterstützung für die Konvertierung von PowerPoint zu Markdown wurde in [Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/) implementiert. +Die Unterstützung für die Konvertierung von PowerPoint nach Markdown wurde in [Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/) implementiert. {{% /alert %}} {{% alert color="warning" %}} -Der Export von PowerPoint zu Markdown erfolgt standardmäßig **ohne Bilder**. Wenn Sie ein PowerPoint-Dokument mit Bildern exportieren möchten, müssen Sie `ExportType = MarkdownExportType.Visual` setzen und den BasePath angeben, unter dem die im Markdown-Dokument referenzierten Bilder gespeichert werden. +Der Export von PowerPoint nach Markdown erfolgt standardmäßig **ohne Bilder**. Wenn Sie ein PowerPoint-Dokument mit Bildern exportieren möchten, müssen Sie `ExportType = MarkdownExportType.Visual` festlegen und den BasePath setzen, in dem die im Markdown-Dokument referenzierten Bilder gespeichert werden. {{% /alert %}} -## **PowerPoint in Markdown konvertieren** +## **PowerPoint nach Markdown konvertieren** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse, um ein Präsentationsobjekt darzustellen. -2. Verwenden Sie die [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) Methode, um das Objekt als Markdown-Datei zu speichern. - -Dieser C#-Code zeigt Ihnen, wie Sie PowerPoint in Markdown konvertieren: +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), um ein Präsentationsobjekt zu repräsentieren. +2. Verwenden Sie die Methode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save), um das Objekt als Markdown-Datei zu speichern. +Dieser C#‑Code zeigt, wie PowerPoint nach Markdown konvertiert wird: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -33,12 +32,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## PowerPoint in Markdown Flavor konvertieren -Aspose.Slides ermöglicht es Ihnen, PowerPoint in Markdown (mit grundlegender Syntax), CommonMark, GitHub-flavored Markdown, Trello, XWiki, GitLab und 17 andere Markdown-Flavors zu konvertieren. +## **PowerPoint in Markdown‑Varianten konvertieren** -Dieser C#-Code zeigt Ihnen, wie Sie PowerPoint in CommonMark konvertieren: +Aspose.Slides ermöglicht die Konvertierung von PowerPoint nach Markdown (mit Grundsyntax), CommonMark, GitHub‑flavored Markdown, Trello, XWiki, GitLab und weiteren 17 Markdown‑Varianten. +Dieser C#‑Code zeigt, wie PowerPoint nach CommonMark konvertiert wird: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -49,16 +48,16 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Die 23 unterstützten Markdown-Flavors sind [unter der Flavor-Enumeration](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) aus der [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) Klasse aufgelistet. + +Die 23 unterstützten Markdown‑Varianten sind im [Flavor‑Enum](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) der Klasse [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) aufgelistet. ## **Präsentation mit Bildern in Markdown konvertieren** -Die [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) Klasse bietet Eigenschaften und Enumerationen, die es Ihnen ermöglichen, bestimmte Optionen oder Einstellungen für die resultierende Markdown-Datei zu verwenden. Der [MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/) Enum kann beispielsweise auf Werte gesetzt werden, die bestimmen, wie Bilder gerendert oder behandelt werden: `Sequential`, `TextOnly`, `Visual`. +Die Klasse [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) bietet Eigenschaften und Aufzählungen, mit denen Sie bestimmte Optionen oder Einstellungen für die resultierende Markdown‑Datei festlegen können. Das Enum [MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/) kann beispielsweise auf Werte gesetzt werden, die bestimmen, wie Bilder gerendert oder behandelt werden: `Sequential`, `TextOnly`, `Visual`. ### **Bilder sequenziell konvertieren** -Wenn Sie möchten, dass die Bilder einzeln nacheinander im resultierenden Markdown erscheinen, müssen Sie die sequenzielle Option wählen. Dieser C#-Code zeigt Ihnen, wie Sie eine Präsentation mit Bildern in Markdown konvertieren: - +Wenn die Bilder einzeln nacheinander im resultierenden Markdown erscheinen sollen, wählen Sie die sequenzielle Option. Dieser C#‑Code zeigt, wie eine Präsentation mit Bildern nach Markdown konvertiert wird: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -75,12 +74,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **Bilder visuell konvertieren** -Wenn Sie möchten, dass die Bilder zusammen im resultierenden Markdown erscheinen, müssen Sie die visuelle Option wählen. In diesem Fall werden die Bilder im aktuellen Verzeichnis der Anwendung gespeichert (und ein relativer Pfad für sie im Markdown-Dokument erstellt), oder Sie können Ihren bevorzugten Pfad und Ordnernamen angeben. +### **Bilder visuell konvertieren** -Dieser C#-Code demonstriert die Operation: +Wenn die Bilder gemeinsam im resultierenden Markdown erscheinen sollen, wählen Sie die visuelle Option. In diesem Fall werden die Bilder im aktuellen Verzeichnis der Anwendung gespeichert (und ein relativer Pfad wird im Markdown‑Dokument erzeugt), oder Sie können Ihren bevorzugten Pfad und Ordnernamen angeben. +Dieser C#‑Code demonstriert den Vorgang: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -92,4 +91,19 @@ using (Presentation pres = new Presentation("pres.pptx")) BasePath = outPath }); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Bleiben Hyperlinks beim Export nach Markdown erhalten?** + +Ja. Text-[Hyperlinks](/slides/de/net/manage-hyperlinks/) werden als standardmäßige Markdown‑Links beibehalten. Folien-[Übergänge](/slides/de/net/slide-transition/) und -[Animationen](/slides/de/net/powerpoint-animation/) werden nicht konvertiert. + +**Kann ich die Konvertierung beschleunigen, indem ich sie in mehreren Threads ausführe?** + +Sie können die Verarbeitung dateiweise parallelisieren, aber [teilen Sie nicht](/slides/de/net/multithreading/) dieselbe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Instanz über Threads hinweg. Verwenden Sie für jede Datei separate Instanzen/Prozesse, um Konkurrenz zu vermeiden. + +**Was passiert mit den Bildern – wo werden sie gespeichert und sind die Pfade relativ?** + +[Bilder](/slides/de/net/image/) werden in einen eigenen Ordner exportiert, und die Markdown‑Datei verweist standardmäßig mit relativen Pfaden darauf. Sie können den Basisausgabepfad und den Asset‑Ordnernamen konfigurieren, um eine vorhersehbare Repository‑Struktur beizubehalten. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index 9f5d4bc91d..9bd3783c24 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,15 +1,20 @@ --- -title: PowerPoint in PDF umwandeln in C# -linktitle: PowerPoint in PDF umwandeln +title: Konvertieren Sie PPT und PPTX zu PDF in C# [Erweiterte Funktionen enthalten] +linktitle: PPT und PPTX zu PDF konvertieren type: docs weight: 40 url: /de/net/convert-powerpoint-to-pdf/ keywords: -- PowerPoint umwandeln -- Präsentation -- PowerPoint in PDF -- PPT in PDF -- PPTX in PDF +- PowerPoint konvertieren +- Präsentation konvertieren +- PowerPoint zu PDF +- Präsentation zu PDF +- PPT zu PDF +- PPT zu PDF konvertieren +- PPTX zu PDF +- PPTX zu PDF konvertieren +- ODP zu PDF +- ODP zu PDF konvertieren - PowerPoint als PDF speichern - PDF/A1a - PDF/A1b @@ -17,173 +22,166 @@ keywords: - C# - Csharp - .NET -- Aspose.Slides für .NET -description: "Wandeln Sie PowerPoint-Präsentationen in PDF in C# oder .NET um. Speichern Sie PowerPoint als PDF mit Konformitäts- oder Barrierefreiheitsstandards." +- Aspose.Slides for .NET +description: "Erfahren Sie, wie Sie PPT-, PPTX- und ODP-Präsentationen mit Aspose.Slides in C# oder .NET zu PDF konvertieren. Implementieren Sie erweiterte Funktionen wie Passwortschutz, Compliance-Standards und benutzerdefinierte Optionen für hochwertige, barrierefreie PDF-Dokumente." --- -## **Überblick** +## **Übersicht** -Die Umwandlung von PowerPoint-Dokumenten in das PDF-Format bietet mehrere Vorteile, darunter die Gewährleistung der Kompatibilität über verschiedene Geräte hinweg und die Bewahrung des Layouts und der Formatierung Ihrer Präsentation. Dieser Artikel zeigt Ihnen, wie Sie Präsentationen in PDF-Dokumente umwandeln, verschiedene Optionen zur Kontrolle der Bildqualität verwenden, versteckte Folien einfügen, PDF-Dokumente passwortschützen, Schriftartsubstitutionen erkennen, Folien zur Umwandlung auswählen und Konformitätsstandards für Ausgabedokumente anwenden. +Das Konvertieren von PowerPoint-Präsentationen (PPT, PPTX, ODP usw.) in das PDF-Format in C# bietet mehrere Vorteile, darunter Kompatibilität über verschiedene Geräte hinweg und das Erhalten des Layouts und der Formatierung Ihrer Präsentation. Dieser Leitfaden zeigt, wie man Präsentationen in PDF-Dokumente konvertiert, verschiedene Optionen verwendet, um die Bildqualität zu steuern, versteckte Folien einzuschließen, PDF-Dateien mit einem Passwort zu schützen, Schriftarten‑Ersetzungen zu erkennen, bestimmte Folien für die Konvertierung auszuwählen und Compliance‑Standards auf die Ausgabedokumente anzuwenden. -## **PowerPoint in PDF Umwandlungen** +## **PowerPoint-zu-PDF-Konvertierungen** -Mit Aspose.Slides können Sie Präsentationen in diesen Formaten in PDF umwandeln: +Mit Aspose.Slides können Sie Präsentationen in den folgenden Formaten in PDF konvertieren: -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -Um eine Präsentation in PDF umzuwandeln, müssen Sie lediglich den Dateinamen als Argument in der [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse übergeben und dann die Präsentation mit einer [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) Methode als PDF speichern. Die [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse stellt die [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/#presentationsave-method-5-of-9) Methode zur Verfügung, die typischerweise verwendet wird, um eine Präsentation in PDF umzuwandeln. - -{{% alert title="HINWEIS" color="warning" %}} - -Aspose.Slides für .NET schreibt direkt API-Informationen und Versionsnummern in die Ausgabedokumente. Zum Beispiel, wenn sie eine Präsentation in PDF umwandelt, füllt Aspose.Slides für .NET das Anwendungsfeld mit dem Wert '*Aspose.Slides*' und das PDF-Produzentenfeld mit einem Wert in der Form '*Aspose.Slides v XX.XX*'. **Hinweis**: Sie können Aspose.Slides für .NET nicht anweisen, diese Informationen aus den Ausgabedokumenten zu ändern oder zu entfernen. +Um eine Präsentation in PDF zu konvertieren, übergeben Sie den Dateinamen als Argument an die Klasse [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) und speichern dann die Präsentation mit der Methode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) als PDF. Die Klasse [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) stellt die Methode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) bereit, die typischerweise zum Konvertieren einer Präsentation in PDF verwendet wird. +{{% alert title="HINWEIS" color="warning" %}} +Aspose.Slides für .NET fügt seine API-Informationen und Versionsnummer in Ausgabedokumente ein. Zum Beispiel füllt Aspose.Slides beim Konvertieren einer Präsentation zu PDF das Feld Application mit „*Aspose.Slides*“ und das Feld PDF Producer mit einem Wert in der Form „*Aspose.Slides v XX.XX*“. **Hinweis**: Sie können Aspose.Slides nicht anweisen, diese Informationen aus Ausgabedokumenten zu ändern oder zu entfernen. {{% /alert %}} -Aspose.Slides ermöglicht es Ihnen, Folgendes umzuwandeln: +Aspose.Slides ermöglicht das Konvertieren von: -* eine gesamte Präsentation in PDF -* spezifische Folien in einer Präsentation in PDF -* eine Präsentation +* Gesamten Präsentationen zu PDF +* Spezifischen Folien einer Präsentation zu PDF -Aspose.Slides exportiert Präsentationen in PDF auf eine Weise, die den Inhalt der resultierenden PDFs sehr ähnlich macht wie in den ursprünglichen Präsentationen. Diese bekannten Elemente und Attribute werden oft korrekt bei der Umwandlung von Präsentationen in PDF gerendert: +Aspose.Slides exportiert Präsentationen nach PDF und stellt sicher, dass die resultierenden PDFs dem Original sehr ähnlich sind. Elemente und Attribute werden bei der Konvertierung exakt wiedergegeben, einschließlich: * Bilder -* Textfelder und andere Formen -* Texte und deren Formatierung -* Absätze und deren Formatierung +* Textfelder und Formen +* Textformatierung +* Absatzformatierung * Hyperlinks * Kopf- und Fußzeilen -* Aufzählungen +* Aufzählungszeichen * Tabellen -## **PowerPoint in PDF umwandeln** - -Die Standardoperation zur Umwandlung von PowerPoint in PDF wird mit den Standardoptionen ausgeführt. In diesem Fall versucht Aspose.Slides, die bereitgestellte Präsentation mit optimalen Einstellungen auf den höchsten Qualitätsstufen in PDF umzuwandeln. +## **PowerPoint zu PDF konvertieren** -Dieser C#-Code zeigt Ihnen, wie Sie eine PowerPoint (PPT, PPTX, ODP) in PDF umwandeln: +Der standardmäßige PowerPoint-zu-PDF-Konvertierungsprozess verwendet Standardoptionen. In diesem Fall versucht Aspose.Slides, die bereitgestellte Präsentation mit optimalen Einstellungen und maximaler Qualitätsstufe in PDF zu konvertieren. +Der folgende C#‑Code zeigt, wie man eine Präsentation (PPT, PPTX, ODP usw.) in PDF konvertiert: ```c# -// Erstellt eine Presentation-Klasse, die eine PowerPoint-Datei darstellt, könnte PPT, PPTX, ODP usw. sein. -Presentation presentation = new Presentation("PowerPoint.ppt"); +// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt. +using var presentation = new Presentation("PowerPoint.ppt"); -// Speichert die Präsentation als PDF +// Speichern Sie die Präsentation als PDF. presentation.Save("PDF-result.pdf", SaveFormat.Pdf); ``` -{{% alert color="primary" %}} - -Aspose bietet einen kostenlosen Online-[**PowerPoint zu PDF-Konverter**](https://products.aspose.app/slides/conversion/ppt-to-pdf), der den Prozess der Umwandlung von Präsentationen in PDF demonstriert. Für eine Live-Implementierung des hier beschriebenen Verfahrens können Sie einen Test mit dem Konverter durchführen. +{{% alert color="primary" %}} +Aspose bietet einen kostenlosen Online-[**PowerPoint-zu-PDF-Konverter**](https://products.aspose.app/slides/conversion/ppt-to-pdf), der den Präsentation-zu-PDF-Konvertierungsprozess demonstriert. Sie können mit diesem Konverter einen Test durchführen, um die hier beschriebene Vorgehensweise live zu sehen. {{% /alert %}} -## **PowerPoint in PDF mit Optionen umwandeln** - -Aspose.Slides bietet benutzerdefinierte Optionen – Eigenschaften unter der [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) Klasse – die es Ihnen ermöglichen, das PDF (resultierend aus dem Umwandlungsprozess) anzupassen, das PDF mit einem Passwort zu sperren oder sogar anzugeben, wie der Umwandlungsprozess ablaufen soll. +## **PowerPoint zu PDF mit Optionen konvertieren** -### **PowerPoint in PDF mit benutzerdefinierten Optionen umwandeln** +Aspose.Slides stellt benutzerdefinierte Optionen – Eigenschaften der Klasse [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) – zur Verfügung, mit denen Sie das resultierende PDF anpassen, das PDF mit einem Passwort sichern oder festlegen können, wie der Konvertierungsprozess ablaufen soll. -Mit benutzerdefinierten Umwandlungsoptionen können Sie Ihre bevorzugte Qualitätseinstellung für Rasterbilder festlegen, angeben, wie Metadateien behandelt werden sollen, ein Komprimierungsniveau für Texte festlegen, DPI für Bilder festlegen usw. +### **PowerPoint zu PDF mit benutzerdefinierten Optionen konvertieren** -Das folgende Codebeispiel demonstriert eine Operation, bei der eine PowerPoint-Präsentation mit mehreren benutzerdefinierten Optionen in PDF umgewandelt wird: +Mit benutzerdefinierten Konvertierungsoptionen können Sie Ihre bevorzugte Qualitätseinstellung für Rasterbilder festlegen, bestimmen, wie Metadateien behandelt werden sollen, ein Kompressionsniveau für Text setzen, DPI für Bilder konfigurieren und mehr. +Das nachstehende Codebeispiel demonstriert, wie man eine PowerPoint‑Präsentation mit mehreren benutzerdefinierten Optionen in PDF konvertiert: ```c# -// Erstellt die PdfOptions-Klasse -PdfOptions pdfOptions = new PdfOptions +// Instanziieren Sie die PdfOptions-Klasse. +var pdfOptions = new PdfOptions { - // Legt die Qualität für JPG-Bilder fest + // Legen Sie die Qualität für JPG-Bilder fest. JpegQuality = 90, - // Legt DPI für Bilder fest + // Legen Sie die DPI für Bilder fest. SufficientResolution = 300, - // Legt das Verhalten für Metadateien fest + // Definieren Sie das Verhalten für Metadateien. SaveMetafilesAsPng = true, - // Legt das Textkomprimierungsniveau für textliche Inhalte fest + // Legen Sie die Textkomprimierungsstufe für textuelle Inhalte fest. TextCompression = PdfTextCompression.Flate, - // Definiert den PDF-Konformitätsmodus + // Definieren Sie den PDF-Konformitätsmodus. Compliance = PdfCompliance.Pdf15 }; -// Erstellt die Presentation-Klasse, die ein PowerPoint-Dokument darstellt -using (Presentation presentation = new Presentation("PowerPoint.pptx")) -{ - // Speichert die Präsentation als PDF-Dokument - presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); -} +// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt. +using var presentation = new Presentation("PowerPoint.pptx"); + +// Speichern Sie die Präsentation als PDF-Dokument. +presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **PowerPoint in PDF mit versteckten Folien umwandeln** -Wenn eine Präsentation versteckte Folien enthält, können Sie eine benutzerdefinierte Option – die [`ShowHiddenSlides`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) Eigenschaft der [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) Klasse – verwenden, um Aspose.Slides anzuweisen, die versteckten Folien als Seiten im resultierenden PDF einzuschließen. +### **PowerPoint zu PDF mit versteckten Folien konvertieren** -Dieser C#-Code zeigt Ihnen, wie Sie eine PowerPoint-Präsentation in PDF umwandeln, wobei versteckte Folien enthalten sind: +Enthält eine Präsentation versteckte Folien, können Sie die Eigenschaft [ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) der Klasse [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) verwenden, um die versteckten Folien als Seiten in das resultierende PDF aufzunehmen. +Der folgende C#‑Code zeigt, wie man eine PowerPoint‑Präsentation mit einbezogenen versteckten Folien in PDF konvertiert: ```c# -// Erstellt eine Presentation-Klasse, die eine PowerPoint-Datei darstellt -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt. +using var presentation = new Presentation("PowerPoint.pptx"); -// Erstellt die PdfOptions-Klasse -PdfOptions pdfOptions = new PdfOptions(); +// Instanziieren Sie die PdfOptions-Klasse. +var pdfOptions = new PdfOptions(); -// Fügt versteckte Folien hinzu +// Versteckte Folien hinzufügen. pdfOptions.ShowHiddenSlides = true; -// Speichert die Präsentation als PDF +// Speichern Sie die Präsentation als PDF. presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **PowerPoint in passwortgeschütztes PDF umwandeln** -Dieser C#-Code zeigt Ihnen, wie Sie eine PowerPoint in ein passwortgeschütztes PDF (unter Verwendung von Schutzparametern aus der [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) Klasse) umwandeln: +### **PowerPoint zu passwortgeschütztem PDF konvertieren** +Der folgende C#‑Code demonstriert, wie man eine PowerPoint‑Präsentation mit den Schutzparametern der Klasse [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) in ein passwortgeschütztes PDF konvertiert: ```c# -// Erstellt ein Presentation-Objekt, das eine PowerPoint-Datei darstellt -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt. +using var presentation = new Presentation("PowerPoint.pptx"); -/// Erstellt die PdfOptions-Klasse -PdfOptions pdfOptions = new PdfOptions(); +// Instanziieren Sie die PdfOptions-Klasse. +var pdfOptions = new PdfOptions(); -// Legt das PDF-Passwort und die Zugriffsberechtigungen fest +// Setzen Sie ein PDF-Passwort und Zugriffsrechte. pdfOptions.Password = "password"; pdfOptions.AccessPermissions = PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint; -// Speichert die Präsentation als PDF +// Speichern Sie die Präsentation als PDF. presentation.Save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **Schriftartsubstitutionen erkennen** -Aspose.Slides bietet die [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) Eigenschaft unter der [SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/) Klasse, um Ihnen zu ermöglichen, Schriftartsubstitutionen im Umwandlungsprozess von Präsentationen in PDF zu erkennen. +### **Schriftarten‑Ersetzungen erkennen** -Dieser C#-Code zeigt Ihnen, wie Sie Schriftartsubstitutionen erkennen: xxx +Aspose.Slides stellt die Eigenschaft [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) der Klasse [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) bereit, mit der Sie Schriftarten‑Ersetzungen während des Präsentation‑zu‑PDF‑Konvertierungsprozesses erkennen können. +Der folgende C#‑Code zeigt, wie man Schriftarten‑Ersetzungen erkennt: ```c# public static void Main() { - LoadOptions loadOptions = new LoadOptions(); - FontSubstSendsWarningCallback warningCallback = new FontSubstSendsWarningCallback(); - loadOptions.WarningCallback = warningCallback; + // Instanzieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt. + using var presentation = new Presentation("sample.pptx"); - using (Presentation pres = new Presentation("pres.pptx", loadOptions)) - { - } + // Setzen Sie den Warn-Callback in den PDF-Optionen. + var pdfOptions = new PdfOptions(); + pdfOptions.WarningCallback = new FontSubstitutionHandler(); + + // Speichern Sie die Präsentation als PDF. + presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); } -private class FontSubstSendsWarningCallback : IWarningCallback +// Implementierung des Warn-Callbacks. +private class FontSubstitutionHandler : IWarningCallback { public ReturnAction Warning(IWarningInfo warning) { - if (warning.WarningType == WarningType.CompatibilityIssue) - return ReturnAction.Continue; - if (warning.WarningType == WarningType.DataLoss && warning.Description.StartsWith("Font will be substituted")) { - Console.WriteLine($"Schriftartsubstitutionswarnung: {warning.Description}"); + Console.WriteLine($"Font substitution warning: {warning.Description}"); } return ReturnAction.Continue; @@ -191,97 +189,127 @@ private class FontSubstSendsWarningCallback : IWarningCallback } ``` -{{% alert color="primary" %}} - -Für weitere Informationen zum Abrufen von Rückrufen für Schriftartsubstitutionen in einem Rendering-Prozess siehe [Erhalten von Warnrückrufen für Schriftartsubstitution](https://docs.aspose.com/slides/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/). -Für weitere Informationen zur Schriftartsubstitution siehe den Artikel [Schriftartsubstitution](https://docs.aspose.com/slides/net/font-substitution/). +{{% alert color="primary" %}} +Für weitere Informationen zum Empfangen von Callbacks für Schriftarten‑Ersetzungen während des Render‑Vorgangs siehe [Getting Warning Callbacks for Fonts Substitution](/slides/de/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/). -{{% /alert %}} - -## **Ausgewählte Folien in PowerPoint in PDF umwandeln** +Für weitere Informationen zu Schriftarten‑Ersetzungen siehe den Artikel [Font Substitution](/slides/de/net/font-substitution/). +{{% /alert %}} -Dieser C#-Code zeigt Ihnen, wie Sie spezifische Folien in einer PowerPoint-Präsentation in PDF umwandeln: +## **Ausgewählte Folien von PowerPoint zu PDF konvertieren** +Der folgende C#‑Code demonstriert, wie man nur bestimmte Folien einer PowerPoint‑Präsentation in PDF konvertiert: ```c# -// Erstellt ein Presentation-Objekt, das eine PowerPoint-Datei darstellt -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Instanziieren Sie die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt. +using var presentation = new Presentation("PowerPoint.pptx"); -// Legt ein Array mit Folienpositionen fest +// Legen Sie ein Array von Foliennummern fest. int[] slides = { 1, 3 }; -// Speichert die Präsentation als PDF +// Speichern Sie die Präsentation als PDF. presentation.Save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf); ``` -## **PowerPoint in PDF mit benutzerdefinierter Foliengröße umwandeln** -Dieser C#-Code zeigt Ihnen, wie Sie eine PowerPoint umwandeln, wenn die Foliengröße spezifiziert ist: +## **PowerPoint zu PDF mit benutzerdefinierter Foliengröße konvertieren** +Der folgende C#‑Code demonstriert, wie man eine PowerPoint‑Präsentation mit einer angegebenen Foliengröße in PDF konvertiert: ```c# -// Erstellt ein Presentation-Objekt, das eine PowerPoint-Datei darstellt -Presentation presentation = new Presentation("SelectedSlides.pptx"); -Presentation auxPresentation = new Presentation(); +var slideWidth = 612; +var slideHeight = 792; + +// Load a PowerPoint presentation. +using var presentation = new Presentation("SelectedSlides.pptx"); -ISlide slide = presentation.Slides[0]; -auxPresentation.Slides.InsertClone(0, slide); +// Create a new presentation with an adjusted slide size. +using var resizedPresentation = new Presentation(); -// Legt den Folientyp und die Größe fest -// auxPresentation.SlideSize.SetSize(presentation.SlideSize.Size.Width, presentation.SlideSize.Size.Height,SlideSizeScaleType.EnsureFit); -auxPresentation.SlideSize.SetSize(612F, 792F,SlideSizeScaleType.EnsureFit); +// Set the custom slide size. +resizedPresentation.SlideSize.SetSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit); -PdfOptions pdfOptions = new PdfOptions(); -INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; -options.NotesPosition = NotesPositions.BottomFull; +// Clone the first slide from the original presentation. +var slide = presentation.Slides[0]; +resizedPresentation.Slides.InsertClone(0, slide); -auxPresentation.Save("PDFnotes_out.pdf", SaveFormat.Pdf, pdfOptions); +// Save the resized presentation to a PDF with notes. +resizedPresentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf); ``` -## **PowerPoint in PDF in Notizfolienansicht umwandeln** -Dieser C#-Code zeigt Ihnen, wie Sie eine PowerPoint in PDF-Notizen umwandeln: +## **PowerPoint zu PDF im Notizfolien‑Ansicht konvertieren** +Der folgende C#‑Code demonstriert, wie man eine PowerPoint‑Präsentation in ein PDF konvertiert, das Notizen enthält: ```c# -// Erstellt eine Presentation-Klasse, die eine PowerPoint-Datei darstellt -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// Laden Sie eine PowerPoint-Präsentation. +using var presentation = new Presentation("NotesFile.pptx"); + +// Konfigurieren Sie die PDF-Optionen mit Notizenlayout. +var pdfOptions = new PdfOptions { - PdfOptions pdfOptions = new PdfOptions(); - INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + } +}; - // Speichert die Präsentation in PDF-Notizen - presentation.Save("Pdf_Notes_out.tiff", SaveFormat.Pdf, pdfOptions); -} +// Speichern Sie die Präsentation als PDF mit Notizen. +presentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions); ``` -## **Barrierefreiheits- und Konformitätsstandards für PDF** -Aspose.Slides ermöglicht es Ihnen, ein Umwandlungsverfahren zu verwenden, das den [Web Content Accessibility Guidelines (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html) entspricht. Sie können ein PowerPoint-Dokument in PDF unter Verwendung eines dieser Konformitätsstandards exportieren: **PDF/A1a**, **PDF/A1b** und **PDF/UA**. +## **Barrierefreiheit und Compliance‑Standards für PDF** -Dieser C#-Code demonstriert eine PowerPoint zu PDF Umwandlungsoperation, bei der mehrere PDFs basierend auf unterschiedlichen Konformitätsstandards erstellt werden: +Aspose.Slides ermöglicht die Verwendung eines Konvertierungsverfahrens, das den [Web Content Accessibility Guidelines (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html) entspricht. Sie können ein PowerPoint‑Dokument in PDF mit einem dieser Compliance‑Standards exportieren: **PDF/A1a**, **PDF/A1b** und **PDF/UA**. +Der folgende C#‑Code demonstriert einen PowerPoint‑zu‑PDF‑Konvertierungsprozess, der mehrere PDFs basierend auf unterschiedlichen Compliance‑Standards erzeugt: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using var presentation = new Presentation("pres.pptx"); + +presentation.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions { - pres.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1a - }); - - pres.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1b - }); - - pres.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfUa - }); -} + Compliance = PdfCompliance.PdfA1a +}); + +presentation.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfA1b +}); + +presentation.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfUa +}); ``` + {{% alert title="Hinweis" color="warning" %}} +Aspose.Slides unterstützt PDF‑Konvertierungsoperationen, mit denen Sie PDF‑Dateien in gängige Dateiformate konvertieren können. Sie können [PDF zu HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/), [PDF zu Bild](https://products.aspose.com/slides/net/conversion/pdf-to-image/), [PDF zu JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/) und [PDF zu PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/) Konvertierungen durchführen. Andere PDF‑Konvertierungsoperationen zu spezialisierten Formaten – [PDF zu SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/), [PDF zu TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/), und [PDF zu XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/) – werden ebenfalls unterstützt. +{{% /alert %}} + +## **FAQ** + +**Kann ich mehrere PowerPoint‑Dateien stapelweise in PDF konvertieren?** + +Ja, Aspose.Slides unterstützt die Stapelkonvertierung mehrerer PPT‑ oder PPTX‑Dateien zu PDF. Sie können Ihre Dateien iterativ durchlaufen und den Konvertierungsprozess programmgesteuert anwenden. + +**Ist es möglich, das konvertierte PDF passwortgeschützt zu sichern?** + +Absolut. Verwenden Sie die Klasse [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), um ein Passwort festzulegen und Zugriffsrechte während des Konvertierungsprozesses zu definieren. + +**Wie kann ich versteckte Folien in das PDF einbinden?** + +Setzen Sie die Eigenschaft `ShowHiddenSlides` in der Klasse [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) auf `true`, um versteckte Folien im resultierenden PDF zu berücksichtigen. + +**Kann Aspose.Slides eine hohe Bildqualität im PDF beibehalten?** + +Ja, Sie können die Bildqualität steuern, indem Sie Eigenschaften wie `JpegQuality` und `SufficientResolution` in der Klasse [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) festlegen, um hochqualitative Bilder in Ihrem PDF zu gewährleisten. + +**Unterstützt Aspose.Slides PDF/A‑Compliance‑Standards?** + +Ja, Aspose.Slides ermöglicht den Export von PDFs, die verschiedenen Standards entsprechen, einschließlich PDF/A1a, PDF/A1b und PDF/UA, wodurch Ihre Dokumente den Anforderungen an Barrierefreiheit und Archivierung entsprechen. -Die Unterstützung von Aspose.Slides für PDF-Konvertierungsoperationen erstreckt sich auch darauf, Ihnen zu ermöglichen, PDF in die beliebtesten Dateiformate zu konvertieren. Sie können [PDF zu HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/), [PDF zu Bild](https://products.aspose.com/slides/net/conversion/pdf-to-image/), [PDF zu JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/) und [PDF zu PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/) Konvertierungen durchführen. Andere PDF-Konvertierungsoperationen in spezielle Formate – [PDF zu SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/), [PDF zu TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/) und [PDF zu XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/) – werden ebenfalls unterstützt. +## **Zusätzliche Ressourcen** -{{% /alert %}} \ No newline at end of file +- [Aspose.Slides für .NET Dokumentation](/slides/de/net/) +- [Aspose.Slides für .NET API-Referenz](https://reference.aspose.com/slides/net/) +- [Aspose kostenlose Online‑Konverter](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md index 1a0294405f..c158ebd381 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md @@ -1,62 +1,61 @@ --- -title: PowerPoint in PNG konvertieren in C# -linktitle: PowerPoint in PNG konvertieren +title: "PowerPoint zu PNG in C# konvertieren" +linktitle: "PowerPoint zu PNG konvertieren" type: docs weight: 30 url: /de/net/convert-powerpoint-to-png/ keywords: -- PowerPoint in png -- ppt in png -- pptx in png -- odp in png -- PowerPoint in PNG -- PPT in PNG -- PPTX in PNG -- ODP in PNG -- C# -- Csharp -- Aspose.Slides für .NET -description: Konvertieren Sie eine PowerPoint-Präsentation in PNG in C#. Konvertieren Sie PPT in PNG in C#. Konvertieren Sie PPTX in PNG in C#. Konvertieren Sie ODP in PNG in C# +- "PowerPoint zu PNG" +- "ppt zu PNG" +- "pptx zu PNG" +- "odp zu PNG" +- "PowerPoint zu PNG" +- "PPT zu PNG" +- "PPTX zu PNG" +- "ODP zu PNG" +- "C#" +- "Csharp" +- "Aspose.Slides for .NET" +description: "PowerPoint-Präsentation in PNG konvertieren in C#. PPT in PNG konvertieren in C#. PPTX in PNG konvertieren in C#. ODP in PNG konvertieren in C#" --- -## **Überblick** +## **Übersicht** -Dieser Artikel erklärt, wie man eine PowerPoint-Präsentation im PNG-Format mit C# konvertiert. Die folgenden Themen werden behandelt. +Dieser Artikel erklärt, wie man PowerPoint‑Präsentationen mit C# in das PNG‑Format konvertiert. Er behandelt die folgenden Themen. -- [PowerPoint in PNG in C# konvertieren](#convert-powerpoint-to-png) -- [PPT in PNG in C# konvertieren](#convert-powerpoint-to-png) -- [PPTX in PNG in C# konvertieren](#convert-powerpoint-to-png) -- [ODP in PNG in C# konvertieren](#convert-powerpoint-to-png) -- [PowerPoint-Folie in Bild in C# konvertieren](#convert-powerpoint-to-png) +- [PowerPoint in PNG konvertieren in C#](#convert-powerpoint-to-png) +- [PPT in PNG konvertieren in C#](#convert-powerpoint-to-png) +- [PPTX in PNG konvertieren in C#](#convert-powerpoint-to-png) +- [ODP in PNG konvertieren in C#](#convert-powerpoint-to-png) +- [PowerPoint‑Folien in Bild konvertieren in C#](#convert-powerpoint-to-png) -## **C# PowerPoint in PNG** +## **C# PowerPoint zu PNG** -Für C#-Beispielcode zur Konvertierung von PowerPoint in PNG siehe den Abschnitt unten, dh. [PowerPoint in PNG konvertieren](#convert-powerpoint-to-png). Der Code kann zahlreiche Formate wie PPT, PPTX und ODP im Presentation-Objekt laden und dann das Miniaturbild seiner Folie im PNG-Format speichern. Die anderen PowerPoint-zu-Bild-Konvertierungen, die ähnlich sind wie JPG, BMP, TIFF und SVG, werden in diesen Artikeln behandelt. +Für C#‑Beispielcode zum Konvertieren von PowerPoint in PNG siehe bitte den untenstehenden Abschnitt, d. h. [PowerPoint in PNG konvertieren](#convert-powerpoint-to-png). Der Code kann verschiedene Formate wie PPT, PPTX und ODP im Presentation‑Objekt laden und anschließend das Folien‑Thumbnail im PNG‑Format speichern. Die anderen PowerPoint‑zu‑Bild‑Konvertierungen, die ähnlich sind, wie JPG, BMP, TIFF und SVG, werden in diesen Artikeln behandelt. -- [C# PowerPoint in JPG](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) -- [C# PowerPoint in BMP](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) -- [C# PowerPoint in TIFF](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) -- [C# PowerPoint in SVG](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) +- [C# PowerPoint zu JPG](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) +- [C# PowerPoint zu BMP](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) +- [C# PowerPoint zu TIFF](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) +- [C# PowerPoint zu SVG](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) -## **Über die PowerPoint-zu-PNG-Konvertierung** +## **Über die PowerPoint‑zu‑PNG‑Konvertierung** -Das PNG (Portable Network Graphics) Format ist nicht so beliebt wie JPEG (Joint Photographic Experts Group), aber es ist immer noch sehr beliebt. +Das PNG‑Format (Portable Network Graphics) ist nicht so populär wie JPEG (Joint Photographic Experts Group), aber immer noch sehr verbreitet. **Anwendungsfall:** Wenn Sie ein komplexes Bild haben und die Größe kein Problem darstellt, ist PNG ein besseres Bildformat als JPEG. -{{% alert title="Tipp" color="primary" %}} Sie sollten die kostenlosen **PowerPoint zu PNG-Konverter** von Aspose ausprobieren: [PPTX zu PNG](https://products.aspose.app/slides/conversion/pptx-to-png) und [PPT zu PNG](https://products.aspose.app/slides/conversion/ppt-to-png). Sie sind eine Live-Implementierung des auf dieser Seite beschriebenen Prozesses. {{% /alert %}} +{{% alert title="Tip" color="primary" %}} Vielleicht möchten Sie die kostenlosen Aspose **PowerPoint zu PNG‑Konverter** ausprobieren: [PPTX to PNG](https://products.aspose.app/slides/conversion/pptx-to-png) und [PPT to PNG](https://products.aspose.app/slides/conversion/ppt-to-png). Sie sind eine Live‑Implementierung des auf dieser Seite beschriebenen Prozesses. {{% /alert %}} ## **PowerPoint in PNG konvertieren** -Gehen Sie diese Schritte durch: +Führen Sie die folgenden Schritte aus: -1. Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Holen Sie sich das Foliendarstellung-Objekt aus der [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) Sammlung unter dem [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) Interface. -3. Verwenden Sie eine [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/) Methode, um das Miniaturbild für jede Folie zu erhalten. -4. Verwenden Sie die [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) Methode, um das Foliensminiaturbild im PNG-Format zu speichern. - -Dieser C#-Code zeigt Ihnen, wie Sie eine PowerPoint-Präsentation in PNG konvertieren können. Das Präsentationsobjekt kann PPT, PPTX, ODP usw. laden, dann wird jede Folie im Präsentationsobjekt in das PNG-Format oder andere Bildformate konvertiert. +1. Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Rufen Sie das Folienobjekt aus der [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides)-Sammlung über die [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide)-Schnittstelle ab. +3. Verwenden Sie die Methode [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/), um das Thumbnail für jede Folie zu erhalten. +4. Verwenden Sie die Methode [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5), um das Folien‑Thumbnail im PNG‑Format zu speichern. +Dieser C#‑Code zeigt, wie man eine PowerPoint‑Präsentation in PNG konvertiert. Das Presentation‑Objekt kann PPT, PPTX, ODP usw. laden, und dann wird jede Folie im Presentation‑Objekt in das PNG‑Format oder ein anderes Bildformat konvertiert. ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -72,12 +71,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## **PowerPoint in PNG mit benutzerdefinierten Abmessungen konvertieren** -Wenn Sie PNG-Dateien in einem bestimmten Maßstab erstellen möchten, können Sie die Werte für `desiredX` und `desiredY` festlegen, die die Abmessungen des resultierenden Miniaturbilds bestimmen. +## **PowerPoint in PNG mit benutzerdefinierten Abmessungen konvertieren** -Dieser C#-Code demonstriert die beschriebene Operation: +Wenn Sie PNG‑Dateien in einem bestimmten Maßstab erhalten möchten, können Sie die Werte für `desiredX` und `desiredY` festlegen, die die Abmessungen des resultierenden Thumbnails bestimmen. +Dieser C#‑Code demonstriert den beschriebenen Vorgang: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -95,12 +94,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## **PowerPoint in PNG mit benutzerdefinierter Größe konvertieren** -Wenn Sie PNG-Dateien in einer bestimmten Größe erstellen möchten, können Sie Ihre bevorzugten `width` und `height` Argumente für `imageSize` übergeben. +## **PowerPoint in PNG mit benutzerdefinierter Größe konvertieren** -Dieser Code zeigt Ihnen, wie Sie eine PowerPoint in PNG konvertieren, während Sie die Größe für die Bilder angeben: +Wenn Sie PNG‑Dateien in einer bestimmten Größe erhalten möchten, können Sie Ihre bevorzugten `width`‑ und `height`‑Argumente für `imageSize` übergeben. +Dieser Code zeigt, wie man ein PowerPoint‑Dokument in PNG konvertiert, wobei die Größe der Bilder angegeben wird: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -115,4 +114,16 @@ using (Presentation pres = new Presentation("pres.pptx")) } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Wie kann ich nur eine bestimmte Form (z. B. Diagramm oder Bild) exportieren, anstatt die gesamte Folie?** +Aspose.Slides unterstützt das [Erstellen von Thumbnails für einzelne Formen](/slides/de/net/create-shape-thumbnails/); Sie können eine Form als PNG‑Bild rendern. + +**Wird die parallele Konvertierung auf einem Server unterstützt?** +Ja, jedoch sollten Sie eine einzelne Presentation‑Instanz nicht über mehrere Threads hinweg [teilen](/slides/de/net/multithreading/). Verwenden Sie pro Thread oder Prozess eine separate Instanz. + +**Was sind die Einschränkungen der Testversion beim Exportieren nach PNG?** +Der Evaluierungsmodus fügt den Ausgabebildern ein Wasserzeichen hinzu und erzwingt [weitere Einschränkungen](/slides/de/net/licensing/), bis eine Lizenz angewendet wird. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md index 7fd75cb743..06f474d2d8 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md @@ -1,27 +1,48 @@ --- -title: PowerPoint in SWF Flash umwandeln +title: PowerPoint in SWF Flash konvertieren type: docs weight: 80 url: /de/net/convert-powerpoint-to-swf-flash/ -keywords: "PowerPoint umwandeln, Präsentation, PowerPoint in SWF, SWF Flash PPT in SWF, PPTX in SWF, C#, Csharp, .NET" -description: "PowerPoint-Präsentation in SWF Flash in C# oder .NET umwandeln" +keywords: "PowerPoint konvertieren, Präsentation, PowerPoint zu SWF, SWF Flash PPT zu SWF, PPTX zu SWF, C#, Csharp, .NET" +description: "PowerPoint-Präsentation in SWF Flash mit C# oder .NET konvertieren" --- -Die [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) Methode, die von der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse bereitgestellt wird, kann verwendet werden, um die gesamte Präsentation in ein SWF-Dokument umzuwandeln. Sie können auch Kommentare im generierten SWF mithilfe der [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) Klasse und der [INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions) Schnittstelle einfügen. Das folgende Beispiel zeigt, wie man eine Präsentation mithilfe der von der SWFOptions-Klasse bereitgestellten Optionen in ein SWF-Dokument umwandelt. +## **Präsentationen in Flash konvertieren** +Die [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) Methode, die von der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse bereitgestellt wird, kann verwendet werden, um die gesamte Präsentation in ein SWF‑Dokument zu konvertieren. Sie können außerdem Kommentare im erzeugten SWF einbinden, indem Sie die [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) Klasse und das [INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions) Interface verwenden. Das folgende Beispiel zeigt, wie man eine Präsentation mithilfe der von der SWFOptions‑Klasse bereitgestellten Optionen in ein SWF‑Dokument konvertiert. ```c# -// Instanziieren Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt +// Instanziiert ein Presentation-Objekt, das eine Präsentationsdatei darstellt using (Presentation presentation = new Presentation("HelloWorld.pptx")) { SwfOptions swfOptions = new SwfOptions(); swfOptions.ViewerIncluded = false; + INotesCommentsLayoutingOptions notesOptions = swfOptions.NotesCommentsLayouting; notesOptions.NotesPosition = NotesPositions.BottomFull; - // Speichern der Präsentation und der Notizenseiten + // Speichern der Präsentation und der Notizseiten presentation.Save("SaveAsSwf_out.swf", SaveFormat.Swf, swfOptions); swfOptions.ViewerIncluded = true; presentation.Save("SaveNotes_out.swf", SaveFormat.Swf, swfOptions); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Kann ich ausgeblendete Folien in das SWF einbinden?** + +Ja. Aktivieren Sie die Option [ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/showhiddenslides/) in [SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/). Standardmäßig werden ausgeblendete Folien nicht exportiert. + +**Wie kann ich die Kompression und die endgültige SWF‑Größe steuern?** + +Verwenden Sie das Flag [Compressed](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/compressed/) (standardmäßig aktiviert) und passen Sie [JpegQuality](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/jpegquality/) an, um Dateigröße und Bildtreue zu balancieren. + +**Wofür dient 'ViewerIncluded' und wann sollte ich es deaktivieren?** + +[ViewerIncluded](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/viewerincluded/) fügt eine integrierte Player‑UI (Navigations‑Steuerelemente, Panels, Suche) hinzu. Deaktivieren Sie es, wenn Sie einen eigenen Player verwenden möchten oder ein reines SWF‑Gerüst ohne UI benötigen. + +**Was passiert, wenn eine Quellschriftart auf dem Export‑Computer fehlt?** + +Aspose.Slides ersetzt die Schriftart durch die über [DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/) in [SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/) angegebene Schriftart, um ein unbeabsichtigtes Zurückfallen zu vermeiden. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index a2fb8b4ba8..65114b6e9c 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,25 +1,92 @@ --- -title: PowerPoint mit Notizen in TIFF konvertieren +title: PowerPoint in TIFF mit Notizen in C# +linktitle: PowerPoint zu TIFF mit Notizen type: docs weight: 100 url: /de/net/convert-powerpoint-to-tiff-with-notes/ -keywords: "PowerPoint mit Notizen in TIFF konvertieren" -description: "PowerPoint mit Notizen in TIFF in Aspose.Slides konvertieren." +keywords: +- PowerPoint zu TIFF konvertieren +- Präsentation zu TIFF konvertieren +- Folie zu TIFF konvertieren +- PPT zu TIFF konvertieren +- PPTX zu TIFF konvertieren +- ODP zu TIFF konvertieren +- PowerPoint zu TIFF +- Präsentation zu TIFF +- Folie zu TIFF +- PPT zu TIFF +- PPTX zu TIFF +- ODP zu TIFF +- PowerPoint mit Notizen +- Präsentation mit Notizen +- Folie mit Notizen +- PPT mit Notizen +- PPTX mit Notizen +- ODP mit Notizen +- TIFF mit Notizen +- C# +- .NET +- Aspose.Slides +description: "PowerPoint- und OpenDocument-Präsentationen mit Notizen mithilfe von Aspose.Slides für .NET in TIFF konvertieren. Erfahren Sie, wie Sie Folien mit Sprecher-Notizen effizient exportieren." --- -{{% alert title="Tipp" color="primary" %}} +## **Übersicht** -Sie sollten den Aspose [KOSTENLOSEN PowerPoint zu Poster Konverter](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) ausprobieren. +Aspose.Slides für .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 komplette Präsentationen mit Sprecher‑Notizen exportieren, sondern auch Folien‑Thumbnails in der Notiz‑Folien‑Ansicht erzeugen. Der Konvertierungsprozess ist einfach und effizient und nutzt die `Save`‑Methode der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Klasse, um die gesamte Präsentation in eine Reihe von TIFF‑Bildern zu transformieren, wobei Notizen und Layout erhalten bleiben. -{{% /alert %}} +## **Konvertieren einer Präsentation in TIFF mit Notizen** + +Das Speichern einer PowerPoint‑ oder OpenDocument‑Präsentation als TIFF mit Notizen mithilfe von Aspose.Slides für .NET umfasst die folgenden Schritte: + +1. Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Klasse: Laden Sie eine PowerPoint‑ oder OpenDocument‑Datei. +1. Konfigurieren Sie die Optionen für das Ausgabelayout: Verwenden Sie die [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/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/net/aspose.slides/presentation/methods/save/index)‑Methode. + +Angenommen, wir haben die Datei **speaker_notes.pptx** mit der folgenden Folie: -TIFF ist eines der mehrere weit verbreiteten Bildformate, die Aspose.Slides für .NET unterstützt, um PowerPoint PPT- und PPTX-Präsentationen mit Notizen in Bilder zu konvertieren. Sie können auch Folienminiaturansichten im Notizen-Folienansicht generieren. Die [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)-Methode der Präsentationsklasse kann verwendet werden, um die gesamte Präsentation in der Ansicht Notizen-Folie in TIFF zu konvertieren. Das Speichern einer Microsoft PowerPoint-Präsentation als TIFF-Notizen mit Aspose.Slides für .NET ist ein zweizeiliger Prozess. Sie öffnen einfach die Präsentation und speichern sie als TIFF-Notizen. Sie können auch eine Folienminiaturansicht in der Ansicht Notizen-Folie für einzelne Folien generieren. Die folgenden Codebeispiele aktualisieren die Beispielpräsentation in TIFF-Bilder in der Notizen-Folienansicht, wie unten gezeigt: +![The presentation slide with speaker notes](slide_with_notes.png) +Der nachstehende Codeausschnitt zeigt, wie die Präsentation in ein TIFF‑Bild in der Notiz‑Folien‑Ansicht konvertiert wird, indem die [SlidesLayoutOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/)‑Eigenschaft verwendet wird. ```c# -// Instanziieren Sie ein Präsentationsobjekt, das eine Präsentationsdatei darstellt -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei darstellt. +using (Presentation presentation = new Presentation("speaker_notes.pptx")) { - // Speichern der Präsentation als TIFF-Notizen - presentation.Save("Notes_In_Tiff_out.tiff", SaveFormat.Tiff); + // Konfigurieren Sie die TIFF-Optionen mit Notiz-Layout. + TiffOptions tiffOptions = new TiffOptions + { + DpiX = 300, + DpiY = 300, + + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull // Notizen unterhalb der Folie anzeigen. + } + }; + + // Speichern Sie die Präsentation als TIFF mit den Sprecher-Notizen. + presentation.Save("TIFF_with_notes.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +Das Ergebnis: + +![The TIFF image with speaker notes](TIFF_with_notes.png) + +{{% alert title="Tipp" color="primary" %}} +Sehen Sie sich den kostenlosen Aspose [PowerPoint‑zu‑Poster‑Konverter](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) an. +{{% /alert %}} + +## **FAQ** + +**Kann ich die Position des Notizbereichs im resultierenden TIFF steuern?** + +Ja. Verwenden Sie die [notes layout settings](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/), um zwischen Optionen wie `None`, `BottomTruncated` oder `BottomFull` zu wählen, die Notizen jeweils ausblenden, in eine einzelne Seite einpassen oder auf zusätzliche Seiten ausdehnen. + +**Wie kann ich die Größe einer TIFF‑Datei mit Notizen reduzieren, ohne sichtbaren Qualitätsverlust?** + +Wählen Sie eine [effiziente Kompression](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) (z. B. `LZW` oder `RLE`), setzen Sie eine angemessene DPI und, falls akzeptabel, verwenden Sie ein niedrigeres [pixel format](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) (wie 8 bpp oder 1 bpp für monochrom). Ein leichtes Reduzieren der [image dimensions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) kann ebenfalls helfen, ohne die Lesbarkeit merklich zu beeinträchtigen. + +**Beeinflusst die Schriftart in den Notizen das Ergebnis, wenn die Originalschriftarten im System fehlen?** + +Ja. Fehlende Schriftarten lösen eine [substitution](/slides/de/net/font-selection-sequence/) aus, die Textmetriken und das Erscheinungsbild verändern kann. Um dies zu vermeiden, [stellen Sie die erforderlichen Schriftarten bereit](/slides/de/net/custom-font/) oder setzen Sie eine Standard‑[fallback font](/slides/de/net/fallback-font/), sodass die gewünschten Schriftarten verwendet werden. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md index 293303791a..751fc978cf 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md @@ -1,120 +1,159 @@ --- -title: PowerPoint in TIFF konvertieren +title: PowerPoint-Präsentationen in TIFF konvertieren (C#) +titlelink: PowerPoint zu TIFF type: docs weight: 90 url: /de/net/convert-powerpoint-to-tiff/ -keywords: "PowerPoint-Präsentation konvertieren, PowerPoint in TIFF, PPT in TIFF, PPTX in TIFF, C#, Csharp, .NET, Aspose.Slides" -description: "Konvertieren Sie eine PowerPoint-Präsentation in TIFF mit C# oder .NET." - +keywords: +- PowerPoint konvertieren +- OpenDocument konvertieren +- Präsentation konvertieren +- Folie konvertieren +- PowerPoint zu TIFF +- OpenDocument zu TIFF +- Präsentation zu TIFF +- Folie zu TIFF +- PPT zu TIFF +- PPTX zu TIFF +- ODP zu TIFF +- C# +- .NET +- Aspose.Slides +description: "Erfahren Sie, wie Sie PowerPoint- (PPT, PPTX) und OpenDocument- (ODP) Präsentationen mithilfe von Aspose.Slides für .NET einfach in hochwertige TIFF‑Bilder konvertieren können. Schritt‑für‑Schritt‑Anleitung mit Code‑Beispielen inklusive." --- -TIFF (**Tagged Image File Format**) ist ein verlustfreies Raster- und Hochqualitätsbildformat. Fachleute verwenden TIFF für Design-, Fotografie- und Desktop-Publishing-Zwecke. Wenn Sie beispielsweise Ebenen und Einstellungen in Ihrem Design oder Bild beibehalten möchten, möchten Sie Ihre Arbeit möglicherweise als TIFF-Bilddatei speichern. - -Aspose.Slides ermöglicht es Ihnen, die Folien in PowerPoint direkt in TIFF zu konvertieren. - -{{% alert title="Tipp" color="primary" %}} +## **Übersicht** -Sie sollten den [kostenlosen PowerPoint zu Poster-Konverter](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) von Aspose ausprobieren. +TIFF (**Tagged Image File Format**) ist ein weit verbreitetes, verlustfreies Rasterbildformat, das für seine außergewöhnliche Qualität und detaillierte Bildwiedergabe bekannt ist. Designer, Fotografen und Desktop‑Publisher wählen häufig TIFF, um Ebenen, Farbgenauigkeit und Originaleinstellungen in ihren Bildern zu erhalten. -{{% /alert %}} - -## **PowerPoint in TIFF konvertieren** +Mit Aspose.Slides können Sie Ihre PowerPoint‑Folien (PPT, PPTX) und OpenDocument‑Folien (ODP) mühelos direkt in hochwertige TIFF‑Bilder konvertieren, sodass Ihre Präsentationen maximale visuelle Treue behalten. -Mit der [Speichern](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) Methode der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse können Sie eine gesamte PowerPoint-Präsentation schnell in TIFF konvertieren. Die resultierenden TIFF-Bilder entsprechen der Standardgröße der Folien. +## **Präsentation in TIFF konvertieren** -Dieser C#-Code zeigt Ihnen, wie Sie PowerPoint in TIFF konvertieren: +Mit der [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/)‑Methode der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Klasse können Sie schnell eine gesamte PowerPoint‑Präsentation in TIFF umwandeln. Die resultierenden TIFF‑Bilder entsprechen der Standard‑Foliengröße. -```c# -// Erstellt ein Präsentationsobjekt, das eine Präsentationsdatei darstellt -using (Presentation presentation = new Presentation("DemoFile.pptx")) +Dieser C#‑Code demonstriert, wie eine PowerPoint‑Präsentation in TIFF konvertiert wird: +```cs +// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei (PPT, PPTX, ODP usw.) darstellt. +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - // Speichert die Präsentation als TIFF - presentation.Save("Tiffoutput_out.tiff", SaveFormat.Tiff); + // Speichern Sie die Präsentation als TIFF. + presentation.Save("Output.tiff", SaveFormat.Tiff); } ``` -## **PowerPoint in Schwarz-Weiß-TIFF konvertieren** -In Aspose.Slides 23.10 hat Aspose.Slides eine neue Eigenschaft ([BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/)) zur [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) Klasse hinzugefügt, um Ihnen zu ermöglichen, den Algorithmus zu spezifizieren, der verwendet wird, wenn eine farbige Folie oder ein Bild in ein Schwarz-Weiß-TIFF konvertiert wird. Beachten Sie, dass diese Einstellung nur angewendet wird, wenn die [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) Eigenschaft auf `CCITT4` oder `CCITT3` gesetzt ist. +## **Präsentation in Schwarz‑Weiß‑TIFF konvertieren** + +Die Eigenschaft [BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/) in der [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/)‑Klasse ermöglicht die Angabe des Algorithmus, der beim Konvertieren einer farbigen Folie oder eines Bildes in ein Schwarz‑Weiß‑TIFF verwendet wird. Beachten Sie, dass diese Einstellung nur gilt, wenn die [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/)‑Eigenschaft auf `CCITT4` oder `CCITT3` gesetzt ist. -Dieser C#-Code zeigt Ihnen, wie Sie eine farbige Folie oder ein Bild in ein Schwarz-Weiß-TIFF konvertieren: +Angenommen, wir haben eine Datei „sample.pptx“ mit der folgenden Folie: -```c# -var tiffOptions = new TiffOptions +![Eine Folie der Präsentation](slide_black_and_white.png) + +Dieser C#‑Code demonstriert, wie die farbige Folie in ein Schwarz‑Weiß‑TIFF umgewandelt wird: +```cs +TiffOptions tiffOptions = new TiffOptions { CompressionType = TiffCompressionTypes.CCITT4, BwConversionMode = BlackWhiteConversionMode.Dithering }; -using var presentation = new Presentation("sample.pptx"); -presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +using (Presentation presentation = new Presentation("sample.pptx")) +{ + presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +} ``` -## **PowerPoint in TIFF mit benutzerdefinierter Größe konvertieren** -Wenn Sie ein TIFF-Bild mit definierten Abmessungen benötigen, können Sie Ihre bevorzugten Werte über die Eigenschaften unter [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) festlegen. Beispielsweise können Sie mit der [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) Eigenschaft eine Größe für das resultierende Bild festlegen. +Das Ergebnis: -Dieser C#-Code zeigt Ihnen, wie Sie PowerPoint in TIFF-Bilder mit benutzerdefinierter Größe konvertieren: +![Schwarz‑weiß TIFF](TIFF_black_and_white.png) -```c# -// Erstellt ein Präsentationsobjekt, das eine Präsentationsdatei darstellt -using (Presentation pres = new Presentation("Convert_Tiff_Custom.pptx")) -{ - // Erstellt die TiffOptions-Klasse - TiffOptions opts = new TiffOptions(); +## **Präsentation in TIFF mit benutzerdefinierter Größe konvertieren** - // Setzt den Kompressionstyp - opts.CompressionType = TiffCompressionTypes.Default; +Falls Sie ein TIFF‑Bild mit bestimmten Abmessungen benötigen, können Sie die gewünschten Werte über die in [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) verfügbaren Eigenschaften festlegen. Beispielsweise erlaubt die [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/)‑Eigenschaft, die Größe des resultierenden Bildes zu definieren. - INotesCommentsLayoutingOptions notesOptions = opts.NotesCommentsLayouting; - notesOptions.NotesPosition = NotesPositions.BottomFull; - // Kompressionstypen +Dieser C#‑Code demonstriert, wie eine PowerPoint‑Präsentation in TIFF‑Bilder mit benutzerdefinierter Größe konvertiert wird: +```cs +// Instanziieren Sie die Presentation‑Klasse, die eine Präsentationsdatei (PPT, PPTX, ODP usw.) darstellt. +using (Presentation presentation = new Presentation("sample.pptx")) +{ + TiffOptions tiffOptions = new TiffOptions(); + + // Legen Sie den Kompressionstyp fest. + tiffOptions.CompressionType = TiffCompressionTypes.Default; + /* + Kompressionstypen: + Default - Gibt das Standardschema für die Kompression an (LZW). + None - Gibt an, dass keine Kompression verwendet wird. + CCITT3 + CCITT4 + LZW + RLE + */ - // Default - Gibt das Standardkomprimierungsschema (LZW) an. - // None - Gibt keine Komprimierung an. - // CCITT3 - // CCITT4 - // LZW - // RLE + // Die Farbtiefe hängt vom Kompressionstyp ab und kann nicht manuell festgelegt werden. - // Die Tiefe hängt vom Kompressionstyp ab und kann nicht manuell festgelegt werden. - // Die Auflösungseinheit ist immer gleich „2“ (Punkte pro Zoll) + // Legen Sie die Bild‑DPI fest. + tiffOptions.DpiX = 200; + tiffOptions.DpiY = 200; - // Setzt die Bild-DPI - opts.DpiX = 200; - opts.DpiY = 100; + // Legen Sie die Bildgröße fest. + tiffOptions.ImageSize = new Size(1728, 1078); - // Setzt die Bildgröße - opts.ImageSize = new Size(1728, 1078); + tiffOptions.SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - // Speichert die Präsentation als TIFF mit angegebener Größe - pres.Save("TiffWithCustomSize_out.tiff", SaveFormat.Tiff, opts); + // Speichern Sie die Präsentation als TIFF mit der angegebenen Größe. + presentation.Save("custom_size.tiff", SaveFormat.Tiff, tiffOptions); } ``` -## **PowerPoint in TIFF mit benutzerdefiniertem Bild-Pixel-Format konvertieren** -Mit der [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) Eigenschaft der [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions) Klasse können Sie Ihr bevorzugtes Pixel-Format für das resultierende TIFF-Bild festlegen. +## **Präsentation in TIFF mit benutzerdefiniertem Pixel‑Format konvertieren** -Dieser C#-Code zeigt Ihnen, wie Sie PowerPoint in TIFF-Bilder mit benutzerdefinierten Pixel-Formaten konvertieren: +Mit der [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/)‑Eigenschaft der [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions)‑Klasse können Sie das gewünschte Pixel‑Format für das resultierende TIFF‑Bild festlegen. -```c# -// Erstellt ein Präsentationsobjekt, das eine Präsentationsdatei darstellt -using (Presentation presentation = new Presentation("DemoFile.pptx")) +Dieser C#‑Code demonstriert, wie eine PowerPoint‑Präsentation in ein TIFF‑Bild mit benutzerdefiniertem Pixel‑Format konvertiert wird: +```cs +// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei (PPT, PPTX, ODP usw.) darstellt. +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - TiffOptions options = new TiffOptions(); + TiffOptions tiffOptions = new TiffOptions(); - options.PixelFormat = ImagePixelFormat.Format8bppIndexed; + tiffOptions.PixelFormat = ImagePixelFormat.Format8bppIndexed; /* ImagePixelFormat enthält die folgenden Werte (wie in der Dokumentation angegeben): - Format1bppIndexed; // 1 Bit pro Pixel, indiziert. - Format4bppIndexed; // 4 Bits pro Pixel, indiziert. - Format8bppIndexed; // 8 Bits pro Pixel, indiziert. - Format24bppRgb; // 24 Bits pro Pixel, RGB. - Format32bppArgb; // 32 Bits pro Pixel, ARGB. + Format1bppIndexed - 1 Bit pro Pixel, indiziert. + Format4bppIndexed - 4 Bit pro Pixel, indiziert. + Format8bppIndexed - 8 Bit pro Pixel, indiziert. + Format24bppRgb - 24 Bit pro Pixel, RGB. + Format32bppArgb - 32 Bit pro Pixel, ARGB. */ - // Speichert die Präsentation als TIFF mit angegebener Bildgröße - presentation.Save("Tiff_With_Custom_Image_Pixel_Format_out.tiff", SaveFormat.Tiff, options); + // Speichern Sie die Präsentation als TIFF mit der angegebenen Bildgröße. + presentation.Save("Custom_Image_Pixel_Format.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +{{% alert title="Tip" color="primary" %}} +Entdecken Sie Asposes [FREE PowerPoint to Poster converter](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +{{% /alert %}} + +## **FAQ** + +**Kann ich eine einzelne Folie anstelle der gesamten PowerPoint‑Präsentation in TIFF konvertieren?** + +Ja. Aspose.Slides ermöglicht das separate Konvertieren einzelner Folien aus PowerPoint‑ und OpenDocument‑Präsentationen in TIFF‑Bilder. + +**Gibt es eine Begrenzung der Folienzahl beim Konvertieren einer Präsentation in TIFF?** + +Nein, Aspose.Slides legt keine Beschränkungen für die Anzahl der Folien fest. Sie können Präsentationen beliebiger Größe in das TIFF‑Format konvertieren. + +**Werden PowerPoint‑Animationen und Übergangseffekte beim Konvertieren von Folien in TIFF erhalten?** + +Nein, TIFF ist ein statisches Bildformat. Animationen und Übergangseffekte werden nicht übernommen; es werden nur statische Momentaufnahmen der Folien exportiert. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md index 9636bcc59d..95958af1a7 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md @@ -1,60 +1,100 @@ --- -title: PowerPoint in Video umwandeln +title: PowerPoint-Präsentationen in Video konvertieren in C# +linktitle: PowerPoint zu Video type: docs weight: 130 url: /de/net/convert-powerpoint-to-video/ -keywords: "PowerPoint umwandeln, PPT, PPTX, Präsentation, Video, MP4, PPT in Video, PPT in MP4, C#, Csharp, .NET, Aspose.Slides" -description: "PowerPoint in Video in C# oder .NET umwandeln" +keywords: +- PowerPoint zu Video +- PowerPoint zu Video konvertieren +- Präsentation zu Video +- Präsentation zu Video konvertieren +- PPT zu Video +- PPT zu Video konvertieren +- PPTX zu Video +- PPTX zu Video konvertieren +- ODP zu Video +- ODP zu Video konvertieren +- PowerPoint zu MP4 +- PowerPoint zu MP4 konvertieren +- Präsentation zu MP4 +- Präsentation zu MP4 konvertieren +- PPT zu MP4 +- PPT zu MP4 konvertieren +- PPTX zu MP4 +- PPTX zu MP4 konvertieren +- PowerPoint-zu-Video-Konvertierung +- Präsentation-zu-Video-Konvertierung +- PPT-zu-Video-Konvertierung +- PPTX-zu-Video-Konvertierung +- ODP-zu-Video-Konvertierung +- C#-Video-Konvertierung +- PowerPoint +- .NET +- C# +- Aspose.Slides +description: "Erfahren Sie, wie Sie PowerPoint- und OpenDocument-Präsentationen mit C# in Video konvertieren. Entdecken Sie Beispielcode und Automatisierungstechniken, um Ihren Arbeitsablauf zu optimieren." --- -Durch die Umwandlung Ihrer PowerPoint-Präsentation in ein Video erhalten Sie +## **Übersicht** -* **Erhöhte Zugänglichkeit:** Alle Geräte (unabhängig von der Plattform) sind standardmäßig mit Videoplayern ausgestattet, im Gegensatz zu Anwendungen zum Öffnen von Präsentationen, sodass Benutzer es einfacher finden, Videos zu öffnen oder abzuspielen. -* **Mehr Reichweite:** Durch Videos können Sie ein großes Publikum erreichen und mit Informationen ansprechen, die ansonsten in einer Präsentation langweilig erscheinen könnten. Die meisten Umfragen und Statistiken legen nahe, dass Menschen Videos häufiger ansehen und konsumieren als andere Formen von Inhalten, und sie bevorzugen im Allgemeinen solche Inhalte. +Durch das Konvertieren Ihrer PowerPoint- oder OpenDocument-Präsentation in ein Video erhalten Sie: + +**Erhöhte Barrierefreiheit:** Alle Geräte, unabhängig von der Plattform, sind standardmäßig mit Videoplayern ausgestattet, wodurch es für Benutzer einfacher ist, Videos zu öffnen oder abzuspielen im Vergleich zu herkömmlichen Präsentationsanwendungen. + +**Größere Reichweite:** Videos ermöglichen es Ihnen, ein größeres Publikum zu erreichen und Informationen in einem ansprechenderen Format zu präsentieren. Umfragen und Statistiken zeigen, dass Menschen lieber Video‑Inhalte ansehen und konsumieren als andere Formen, wodurch Ihre Botschaft wirkungsvoller wird. {{% alert color="primary" %}} -Möglicherweise möchten Sie unseren [**Online-Konverter für PowerPoint in Video**](https://products.aspose.app/slides/conversion/ppt-to-word) überprüfen, da dies eine live und effektive Implementierung des hier beschriebenen Prozesses ist. +Probieren Sie unseren [**PowerPoint‑zu‑Video‑Online‑Konverter**](https://products.aspose.app/slides/video) aus, da er eine aktuelle und effektive Umsetzung des hier beschriebenen Prozesses bietet. {{% /alert %}} -## **PowerPoint in Video Umwandlung in Aspose.Slides** - -In [Aspose.Slides 22.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-22-11-release-notes/) haben wir die Unterstützung für die Umwandlung von Präsentationen in Videos implementiert. +In Aspose.Slides für .NET haben wir die Unterstützung für die Konvertierung von Präsentationen in Video implementiert. -* Verwenden Sie Aspose.Slides, um eine Reihe von Frames (von den Präsentationsfolien) zu generieren, die einer bestimmten FPS (Frames pro Sekunde) entsprechen. -* Verwenden Sie ein Drittanbieter-Tool wie FFMpegCore (ffmpeg), um ein Video basierend auf den Frames zu erstellen. +* Verwenden Sie Aspose.Slides für .NET, um Frames aus den Präsentationsfolien mit einer angegebenen Bildrate (FPS) zu erzeugen. +* Anschließend nutzen Sie ein Drittanbieter‑Tool wie ffmpeg, um diese Frames zu einem Video zusammenzufügen. -### **PowerPoint in Video umwandeln** +## **PowerPoint‑Präsentation in Video konvertieren** -1. Verwenden Sie den Befehl `dotnet add package`, um Aspose.Slides und die FFMpegCore-Bibliothek zu Ihrem Projekt hinzuzufügen: +1. Verwenden Sie den Befehl `dotnet add package`, um Aspose.Slides und die FFMpegCore‑Bibliothek zu Ihrem Projekt hinzuzufügen: * führen Sie `dotnet add package Aspose.Slides.NET --version 22.11.0` aus * führen Sie `dotnet add package FFMpegCore --version 4.8.0` aus -2. Laden Sie ffmpeg [hier](https://ffmpeg.org/download.html) herunter. -3. FFMpegCore erfordert, dass Sie den Pfad zum heruntergeladenen ffmpeg angeben (z.B. entpackt unter "C:\tools\ffmpeg"): `GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );` -4. Führen Sie den Code zur Umwandlung von PowerPoint in Video aus. +2. Laden Sie ffmpeg von [hier](https://ffmpeg.org/download.html) herunter. +3. FFMpegCore erfordert, dass Sie den Pfad zu dem heruntergeladenen ffmpeg angeben (z. B. entpackt nach "C:\tools\ffmpeg"): +```cs + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); +``` -Dieser C#-Code zeigt Ihnen, wie Sie eine Präsentation (die eine Figur und zwei Animationseffekte enthält) in ein Video umwandeln: +4. Führen Sie den PowerPoint‑zu‑Video‑Konvertierungscode aus. +Dieser C#‑Code demonstriert, wie man eine Präsentation (mit einer Form und zwei Animationseffekten) in ein Video konvertiert: ```c# using System.Collections.Generic; using Aspose.Slides; -using FFMpegCore; // Verwendet die FFmpeg-Binärdateien, die wir vorher in "c:\tools\ffmpeg" entpackt haben +using FFMpegCore; // verwendet die FFmpeg-Binärdateien, die wir zuvor nach C:\tools\ffmpeg extrahiert haben. using Aspose.Slides.Animation; -using (Presentation presentation = new Presentation()) +using (Presentation presentation = new Presentation()) { - // Fügt eine Smiley-Form hinzu und animiert sie - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // Fügt ein Smiley-Shape hinzu und animiert es. + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; - const int Fps = 33; - List frames = new List(); + const int Fps = 33; + List frames = new List(); - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) { player.FrameTick += (sender, args) => @@ -66,46 +106,43 @@ using (Presentation presentation = new Presentation()) animationsGenerator.Run(presentation.Slides); } - // Konfigurieren Sie den Ordner für die ffmpeg-Binärdateien. Siehe diese Seite: https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // Konvertiert Frames in ein Webm-Video - FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // Konfiguriert den Ordner für die ffmpeg-Binärdateien. Siehe diese Seite: https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // Konvertiert die Frames in ein WebM-Video. + FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` + ## **Videoeffekte** -Sie können Animationen auf Objekte auf Folien anwenden und Übergänge zwischen Folien verwenden. +Beim Konvertieren einer PowerPoint‑Präsentation in ein Video mit Aspose.Slides für .NET können Sie verschiedene Videoeffekte anwenden, um die visuelle Qualität des Ergebnisses zu verbessern. Diese Effekte ermöglichen es Ihnen, das Aussehen der Folien im fertigen Video durch glatte Übergänge, Animationen und weitere visuelle Elemente zu steuern. In diesem Abschnitt werden die verfügbaren Videoeffekt‑Optionen erklärt und deren Anwendung gezeigt. {{% alert color="primary" %}} -Vielleicht möchten Sie sich diese Artikel ansehen: [PowerPoint-Animation](https://docs.aspose.com/slides/net/powerpoint-animation/), [Formanimation](https://docs.aspose.com/slides/net/shape-animation/), und [Formeffekt](https://docs.aspose.com/slides/net/shape-effect/). +Siehe: +- [PowerPoint‑Präsentationen mit Animationen in C# verbessern](https://docs.aspose.com/slides/net/powerpoint-animation/) +- [Formanimation](https://docs.aspose.com/slides/net/shape-animation/) +- [Formeffekte in PowerPoint mit C# anwenden](https://docs.aspose.com/slides/net/shape-effect/) {{% /alert %}} -Animationen und Übergänge machen Diashows ansprechender und interessanter – und sie tun dasselbe für Videos. Lassen Sie uns eine weitere Folie und einen Übergang in den Code der vorherigen Präsentation hinzufügen: - +Animationen und Übergänge machen Diashows ansprechender und interessanter – und tun das Gleiche für Videos. Lassen Sie uns der vorherigen Präsentation einen weiteren Folien‑ und Übergangscode hinzufügen: ```c# -// Fügt eine Smiley-Form hinzu und animiert sie - +// Füge ein Smiley-Shape hinzu und animiere es. // ... -// Fügt eine neue Folie und einen animierten Übergang hinzu - +// Füge eine neue Folie und einen animierten Übergang hinzu. ISlide newSlide = presentation.Slides.AddEmptySlide(presentation.Slides[0].LayoutSlide); - newSlide.Background.Type = BackgroundType.OwnBackground; - newSlide.Background.FillFormat.FillType = FillType.Solid; - newSlide.Background.FillFormat.SolidFillColor.Color = Color.Indigo; - newSlide.SlideShowTransition.Type = TransitionType.Push; ``` -Aspose.Slides unterstützt auch Animationen für Texte. Wir animieren also Absätze auf Objekten, die nacheinander erscheinen (mit einer Verzögerung von einer Sekunde): +Aspose.Slides unterstützt außerdem Textanimationen. In diesem Beispiel animieren wir Absätze auf Objekten, sodass sie nacheinander erscheinen, mit einer Verzögerung von einer Sekunde zwischen ihnen: ```c# using System.Collections.Generic; using Aspose.Slides.Export; @@ -115,41 +152,44 @@ using Aspose.Slides.Animation; using (Presentation presentation = new Presentation()) { - // Fügt Text und Animationen hinzu - IAutoShape autoShape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); + ISlide slide = presentation.Slides[0]; + + // Text und Animationen hinzufügen. + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); Paragraph para1 = new Paragraph(); - para1.Portions.Add(new Portion("Aspose Slides für .NET")); + para1.Portions.Add(new Portion("Aspose Slides for .NET")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("PowerPoint-Präsentation mit Text in Video umwandeln")); + para2.Portions.Add(new Portion("Convert a PowerPoint presentation with text to video")); Paragraph para3 = new Paragraph(); - para3.Portions.Add(new Portion("Absatz für Absatz")); + para3.Portions.Add(new Portion("paragraph by paragraph")); autoShape.TextFrame.Paragraphs.Add(para1); autoShape.TextFrame.Paragraphs.Add(para2); autoShape.TextFrame.Paragraphs.Add(para3); autoShape.TextFrame.Paragraphs.Add(new Paragraph()); - IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect1 = slide.Timeline.MainSequence.AddEffect( + para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect2 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect2 = slide.Timeline.MainSequence.AddEffect( + para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect3 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect3 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect4 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect4 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - effect.Timing.TriggerDelayTime = 1f; + effect1.Timing.TriggerDelayTime = 1f; effect2.Timing.TriggerDelayTime = 1f; effect3.Timing.TriggerDelayTime = 1f; effect4.Timing.TriggerDelayTime = 1f; - // Konvertiert Frames in Video const int Fps = 33; List frames = new List(); - - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) - { player.FrameTick += (sender, args) => { @@ -157,34 +197,42 @@ using (Presentation presentation = new Presentation()) args.GetFrame().Save(frame); frames.Add(frame); }; + animationsGenerator.Run(presentation.Slides); } - // Konfigurieren Sie den Ordner für die ffmpeg-Binärdateien. Siehe diese Seite: https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // Konvertiert Frames in ein Webm-Video - FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // Konfiguriere den Ordner für die ffmpeg-Binärdateien. Siehe diese Seite: https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // Konvertiere die Frames in ein WebM-Video. + FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` -## **Video-Konvertierungsklassen** -Um Ihnen die Durchführung von PowerPoint-zu-Video-Umwandlungsaufgaben zu ermöglichen, bietet Aspose.Slides die Klassen [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) und [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) an. +## **Klassen zur Videokonvertierung** -PresentationAnimationsGenerator ermöglicht es Ihnen, die Frame-Größe für das Video (das später erstellt wird) über seinen Konstruktor festzulegen. Wenn Sie eine Instanz der Präsentation übergeben, wird `Presentation.SlideSize` verwendet, und es wird Animationen generiert, die von [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) verwendet werden. +Um PowerPoint‑zu‑Video‑Konvertierungsaufgaben zu ermöglichen, stellt Aspose.Slides für .NET die Klassen [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) und [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) bereit. -Wenn Animationen generiert werden, wird ein Ereignis `NewAnimation` für jede nachfolgende Animation ausgelöst, das den Parameter [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/) hat. Letzteres ist eine Klasse, die einen Player für eine separate Animation darstellt. +`PresentationAnimationsGenerator` ermöglicht es, über den Konstruktor die Frame‑Größe für das Video (das später erstellt wird) und den FPS‑Wert (Frames pro Sekunde) festzulegen. Wenn Sie eine Instanz einer Präsentation übergeben, wird deren `Presentation.SlideSize` verwendet und es werden Animationen erzeugt, die [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) nutzt. -Um mit [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/) zu arbeiten, werden die Eigenschaften [Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/) (die Gesamtdauer der Animation) und die Methode [SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/) verwendet. Jede Animationsposition wird im Bereich *0 bis Dauer* festgelegt, und die Methode `GetFrame` gibt dann ein Bitmap zurück, das dem Animationszustand zu diesem Zeitpunkt entspricht. +When Animationen erzeugt werden, wird für jede nachfolgende Animation ein `NewAnimation`‑Ereignis ausgelöst, das einen [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/)‑Parameter enthält. Diese Klasse stellt einen Player für eine einzelne Animation dar. +Um mit [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/) zu arbeiten, verwenden Sie die Eigenschaft [Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/), die die Gesamtdauer der Animation liefert, und die Methode [SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/). Jede Animationsposition wird im Bereich *0 bis Duration* festgelegt, und die Methode `GetFrame` liefert dann ein Bitmap, das den Animationszustand zu diesem Zeitpunkt darstellt. ```c# using (Presentation presentation = new Presentation()) { - // Fügt eine Smiley-Form hinzu und animiert sie - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // Fügt ein Smiley-Shape hinzu und animiert es. + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; @@ -192,21 +240,21 @@ using (Presentation presentation = new Presentation()) { animationsGenerator.NewAnimation += animationPlayer => { - Console.WriteLine($"Gesamte Animationsdauer: {animationPlayer.Duration}"); - - animationPlayer.SetTimePosition(0); // Ursprünglicher Animationszustand - Bitmap bitmap = animationPlayer.GetFrame(); // Bitmap des ursprünglichen Animationszustands + Console.WriteLine($"Total animation duration: {animationPlayer.Duration}"); - animationPlayer.SetTimePosition(animationPlayer.Duration); // Endzustand der Animation - Bitmap lastBitmap = animationPlayer.GetFrame(); // Letzter Frame der Animation + animationPlayer.SetTimePosition(0); // Der anfängliche Animationszustand. + Bitmap bitmap = animationPlayer.GetFrame(); // Das Bitmap des anfänglichen Animationszustands. + + animationPlayer.SetTimePosition(animationPlayer.Duration); // Der Endzustand der Animation. + Bitmap lastBitmap = animationPlayer.GetFrame(); // Das letzte Bild der Animation. lastBitmap.Save("last.png"); }; } } ``` -Um alle Animationen in einer Präsentation gleichzeitig abzuspielen, wird die Klasse [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) verwendet. Diese Klasse nimmt eine Instanz von [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) und die FPS für Effekte in ihrem Konstruktor und ruft dann das Ereignis `FrameTick` für alle Animationen auf, um sie abzuspielen: +Um alle Animationen einer Präsentation gleichzeitig abspielen zu lassen, wird die Klasse [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) verwendet. Diese Klasse nimmt im Konstruktor eine Instanz von [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) und einen FPS‑Wert für die Effekte entgegen und ruft anschließend das `FrameTick`‑Ereignis für alle Animationen auf, um sie abzuspielen: ```c# using (Presentation presentation = new Presentation("animated.pptx")) { @@ -222,137 +270,154 @@ using (Presentation presentation = new Presentation("animated.pptx")) } ``` -Dann können die generierten Frames kompiliert werden, um ein Video zu produzieren. Siehe den Abschnitt [PowerPoint in Video umwandeln](https://docs.aspose.com/slides/net/convert-powerpoint-to-video/#convert-powerpoint-to-video). + +Dann können die erzeugten Frames zu einem Video zusammengesetzt werden. Siehe den Abschnitt [PowerPoint‑Präsentation in Video konvertieren](/slides/de/net/convert-powerpoint-to-video/#convert-a-powerpoint-presentation-to-video). ## **Unterstützte Animationen und Effekte** +Beim Konvertieren einer PowerPoint‑Präsentation in ein Video mit Aspose.Slides für .NET ist es wichtig zu verstehen, welche Animationen und Effekte im Ergebnis unterstützt werden. Aspose.Slides unterstützt eine große Bandbreite gängiger Eingangs‑, Ausgangs‑ und Betonungseffekte wie Ausblenden, Hereinfliegen, Zoomen und Drehen. Einige fortgeschrittene oder benutzerdefinierte Animationen werden jedoch möglicherweise nicht vollständig erhalten oder können im endgültigen Video anders aussehen. Dieser Abschnitt gibt einen Überblick über die unterstützten Animationen und Effekte. -**Eingänge**: +**Eingang**: -| Animationstyp | Aspose.Slides | PowerPoint | +| Animation Type | Aspose.Slides | PowerPoint | |---|---|---| -| **Erscheinen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Ausblenden** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Hineinfliegen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Hineinschweben** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Teilen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Wischen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Form** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Rad** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Zufällige Balken** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Wachsen & Drehen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Zoom** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Schwenken** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Springen** | ![unterstützt](v.png) | ![unterstützt](v.png) | - +| **Appear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly In** | ![supported](v.png) | ![supported](v.png) | +| **Float In** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Grow & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | **Betonung**: -| Animationstyp | Aspose.Slides | PowerPoint | +| Animation Type | Aspose.Slides | PowerPoint | |---|---|---| -| **Puls** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Farbpuls** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Wippen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Drehen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Wachsen/Schrumpfen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Entsättigen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Dunkler machen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Aufhellen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Transparenz** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Objektfarbe** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Komplementärfarbe** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Linienfarbe** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Füllfarbe** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | - -**Ausgänge**: - -| Animationstyp | Aspose.Slides | PowerPoint | +| **Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Color Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Teeter** | ![supported](v.png) | ![supported](v.png) | +| **Spin** | ![supported](v.png) | ![supported](v.png) | +| **Grow/Shrink** | ![not supported](x.png) | ![supported](v.png) | +| **Desaturate** | ![not supported](x.png) | ![supported](v.png) | +| **Darken** | ![not supported](x.png) | ![supported](v.png) | +| **Lighten** | ![not supported](x.png) | ![supported](v.png) | +| **Transparency** | ![not supported](x.png) | ![supported](v.png) | +| **Object Color** | ![not supported](x.png) | ![supported](v.png) | +| **Complementary Color** | ![not supported](x.png) | ![supported](v.png) | +| **Line Color** | ![not supported](x.png) | ![supported](v.png) | +| **Fill Color** | ![not supported](x.png) | ![supported](v.png) | + +**Ausgang**: + +| Animation Type | Aspose.Slides | PowerPoint | |---|---|---| -| **Verschwinden** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Ausblenden** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Hinausfliegen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Hinausschweben** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Teilen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Wischen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Form** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Zufällige Balken** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Schrumpfen & Drehen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Zoom** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Schwenken** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Springen** | ![unterstützt](v.png) | ![unterstützt](v.png) | - -**Bewegungspfade:** - -| Animationstyp | Aspose.Slides | PowerPoint | +| **Disappear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly Out** | ![supported](v.png) | ![supported](v.png) | +| **Float Out** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shrink & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | + +**Bewegungspfade**: + +| Animation Type | Aspose.Slides | PowerPoint | |---|---|---| -| **Linien** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Bögen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Drehungen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Formen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Schleifen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Benutzerdefinierter Pfad** | ![unterstützt](v.png) | ![unterstützt](v.png) | +| **Lines** | ![supported](v.png) | ![supported](v.png) | +| **Arcs** | ![supported](v.png) | ![supported](v.png) | +| **Turns** | ![supported](v.png) | ![supported](v.png) | +| **Shapes** | ![supported](v.png) | ![supported](v.png) | +| **Loops** | ![supported](v.png) | ![supported](v.png) | +| **Custom Path** | ![supported](v.png) | ![supported](v.png) | ## **Unterstützte Folienübergangseffekte** -**Subtil**: +Folienübergangseffekte spielen eine wichtige Rolle, um glatte und optisch ansprechende Wechsel zwischen Folien in einem Video zu erzeugen. Aspose.Slides für .NET unterstützt verschiedene gängige Übergangseffekte, um den Fluss und Stil Ihrer Originalpräsentation zu bewahren. Dieser Abschnitt hebt hervor, welche Übergangseffekte während des Konvertierungsprozesses unterstützt werden. -| Animationstyp | Aspose.Slides | PowerPoint | +**Dezent**: + +| Animation Type | Aspose.Slides | PowerPoint | |---|---|---| -| **Morph** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Ausblenden** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Drücken** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Ziehen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Wischen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Teilen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Enthüllen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Zufällige Balken** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Form** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Enthüllen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Abdeckung** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Blitzen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Streifen** | ![unterstützt](v.png) | ![unterstützt](v.png) | - -**Aufregend**: - -| Animationstyp | Aspose.Slides | PowerPoint | +| **Morph** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Push** | ![supported](v.png) | ![supported](v.png) | +| **Pull** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Reveal** | ![not supported](x.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![not supported](x.png) | ![supported](v.png) | +| **Uncover** | ![not supported](x.png) | ![supported](v.png) | +| **Cover** | ![supported](v.png) | ![supported](v.png) | +| **Flash** | ![supported](v.png) | ![supported](v.png) | +| **Strips** | ![supported](v.png) | ![supported](v.png) | + +**Spannend**: + +| Animation Type | Aspose.Slides | PowerPoint | |---|---|---| -| **Umfallen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Drapieren** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Vorhänge** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Wind** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Prestige** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Fraktur** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Zerdrücken** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Abziehen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Seitenumblättern** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Flugzeug** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Origami** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Auflösen** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Schachbrett** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Jalousien** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Uhr** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Welle** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Honigwabe** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Glitzern** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Wirbel** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Schnipsel** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Umschalten** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Drehen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Galerie** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Würfel** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Türen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Box** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Kamm** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Zoom** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Zufällig** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | +| **Fall Over** | ![not supported](x.png) | ![supported](v.png) | +| **Drape** | ![not supported](x.png) | ![supported](v.png) | +| **Curtains** | ![not supported](x.png) | ![supported](v.png) | +| **Wind** | ![not supported](x.png) | ![supported](v.png) | +| **Prestige** | ![not supported](x.png) | ![supported](v.png) | +| **Fracture** | ![not supported](x.png) | ![supported](v.png) | +| **Crush** | ![not supported](x.png) | ![supported](v.png) | +| **Peel Off** | ![not supported](x.png) | ![supported](v.png) | +| **Page Curl** | ![not supported](x.png) | ![supported](v.png) | +| **Airplane** | ![not supported](x.png) | ![supported](v.png) | +| **Origami** | ![not supported](x.png) | ![supported](v.png) | +| **Dissolve** | ![supported](v.png) | ![supported](v.png) | +| **Checkerboard** | ![not supported](x.png) | ![supported](v.png) | +| **Blinds** | ![not supported](x.png) | ![supported](v.png) | +| **Clock** | ![supported](v.png) | ![supported](v.png) | +| **Ripple** | ![not supported](x.png) | ![supported](v.png) | +| **Honeycomb** | ![not supported](x.png) | ![supported](v.png) | +| **Glitter** | ![not supported](x.png) | ![supported](v.png) | +| **Vortex** | ![not supported](x.png) | ![supported](v.png) | +| **Shred** | ![not supported](x.png) | ![supported](v.png) | +| **Switch** | ![not supported](x.png) | ![supported](v.png) | +| **Flip** | ![not supported](x.png) | ![supported](v.png) | +| **Gallery** | ![not supported](x.png) | ![supported](v.png) | +| **Cube** | ![not supported](x.png) | ![supported](v.png) | +| **Doors** | ![not supported](x.png) | ![supported](v.png) | +| **Box** | ![not supported](x.png) | ![supported](v.png) | +| **Comb** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Random** | ![not supported](x.png) | ![supported](v.png) | **Dynamischer Inhalt**: -| Animationstyp | Aspose.Slides | PowerPoint | +| Animation Type | Aspose.Slides | PowerPoint | |---|---|---| -| **Pan** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Riesenrad** | ![unterstützt](v.png) | ![unterstützt](v.png) | -| **Förderband** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Drehen** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Umlaufbahn** | ![nicht unterstützt](x.png) | ![unterstützt](v.png) | -| **Durchfliegen** | ![unterstützt](v.png) | ![unterstützt](v.png) | \ No newline at end of file +| **Pan** | ![not supported](x.png) | ![supported](v.png) | +| **Ferris Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Conveyor** | ![not supported](x.png) | ![supported](v.png) | +| **Rotate** | ![not supported](x.png) | ![supported](v.png) | +| **Orbit** | ![not supported](x.png) | ![supported](v.png) | +| **Fly Through** | ![supported](v.png) | ![supported](v.png) | + +## **FAQ** + +**Ist es möglich, passwortgeschützte Präsentationen zu konvertieren?** + +Ja, Aspose.Slides für .NET ermöglicht die Arbeit mit passwortgeschützten Präsentationen. Beim Verarbeiten solcher Dateien müssen Sie das korrekte Passwort angeben, damit die Bibliothek auf den Inhalt der Präsentation zugreifen kann. + +**Unterstützt Aspose.Slides für .NET die Verwendung in Cloud‑Lösungen?** + +Ja, Aspose.Slides für .NET kann in Cloud‑Anwendungen und -Dienste integriert werden. Die Bibliothek ist für den Einsatz in Serverumgebungen konzipiert und gewährleistet hohe Leistung sowie Skalierbarkeit für die Stapelverarbeitung von Dateien. + +**Gibt es Größenbeschränkungen für Präsentationen während der Konvertierung?** + +Aspose.Slides für .NET kann praktisch Präsentationen jeder Größe verarbeiten. Bei sehr großen Dateien können jedoch zusätzliche Systemressourcen erforderlich sein, und es wird gelegentlich empfohlen, die Präsentation zu optimieren, um die Leistung zu verbessern. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md index 11d73638f6..f2cd46db16 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md @@ -1,85 +1,123 @@ --- -title: PowerPoint in Word konvertieren +title: PowerPoint-Präsentationen in Word-Dokumente mit C# konvertieren +linktitle: PowerPoint in Word konvertieren type: docs weight: 110 url: /de/net/convert-powerpoint-to-word/ keywords: +- PowerPoint zu DOCX +- OpenDocument zu DOCX +- Präsentation zu DOCX +- Folie zu DOCX +- PPT zu DOCX +- PPTX zu DOCX +- ODP zu DOCX +- PowerPoint zu DOC +- OpenDocument zu DOC +- Präsentation zu DOC +- Folie zu DOC +- PPT zu DOC +- PPTX zu DOC +- ODP zu DOC +- PowerPoint zu Word +- OpenDocument zu Word +- Präsentation zu Word +- Folie zu Word +- PPT zu Word +- PPTX zu Word +- ODP zu Word - PowerPoint konvertieren -- PPT -- PPTX -- Präsentation -- Word -- DOCX -- DOC -- PPTX in DOCX -- PPT in DOC -- PPTX in DOC -- PPT in DOCX +- OpenDocument konvertieren +- Präsentation konvertieren +- Folie konvertieren +- PPT konvertieren +- PPTX konvertieren +- ODP konvertieren - C# -- Csharp - .NET - Aspose.Slides -description: "Konvertieren Sie PowerPoint-Präsentationen in Word in C# oder .NET." +description: "Erfahren Sie, wie Sie PowerPoint- und OpenDocument-Präsentationen mühelos in Word-Dokumente mit Aspose.Slides für .NET konvertieren können. Unser schritt-für-Schritt-Leitfaden mit Beispiel-C#-Code bietet Entwicklern die Lösung, um ihre Dokumenten-Workflows zu optimieren." --- -Wenn Sie planen, Textinhalte oder Informationen aus einer Präsentation (PPT oder PPTX) auf neue Weise zu verwenden, profitieren Sie möglicherweise davon, die Präsentation in Word (DOC oder DOCX) zu konvertieren. +## **Übersicht** -* Im Vergleich zu Microsoft PowerPoint ist die Microsoft Word-App besser mit Werkzeugen oder Funktionen für Inhalte ausgestattet. -* Neben den Bearbeitungsfunktionen in Word profitieren Sie möglicherweise auch von verbesserten Kollaboration-, Druck- und Freigabefunktionen. +Dieser Artikel bietet Entwicklern eine Lösung zum Konvertieren von PowerPoint‑ und OpenDocument‑Präsentationen in Word‑Dokumente mit Aspose.Slides für .NET und Aspose.Words für .NET. Die schrittweise Anleitung führt Sie durch jeden Schritt des Konvertierungsprozesses. -{{% alert color="primary" %}} - -Sie sollten unseren [**Präsentation zu Word Online-Konverter**](https://products.aspose.app/slides/conversion/ppt-to-word) ausprobieren, um zu sehen, was Sie aus der Arbeit mit Textinhalten aus Folien gewinnen könnten. - -{{% /alert %}} +## **Präsentation in ein Word‑Dokument konvertieren** -### **Aspose.Slides und Aspose.Words** +Befolgen Sie die nachstehenden Anweisungen, um eine PowerPoint‑ oder OpenDocument‑Präsentation in ein Word‑Dokument zu konvertieren: -Um eine PowerPoint-Datei (PPTX oder PPT) in Word (DOCX oder DOC) zu konvertieren, benötigen Sie sowohl [Aspose.Slides für .NET](https://products.aspose.com/slides/net/) als auch [Aspose.Words für .NET](https://products.aspose.com/words/net/). +1. Instanziieren Sie die Klasse [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) und laden Sie eine Präsentationsdatei. +2. Instanziieren Sie die Klassen [Document](https://reference.aspose.com/words/net/aspose.words/document/) und [DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/), um ein Word‑Dokument zu erzeugen. +3. Setzen Sie die Seitengröße des Word‑Dokuments so, dass sie der Präsentation entspricht, indem Sie die Eigenschaft [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/) verwenden. +4. Legen Sie die Ränder im Word‑Dokument über die Eigenschaft [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/) fest. +5. Durchlaufen Sie alle Folien der Präsentation über die Eigenschaft [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/). + - Erzeugen Sie ein Folien‑Bild mit der Methode `GetImage` aus der Schnittstelle [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) und speichern Sie es in einen Speicherstrom. + - Fügen Sie das Folien‑Bild dem Word‑Dokument mit der Methode `InsertImage` aus der Klasse [DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/) hinzu. +6. Speichern Sie das Word‑Dokument in einer Datei. -Als eigenständige API bietet [Aspose.Slides](https://products.aspose.app/slides) für .NET Funktionen, die es Ihnen ermöglichen, Texte aus Präsentationen zu extrahieren. +Angenommen, wir haben eine Präsentation "sample.pptx", die wie folgt aussieht: -[Aspose.Words](https://docs.aspose.com/words/net/) ist eine fortschrittliche Dokumentenverarbeitungs-API, die es Anwendungen ermöglicht, Dateien zu generieren, zu ändern, zu konvertieren, zu rendern, zu drucken und andere Aufgaben mit Dokumenten durchzuführen, ohne Microsoft Word zu verwenden. +![PowerPoint presentation](PowerPoint.png) -## **PowerPoint in Word konvertieren** +Das folgende C#‑Code‑Beispiel zeigt, wie die PowerPoint‑Präsentation in ein Word‑Dokument konvertiert wird: +```cs +// Laden einer Präsentationsdatei. +using var presentation = new Presentation("sample.pptx"); -1. Fügen Sie diese Namespaces zu Ihrer program.cs-Datei hinzu: +// Document- und DocumentBuilder-Objekte erstellen. +var document = new Document(); +var builder = new DocumentBuilder(document); -```c# -using Aspose.Slides; -using Aspose.Words; -using System.IO; -``` +// Seitengröße im Word-Dokument festlegen. +var slideSize = presentation.SlideSize.Size; +builder.PageSetup.PageWidth = slideSize.Width; +builder.PageSetup.PageHeight = slideSize.Height; -2. Verwenden Sie diesen Codeausschnitt, um PowerPoint in Word zu konvertieren: +// Ränder im Word-Dokument festlegen. +builder.PageSetup.LeftMargin = 0; +builder.PageSetup.RightMargin = 0; +builder.PageSetup.TopMargin = 0; +builder.PageSetup.BottomMargin = 0; -```c# -using var presentation = new Presentation("sample.pptx"); - -var doc = new Document(); -var builder = new DocumentBuilder(doc); +const float scaleX = 2, scaleY = 2; +// Alle Folien der Präsentation durchlaufen. foreach (var slide in presentation.Slides) { - // generiert ein Folienbild und speichert es in einem Speicherstream - using var image = slide.GetImage(1, 1); + // Folienbild erzeugen und in einen Speicherstream speichern. + using var image = slide.GetImage(scaleX, scaleY); using var imageStream = new MemoryStream(); image.Save(imageStream, ImageFormat.Png); + // Folienbild zum Word-Dokument hinzufügen. imageStream.Seek(0, SeekOrigin.Begin); - builder.InsertImage(imageStream.ToArray()); - - // fügt den Text der Folien ein - foreach (var shape in slide.Shapes) - { - if (shape is AutoShape autoShape) - { - builder.Writeln(autoShape.TextFrame.Text); - } - } + builder.InsertImage(imageStream.ToArray(), builder.PageSetup.PageWidth, builder.PageSetup.PageHeight); builder.InsertBreak(BreakType.PageBreak); } -doc.Save("output.docx"); -``` \ No newline at end of file +// Word-Dokument in einer Datei speichern. +document.Save("output.docx"); +``` + + +Das Ergebnis: + +![Word document](Word.png) + +{{% alert color="primary" %}} + +Probieren Sie unseren **Online‑PPT‑zu‑Word‑Konverter** aus, um zu sehen, welchen Nutzen Sie aus der Konvertierung von PowerPoint‑ und OpenDocument‑Präsentationen in Word‑Dokumente ziehen können. + +{{% /alert %}} + +## **FAQ** + +**Welche Komponenten müssen installiert sein, um PowerPoint‑ und OpenDocument‑Präsentationen in Word‑Dokumente zu konvertieren?** + +Sie müssen lediglich die entsprechenden NuGet‑Pakete für [Aspose.Slides für .NET](https://www.nuget.org/packages/Aspose.Slides.NET) und [Aspose.Words für .NET](https://www.nuget.org/packages/Aspose.Words/) zu Ihrem C#‑Projekt hinzufügen. Beide Bibliotheken funktionieren als eigenständige APIs, und es ist keine Installation von Microsoft Office erforderlich. + +**Werden alle PowerPoint‑ und OpenDocument‑Präsentationsformate unterstützt?** + +Aspose.Slides für .NET [unterstützt alle Präsentationsformate](/slides/de/net/supported-file-formats/), einschließlich PPT, PPTX, ODP und anderer gängiger Dateitypen. Damit können Sie mit Präsentationen arbeiten, die in verschiedenen Versionen von Microsoft PowerPoint erstellt wurden. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md index 23c96eacca..6aea29d985 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md @@ -3,54 +3,54 @@ title: PowerPoint in XPS konvertieren type: docs weight: 70 url: /de/net/convert-powerpoint-to-xps -keywords: "PowerPoint-Präsentation konvertieren, PowerPoint in XPS, PPT in XPS, PPTX in XPS, Konvertierung, C#, Csharp, .NET, Aspose.Slides" -description: "Konvertieren Sie PowerPoint-Präsentationen in XPS mit C# oder .NET." +keywords: "PowerPoint-Präsentation konvertieren, PowerPoint zu XPS, PPT zu XPS, PPTX zu XPS, Konvertierung, C#, Csharp, .NET, Aspose.Slides" +description: "PowerPoint-Präsentation in XPS in C# oder .NET konvertieren." --- ## **Über XPS** -Microsoft entwickelte [XPS](https://docs.fileformat.com/page-description-language/xps/) als Alternative zu [PDF](https://docs.fileformat.com/pdf/). Es ermöglicht das Drucken von Inhalten durch das Ausgeben einer Datei, die PDF sehr ähnlich ist. Das XPS-Format basiert auf XML. Das Layout oder die Struktur einer XPS-Datei bleibt auf allen Betriebssystemen und Druckern gleich. +Microsoft hat [XPS](https://docs.fileformat.com/page-description-language/xps/) als Alternative zu [PDF](https://docs.fileformat.com/pdf/) entwickelt. Es ermöglicht das Drucken von Inhalten, indem eine Datei erzeugt wird, die einer PDF sehr ähnlich ist. Das XPS‑Format basiert auf XML. Das Layout bzw. die Struktur einer XPS‑Datei bleibt auf allen Betriebssystemen und Druckern gleich. -## Wann man das Microsoft XPS-Format verwenden sollte +## **Wann das Microsoft XPS‑Format verwenden** {{% alert color="primary" %}} -Um zu sehen, wie Aspose.Slides PPT oder PPTX-Präsentationen in das XPS-Format konvertiert, können Sie [diese kostenlose Online-Konverter-App](https://products.aspose.app/slides/conversion) ausprobieren. +Um zu sehen, wie Aspose.Slides PPT‑ oder PPTX‑Präsentationen in das XPS‑Format konvertiert, können Sie die [kostenlose Online‑Konverter‑App](https://products.aspose.app/slides/conversion) ausprobieren. {{% /alert %}} -Wenn Sie die Speicherkosten senken möchten, können Sie Ihre Microsoft PowerPoint-Präsentation in das XPS-Format konvertieren. Auf diese Weise wird es einfacher, Ihre Dokumente zu speichern, zu teilen und zu drucken. +Wenn Sie Speicher‑Kosten senken möchten, können Sie Ihre Microsoft PowerPoint‑Präsentation in das XPS‑Format konvertieren. So lässt sich das Dokument leichter speichern, teilen und drucken. -Microsoft setzt weiterhin auf eine starke Unterstützung von XPS in Windows (sogar in Windows 10), daher sollten Sie in Erwägung ziehen, Dateien in diesem Format zu speichern. Wenn Sie mit Windows 8.1, Windows 8, Windows 7 und Windows Vista arbeiten, könnte XPS tatsächlich die beste Option für bestimmte Operationen sein. +Microsoft setzt die starke Unterstützung für XPS in Windows (auch in Windows 10) fort, sodass Sie das Speichern im XPS‑Format in Betracht ziehen sollten. Wenn Sie Windows 8.1, Windows 8, Windows 7 oder Windows Vista verwenden, könnte XPS für bestimmte Vorgänge tatsächlich Ihre beste Option sein. -- **Windows 8** verwendet das OXPS (Open XPS)-Format für XPS-Dateien. OXPS ist eine standardisierte Version des ursprünglichen XPS-Formats. Windows 8 bietet eine bessere Unterstützung für XPS-Dateien als für PDF-Dateien. - - **XPS:** Eingebauter XPS-Viewer/Reader und Druckfunktion für XPS verfügbar. - - **PDF**: PDF-Reader vorhanden, jedoch keine Druckfunktion für PDF. +- **Windows 8** verwendet das OXPS‑(Open XPS) Format für XPS‑Dateien. OXPS ist eine standardisierte Version des ursprünglichen XPS‑Formats. Windows 8 bietet besseren Support für XPS‑Dateien als für PDF‑Dateien. + - **XPS:** Integrierter XPS‑Viewer/Reader und Druck‑zu‑XPS‑Funktion verfügbar. + - **PDF:** PDF‑Reader verfügbar, aber keine Druck‑zu‑PDF‑Funktion. -- **Windows 7 und Windows Vista** verwenden das ursprüngliche XPS-Format. Diese Betriebssysteme bieten ebenfalls eine bessere Unterstützung für XPS-Dateien als für PDFs. - - **XPS**: Eingebauter XPS-Viewer und Druckfunktion für XPS verfügbar. - - **PDF**: Kein PDF-Reader. Keine Druckfunktion für PDF. +- **Windows 7 und Windows Vista** verwenden das ursprüngliche XPS‑Format. Diese Betriebssysteme bieten ebenfalls besseren Support für XPS‑Dateien als für PDFs. + - **XPS:** Integrierter XPS‑Viewer und Druck‑zu‑XPS‑Funktion verfügbar. + - **PDF:** Kein PDF‑Reader. Keine Druck‑zu‑PDF‑Funktion. -|

**Eingabe PPT(X):

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**Ausgabe XPS:

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| +|

**Eingabe PPT(X):**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**Ausgabe XPS:**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| | :- | :- | -Microsoft hat schließlich die Unterstützung für Druckoperationen in PDF über die Druckfunktion in PDF in Windows 10 implementiert. Zuvor wurde erwartet, dass Benutzer Dokumente im XPS-Format drucken. -## XPS-Konvertierung mit Aspose.Slides +Microsoft hat schließlich die Unterstützung für Druckvorgänge in PDF über die Funktion „Drucken nach PDF“ in Windows 10 implementiert. Zuvor mussten Benutzer Dokumente über das XPS‑Format drucken. -In [**Aspose.Slides**](https://products.aspose.com/slides/net/) für .NET können Sie die von der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse bereitgestellte [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) Methode verwenden, um die gesamte Präsentation in ein XPS-Dokument zu konvertieren. +## **XPS‑Konvertierung mit Aspose.Slides** -Beim Konvertieren einer Präsentation in XPS müssen Sie die Präsentation mit einer dieser Einstellungen speichern: +In [**Aspose.Slides**](https://products.aspose.com/slides/net/) für .NET können Sie die [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)‑Methode der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse verwenden, um die gesamte Präsentation in ein XPS‑Dokument zu konvertieren. -- Standardeinstellungen (ohne [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) -- Anpassbare Einstellungen (mit [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) +Beim Konvertieren einer Präsentation in XPS müssen Sie die Präsentation mit einer dieser Einstellungen speichern: -### **Konvertieren von Präsentationen in XPS mit Standardeinstellungen** +- Standard‑Einstellungen (ohne [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) +- Benutzerdefinierte Einstellungen (mit [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) -Dieser Beispielcode in C# zeigt Ihnen, wie Sie eine Präsentation mit Standard Einstellungen in ein XPS-Dokument konvertieren: +### **Präsentationen mit Standard‑Einstellungen nach XPS konvertieren** +Dieser C#‑Beispielcode zeigt, wie Sie eine Präsentation mit den Standard‑Einstellungen in ein XPS‑Dokument konvertieren: ```c# -// Erstellen Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt +// Instanziieren Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt using (Presentation pres = new Presentation("Convert_XPS.pptx")) { // Speichern der Präsentation als XPS-Dokument @@ -58,20 +58,32 @@ using (Presentation pres = new Presentation("Convert_XPS.pptx")) } ``` -### **Konvertieren von Präsentationen in XPS mit benutzerdefinierten Einstellungen** -Dieser Beispielcode zeigt Ihnen, wie Sie eine Präsentation mit benutzerdefinierten Einstellungen in ein XPS-Dokument in C# konvertieren: + +### **Präsentationen mit benutzerdefinierten Einstellungen nach XPS konvertieren** +Dieser Beispielcode zeigt, wie Sie eine Präsentation mit benutzerdefinierten Einstellungen in C# in ein XPS‑Dokument konvertieren: ```c# -// Erstellen Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt +// Instanziieren Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt using (Presentation pres = new Presentation("Convert_XPS_Options.pptx")) { - // Erstellen Sie die Klasse XpsOptions + // Instanziieren Sie die TiffOptions-Klasse XpsOptions options = new XpsOptions(); - // Metadateien als PNG speichern + // Speichern Sie MetaFiles als PNG options.SaveMetafilesAsPng = true; - // Speichern der Präsentation als XPS-Dokument + // Speichern Sie die Präsentation als XPS-Dokument pres.Save("XPS_With_Options_out.xps", SaveFormat.Xps, options); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Kann ich in einen Stream statt in eine Datei speichern?** + +Ja – Aspose.Slides ermöglicht das direkte Exportieren in einen Stream, was ideal für Web‑APIs, serverseitige Pipelines oder jede Situation ist, in der Sie das XPS ausgeben wollen, ohne das Dateisystem zu berühren. + +**Werden versteckte Folien ins XPS übernommen und kann ich sie ausschließen?** + +Standardmäßig werden nur reguläre (sichtbare) Folien gerendert. Sie können über die [Export‑Einstellungen](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/) [verdeckte Folien ein‑ oder ausschließen](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/), bevor Sie nach XPS speichern, sodass die Ausgabe genau die Seiten enthält, die Sie benötigen. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index 8025c2fbba..91b30b6aca 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -1,22 +1,22 @@ --- -title: PPT in PPTX in C# konvertieren +title: PPT in PPTX konvertieren in C# linktitle: PPT in PPTX konvertieren type: docs weight: 20 url: /de/net/convert-ppt-to-pptx/ keywords: "C# PPT in PPTX konvertieren, PowerPoint-Präsentation konvertieren, PPT in PPTX, C#, Csharp, .NET, Aspose.Slides" -description: "PowerPoint PPT in PPTX in C# oder .NET konvertieren" +description: "PowerPoint PPT in PPTX konvertieren in C# oder .NET" --- ## **Übersicht** -Dieser Artikel erklärt, wie man eine PowerPoint-Präsentation im PPT-Format in das PPTX-Format mit C# und einer Online-PPT-zu-PPTX-Konvertierungs-App umwandelt. Folgendes Thema wird behandelt: +Dieser Artikel erklärt, wie man PowerPoint-Präsentationen im PPT-Format in das PPTX-Format konvertiert, mit C# und einer Online‑PPT‑zu‑PPTX‑Konvertierungs‑App. Das folgende Thema wird behandelt. -- [PPT in PPTX in C# konvertieren](#convert-ppt-to-pptx) +- [PPT in PPTX konvertieren in C#](#convert-ppt-to-pptx) ## **C# PPT in PPTX konvertieren** -Für C#-Beispielcode zur Konvertierung von PPT in PPTX siehe den folgenden Abschnitt, d.h. [PPT in PPTX konvertieren](#convert-ppt-to-pptx). Es lädt einfach die PPT-Datei und speichert sie im PPTX-Format. Durch Angabe verschiedener Speicherformate können Sie die PPT-Datei auch in viele andere Formate wie PDF, XPS, ODP, HTML usw. speichern, wie in diesen Artikeln behandelt. +Den C#‑Beispielcode zum Konvertieren von PPT nach PPTX finden Sie im nachfolgenden Abschnitt, d. h. [PPT in PPTX konvertieren](#convert-ppt-to-pptx). Er lädt lediglich die PPT‑Datei und speichert sie im PPTX‑Format. Durch Angabe verschiedener Speicherformate können Sie die PPT‑Datei auch in viele andere Formate wie PDF, XPS, ODP, HTML usw. speichern, wie in diesen Artikeln beschrieben. - [C# PPT in PDF konvertieren](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) - [C# PPT in XPS konvertieren](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) @@ -24,34 +24,34 @@ Für C#-Beispielcode zur Konvertierung von PPT in PPTX siehe den folgenden Absch - [C# PPT in ODP konvertieren](https://docs.aspose.com/slides/net/save-presentation/) - [C# PPT in Bild konvertieren](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -## **Über die Konvertierung von PPT in PPTX** -Konvertieren Sie das alte PPT-Format mit der Aspose.Slides API in PPTX. Wenn Sie Tausende von PPT-Präsentationen in das PPTX-Format umwandeln müssen, ist die beste Lösung, dies programmgesteuert zu tun. Mit der Aspose.Slides API ist es möglich, dies in nur wenigen Codezeilen zu tun. Die API unterstützt die volle Kompatibilität zur Konvertierung von PPT-Präsentationen in PPTX und es ist möglich: +## **Über die PPT‑zu‑PPTX‑Konvertierung** -- Komplexe Strukturen von Master, Layouts und Folien zu konvertieren. -- Präsentationen mit Diagrammen zu konvertieren. -- Präsentationen mit Gruppierungen, Auto-Formen (wie Rechtecken und Ellipsen), Formen mit benutzerdefinierter Geometrie zu konvertieren. -- Präsentationen zu konvertieren, die Texturen und Füllstile für Auto-Formen haben. -- Präsentationen mit Platzhaltern, Textfeldern und Textbehältern zu konvertieren. +Konvertieren Sie das alte PPT‑Format mit der Aspose.Slides‑API in PPTX. Wenn Sie tausende von PPT‑Präsentationen in das PPTX‑Format konvertieren müssen, ist die beste Lösung, dies programmgesteuert zu tun. Mit der Aspose.Slides‑API ist das in nur wenigen Code‑Zeilen möglich. Die API unterstützt volle Kompatibilität, um PPT‑Präsentationen nach PPTX zu konvertieren, und ermöglicht: + +- Komplexe Strukturen von Masterfolien, Layouts und Folien konvertieren. +- Präsentationen mit Diagrammen konvertieren. +- Präsentationen mit Gruppierungen, Autoformen (wie Rechtecke und Ellipsen) und Formen mit benutzerdefinierter Geometrie konvertieren. +- Präsentationen mit Texturen und Bildfüllungen für Autoformen konvertieren. +- Präsentationen mit Platzhaltern, Textfeldern und Textbehältern konvertieren. {{% alert color="primary" %}} -Werfen Sie einen Blick auf die [**Aspose.Slides PPT zu PPTX-Konvertierung**](https://products.aspose.app/slides/conversion/ppt-to-pptx) App: +Schauen Sie sich die [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) App an: [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -Diese App basiert auf der **Aspose.Slides API**, sodass Sie ein lebendes Beispiel der grundlegenden PPT-zu-PPTX-Konvertierungsfähigkeiten sehen können. Aspose.Slides Conversion ist eine Webanwendung, die es ermöglicht, eine Präsentationsdatei im PPT-Format abzulegen und sie in PPTX konvertiert herunterzuladen. +Diese App basiert auf der **Aspose.Slides‑API**, sodass Sie ein lebendiges Beispiel für grundlegende PPT‑zu‑PPTX‑Konvertierungsfunktionen sehen können. Aspose.Slides Conversion ist eine Web‑App, die es ermöglicht, eine Präsentationsdatei im PPT‑Format per Drag‑&‑Drop hochzuladen und sie als PPTX herunterzuladen. -Finden Sie weitere live [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) Beispiele. +Weitere Live‑Beispiele für [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) finden Sie. {{% /alert %}} - ## **PPT in PPTX konvertieren** -Um eine PPT in PPTX zu konvertieren, übergeben Sie einfach den Dateinamen und das Speicherformat an die [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) Methode der [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. Das folgende C#-Codebeispiel konvertiert eine Präsentation von PPT zu PPTX unter Verwendung der Standardoptionen. +Um ein PPT in PPTX zu konvertieren, übergeben Sie einfach den Dateinamen und das Speicherformat an die [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) Methode der [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse. Der untenstehende C#‑Code‑Beispiel konvertiert eine Präsentation von PPT nach PPTX mit den Standardoptionen. ```c# -// Erstellen Sie ein Presentation-Objekt, das eine PPTX-Datei darstellt +// Instanziieren Sie ein Presentation-Objekt, das eine PPTX-Datei darstellt Presentation pres = new Presentation("PPTtoPPTX.ppt"); // Speichern der PPTX-Präsentation im PPTX-Format @@ -59,5 +59,34 @@ pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` +Lesen Sie mehr über die Präsentationsformate [**PPT vs PPTX**](/slides/de/net/ppt-vs-pptx/) und darüber, wie [**Aspose.Slides PPT‑zu‑PPTX‑Konvertierung unterstützt**](/slides/de/net/convert-ppt-to-pptx/). + +## **FAQ** + +**Was ist der Unterschied zwischen den Formaten PPT und PPTX?** + +PPT ist das ältere binäre Dateiformat, das von Microsoft PowerPoint verwendet wird, während PPTX das neuere, auf XML basierende Format ist, das mit Microsoft Office 2007 eingeführt wurde. PPTX‑Dateien bieten bessere Leistung, geringere Dateigröße und verbesserte Datenwiederherstellung. + +**Kann ich PPT mit .NET in PPTX konvertieren?** + +Ja, mit der Aspose.Slides‑Bibliothek für .NET können Sie eine PPT‑Datei einfach laden und mit nur wenigen Codezeilen im PPTX‑Format speichern. + +**Unterstützt Aspose.Slides die Stapelkonvertierung mehrerer PPT‑Dateien zu PPTX?** + +Ja, Sie können Aspose.Slides in einer Schleife verwenden, um mehrere PPT‑Dateien programmgesteuert in PPTX zu konvertieren, was es für Stapelkonvertierungs‑Szenarien geeignet macht. + +**Werden Inhalt und Formatierung nach der Konvertierung beibehalten?** + +Aspose.Slides gewährleistet eine hohe Treue bei der Konvertierung von Präsentationen. Folienlayouts, Animationen, Formen, Diagramme und andere Designelemente bleiben während der PPT‑zu‑PPTX‑Konvertierung erhalten. + +**Kann ich andere Formate wie PDF oder HTML aus PPT‑Dateien konvertieren?** + +Ja, Aspose.Slides unterstützt die Konvertierung von PPT‑Dateien in mehrere Formate, darunter PDF, XPS, HTML, ODP und Bildformate wie PNG und JPEG. + +**Ist es möglich, PPT ohne installierten Microsoft PowerPoint in PPTX zu konvertieren?** + +Ja, Aspose.Slides für .NET ist eine eigenständige API und benötigt weder Microsoft PowerPoint noch andere Drittanbietersoftware für die Konvertierung. + +**Gibt es ein Online‑Tool für die PPT‑zu‑PPTX‑Konvertierung?** -Lesen Sie mehr über die [**PPT vs PPTX**](/slides/de/net/ppt-vs-pptx/) Präsentationsformate und wie [**Aspose.Slides die PPT-zu-PPTX-Konvertierung unterstützt**](/slides/de/net/convert-ppt-to-pptx/). \ No newline at end of file +Ja, Sie können die kostenlose [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) Web‑Anwendung nutzen, um die Konvertierung direkt im Browser durchzuführen, ohne Code zu schreiben. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md index eeafccc350..2c40d007d9 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md @@ -1,36 +1,50 @@ --- -title: Konvertieren von PPTX in PPT in C# -linktitle: Konvertieren von PPTX in PPT +title: Konvertieren von PPTX nach PPT in C# +linktitle: PPTX nach PPT konvertieren type: docs weight: 21 url: /de/net/convert-pptx-to-ppt/ -keywords: "C# Konvertieren von PPTX in PPT, PowerPoint-Präsentation konvertieren, PPTX in PPT, C#, Aspose.Slides" -description: "Konvertieren Sie PowerPoint PPTX in PPT in C#" +keywords: "C# PPTX nach PPT konvertieren, PowerPoint-Präsentation konvertieren, PPTX nach PPT, C#, Aspose.Slides" +description: "PowerPoint-PPTX nach PPT in C# konvertieren" --- ## **Überblick** -In diesem Artikel wird erklärt, wie man eine PowerPoint-Präsentation im PPTX-Format in das PPT-Format mit C# konvertiert. Das folgende Thema wird behandelt. +Dieser Artikel erklärt, wie man PowerPoint‑Präsentationen im PPTX‑Format mit C# in das PPT‑Format konvertiert. Das folgende Thema wird behandelt. -- Konvertieren von PPTX in PPT in C# +- PPTX nach PPT in C# konvertieren -## **C# Konvertieren von PPTX in PPT** +## **C# PPTX nach PPT konvertieren** -Für Beispielcode in C#, um PPTX in PPT zu konvertieren, siehe bitte den folgenden Abschnitt, d.h. [Konvertieren von PPTX in PPT](#convert-pptx-to-ppt). Es wird einfach die PPTX-Datei geladen und im PPT-Format gespeichert. Durch Angabe verschiedener Speicherformate können Sie die PPTX-Datei auch in viele andere Formate wie PDF, XPS, ODP, HTML usw. speichern, wie in diesen Artikeln besprochen. +Für Beispielcode in C# zum Konvertieren von PPTX nach PPT siehe den Abschnitt unten, d. h. [PPTX nach PPT konvertieren](#convert-pptx-to-ppt). Es lädt lediglich die PPTX‑Datei und speichert sie im PPT‑Format. Durch Angabe verschiedener Speicherformate können Sie die PPTX‑Datei auch in viele andere Formate wie PDF, XPS, ODP, HTML usw. speichern, wie in diesen Artikeln beschrieben. -- [C# Konvertieren von PPTX in PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) -- [C# Konvertieren von PPTX in XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) -- [C# Konvertieren von PPTX in HTML](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) -- [C# Konvertieren von PPTX in ODP](https://docs.aspose.com/slides/net/save-presentation/) -- [C# Konvertieren von PPTX in Bild](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) - -## **Konvertieren von PPTX in PPT** -Um eine PPTX in PPT zu konvertieren, übergeben Sie einfach den Dateinamen und das Speicherformat an die [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) Methode der [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse. Der folgende C#-Code konvertiert eine Präsentation von PPTX in PPT unter Verwendung der Standardoptionen. +- [C# PPTX nach PDF konvertieren](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) +- [C# PPTX nach XPS konvertieren](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) +- [C# PPTX nach HTML konvertieren](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) +- [C# PPTX nach ODP konvertieren](https://docs.aspose.com/slides/net/save-presentation/) +- [C# PPTX nach Bild konvertieren](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) +## **PPTX nach PPT konvertieren** +Um ein PPTX nach PPT zu konvertieren, übergeben Sie einfach den Dateinamen und das Speicherformat an die [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/)‑Methode der [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Klasse. Der nachstehende C#‑Code konvertiert eine Presentation von PPTX nach PPT mit den Standardeinstellungen. ```c# // Instanziieren Sie ein Presentation-Objekt, das eine PPTX-Datei darstellt Presentation pres = new Presentation("presentation.pptx"); // Speichern der PPTX-Präsentation im PPT-Format pres.Save("presentation.ppt", SaveFormat.Ppt); -``` \ No newline at end of file +``` + + +## **FAQ** + +**Bleiben alle PPTX‑Effekte und -Funktionen beim Speichern im alten PPT‑Format (97–2003) erhalten?** + +Nicht immer. Das PPT‑Format fehlen einige neuere Möglichkeiten (z. B. bestimmte Effekte, Objekte und Verhaltensweisen), sodass Funktionen bei der Konvertierung vereinfacht oder gerastert werden können. + +**Kann ich nur ausgewählte Folien in PPT konvertieren statt der gesamten Präsentation?** + +Das direkte Speichern zielt auf die gesamte Präsentation ab. Um bestimmte Folien zu konvertieren, erstellen Sie eine neue Präsentation, die nur diese Folien enthält, und speichern sie als PPT; alternativ können Sie einen Dienst/API verwenden, der Parameter für die konvertierung pro Folie unterstützt. + +**Werden passwortgeschützte Präsentationen unterstützt?** + +Ja. Sie können erkennen, ob eine Datei geschützt ist, sie mit einem Passwort öffnen und auch [Schutzeinstellungen/​Verschlüsselung konfigurieren](/slides/de/net/password-protected-presentation/) für die gespeicherte PPT festlegen. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index e014b3f32a..dc615a933a 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,24 +1,54 @@ --- -title: PPT vs PPTX +title: "Verstehen des Unterschieds: PPT vs PPTX" +linktitle: PPT vs PPTX type: docs weight: 10 url: /de/net/ppt-vs-pptx/ -keywords: "PPT vs PPTX, PPT oder PPTX, PowerPoint-Präsentation, Format, C#, Csharp, .NET" -description: "Über PowerPoint-Präsentationsformate. PPT vs PPTX. Unterschiede in C# oder .NET" +keywords: "PPT vs PPTX, PowerPoint-Formate, C#, .NET, PPT zu PPTX konvertieren, Präsentation in .NET" +description: "Entdecken Sie die wichtigsten Unterschiede zwischen den Formaten PPT und PPTX. Erfahren Sie mehr über deren Verwendung in C#- und .NET-Umgebungen." --- -## **Was ist PPT?** -[**PPT**](https://docs.fileformat.com/presentation/ppt/) ist ein binäres Dateiformat, d.h. es ist unmöglich, seinen Inhalt ohne spezielle Werkzeuge anzuzeigen. Die ersten PowerPoint-Versionen 97-2003 arbeiteten mit dem PPT-Dateiformat, dessen Erweiterbarkeit jedoch begrenzt ist. -## **Was ist PPTX?** -[**PPTX**](https://docs.fileformat.com/presentation/pptx/) ist ein neues Präsentationsdateiformat, das auf dem Office Open XML (ISO 29500:2008-2016, ECMA-376) Standard basiert. PPTX ist ein archiviertes Set von 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 ab PowerPoint 2007 verwendet. +## **Verstehen von PPT: Legacy-Format** +[**PPT**](https://docs.fileformat.com/presentation/ppt/) ist ein binäres Dateiformat, das von PowerPoint 97-2003 verwendet wird. Aufgrund seiner binären Natur erfordert das Anzeigen des Inhalts spezialisierte Werkzeuge. Trotz seiner Einschränkungen bei der Erweiterbarkeit wird das PPT-Format für bestimmte Anwendungen weiterhin häufig verwendet. -## **PPT vs PPTX** -Obwohl PPTX viel umfassendere Funktionen bietet, bleibt PPT recht beliebt. Die Notwendigkeit, von PPT zu PPTX und umgekehrt zu konvertieren, ist stark gefragt. +## **Erkunden von PPTX: Moderner Standard** +[**PPTX**](https://docs.fileformat.com/presentation/pptx/) basiert auf dem Office Open XML-Standard (ISO 29500:2008-2016, ECMA-376). Dieses XML-basierte Format ermöglicht größere Flexibilität und ist mit PowerPoint 2007 und neueren Versionen kompatibel. Die Modularität von PPTX erleichtert das Hinzufügen von Funktionen, wie neuen Diagramm- oder Formtypen, und gewährleistet Abwärtskompatibilität ohne wesentliche Formatänderungen. -Die Konversion 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 spezielle Teile (MetroBlob) in PPT-Dateien 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. +## **PPT vs. PPTX: Wichtige Unterschiede und Konvertierungseinblicke** +PPTX bietet im Vergleich zum Legacy-PPT-Format erweiterte Funktionalität, dennoch sind Konvertierungen zwischen diesen Formaten häufig erforderlich. Der Übergang von PPT zu PPTX birgt aufgrund von Kompatibilitätsproblemen einzigartige Herausforderungen. PowerPoint kann in PPT-Dateien spezifische Komponenten (MetroBlob) erzeugen, um PPTX-exklusive Daten zu speichern, die ältere PowerPoint-Versionen nicht anzeigen können, aber wiederherstellen, wenn sie in neueren Versionen geöffnet oder in PPTX konvertiert werden. -Aspose.Slides bietet eine gemeinsame Schnittstelle, um mit allen Präsentationsformaten zu arbeiten. Es ermöglicht die Konversion von PPT in PPTX und von PPTX in PPT auf sehr einfache Weise. Aspose.Slides unterstützt die Konversion von PPT in PPTX vollständig und unterstützt auch die Konversion von PPTX in PPT mit einigen Einschränkungen. Wir empfehlen die Verwendung des PPTX-Formats, wo immer möglich. +Aspose.Slides vereinfacht die Arbeit mit sowohl PPT- als auch PPTX-Formaten und bietet nahtlose Konvertierungsfunktionen. Während die vollständige Konvertierung von PPT zu PPTX unterstützt wird, bringt die Konvertierung von PPTX zu PPT Einschränkungen mit sich. Die Verwendung von PPTX, wann immer möglich, wird empfohlen, um Funktionalität und Kompatibilität zu optimieren. {{% alert color="primary" %}} +Erleben Sie hochwertige Konvertierungen mit dem [**Aspose.Slides Conversion tool**](https://products.aspose.app/slides/conversion/). +{{% /alert %}} +```csharp +// Instanziieren Sie ein Presentation-Objekt, das eine PPTX-Datei darstellt +Presentation pres = new Presentation("PPTtoPPTX.ppt"); -Überprüfen Sie die Qualität der Konversionen von PPT zu PPTX und von PPTX zu PPT mit der Online- \ No newline at end of file +// Speichern Sie die PPTX-Präsentation im PPTX-Format +pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); +``` + + +{{% alert color="primary" %}} +Entdecken Sie mehr: [**Wie man Präsentationen von PPT zu PPTX konvertiert**](/slides/de/net/convert-ppt-to-pptx/) +{{% /alert %}} + +## **FAQ** + +**Gibt es einen Grund, alte Präsentationen in PPT zu behalten, wenn sie fehlerfrei geöffnet werden?** + +Wenn eine Präsentation zuverlässig geöffnet wird und keine Zusammenarbeit oder neuere Funktionen benötigt, können Sie sie in PPT behalten. Für zukünftige Kompatibilität und Erweiterbarkeit ist es jedoch besser, zu [PPTX konvertieren](/slides/de/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 zu PPTX konvertiert werden sollten?** + +Konvertieren Sie zuerst die Präsentationen, die: von mehreren Personen bearbeitet werden; komplexe [Diagramme](/slides/de/net/create-chart/)/[Formen](/slides/de/net/shape-manipulations/) enthalten; in externen Kommunikationsmitteln verwendet werden; oder Warnungen auslösen, wenn sie [geöffnet](/slides/de/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 Verschlüsselungsunterstützung im verwendeten Tool übernommen. Es ist zuverlässiger, den [Schutz zu entfernen](/slides/de/net/password-protected-presentation/), zu [konvertieren](/slides/de/net/convert-ppt-to-pptx/), und dann den Schutz gemäß Ihrer Sicherheitsrichtlinie wieder anzuwenden. + +**Warum verschwinden einige Effekte oder werden vereinfacht, wenn PPTX zurück zu PPT konvertiert wird?** + +Weil 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 können sie nicht rendern. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index 5dedb5593a..4177be0154 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,89 +1,88 @@ --- -title: Ein Slide als SVG-Bild in C# rendern -linktitle: Ein Slide als SVG-Bild rendern +title: Eine Folie als SVG-Bild rendern in C# +linktitle: Eine Folie als SVG-Bild rendern type: docs weight: 50 url: /de/net/render-a-slide-as-an-svg-image/ -description: Dieser Artikel erklärt, wie man eine PowerPoint-Präsentation in das SVG-Format mithilfe von C# konvertiert. Sie können PPT-, PPTX- und ODP-Formate in SVG-Bilder umwandeln. -keywords: C# PowerPoint in SVG konvertieren, C# PPT in SVG, C# PPTX in SVG +description: Dieser Artikel erklärt, wie man PowerPoint-Präsentationen mit C# in das SVG-Format konvertiert. Sie können PPT-, PPTX- und ODP-Formate in SVG-Bilder konvertieren. +keywords: C# PowerPoint zu SVG konvertieren, C# PPT zu SVG, C# PPTX zu SVG --- -## Übersicht +## **Übersicht** -Dieser Artikel erklärt, wie man eine **PowerPoint-Präsentation in das SVG-Format mithilfe von C# konvertiert**. Er behandelt die folgenden Themen. +Dieser Artikel erklärt, wie man **PowerPoint-Präsentationen mit C# in das SVG-Format konvertiert**. Er behandelt die folgenden Themen. _Format_: **PowerPoint** - [C# PowerPoint zu SVG](#csharp-powerpoint-to-svg) -- [C# PowerPoint in SVG konvertieren](#csharp-powerpoint-to-svg) -- [C# Wie konvertiere ich eine PowerPoint-Datei in SVG](#csharp-powerpoint-to-svg) +- [C# PowerPoint zu SVG konvertieren](#csharp-powerpoint-to-svg) +- [C# Wie man PowerPoint-Dateien zu SVG konvertiert](#csharp-powerpoint-to-svg) _Format_: **PPT** - [C# PPT zu SVG](#csharp-ppt-to-svg) -- [C# PPT in SVG konvertieren](#csharp-ppt-to-svg) -- [C# Wie konvertiere ich eine PPT-Datei in SVG](#csharp-ppt-to-svg) +- [C# PPT zu SVG konvertieren](#csharp-ppt-to-svg) +- [C# Wie man PPT-Dateien zu SVG konvertiert](#csharp-ppt-to-svg) _Format_: **PPTX** - [C# PPTX zu SVG](#csharp-pptx-to-svg) -- [C# PPTX in SVG konvertieren](#csharp-pptx-to-svg) -- [C# Wie konvertiere ich eine PPTX-Datei in SVG](#csharp-pptx-to-svg) +- [C# PPTX zu SVG konvertieren](#csharp-pptx-to-svg) +- [C# Wie man PPTX-Dateien zu SVG konvertiert](#csharp-pptx-to-svg) _Format_: **ODP** - [C# ODP zu SVG](#csharp-odp-to-svg) -- [C# ODP in SVG konvertieren](#csharp-odp-to-svg) -- [C# Wie konvertiere ich eine ODP-Datei in SVG](#csharp-odp-to-svg) +- [C# ODP zu SVG konvertieren](#csharp-odp-to-svg) +- [C# Wie man ODP-Dateien zu SVG konvertiert](#csharp-odp-to-svg) _Format_: **Slide** -- [C# PowerPoint-Slide in SVG konvertieren](#render-a-slide-as-an-svg-image) -- [C# PPT-Slide in SVG konvertieren](#render-a-slide-as-an-svg-image) -- [C# PPTX-Slide in SVG konvertieren](#render-a-slide-as-an-svg-image) -- [C# ODP-Slide in SVG konvertieren](#render-a-slide-as-an-svg-image) +- [C# PowerPoint-Folie zu SVG konvertieren](#render-a-slide-as-an-svg-image) +- [C# PPT-Folie zu SVG konvertieren](#render-a-slide-as-an-svg-image) +- [C# PPTX-Folie zu SVG konvertieren](#render-a-slide-as-an-svg-image) +- [C# ODP-Folie zu SVG konvertieren](#render-a-slide-as-an-svg-image) -Andere Themen, die in diesem Artikel behandelt werden. +Weitere Themen in diesem Artikel. - [Siehe auch](#see-also) -## SVG-Format -SVG—eine Abkürzung für Scalable Vector Graphics—ist ein Standardgrafiktyp oder -format, das zur Darstellung zweidimensionaler Bilder verwendet wird. SVG speichert Bilder als Vektoren in XML mit Details, die ihr Verhalten oder Aussehen definieren. +## **SVG-Format** +SVG – ein Akronym für Scalable Vector Graphics – ist ein standardisiertes Grafikformat, das zur Darstellung zweidimensionaler Bilder verwendet wird. SVG speichert Bilder als Vektoren in XML mit Details, die ihr Verhalten oder ihr Aussehen definieren. -SVG ist eines der wenigen Bildformate, die sehr hohe Standards in diesen Punkten erfüllen: Skalierbarkeit, Interaktivität, Leistung, Zugänglichkeit, Programmierbarkeit und andere. Aus diesen Gründen wird es häufig in der Webentwicklung verwendet. +SVG ist eines der wenigen Bildformate, das in Bezug auf Skalierbarkeit, Interaktivität, Leistung, Barrierefreiheit, Programmierbarkeit und weitere Aspekte sehr hohe Standards erfüllt. Aus diesem Grund wird es häufig in der Webentwicklung eingesetzt. -Sie möchten möglicherweise SVG-Dateien verwenden, wenn Sie +Sie sollten SVG-Dateien verwenden, wenn Sie -- **Ihre Präsentation in einem *sehr großen Format* drucken möchten.** SVG-Bilder können auf jede Auflösung oder Ebene skaliert werden. Sie können SVG-Bilder so oft wie nötig in der Größe ändern, ohne Qualität einzubüßen. -- **Diagramme und Grafiken von Ihren Folien in *verschiedenen Medien oder Plattformen* verwenden möchten.** Die meisten Leser können SVG-Dateien interpretieren. -- **die *kleinsten möglichen Bildgrößen* verwenden möchten.** SVG-Dateien sind im Allgemeinen kleiner als ihre hochauflösenden Pendants in anderen Formaten, insbesondere in solchen, die auf Bitmap (JPEG oder PNG) basieren. +- **Ihre Präsentation in einem *sehr großen Format* drucken möchten.** SVG‑Bilder können auf jede Auflösung oder Größe skaliert werden. Sie können SVG‑Bilder beliebig oft vergrößern, ohne an Qualität zu verlieren. +- **Diagramme und Grafiken aus Ihren Folien in *verschiedenen Medien oder Plattformen* nutzen**. Die meisten Viewer können SVG‑Dateien interpretieren. +- **die *kleinstmöglichen Dateigrößen* für Bilder erreichen** wollen. SVG‑Dateien sind im Allgemeinen kleiner als ihre hochauflösenden Gegenstücke in bitmapbasierten Formaten (JPEG oder PNG). -## Rendern eines Slides als SVG-Bild +## **Eine Folie als SVG-Bild rendern** -Aspose.Slides für .NET ermöglicht es Ihnen, Folien in Ihren Präsentationen als SVG-Bilder zu exportieren. Gehen Sie diese Schritte durch, um SVG-Bilder zu erzeugen: +Aspose.Slides für .NET ermöglicht den Export von Folien Ihrer Präsentationen als SVG‑Bilder. Führen Sie die folgenden Schritte aus, um SVG‑Bilder zu erzeugen: -_Schritte: PowerPoint zu SVG-Konvertierungen in C#_ +_Schritte: PowerPoint‑zu‑SVG‑Konvertierungen in C#_ -Der folgende Beispielcode erklärt diese Konvertierungen mithilfe von .NET. -- Schritte: PowerPoint in SVG in C# konvertieren -- Schritte: PPT in SVG in C# konvertieren -- Schritte: PPTX in SVG in C# konvertieren -- Schritte: ODP in SVG in C# konvertieren +Der nachfolgende Beispielcode erklärt diese Konvertierungen mit .NET. +- Schritte: PowerPoint zu SVG konvertieren in C# +- Schritte: PPT zu SVG konvertieren in C# +- Schritte: PPTX zu SVG konvertieren in C# +- Schritte: ODP zu SVG konvertieren in C# -_Code Schritte:_ +_Code‑Schritte:_ -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse. - * _.ppt_ Erweiterung zum Laden der **PPT**-Datei innerhalb der _Presentation_ Klasse. - * _.pptx_ Erweiterung zum Laden der **PPTX**-Datei innerhalb der _Presentation_ Klasse. - * _.odp_ Erweiterung zum Laden der **ODP**-Datei innerhalb der _Presentation_ Klasse. - * _.pps_ Erweiterung zum Laden der **PPS**-Datei innerhalb 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. +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Klasse. + * _.ppt_-Erweiterung zum Laden einer **PPT**‑Datei in die _Presentation_-Klasse. + * _.pptx_-Erweiterung zum Laden einer **PPTX**‑Datei in die _Presentation_-Klasse. + * _.odp_-Erweiterung zum Laden einer **ODP**‑Datei in die _Presentation_-Klasse. + * _.pps_-Erweiterung zum Laden einer **PPS**‑Datei in die _Presentation_-Klasse. +2. Durchlaufen Sie alle Folien der Präsentation. +3. Schreiben Sie jede Folie in eine eigene SVG‑Datei über einen FileStream. {{% alert color="primary" %}} -Sie möchten vielleicht unsere [kostenlose Webanwendung](https://products.aspose.app/slides/conversion/ppt-to-svg) ausprobieren, in der wir die PPT zu SVG-Konvertierungsfunktion von Aspose.Slides für .NET implementiert haben. +Sie können unsere [kostenlose Web‑Anwendung](https://products.aspose.app/slides/conversion/ppt-to-svg) ausprobieren, in der wir die PPT‑zu‑SVG‑Konvertierungsfunktion von Aspose.Slides für .NET implementiert haben. {{% /alert %}} -Dieser Beispielcode in C# zeigt Ihnen, wie man PowerPoint in SVG mithilfe von Aspose.Slides konvertiert: - +Dieser C#‑Beispielcode zeigt, wie Sie PowerPoint mit Aspose.Slides in SVG konvertieren: ``` csharp -// Präsentationsobjekt kann PowerPoint-Formate wie PPT, PPTX, ODP usw. laden. +// Presentation-Objekt kann PowerPoint-Formate wie PPT, PPTX, ODP usw. laden. using (Presentation pres = new Presentation("pres.pptx")) { for (var index = 0; index < pres.Slides.Count; index++) @@ -98,9 +97,24 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Siehe auch -Dieser Artikel behandelt auch diese Themen. Die Codes sind dieselben wie oben. +## **FAQ** + +**Warum kann das resultierende SVG in verschiedenen Browsern unterschiedlich aussehen?** + +Die Unterstützung einzelner SVG‑Features wird von den Browser‑Engines unterschiedlich implementiert. Parameter der [SVGOptions](https://reference.aspose.com/slides/net/aspose.slides.export/svgoptions/) helfen, Inkompatibilitäten auszugleichen. + +**Ist es möglich, nicht nur Folien, sondern auch einzelne Formen als SVG zu exportieren?** + +Ja. Jede [Form kann als separates SVG gespeichert werden](https://reference.aspose.com/slides/net/aspose.slides/shape/writeassvg/), 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: eine Folie → ein SVG. Das Kombinieren mehrerer Folien zu einer einzigen SVG‑Leinwand erfolgt als Nachbearbeitung auf Anwendungsebene. + +## **Siehe auch** + +Dieser Artikel behandelt zudem die folgenden Themen. Die Codes sind identisch mit den oben genannten. _Format_: **PowerPoint** - [C# PowerPoint zu SVG Code](#csharp-powerpoint-to-svg) @@ -108,7 +122,7 @@ _Format_: **PowerPoint** - [C# PowerPoint zu SVG programmgesteuert](#csharp-powerpoint-to-svg) - [C# PowerPoint zu SVG Bibliothek](#csharp-powerpoint-to-svg) - [C# PowerPoint als SVG speichern](#csharp-powerpoint-to-svg) -- [C# SVG aus PowerPoint erzeugen](#csharp-powerpoint-to-svg) +- [C# SVG aus PowerPoint generieren](#csharp-powerpoint-to-svg) - [C# SVG aus PowerPoint erstellen](#csharp-powerpoint-to-svg) - [C# PowerPoint zu SVG Konverter](#csharp-powerpoint-to-svg) @@ -118,7 +132,7 @@ _Format_: **PPT** - [C# PPT zu SVG programmgesteuert](#csharp-ppt-to-svg) - [C# PPT zu SVG Bibliothek](#csharp-ppt-to-svg) - [C# PPT als SVG speichern](#csharp-ppt-to-svg) -- [C# SVG aus PPT erzeugen](#csharp-ppt-to-svg) +- [C# SVG aus PPT generieren](#csharp-ppt-to-svg) - [C# SVG aus PPT erstellen](#csharp-ppt-to-svg) - [C# PPT zu SVG Konverter](#csharp-ppt-to-svg) @@ -128,7 +142,7 @@ _Format_: **PPTX** - [C# PPTX zu SVG programmgesteuert](#csharp-pptx-to-svg) - [C# PPTX zu SVG Bibliothek](#csharp-pptx-to-svg) - [C# PPTX als SVG speichern](#csharp-pptx-to-svg) -- [C# SVG aus PPTX erzeugen](#csharp-pptx-to-svg) +- [C# SVG aus PPTX generieren](#csharp-pptx-to-svg) - [C# SVG aus PPTX erstellen](#csharp-pptx-to-svg) - [C# PPTX zu SVG Konverter](#csharp-pptx-to-svg) @@ -138,6 +152,6 @@ _Format_: **ODP** - [C# ODP zu SVG programmgesteuert](#csharp-odp-to-svg) - [C# ODP zu SVG Bibliothek](#csharp-odp-to-svg) - [C# ODP als SVG speichern](#csharp-odp-to-svg) -- [C# SVG aus ODP erzeugen](#csharp-odp-to-svg) +- [C# SVG aus ODP generieren](#csharp-odp-to-svg) - [C# SVG aus ODP erstellen](#csharp-odp-to-svg) - [C# ODP zu SVG Konverter](#csharp-odp-to-svg) \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index a561de3f31..4c3817fee0 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -14,21 +14,20 @@ keywords: - C# - Csharp - Aspose.Slides für .NET -description: "Exportieren Sie PowerPoint nach HTML5 in C# oder .NET" +description: "Exportiere PowerPoint nach HTML5 in C# oder .NET" --- {{% alert title="Info" color="info" %}} -In [Aspose.Slides 21.9](/slides/de/net/aspose-slides-for-net-21-9-release-notes/) haben wir die Unterstützung für den HTML5-Export implementiert. Wenn Sie jedoch Ihre PowerPoint-Präsentation lieber mit WebExtensions nach HTML exportieren möchten, lesen Sie stattdessen [diesen Artikel](/slides/de/net/web-extensions/). +In [Aspose.Slides 21.9](/slides/de/net/aspose-slides-for-net-21-9-release-notes/), 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, sehen Sie sich stattdessen [diesen Artikel](/slides/de/net/web-extensions/) an. {{% /alert %}} -Der Exportprozess nach HTML5 ermöglicht es Ihnen, PowerPoint ohne WebExtensions oder Abhängigkeiten in 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 Export nach HTML5 ermöglicht hier die Konvertierung von PowerPoint nach HTML ohne WebExtensions oder Abhängigkeiten. Auf diese Weise können Sie mit eigenen Vorlagen sehr flexible Optionen anwenden, die den Exportvorgang und das resultierende HTML, CSS, JavaScript sowie die Animationsattribute definieren. -## **Exportieren von PowerPoint nach HTML5** - -Dieser C#-Code zeigt, wie Sie eine Präsentation ohne WebExtensions und Abhängigkeiten nach HTML5 exportieren: +## **PowerPoint nach HTML5 exportieren** +Dieser C#‑Code zeigt, wie Sie eine Präsentation nach HTML5 exportieren können, ohne WebExtensions und Abhängigkeiten: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -36,14 +35,14 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` + {{% alert color="primary" %}} In diesem Fall erhalten Sie sauberes HTML. {{% /alert %}} -Sie können auf diese Weise Einstellungen für Formanimations und Folienübergänge festlegen: - +Auf diese Weise können Sie Einstellungen für Formanimationen und Folienübergänge festlegen: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -55,10 +54,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -#### **Exportieren von PowerPoint nach HTML** -Dieser C#-Code demonstriert den standardmäßigen PowerPoint nach HTML-Prozess: +## **PowerPoint nach HTML exportieren** +Dieser C#‑Code demonstriert den standardmäßigen PowerPoint‑zu‑HTML‑Prozess: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -66,30 +65,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -In diesem Fall wird der Inhalt der Präsentation in einer Form wie dieser durch SVG gerendert: +In diesem Fall wird der Präsentationsinhalt über SVG in folgender Form gerendert: ```html
- DER FOLINENINHALT KOMMT HIER HINEIN + 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 des SVG-Renderings keine Stile anwenden oder bestimmte Elemente animieren. +{{% alert title="Note" color="warning" %}} -{{% /alert %}} +Wenn Sie diese Methode zum Exportieren von PowerPoint nach HTML verwenden, können Sie aufgrund der SVG‑Darstellung keine Stile anwenden oder bestimmte Elemente animieren. -## **Exportieren von PowerPoint nach HTML5-Folienansicht** +{{% /alert %}} -**Aspose.Slides** ermöglicht es Ihnen, eine PowerPoint-Präsentation in ein HTML5-Dokument zu konvertieren, in dem die Folien im Folienansichtsmodus präsentiert werden. In diesem Fall sehen Sie beim Öffnen der resultierenden HTML5-Datei in einem Browser die Präsentation im Folienansichtsmodus auf einer Webseite. +## **PowerPoint nach HTML5‑Folienansicht exportieren** -Dieser C#-Code demonstriert den Exportprozess von PowerPoint nach HTML5-Folienansicht: +**Aspose.Slides** ermöglicht es Ihnen, eine PowerPoint‑Präsentation in ein HTML5‑Dokument zu konvertieren, in dem die Folien im Folienansichtsmodus dargestellt werden. In diesem Fall sehen Sie beim Öffnen der resultierenden HTML5‑Datei in einem Browser die Präsentation im Folienansichtsmodus auf einer Webseite. +Dieser C#‑Code demonstriert den PowerPoint‑zu‑HTML5‑Folienansicht‑Exportprozess: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -101,17 +100,18 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Konvertieren einer Präsentation in ein HTML5-Dokument mit Kommentaren -Kommentare in PowerPoint sind ein Werkzeug, mit dem Benutzer Notizen oder Feedback zu Präsentationsfolien hinterlassen können. Sie sind besonders nützlich in kollaborativen Projekten, in denen mehrere Personen ihre Vorschläge oder Anmerkungen zu spezifischen Folienelementen hinzufügen können, ohne den Hauptinhalt zu verändern. Jeder Kommentar zeigt den Namen des Autors an, was es einfach macht, nachzuvollziehen, 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 insbesondere in kollaborativen Projekten nützlich, bei denen mehrere Personen ihre Vorschläge oder Anmerkungen zu bestimmten Folienelementen hinzufügen können, ohne den Hauptinhalt zu ändern. Jeder Kommentar zeigt den Namen des Autors, sodass leicht nachverfolgt werden kann, wer die Anmerkung hinterlassen 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 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 Kommentare aus der Präsentation im Ausgabedokument enthalten sein sollen. Dazu müssen Sie die Anzeigeparameter für Kommentare in der `NotesCommentsLayouting`-Eigenschaft der [Html5Options](https://reference.aspose.com/slides/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 der Präsentation im Ausgabedokument enthalten sein sollen. Dazu müssen Sie die Anzeigeparameter für Kommentare in der Eigenschaft `NotesCommentsLayouting` der Klasse [Html5Options](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/) angeben. -Das folgende Codebeispiel konvertiert eine Präsentation in ein HTML5-Dokument, in dem die Kommentare rechts von den Folien angezeigt werden. +Das folgende Codebeispiel konvertiert eine Präsentation in ein HTML5‑Dokument, wobei die Kommentare rechts von den Folien angezeigt werden. ```cs var html5Options = new Html5Options { @@ -125,6 +125,21 @@ using var presentation = new Presentation("sample.pptx"); presentation.Save("output.html", SaveFormat.Html5, html5Options); ``` -Das Dokument "output.html" wird im folgenden Bild angezeigt. -![Die Kommentare im ausgegebenen HTML5-Dokument](two_comments_html5.png) \ No newline at end of file +Das Dokument „output.html“ wird im Bild unten gezeigt. + +![Die Kommentare im ausgegebenen HTML5‑Dokument](two_comments_html5.png) + +## **FAQ** + +**Kann ich steuern, ob Objektanimationen und Folienübergänge in HTML5 abgespielt werden?** + +Ja, HTML5 bietet separate Optionen, um [Formanimationen](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animateshapes/) und [Folienübergänge](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animatetransitions/) zu aktivieren oder zu deaktivieren. + +**Wird die Ausgabe von Kommentaren unterstützt und wo können sie relativ zur Folie platziert werden?** + +Ja, Kommentare können in HTML5 hinzugefügt und über [Layout‑Einstellungen](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/notescommentslayouting/) für Notizen und Kommentare positioniert werden (z. B. rechts von der Folie). + +**Kann ich Links, die JavaScript ausführen, aus Sicherheits‑ oder CSP‑Gründen überspringen?** + +Ja, es gibt eine [Einstellung](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/skipjavascriptlinks/), mit der Sie beim Speichern Hyperlinks mit JavaScript‑Aufrufen überspringen können. Dies hilft, strenge Sicherheitsrichtlinien einzuhalten. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/de/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index ab49cf1763..d97b8886eb 100644 --- a/de/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/de/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -3,11 +3,11 @@ title: Export nach XAML type: docs weight: 30 url: /de/net/export-to-xaml/ -keywords: "PowerPoint-Präsentation exportieren, PowerPoint konvertieren, XAML, PowerPoint nach XAML, PPT nach XAML, PPTX nach XAML, C#, Csharp, .NET" -description: "Exportieren oder konvertieren Sie eine PowerPoint-Präsentation nach XAML" +keywords: "PowerPoint-Präsentation exportieren, PowerPoint konvertieren, XAML, PowerPoint zu XAML, PPT zu XAML, PPTX zu XAML, C#, Csharp, .NET" +description: "Exportieren oder Konvertieren von PowerPoint-Präsentation nach XAML" --- -# Exportieren von Präsentationen nach XAML +# **Präsentationen nach XAML exportieren** {{% alert title="Info" color="info" %}} @@ -15,16 +15,15 @@ In [Aspose.Slides 21.6](https://docs.aspose.com/slides/net/aspose-slides-for-net {{% /alert %}} -# Über XAML +# **Über XAML** -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 ist eine beschreibende Programmiersprache, die es Ihnen ermöglicht, Benutzeroberflächen für Anwendungen zu erstellen oder zu schreiben, insbesondere für solche, die WPF (Windows Presentation Foundation), UWP (Universal Windows Platform) und Xamarin Forms verwenden. -XAML, eine XML-basierte Sprache, ist die Variante von Microsoft zur Beschreibung einer GUI. In den meisten Fällen werden Sie wahrscheinlich einen Designer verwenden, um an XAML-Dateien zu arbeiten, aber Sie können Ihre GUI auch weiterhin schreiben und bearbeiten. +XAML, eine XML-basierte Sprache, ist Microsofts Variante zur Beschreibung einer GUI. Sie werden höchstwahrscheinlich die meiste Zeit einen Designer verwenden, um an XAML-Dateien zu arbeiten, können aber dennoch Ihre GUI schreiben und bearbeiten. -## Exportieren von Präsentationen nach XAML mit Standardoptionen - -Dieser C#-Code zeigt Ihnen, wie Sie eine Präsentation mit Standardeinstellungen nach XAML exportieren: +## **Präsentationen nach XAML mit Standardoptionen exportieren** +Dieser C#‑Code zeigt, wie Sie eine Präsentation mit den Standardeinstellungen nach XAML exportieren: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,15 +31,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Exportieren von Präsentationen nach XAML mit benutzerdefinierten Optionen -Sie können Optionen aus dem [IXamlOptions](https://reference.aspose.com/slides/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 nach XAML mit benutzerdefinierten Optionen exportieren** -Wenn Sie beispielsweise möchten, dass Aspose.Slides beim Exportieren Ihrer Präsentation nach XAML verborgene Folien hinzufügt, können Sie die [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) -Eigenschaft auf true setzen. Siehe diesen Beispiel-C#-Code: +Sie können Optionen aus der [IXamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions) Schnittstelle auswählen, die den Exportvorgang steuern und festlegen, wie Aspose.Slides Ihre Präsentation nach XAML exportiert. +Zum Beispiel, wenn Sie möchten, dass Aspose.Slides versteckte Folien aus Ihrer Präsentation beim Export nach XAML hinzufügt, können Sie die Eigenschaft [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) auf true setzen. Siehe diesen Beispiel‑C#‑Code: ```c# using (Presentation pres = new Presentation("pres.pptx")) { pres.Save(new XamlOptions { ExportHiddenSlides = true }); } -``` \ 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 [DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/) in [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) — es wird als Ersatzschriftart verwendet, wenn die Originalschriftart fehlt. Das hilft, unerwartete Ersetzungen zu vermeiden. + +**Ist das exportierte XAML nur für WPF vorgesehen, 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 den Microsoft‑XAML‑Stacks ab; das genaue Verhalten und die Unterstützung spezifischer 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 [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/exporthiddenslides/) in [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) steuern — lassen Sie es deaktiviert, wenn Sie sie nicht exportieren müssen. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/create-presentation/_index.md b/de/net/developer-guide/manage-presentation/create-presentation/_index.md index feed909dbb..d3527220a5 100644 --- a/de/net/developer-guide/manage-presentation/create-presentation/_index.md +++ b/de/net/developer-guide/manage-presentation/create-presentation/_index.md @@ -1,59 +1,97 @@ --- -title: Präsentation in .NET erstellen +title: Präsentation erstellen in .NET linktitle: Präsentation erstellen type: docs weight: 10 url: /de/net/create-presentation/ keywords: "PowerPoint erstellen, PPTX, PPT, Präsentation erstellen, Präsentation initialisieren, C#, .NET" -description: "Programmatisches Erstellen von PowerPoint-Präsentationen in C#, z.B. PPT, PPTX, ODP etc." +description: "Programmgesteuertes Erstellen von PowerPoint‑Präsentationen in C# z. B. PPT, PPTX, ODP usw." --- -## PowerPoint-Präsentation erstellen -Um eine einfache gerade Linie zu einer ausgewählten Folie der Präsentation hinzuzufügen, befolgen Sie bitte die folgenden Schritte: +## **PowerPoint-Präsentation erstellen** +Um einer ausgewählten Folie der Präsentation eine einfache gerade Linie hinzuzufügen, führen Sie die nachstehenden Schritte aus: -1. Erstellen Sie eine Instanz der Klasse Presentation. -1. Erhalten Sie die Referenz einer Folie, indem Sie ihren Index verwenden. -1. Fügen Sie eine AutoShape vom Typ Linie mit der Methode AddAutoShape hinzu, die vom Shapes-Objekt bereitgestellt wird. -1. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. - -Im folgenden Beispiel haben wir eine Linie zur ersten Folie der Präsentation hinzugefügt. +1. Erstellen Sie eine Instanz der Presentation-Klasse. +2. Holen Sie die Referenz einer Folie über deren Index. +3. Fügen Sie ein AutoShape vom Typ Linie mithilfe der AddAutoShape-Methode hinzu, die vom Shapes-Objekt bereitgestellt wird. +4. Speichern Sie die modifizierte Präsentation als PPTX-Datei. +Im nachstehenden Beispiel haben wir eine Linie zur ersten Folie der Präsentation hinzugefügt. ```c# -// Instanziieren Sie ein Präsentationsobjekt, das eine Präsentationsdatei darstellt -using (Presentation presentation = new Presentation()) -{ - // Holen Sie sich die erste Folie - ISlide slide = presentation.Slides[0]; - - // Fügen Sie eine AutoShape vom Typ Linie hinzu - slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); - presentation.Save("NewPresentation_out.pptx", SaveFormat.Pptx); -} + // Instanziieren Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt + using (Presentation presentation = new Presentation()) + { + // Holen Sie die erste Folie + ISlide slide = presentation.Slides[0]; + + // Fügen Sie ein AutoShape vom Typ Linie hinzu + slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); + presentation.Save("NewPresentation_out.pptx", SaveFormat.Pptx); + } ``` -## Präsentation erstellen und speichern -Schritte: Präsentation in C# erstellen und speichern +## **Präsentation erstellen und speichern** + +Schritte: Präsentation erstellen und speichern in C# 1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse. 2. Speichern Sie _Presentation_ in ein beliebiges von [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) unterstütztes Format. - ```c# Presentation presentation = new Presentation(); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); ``` -## Präsentation öffnen und speichern -Schritte: Präsentation in C# öffnen und speichern +## **Präsentation öffnen und speichern** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse mit einem beliebigen Format, d.h. PPT, PPTX, ODP etc. -2. Speichern Sie _Presentation_ in ein beliebiges von [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) unterstütztes Format. +Schritte: Präsentation öffnen und speichern in C# +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse mit einem beliebigen Format, z. B. PPT, PPTX, ODP usw. +2. Speichern Sie _Presentation_ in ein beliebiges von [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) unterstütztes Format. ```c# -// Laden Sie eine beliebige unterstützte Datei in Presentation, z.B. ppt, pptx, odp etc. +// Laden Sie eine beliebige unterstützte Datei in Presentation, z. B. ppt, pptx, odp usw. Presentation presentation = new Presentation("Sample.odp"); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**In welche Formate kann ich eine neue Präsentation speichern?** + +Sie können in [PPTX, PPT und ODP](/slides/de/net/save-presentation/) speichern und in [PDF](/slides/de/net/convert-powerpoint-to-pdf/), [XPS](/slides/de/net/convert-powerpoint-to-xps/), [HTML](/slides/de/net/convert-powerpoint-to-html/), [SVG](/slides/de/net/convert-powerpoint-to-png/) und [Bilder](/slides/de/net/convert-powerpoint-to-png/) exportieren, unter anderem. + +**Kann ich von einer Vorlage (POTX/POTM) starten und als reguläres PPTX speichern?** + +Ja. Laden Sie die Vorlage und speichern Sie sie im gewünschten Format; POTX/POTM/PPTM und ähnliche Formate werden [unterstützt](/slides/de/net/supported-file-formats/). + +**Wie steuere ich die Foliengröße bzw. das Seitenverhältnis beim Erstellen einer Präsentation?** + +Legen Sie die [Foliengröße](/slides/de/net/slide-size/) fest (einschließlich Voreinstellungen wie 4:3 und 16:9 oder benutzerdefinierter Abmessungen) und bestimmen Sie, wie Inhalte skaliert werden sollen. + +**In welchen Einheiten werden Größe und Koordinaten gemessen?** + +In Punkten: 1 Zoll entspricht 72 Einheiten. + +**Wie gehe ich mit sehr großen Präsentationen (mit vielen Mediendateien) um, um den Speicherverbrauch zu reduzieren?** + +Verwenden Sie [BLOB‑Verwaltungsstrategien](/slides/de/net/manage-blob/), begrenzen Sie den Speicher im Arbeitsspeicher durch Nutzung temporärer Dateien und bevorzugen Sie dateibasierte Workflows gegenüber rein speicherinterner Streams. + +**Kann ich Präsentationen parallel erstellen/speichern?** + +Sie können nicht dieselbe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Instanz von [mehreren Threads](/slides/de/net/multithreading/) aus bearbeiten. Führen Sie für jeden Thread oder Prozess separate, isolierte Instanzen aus. + +**Wie entferne ich das Testwasserzeichen und die Einschränkungen?** + +[Wenden Sie eine Lizenz](/slides/de/net/licensing/) pro Prozess an. Die Lizenz‑XML muss unverändert bleiben, und die Lizenz­konfiguration sollte synchronisiert werden, wenn mehrere Threads beteiligt sind. + +**Kann ich das von mir erstellte PPTX digital signieren?** + +Ja. [Digitale Signaturen](/slides/de/net/digital-signature-in-powerpoint/) (Hinzufügen und Überprüfen) werden für Präsentationen unterstützt. + +**Werden Makros (VBA) in erstellten Präsentationen unterstützt?** + +Ja. Sie können [VBA‑Projekte erstellen/bearbeiten](/slides/de/net/presentation-via-vba/) und makrofähige Dateien wie PPTM/PPSM speichern. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/examine-presentation/_index.md b/de/net/developer-guide/manage-presentation/examine-presentation/_index.md index 5fd3590a7a..e35d90138d 100644 --- a/de/net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/de/net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,40 +1,37 @@ --- -title: Präsentation Untersuchen +title: Präsentation untersuchen type: docs weight: 30 url: /de/net/examine-presentation/ keywords: - PowerPoint -- präsentation -- präsentationsformat -- präsentationseigenschaften -- dokumenteigenschaften -- eigenschaften abrufen -- eigenschaften lesen -- eigenschaften ändern -- eigenschaften modifizieren +- Präsentation +- Präsentationsformat +- Präsentationseigenschaften +- Dokumenteigenschaften +- Eigenschaften abrufen +- Eigenschaften lesen +- Eigenschaften ändern +- Eigenschaften modifizieren - PPTX - PPT - C# - Csharp - .NET -description: "Lese und ändere die Eigenschaften von PowerPoint-Präsentationen in C# oder .NET" +description: "PowerPoint-Präsentationseigenschaften in C# oder .NET lesen und ändern" --- -Aspose.Slides für .NET ermöglicht es Ihnen, eine Präsentation zu untersuchen, um ihre Eigenschaften herauszufinden und ihr Verhalten zu verstehen. +Aspose.Slides für .NET ermöglicht es Ihnen, eine Präsentation zu untersuchen, um deren Eigenschaften zu ermitteln und ihr Verhalten zu verstehen. {{% alert title="Info" color="info" %}} - -Die Klassen [PresentationInfo](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo) und [DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/) enthalten die Eigenschaften und Methoden, die in den hier beschriebenen Operationen verwendet werden. - +Die Klassen [PresentationInfo](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo) und [DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/) enthalten die Eigenschaften und Methoden, die in den hier beschriebenen Vorgängen verwendet werden. {{% /alert %}} -## **Überprüfen eines Präsentationsformats** - -Bevor Sie mit einer Präsentation arbeiten, möchten Sie möglicherweise herausfinden, in welchem Format (PPT, PPTX, ODP und andere) sich die Präsentation gerade 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 C#-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 derzeit befindet. +Sie können das Format einer Präsentation prüfen, ohne sie zu laden. Siehe diesen C#‑Code: ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); Console.WriteLine(info.LoadFormat); // PPTX @@ -46,10 +43,10 @@ IPresentationInfo info3 = PresentationFactory.Instance.GetPresentationInfo("pres Console.WriteLine(info3.LoadFormat); // ODP ``` -## **Eigenschaften der Präsentation abrufen** -Dieser C#-Code zeigt Ihnen, wie Sie die Eigenschaften der Präsentation (Informationen über die Präsentation) abrufen können: +## **Präsentationseigenschaften abrufen** +Dieser C#‑Code zeigt Ihnen, wie Sie die Präsentationseigenschaften (Informationen zur Präsentation) abrufen: ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); IDocumentProperties props = info.ReadDocumentProperties(); @@ -59,17 +56,16 @@ Console.WriteLine(props.Title); // .. ``` -Sie möchten möglicherweise die [Eigenschaften der Klasse DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties) einsehen. -## **Präsentationseigenschaften aktualisieren** +Sie möchten vielleicht die [Eigenschaften in der DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties)-Klasse ansehen. -Aspose.Slides bietet die Methode [PresentationInfo.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties), mit der Sie Änderungen an den Eigenschaften der Präsentation vornehmen können. +## **Präsentationseigenschaften aktualisieren** -Angenommen, wir haben eine PowerPoint-Präsentation mit den unten angezeigten Dokumenteigenschaften. +Aspose.Slides stellt die Methode [PresentationInfo.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties) bereit, mit der Sie Änderungen an den Präsentationseigenschaften vornehmen können. -![Ursprüngliche Dokumenteigenschaften der PowerPoint-Präsentation](input_properties.png) +Angenommen, wir haben eine PowerPoint‑Präsentation mit den unten gezeigten Dokumenteigenschaften. -Dieses Codebeispiel zeigt Ihnen, wie Sie einige Präsentationseigenschaften bearbeiten: +![Ursprüngliche Dokumenteigenschaften der PowerPoint‑Präsentation](input_properties.png) ```c# string fileName = "sample.pptx"; @@ -77,22 +73,45 @@ string fileName = "sample.pptx"; IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo(fileName); IDocumentProperties properties = info.ReadDocumentProperties(); -properties.Title = "Mein Titel"; +properties.Title = "My title"; properties.LastSavedTime = DateTime.Now; info.UpdateDocumentProperties(properties); info.WriteBindedPresentation(fileName); ``` -Die Ergebnisse der Änderung der Dokumenteigenschaften sind unten dargestellt. -![Geänderte Dokumenteigenschaften der PowerPoint-Präsentation](output_properties.png) +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, finden Sie diese Links möglicherweise nützlich: +Um weitere Informationen zu einer Präsentation und deren Sicherheitsattributen zu erhalten, könnten diese Links hilfreich sein: - [Überprüfen, ob eine Präsentation verschlüsselt ist](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) -- [Überprüfen, ob eine Präsentation schreibgeschützt ist (nur lesen)](https://docs.aspose.com/slides/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/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/net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). \ No newline at end of file +- [Überprüfen, ob eine Präsentation schreibgeschützt (nur lesbar) ist](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [Überprüfen, ob eine Präsentation passwortgeschützt ist, bevor sie geladen wird](https://docs.aspose.com/slides/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/net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). + +## **FAQ** + +**Wie kann ich prüfen, ob Schriftarten eingebettet sind und welche das sind?** + +Suchen Sie nach [Informationen zu eingebetteten Schriftarten](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getembeddedfonts/) auf Präsentationsebene und vergleichen Sie diese Einträge anschließend mit der Menge der [tatsächlich im Inhalt verwendeten Schriftarten](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getfonts/), um festzustellen, welche Schriftarten für die Darstellung entscheidend sind. + +**Wie kann ich schnell erkennen, ob die Datei versteckte Folien enthält und wie viele?** + +Durchlaufen Sie die [Folienkollektion](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) und prüfen Sie für jede Folie das [Sichtbarkeits‑Flag](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/). + +**Kann ich erkennen, ob eine benutzerdefinierte Foliengröße und -ausrichtung verwendet wird und ob sie von den Vorgabewerten abweicht?** + +Ja. Vergleichen Sie die aktuelle [Foliengröße](https://reference.aspose.com/slides/net/aspose.slides/presentation/slidesize/) und Ausrichtung mit den Standard‑Voreinstellungen; dies hilft, das Verhalten für Druck und Export vorherzusehen. + +**Gibt es eine schnelle Möglichkeit zu prüfen, ob Diagramme externe Datenquellen referenzieren?** + +Ja. Durchlaufen Sie alle [Diagramme](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/), prüfen Sie deren [Datenquelle](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/datasourcetype/) und notieren Sie, ob die Daten intern oder verlinkt sind, einschließlich etwaiger defekter Links. + +**Wie kann ich "schwere" Folien beurteilen, die das Rendern oder den PDF‑Export verlangsamen könnten?** + +Zählen Sie für jede Folie die Objektanzahl und achten Sie auf große Bilder, Transparenz, Schatten, Animationen und Multimedia; vergeben Sie eine grobe Komplexitätsbewertung, um mögliche Leistungs‑Hotspots zu kennzeichnen. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/import-presentation/_index.md b/de/net/developer-guide/manage-presentation/import-presentation/_index.md index e78ef876e7..944acdeed8 100644 --- a/de/net/developer-guide/manage-presentation/import-presentation/_index.md +++ b/de/net/developer-guide/manage-presentation/import-presentation/_index.md @@ -1,27 +1,26 @@ --- -title: PowerPoint aus PDF oder HTML importieren -linktitle: Präsentation importieren +title: "PowerPoint aus PDF oder HTML importieren" +linktitle: "Präsentation importieren" type: docs weight: 60 url: /de/net/import-presentation/ keywords: "PowerPoint importieren, PDF zu PowerPoint, HTML zu PowerPoint, PDF zu PPT, HTML zu PPT, C#, Csharp, Aspose.Slides für .NET" -description: "PowerPoint aus PDF oder HTML importieren. PDF in PowerPoint konvertieren. HTML in PowerPoint konvertieren" +description: "PowerPoint aus PDF oder HTML importieren. PDF zu PowerPoint konvertieren. HTML zu PowerPoint konvertieren." --- -Mit [**Aspose.Slides für .NET**](https://products.aspose.com/slides/net/) können Sie Präsentationen aus Dateien in anderen Formaten importieren. Aspose.Slides bietet die [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) Klasse an, die es Ihnen ermöglicht, Präsentationen aus PDF-Dokumenten zu importieren. +Mit [**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/), können Sie Präsentationen aus Dateien in anderen Formaten importieren. Aspose.Slides stellt die Klasse [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) bereit, mit der Sie Präsentationen aus PDF‑Dokumenten importieren können. ## **PowerPoint aus PDF importieren** -In diesem Fall konvertieren Sie eine PDF-Datei in eine PowerPoint-Präsentation. +Hierbei konvertieren Sie ein PDF in eine PowerPoint‑Präsentation. pdf-to-powerpoint -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse. -2. Rufen Sie die Methode [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) auf und übergeben Sie die PDF-Datei. -3. Verwenden Sie die Methode [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5), um die Datei im PowerPoint-Format zu speichern. - -Dieser C#-Code demonstriert die PDF-zu-PowerPoint-Operation: +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +2. Rufen Sie die Methode [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) auf und übergeben die PDF‑Datei. +3. Verwenden Sie die Methode [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5), um die Datei im PowerPoint‑Format zu speichern. +Dieser C#‑Code demonstriert die PDF‑zu‑PowerPoint‑Operation: ```c# using (Presentation pres = new Presentation()) { @@ -30,22 +29,20 @@ using (Presentation pres = new Presentation()) } ``` -{{% alert title="TIPP" color="primary" %}} - -Sie sollten die **Aspose kostenlose** [PDF zu PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint) Webanwendung ausprobieren, da sie eine live Implementierung des hier beschriebenen Prozesses ist. +{{% alert title="TIP" color="primary" %}} +Vielleicht möchten Sie die kostenlose **Aspose** PDF‑zu‑PowerPoint‑Web‑App ausprobieren, da sie eine Live‑Implementierung des hier beschriebenen Vorgangs bietet. {{% /alert %}} ## **PowerPoint aus HTML importieren** -In diesem Fall konvertieren Sie ein HTML-Dokument in eine PowerPoint-Präsentation. - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse. -2. Rufen Sie die Methode [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) auf und übergeben Sie die HTML-Datei. -3. Verwenden Sie die Methode [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5), um die Datei als PowerPoint-Dokument zu speichern. +Hierbei konvertieren Sie ein HTML‑Dokument in eine PowerPoint‑Präsentation. -Dieser C#-Code demonstriert die HTML-zu-PowerPoint-Operation: +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) . +2. Rufen Sie die Methode [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) auf und übergeben die HTML‑Datei. +3. Verwenden Sie die Methode [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5), um die Datei als PowerPoint‑Dokument zu speichern. +Dieser C#‑Code demonstriert die HTML‑zu‑PowerPoint‑Operation: ```c# using (var presentation = new Presentation()) { @@ -58,9 +55,15 @@ using (var presentation = new Presentation()) } ``` -{{% alert title="Hinweis" color="warning" %}} -Sie können Aspose.Slides auch verwenden, um HTML in andere gängige Dateiformate zu konvertieren: +## **FAQ** + +**Werden Tabellen beim Importieren einer PDF erhalten und kann ihre Erkennung verbessert werden?** + +Tabellen können beim Import erkannt werden; PdfImportOptions enthält einen Parameter DetectTables, der die Tabellenerkennung aktiviert. Die Wirksamkeit hängt von der Struktur der PDF ab. + +{{% alert title="Note" color="warning" %}} +Sie können Aspose.Slides außerdem verwenden, um HTML in andere gängige Dateiformate zu konvertieren: * [HTML zu Bild](https://products.aspose.com/slides/net/conversion/html-to-image/) * [HTML zu JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) diff --git a/de/net/developer-guide/manage-presentation/manage-slide-show/_index.md b/de/net/developer-guide/manage-presentation/manage-slide-show/_index.md new file mode 100644 index 0000000000..7bc094ff07 --- /dev/null +++ b/de/net/developer-guide/manage-presentation/manage-slide-show/_index.md @@ -0,0 +1,122 @@ +--- +title: Bildschirmpräsentation verwalten +type: docs +weight: 90 +url: /de/net/manage-slide-show/ +keywords: +- Anzeigetyp +- vom Sprecher präsentiert +- von einer Einzelperson durchsucht +- im Kiosk-Modus +- Anzeigeoptionen +- schleifen kontinuierlich +- ohne Erzählung anzeigen +- ohne Animation anzeigen +- Stiftfarbe +- Folien anzeigen +- Benutzerdefinierte Anzeige +- Folien vorwärts +- manuell +- mit Timings +- PowerPoint +- Präsentation +- C# +- .NET +- Aspose.Slides für .NET +description: "Bildschirmpräsentationseinstellungen in PowerPoint-Präsentationen mit C# verwalten" +--- + +In Microsoft PowerPoint sind die **Bildschirmpräsentation**‑Einstellungen ein wichtiges Werkzeug zur Vorbereitung und Durchführung professioneller Präsentationen. Eine der wichtigsten Funktionen in diesem Abschnitt ist **Set Up Show**, das Ihnen ermöglicht, Ihre Präsentation an bestimmte Bedingungen und Zielgruppen anzupassen und dabei Flexibilität und Komfort zu gewährleisten. Mit dieser Funktion können Sie den Anzeigetyp auswählen (z. B. Präsentation durch einen Sprecher, durch einen einzelnen Betrachter oder im Kiosk‑Modus), das Schleifen aktivieren oder deaktivieren, bestimmte Folien zur Anzeige auswählen und Zeitsteuerungen verwenden. Dieser Vorbereitungsschritt ist entscheidend, um Ihre Präsentation wirkungsvoller und professioneller zu gestalten. + +`SlideShowSettings` ist eine Eigenschaft der Klasse [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) vom Typ [SlideShowSettings](https://reference.aspose.com/slides/net/aspose.slides/presentation/slideshowsettings/), die Ihnen ermöglicht, die Bildschirmpräsentationseinstellungen in einer PowerPoint‑Präsentation zu verwalten. In diesem Artikel zeigen wir, wie Sie diese Eigenschaft verwenden, um verschiedene Aspekte der Bildschirmpräsentationseinstellungen zu konfigurieren und zu steuern. + +## **Auswahl des Anzeigetyps** + +`SlideShowSettings.SlideShowType` definiert den Typ der Bildschirmpräsentation, der eine Instanz einer der folgenden Klassen sein kann: [PresentedBySpeaker](https://reference.aspose.com/slides/net/aspose.slides/presentedbyspeaker/), [BrowsedByIndividual](https://reference.aspose.com/slides/net/aspose.slides/browsedbyindividual/), oder [BrowsedAtKiosk](https://reference.aspose.com/slides/net/aspose.slides/browsedatkiosk/). Mit dieser Eigenschaft können Sie die Präsentation an verschiedene Nutzungsszenarien anpassen, z. B. automatisierte Kioske oder manuelle Präsentationen. + +Das nachstehende Codebeispiel erstellt eine neue Präsentation und setzt den Anzeigetyp auf „Durch einen einzelnen Betrachter“ ohne die Bildlaufleiste anzuzeigen. +```cs +using var presentation = new Presentation(); + +var showType = new BrowsedByIndividual +{ + ShowScrollbar = false +}; + +presentation.SlideShowSettings.SlideShowType = showType; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Anzeigeoptionen aktivieren** + +`SlideShowSettings.Loop` bestimmt, ob die Bildschirmpräsentation in einer Schleife wiederholt werden soll, bis sie manuell gestoppt wird. Dies ist nützlich für automatisierte Präsentationen, die kontinuierlich laufen müssen. `SlideShowSettings.ShowNarration` bestimmt, ob während der Bildschirmpräsentation Sprachkommentare abgespielt werden sollen. Das ist nützlich für automatisierte Präsentationen, die eine Sprachführung für das Publikum enthalten. `SlideShowSettings.ShowAnimation` bestimmt, ob Animationen, die Folienobjekten hinzugefügt wurden, abgespielt werden sollen. Dies ist nützlich, um den vollen visuellen Effekt der Präsentation zu vermitteln. + +Das folgende Codebeispiel erstellt eine neue Präsentation und lässt die Bildschirmpräsentation wiederholt ablaufen. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.Loop = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Auswahl der anzuzeigenden Folien** + +`SlideShowSettings.Slides` ermöglicht es Ihnen, einen Folienbereich auszuwählen, der während der Präsentation angezeigt werden soll. Dies ist nützlich, wenn Sie nur einen Teil der Präsentation und nicht alle Folien zeigen möchten. Das folgende Codebeispiel erstellt eine neue Präsentation und legt den Folienbereich von Folie `2` bis `9` fest. +```cs +using var presentation = new Presentation(); + +var slideRange = new SlidesRange +{ + Start = 2, + End = 9 +}; + +presentation.SlideShowSettings.Slides = slideRange; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Timings verwenden** + +`SlideShowSettings.UseTimings` ermöglicht das Aktivieren oder Deaktivieren der Verwendung vordefinierter Timings für jede Folie. Dies ist nützlich, um Folien automatisch mit vorher festgelegten Anzeigedauern zu zeigen. Das nachstehende Codebeispiel erstellt eine neue Präsentation und deaktiviert die Verwendung von Timings. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.UseTimings = false; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Mediensteuerelemente anzeigen** + +`SlideShowSettings.ShowMediaControls` bestimmt, ob Mediensteuerelemente (wie Wiedergabe, Pause und Stopp) während der Bildschirmpräsentation angezeigt werden, wenn multimediale Inhalte (z. B. Video oder Audio) abgespielt werden. Dies ist nützlich, wenn Sie dem Präsentierenden die Kontrolle über die Medienwiedergabe während der Präsentation geben möchten. + +Das folgende Codebeispiel erstellt eine neue Präsentation und aktiviert die Anzeige von Mediensteuerelementen. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.ShowMediaControls = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **FAQ** + +**Kann ich eine Präsentation speichern, so dass sie beim Öffnen direkt im Bildschirmpräsentationsmodus startet?** + +Ja. Speichern Sie die Datei als PPSX oder PPSM; diese Formate starten die Bildschirmpräsentation direkt, wenn sie in PowerPoint geöffnet wird. In Aspose.Slides wählen Sie das entsprechende Speicherformat [bei der Exportierung](/slides/de/net/save-presentation/). + +**Kann ich einzelne Folien von der Präsentation ausschließen, ohne sie aus der Datei zu löschen?** + +Ja. Markieren Sie eine Folie als [Hidden](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/). Versteckte Folien bleiben in der Präsentation, werden jedoch während der Bildschirmpräsentation nicht angezeigt. + +**Kann Aspose.Slides eine Bildschirmpräsentation abspielen oder eine Live‑Präsentation auf dem Bildschirm steuern?** + +Nein. Aspose.Slides bearbeitet, analysiert und konvertiert Präsentationsdateien; die eigentliche Wiedergabe wird von einer Anzeiganwendung wie PowerPoint übernommen. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/merge-presentation/_index.md b/de/net/developer-guide/manage-presentation/merge-presentation/_index.md index e76a17841f..948ca98f95 100644 --- a/de/net/developer-guide/manage-presentation/merge-presentation/_index.md +++ b/de/net/developer-guide/manage-presentation/merge-presentation/_index.md @@ -1,73 +1,83 @@ --- -title: Merge PowerPoint-Präsentationen PPT, PPTX mit C# +title: Effizientes Zusammenführen von PowerPoint‑Präsentationen (PPT, PPTX) mit C# linktitle: Präsentation zusammenführen type: docs weight: 40 url: /de/net/merge-presentation/ keywords: "PowerPoint zusammenführen, PPTX, PPT, PowerPoint kombinieren, Präsentation zusammenführen, Präsentation kombinieren, C#, Csharp, .NET" -description: "Merge oder kombiniere PowerPoint-Präsentationen in C# oder .NET" +description: "Erfahren Sie, wie Sie PowerPoint‑Präsentationen in C# oder .NET mühelos zusammenführen oder kombinieren." --- -{{% alert title="Hinweis" color="primary" %}} +## **Optimieren Sie das Zusammenführen von Präsentationen** -Sie möchten möglicherweise die **Aspose kostenlose Online** [Merger-App](https://products.aspose.app/slides/merger) ausprobieren. Sie ermöglicht es den Benutzern, PowerPoint-Präsentationen im gleichen Format (PPT zu PPT, PPTX zu PPTX, usw.) zusammenzuführen und Präsentationen in verschiedenen Formaten (PPT zu PPTX, PPTX zu ODP, usw.) zu kombinieren. +Mit [Aspose.Slides for .NET](https://products.aspose.com/slides/net/), kombinieren Sie nahtlos PowerPoint‑Präsentationen und erhalten dabei Stile, Layouts und alle Elemente. Im Gegensatz zu anderen Werkzeugen fügt Aspose.Slides Präsentationen zusammen, ohne die Qualität zu beeinträchtigen oder Daten zu verlieren. Fassen Sie ganze Präsentationen, bestimmte Folien und sogar verschiedene Dateiformate (PPT zu PPTX usw.) zusammen. -[![todo:image_alt_text](slides-merger.png)](https://products.aspose.app/slides/merger) +### **Zusammenführungsfunktionen** -{{% /alert %}} +- **Vollständige Präsentationszusammenführung:** Alle Folien zu einer einzigen Datei zusammenstellen. +- **Spezifische Folienzusammenführung:** Ausgewählte Folien auswählen und kombinieren. +- **Formatübergreifende Zusammenführung:** Präsentationen unterschiedlicher Formate integrieren und dabei die Integrität wahren. +{{% alert title="Tip" color="primary" %}} +Suchen Sie ein schnelles und **kostenloses Online‑Tool**, um **PowerPoint‑Präsentationen zusammenzuführen**? Probieren Sie den [**Aspose PowerPoint Merger**](https://products.aspose.app/slides/merger). -## **Präsentationen zusammenführen** +- **PowerPoint‑Dateien einfach zusammenführen**: Kombinieren Sie mehrere **PPT, PPTX, ODP**‑Präsentationen zu einer einzigen Datei. +- **Unterstützt verschiedene Formate**: Führen Sie **PPT zu PPTX**, **PPTX zu ODP** und weitere Formate zusammen. +- **Keine Installation erforderlich**: Funktioniert direkt in Ihrem Browser, schnell und sicher. -Wenn Sie [eine Präsentation mit einer anderen zusammenführen](https://products.aspose.com/slides/net/merger/ppt/), kombinieren Sie effektiv deren Folien in einer einzigen Präsentation, um eine Datei zu erhalten. +[![Merge PowerPoint Files Online](slides-merger.png)](https://products.aspose.app/slides/merger) -{{% alert title="Info" color="info" %}} +Beginnen Sie noch heute mit dem Zusammenführen Ihrer PowerPoint‑Dateien mit dem **kostenlosen Online‑Tool von Aspose**! +{{% /alert %}} + +## **Präsentationszusammenführung** -Die meisten Präsentationsprogramme (PowerPoint oder OpenOffice) verfügen nicht über Funktionen, mit denen Benutzer Präsentationen auf diese Weise kombinieren können. +Wenn Sie [eine Präsentation mit einer anderen zusammenführen](https://products.aspose.com/slides/net/merger/ppt/), kombinieren Sie im Wesentlichen deren Folien zu einer einzigen Präsentation, um eine Datei zu erhalten. -[**Aspose.Slides für .NET**](https://products.aspose.com/slides/net/), ermöglicht es jedoch, Präsentationen auf verschiedene Arten zusammenzuführen. Sie können Präsentationen mit all ihren Formen, Stilen, Texten, Formatierungen, Kommentaren, Animationen usw. zusammenführen, ohne sich um den Verlust von Qualität oder Daten Sorgen machen zu müssen. +{{% alert title="Info" color="info" %}} +Die meisten Präsentationsprogramme (PowerPoint oder OpenOffice) verfügen nicht über Funktionen, mit denen Benutzer Präsentationen auf diese Weise kombinieren können. -**Siehe auch** +[Aspose.Slides for .NET](https://products.aspose.com/slides/net/) ermöglicht Ihnen jedoch, Präsentationen auf verschiedene Arten zusammenzuführen. +Sie können Präsentationen mit all ihren Formen, Stilen, Texten, Formatierungen, Kommentaren, Animationen usw. zusammenführen, ohne sich um Qualitäts‑ oder Datenverlust sorgen zu müssen. -[Folien klonen](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* +**Siehe auch** +[Folien duplizieren](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* {{% /alert %}} ### **Was kann zusammengeführt werden** -Mit Aspose.Slides können Sie +Mit Aspose.Slides können Sie -* gesamte Präsentationen. Alle Folien aus den Präsentationen enden in einer Präsentation -* spezifische Folien. Ausgewählte Folien enden in einer Präsentation -* Präsentationen im gleichen Format (PPT zu PPT, PPTX zu PPTX, usw.) und in verschiedenen Formaten (PPT zu PPTX, PPTX zu ODP, usw.) miteinander. +* ganze Präsentationen. Alle Folien aus den Präsentationen werden in einer einzigen Präsentation zusammengeführt +* bestimmte Folien. Ausgewählte Folien landen in einer einzigen Präsentation +* Präsentationen in einem Format (PPT zu PPT, PPTX zu PPTX usw.) und in verschiedenen Formaten (PPT zu PPTX, PPTX zu ODP usw.) miteinander. -{{% alert title="Hinweis" color="warning" %}} +{{% alert title="Note" color="warning" %}} +Neben Präsentationen ermöglicht Aspose.Slides das Zusammenführen anderer Dateien: -Neben Präsentationen ermöglicht es Ihnen Aspose.Slides, andere Dateien zusammenzuführen: - -* [Bilder](https://products.aspose.com/slides/net/merger/image-to-image/), wie [JPG zu JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/) oder [PNG zu PNG](https://products.aspose.com/slides/net/merger/png-to-png/) -* Dokumente, wie [PDF zu PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/) oder [HTML zu HTML](https://products.aspose.com/slides/net/merger/html-to-html/) -* Und zwei verschiedene Dateien wie [Bild zu PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/) oder [JPG zu PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/) oder [TIFF zu PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/). +* [Bilder](/slides/de/net/merger/image-to-image/), zum Beispiel [JPG zu JPG](/slides/de/net/merger/jpg-to-jpg/) oder [PNG zu PNG](/slides/de/net/merger/png-to-png/) +* [Dokumente](/slides/de/net/merger/pdf-to-pdf/), zum Beispiel [PDF zu PDF](/slides/de/net/merger/pdf-to-pdf/) oder [HTML zu HTML](/slides/de/net/merger/html-to-html/) +* Und zwei verschiedene Dateitypen, wie zum Beispiel [Bild zu PDF](/slides/de/net/merger/image-to-pdf/) oder [JPG zu PDF](/slides/de/net/merger/jpg-to-pdf/) oder [TIFF zu PDF](/slides/de/net/merger/tiff-to-pdf/) {{% /alert %}} ### **Zusammenführungsoptionen** -Sie können Optionen anwenden, die bestimmen, ob +Sie können Optionen festlegen, die bestimmen, ob -* jede Folie in der Ausgabpräsentation einen einzigartigen Stil beibehält -* ein spezifischer Stil für alle Folien in der Ausgabpräsentation verwendet wird. +* jede Folie in der Ausgabepäsentation einen einzigartigen Stil beibehält +* ein bestimmter Stil für alle Folien in der Ausgabepäsentation verwendet wird. -Zum Zusammenführen von Präsentationen stellt Aspose.Slides [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) Methoden (aus dem [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection) Interface) zur Verfügung. Es gibt mehrere Implementierungen der `AddClone` Methoden, die die Parameter des Präsentationszusammenführungsprozesses festlegen. Jedes Präsentationsobjekt hat eine [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) Sammlung, sodass Sie eine `AddClone` Methode von der Präsentation aufrufen können, mit der Sie Folien zusammenführen möchten. +Um Präsentationen zusammenzuführen, stellt Aspose.Slides die [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone)-Methoden (aus dem [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection)-Interface) bereit. Es gibt mehrere Implementierungen der `AddClone`‑Methoden, die die Parameter des Zusammenführungsprozesses definieren. Jedes Presentation‑Objekt besitzt eine [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides)-Sammlung, sodass Sie die `AddClone`‑Methode von der Präsentation aus aufrufen können, in die Sie Folien einfügen möchten. -Die Methode `AddClone` gibt ein `ISlide` Objekt zurück, das eine Kopie der Quellfolie ist. Die Folien in der Ausgabpräsentation sind einfach eine Kopie der Folien aus der Quelle. Daher können Sie die resultierenden Folien bearbeiten (zum Beispiel Stile, Formatierungsoptionen oder Layouts anwenden), ohne sich Sorgen machen zu müssen, dass die Quellpräsentationen betroffen sind. +`AddClone` gibt ein `ISlide`‑Objekt zurück, das ein Klon der Quellfolie ist. Die Folien einer Ausgabepäsentation sind einfach Kopien der Folien der Quelle. Daher können Sie Änderungen an den resultierenden Folien vornehmen (z. B. Stile, Formatierungsoptionen oder Layouts anwenden), ohne dass die Quellpräsentationen beeinflusst werden. ## **Präsentationen zusammenführen** -Aspose.Slides bietet die [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) Methode, mit der Sie Folien kombinieren können, während die Folien ihre Layouts und Stile beibehalten (Standardparameter). - -Dieser C#-Code zeigt Ihnen, wie man Präsentationen zusammenführt: +Aspose.Slides bietet die [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone)-Methode, die es Ihnen ermöglicht, Folien zu kombinieren, wobei die Folien ihre Layouts und Stile beibehalten (Standardparameter). +Dieser C#‑Code zeigt, wie man Präsentationen zusammenführt: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -81,12 +91,12 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Präsentationen mit Folienmaster zusammenführen** -Aspose.Slides bietet die [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2) Methode, mit der Sie Folien zusammenführen können, während Sie eine Folienmaster-Präsentationsvorlage anwenden. Auf diese Weise können Sie, falls erforderlich, den Stil für Folien in der Ausgabpräsentation ändern. +## **Präsentationen mit Folienmaster zusammenführen** -Dieser C#-Code demonstriert die beschriebene Operation: +Aspose.Slides stellt die [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2)-Methode bereit, die es Ihnen ermöglicht, Folien zu kombinieren und dabei eine Folienmaster‑Vorlage anzuwenden. Auf diese Weise können Sie bei Bedarf den Stil der Folien in der Ausgabepäsentation ändern. +Dieser C#‑Code demonstriert den beschriebenen Vorgang: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -100,35 +110,57 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -{{% alert title="Hinweis" color="warning" %}} - -Das Folienlayout für den Folienmaster wird automatisch bestimmt. Wenn ein passendes Layout nicht bestimmt werden kann, wird, wenn der boolesche Parameter `allowCloneMissingLayout` der Methode `AddClone` auf true gesetzt ist, das Layout für die Quellfolie verwendet. Andernfalls wird eine [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception) ausgelöst. +{{% alert title="Note" color="warning" %}} +Das Folienlayout für den Folienmaster wird automatisch ermittelt. Wenn kein passendes Layout bestimmt werden kann und der boolesche Parameter `allowCloneMissingLayout` der `AddClone`‑Methode auf true gesetzt ist, wird das Layout der Quellfolie verwendet. Andernfalls wird eine [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception) ausgelöst. {{% /alert %}} -Wenn Sie möchten, dass die Folien in der Ausgabpräsentation ein anderes Folienlayout haben, verwenden Sie stattdessen die [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1) Methode beim Zusammenführen. +Wenn Sie möchten, dass die Folien in der Ausgabepäsentation ein anderes Folienlayout haben, verwenden Sie stattdessen die [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1)-Methode beim Zusammenführen. -## **Spezifische Folien aus Präsentationen zusammenführen** +## **Bestimmte Folien aus Präsentationen zusammenführen** -Dieser C#-Code zeigt Ihnen, wie Sie spezifische Folien aus verschiedenen Präsentationen auswählen und kombinieren, um eine Ausgabpräsentation zu erhalten: +Das Zusammenführen bestimmter Folien aus mehreren Präsentationen ist nützlich, um benutzerdefinierte Folienpakete zu erstellen. Aspose.Slides for .NET ermöglicht Ihnen, nur die Folien auszuwählen und zu importieren, die Sie benötigen. Die API bewahrt Formatierung, Layout und Design der Originalfolien. -```c# -using (Presentation pres1 = new Presentation("pres1.pptx"), - pres2 = new Presentation("pres2.pptx")) +Der folgende C#‑Code erstellt eine neue Präsentation, fügt Titelfolien aus zwei anderen Präsentationen hinzu und speichert das Ergebnis in einer Datei: +```cs +using (Presentation presentation = new Presentation()) +using (Presentation presentation1 = new Presentation("presentation1.pptx")) +using (Presentation presentation2 = new Presentation("presentation2.pptx")) { - foreach (ISlide slide in pres2.Slides) + presentation.Slides.RemoveAt(0); + + ISlide slide1 = GetTitleSlide(presentation1); + + if (slide1 != null) + presentation.Slides.AddClone(slide1); + + ISlide slide2 = GetTitleSlide(presentation2); + + if (slide2 != null) + presentation.Slides.AddClone(slide2); + + presentation.Save("combined.pptx", SaveFormat.Pptx); +} +``` + +```cs +static ISlide GetTitleSlide(IPresentation presentation) +{ + foreach (ISlide slide in presentation.Slides) { - pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]); + if (slide.LayoutSlide.LayoutType == SlideLayoutType.Title) + { + return slide; + } } - - pres1.Save("combined.pptx", SaveFormat.Pptx); + return null; } ``` -## **Präsentationen mit Folienlayout zusammenführen** -Dieser C#-Code zeigt Ihnen, wie Sie Folien aus Präsentationen kombinieren können, während Sie Ihr bevorzugtes Folienlayout anwenden, um eine Ausgabpräsentation zu erhalten: +## **Präsentationen mit Folienlayout zusammenführen** +Dieser C#‑Code zeigt, wie man Folien aus Präsentationen kombiniert und dabei das bevorzugte Folienlayout anwendet, um eine Ausgabepäsentation zu erhalten: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -142,18 +174,16 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Präsentationen mit unterschiedlichen Foliengrößen zusammenführen** -{{% alert title="Hinweis" color="warning" %}} +## **Präsentationen mit unterschiedlichen Foliengrößen zusammenführen** -Sie können keine Präsentationen mit unterschiedlichen Foliengrößen zusammenführen. +{{% alert title="Note" color="warning" %}} +Sie können keine Präsentationen mit unterschiedlichen Foliengrößen zusammenführen. +{{% /alert %}} -{{% /alert %}} - -Um 2 Präsentationen mit unterschiedlichen Foliengrößen zusammenzuführen, müssen Sie eine der Präsentationen anpassen, damit ihre Größe mit der der anderen Präsentation übereinstimmt. - -Dieser Beispielcode demonstriert die beschriebene Operation: +Um 2 Präsentationen mit unterschiedlichen Foliengrößen zusammenzuführen, müssen Sie eine der Präsentationen skalieren, sodass ihre Größe der der anderen Präsentation entspricht. +Dieses Beispielcode demonstriert den beschriebenen Vorgang: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -169,10 +199,10 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Folien zu einem Präsentationsabschnitt hinzufügen** -Dieser C#-Code zeigt Ihnen, wie Sie eine spezifische Folie zu einem Abschnitt in einer Präsentation zusammenführen: +## **Folien zu einem Präsentationsabschnitt zusammenführen** +Dieser C#‑Code zeigt, wie man eine bestimmte Folie zu einem Abschnitt in einer Präsentation zusammenführt: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -187,10 +217,27 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -Die Folie wird am Ende des Abschnitts hinzugefügt. -{{% alert title="Hinweis" color="primary" %}} +Die Folie wird am Ende des Abschnitts eingefügt. + +{{% alert title="Tip" color="primary" %}} +Aspose bietet eine [FREE Collage web app](https://products.aspose.app/slides/collage). Mit diesem Online‑Dienst können Sie [JPG zu JPG](https://products.aspose.app/slides/collage/jpg) oder PNG zu PNG Bilder zusammenführen, [Foto‑Raster](https://products.aspose.app/slides/collage/photo-grid) erstellen und vieles mehr. +{{% /alert %}} + +## **FAQ** + +**Werden Sprechernotizen beim Zusammenführen erhalten?** + +Ja. Beim Klonen von Folien übernimmt Aspose.Slides alle Folienelemente, einschließlich Notizen, Formatierung und Animationen. + +**Werden Kommentare und deren Autoren übertragen?** + +Kommentare, die Teil des Folieninhalts sind, werden zusammen mit der Folie kopiert. Die Autorenbezeichnungen der Kommentare bleiben als Kommentarobjekte in der resultierenden Präsentation erhalten. + +**Was ist, wenn die Quellpräsentation passwortgeschützt ist?** + +Sie muss [mit dem Passwort geöffnet](/slides/de/net/password-protected-presentation/) über [LoadOptions.Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) werden; nach dem Laden können diese Folien sicher in eine ungeschützte Zieldatei (oder ebenfalls in eine geschützte) geklont werden. -Aspose bietet eine [KOSTENLOSE Collage-Webanwendung](https://products.aspose.app/slides/collage). Mit diesem Online-Dienst können Sie [JPG zu JPG](https://products.aspose.app/slides/collage/jpg) oder PNG zu PNG-Bildern zusammenführen, [Foto-Raster](https://products.aspose.app/slides/collage/photo-grid) erstellen usw. +**Wie thread‑sicher ist der Zusammenführungsvorgang?** -{{% /alert %}} \ No newline at end of file +Verwenden Sie nicht dieselbe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)-Instanz aus [mehreren Threads](/slides/de/net/multithreading/). Die empfohlene Regel lautet "ein Dokument – ein Thread"; verschiedene Dateien können parallel in separaten Threads verarbeitet werden. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/open-presentation/_index.md b/de/net/developer-guide/manage-presentation/open-presentation/_index.md index 43b411050f..9bfea83b00 100644 --- a/de/net/developer-guide/manage-presentation/open-presentation/_index.md +++ b/de/net/developer-guide/manage-presentation/open-presentation/_index.md @@ -1,107 +1,127 @@ --- -title: Präsentation in C# Öffnen -linktitle: Präsentation Öffnen +title: Öffnen einer Präsentation in C# +linktitle: Präsentationen öffnen type: docs weight: 20 url: /de/net/open-presentation/ -keywords: "PowerPoint Öffnen, PPTX, PPT, Präsentation Öffnen, Präsentation Laden, C#, Csharp, .NET" -description: "Öffnen oder Laden der Präsentation PPT, PPTX, ODP in C# oder .NET" +keywords: +- PowerPoint öffnen +- Präsentation öffnen +- PPTX öffnen +- PPT öffnen +- ODP öffnen +- Präsentation laden +- PPTX laden +- PPT laden +- ODP laden +- geschützte Präsentation +- große Präsentation +- externe Ressource +- Binärobjekt +- .NET +- C# +- Aspose.Slides +description: "Öffnen Sie PowerPoint (.pptx, .ppt) und OpenDocument (.odp) Präsentationen mühelos mit Aspose.Slides für .NET—schnell, zuverlässig, voll funktionsfähig." --- -Neben der Erstellung von PowerPoint-Präsentationen von Grund auf ermöglicht es Aspose.Slides, bestehende Präsentationen zu öffnen. Nachdem Sie eine Präsentation geladen haben, können Sie Informationen über die Präsentation abrufen, die Präsentation bearbeiten (Inhalt auf ihren Folien), neue Folien hinzufügen oder bestehende entfernen usw. +## **Übersicht** -## Präsentation Öffnen +Über das Erstellen von PowerPoint-Präsentationen von Grund auf hinaus, ermöglicht Aspose.Slides auch das Öffnen vorhandener Präsentationen. Nachdem Sie eine Präsentation geladen haben, können Sie Informationen darüber abrufen, Folieninhalte bearbeiten, neue Folien hinzufügen, bestehende entfernen und vieles mehr. -Um eine vorhandene Präsentation zu öffnen, müssen Sie einfach die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse instanziieren und den Dateipfad (zur Präsentation, die Sie öffnen möchten) an ihren Konstruktor übergeben. +## **Präsentationen öffnen** -Dieser C#-Code zeigt Ihnen, wie Sie eine Präsentation öffnen und auch die Anzahl der Folien darin herausfinden können: +Um eine vorhandene Präsentation zu öffnen, instanziieren Sie die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse und übergeben den Dateipfad an deren Konstruktor. -```c# -// Instanziiert die Presentation-Klasse und übergibt den Dateipfad an ihren Konstruktor -Presentation pres = new Presentation("OpenPresentation.pptx"); - -// Gibt die Gesamtzahl der Folien in der Präsentation aus -System.Console.WriteLine(pres.Slides.Count.ToString()); +Das folgende C#-Beispiel zeigt, wie man eine Präsentation öffnet und deren Folienanzahl ermittelt: +```cs +// Instanziieren Sie die Presentation-Klasse und übergeben Sie einen Dateipfad an ihren Konstruktor. +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + // Gibt die Gesamtzahl der Folien in der Präsentation aus. + System.Console.WriteLine(presentation.Slides.Count); +} ``` -## **Passwortgeschützte Präsentation Öffnen** -Wenn Sie eine passwortgeschützte Präsentation öffnen müssen, können Sie das Passwort über die [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) Eigenschaft (aus der [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) Klasse) übergeben, um die Präsentation zu entschlüsseln und zu laden. Dieser C#-Code demonstriert den Vorgang: +## **Passwortgeschützte Präsentationen öffnen** -```c# - LoadOptions loadOptions = new LoadOptions {Password = "DEIN_PASSWORT"}; - using (Presentation presentation = new Presentation("pres.pptx", loadOptions)) - { - // Aufgaben mit der entschlüsselten Präsentation ausführen - } +Wenn Sie eine passwordgeschützte Präsentation öffnen müssen, übergeben Sie das Passwort über die [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) Eigenschaft der [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) Klasse, um sie zu entschlüsseln und zu laden. Der folgende C#-Code demonstriert diesen Vorgang: +```cs +LoadOptions loadOptions = new LoadOptions {Password = "YOUR_PASSWORD"}; +using (Presentation presentation = new Presentation("Sample.pptx", loadOptions)) +{ + // Vorgänge an der entschlüsselten Präsentation ausführen. +} ``` -## Große Präsentation Öffnen -Aspose.Slides bietet Optionen (insbesondere die [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) Eigenschaft) unter der [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) Klasse, um Ihnen das Laden großer Präsentationen zu ermöglichen. +## **Große Präsentationen öffnen** -Dieser C#-Code demonstriert einen Vorgang, bei dem eine große Präsentation (sagen wir 2 GB groß) geladen wird: +Aspose.Slides bietet Optionen – insbesondere die [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) Eigenschaft in der [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) Klasse – um Ihnen beim Laden großer Präsentationen zu helfen. -```c# -const string pathToVeryLargePresentationFile = "veryLargePresentation.pptx"; +Der folgende C#-Code demonstriert das Laden einer großen Präsentation (z. B. 2 GB): +```cs +const string filePath = "LargePresentation.pptx"; LoadOptions loadOptions = new LoadOptions { - BlobManagementOptions = { - // Wählen wir das KeepLocked-Verhalten - die "veryLargePresentation.pptx" wird für - // die Lebensdauer der Präsentationsinstanz gesperrt, aber wir müssen sie nicht in den Speicher laden oder - // in die temporäre Datei kopieren + BlobManagementOptions = + { + // Wählen Sie das KeepLocked-Verhalten — die Präsentationsdatei bleibt für die Lebensdauer von + // der Presentation-Instanz gesperrt, muss jedoch nicht in den Speicher geladen oder in eine temporäre Datei kopiert werden. PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, + IsTemporaryFilesAllowed = true, + MaxBlobsBytesInMemory = 10 * 1024 * 1024 // 10 MB } }; -using (Presentation pres = new Presentation(pathToVeryLargePresentationFile, loadOptions)) +using (Presentation presentation = new Presentation(filePath, loadOptions)) { - // Die große Präsentation wurde geladen und kann verwendet werden, aber der Speicherverbrauch bleibt niedrig. + // Die große Präsentation wurde geladen und kann verwendet werden, während der Speicherverbrauch niedrig bleibt. - // Änderungen an der Präsentation vornehmen. - pres.Slides[0].Name = "Sehr große Präsentation"; + // Nehmen Sie Änderungen an der Präsentation vor. + presentation.Slides[0].Name = "Large presentation"; - // Die Präsentation wird in die andere Datei gespeichert. Der Speicherverbrauch bleibt während des Vorgangs niedrig - pres.Save("veryLargePresentation-copy.pptx", SaveFormat.Pptx); + // Speichern Sie die Präsentation in eine andere Datei. Der Speicherverbrauch bleibt während dieses Vorgangs gering. + presentation.Save("LargePresentation-copy.pptx", SaveFormat.Pptx); - // Das ist nicht möglich! Eine IO-Ausnahme wird ausgelöst, da die Datei gesperrt ist, während pres-Objekte - // nicht freigegeben werden - File.Delete(pathToVeryLargePresentationFile); + // Nicht tun! Es wird eine I/O-Ausnahme ausgelöst, weil die Datei gesperrt ist, bis das Präsentationsobjekt freigegeben wird. + File.Delete(filePath); } -// Es ist in Ordnung, dies hier zu tun, die Quelldatei wird nicht vom pres-Objekt gesperrt -File.Delete(pathToVeryLargePresentationFile); +// Es ist hier in Ordnung. Die Quelldatei ist nicht mehr durch das Präsentationsobjekt gesperrt. +File.Delete(filePath); ``` -{{% alert color="info" title="Info" %}} - -Um bestimmte Einschränkungen beim Arbeiten mit Streams zu umgehen, kann Aspose.Slides den Inhalt des Streams kopieren. Das Laden einer großen Präsentation über ihren Stream führt dazu, dass die Inhalte der Präsentation kopiert werden, was zu langsamen Ladezeiten führt. Daher empfehlen wir Ihnen dringend, beim Laden einer großen Präsentation den Präsentationsdateipfad und nicht ihren Stream zu verwenden. -Wenn Sie eine Präsentation erstellen möchten, die große Objekte (Video, Audio, große Bilder usw.) enthält, können Sie die [Blob-Funktion](https://docs.aspose.com/slides/net/manage-blob/) verwenden, um den Speicherverbrauch zu reduzieren. +{{% alert color="info" title="Info" %}} +Um bestimmte Einschränkungen beim Arbeiten mit Streams zu umgehen, kann Aspose.Slides den Inhalt eines Streams kopieren. Das Laden einer großen Präsentation aus einem Stream führt dazu, dass die Präsentation kopiert wird und das Laden verlangsamen kann. Daher empfehlen wir dringend, den Dateipfad der Präsentation anstelle eines Streams zu verwenden, wenn Sie eine große Präsentation laden müssen. +Wenn Sie eine Präsentation erstellen, die große Objekte (Video, Audio, hochauflösende Bilder usw.) enthält, können Sie [BLOB management](/slides/de/net/manage-blob/) verwenden, um den Speicherverbrauch zu reduzieren. {{%/alert %}} -## Präsentation Laden -Aspose.Slides bietet [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) mit einer einzigen Methode, die es Ihnen ermöglicht, externe Ressourcen zu verwalten. Dieser C#-Code zeigt Ihnen, wie Sie das `IResourceLoadingCallback`-Interface verwenden: +## **Externe Ressourcen steuern** -```c# -LoadOptions opts = new LoadOptions(); -opts.ResourceLoadingCallback = new ImageLoadingHandler(); -Presentation presentation = new Presentation("presentation.pptx", opts); +Aspose.Slides stellt die [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) Schnittstelle bereit, mit der Sie externe Ressourcen verwalten können. Der folgende C#-Code zeigt, wie die `IResourceLoadingCallback` Schnittstelle verwendet wird: +```cs +LoadOptions loadOptions = new LoadOptions(); +loadOptions.ResourceLoadingCallback = new ImageLoadingHandler(); + +Presentation presentation = new Presentation("Sample.pptx", loadOptions); ``` -```c# +```cs public class ImageLoadingHandler : IResourceLoadingCallback { public ResourceLoadingAction ResourceLoading(IResourceLoadingArgs args) { if (args.OriginalUri.EndsWith(".jpg")) { - try // Lädt das Ersatzbild + try { - byte[] imageBytes = File.ReadAllBytes("c:\\aspose-logo.jpg"); - args.SetData(imageBytes); + // Laden Sie ein Ersatzbild. + byte[] imageData = File.ReadAllBytes("aspose-logo.jpg"); + args.SetData(imageData); return ResourceLoadingAction.UserProvided; } catch (Exception) @@ -111,53 +131,52 @@ public class ImageLoadingHandler : IResourceLoadingCallback } else if (args.OriginalUri.EndsWith(".png")) { - // Setzt die Ersatz-URL + // Setzen Sie eine Ersatz-URL. args.Uri = "http://www.google.com/images/logos/ps_logo2.png"; return ResourceLoadingAction.Default; } - // Überspringt alle anderen Bilder + // Alle anderen Bilder überspringen. return ResourceLoadingAction.Skip; } } ``` -## Präsentation ohne Eingebettete Binäre Objekte Laden - -Die PowerPoint-Präsentation kann die folgenden Arten von eingebetteten binären Objekten enthalten: -- VBA-Projekt ([IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); -- OLE-Objekt eingebettete Daten ([IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); -- ActiveX-Steuerung binäre Daten ([IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)); +## **Präsentationen ohne eingebettete Binärobjekte laden** -Mit der [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/) Eigenschaft können Sie die Präsentation ohne eingebettete binäre Objekte laden. +Eine PowerPoint-Präsentation kann die folgenden Arten von eingebetteten Binärobjekten enthalten: -Diese Eigenschaft kann nützlich sein, um potenziell schädliche binäre Inhalte zu entfernen. +- VBA‑Projekt (zugänglich über [IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); +- OLE‑Objekt‑eingebettete Daten (zugänglich über [IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); +- ActiveX‑Steuerungs‑Binärdaten (zugänglich über [IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)). -Der C#-Code demonstriert, wie Sie eine Präsentation ohne Malware-Inhalte laden und speichern: +Mit der [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/) Eigenschaft können Sie eine Präsentation ohne eingebettete Binärobjekte laden. -```c# +Diese Eigenschaft ist nützlich, um potenziell bösartigen Binärinhalt zu entfernen. Das folgende C#-Code demonstriert, wie man eine Präsentation ohne eingebettete Binärinhalte lädt: +```cs LoadOptions loadOptions = new LoadOptions() { DeleteEmbeddedBinaryObjects = true } -using (var pres = new Presentation("malware.ppt", loadOptions)) +using (Presentation presentation = new Presentation("malware.ppt", loadOptions)) { - pres.Save("clean.ppt", SaveFormat.Ppt); + // Vorgänge an der Präsentation ausführen. } ``` -

Präsentation Öffnen und Speichern

-Schritte: Präsentation in C# Öffnen und Speichern +## **FAQ** + +**Wie kann ich feststellen, dass eine Datei beschädigt ist und nicht geöffnet werden kann?** + +Beim Laden erhalten Sie eine Parsing-/Formatvalidierungs‑Ausnahme. Solche Fehler erwähnen häufig eine ungültige ZIP‑Struktur oder beschädigte PowerPoint‑Datensätze. + +**Was passiert, wenn beim Öffnen erforderliche Schriftarten fehlen?** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse und übergeben Sie die Datei, die Sie öffnen möchten. -2. Speichern Sie die Präsentation. +Die Datei wird geöffnet, aber beim anschließenden [rendering/export](/slides/de/net/convert-presentation/) können Schriftarten ersetzt werden. [Configure font substitutions](/slides/de/net/font-substitution/) oder [add the required fonts](/slides/de/net/custom-font/) in die Laufzeitumgebung einbinden. -```c# -// Lade eine unterstützte Präsentation, z.B. ppt, pptx, odp -Presentation presentation = new Presentation("Sample.odp"); +**Was ist mit eingebetteten Medien (Video/Audio) beim Öffnen?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +Sie stehen als Präsentations‑Ressourcen zur Verfügung. Wenn Medien über externe Pfade referenziert werden, stellen Sie sicher, dass diese Pfade in Ihrer Umgebung zugänglich sind; andernfalls kann [rendering/export](/slides/de/net/convert-presentation/) die Medien weglassen. \ No newline at end of file diff --git a/de/net/developer-guide/manage-presentation/save-presentation/_index.md b/de/net/developer-guide/manage-presentation/save-presentation/_index.md index f05010a700..0fef7e2efb 100644 --- a/de/net/developer-guide/manage-presentation/save-presentation/_index.md +++ b/de/net/developer-guide/manage-presentation/save-presentation/_index.md @@ -1,153 +1,195 @@ --- -title: Präsentation in .NET speichern -linktitle: Präsentation speichern +title: Präsentationen in .NET speichern +linktitle: Präsentationen speichern type: docs weight: 80 url: /de/net/save-presentation/ -keywords: "PowerPoint speichern, PPT, PPTX, Präsentation speichern, Datei, Stream, C#, Csharp, .NET" -description: "PowerPoint-Präsentation als Datei oder Stream in C# oder .NET speichern" +keywords: +- PowerPoint speichern +- OpenDocument speichern +- Präsentation speichern +- Folie speichern +- PPT speichern +- PPTX speichern +- ODP speichern +- Präsentation in Datei +- Präsentation in Stream +- vordefinierter Ansichtstyp +- Strict Office Open XML-Format +- Zip64-Modus +- Miniaturbild aktualisieren +- Speicherfortschritt +- .NET +- C# +- Aspose.Slides +description: "Entdecken Sie, wie Sie Präsentationen in .NET mit Aspose.Slides speichern – Export nach PowerPoint oder OpenDocument bei Erhalt von Layouts, Schriften und Effekten." --- -## **Präsentation speichern** -Öffnen einer Präsentation beschreibt, wie die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse verwendet wird, um eine Präsentation zu öffnen. Dieser Artikel erklärt, wie man Präsentationen erstellt und speichert. -Die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse enthält den Inhalt einer Präsentation. Egal, ob Sie eine Präsentation von Grund auf neu erstellen oder eine vorhandene ändern, am Ende möchten Sie die Präsentation speichern. Mit Aspose.Slides für .NET kann sie als **Datei** oder **Stream** gespeichert werden. Dieser Artikel erklärt, wie man eine Präsentation auf verschiedene Weise speichert: +## **Übersicht** -### **Präsentation in Dateien speichern** -Speichern Sie eine Präsentation in Dateien, indem Sie die [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) Methode der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse aufrufen. Übergeben Sie einfach den Dateinamen und das Speicherformat an die [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) Methode. Die folgenden Beispiele zeigen, wie Sie eine Präsentation mit Aspose.Slides für .NET mit C# speichern können. +[Open Presentations in C#](/slides/de/net/open-presentation/) beschreibt, wie die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Klasse zum Öffnen einer Präsentation verwendet wird. Dieser Artikel erklärt, wie man Präsentationen erstellt und speichert. Die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Klasse enthält den Inhalt einer Präsentation. Egal, ob Sie eine Präsentation von Grund auf neu erstellen oder eine bestehende ändern, Sie möchten sie speichern, wenn Sie fertig sind. Mit Aspose.Slides für .NET können Sie in eine **Datei** oder **Stream** speichern. Dieser Artikel erklärt die verschiedenen Möglichkeiten, eine Präsentation zu speichern. -```c# -// Erstellen Sie ein Presentation-Objekt, das eine PPT-Datei darstellt -Presentation presentation= new Presentation(); +## **Präsentationen in Dateien speichern** -//...hier arbeiten... +Speichern Sie eine Präsentation in einer Datei, indem Sie die `Save`‑Methode der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Klasse aufrufen. Übergeben Sie den Dateinamen und das Speicherformat an die Methode. Das folgende Beispiel zeigt, wie man eine Präsentation mit Aspose.Slides speichert. +```cs +// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei darstellt. +using (Presentation presentation = new Presentation()) +{ + // Führen Sie hier einige Arbeiten aus... -// Speichern Sie Ihre Präsentation in einer Datei -presentation.Save("Saved_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); + // Speichern Sie die Präsentation in einer Datei. + presentation.Save("Output.pptx", SaveFormat.Pptx); +} ``` -### **Präsentation in Streams speichern** -Es ist möglich, eine Präsentation in einen Stream zu speichern, indem man einen Ausgabestream an die Save-Methode der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse übergibt. Es gibt viele Arten von Streams, in die eine Präsentation gespeichert werden kann. Im folgenden Beispiel haben wir eine neue Präsentationsdatei erstellt, Text in eine Form eingefügt und die Präsentation in den Stream gespeichert. -```c# -// Erstellen Sie ein Presentation-Objekt, das eine PPT-Datei darstellt +## **Präsentationen in Streams speichern** + +Sie können eine Präsentation in einen Stream speichern, indem Sie einen Ausgabestream an die `Save`‑Methode der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Klasse übergeben. Eine Präsentation kann in viele Stream‑Typen geschrieben werden. Im folgenden Beispiel erstellen wir eine neue Präsentation und speichern sie in einen Dateistream. +```cs +// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei darstellt. using (Presentation presentation = new Presentation()) { + using (FileStream fileStream = new FileStream("Output.pptx", FileMode.Create)) + { + // Speichern Sie die Präsentation in den Stream. + presentation.Save(fileStream, SaveFormat.Pptx); + } +} +``` - IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 200, 200); - // Text zur Form hinzufügen - shape.TextFrame.Text = "Dieses Beispiel zeigt, wie man eine PowerPoint-Datei erstellt und in einen Stream speichert."; +## **Präsentationen mit einem vordefinierten Ansichtstyp speichern** - FileStream toStream = new FileStream("Save_As_Stream_out.pptx", FileMode.Create); - presentation.Save(toStream, Aspose.Slides.Export.SaveFormat.Pptx); - toStream.Close(); +Aspose.Slides ermöglicht es Ihnen, die anfängliche Ansicht festzulegen, die PowerPoint verwendet, wenn die erzeugte Präsentation geöffnet wird, über die [ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/)‑Klasse. Setzen Sie die [LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/lastview/)‑Eigenschaft auf einen Wert aus der [ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype/)‑Aufzählung. +```cs +using (Presentation presentation = new Presentation()) +{ + presentation.ViewProperties.LastView = ViewType.SlideMasterView; + presentation.Save("SlideMasterView.pptx", SaveFormat.Pptx); } ``` -### **Präsentationen mit vordefiniertem Ansichtstyp speichern** -Aspose.Slides für .NET bietet die Möglichkeit, den Ansichtstyp für die generierte Präsentation festzulegen, wenn sie in PowerPoint geöffnet wird, über die [ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties) Klasse. Die [LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/properties/lastview) Eigenschaft wird verwendet, um den Ansichtstyp mit dem [ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype) Enumerator festzulegen. -```csharp -using (Presentation pres = new Presentation()) +## **Präsentationen im Strict Office Open XML‑Format speichern** + +Aspose.Slides lässt Sie eine Präsentation im Strict Office Open XML‑Format speichern. Verwenden Sie die [PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/)‑Klasse und setzen Sie deren Conformance‑Eigenschaft beim Speichern. Wenn Sie `Conformance.Iso29500_2008_Strict` festlegen, wird die Ausgabedatei im Strict Office Open XML‑Format gespeichert. + +Das folgende Beispiel erstellt eine Präsentation und speichert sie im Strict Office Open XML‑Format. +```cs +PptxOptions options = new PptxOptions() +{ + Conformance = Conformance.Iso29500_2008_Strict +}; + +// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei darstellt. +using (Presentation presentation = new Presentation()) { - pres.ViewProperties.LastView = ViewType.SlideMasterView; - pres.Save("pres-will-open-SlideMasterView.pptx", SaveFormat.Pptx); + // Speichern Sie die Präsentation im Strict Office Open XML-Format. + presentation.Save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options); } ``` -### **Präsentationen im strengen Office Open XML-Format speichern** -Aspose.Slides ermöglicht es Ihnen, die Präsentation im strengen Office Open XML-Format zu speichern. Zu diesem Zweck bietet es die [**Aspose.Slides.Export.PptxOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions) Klasse, wo Sie die Eigenschaft Conformance festlegen können, während Sie die Präsentationsdatei speichern. Wenn Sie ihren Wert auf Conformance.Iso29500_2008_Strict setzen, wird die Ausgabedatei der Präsentation im strengen Office Open XML-Format gespeichert. -Der folgende Beispielcode erstellt eine Präsentation und speichert sie im strengen Office Open XML-Format. Während der Aufruf der Save-Methode für die Präsentation wird das **[Aspose.Slides.Export.PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions)** Objekt mit der [**Conformance**](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/properties/conformance) Eigenschaft, die auf **[Conformance.Iso29500_2008_Strict](https://reference.aspose.com/slides/net/aspose.slides.export/conformance)** gesetzt ist, übergeben. +## **Präsentationen im Office Open XML‑Format im Zip64‑Modus speichern** -```csharp - // Erstellen Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt - using (Presentation presentation = new Presentation()) - { - // Holen Sie sich die erste Folie - ISlide slide = presentation.Slides[0]; +Eine Office Open XML‑Datei ist ein ZIP‑Archiv, das 4 GB (2^32 Bytes) Grenzen für die unkomprimierte Größe jeder Datei, die komprimierte Größe jeder Datei und die Gesamtausgröße des Archivs sowie 65 535 (2^16‑1) Dateien festlegt. ZIP64‑Formatserweiterungen heben diese Grenzen auf 2^64 an. - // Fügen Sie eine Autoform vom Typ Linie hinzu - slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); +Die [IPptxOptions.Zip64Mode](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/)‑Eigenschaft erlaubt Ihnen zu wählen, wann ZIP64‑Formatserweiterungen beim Speichern einer Office Open XML‑Datei verwendet werden. + +Diese Eigenschaft bietet die folgenden Modi: - // Speichern Sie die Präsentation im strengen Office Open XML-Format - presentation.Save(dataDir + "NewPresentation_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx, - new PptxOptions() { Conformance = Conformance.Iso29500_2008_Strict }); +- `IfNecessary` verwendet ZIP64‑Formatserweiterungen nur, wenn die Präsentation die oben genannten Beschränkungen überschreitet. Dies ist der Standardmodus. +- `Never` verwendet niemals ZIP64‑Formatserweiterungen. +- `Always` verwendet immer ZIP64‑Formatserweiterungen. - } +Der folgende Code zeigt, wie man eine Präsentation als PPTX mit aktivierten ZIP64‑Formaterweiterungen speichert: +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + presentation.Save("OutputZip64.pptx", SaveFormat.Pptx, new PptxOptions() + { + Zip64Mode = Zip64Mode.Always + }); +} ``` -### **Präsentationen im Office Open XML-Format im Zip64-Modus speichern** -Eine Office Open XML-Datei ist ein ZIP-Archiv, das eine Grenze von 4 GB (2^32 Bytes) für die unkomprimierte Größe einer Datei, die komprimierte Größe einer Datei und die Gesamtgröße des Archivs hat, sowie eine Grenze von 65.535 (2^16-1) Dateien im Archiv. Die ZIP64-Format-Erweiterungen erhöhen die Grenzen auf 2^64. -Die neue [**IPptxOptions.Zip64Mode**](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/) Eigenschaft ermöglicht es Ihnen zu wählen, wann die ZIP64-Format-Erweiterungen für die gespeicherte Office Open XML-Datei verwendet werden sollen. +{{% alert title="NOTE" color="warning" %}} +Wenn Sie mit `Zip64Mode.Never` speichern, wird eine [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/) ausgelöst, falls die Präsentation nicht im ZIP32‑Format gespeichert werden kann. +{{% /alert %}} -Diese Eigenschaft bietet die folgenden Modi: +## **Präsentationen speichern, ohne das Miniaturbild zu aktualisieren** -- [Zip64Mode.IfNecessary](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) bedeutet, dass die ZIP64-Format-Erweiterungen nur verwendet werden, wenn die Präsentation außerhalb der oben genannten Einschränkungen fällt. Dies ist der Standardmodus. -- [Zip64Mode.Never](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) bedeutet, dass ZIP64-Format-Erweiterungen nicht verwendet werden. -- [Zip64Mode.Always](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) bedeutet, dass ZIP64-Format-Erweiterungen immer verwendet werden. +Die [PptxOptions.RefreshThumbnail](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/refreshthumbnail/)‑Eigenschaft steuert die Miniaturbild‑Erstellung beim Speichern einer Präsentation als PPTX: -Der folgende C#-Code zeigt, wie man die Präsentation im PPTX-Format mit ZIP64-Format-Erweiterungen speichert: +- Wenn auf `true` gesetzt, wird das Miniaturbild beim Speichern aktualisiert. Das ist die Vorgabe. +- Wenn auf `false` gesetzt, bleibt das aktuelle Miniaturbild erhalten. Hat die Präsentation kein Miniaturbild, wird keines erzeugt. -```c# -using (Presentation pres = new Presentation("Sample.pptx")) +Im folgenden Code wird die Präsentation als PPTX gespeichert, ohne ihr Miniaturbild zu aktualisieren. +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) { - pres.Save("Sample-zip64.pptx", SaveFormat.Pptx, new PptxOptions() + presentation.Save("Output.pptx", SaveFormat.Pptx, new PptxOptions() { - Zip64Mode = Zip64Mode.Always + RefreshThumbnail = false }); } ``` -{{% alert title="HINWEIS" color="warning" %}} - -Das Speichern im Zip64Mode.Never-Modus wirft eine [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/), wenn die Präsentation nicht im ZIP32-Format gespeichert werden kann. +{{% alert title="Info" color="info" %}} +Diese Option hilft, die zum Speichern einer Präsentation im PPTX‑Format benötigte Zeit zu reduzieren. {{% /alert %}} -### **Speichern von Fortschrittsaktualisierungen in Prozent** -Das neue [**IProgressCallback**](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback) Interface wurde dem [**ISaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions) Interface und der [**SaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions) abstrakten Klasse hinzugefügt. Das **IProgressCallback** Interface stellt ein Callback-Objekt für das Speichern von Fortschrittsaktualisierungen in Prozent dar. +## **Speicherfortschritts‑Updates in Prozent anzeigen** + +Die [IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/)‑Schnittstelle wird über die `ProgressCallback`‑Eigenschaft der [ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions/)‑Schnittstelle und der abstrakten [SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/)‑Klasse verwendet. Weisen Sie einer [IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/)‑Implementierung `ProgressCallback` zu, um Speicher‑Fortschritts‑Updates als Prozentsatz zu erhalten. -Die folgenden Codebeispiele zeigen, wie das IProgressCallback-Interface verwendet wird: +Die folgenden Code‑Snippets zeigen, wie man `IProgressCallback` verwendet. +```cs +ISaveOptions saveOptions = new PdfOptions(); +saveOptions.ProgressCallback = new ExportProgressHandler(); -```c# -using (Presentation presentation = new Presentation("ConvertToPDF.pptx")) +using (Presentation presentation = new Presentation("Sample.pptx")) { - ISaveOptions saveOptions = new PdfOptions(); - saveOptions.ProgressCallback = new ExportProgressHandler(); - presentation.Save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions); + presentation.Save("Output.pdf", SaveFormat.Pdf, saveOptions); } ``` -```c# +```cs class ExportProgressHandler : IProgressCallback { public void Reporting(double progressValue) { - // Verwenden Sie den Fortschrittsprozentsatz hier + // Verwenden Sie hier den Fortschrittsprozentsatz. int progress = Convert.ToInt32(progressValue); - Console.WriteLine(progress + "% Datei konvertiert"); + + Console.WriteLine(progress + "% of the file has been converted."); } } ``` + {{% alert title="Info" color="info" %}} +Aspose hat eine [kostenlose PowerPoint Splitter‑App](https://products.aspose.app/slides/splitter) mit seiner eigenen API entwickelt. Die App ermöglicht das Aufteilen einer Präsentation in mehrere Dateien, indem ausgewählte Folien als neue PPTX‑ oder PPT‑Dateien gespeichert werden. +{{% /alert %}} -Mit seiner eigenen API hat Aspose eine [kostenlose PowerPoint-Splitter-App](https://products.aspose.app/slides/splitter) entwickelt, die es Benutzern ermöglicht, ihre Präsentationen in mehrere Dateien zu splitten. Im Wesentlichen speichert die App ausgewählte Folien aus einer bestimmten Präsentation als neue PowerPoint (PPTX oder PPT) Dateien. +## **FAQ** -{{% /alert %}} +**Wird „schnelles Speichern“ (inkrementelles Speichern) unterstützt, sodass nur Änderungen geschrieben werden?** + +Nein. Beim Speichern wird jedes Mal die vollständige Zieldatei erstellt; ein inkrementelles „schnelles Speichern“ wird nicht unterstützt. + +**Ist das gleichzeitige Speichern derselben Presentation‑Instanz aus mehreren Threads threadsicher?** -

Öffnen und Speichern von Präsentationen

+Nein. Eine [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Instanz ist nicht threadsicher; speichern Sie sie aus einem einzelnen Thread. -Schritte: Präsentation in C# öffnen und speichern +**Was passiert mit Hyperlinks und extern verknüpften Dateien beim Speichern?** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse mit einem beliebigen Format, d.h. PPT, PPTX, ODP usw. -2. Speichern Sie _Präsentation_ in einem Format, das von [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) unterstützt wird. +[Hyperlinks](/slides/de/net/manage-hyperlinks/) bleiben erhalten. Extern verknüpfte Dateien (z. B. Videos über relative Pfade) werden nicht automatisch kopiert – stellen Sie sicher, dass die referenzierten Pfade weiterhin zugänglich sind. -```c# -// Laden Sie eine unterstützte Datei in Presentation, z.B. ppt, pptx, odp usw. -Presentation presentation = new Presentation("Sample.odp"); +**Kann ich Dokument‑Metadaten (Autor, Titel, Unternehmen, Datum) setzen/speichern?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +Ja. Standard‑[Dokumenteneigenschaften](/slides/de/net/presentation-properties/) werden unterstützt und beim Speichern in die Datei geschrieben. \ No newline at end of file diff --git a/de/net/developer-guide/modern-api/_index.md b/de/net/developer-guide/modern-api/_index.md index 6e2f5ccfd5..27462c011b 100644 --- a/de/net/developer-guide/modern-api/_index.md +++ b/de/net/developer-guide/modern-api/_index.md @@ -7,70 +7,69 @@ keywords: "CrossPlatform Moderne API System.Drawing" description: "Moderne API" --- -## Einführung +## **Einführung** -Historisch gesehen hat Aspose Slides eine Abhängigkeit von System.Drawing und hat in der öffentlichen API die folgenden Klassen daraus: +Historisch hat Aspose Slides eine Abhängigkeit von System.Drawing und stellt in der öffentlichen API die folgenden Klassen daraus bereit: - [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) - [Image](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.image) - [Bitmap](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.bitmap) - [PrinterSettings](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.printing.printersettings) -Seit Version 24.4 wird diese öffentliche API als veraltet deklariert. +Ab Version 24.4 ist diese öffentliche API als veraltet gekennzeichnet. -Da die Unterstützung von System.Drawing in .NET6 und höheren Versionen für nicht-windows-Versionen entfernt wurde ([breaking change](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only)), hat Slides einen Ansatz mit zwei Bibliotheksversionen implementiert: -- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) - Unterstützung für .NET6+ für Windows, .NETStandard für Windows/Linux/MacOS, .NETFramework 2+ (Windows). +Da die System.Drawing‑Unterstützung in den Versionen .NET 6 und höher für Nicht‑Windows‑Versionen entfernt wurde ([breaking change](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only)), hat Slides einen Ansatz mit zwei Bibliotheks‑Versionen implementiert: +- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) – Unterstützung für .NET 6+ unter Windows, .NETStandard für Windows/Linux/macOS, .NETFramework 2+ (Windows). - hat eine Abhängigkeit von [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/). -- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) - Windows/Linux/MacOS-Version ohne Abhängigkeiten. +- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) – Windows/Linux/macOS‑Version ohne Abhängigkeiten. -Der Nachteil von [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) ist, dass es seine eigene Version von System.Drawing im selben Namensraum implementiert (um die Abwärtskompatibilität mit der öffentlichen API zu unterstützen). Daher tritt ein Namenskonflikt auf, wenn Aspose.Slides.NET6.CrossPlatform und System.Drawing aus dem .NETFramework oder dem System.Drawing.Common-Paket gleichzeitig verwendet werden, es sei denn, es wird ein Alias verwendet. +Der Nachteil von [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) besteht darin, dass es seine eigene Version von System.Drawing im selben Namensraum implementiert (um die Abwärtskompatibilität mit der öffentlichen API zu gewährleisten). Deshalb kommt es zu einem Namenskonflikt, wenn Aspose.Slides.NET6.CrossPlatform und System.Drawing aus .NETFramework oder dem System.Drawing.Common‑Paket gleichzeitig verwendet werden, sofern kein Alias verwendet wird. -Um die Abhängigkeiten von System.Drawing im Hauptpaket Aspose.Slides.NET loszuwerden, haben wir die sogenannte "Moderne API" hinzugefügt - d.h. die API, die anstelle der veralteten verwendet werden sollte, deren Signaturen Abhängigkeiten von den folgenden Typen aus System.Drawing enthalten: Image und Bitmap. PrinterSettings und Graphics sind als veraltet deklariert und ihre Unterstützung wurde aus der öffentlichen Slides API entfernt. +Um die Abhängigkeiten von System.Drawing im Hauptpaket Aspose.Slides.NET zu entfernen, haben wir die sogenannte „Modern API“ eingeführt – d.h. die API, die anstelle der veralteten verwendet werden soll, deren Signaturen Abhängigkeiten von den folgenden Typen aus System.Drawing enthalten: Image und Bitmap. PrinterSettings und Graphics sind als veraltet markiert und ihre Unterstützung wurde aus der öffentlichen Slides‑API entfernt. -Die Entfernung der veralteten öffentlichen API mit Abhängigkeiten von System.Drawing wird in der Version 24.8 erfolgen. +Die Entfernung der veralteten öffentlichen API mit Abhängigkeiten von System.Drawing erfolgt in Release 24.8. -## Moderne API +## **Moderne API** -Die folgenden Klassen und Enums wurden zur öffentlichen API hinzugefügt: +Folgende Klassen und Aufzählungen wurden der öffentlichen API hinzugefügt: -- Aspose.Slides.IImage - repräsentiert das Raster- oder Vektorbild. -- Aspose.Slides.ImageFormat - repräsentiert das Dateiformat des Bildes. -- Aspose.Slides.Images - Methoden zur Instanziierung und Arbeit mit dem IImage-Interface. +- Aspose.Slides.IImage – stellt das Raster‑ oder Vektor‑Bild dar. +- Aspose.Slides.ImageFormat – gibt das Dateiformat des Bildes an. +- Aspose.Slides.Images – Methoden zum Instanziieren und Arbeiten mit dem IImage‑Interface. -Bitte beachten Sie, dass IImage entsorgbar ist (es implementiert das IDisposable-Interface und seine Verwendung sollte in using oder auf andere bequeme Weise entsorgt werden). +Bitte beachten Sie, dass IImage freigabepflichtig ist (es implementiert das IDisposable‑Interface und sollte in einem using‑Block verwendet oder anderweitig ordnungsgemäß entsorgt werden). -Ein typisches Szenario zur Verwendung der neuen API könnte folgendermaßen aussehen: - -``` csharp +Ein typisches Szenario zur Verwendung der neuen API könnte wie folgt aussehen: +```csharp using (Presentation pres = new Presentation()) { IPPImage ppImage; - // Instanziieren Sie eine entsorgbare Instanz von IImage aus der Datei auf der Festplatte. + // instanziieren einer disposable Instanz von IImage von der Datei auf der Festplatte. using (IImage image = Images.FromFile("image.png")) { - // Erstellen Sie ein PowerPoint-Bild, indem Sie eine Instanz von IImage zu den Bildern der Präsentation hinzufügen. + // ein PowerPoint‑Bild erstellen, indem eine Instanz von IImage zu den Bildern der Präsentation hinzugefügt wird. ppImage = pres.Images.AddImage(image); } - // Fügen Sie ein Bildfeld auf Folie #1 hinzu + // ein Bild-Shape auf Folie #1 hinzufügen pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); - // Holen Sie sich eine Instanz von IImage, die Folie #1 repräsentiert. + // eine Instanz von IImage erhalten, die Folie #1 darstellt. using (var slideImage = pres.Slides[0].GetImage(new Size(1920, 1080))) { - // Speichern Sie das Bild auf der Festplatte. + // das Bild auf der Festplatte speichern. slideImage.Save("slide1.jpeg", ImageFormat.Jpeg); } } ``` -## Ersetzen von altem Code durch die Moderne API -Zur Erleichterung des Übergangs wiederholt die Schnittstelle des neuen IImage die separaten Signaturen der Klassen Image und Bitmap. Im Allgemeinen müssen Sie lediglich den Aufruf der alten Methode mit System.Drawing durch die neue ersetzen. +## **Ersetzen alten Codes durch die Moderne API** -### Holen eines Folien-Thumbnails +Zur Erleichterung der Migration wiederholt das Interface von IImage die separaten Signaturen der Klassen Image und Bitmap. Im Allgemeinen müssen Sie lediglich den Aufruf der alten Methode, die System.Drawing verwendet, durch den neuen ersetzen. -Code mit einer veralteten API: +### **Abrufen eines Folien‑Thumbnails** +Code mit veralteter API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -78,8 +77,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Moderne API: +Moderne API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -87,10 +86,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### Holen eines Shapes-Thumbnails -Code mit einer veralteten API: +### **Abrufen eines Shape‑Thumbnails** +Code mit veralteter API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -98,8 +97,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Moderne API: +Moderne API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -107,10 +106,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### Holen eines Präsentations-Thumbnails -Code mit einer veralteten API: +### **Abrufen eines Präsentations‑Thumbnails** +Code mit veralteter API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -133,8 +132,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Moderne API: +Moderne API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -151,16 +150,16 @@ using (Presentation pres = new Presentation("pres.pptx")) { foreach (IImage image in images) { - image.Dispose(); + image Dispose(); } } } ``` -### Hinzufügen eines Bildes zu einer Präsentation -Code mit einer veralteten API: +### **Hinzufügen eines Bildes zu einer Präsentation** +Code mit veralteter API: ``` csharp using (Presentation pres = new Presentation()) { @@ -174,8 +173,8 @@ using (Presentation pres = new Presentation()) } ``` -Moderne API: +Moderne API: ``` csharp using (Presentation pres = new Presentation()) { @@ -188,92 +187,104 @@ using (Presentation pres = new Presentation()) pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); } ``` -## Methoden/Eigenschaften, die entfernt werden sollen, und deren Ersatz in der Modernen API -### Präsentation -| Methodensignatur | Ersetzung der Methodensignatur | -|-----------------------------------------------|---------------------------------------------------------| -| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | -| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | + +## **Methoden/Eigenschaften, die entfernt werden und ihre Ersatz‑Methoden in der Modernen API** + +### **Presentation** +| Methodensignatur | Ersatz‑Methodensignatur | +|------------------|------------------------| +| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | +| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | | public Bitmap[] GetThumbnails(IRenderingOptions options, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_4) | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, int[] slides, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_2) | | public Bitmap[] GetThumbnails(IRenderingOptions options, Size imageSize) | [GetImages(IRenderingOptions options, Size imageSize)]() | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, Size imageSize) | [GetImages(IRenderingOptions options, int[] slides, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_3) | -| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | Wird vollständig gelöscht | -| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | Wird vollständig gelöscht | -| public void Print() | Wird vollständig gelöscht | -| public void Print(PrinterSettings printerSettings) | Wird vollständig gelöscht | -| public void Print(string printerName) | Wird vollständig gelöscht | -| public void Print(PrinterSettings printerSettings, string presName) | Wird vollständig gelöscht | - -### Form -| Methodensignatur | Ersetzung der Methodensignatur | -|----------------------------------------------------------------------|-------------------------------------------------------------------| -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | +| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | Wird vollständig entfernt | +| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | Wird vollständig entfernt | +| public void Print() | Wird vollständig entfernt | +| public void Print(PrinterSettings printerSettings) | Wird vollständig entfernt | +| public void Print(string printerName) | Wird vollständig entfernt | +| public void Print(PrinterSettings printerSettings, string presName) | Wird vollständig entfernt | + +### **Shape** +| Methodensignatur | Ersatz‑Methodensignatur | +|------------------|------------------------| +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | | public Bitmap GetThumbnail(ShapeThumbnailBounds bounds, float scaleX, float scaleY) | [GetImage(ShapeThumbnailBounds bounds, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage_1) | -### Folie -| Methodensignatur | Ersetzung der Methodensignatur | -|----------------------------------------------------------------------|-----------------------------------------------------------------------| -| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | -| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | -| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | -| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | +### **Slide** +| Methodensignatur | Ersatz‑Methodensignatur | +|------------------|------------------------| +| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | +| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | +| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | +| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | | public Bitmap GetThumbnail(IRenderingOptions options, float scaleX, float scaleY) | [GetImage(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_2) | -| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | Wird vollständig gelöscht | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | Wird vollständig gelöscht | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | Wird vollständig gelöscht | - -#### Ausgabe -| Methodensignatur | Ersetzung der Methodensignatur | -|-----------------------------------------------------------------|-------------------------------------------------------------| -| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | - -### ImageCollection -| Methodensignatur | Ersetzung der Methodensignatur | -|-------------------------------------------|--------------------------------------------| -| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | - -### ImageWrapperFactory -| Methodensignatur | Ersetzung der Methodensignatur | -|----------------------------------------------------------|---------------------------------------------------------| -| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | - -### PPImage -| Methoden-/Eigenschaftssignatur | Ersetzung der Methodensignatur | -|--------------------------------------|-----------------------------------------| -| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | -| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | - -### PatternFormat -| Methodensignatur | Ersetzung der Methodensignatur | -|-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | -| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | - -### IPatternFormatEffectiveData -| Methodensignatur | Ersetzung der Methodensignatur | -|-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | - -## Unterstützung für Aspose.Slides.NET6.CrossPlatform wird eingestellt - -Nach der Veröffentlichung von [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) Version 24.8 wird die Unterstützung für [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) eingestellt. - -## API-Unterstützung für Graphics und PrinterSettings wird eingestellt - -Die [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) Klasse wird nicht für plattformübergreifende Versionen von .NET6 und höher unterstützt. In Aspose Slides wird der Teil der API, der sie verwendet, entfernt: -[Folie](https://reference.aspose.com/slides/net/aspose.slides/slide/) +| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | Wird vollständig entfernt | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | Wird vollständig entfernt | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | Wird vollständig entfernt | + +### **Output** +| Methodensignatur | Ersatz‑Methodensignatur | +|------------------|------------------------| +| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | + +### **ImageCollection** +| Methodensignatur | Ersatz‑Methodensignatur | +|------------------|------------------------| +| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | + +### **ImageWrapperFactory** +| Methodensignatur | Ersatz‑Methodensignatur | +|------------------|------------------------| +| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | + +### **PPImage** +| Methoden-/Eigenschaftssignatur | Ersatz‑Methodensignatur | +|-------------------------------|------------------------| +| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | +| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | + +### **PatternFormat** +| Methodensignatur | Ersatz‑Methodensignatur | +|------------------|------------------------| +| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | +| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | + +### **IPatternFormatEffectiveData** +| Methodensignatur | Ersatz‑Methodensignatur | +|------------------|------------------------| +| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | + +## **API‑Unterstützung für Graphics und PrinterSettings wird eingestellt** + +Die Klasse [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) wird für plattformübergreifende Versionen von .NET 6 und höher nicht unterstützt. In Aspose Slides wird der Teil der API, der sie verwendet, entfernt: +[Slide](https://reference.aspose.com/slides/net/aspose.slides/slide/) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_5) -Außerdem wird der Teil der API, der mit dem Drucken zu tun hat, entfernt: +Auch der Teil der API, der das Drucken betrifft, wird entfernt: -[Präsentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): +[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): - [public void Presentation.Print](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print) - [public void Print(PrinterSettings printerSettings)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_1) - [public void Print(string printerName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_3) -- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) \ No newline at end of file +- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) + +# **FAQ** + +**Warum wurde System.Drawing.Graphics entfernt?** + +Die Unterstützung für `Graphics` wird aus der öffentlichen API entfernt, um die Arbeit mit Rendering und Bildern zu vereinheitlichen, Abhängigkeiten von plattformspezifischen Bibliotheken zu eliminieren und einen plattformübergreifenden Ansatz mit [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) zu verfolgen. Alle Rendering‑Methoden, die `Graphics` verwenden, werden entfernt. + +**Welchen praktischen Nutzen bietet IImage gegenüber Image/Bitmap?** + +[IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) vereinheitlicht die Arbeit mit Raster‑ und Vektorbildern, vereinfacht das Speichern in verschiedenen Formaten über [ImageFormat](https://reference.aspose.com/slides/net/aspose.slides/imageformat/), reduziert die Abhängigkeit von `System.Drawing` und macht Code portabler über verschiedene Umgebungen hinweg. + +**Beeinflusst die Moderne API die Performance beim Erzeugen von Thumbnails?** + +Der Wechsel von `GetThumbnail` zu `GetImage` verschlechtert die Szenarien nicht: Die neuen Methoden bieten die gleichen Fähigkeiten zur Bildgenerierung mit Optionen und Größen, während sie weiterhin Rendering‑Optionen unterstützen. Der konkrete Gewinn oder Verlust hängt vom Einzelfall ab, funktional sind die Ersetzungen jedoch äquivalent. \ No newline at end of file diff --git a/de/net/developer-guide/powerpoint-animation/_index.md b/de/net/developer-guide/powerpoint-animation/_index.md index 8b95b230a1..fe8377a817 100644 --- a/de/net/developer-guide/powerpoint-animation/_index.md +++ b/de/net/developer-guide/powerpoint-animation/_index.md @@ -1,28 +1,55 @@ --- -title: PowerPoint-Animation +title: PowerPoint-Präsentationen mit Animationen in C# verbessern +linktitle: PowerPoint-Animation type: docs weight: 150 url: /de/net/powerpoint-animation/ -keywords: "Animation, Animationseffekte, PowerPoint-Animation, Animationszeitleiste, interaktive Animation, Formanimation, animiertes Diagramm, animierter Text, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Animation und Effekte von PowerPoint-Präsentationen in C# oder .NET" +keywords: +- Animation hinzufügen +- Animation aktualisieren +- Animation ändern +- Animation entfernen +- Animation verwalten +- Animation steuern +- Animationseffekt +- PowerPoint-Animation +- Animationszeitleiste +- Interaktive Animation +- Benutzerdefinierte Animation +- Form-Animation +- Animiertes Diagramm +- Animierter Text +- Animierte Form +- Animiertes OLE-Objekt +- Animiertes Bild +- Animierte Tabelle +- PowerPoint-Präsentation +- C# +- Csharp +- Aspose.Slides for .NET +description: "Entdecken Sie die Möglichkeiten von Aspose.Slides für .NET beim Umgang mit PowerPoint-Animationen. Dieser allgemeine Überblick hebt wichtige Funktionen hervor und bietet Einblicke, um Ihre Präsentationen zu verbessern." --- -Da Präsentationen dazu gedacht sind, etwas zu präsentieren, wird beim Erstellen immer das visuelle Erscheinungsbild und das interaktive Verhalten berücksichtigt. +## **Übersicht** -**PowerPoint-Animation** spielt eine wichtige Rolle, um die Präsentation auffällig und attraktiv für die Zuschauer zu gestalten. Aspose.Slides für .NET bietet eine Vielzahl von Optionen, um Animationen zu PowerPoint-Präsentationen hinzuzufügen: +Da Präsentationen dazu gedacht sind, etwas zu präsentieren, werden ihr visuelles Erscheinungsbild und ihr interaktives Verhalten bereits bei der Erstellung berücksichtigt. -- verschiedene Arten von PowerPoint-Animations effekten auf Formen, Diagramme, Tabellen, OLE-Objekte und andere Präsentationselemente anwenden. -- mehrere PowerPoint-Animations effekte auf eine Form anwenden. -- Animationszeitleiste verwenden, um Animationseffekte zu steuern. -- benutzerdefinierte Animation erstellen. +**PowerPoint-Animation** spielt eine wichtige Rolle, um eine Präsentation für Zuschauer ansprechend und fesselnd zu machen. Aspose.Slides für .NET bietet eine breite Palette von Optionen, um Animationen zu PowerPoint-Präsentationen hinzuzufügen: -In Aspose.Slides für .NET können verschiedene Animationseffekte auf die Formen angewendet werden. Da jedes Element auf der Folie, einschließlich Text, Bilder, OLE-Objekte, Tabellen usw., als Form betrachtet wird, bedeutet dies, dass wir Animations effekte auf jedes Element einer Folie anwenden können. +- Wenden Sie verschiedene Arten von PowerPoint-Animationseffekten auf Formen, Diagramme, Tabellen, OLE‑Objekte und andere Präsentationselemente an. +- Verwenden Sie mehrere PowerPoint-Animationseffekte auf einer einzigen Form. +- Nutzen Sie die Animations‑Zeitleiste, um Animations­effekte zu steuern. +- Erstellen Sie benutzerdefinierte Animationen. -[**Aspose.Slides.Animation**](https://reference.aspose.com/slides/net/aspose.slides.animation/) **Namespace** bietet Klassen zur Arbeit mit PowerPoint-Animationen. -## **Animations Effekte** -Aspose.Slides unterstützt **über 150 Animations effekte**, einschließlich grundlegender Animations effekte wie Bounce, PathFootball, Zoom-Effekt und spezifische Animations effekte wie OLEObjectShow, OLEObjectOpen. Eine vollständige Liste der Animations effekte finden Sie in der [**EffectType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype) Aufzählung. +In Aspose.Slides für .NET können verschiedene Animationseffekte auf Formen angewendet werden. Da jedes Element auf einer Folie, einschließlich Text, Bilder, OLE‑Objekte und Tabellen, als Form angesehen wird, können Animations­effekte auf jedes Element der Folie angewendet werden. -Zusätzlich können diese Animations effekte in Kombination mit den folgenden verwendet werden: +[Aspose.Slides.Animation](https://reference.aspose.com/slides/net/aspose.slides.animation/) namespace bietet Klassen zur Arbeit mit PowerPoint‑Animationen. + +## **Animationseffekte** + +Aspose.Slides unterstützt **mehr als 150 Animationseffekte**, darunter Grundeffekte wie Bounce, PathFootball und Zoom sowie spezifische Effekte wie OLEObjectShow und OLEObjectOpen. Eine vollständige Liste der Animationseffekte finden Sie in der Aufzählung [EffectType](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype). + +Zusätzlich können diese Animationseffekte in Kombination mit den folgenden verwendet werden: - [ColorEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/coloreffect) - [CommandEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/commandeffect) @@ -32,36 +59,59 @@ Zusätzlich können diese Animations effekte in Kombination mit den folgenden ve - [RotationEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/rotationeffect) - [ScaleEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/scaleeffect) - [SetEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/seteffect) + ## **Benutzerdefinierte Animation** -Es ist möglich, eigene **benutzerdefinierte Animationen** in Aspose.Slides zu erstellen. -Dies kann erreicht werden, indem mehrere Verhaltensweisen zu einer neuen benutzerdefinierten Animation kombiniert werden. -[**Verhalten**](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) ist eine Baueinheit jedes PowerPoint-Animations effekts. Alle Animations effekte sind tatsächlich eine Sammlung von Verhaltensweisen, die zu einer Strategie zusammengesetzt sind. Sie können Verhaltensweisen einmal zu einer benutzerdefinierten Animation kombinieren und in anderen Präsentationen wiederverwenden. Wenn Sie ein neues Verhalten zu einem Standard-PowerPoint-Animations effekt hinzufügen - wird es eine andere benutzerdefinierte Animation sein. Zum Beispiel können Sie ein Wiederholungsverhalten zu einer Animation hinzufügen, um sie mehrere Male wiederholen zu lassen. +Es ist möglich, eigene **benutzerdefinierte Animationen** in Aspose.Slides zu erstellen. Dies kann erreicht werden, indem mehrere Verhaltensweisen zu einer neuen benutzerdefinierten Animation kombiniert werden. + +[Behaviour](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) ist ein Baustein jedes PowerPoint‑Animationseffekts. Alle Animationseffekte bestehen im Wesentlichen aus einer Menge von Verhaltensweisen, die zu einer Strategie zusammengesetzt sind. Sie können Verhaltensweisen zu einer benutzerdefinierten Animation kombinieren und diese dann in anderen Präsentationen wiederverwenden. Wenn Sie einer Standard‑PowerPoint‑Animation ein neues Verhalten hinzufügen, entsteht eine weitere benutzerdefinierte Animation. Beispielsweise können Sie ein Wiederholungsverhalten zu einer Animation hinzufügen, damit sie mehrmals abgespielt wird. + +[Animation Point](https://reference.aspose.com/slides/net/aspose.slides.animation/point) ist der Punkt, an dem ein Verhalten angewendet werden soll. -[**Animationspunkt**](https://reference.aspose.com/slides/net/aspose.slides.animation/point) ist ein Punkt, an dem das Verhalten angewendet werden soll. -## **Animationszeitleiste** -[**Sequenz**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) ist eine Sammlung von Animations effekten, die auf eine bestimmte Form angewendet werden. +## **Animations‑Zeitleiste** + +[Sequence](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) ist eine Sammlung von Animationseffekten, die auf eine bestimmte Form angewendet werden. + +[Timeline](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) ist ein Satz von Sequenzen, die in einer bestimmten Folie verwendet werden. Sie ist eine Animations‑Engine, die in PowerPoint 2002 eingeführt wurde. In früheren Versionen von PowerPoint war das Hinzufügen von Animationseffekten zu Präsentationen schwierig und nur mit verschiedenen Work‑arounds möglich. Die Zeitleiste ersetzt die alte AnimationSettings‑Klasse und bietet ein klareres Objektmodell für PowerPoint‑Animationen. Eine Folie kann nur eine Animations‑Zeitleiste besitzen. -[**Zeitleiste**](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) ist eine Sammlung von Sequenzen, die in einer bestimmten Folie verwendet werden. Es ist eine Animationsmaschine, die seit PowerPoint 2002 repräsentiert wird. In früheren PowerPoint-Versionen war es schwierig, Animations effekte zu Präsentationen hinzuzufügen, was nur mit verschiedenen Workarounds erreicht werden konnte. Die Zeitleiste ersetzt die alte AnimationSettings-Klasse und bietet ein klareres Objektmodell für PowerPoint-Animationen. Eine Folie kann nur eine Animationszeitleiste haben. ## **Interaktive Animation** -[**Trigger**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) ermöglicht es, Benutzeraktionen (z. B. Mausklicks) zu definieren, die eine bestimmte Animation starten. Trigger wurden nur in der neuesten PowerPoint-Version hinzugefügt. -## **Formanimation** -Aspose.Slides ermöglicht es, Animationen auf Formen anzuwenden, die tatsächlich Text, Rechtecke, Linien, Rahmen, OLE-Objekte usw. sein können. + +[Trigger](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) ermöglicht es Ihnen, Benutzeraktionen (z. B. einen Button‑Klick) zu definieren, die eine bestimmte Animation starten. Trigger wurden in der neuesten Version von PowerPoint eingeführt. + +## **Shape‑Animation** + +Aspose.Slides ermöglicht das Anwenden von Animationen auf Formen, zu denen Text, Rechtecke, Linien, Rahmen, OLE‑Objekte und mehr gehören können. {{% alert color="primary" %}} -Lesen Sie mehr [**Über Formanimation**](/slides/de/net/shape-animation/). +Read more [**About Shape Animation**](/slides/de/net/shape-animation/). {{% /alert %}} ## **Animierte Diagramme** -Um animierte Diagramme zu erstellen, sollten Sie alle gleichen Klassen wie für die Formen verwenden. Es ist jedoch möglich, PowerPoint-Animationen nur auf Diagrammkategorien oder Diagrammserien anzuwenden. Sie können auch einen Animations effekt auf ein Kategorieelement oder ein Serienelement anwenden. + +Um animierte Diagramme zu erstellen, sollten Sie dieselben Klassen wie für Formen verwenden. PowerPoint‑Animationen können jedoch nur auf Diagrammkategorien oder Diagrammreihen angewendet werden. Sie können Animationseffekte auch auf ein Kategorie‑Element oder ein Reihen‑Element anwenden. {{% alert color="primary" %}} -Lesen Sie mehr [**Über animierte Diagramme**](/slides/de/net/animated-charts/). +Read more [**About Animated Charts**](/slides/de/net/animated-charts/). {{% /alert %}} ## **Animierter Text** + Neben animiertem Text ist es auch möglich, Animationen auf einen Absatz anzuwenden. {{% alert color="primary" %}} -Lesen Sie mehr [**Über animierten Text**](/slides/de/net/animated-text/). -{{% /alert %}} \ No newline at end of file +Read more [**About Animated Text**](/slides/de/net/animated-text/). +{{% /alert %}} + +## **FAQ** + +**Werden Animationen beim Export in PDF beibehalten?** + +Nein. PDF ist ein statisches Format, sodass Animationen und [Folienübergänge](/slides/de/net/slide-transition/) nicht abgespielt werden. Wenn Sie Bewegung benötigen, exportieren Sie stattdessen nach [HTML5](/slides/de/net/export-to-html5/), [animiertem GIF](/slides/de/net/convert-powerpoint-to-animated-gif/) oder [Video](/slides/de/net/convert-powerpoint-to-video/). + +**Kann ich eine animierte Präsentation in ein Video umwandeln und dabei Bildrate sowie Bildgröße steuern?** + +Ja. Sie können die Präsentation als Einzelbilder [rendern](/slides/de/net/convert-powerpoint-to-video/) und diese mit einem Video‑Encoder (z. B. ffmpeg) zu einem Video zusammenfügen, wobei Sie FPS und Auflösung wählen. Animationen und Folienübergänge werden während des Renderns abgespielt. + +**Bleiben Animationen beim Arbeiten mit ODP (nicht nur PPTX) erhalten?** + +PPT, PPTX und ODP werden zum [Lesen](/slides/de/net/open-presentation/) und [Schreiben](/slides/de/net/save-presentation/) unterstützt, aber Formatunterschiede können dazu führen, dass bestimmte Effekte leicht anders aussehen oder sich anders verhalten. Validieren Sie kritische Fälle mit echten Beispielen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-comments/_index.md b/de/net/developer-guide/presentation-comments/_index.md index 269d735363..35c3ac92f3 100644 --- a/de/net/developer-guide/presentation-comments/_index.md +++ b/de/net/developer-guide/presentation-comments/_index.md @@ -4,27 +4,26 @@ type: docs weight: 100 url: /de/net/presentation-comments/ keywords: "Kommentare, PowerPoint-Kommentare, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Fügen Sie Kommentare und Antworten in einer PowerPoint-Präsentation in C# oder .NET hinzu" +description: "Kommentare und Antworten in PowerPoint-Präsentationen in C# oder .NET hinzufügen" --- -In PowerPoint erscheint ein Kommentar als Notiz oder Anmerkung auf einer Folie. Wenn auf einen Kommentar geklickt wird, werden dessen Inhalte oder Nachrichten angezeigt. +In PowerPoint erscheint ein Kommentar als Hinweis oder Anmerkung auf einer Folie. Wenn ein Kommentar angeklickt wird, werden dessen Inhalt oder Nachrichten angezeigt. ## **Warum Kommentare zu Präsentationen hinzufügen?** -Sie möchten möglicherweise Kommentare verwenden, um Feedback zu geben oder mit Ihren Kollegen zu kommunizieren, wenn Sie Präsentationen überprüfen. +Sie möchten Kommentare möglicherweise verwenden, um Feedback zu geben oder mit Ihren Kolleginnen und Kollegen zu kommunizieren, wenn Sie Präsentationen überprüfen. -Um Ihnen die Verwendung von Kommentaren in PowerPoint-Präsentationen zu ermöglichen, bietet Aspose.Slides für .NET +Damit Sie Kommentare in PowerPoint‑Präsentationen verwenden können, stellt Aspose.Slides für .NET bereit -* Die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse, die die Sammlungen von Autoren (aus der [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index) Eigenschaft) enthält. Die Autoren fügen Folien Kommentare hinzu. -* Das [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection) Interface, das die Sammlung von Kommentaren für einzelne Autoren enthält. -* Die [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) Klasse, die Informationen zu Autoren und deren Kommentaren enthält: wer den Kommentar hinzugefügt hat, wann der Kommentar hinzugefügt wurde, die Position des Kommentars usw. -* Die [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor) Klasse, die Informationen zu einzelnen Autoren enthält: den Namen des Autors, seine Initialen, Kommentare, die mit dem Namen des Autors verbunden sind, usw. - -## **Kommentare zu Folien hinzufügen** -Dieser C#-Code zeigt Ihnen, wie Sie einen Kommentar zu einer Folie in einer PowerPoint-Präsentation hinzufügen: +* Die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse, die die Sammlungen von Autoren enthält (aus der [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index) Eigenschaft). Die Autoren fügen Folien Kommentare hinzu. +* Die [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection) Schnittstelle, die die Sammlung von Kommentaren für einzelne Autoren enthält. +* Die [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) Klasse, die Informationen zu Autoren und deren Kommentaren enthält: wer den Kommentar hinzugefügt hat, wann der Kommentar hinzugefügt wurde, die Position des Kommentars usw. +* Die [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor) Klasse, die Informationen zu einzelnen Autoren enthält: den Namen des Autors, seine Initialen, mit dem Namen des Autors verbundene Kommentare usw. +## **Folienkommentar hinzufügen** +Dieser C#‑Code zeigt, wie Sie einem Folie in einer PowerPoint‑Präsentation einen Kommentar hinzufügen: ```c# -// Instanziiert die Präsentation-Klasse +// Instanziert die Presentation-Klasse using (Presentation presentation = new Presentation()) { // Fügt eine leere Folie hinzu @@ -38,38 +37,38 @@ using (Presentation presentation = new Presentation()) point.X = 0.2f; point.Y = 0.2f; - // Fügt Folienkommentar für einen Autor auf Folie 1 hinzu - author.Comments.AddComment("Hallo Jawad, dies ist ein Folienkommentar", presentation.Slides[0], point, DateTime.Now); + // Fügt einen Folienkommentar für einen Autor auf Folie 1 hinzu + author.Comments.AddComment("Hello Jawad, this is slide comment", presentation.Slides[0], point, DateTime.Now); - // Fügt Folienkommentar für einen Autor auf Folie 2 hinzu - author.Comments.AddComment("Hallo Jawad, dies ist der zweite Folienkommentar", presentation.Slides[1], point, DateTime.Now); + // Fügt einen Folienkommentar für einen Autor auf Folie 2 hinzu + author.Comments.AddComment("Hello Jawad, this is second slide comment", presentation.Slides[1], point, DateTime.Now); // Greift auf ISlide 1 zu ISlide slide = presentation.Slides[0]; - // Wenn null als Argument übergeben wird, werden die Kommentare aller Autoren auf der ausgewählten Folie angezeigt + // Wenn null als Argument übergeben wird, werden Kommentare aller Autoren zur ausgewählten Folie gebracht IComment[] Comments = slide.GetSlideComments(author); - // Greift auf den Kommentar am Index 0 für Folie 1 zu + // Greift auf den Kommentar an Index 0 für Folie 1 zu String str = Comments[0].Text; - presentation.Save("Kommentare_out.pptx", SaveFormat.Pptx); + presentation.Save("Comments_out.pptx", SaveFormat.Pptx); if (Comments.GetLength(0) > 0) { - // Wählt die Kommentarsammlung des Autors am Index 0 aus + // Wählt die Kommentarsammlung des Autors an Index 0 aus ICommentCollection commentCollection = Comments[0].Author.Comments; String Comment = commentCollection[0].Text; } } ``` -## **Zugriff auf Folienkommentare** -Dieser C#-Code zeigt Ihnen, wie Sie auf einen vorhandenen Kommentar auf einer Folie in einer PowerPoint-Präsentation zugreifen: +## **Folienkommentare abrufen** +Dieser C#‑Code zeigt, wie Sie auf einen bestehenden Kommentar einer Folie in einer PowerPoint‑Präsentation zugreifen: ```c# -// Instanziiert die Präsentation-Klasse -using (Presentation presentation = new Presentation("Kommentare1.pptx")) +// Instanziert die Presentation-Klasse +using (Presentation presentation = new Presentation("Comments1.pptx")) { foreach (var commentAuthor in presentation.CommentAuthors) { @@ -77,45 +76,45 @@ using (Presentation presentation = new Presentation("Kommentare1.pptx")) foreach (var comment1 in author.Comments) { var comment = (Comment) comment1; - Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " hat Kommentar: " + comment.Text + " von Autor: " + comment.Author.Name + " gepostet um: " + comment.CreatedTime + "\n"); + Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " has comment: " + comment.Text + " with Author: " + comment.Author.Name + " posted on time :" + comment.CreatedTime + "\n"); } } } ``` -## **Antworten auf Kommentare** -Ein übergeordneter Kommentar ist der oberste oder ursprüngliche Kommentar in einer Hierarchie von Kommentaren oder Antworten. Mit der [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) Eigenschaft (aus dem [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) Interface) können Sie einen übergeordneten Kommentar festlegen oder abrufen. +## **Kommentare beantworten** -Dieser C#-Code zeigt Ihnen, wie Sie Kommentare hinzufügen und Antworten darauf erhalten: +Ein übergeordneter Kommentar ist der oberste bzw. ursprüngliche Kommentar in einer Hierarchie von Kommentaren oder Antworten. Mit der [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) Eigenschaft (aus der [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) Schnittstelle) können Sie einen übergeordneten Kommentar festlegen oder abrufen. +Dieser C#‑Code zeigt, wie Sie Kommentare hinzufügen und Antworten darauf erhalten: ```c# using (Presentation pres = new Presentation()) { // Fügt einen Kommentar hinzu - ICommentAuthor author1 = pres.CommentAuthors.AddAuthor("Autor_1", "A.A."); - IComment comment1 = author1.Comments.AddComment("Kommentar 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + ICommentAuthor author1 = pres.CommentAuthors.AddAuthor("Author_1", "A.A."); + IComment comment1 = author1.Comments.AddComment("comment1", pres.Slides[0], new PointF(10, 10), DateTime.Now); - // Fügt eine Antwort auf Kommentar 1 hinzu - ICommentAuthor author2 = pres.CommentAuthors.AddAuthor("Autor_2", "B.B."); - IComment reply1 = author2.Comments.AddComment("Antwort 1 für Kommentar 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + // Fügt eine Antwort zu comment1 hinzu + ICommentAuthor author2 = pres.CommentAuthors.AddAuthor("Autror_2", "B.B."); + IComment reply1 = author2.Comments.AddComment("reply 1 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply1.ParentComment = comment1; - // Fügt eine weitere Antwort auf Kommentar 1 hinzu - IComment reply2 = author2.Comments.AddComment("Antwort 2 für Kommentar 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + // Fügt eine weitere Antwort zu comment1 hinzu + IComment reply2 = author2.Comments.AddComment("reply 2 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply2.ParentComment = comment1; - // Fügt eine Antwort auf eine bestehende Antwort hinzu - IComment subReply = author1.Comments.AddComment("Unterantwort 3 für Antwort 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + // Fügt eine Antwort zu einer bestehenden Antwort hinzu + IComment subReply = author1.Comments.AddComment("subreply 3 for reply 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); subReply.ParentComment = reply2; - IComment comment2 = author2.Comments.AddComment("Kommentar 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment comment3 = author2.Comments.AddComment("Kommentar 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment2 = author2.Comments.AddComment("comment 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment3 = author2.Comments.AddComment("comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment reply3 = author1.Comments.AddComment("Antwort 4 für Kommentar 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply3 = author1.Comments.AddComment("reply 4 for comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply3.ParentComment = comment3; - // Gibt die Kommentarhierarchie in der Konsole aus + // Zeigt die Kommentarhierarchie in der Konsole an ISlide slide = pres.Slides[0]; var comments = slide.GetSlideComments(null); for (int i = 0; i < comments.Length; i++) @@ -131,48 +130,48 @@ using (Presentation pres = new Presentation()) Console.WriteLine(); } - pres.Save("uebergeordneter_kommentar.pptx", SaveFormat.Pptx); + pres.Save("parent_comment.pptx",SaveFormat.Pptx); - // Entfernt Kommentar 1 und alle Antworten darauf + // Entfernt comment1 und alle darauf folgenden Antworten comment1.Remove(); - pres.Save("entfernen_kommentar.pptx", SaveFormat.Pptx); + pres.Save("remove_comment.pptx", SaveFormat.Pptx); } ``` + {{% alert color="warning" title="Achtung" %}} -* Wenn die [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) Methode (aus dem [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) Interface) verwendet wird, um einen Kommentar zu löschen, werden auch die Antworten auf den Kommentar gelöscht. -* Wenn die [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) Einstellung zu einer zirkulären Referenz führt, wird eine [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception) ausgelöst. +* Wenn die [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) Methode (aus der [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) Schnittstelle) verwendet wird, um einen Kommentar zu löschen, werden auch die Antworten auf den Kommentar gelöscht. +* Führt die [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) Einstellung zu einer zirkulären Referenz, wird eine [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception) ausgelöst. {{% /alert %}} ## **Modernen Kommentar hinzufügen** -Im Jahr 2021 führte Microsoft *moderne Kommentare* in PowerPoint ein. Die Funktion moderne Kommentare verbessert die Zusammenarbeit in PowerPoint erheblich. Durch moderne Kommentare haben PowerPoint-Nutzer die Möglichkeit, Kommentare zu lösen, Kommentare an Objekte und Texte zu verknüpfen und viel einfacher zu interagieren als zuvor. +Im Jahr 2021 hat Microsoft *moderne Kommentare* in PowerPoint eingeführt. Die Funktion für moderne Kommentare verbessert die Zusammenarbeit in PowerPoint erheblich. Durch moderne Kommentare können PowerPoint‑Benutzer Kommentare lösen, Kommentare an Objekten und Texten verankern und viel einfacher interagieren als zuvor. -In [Aspose Slides für .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/) implementierten wir die Unterstützung für moderne Kommentare, indem wir die [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment) Klasse hinzufügten. Die [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) und [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) Methoden wurden zur [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection) Klasse hinzugefügt. - -Dieser C#-Code zeigt Ihnen, wie Sie einen modernen Kommentar zu einer Folie in einer PowerPoint-Präsentation hinzufügen: +In [Aspose Slides for .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/) haben wir die Unterstützung für moderne Kommentare implementiert, indem wir die [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment) Klasse hinzugefügt haben. Die Methoden [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) und [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) wurden der [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection) Klasse hinzugefügt. +Dieser C#‑Code zeigt, wie Sie einem Folie in einer PowerPoint‑Präsentation einen modernen Kommentar hinzufügen: ```c# using (Presentation pres = new Presentation()) { - ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("Ein Autor", "SA"); - IModernComment modernComment = newAuthor.Comments.AddModernComment("Das ist ein moderner Kommentar", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); + ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("Some Author", "SA"); + IModernComment modernComment = newAuthor.Comments.AddModernComment("This is a modern comment", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` + ## **Kommentar entfernen** ### **Alle Kommentare und Autoren löschen** -Dieser C#-Code zeigt Ihnen, wie Sie alle Kommentare und Autoren in einer Präsentation entfernen: - +Dieser C#‑Code zeigt, wie Sie alle Kommentare und Autoren in einer Präsentation entfernen: ```c# -using (var presentation = new Presentation("beispiel.pptx")) +using (var presentation = new Presentation("example.pptx")) { // Löscht alle Kommentare aus der Präsentation foreach (var author in presentation.CommentAuthors) @@ -183,31 +182,31 @@ using (var presentation = new Presentation("beispiel.pptx")) // Löscht alle Autoren presentation.CommentAuthors.Clear(); - presentation.Save("beispiel_out.pptx", SaveFormat.Pptx); + presentation.Save("example_out.pptx", SaveFormat.Pptx); } ``` -### **Spezifische Kommentare löschen** -Dieser C#-Code zeigt Ihnen, wie Sie spezifische Kommentare auf einer Folie löschen: +### **Bestimmte Kommentare löschen** +Dieser C#‑Code zeigt, wie Sie bestimmte Kommentare auf einer Folie löschen: ```c# using (var presentation = new Presentation()) { ISlide slide = presentation.Slides[0]; // Kommentare hinzufügen... - ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Autor", "A"); - author.Comments.AddComment("Kommentar 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); - author.Comments.AddComment("Kommentar 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); + ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Author", "A"); + author.Comments.AddComment("comment 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); + author.Comments.AddComment("comment 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); - // Entfernt alle Kommentare, die den Text "Kommentar 1" enthalten + // Entfernt alle Kommentare, die den Text "comment 1" enthalten foreach (ICommentAuthor commentAuthor in presentation.CommentAuthors) { List toRemove = new List(); foreach (IComment comment in slide.GetSlideComments(commentAuthor)) { - if (comment.Text == "Kommentar 1") + if (comment.Text == "comment 1") { toRemove.Add(comment); } @@ -221,4 +220,19 @@ using (var presentation = new Presentation()) presentation.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Unterstützt Aspose.Slides einen Status wie „gelöst“ für moderne Kommentare?** + +Ja. [Modern comments](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/) stellen eine [Status](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/status/) Eigenschaft bereit; Sie können den Zustand eines Kommentars lesen und setzen (z. B. ihn als gelöst markieren), und dieser Zustand wird in der Datei gespeichert und von PowerPoint erkannt. + +**Werden Thread‑Diskussionen (Antwortketten) unterstützt und gibt es eine Begrenzung für die Verschachtelung?** + +Ja. Jeder Kommentar kann auf seinen [parent comment](https://reference.aspose.com/slides/net/aspose.slides/comment/parentcomment/) verweisen, wodurch beliebige Antwortketten ermöglicht werden. Die API definiert keine spezifische Begrenzung der Verschachtelungstiefe. + +**In welchem Koordinatensystem ist die Position eines Kommentarmarkers auf einer Folie definiert?** + +Die Position wird als Gleitkommapunkt im Koordinatensystem der Folie gespeichert. Damit können Sie den Kommentarmarker genau dort platzieren, wo Sie ihn benötigen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-blob/_index.md b/de/net/developer-guide/presentation-content/manage-blob/_index.md index 632ff6de5a..502982176d 100644 --- a/de/net/developer-guide/presentation-content/manage-blob/_index.md +++ b/de/net/developer-guide/presentation-content/manage-blob/_index.md @@ -3,24 +3,23 @@ title: Blob verwalten type: docs weight: 10 url: /de/net/manage-blob/ -keywords: "Blob hinzufügen, Blob exportieren, Bild als Blob hinzufügen, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Blob zu PowerPoint-Präsentation in C# oder .NET hinzufügen. Blob exportieren. Bild als Blob hinzufügen" +keywords: "Blob hinzufügen, Blob exportieren, Bild als Blob hinzufügen, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides for .NET" +description: "Blob zu einer PowerPoint-Präsentation in C# oder .NET hinzufügen. Blob exportieren. Bild als Blob hinzufügen" --- ## **Über BLOB** -**BLOB** (**Binary Large Object**) ist in der Regel ein großes Element (Foto, Präsentation, Dokument oder Medien), das in binären Formaten gespeichert ist. +**BLOB** (**Binary Large Object**) ist normalerweise ein großes Element (Foto, Präsentation, Dokument oder Medium), das in binären Formaten gespeichert wird. -Aspose.Slides für .NET ermöglicht es Ihnen, BLOBs für Objekte auf eine Weise zu verwenden, die den Speicherverbrauch verringert, wenn große Dateien beteiligt sind. +Aspose.Slides für .NET ermöglicht die Verwendung von BLOBs für Objekte, um den Speicherverbrauch zu reduzieren, wenn große Dateien beteiligt sind. ## **BLOB verwenden, um den Speicherverbrauch zu reduzieren** ### **Große Datei über BLOB zu einer Präsentation hinzufügen** -[Aspose.Slides](/slides/de/net/) für .NET ermöglicht es Ihnen, große Dateien (in diesem Fall eine große Videodatei) über einen Prozess, der BLOBs umfasst, hinzuzufügen, um den Speicherverbrauch zu reduzieren. - -Dieser C#-Code zeigt Ihnen, wie man eine große Videodatei über den BLOB-Prozess zu einer Präsentation hinzufügt: +[Aspose.Slides](/slides/de/net/) für .NET ermöglicht das Hinzufügen großer Dateien (in diesem Fall einer großen Videodatei) über einen BLOB‑basierten Vorgang, um den Speicherverbrauch zu reduzieren. +Dieser C#‑Code zeigt, wie Sie eine große Videodatei über den BLOB‑Prozess zu einer Präsentation hinzufügen: ```c# const string pathToVeryLargeVideo = "veryLargeVideo.avi"; @@ -29,23 +28,23 @@ using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToVeryLargeVideo, FileMode.Open)) { - // Lassen Sie uns das Video zur Präsentation hinzufügen - wir haben uns für das Verhalten KeepLocked entschieden, da wir nicht beabsichtigen, - // 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, auf die Datei "veryLargeVideo.avi" zuzugreifen. IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddVideoFrame(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 gering + // Speichert die Präsentation. Während eine große Präsentation ausgegeben wird, bleibt + // der Speicherverbrauch während des gesamten Lebenszyklus des pres-Objekts gering. pres.Save("presentationWithLargeVideo.pptx", SaveFormat.Pptx); } } ``` -### **Große Datei über BLOB aus Präsentation exportieren** -Aspose.Slides für .NET ermöglicht es Ihnen, große Dateien (in diesem Fall eine Audio- oder Videodatei) über einen Prozess, der BLOBs umfasst, aus Präsentationen zu exportieren. Zum Beispiel möchten Sie möglicherweise eine große Mediendatei aus einer Präsentation extrahieren, wollen 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. -Dieser C#-Code zeigt die beschriebene Operation: +### **Große Datei über BLOB aus einer Präsentation exportieren** +Aspose.Slides für .NET ermöglicht das Exportieren großer Dateien (z. B. einer Audio‑ oder Videodatei) über einen BLOB‑basierten Vorgang aus Präsentationen. Für 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 das Exportieren der Datei über den BLOB‑Prozess bleibt der Speicherverbrauch gering. +Dieser C#‑Code demonstriert den beschriebenen Vorgang: ```c# const string hugePresentationWithAudiosAndVideosFile = @"Large Video File Test1.pptx"; @@ -57,22 +56,22 @@ LoadOptions loadOptions = new LoadOptions } }; -// Erstellt eine Instanz der Präsentation, sperrt die "hugePresentationWithAudiosAndVideos.pptx"-Datei. +// Erstellt eine Instanz von Presentation, sperrt die "hugePresentationWithAudiosAndVideos.pptx" Datei. using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosFile, loadOptions)) { - // Lassen Sie uns jedes Video in eine Datei speichern. Um einen 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. + // Wir speichern jedes Video in einer Datei. Um hohen Speicherverbrauch zu verhindern, benötigen wir einen Puffer, der verwendet wird + // um die Daten vom Video-Stream der Präsentation zu einem Stream für eine neu erstellte Videodatei zu übertragen. byte[] buffer = new byte[8 * 1024]; - // Iteriert durch die Videos + // Durchläuft die Videos for (var index = 0; index < pres.Videos.Count; index++) { IVideo video = pres.Videos[index]; - // Öffnet den Präsentationsvideostream. Bitte beachten Sie, dass wir absichtlich vermieden haben, Eigenschaften zuzugreifen - // wie video.BinaryData - da diese Eigenschaft ein Byte-Array zurückgibt, das ein vollständiges Video enthält, was dann - // dazu führt, dass Bytes in den Speicher geladen werden. Wir verwenden video.GetStream, das Stream zurückgibt - und das NICHT - // erfordert, dass wir das gesamte Video in den Speicher laden. + // Öffnet den Video-Stream der Präsentation. Bitte beachten Sie, dass wir absichtlich das Zugreifen auf Eigenschaften vermieden haben + // wie video.BinaryData - weil diese Eigenschaft ein Byte-Array zurückgibt, das das gesamte Video enthält, wodurch + // Bytes in den Speicher geladen werden. Wir verwenden video.GetStream, das einen Stream zurückgibt - und NICHT + // erfordert, dass das gesamte Video in den Speicher geladen wird. using (Stream presVideoStream = video.GetStream()) { using (FileStream outputFileStream = File.OpenWrite($"video{index}.avi")) @@ -85,44 +84,44 @@ using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosF } } - // Der Speicherverbrauch bleibt gering, unabhängig von der Größe des Videos oder der Präsentation. + // Der Speicherverbrauch bleibt niedrig, unabhängig von der Größe des Videos oder der Präsentation, } - // Wenn nötig, können Sie die gleichen Schritte für Audiodateien anwenden. + // Falls nötig, können Sie dieselben Schritte für Audiodateien anwenden. } ``` -### **Bild als BLOB in Präsentation hinzufügen** -Mit Methoden aus der [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) Schnittstelle und der [**ImageCollection** ](https://reference.aspose.com/slides/net/aspose.slides/imagecollection) Klasse können Sie ein großes Bild als Stream hinzufügen, um es als BLOB zu behandeln. -Dieser C#-Code zeigt Ihnen, wie Sie ein großes Bild über den BLOB-Prozess hinzufügen können: +### **Bild als BLOB in einer Präsentation hinzufügen** +Mit Methoden des [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection)-Interfaces und der [**ImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/imagecollection)-Klasse können Sie ein großes Bild als Stream hinzufügen, damit es als BLOB behandelt wird. +Dieser C#‑Code zeigt, wie Sie ein großes Bild über den BLOB‑Prozess hinzufügen: ```c# string pathToLargeImage = "large_image.jpg"; -// Erstellt eine neue Präsentation, zu der das Bild hinzugefügt wird. +// Erzeugt eine neue Präsentation, zu der das Bild hinzugefügt wird. using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToLargeImage, FileMode.Open)) { - // Lassen Sie uns das Bild zur Präsentation hinzufügen - wir wählen das Verhalten KeepLocked, da wir nicht - // beabsichtigen, die "largeImage.png"-Datei zuzugreifen. + // Fügen wir das Bild zur Präsentation hinzu - wir wählen das KeepLocked-Verhalten, weil wir + // NICHT beabsichtigen, auf die Datei "largeImage.png" zuzugreifen. IPPImage img = pres.Images.AddImage(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, 300, 200, img); // Speichert die Präsentation. Während eine große Präsentation ausgegeben wird, bleibt der Speicherverbrauch - // während des Lebenszyklus des pres-Objekts gering + // gering während des gesamten Lebenszyklus des pres-Objekts pres.Save("presentationWithLargeImage.pptx", SaveFormat.Pptx); } } ``` -## **Speicher und große Präsentationen** -Typischerweise benötigen Computer viel temporären Speicher, um eine große Präsentation zu laden. 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 wird in diesem C#-Code beschrieben: +Typischerweise benötigen Computer zum Laden einer großen Präsentation 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. +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 C#‑Code beschrieben: ```c# using (Presentation pres = new Presentation("large.pptx")) { @@ -130,12 +129,12 @@ using (Presentation pres = new Presentation("large.pptx")) } ``` -Aber diese Methode verbraucht etwa 1,6 GB temporären Speicher. -### **Eine große Präsentation als BLOB laden** +Doch diese Methode verbraucht etwa 1,6 GB temporären Speicher. -Durch den Prozess, der einen BLOB umfasst, können Sie eine große Präsentation laden und dabei wenig Speicher verwenden. Dieser C#-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 laden und dabei wenig Speicher verbrauchen. Dieser C#‑Code beschreibt die Implementierung, bei der der BLOB‑Prozess verwendet wird, um eine große Präsentationsdatei (large.pptx) zu laden: ```c# LoadOptions loadOptions = new LoadOptions { @@ -152,10 +151,10 @@ using (Presentation pres = new Presentation("large.pptx", loadOptions)) } ``` -### **Ändern Sie den Ordner 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 `TempFilesRootPath` ändern: +### **Ordner für temporäre Dateien ändern** +Wenn der BLOB‑Prozess verwendet wird, erstellt Ihr Computer temporäre Dateien im Standard‑Ordner für temporäre Dateien. Wenn Sie die temporären Dateien in einem anderen Ordner speichern möchten, können Sie die Speichereinstellungen mit `TempFilesRootPath` ändern: ```c# LoadOptions loadOptions = new LoadOptions { @@ -168,8 +167,29 @@ LoadOptions loadOptions = new LoadOptions }; ``` + {{% alert title="Info" color="info" %}} +Wenn Sie `TempFilesRootPath` verwenden, erstellt Aspose.Slides nicht automatisch einen Ordner zum Speichern temporärer Dateien. Sie müssen den Ordner manuell erstellen. +{{% /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 Videodateien werden als BLOB behandelt. Auch die gesamte Präsentationsdatei wird beim Laden oder Speichern BLOB‑verarbeitet. Diese Objekte unterliegen BLOB‑Richtlinien, die es Ihnen ermöglichen, den Speicherverbrauch zu verwalten und bei Bedarf auf temporäre Dateien auszulagern. + +**Wo konfiguriere ich die BLOB‑Verarbeitungsregeln beim Laden einer Präsentation?** + +Verwenden Sie [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) zusammen mit [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/). Dort setzen Sie das In‑Memory‑Limit für BLOBs, erlauben oder verbieten temporäre Dateien, wählen den Root‑Pfad für temporäre Dateien und bestimmen das Verhalten beim Sperren der Quelle. + +**Beeinflussen BLOB‑Einstellungen die Leistung und wie finde ich das Gleichgewicht zwischen Geschwindigkeit und Speicher?** + +Ja. Das Halten von BLOBs im Speicher maximiert die Geschwindigkeit, erhöht jedoch den RAM‑Verbrauch; ein niedrigeres Speicher‑Limit verlagert mehr Arbeiten auf temporäre Dateien, reduziert den RAM‑Verbrauch, verursacht jedoch zusätzlichen I/O. Passen Sie den Schwellenwert [MaxBlobsBytesInMemory](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/maxblobsbytesinmemory/) an, um das richtige Gleichgewicht für Ihre Arbeitslast und Umgebung zu erreichen. + +**Helfen BLOB‑Optionen beim Öffnen extrem großer Präsentationen (z. B. Gigabytes)?** + +Ja. [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/) sind für solche Szenarien konzipiert: Das Aktivieren temporärer Dateien und die Verwendung von Source‑Locking können den Spitzen‑RAM‑Verbrauch erheblich reduzieren und die Verarbeitung sehr großer Decks stabilisieren. -Wenn Sie `TempFilesRootPath` verwenden, erstellt Aspose.Slides nicht automatisch einen Ordner zum Speichern temporärer Dateien. Sie müssen den Ordner manuell erstellen. +**Kann ich BLOB‑Richtlinien beim Laden aus Streams anstelle von Dateisystemdateien 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 Sperrmodus), und temporäre Dateien werden verwendet, wenn erlaubt, sodass der Speicherverbrauch während der Verarbeitung vorhersehbar bleibt. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-hyperlinks/_index.md b/de/net/developer-guide/presentation-content/manage-hyperlinks/_index.md index a2879c964a..66154d9a19 100644 --- a/de/net/developer-guide/presentation-content/manage-hyperlinks/_index.md +++ b/de/net/developer-guide/presentation-content/manage-hyperlinks/_index.md @@ -4,80 +4,79 @@ type: docs weight: 20 url: /de/net/manage-hyperlinks/ keywords: "Hyperlink hinzufügen, PowerPoint-Präsentation, PowerPoint-Hyperlink, Text-Hyperlink, Folien-Hyperlink, Formen-Hyperlink, Bild-Hyperlink, Video-Hyperlink, .NET, C#, Csharp" -description: "Fügen Sie einer PowerPoint-Präsentation in C# oder .NET einen Hyperlink hinzu" +description: "Hyperlink zu einer PowerPoint-Präsentation in C# oder .NET hinzufügen" --- -Ein Hyperlink ist ein Verweis auf ein Objekt oder Daten oder einen Ort in etwas. Dies sind gängige Hyperlinks in PowerPoint-Präsentationen: +Ein Hyperlink ist ein Verweis auf ein Objekt oder Daten oder einen Ort in etwas. Dies sind gängige Hyperlinks in PowerPoint‑Präsentationen: -* Links zu Websites in Texten, Formen oder Medien -* Links zu Folien +* Verknüpfungen zu Websites in Texten, Formen oder Medien +* Verknüpfungen zu Folien -Aspose.Slides für .NET ermöglicht es Ihnen, viele Aufgaben im Zusammenhang mit Hyperlinks in Präsentationen auszuführen. +Aspose.Slides für .NET ermöglicht Ihnen das Ausführen vieler Aufgaben im Zusammenhang mit Hyperlinks in Präsentationen. {{% alert color="primary" %}} -Vielleicht möchten Sie den einfachen, [kostenlosen Online-PowerPoint-Editor von Aspose](https://products.aspose.app/slides/editor) ausprobieren. +Sie möchten vielleicht Aspose Simple, [kostenlosen Online‑PowerPoint‑Editor.](https://products.aspose.app/slides/editor) {{% /alert %}} -## **Hinzufügen von URL-Hyperlinks** +## **Hinzufügen von URL‑Hyperlinks** -### **Hinzufügen von URL-Hyperlinks zu Texten** - -Dieser C#-Code zeigt Ihnen, wie Sie einen Website-Hyperlink zu einem Text hinzufügen: +### **Hinzufügen von URL‑Hyperlinks zu Texten** +Dieser C#‑Code zeigt, wie Sie einem Text einen Website‑Hyperlink hinzufügen: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50, false); shape1.AddTextFrame("Aspose: File Format APIs"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "Mehr als 70 % der Fortune-100-Unternehmen vertrauen Aspose-APIs"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; presentation.Save("presentation-out.pptx", SaveFormat.Pptx); } ``` -### **Hinzufügen von URL-Hyperlinks zu Formen oder Rahmen** -Dieser Beispielcode in C# zeigt Ihnen, wie Sie einen Website-Hyperlink zu einer Form hinzufügen: +### **Hinzufügen von URL‑Hyperlinks zu Formen oder Rahmen** +Dieser C#‑Beispielcode zeigt, wie Sie einer Form einen Website‑Hyperlink hinzufügen: ```c# using (Presentation pres = new Presentation()) { IShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50); shape.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape.HyperlinkClick.Tooltip = "Mehr als 70 % der Fortune-100-Unternehmen vertrauen Aspose-APIs"; + shape.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -### **Hinzufügen von URL-Hyperlinks zu Medien** -Aspose.Slides ermöglicht es Ihnen, Hyperlinks zu Bildern, Audio- und Videodateien hinzuzufügen. +### **Hinzufügen von URL‑Hyperlinks zu Medien** -Dieser Beispielcode zeigt Ihnen, wie Sie einen Hyperlink zu einem **Bild** hinzufügen: +Aspose.Slides ermöglicht das Hinzufügen von Hyperlinks zu Bildern, Audio‑ und Videodateien. +Dieser Beispielcode zeigt, wie Sie einem **Bild** einen Hyperlink hinzufügen: ```c# using (Presentation pres = new Presentation()) { - // Fügen Sie das Bild zur Präsentation hinzu + // Fügt Bild zur Präsentation hinzu IPPImage image = pres.Images.AddImage(File.ReadAllBytes("image.png")); - // Erstellt einen Bilderrahmen auf Folie 1 basierend auf dem zuvor hinzugefügten Bild + // Erstellt Bildrahmen auf Folie 1 basierend auf dem zuvor hinzugefügten Bild IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, image); pictureFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - pictureFrame.HyperlinkClick.Tooltip = "Mehr als 70 % der Fortune-100-Unternehmen vertrauen Aspose-APIs"; + pictureFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` - Dieser Beispielcode zeigt Ihnen, wie Sie einen Hyperlink zu einer **Audiodatei** hinzufügen: +Dieser Beispielcode zeigt, wie Sie einer **Audiodatei** einen Hyperlink hinzufügen: ```c# using (Presentation pres = new Presentation()) { @@ -85,14 +84,14 @@ using (Presentation pres = new Presentation()) IAudioFrame audioFrame = pres.Slides[0].Shapes.AddAudioFrameEmbedded(10, 10, 100, 100, audio); audioFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - audioFrame.HyperlinkClick.Tooltip = "Mehr als 70 % der Fortune-100-Unternehmen vertrauen Aspose-APIs"; + audioFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` - Dieser Beispielcode zeigt Ihnen, wie Sie einen Hyperlink zu einem **Video** hinzufügen: +Dieser Beispielcode zeigt, wie Sie einem **Video** einen Hyperlink hinzufügen: ``` csharp using (Presentation pres = new Presentation()) { @@ -100,24 +99,24 @@ using (Presentation pres = new Presentation()) IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 100, 100, video); videoFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - videoFrame.HyperlinkClick.Tooltip = "Mehr als 70 % der Fortune-100-Unternehmen vertrauen Aspose-APIs"; + videoFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Tipp" color="primary" %}} -Vielleicht möchten Sie *[OLE verwalten](https://docs.aspose.com/slides/net/manage-ole/)* ansehen. +{{% alert title="Tipp" color="primary" %}} -{{% /alert %}} +Sie möchten vielleicht *[OLE verwalten](https://docs.aspose.com/slides/net/manage-ole/)* sehen. -## **Verwendung von Hyperlinks zur Erstellung eines Inhaltsverzeichnisses** +{{% /alert %}} -Da Hyperlinks es ermöglichen, Verweise auf Objekte oder Orte hinzuzufügen, können Sie sie verwenden, um ein Inhaltsverzeichnis zu erstellen. +## **Verwendung von Hyperlinks zum Erstellen eines Inhaltsverzeichnisses** -Dieser Beispielcode zeigt Ihnen, wie Sie ein Inhaltsverzeichnis mit Hyperlinks erstellen: +Da Hyperlinks Verweise auf Objekte oder Orte ermöglichen, können Sie sie zum Erstellen eines Inhaltsverzeichnisses verwenden. +Dieser Beispielcode zeigt, wie Sie ein Inhaltsverzeichnis mit Hyperlinks erstellen: ```c# using (var presentation = new Presentation()) { @@ -132,10 +131,10 @@ using (var presentation = new Presentation()) var paragraph = new Paragraph(); paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - paragraph.Text = "Titel der Folie 2 .......... "; + paragraph.Text = "Title of slide 2 .......... "; var linkPortion = new Portion(); - linkPortion.Text = "Seite 2"; + linkPortion.Text = "Page 2"; linkPortion.PortionFormat.HyperlinkManager.SetInternalHyperlinkClick(secondSlide); paragraph.Portions.Add(linkPortion); @@ -145,64 +144,64 @@ using (var presentation = new Presentation()) } ``` -## **Formatierung von Hyperlinks** -### **Farbe** +## **Formatieren von Hyperlinks** -Mit der [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource)-Eigenschaft in der [IHyperlink](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink)-Schnittstelle können Sie die Farbe für Hyperlinks festlegen und auch die Farbinformationen von Hyperlinks abrufen. Die Funktion wurde erstmals in PowerPoint 2019 eingeführt, sodass Änderungen, die die Eigenschaft betreffen, nicht auf ältere PowerPoint-Versionen zutreffen. +### **Farbe** -Dieser Beispielcode demonstriert eine Operation, bei der Hyperlinks mit unterschiedlichen Farben zur gleichen Folie hinzugefügt wurden: +Mit der [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource)‑Eigenschaft im [IHyperlink](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink)‑Interface können Sie die Farbe von Hyperlinks festlegen und auch Farb‑Informationen aus Hyperlinks abrufen. Die Funktion wurde erstmals in PowerPoint 2019 eingeführt, sodass Änderungen an dieser Eigenschaft für ältere PowerPoint‑Versionen nicht gelten. +Dieser Beispielcode demonstriert einen Vorgang, bei dem Hyperlinks mit unterschiedlichen Farben zur gleichen Folie hinzugefügt wurden: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 450, 50, false); - shape1.AddTextFrame("Dies ist ein Beispiel für einen farbigen Hyperlink."); + shape1.AddTextFrame("This is a sample of colored hyperlink."); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.ColorSource = HyperlinkColorSource.PortionFormat; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.FillType = FillType.Solid; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.SolidFillColor.Color = Color.Red; IAutoShape shape2 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 450, 50, false); - shape2.AddTextFrame("Dies ist ein Beispiel für einen normalen Hyperlink."); + shape2.AddTextFrame("This is a sample of usual hyperlink."); shape2.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); presentation.Save("presentation-out-hyperlink.pptx", SaveFormat.Pptx); } ``` -### **Ton** -Aspose.Slides bietet diese Eigenschaften, um einen Hyperlink mit einem Ton zu betonen: +### **Sound** + +Aspose.Slides bietet diese Eigenschaften, um einen Hyperlink mit einem Sound zu versehen: - [IHyperlink.Sound](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/sound) - [IHyperlink.StopSoundOnClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/stopsoundonclick) -#### **Hyperlink-Sound hinzufügen** - -Dieser C#-Code zeigt Ihnen, wie Sie den Hyperlink festlegen, der einen Ton abspielt und ihn mit einem anderen Hyperlink stoppt: +#### **Hyperlink‑Sound hinzufügen** +Dieser C#‑Code zeigt, wie Sie einen Hyperlink festlegen, der einen Sound abspielt, und ihn mit einem anderen Hyperlink stoppt: ```c# using (Presentation pres = new Presentation()) { - // Fügt der Audio-Sammlung der Präsentation eine neue Audiodatei hinzu + // Fügt neue Audiodatei zur Audiosammlung der Präsentation hinzu IAudio playSound = pres.Audios.AddAudio(File.ReadAllBytes("sampleaudio.wav")); ISlide firstSlide = pres.Slides[0]; - // Fügt eine neue Form mit dem Hyperlink zur nächsten Folie hinzu + // Fügt neue Form mit Hyperlink zur nächsten Folie hinzu IShape firstShape = firstSlide.Shapes.AddAutoShape(ShapeType.SoundButton, 100, 100, 100, 50); firstShape.HyperlinkClick = Hyperlink.NextSlide; - // Überprüft den Hyperlink auf "Kein Ton" + // Prüft den Hyperlink auf "Kein Ton" if (!firstShape.HyperlinkClick.StopSoundOnClick && firstShape.HyperlinkClick.Sound == null) { - // Setzt den Hyperlink, der den Ton abspielt + // Setzt den Hyperlink, der Ton abspielt firstShape.HyperlinkClick.Sound = playSound; } - // Fügt eine leere Folie hinzu + // Fügt die leere Folie hinzu ISlide secondSlide = pres.Slides.AddEmptySlide(firstSlide.LayoutSlide); - // Fügt eine neue Form mit dem NoAction-Hyperlink hinzu + // Fügt neue Form mit dem NoAction-Hyperlink hinzu IShape secondShape = secondSlide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 100, 50); secondShape.HyperlinkClick = Hyperlink.NoAction; @@ -213,32 +212,32 @@ using (Presentation pres = new Presentation()) } ``` -#### **Hyperlink-Sound extrahieren** -Dieser C#-Code zeigt Ihnen, wie Sie den im Hyperlink verwendeten Ton extrahieren: +#### **Hyperlink‑Sound extrahieren** +Dieser C#‑Code zeigt, wie Sie den in einem Hyperlink verwendeten Sound extrahieren: ```c# using (Presentation pres = new Presentation("hyperlink-sound.pptx")) { ISlide firstSlide = pres.Slides[0]; - // Ruft den ersten Shape-Hyperlink ab + // Ermittelt den Hyperlink der ersten Form IHyperlink link = firstSlide.Shapes[0].HyperlinkClick; if (link.Sound != null) { - // Extrahiert den Hyperlink-Sound in ein Byte-Array + // Extrahiert den Hyperlink Sound in ein Byte-Array byte[] audioData = link.Sound.BinaryData; } } ``` -## **Entfernen von Hyperlinks in Präsentationen** -### **Entfernen von Hyperlinks von Texten** +## **Entfernen von Hyperlinks in Präsentationen** -Dieser C#-Code zeigt Ihnen, wie Sie den Hyperlink von einem Text in einer Präsentationsfolie entfernen: +### **Entfernen von Hyperlinks aus Texten** +Dieser C#‑Code zeigt, wie Sie den Hyperlink aus einem Text in einer Präsentationsfolie entfernen: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -262,10 +261,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **Entfernen von Hyperlinks von Formen oder Rahmen** -Dieser C#-Code zeigt Ihnen, wie Sie den Hyperlink von einer Form in einer Präsentationsfolie entfernen: +### **Entfernen von Hyperlinks aus Formen oder Rahmen** +Dieser C#‑Code zeigt, wie Sie den Hyperlink aus einer Form in einer Präsentationsfolie entfernen: ``` csharp using (Presentation pres = new Presentation("demo.pptx")) { @@ -278,17 +277,17 @@ using (Presentation pres = new Presentation("demo.pptx")) } ``` -## **Veränderlicher Hyperlink** -Die [Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink)-Klasse ist veränderlich. Mit dieser Klasse können Sie die Werte für diese Eigenschaften ändern: +## **Veränderbarer Hyperlink** + +Die [Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink)‑Klasse ist veränderbar. Mit dieser Klasse können Sie die Werte folgender Eigenschaften ändern: - [IHyperlink.TargetFrame](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/targetframe) - [IHyperlink.Tooltip](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/tooltip) - [IHyperlink.History](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/history) - [IHyperlink.HighlightClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/highlightclick) -Der Codeausschnitt zeigt Ihnen, wie Sie einen Hyperlink zu einer Folie hinzufügen und später dessen Tooltip bearbeiten: - +Der Codeausschnitt zeigt, wie Sie einer Folie einen Hyperlink hinzufügen und später dessen Tooltip bearbeiten: ```c# using (Presentation presentation = new Presentation()) { @@ -298,7 +297,7 @@ using (Presentation presentation = new Presentation()) shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "Mehr als 70 % der Fortune-100-Unternehmen vertrauen Aspose-APIs"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; @@ -306,17 +305,32 @@ using (Presentation presentation = new Presentation()) } ``` + ## **Unterstützte Eigenschaften in IHyperlinkQueries** -Sie können auf IHyperlinkQueries von einer Präsentation, Folie oder Text zugreifen, für den der Hyperlink definiert ist. +Sie können IHyperlinkQueries aus einer Präsentation, Folie oder einem Text abrufen, für den der Hyperlink definiert ist. - [IPresentation.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/properties/hyperlinkqueries) - [IBaseSlide.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ibaseslide/properties/hyperlinkqueries) - [ITextFrame.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/itextframe/properties/hyperlinkqueries) -Die IHyperlinkQueries-Klasse unterstützt diese Methoden und Eigenschaften: +Die Klasse IHyperlinkQueries unterstützt diese Methoden und Eigenschaften: - [IHyperlinkQueries.GetHyperlinkClicks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkclicks) - [IHyperlinkQueries.GetHyperlinkMouseOvers();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkmouseovers) - [IHyperlinkQueries.GetAnyHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/getanyhyperlinks) -- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) \ No newline at end of file +- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) + +## **FAQ** + +**Wie kann ich eine interne Navigation nicht nur zu einer Folie, sondern zu einem „Abschnitt“ oder zur ersten Folie eines Abschnitts erstellen?** + +Abschnitte in PowerPoint sind Gruppierungen von Folien; die Navigation zielt technisch auf eine bestimmte Folie. Um „zu einem Abschnitt zu navigieren“, verlinken Sie typischerweise zu dessen erster Folie. + +**Kann ich einen Hyperlink an Elemente der Master‑Folie anhängen, damit er auf allen Folien funktioniert?** + +Ja. Elemente von Master‑Folie und Layout unterstützen Hyperlinks. Solche Links erscheinen auf den Kind‑Folien und sind während der Bildschirmpräsentation anklickbar. + +**Werden Hyperlinks beim Exportieren nach PDF, HTML, Bildern oder Video erhalten bleiben?** + +In [PDF](/slides/de/net/convert-powerpoint-to-pdf/) und [HTML](/slides/de/net/convert-powerpoint-to-html/) ja – Links werden im Allgemeinen beibehalten. Beim Export nach [Bildern](/slides/de/net/convert-powerpoint-to-png/) und [Video](/slides/de/net/convert-powerpoint-to-video/) geht die Klick‑Fähigkeit verloren, da Raster‑Frames bzw. Video keine Hyperlinks unterstützen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md b/de/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md index a98eef2f6e..c218f422bb 100644 --- a/de/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md +++ b/de/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md @@ -1,33 +1,43 @@ --- -title: Audio-Frame - Audio in PowerPoint mit C# einfügen und extrahieren -linktitle: Audio-Frame +title: Audio in Präsentationen mit C# verwalten +linktitle: Audio‑Frame type: docs weight: 10 url: /de/net/audio-frame/ -keywords: "Audio-Vorschaubild, Audio hinzufügen, Audio-Frame, Audio-Eigenschaften, Audio extrahieren, C#, Csharp, Aspose.Slides für .NET" -description: "Audio zu PowerPoint-Präsentationen in C# oder .NET hinzufügen" +keywords: +- Audio +- Audio‑Frame +- Miniaturansicht +- Audio hinzufügen +- Audioeigenschaften +- Audiooptionen +- Audio extrahieren +- .NET +- C# +- Aspose.Slides +description: "Erstellen und steuern Sie Audio‑Frames in Aspose.Slides für .NET—C#‑Beispiele zum Einbetten, Zuschneiden, Schleifen und Konfigurieren der Wiedergabe in PPT-, PPTX‑ und ODP‑Präsentationen." --- -## **Audio-Frame erstellen** -Aspose.Slides für .NET ermöglicht es Ihnen, Audiodateien in Folien hinzuzufügen. Die Audiodateien werden als Audio-Frames in die Folien eingebettet. +## **Audio-Frames erstellen** -1. Erstellen Sie eine Instanz der [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)Klasse. -2. Holen Sie sich eine Referenz auf die Folie über ihren Index. -3. Laden Sie den Audiodateistream, den Sie in die Folie einbetten möchten. -4. Fügen Sie den eingebetteten Audio-Frame (der die Audiodatei enthält) zur Folie hinzu. -5. Setzen Sie [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) und `Volume`, die vom [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) Objekt bereitgestellt werden. -6. Speichern Sie die modifizierte Präsentation. +Aspose.Slides für .NET ermöglicht es Ihnen, Audiodateien zu Folien hinzuzufügen. Die Audiodateien werden als Audio-Frames in die Folien eingebettet. -Dieser C#-Code zeigt Ihnen, wie Sie einen eingebetteten Audio-Frame zu einer Folie hinzufügen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Holen Sie sich über den Index den Verweis auf eine Folie. +3. Laden Sie den Audiodatei‑Stream, den Sie in die Folie einbetten möchten. +4. Fügen Sie den eingebetteten Audio‑Frame (der die Audiodatei enthält) zur Folie hinzu. +5. Setzen Sie [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) und `Volume`, die vom [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe)-Objekt bereitgestellt werden. +6. Speichern Sie die geänderte Präsentation. +Dieser C#‑Code zeigt, wie Sie einen eingebetteten Audio‑Frame zu einer Folie hinzufügen: ```c# -// Erstellt eine Präsentationsklasse, die eine Präsentationsdatei darstellt +// Instanziiert eine Präsentationsklasse, die eine Präsentationsdatei repräsentiert using (Presentation pres = new Presentation()) { - // Ruft die erste Folie ab + // Lädt die erste Folie ISlide sld = pres.Slides[0]; - // Lädt die wav-Audiodatei in einen Stream + // Lädt die WAV-Audiodatei in einen Stream FileStream fstr = new FileStream("sampleaudio.wav", FileMode.Open, FileAccess.Read); // Fügt den Audio-Frame hinzu @@ -42,18 +52,18 @@ using (Presentation pres = new Presentation()) } ``` -## **Thumbnail des Audio-Frames ändern** -Wenn Sie eine Audiodatei zu einer Präsentation hinzufügen, erscheint der Audio-Frame mit einem standardmäßigen Standardbild (siehe das Bild im Abschnitt unten). Sie können das Thumbnail des Audio-Frames ändern (setzen Sie Ihr bevorzugtes Bild). +## **Audio‑Frame‑Vorschaubild ändern** -Dieser C#-Code zeigt Ihnen, wie Sie das Thumbnail oder Vorschau-Bild eines Audio-Frames ändern: +Wenn Sie einer Präsentation eine Audiodatei hinzufügen, erscheint das Audio als Frame mit einer Standard‑Standardgrafik (siehe Bild im nachfolgenden Abschnitt). Sie können das Vorschaubild des Audio‑Frames ändern (ein bevorzugtes Bild festlegen). +Dieser C#‑Code zeigt, wie Sie das Vorschaubild bzw. die Vorschau­grafik eines Audio‑Frames ändern: ```c# using (var presentation = new Presentation()) { var slide = presentation.Slides[0]; - // Fügt einen Audio-Frame zur Folie mit einer bestimmten Position und Größe hinzu. + // Fügt der Folie einen Audio-Frame mit einer angegebenen Position und Größe hinzu. var audioStream = new FileStream("sample2.mp3", FileMode.Open, FileAccess.Read); var audioFrame = slide.Shapes.AddAudioFrameEmbedded(150, 100, 50, 50, audioStream); audioStream.Dispose(); @@ -66,89 +76,154 @@ using (var presentation = new Presentation()) // Setzt das Bild für den Audio-Frame. audioFrame.PictureFormat.Picture.Image = audioImage; // <----- - //Speichert die modifizierte Präsentation auf der Festplatte + //Speichert die geänderte Präsentation auf die Festplatte presentation.Save("example_out.pptx", SaveFormat.Pptx); } ``` -## **Audio-Wiedergabeoptionen ändern** -Aspose.Slides für .NET ermöglicht es Ihnen, Optionen zu ändern, die die Wiedergabe oder die Eigenschaften eines Audios steuern. Zum Beispiel können Sie die Lautstärke eines Audios anpassen, das Audio im Loop abspielen oder das Audio-Symbol sogar ausblenden. +## **Audio‑Wiedergabeoptionen ändern** -Das **Audio-Optionen**-Fenster in Microsoft PowerPoint: +Aspose.Slides für .NET ermöglicht es Ihnen, Optionen zu ändern, die die Audiowiedergabe oder -eigenschaften steuern. Beispielsweise können Sie die Lautstärke anpassen, das Audio in einer Schleife abspielen oder das Audiosymbol ausblenden. + +Das **Audio‑Optionen**‑Fenster in Microsoft PowerPoint: ![example1_image](audio_frame_0.png) -PowerPoint-Audiooptionen, die den Eigenschaften von Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) entsprechen: +PowerPoint‑**Audio‑Optionen**, die den Aspose.Slides‑[AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe)-Eigenschaften entsprechen: + +- **Start**‑Dropdown‑Menü entspricht der [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode)-Eigenschaft +- **Volume** entspricht der [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume)-Eigenschaft +- **Play Across Slides** entspricht der [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides)-Eigenschaft +- **Loop until Stopped** entspricht der [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode)-Eigenschaft +- **Hide During Show** entspricht der [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing)-Eigenschaft +- **Rewind after Playing** entspricht der [AudioFrame.RewindAudio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio)-Eigenschaft + +PowerPoint‑**Bearbeitungs**‑Optionen, die den Aspose.Slides‑[AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe)-Eigenschaften entsprechen: -- Die Dropdown-Liste **Start** der Audiooptionen entspricht der [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode) Eigenschaft -- Die **Lautstärke**-Option der Audiooptionen entspricht der [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume) Eigenschaft -- **Über Folien abspielen** der Audiooptionen entspricht der [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides) Eigenschaft -- **Schleife bis zum Stoppen** der Audiooptionen entspricht der [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode) Eigenschaft -- **Während der Präsentation ausblenden** der Audiooptionen entspricht der [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing) Eigenschaft -- **Nach dem Abspielen zurückspulen** der Audiooptionen entspricht der [AudioFrame.RewindAudio ](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio) Eigenschaft +- **Fade In** entspricht der [AudioFrame.FadeInDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeinduration/)-Eigenschaft +- **Fade Out** entspricht der [AudioFrame.FadeOutDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeoutduration/)-Eigenschaft +- **Trim Audio Start Time** entspricht der [AudioFrame.TrimFromStart](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromstart/)-Eigenschaft +- **Trim Audio End Time** entspricht dem Wert der Audiodauer minus dem Wert von [AudioFrame.TrimFromEnd](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromend/)-Eigenschaft -So ändern Sie die Audio-Wiedergabeoptionen: +Der PowerPoint‑**Volume‑Regler** im Audiosteuerungs‑Panel entspricht der [AudioFrame.VolumeValue](https://reference.aspose.com/slides/net/aspose.slides/audioframe/volumevalue/)-Eigenschaft. Er ermöglicht die Einstellung der Lautstärke in Prozent. -1. [Erstellen](#create-audio-frame) oder holen Sie sich den Audio-Frame. -2. Setzen Sie neue Werte für die Audio-Frame-Eigenschaften, die Sie anpassen möchten. -3. Speichern Sie die modifizierte PowerPoint-Datei. +So ändern Sie die Audio‑Wiedergabeoptionen: -Dieser C#-Code demonstriert eine Operation, bei der die Optionen eines Audios angepasst werden: +1. [Create](#create-audio-frame) oder holen Sie den Audio‑Frame. +2. Setzen Sie neue Werte für die Audio‑Frame‑Eigenschaften, die Sie anpassen möchten. +3. Speichern Sie die geänderte PowerPoint‑Datei. +Dieser C#‑Code demonstriert einen Vorgang, bei dem die Optionen eines Audios angepasst werden: ``` csharp using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) { - // Ruft die AudioFrame-Gestalt ab + // Holt das AudioFrame-Shape AudioFrame audioFrame = (AudioFrame)pres.Slides[0].Shapes[0]; - // Setzt den Wiedergabemodus auf klicken + // Setzt den Wiedergabemodus auf Klick audioFrame.PlayMode = AudioPlayModePreset.OnClick; - // Setzt die Lautstärke auf niedrig + // Setzt die Lautstärke auf Niedrig audioFrame.Volume = AudioVolumeMode.Low; - // Setzt das Audio so, dass es über Folien abgespielt wird + // Setzt das Audio auf Wiedergabe über Folien hinweg audioFrame.PlayAcrossSlides = true; // Deaktiviert die Schleife für das Audio audioFrame.PlayLoopMode = false; - // Blendet den AudioFrame während der Diashow aus + // Versteckt das AudioFrame während der Vorführung audioFrame.HideAtShowing = true; - // Spult das Audio nach dem Abspielen zurück + // Spult das Audio nach dem Abspielen zurück zum Anfang audioFrame.RewindAudio = true; - // Speichert die PowerPoint-Datei auf der Festplatte + // Speichert die PowerPoint-Datei auf die Festplatte pres.Save("AudioFrameEmbed_changed.pptx", SaveFormat.Pptx); } ``` + +Dieses C#‑Beispiel zeigt, wie man einen neuen Audio‑Frame mit eingebettetem Audio hinzufügt, ihn zuschneidet und die Einblend‑Dauern festlegt: +```c# +using (Presentation pres = new Presentation()) +{ + ISlide slide = pres.Slides[0]; + + byte[] audioData = File.ReadAllBytes("sampleaudio.mp3"); + IAudio audio = pres.Audios.AddAudio(audioData); + IAudioFrame audioFrame = slide.Shapes.AddAudioFrameEmbedded(50, 50, 100, 100, audio); + + // Setzt den Trimm-Startversatz auf 1.5 Sekunden + audioFrame.TrimFromStart = 1500f; + // Setzt den Trimm-Endversatz auf 2 Sekunden + audioFrame.TrimFromEnd = 2000f; + + // Setzt die Einblend-Dauer auf 200 ms + audioFrame.FadeInDuration = 200f; + // Setzt die Ausblend-Dauer auf 500 ms + audioFrame.FadeOutDuration = 500f; + + pres.Save("AudioFrameTrimFade_out.pptx", SaveFormat.Pptx); +} +``` + + +Der folgende Code‑Abschnitt zeigt, wie man einen Audio‑Frame mit eingebettetem Audio abruft und die Lautstärke auf 85 % setzt: +```c# +using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) +{ + // Holt das Audio-Frame-Shape + IAudioFrame audioFrame = (IAudioFrame)pres.Slides[0].Shapes[0]; + + // Setzt die Audiolautstärke auf 85% + audioFrame.VolumeValue = 85f; + + pres.Save("AudioFrameValue_out.pptx", SaveFormat.Pptx); +} +``` + + ## **Audio extrahieren** -Aspose.Slides für .NET ermöglicht es Ihnen, den Ton, der in Folienübergängen verwendet wird, zu extrahieren. Zum Beispiel können Sie den Ton, der in einer bestimmten Folie verwendet wird, extrahieren. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse und laden Sie die Präsentation, die die Audiodatei enthält. -2. Holen Sie sich eine Referenz auf die entsprechende Folie über ihren Index. -3. Greifen Sie auf die Diashowübergänge für die Folie zu. -4. Extrahieren Sie den Ton in Byte-Daten. +Aspose.Slides für .NET ermöglicht es Ihnen, den in Folienübergängen verwendeten Klang zu extrahieren. Beispielsweise können Sie den Klang extrahieren, der in einer bestimmten Folie verwendet wird. -Dieser C#-Code zeigt Ihnen, wie Sie die in einer Folie verwendete Audiodatei extrahieren: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse und laden Sie die Präsentation, die das Audio enthält. +2. Holen Sie sich über den Index den Verweis auf die betreffende Folie. +3. Greifen Sie auf die Folien‑Übergänge der Folie zu. +4. Extrahieren Sie den Klang als Byte‑Daten. +Dieser C#‑Code zeigt, wie Sie das in einer Folie verwendete Audio extrahieren: ```c# string presName = "AudioSlide.pptx"; -// Erstellt eine Präsentationsklasse, die eine Präsentationsdatei darstellt +// Instanziiert eine Presentation-Klasse, die eine Präsentationsdatei repräsentiert Presentation pres = new Presentation(presName); // Greift auf die Folie zu ISlide slide = pres.Slides[0]; -// Ruft die Diashowübergangseffekte für die Folie ab +// Ermittelt die Folienübergangseffekte für die Folie ISlideShowTransition transition = slide.SlideShowTransition; -//Extrahiert den Ton in ein Byte-Array +//Extrahiert den Sound in ein Byte-Array byte[] audio = transition.Sound.BinaryData; -System.Console.WriteLine("Länge: " + audio.Length); -``` \ No newline at end of file +System.Console.WriteLine("Length: " + audio.Length); +``` + + +## **FAQ** + +**Kann ich dasselbe Audio‑Asset in mehreren Folien wiederverwenden, ohne die Dateigröße zu erhöhen?** + +Ja. Fügen Sie das Audio einmal zur gemeinsam genutzten [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) der Präsentation hinzu und erstellen Sie weitere Audio‑Frames, die auf dieses vorhandene Asset verweisen. Dadurch werden Mediendaten nicht dupliziert und die Präsentationsgröße bleibt kontrollierbar. + +**Kann ich den Klang in einem bestehenden Audio‑Frame ersetzen, ohne die Form neu zu erstellen?** + +Ja. Für einen verknüpften Klang aktualisieren Sie den [link path](https://reference.aspose.com/slides/net/aspose.slides/audioframe/linkpathlong/) auf die neue Datei. Für einen eingebetteten Klang tauschen Sie das [embedded audio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/embeddedaudio/)-Objekt gegen ein anderes aus der [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) der Präsentation aus. Die Formatierung des Frames und die meisten Wiedergabeeinstellungen bleiben erhalten. + +**Ändert das Trimmen die zugrunde liegenden Audiodaten, die in der Präsentation gespeichert sind?** + +Nein. Das Trimmen passt nur die Wiedergabegrenzen an. Die ursprünglichen Audiodaten bleiben unverändert und über das eingebettete Audio bzw. die Audio‑Collection der Präsentation zugänglich. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-media-files/flash/_index.md b/de/net/developer-guide/presentation-content/manage-media-files/flash/_index.md index 1c529d4853..d9af1b4317 100644 --- a/de/net/developer-guide/presentation-content/manage-media-files/flash/_index.md +++ b/de/net/developer-guide/presentation-content/manage-media-files/flash/_index.md @@ -7,9 +7,8 @@ keywords: "Flash extrahieren, PowerPoint-Präsentation, C#, Csharp, Aspose.Slide description: "Flash-Objekt aus PowerPoint-Präsentation in C# oder .NET extrahieren" --- -## **Flash-Objekte aus Präsentationen extrahieren** -Aspose.Slides für .NET bietet eine Möglichkeit, Flash-Objekte aus Präsentationen zu extrahieren. Sie können die Flash-Steuerung nach Name zugreifen und sie aus der Präsentation extrahieren, einschließlich der Speicherung von SWF-Objektdaten. - +## **Flash-Objekte aus einer Präsentation extrahieren** +Aspose.Slides für .NET bietet eine Möglichkeit, Flash-Objekte aus einer Präsentation zu extrahieren. Sie können die Flash-Steuerung nach Namen abrufen und sie aus der Präsentation extrahieren sowie die SWF-Objektdaten speichern. ```c# using (Presentation pres = new Presentation("withFlash.pptm")) { @@ -23,4 +22,23 @@ using (Presentation pres = new Presentation("withFlash.pptm")) } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Welche Präsentationsformate werden beim Extrahieren von Flash-Inhalten unterstützt?** + +[Aspose.Slides unterstützt](/slides/de/net/supported-file-formats/) die wichtigsten PowerPoint-Formate wie PPT und PPTX, da es diese Container laden und auf deren Steuerelemente zugreifen kann, einschließlich Flash-bezogener ActiveX-Elemente. + +**Kann ich eine Präsentation mit Flash nach HTML5 konvertieren und die Flash-Interaktivität beibehalten?** + +Nein. Aspose.Slides führt keinen SWF-Inhalt aus und konvertiert dessen Interaktivität nicht. Obwohl der Export zu [HTML](/slides/de/net/convert-powerpoint-to-html/)/[HTML5](/slides/de/net/export-to-html5/) unterstützt wird, wird Flash in modernen Browsern wegen fehlender Unterstützung nicht abgespielt. Der empfohlene Weg besteht darin, Flash vor dem Export durch Alternativen wie Video oder HTML5-Animationen zu ersetzen. + +**Wird aus Sicherheitsperspektive von Aspose.Slides SWF-Dateien beim Lesen einer Präsentation ausgeführt?** + +Nein. Aspose.Slides behandelt Flash als binäre Daten, die in die Datei eingebettet sind, und führt während der Verarbeitung keinen SWF-Inhalt aus. + +**Wie sollte ich Präsentationen behandeln, die Flash zusammen mit anderen eingebetteten Dateien über OLE enthalten?** + +Aspose.Slides unterstützt das [Extrahieren eingebetteter OLE-Objekte](/slides/de/net/manage-ole/), sodass Sie alle zugehörigen eingebetteten Inhalte in einem Durchlauf verarbeiten können, wobei Flash-Steuerungen und andere OLE-eingebettete Dokumente gemeinsam behandelt werden. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-media-files/image/_index.md b/de/net/developer-guide/presentation-content/manage-media-files/image/_index.md index bf14a7e045..201cbfc257 100644 --- a/de/net/developer-guide/presentation-content/manage-media-files/image/_index.md +++ b/de/net/developer-guide/presentation-content/manage-media-files/image/_index.md @@ -3,38 +3,56 @@ title: Bild type: docs weight: 10 url: /de/net/image/ -keywords: "Bild hinzufügen, Foto hinzufügen, PowerPoint-Präsentation, EMF, SVG, C#, Csharp, Aspose.Slides für .NET" -description: "Bild zu PowerPoint-Folie oder Präsentation in C# oder .NET hinzufügen" +keywords: +- Bild hinzufügen +- Grafik hinzufügen +- Bitmap hinzufügen +- Bild ersetzen +- Grafik ersetzen +- aus dem Web +- Hintergrund +- PNG hinzufügen +- JPG hinzufügen +- SVG hinzufügen +- EMF hinzufügen +- WMF hinzufügen +- TIFF hinzufügen +- PowerPoint +- OpenDocument +- Präsentation +- .NET +- C# +- Aspose.Slides +description: "Vereinfachen Sie die Bildverwaltung in PowerPoint und OpenDocument mit Aspose.Slides für .NET, optimieren Sie die Leistung und automatisieren Sie Ihren Arbeitsablauf." --- ## **Bilder in Folien in Präsentationen** -Bilder machen Präsentationen ansprechender und interessanter. In Microsoft PowerPoint können Sie Bilder von einer Datei, dem Internet oder anderen Orten auf Folien einfügen. Ebenso ermöglicht Aspose.Slides das Hinzufügen von Bildern zu Folien in Ihren Präsentationen über verschiedene Verfahren. +Bilder machen Präsentationen ansprechender und interessanter. In Microsoft PowerPoint können Sie Bilddateien aus einer Datei, dem Internet oder anderen Quellen in Folien einfügen. Ähnlich ermöglicht Aspose.Slides das Hinzufügen von Bildern zu Folien in Ihren Präsentationen auf verschiedene Weise. -{{% alert title="Tipp" color="primary" %}} +{{% alert title="Tipp" color="primary" %}} -Aspose bietet kostenlose Konverter—[JPEG nach PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) und [PNG nach PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)—die es den Menschen ermöglichen, schnell Präsentationen aus Bildern zu erstellen. +Aspose stellt kostenlose Konverter—[JPEG to PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) und [PNG to PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)—zur Verfügung, mit denen Sie schnell Präsentationen aus Bildern erstellen können. {{% /alert %}} {{% alert title="Info" color="info" %}} -Wenn Sie ein Bild als Rahmenobjekt hinzufügen möchten—insbesondere wenn Sie planen, Standardformatierungsoptionen zu verwenden, um dessen Größe zu ändern, Effekte hinzuzufügen usw.—sehen Sie sich [Bildrahmen](https://docs.aspose.com/slides/net/picture-frame/) an. +Wenn Sie ein Bild als Rahmenobjekt hinzufügen möchten – insbesondere wenn Sie planen, Standardformatierungsoptionen zu verwenden, um seine Größe zu ändern, Effekte hinzuzufügen usw. – siehe [Picture Frame](https://docs.aspose.com/slides/net/picture-frame/). {{% /alert %}} {{% alert title="Hinweis" color="warning" %}} -Sie können Eingabe-/Ausgabeoperationen einrichten, die Bilder und PowerPoint-Präsentationen betreffen, um ein Bild von einem Format in ein anderes zu konvertieren. Siehe diese Seiten: konvertieren [Bild zu JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); konvertieren [JPG zu Bild](https://products.aspose.com/slides/net/conversion/jpg-to-image/); konvertieren [JPG zu PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), konvertieren [PNG zu JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); konvertieren [PNG zu SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), konvertieren [SVG zu PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). +Sie können Ein‑ und Ausgabevorgänge mit Bildern und PowerPoint‑Präsentationen manipulieren, um ein Bild von einem Format in ein anderes zu konvertieren. Siehe diese Seiten: Konvertieren Sie [Bild zu JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); konvertieren Sie [JPG zu Bild](https://products.aspose.com/slides/net/conversion/jpg-to-image/); konvertieren Sie [JPG zu PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), konvertieren Sie [PNG zu JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); konvertieren Sie [PNG zu SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), konvertieren Sie [SVG zu PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -Aspose.Slides unterstützt Operationen mit Bildern in diesen gängigen Formaten: JPEG, PNG, BMP, GIF und anderen. +Aspose.Slides unterstützt Vorgänge mit Bildern in diesen gängigen Formaten: JPEG, PNG, BMP, GIF und anderen. -## **Hinzufügen von lokal gespeicherten Bildern zu Folien** - -Sie können ein oder mehrere Bilder von Ihrem Computer auf eine Folie in einer Präsentation hinzufügen. Dieser Beispielcode in C# zeigt Ihnen, wie Sie ein Bild zu einer Folie hinzufügen: +## **Bilder, die lokal gespeichert sind, zu Folien hinzufügen** +Sie können ein oder mehrere Bilder von Ihrem Computer zu einer Folie in einer Präsentation hinzufügen. Dieser Beispielcode in C# zeigt Ihnen, wie Sie ein Bild zu einer Folie hinzufügen: ```c# using (Presentation pres = new Presentation()) { @@ -46,12 +64,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Hinzufügen von Bildern aus dem Web zu Folien** -Wenn das Bild, das Sie zu einer Folie hinzufügen möchten, auf Ihrem Computer nicht verfügbar ist, können Sie das Bild direkt aus dem Internet hinzufügen. +## **Bilder aus dem Web zu Folien hinzufügen** -Dieser Beispielcode zeigt Ihnen, wie Sie ein Bild aus dem Web zu einer Folie in C# hinzufügen: +Wenn das Bild, das Sie zu einer Folie hinzufügen möchten, nicht auf Ihrem Computer verfügbar ist, können Sie das Bild direkt aus dem Web hinzufügen. +Dieser Beispielcode zeigt Ihnen, wie Sie ein Bild aus dem Web zu einer Folie in C# hinzufügen: ```c# using (Presentation pres = new Presentation()) { @@ -70,12 +88,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Hinzufügen von Bildern zu Folienmaster** -Ein Folienmaster ist die oberste Folie, die Informationen (Design, Layout usw.) über alle darunter liegenden Folien speichert und steuert. Wenn Sie also ein Bild zu einem Folienmaster hinzufügen, erscheint dieses Bild auf jeder Folie unter diesem Folienmaster. +## **Bilder zu Folienmaster hinzufügen** -Dieser C# Beispielcode zeigt Ihnen, wie Sie ein Bild zu einem Folienmaster hinzufügen: +Ein Folienmaster ist die übergeordnete Folie, die Informationen (Design, Layout usw.) für alle darunter liegenden Folien speichert und steuert. Wenn Sie also ein Bild zu einem Folienmaster hinzufügen, erscheint dieses Bild auf jeder Folie, die diesen Folienmaster verwendet. +Dieser C#‑Beispielcode zeigt Ihnen, wie Sie ein Bild zu einem Folienmaster hinzufügen: ```c# using (Presentation pres = new Presentation()) { @@ -89,20 +107,21 @@ using (Presentation pres = new Presentation()) } ``` -## **Hinzufügen von Bildern als Folienhintergrund** -Sie können entscheiden, ein Bild als Hintergrund für eine bestimmte Folie oder mehrere Folien zu verwenden. In diesem Fall müssen Sie *[Bilder als Hintergründe für Folien einstellen](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*. +## **Bilder als Folienhintergrund hinzufügen** + +Sie können entscheiden, ein Bild als Hintergrund für eine bestimmte Folie oder mehrere Folien zu verwenden. In diesem Fall sollten Sie *[Setting Images as Backgrounds for Slides](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)* beachten. -## **Hinzufügen von SVG zu Präsentationen** -Sie können jedes Bild in einer Präsentation einfügen oder hinzufügen, indem Sie die [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe) Methode verwenden, die zur [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) Schnittstelle gehört. +## **SVG zu Präsentationen hinzufügen** +Sie können jedes Bild in eine Präsentation einfügen, indem Sie die Methode [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe) verwenden, die zur Schnittstelle [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) gehört. -Um ein Bildobjekt basierend auf einem SVG-Bild zu erstellen, können Sie es auf folgende Weise tun: +Um ein Bildobjekt auf Basis eines SVG‑Bildes zu erstellen, können Sie folgendermaßen vorgehen: -1. Erstellen Sie ein SvgImage-Objekt, um es in die ImageShapeCollection einzufügen. -2. Erstellen Sie ein PPImage-Objekt aus dem ISvgImage. -3. Erstellen Sie ein PictureFrame-Objekt mit der IPPImage-Schnittstelle. +1. Erstellen Sie ein SvgImage‑Objekt, um es in ImageShapeCollection einzufügen +2. Erstellen Sie ein PPImage‑Objekt aus ISvgImage +3. Erstellen Sie ein PictureFrame‑Objekt mit der IPPImage‑Schnittstelle -Dieser Beispielcode zeigt Ihnen, wie Sie die oben beschriebenen Schritte implementieren, um ein SVG-Bild in eine Präsentation einzufügen: +Dieser Beispielcode zeigt Ihnen, wie Sie die oben beschriebenen Schritte umsetzen, um ein SVG‑Bild in eine Präsentation einzufügen: ``` csharp // Der Pfad zum Dokumentenverzeichnis string dataDir = @"D:\Documents\"; @@ -110,7 +129,7 @@ string dataDir = @"D:\Documents\"; // Quell-SVG-Dateiname string svgFileName = dataDir + "sample.svg"; -// Ausgabedateiname der Präsentation +// Ausgabe-Präsentationsdateiname string outPptxPath = dataDir + "presentation.pptx"; // Neue Präsentation erstellen @@ -125,7 +144,7 @@ using (var p = new Presentation()) // PPImage-Objekt erstellen IPPImage ppImage = p.Images.AddImage(svgImage); - // Neues PictureFrame erstellen + // Erstellt einen neuen PictureFrame p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 200, 100, ppImage.Width, ppImage.Height, ppImage); // Präsentation im PPTX-Format speichern @@ -133,16 +152,15 @@ using (var p = new Presentation()) } ``` -## **Konvertieren von SVG zu einer Gruppe von Shapes** -Die Konvertierung von SVG zu einer Gruppe von Shapes in Aspose.Slides ähnelt der PowerPoint-Funktionalität, die verwendet wird, um mit SVG-Bildern zu arbeiten: - -![PowerPoint Popup-Menü](img_01_01.png) +## **SVG in eine Menge von Formen konvertieren** +Die Konvertierung von SVG in eine Menge von Formen durch Aspose.Slides ist ähnlich der PowerPoint‑Funktionalität zum Arbeiten mit SVG‑Bildern: -Die Funktionalität wird durch eine der Überladungen der [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) Methode der [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) Schnittstelle bereitgestellt, die ein [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) Objekt als erstes Argument übernimmt. +![PowerPoint Popup Menu](img_01_01.png) -Dieser Beispielcode zeigt Ihnen, wie Sie die beschriebene Methode verwenden, um eine SVG-Datei in eine Gruppe von Shapes zu konvertieren: +Die Funktionalität wird von einer der Überladungen der Methode [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) der Schnittstelle [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) bereitgestellt, die ein [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage)‑Objekt als erstes Argument akzeptiert. +Dieser Beispielcode zeigt Ihnen, wie Sie die beschriebene Methode verwenden, um eine SVG‑Datei in eine Menge von Formen zu konvertieren: ``` csharp // Der Pfad zum Dokumentenverzeichnis string dataDir = @"D:\Documents\"; @@ -162,10 +180,10 @@ using (IPresentation presentation = new Presentation()) // SvgImage-Objekt erstellen ISvgImage svgImage = new SvgImage(svgContent); - // Foliengröße abrufen + // Foliengröße ermitteln SizeF slideSize = presentation.SlideSize.Size; - // SVG-Bild in eine Gruppe von Shapes umwandeln und es an die Foliengröße anpassen + // SVG-Bild in Gruppe von Formen konvertieren und an Foliengröße anpassen presentation.Slides[0].Shapes.AddGroupShape(svgImage, 0f, 0f, slideSize.Width, slideSize.Height); // Präsentation im PPTX-Format speichern @@ -173,11 +191,11 @@ using (IPresentation presentation = new Presentation()) } ``` -## **Hinzufügen von Bildern als EMF in Folien** -Aspose.Slides für .NET ermöglicht es Ihnen, EMF-Bilder aus Excel-Tabellen zu generieren und die Bilder als EMF in Folien mit Aspose.Cells hinzuzufügen.  -Dieser Beispielcode zeigt Ihnen, wie Sie die beschriebene Aufgabe ausführen: +## **Bilder als EMF in Folien hinzufügen** +Aspose.Slides für .NET ermöglicht es Ihnen, EMF‑Bilder aus Excel‑Tabellen zu erzeugen und die Bilder mit Aspose.Cells als EMF in Folien einzufügen. +Dieser Beispielcode zeigt Ihnen, wie Sie die beschriebene Aufgabe ausführen: ``` csharp using (Workbook book = new Workbook(dataDir + "chart.xlsx")) { @@ -187,7 +205,7 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) options.VerticalResolution = 200; options.ImageFormat = System.Drawing.Imaging.ImageFormat.Emf; - //Das Arbeitsbuch in einen Stream speichern + //Arbeitsmappe in Stream speichern SheetRender sr = new SheetRender(sheet, options); using (Presentation pres = new Presentation()) { @@ -196,7 +214,7 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) String EmfSheetName = ""; for (int j = 0; j < sr.PageCount; j++) { - EmfSheetName = dataDir + "test" + sheet.Name + " Seite" + (j + 1) + ".out.emf"; + EmfSheetName = dataDir + "test" + sheet.Name + " Page" + (j + 1) + ".out.emf"; sr.ToImage(j, EmfSheetName); var bytes = File.ReadAllBytes(EmfSheetName); @@ -210,8 +228,67 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) } ``` + +## **Bilder in der Bildersammlung ersetzen** + +Aspose.Slides ermöglicht das Ersetzen von Bildern, die in der Bildersammlung einer Präsentation gespeichert sind (einschließlich der von Folienformen verwendeten). Dieser Abschnitt zeigt mehrere Ansätze zum Aktualisieren von Bildern in der Sammlung. Die API bietet unkomplizierte Methoden, um ein Bild mithilfe roher Byte‑Daten, einer [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/)‑Instanz oder eines bereits in der Sammlung vorhandenen Bildes zu ersetzen. + +Befolgen Sie die folgenden Schritte: + +1. Laden Sie die Präsentationsdatei, die Bilder enthält, mit der Klasse [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +2. Laden Sie ein neues Bild aus einer Datei in ein Byte‑Array. +3. Ersetzen Sie das Zielbild durch das neue Bild, indem Sie das Byte‑Array verwenden. +4. Im zweiten Ansatz laden Sie das Bild in ein [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/)-Objekt und ersetzen das Zielbild mit diesem Objekt. +5. Im dritten Ansatz ersetzen Sie das Zielbild durch ein Bild, das bereits in der Bildersammlung der Präsentation existiert. +6. Schreiben Sie die modifizierte Präsentation als PPTX‑Datei. + +```cs +// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei darstellt. +using Presentation presentation = new Presentation("sample.pptx"); + +// Der erste Weg. +byte[] imageData = File.ReadAllBytes("image0.jpeg"); +IPPImage oldImage = presentation.Images[0]; +oldImage.ReplaceImage(imageData); + +// Der zweite Weg. +using IImage newImage = Images.FromFile("image1.png"); +oldImage = presentation.Images[1]; +oldImage.ReplaceImage(newImage); + +// Der dritte Weg. +oldImage = presentation.Images[2]; +oldImage.ReplaceImage(presentation.Images[3]); + +// Speichern Sie die Präsentation in einer Datei. +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + {{% alert title="Info" color="info" %}} -Mit dem kostenlosen [Text zu GIF](https://products.aspose.app/slides/text-to-gif) Konverter von Aspose können Sie Texte einfach animieren, GIFs aus Texten erstellen usw. +Mit dem kostenlosen Aspose FREE‑[Text to GIF](https://products.aspose.app/slides/text-to-gif)-Konverter können Sie Texte leicht animieren, GIFs aus Texten erstellen usw. + +{{% /alert %}} + +## **FAQ** + +**Bleibt die ursprüngliche Bildauflösung nach dem Einfügen erhalten?** + +Ja. Die Quellpixel werden beibehalten, aber das endgültige Erscheinungsbild hängt davon ab, wie das [picture](/slides/de/net/picture-frame/) auf der Folie skaliert wird und welche Kompression beim Speichern angewendet wird. + +**Wie ersetze ich am besten dasselbe Logo gleichzeitig auf Dutzenden von Folien?** + +Platzieren Sie das Logo auf dem Master‑Slide oder einem Layout und ersetzen Sie es in der Bildersammlung der Präsentation – die Änderungen werden an alle Elemente propagiert, die diese Ressource verwenden. + +**Kann ein eingefügtes SVG in editierbare Formen konvertiert werden?** + +Ja. Sie können ein SVG in eine Gruppe von Formen konvertieren, woraufhin einzelne Teile mit den üblichen Form‑Eigenschaften bearbeitbar werden. + +**Wie kann ich ein Bild als Hintergrund für mehrere Folien gleichzeitig festlegen?** + +[Weisen Sie das Bild als Hintergrund](/slides/de/net/presentation-background/) dem Master‑Slide oder dem entsprechenden Layout zu – alle Folien, die diesen Master/Layout verwenden, übernehmen den Hintergrund. + +**Wie verhindere ich, dass die Präsentation durch viele Bilder stark anwächst?** -{{% /alert %}} \ No newline at end of file +Verwenden Sie eine einzelne Bildressource mehrfach anstelle von Duplikaten, wählen Sie angemessene Auflösungen, wenden Sie Kompression beim Speichern an und halten Sie wiederholte Grafiken nach Möglichkeit im Master. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/de/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index 31934914fc..36affc1a9d 100644 --- a/de/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/de/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -1,116 +1,120 @@ --- -title: Bilderrahmen +title: Bildrahmen type: docs weight: 10 url: /de/net/picture-frame/ -keywords: -- Bilderrahmen hinzufügen -- Bilderrahmen erstellen +keywords: +- Bildrahmen +- Bildrahmen hinzufügen +- Bildrahmen erstellen - Bild hinzufügen - Bild erstellen - Bild extrahieren +- Bild zuschneiden - StretchOff-Eigenschaft -- Bilderrahmenformatierung -- Eigenschaften des Bilderrahmens -- PowerPoint-Präsentation +- Bildrahmen-Formatierung +- Bildrahmen-Eigenschaften +- Bildeffekt +- Seitenverhältnis +- PowerPoint +- Präsentation - C# - Csharp - Aspose.Slides für .NET -description: "Fügen Sie einen Bilderrahmen zu einer PowerPoint-Präsentation in C# oder .NET hinzu" +description: "Fügen Sie einen Bildrahmen zu einer PowerPoint-Präsentation in C# oder .NET hinzu" --- -Ein Bilderrahmen ist eine Form, die ein Bild enthält—es ist wie ein Bild in einem Rahmen. +Ein Bildrahmen ist eine Form, die ein Bild enthält — es ist wie ein Bild in einem Rahmen. -Sie können ein Bild über einen Bilderrahmen zu einer Folie hinzufügen. Auf diese Weise können Sie das Bild formatieren, indem Sie den Bilderrahmen formatieren. +Sie können ein Bild über einen Bildrahmen zu einer Folie hinzufügen. Auf diese Weise können Sie das Bild formatieren, indem Sie den Bildrahmen formatieren. -{{% alert title="Tipp" color="primary" %}} +{{% alert title="Tip" 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 Nutzern ermöglichen, schnell Präsentationen aus Bildern zu erstellen. +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 ermöglichen, schnell Präsentationen aus Bildern zu erstellen. {{% /alert %}} -## **Bilderrahmen erstellen** +## **Picture Frame erstellen** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Holen Sie sich einen Verweis auf die Folie über ihren Index. -3. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) Objekt, indem Sie ein Bild zur [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) hinzufügen, die mit dem Präsentationsobjekt verknüpft ist, das verwendet wird, um die Form auszufüllen. -4. Geben Sie die Breite und Höhe des Bildes an. -5. Erstellen Sie einen [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) basierend auf der Breite und Höhe des Bildes durch die `AddPictureFrame` Methode, die vom Formobjekt, das mit der verlinkten Folie verknüpft ist, bereitgestellt wird. -6. Fügen Sie einen Bilderrahmen (der das Bild enthält) zur Folie hinzu. -7. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. - -Dieser C#-Code zeigt Ihnen, wie Sie einen Bilderrahmen erstellen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse. +2. Holen Sie sich eine Referenz zu einer Folie über ihren Index. +3. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)‑Objekt, indem Sie ein Bild zur [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) hinzufügen, die dem Präsentationsobjekt zugeordnet ist und zum Füllen der Form verwendet wird. +4. Geben Sie die Breite und Höhe des Bildes an. +5. Erstellen Sie ein [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) basierend auf Breite und Höhe des Bildes über die `AddPictureFrame`‑Methode, die vom Form‑Objekt der referenzierten Folie bereitgestellt wird. +6. Fügen Sie den Bildrahmen (mit dem Bild) der Folie hinzu. +7. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie einen Bildrahmen erstellen: ```c# -// Instanziierung der Presentation-Klasse, die eine PPTX-Datei darstellt -using (Presentation pres = new Presentation()) -{ - // Holt die erste Folie - ISlide slide = pres.Slides[0]; + // Instanziiert die Presentation-Klasse, die eine PPTX-Datei repräsentiert + using (Presentation pres = new Presentation()) + { + // Holt die erste Folie + ISlide slide = pres.Slides[0]; - // Lädt ein Bild und fügt es der Präsentationsbildsammlung hinzu - IImage image = Images.FromFile("aspose-logo.jpg"); - IPPImage ppImage = pres.Images.AddImage(image); - image.Dispose(); + // Lädt ein Bild und fügt es der Bildersammlung der Präsentation hinzu + IImage image = Images.FromFile("aspose-logo.jpg"); + IPPImage ppImage = pres.Images.AddImage(image); + image.Dispose(); - // Fügt einen Bilderrahmen mit der gleichen Höhe und Breite hinzu - IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); + // Fügt einen Bildrahmen mit gleicher Höhe und Breite hinzu + IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // Wendet einige Formatierungen auf den Bilderrahmen an - pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; - pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; - pictureFrame.LineFormat.Width = 20; - pictureFrame.Rotation = 45; + // Wendet einige Formatierungen auf den Bildrahmen an + pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; + pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; + pictureFrame.LineFormat.Width = 20; + pictureFrame.Rotation = 45; - // Schreibt die Präsentation in eine PPTX-Datei - pres.Save("RectPicFrameFormat_out.pptx", SaveFormat.Pptx); -} + // Schreibt die Präsentation in eine PPTX-Datei + pres.Save("RectPicFrameFormat_out.pptx", SaveFormat.Pptx); + } ``` + {{% alert color="warning" %}} -Bilderrahmen ermöglichen es Ihnen, Präsentationsfolien schnell basierend auf Bildern zu erstellen. Wenn Sie den Bilderrahmen mit den Speicheroptionen von Aspose.Slides kombinieren, können Sie Eingabe-/Ausgabeoperationen manipulieren, um Bilder von einem Format in ein anderes zu konvertieren. Sie möchten möglicherweise diese Seiten sehen: Konvertieren Sie [Bild in JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); Konvertieren Sie [JPG in Bild](https://products.aspose.com/slides/net/conversion/jpg-to-image/); Konvertieren Sie [JPG in PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), konvertieren Sie [PNG in JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); konvertieren Sie [PNG in SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), konvertieren Sie [SVG in PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). +Bildrahmen ermöglichen das schnelle Erstellen von Präsentationsfolien basierend auf Bildern. Kombiniert man Bildrahmen mit den Speicheroptionen von Aspose.Slides, kann man Ein‑ und Ausgabevorgänge manipulieren, um Bilder von einem Format in ein anderes zu konvertieren. Weitere Seiten: konvertieren Sie [Bild zu JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); konvertieren Sie [JPG zu Bild](https://products.aspose.com/slides/net/conversion/jpg-to-image/); konvertieren Sie [JPG zu PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), konvertieren Sie [PNG zu JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); konvertieren Sie [PNG zu SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), konvertieren Sie [SVG zu PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -## **Bilderrahmen mit relativer Skalierung erstellen** - -Durch die Änderung der relativen Skalierung eines Bildes können Sie einen komplexeren Bilderrahmen erstellen. +## **Bildrahmen mit relativer Skalierung erstellen** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Holen Sie sich einen Verweis auf die Folie über ihren Index. -3. Fügen Sie ein Bild zur Präsentationsbildsammlung hinzu. -4. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) Objekt, indem Sie ein Bild zur [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) hinzufügen, die mit dem Präsentationsobjekt verknüpft ist, das verwendet wird, 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. +Durch Ändern der relativen Skalierung eines Bildes können Sie einen komplexeren Bildrahmen erzeugen. -Dieser C#-Code zeigt Ihnen, wie Sie einen Bilderrahmen mit relativer Skalierung erstellen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse. +2. Holen Sie sich eine Referenz zu einer Folie über ihren Index. +3. Fügen Sie der Bildersammlung der Präsentation ein Bild hinzu. +4. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)‑Objekt, indem Sie ein Bild zur [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) hinzufügen, die dem Präsentationsobjekt zugeordnet ist und zum Füllen der Form verwendet wird. +5. Geben Sie die relative Breite und Höhe des Bildes im Bildrahmen an. +6. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie einen Bildrahmen mit relativer Skalierung erstellen: ```c# -// Instanziierung der Presentation-Klasse, die eine PPTX-Datei darstellt -using (Presentation presentation = new Presentation()) -{ - // Lädt ein Bild und fügt es der Präsentationsbildsammlung hinzu - IImage image = Images.FromFile("aspose-logo.jpg"); - IPPImage ppImage = presentation.Images.AddImage(image); - image.Dispose(); - - // Fügt einen Bilderrahmen zur Folie hinzu - IPictureFrame pictureFrame = presentation.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 100, 100, ppImage); - - // Setzt die relative Skalierungsbreite und -höhe - pictureFrame.RelativeScaleHeight = 0.8f; - pictureFrame.RelativeScaleWidth = 1.35f; - - // Speichert die Präsentation - presentation.Save("Adding Picture Frame with Relative Scale_out.pptx", SaveFormat.Pptx); -} + // Instanziert die Presentation-Klasse, die eine PPTX-Datei darstellt + using (Presentation presentation = new Presentation()) + { + // Lädt ein Bild und fügt es der Bildersammlung der Präsentation hinzu + IImage image = Images.FromFile("aspose-logo.jpg"); + IPPImage ppImage = presentation.Images.AddImage(image); + image.Dispose(); + + // Fügt einen Bildrahmen zur Folie hinzu + IPictureFrame pictureFrame = presentation.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 100, 100, ppImage); + + // Setzt die relative Skalierungsbreite und -höhe + pictureFrame.RelativeScaleHeight = 0.8f; + pictureFrame.RelativeScaleWidth = 1.35f; + + // Speichert die Präsentation + presentation.Save("Adding Picture Frame with Relative Scale_out.pptx", SaveFormat.Pptx); + } ``` -## **Bild aus dem Bilderrahmen extrahieren** -Sie können Bilder aus [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) Objekten extrahieren und sie in PNG, JPG und anderen Formaten speichern. Das folgende Codebeispiel zeigt, wie man ein Bild aus dem Dokument "sample.pptx" extrahiert und es im PNG-Format speichert. +## **Rasterbilder aus Bildrahmen extrahieren** +Sie können Rasterbilder aus [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe)‑Objekten extrahieren und in PNG, JPG und anderen Formaten speichern. Das folgende Codebeispiel demonstriert, wie ein Bild aus der Datei „sample.pptx“ extrahiert und im PNG‑Format gespeichert wird. ```c# using (var presentation = new Presentation("sample.pptx")) { @@ -125,12 +129,34 @@ using (var presentation = new Presentation("sample.pptx")) } ``` -## **Transparenz des Bildes erhalten** -Aspose.Slides ermöglicht es Ihnen, die Transparenz eines Bildes zu erhalten. Dieser C#-Code demonstriert die Operation: +## **SVG‑Bilder aus Bildrahmen extrahieren** + +Wenn eine Präsentation SVG‑Grafiken enthält, die in [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/)‑Formen platziert sind, ermöglicht Aspose.Slides für .NET das Abrufen der ursprünglichen Vektorbilder mit voller Treue. Durch Durchlaufen der Formensammlung der Folie können Sie jede [PictureFrame]‑Instanz identifizieren, prüfen, ob das zugrunde liegende [IPPImage]‑Objekt SVG‑Inhalt enthält, und das Bild dann im nativen SVG‑Format auf Datenträger oder in einen Stream speichern. + +Der folgende Code demonstriert das Extrahieren eines SVG‑Bildes aus einem Bildrahmen: +```cs +using var presentation = new Presentation("sample.pptx"); + +var slide = presentation.Slides[0]; +var shape = slide.Shapes[0]; + +if (shape is IPictureFrame pictureFrame) +{ + var svgImage = pictureFrame.PictureFormat.Picture.Image.SvgImage; + if (svgImage != null) + { + File.WriteAllText("output.svg", svgImage.SvgContent); + } +} +``` + + +## **Transparenz eines Bildes ermitteln** +Aspose.Slides ermöglicht das Ermitteln des auf ein Bild angewendeten Transparenzeffekts. Dieser C#‑Code demonstriert den Vorgang: ```c# -using (var presentation = new Presentation(folderPath + "Test.pptx")) +using (var presentation = new Presentation("Test.pptx")) { var pictureFrame = (IPictureFrame)presentation.Slides[0].Shapes[0]; var imageTransform = pictureFrame.PictureFormat.Picture.ImageTransform; @@ -139,48 +165,52 @@ using (var presentation = new Presentation(folderPath + "Test.pptx")) if (effect is IAlphaModulateFixed alphaModulateFixed) { var transparencyValue = 100 - alphaModulateFixed.Amount; - Console.WriteLine("Bildtransparenz: " + transparencyValue); + Console.WriteLine("Picture transparency: " + transparencyValue); } } } ``` -## **Bilderrahmenformatierung** - -Aspose.Slides bietet viele Formatierungsoptionen, die auf einen Bilderrahmen angewendet werden können. Mit diesen Optionen können Sie einen Bilderrahmen ändern, um ihn an spezifische Anforderungen anzupassen. - -1. Erstellen Sie eine Instanz der [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) Klasse. -2. Holen Sie sich einen Verweis auf die Folie über ihren Index. -3. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) Objekt, indem Sie ein Bild zur [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) hinzufügen, die mit dem Präsentationsobjekt verknüpft ist, das verwendet wird, 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 durch die [AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe) Methode, die vom [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection) Objekt bereitgestellt wird, das mit der verlinkten Folie verknüpft ist. -6. Fügen Sie den Bilderrahmen (der das Bild enthält) zur Folie hinzu. -7. Setzen Sie die Liniefarbe des Bilderrahmens. -8. Setzen Sie die Linienstärke des Bilderrahmens. -9. Rotieren 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. -Dieser C#-Code demonstriert den Formatierungsprozess des Bilderrahmens: +{{% alert color="primary" %}} +Alle auf Bilder angewendeten Effekte finden Sie in [Aspose.Slides.Effects](https://reference.aspose.com/slides/net/aspose.slides.effects/). +{{% /alert %}} +## **Bildrahmen formatieren** + +Aspose.Slides bietet zahlreiche Formatierungsoptionen, die auf einen Bildrahmen angewendet werden können. Mit diesen Optionen können Sie einen Bildrahmen so anpassen, dass er bestimmten Anforderungen entspricht. + +1. Erstellen Sie eine Instanz der [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/)‑Klasse. +2. Holen Sie sich eine Referenz zu einer Folie über ihren Index. +3. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)‑Objekt, indem Sie ein Bild zur [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) hinzufügen, die dem Präsentationsobjekt zugeordnet ist und zum Füllen der Form verwendet wird. +4. Geben Sie die Breite und Höhe des Bildes an. +5. Erstellen Sie ein `PictureFrame` basierend auf Breite und Höhe des Bildes über die [AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe)‑Methode, die vom [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection)‑Objekt der referenzierten Folie bereitgestellt wird. +6. Fügen Sie den Bildrahmen (mit dem Bild) der Folie hinzu. +7. Setzen Sie die Linienfarbe des Bildrahmens. +8. Setzen Sie die Linienbreite des Bildrahmens. +9. Drehen Sie den Bildrahmen, indem Sie ihm einen positiven oder negativen Wert zuweisen. + * Ein positiver Wert dreht das Bild im Uhrzeigersinn. + * Ein negativer Wert dreht das Bild gegen den Uhrzeigersinn. +10. Fügen Sie den Bildrahmen (mit dem Bild) erneut der Folie hinzu. +11. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. + +Dieser C#‑Code demonstriert den Formatierungsprozess für Bildrahmen: ```c# -// Instanziierung der Presentation-Klasse, die eine PPTX-Datei darstellt +// Instanziert die Presentation-Klasse, die eine PPTX-Datei repräsentiert using (Presentation presentation = new Presentation()) { // Holt die erste Folie ISlide slide = presentation.Slides[0]; - // Lädt ein Bild und fügt es der Präsentationsbildsammlung hinzu + // Lädt ein Bild und fügt es der Bildersammlung der Präsentation hinzu IImage image = Images.FromFile("aspose-logo.jpg"); IPPImage ppImage = presentation.Images.AddImage(image); image.Dispose(); - // Fügt einen Bilderrahmen mit der entsprechenden Höhe und Breite des Bildes hinzu + // Fügt einen Bildrahmen mit derselben Höhe und Breite des Bildes hinzu IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // Wendet einige Formatierungen auf den Bilderrahmen an + // Wendet einige Formatierungen auf den Bildrahmen an pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; pictureFrame.LineFormat.Width = 20; @@ -191,16 +221,16 @@ using (Presentation presentation = new Presentation()) } ``` + {{% alert 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 müssen, [Raster aus Fotos erstellen](https://products.aspose.app/slides/collage/photo-grid), können Sie diesen Dienst nutzen. +Aspose hat kürzlich einen [kostenlosen Collage Maker](https://products.aspose.app/slides/collage) entwickelt. Wenn Sie JPG/JPEG‑ oder PNG‑Bilder zusammenführen oder Raster aus Fotos zu Gittern erstellen möchten, können Sie diesen Service 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 einzufügen. Dieser C#-Code zeigt Ihnen, wie Sie ein Bild und ein Video in einen Platzhalter einfügen: - +Um die Dateigröße von Präsentationen zu reduzieren, können Sie Bilder (oder Videos) über Links einbinden, anstatt die Dateien direkt in die Präsentation zu integrieren. Dieser C#‑Code zeigt, wie ein Bild und ein Video in einen Platzhalter eingefügt werden: ```c# using (var presentation = new Presentation("input.pptx")) { @@ -251,10 +281,10 @@ using (var presentation = new Presentation("input.pptx")) } ``` -## **Bild zuschneiden** -Dieser C#-Code zeigt Ihnen, wie Sie ein vorhandenes Bild auf einer Folie zuschneiden: +## **Bild zuschneiden** +Dieser C#‑Code zeigt, wie ein vorhandenes Bild auf einer Folie zugeschnitten wird: ```c# using (Presentation presentation = new Presentation()) { @@ -263,11 +293,11 @@ using (Presentation presentation = new Presentation()) IPPImage newImage = presentation.Images.AddImage(image); image.Dispose(); - // Fügt einen Bilderrahmen zu einer Folie hinzu + // Fügt einen Bildrahmen zu einer Folie hinzu IPictureFrame picFrame = presentation.Slides[0].Shapes.AddPictureFrame( ShapeType.Rectangle, 100, 100, 420, 250, newImage); - // Schneidet das Bild (Prozentwerte) + // Zuschneiden des Bildes (Prozentwerte) picFrame.PictureFormat.CropLeft = 23.6f; picFrame.PictureFormat.CropRight = 21.5f; picFrame.PictureFormat.CropTop = 3; @@ -278,21 +308,21 @@ using (Presentation presentation = new Presentation()) } ``` -## Bereiche des Bildes löschen -Wenn Sie die zugeschnittenen Bereiche eines Bildes, das in einem Rahmen enthalten ist, löschen möchten, können Sie die Methode [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) verwenden. Diese Methode gibt das zugeschnittene Bild oder das Ursprungsbild zurück, wenn das Zuschneiden nicht erforderlich ist. +## **Zugespitzte Bildbereiche eines Bildrahmens löschen** -Dieser C#-Code demonstriert die Operation: +Wenn Sie die zugeschnittenen Bereiche eines Bildes in einem Rahmen entfernen möchten, können Sie die Methode [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) verwenden. Diese Methode gibt das zugeschnittene Bild oder das Originalbild zurück, wenn kein Zuschneiden erforderlich ist. +Dieser C#‑Code demonstriert den Vorgang: ```c# using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) { ISlide slide = presentation.Slides[0]; - // Holt den Bilderrahmen von der ersten Folie + // Holt den Bildrahmen von der ersten Folie IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; - // Löscht die zugeschnittenen Bereiche des Bilderrahmenbildes und gibt das zugeschnittene Bild zurück + // Löscht zugeschnittene Bereiche des Bildrahmen-Bildes und gibt das zugeschnittene Bild zurück IPPImage croppedImage = picFrame.PictureFormat.DeletePictureCroppedAreas(); // Speichert das Ergebnis @@ -300,20 +330,73 @@ using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) } ``` -{{% alert title="HINWEIS" color="warning" %}} -Die Methode [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) fügt das zugeschnittene Bild der Präsentationsbildsammlung hinzu. Wenn das Bild nur im verarbeiteten [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) verwendet wird, kann diese Einrichtung die Präsentationsgröße reduzieren. Andernfalls erhöht sich die Anzahl der Bilder in der resultierenden Präsentation. +{{% alert title="NOTE" color="warning" %}} -Diese Methode konvertiert WMF/EMF-Metadateien in ein raster PNG-Bild während der Zuschneideoperation. +Die Methode [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) fügt das zugeschnittene Bild der Bildersammlung der Präsentation hinzu. Wird das Bild ausschließlich im verarbeiteten [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) verwendet, kann diese Einstellung die Dateigröße der Präsentation verringern. Andernfalls erhöht sich die Anzahl der Bilder in der resultierenden Präsentation. + +Die Methode konvertiert WMF/EMF‑Metadateien während des Zuschneidens in ein Raster‑PNG‑Bild. {{% /alert %}} -## **Seitenverhältnis sperren** +## **Bild komprimieren** + +Sie können ein Bild in einer Präsentation mit der Methode [`IPictureFillFormat.CompressImage`](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/compressimage/) komprimieren. +Diese Methode reduziert die Bildgröße anhand der Formgröße und der angegebenen Auflösung, optional mit dem Löschen zugeschnittener Bereiche. + +Sie passt Größe und Auflösung des Bildes ähnlich der PowerPoint‑Funktion **Bild formatieren → Bilder komprimieren → Auflösung** an. + +Die folgenden C#‑Beispiele zeigen, wie Sie ein Bild in einer Präsentation komprimieren, indem Sie eine Zielauflösung angeben und optional zugeschnittene Bereiche entfernen: +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; -Wenn Sie möchten, dass eine Form, die ein Bild enthält, ihr Seitenverhältnis auch nach Änderung der Bilddimensionen beibehält, können Sie die [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) Eigenschaft verwenden, um die Einstellung *Seitenverhältnis sperren* festzulegen. + // Holt den Bildrahmen von der Folie + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; -Dieser C#-Code zeigt Ihnen, wie Sie das Seitenverhältnis einer Form sperren: + // Komprimiert das Bild mit Zielauflösung von 150 DPI (Web-Auflösung) und entfernt zugeschnittene Bereiche + bool result = picFrame.PictureFormat.CompressImage(true, PicturesCompression.Dpi150); + // Prüft das Ergebnis der Komprimierung + if (result) + { + Console.WriteLine("Image successfully compressed."); + } + else + { + Console.WriteLine("Image compression failed or no changes were necessary."); + } +} +``` + + +Oder indem Sie direkt einen benutzerdefinierten DPI‑Wert verwenden: +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; + + // Bild auf 150 DPI komprimieren (Web-Auflösung), zugeschnittene Bereiche entfernen + bool result = picFrame.PictureFormat.CompressImage(true, 150f); +} +``` + + +{{% alert title="NOTE" color="warning" %}} + +Die Methode konvertiert das Bild in eine niedrigere Auflösung, basierend auf der Formgröße und dem angegebenen DPI. Geschnittene Bereiche können ebenfalls gelöscht werden, um die Dateigröße zu optimieren. +Bei Metadateien (WMF/EMF) oder SVG wird keine Komprimierung angewendet. Außerdem wird die JPEG‑Qualität je nach Auflösung erhalten bzw. leicht reduziert, analog zu PowerPoint. + +{{% /alert %}} + +## **Seitenverhältnis sperren** + +Wenn Sie möchten, dass eine Form, die ein Bild enthält, ihr Seitenverhältnis beibehält, selbst wenn Sie die Bildabmessungen ändern, können Sie die Eigenschaft [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) verwenden, um die Einstellung *Seitenverhältnis sperren* zu setzen. + +Dieser C#‑Code zeigt, wie Sie das Seitenverhältnis einer Form sperren: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -326,35 +409,35 @@ using (Presentation pres = new Presentation("pres.pptx")) IPictureFrame pictureFrame = emptySlide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, presImage.Width, presImage.Height, presImage); - // Setzt die Form, um das Seitenverhältnis beim Skalieren zu bewahren + // Setzt die Form, um das Seitenverhältnis beim Ändern der Größe beizubehalten pictureFrame.PictureFrameLock.AspectRatioLocked = true; } ``` -{{% 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="NOTE" color="warning" %}} -{{% /alert %}} +Die Einstellung *Seitenverhältnis sperren* bewahrt nur das Seitenverhältnis der Form, nicht jedoch das des darin enthaltenen Bildes. -## **StretchOff-Eigenschaft verwenden** +{{% /alert %}} -Durch die Verwendung der Eigenschaften [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft), [StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop), [StretchOffsetRight,](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) und [StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) aus dem [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) Interface und der [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat) Klasse können Sie ein Füllrechteck angeben. +## **StretchOff‑Eigenschaft verwenden** -Wenn das Strecken für ein Bild festgelegt ist, wird ein Quellrechteck skaliert, um in das angegebene Füllrechteck zu passen. Jeder Rand des Füllrechtecks wird durch einen prozentualen Offset vom entsprechenden Rand des Begrenzungsrahmens der Form definiert. Ein positiver Prozentsatz gibt einen Innenabstand an, während ein negativer Prozentsatz einen Außenabstand angibt. +Mit den Eigenschaften [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft), [StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop), [StretchOffsetRight](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) und [StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) aus dem Interface [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) und der Klasse [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat) können Sie ein Füllrechteck angeben. -1. Erstellen Sie eine Instanz der [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) Klasse. -2. Holen Sie sich einen Verweis auf die Folie über ihren Index. -3. Fügen Sie eine Rechteck-`AutoShape` hinzu. -4. Erstellen Sie ein Bild. -5. Legen Sie den Fülltyp der Form fest. -6. Legen Sie den Bildfüllenmodus der Form fest. -7. Fügen Sie ein festgelegtes Bild hinzu, um die Form auszufüllen. -8. Geben Sie die Bildoffsets von den entsprechenden Rändern des Begrenzungsrahmens der Form an. -9. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Wird für ein Bild ein Stretch‑Modus festgelegt, wird ein Quellrechteck skaliert, um in das definierte Füllrechteck zu passen. Jede Kante des Füllrechtecks wird durch einen prozentualen Offset zur entsprechenden Kante der Begrenzungsbox der Form definiert. Ein positiver Prozentsatz steht für eine Einziehung, ein negativer Prozentsatz für eine Ausdehnung. -Dieser C#-Code demonstriert einen Prozess, in dem eine StretchOff-Eigenschaft verwendet wird: +1. Erstellen Sie eine Instanz der [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/)‑Klasse. +2. Holen Sie sich eine Referenz zu einer Folie über ihren Index. +3. Fügen Sie ein 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 das Bild hinzu, um die Form zu füllen. +8. Geben Sie Bild‑Offsets relativ zu den entsprechenden Kanten der Begrenzungsbox der Form an. +9. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code demonstriert einen Prozess, bei dem die StretchOff‑Eigenschaft verwendet wird: ```c# using (Presentation pres = new Presentation()) { @@ -362,9 +445,9 @@ using (Presentation pres = new Presentation()) IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 400, 400, ppImage); + IPPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 400, 400, ppImage); - // Setzt das Bild, das von jeder Seite im Formkörper gestreckt wird + // Setzt das Bild von jeder Seite im Shape‑Körper gestreckt pictureFrame.PictureFormat.PictureFillMode = PictureFillMode.Stretch; pictureFrame.PictureFormat.StretchOffsetLeft = 24; pictureFrame.PictureFormat.StretchOffsetRight = 24; @@ -373,4 +456,23 @@ using (Presentation pres = new Presentation()) pres.Save("imageStretch.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Wie kann ich herausfinden, welche Bildformate für PictureFrame unterstützt werden?** + +Aspose.Slides unterstützt sowohl Rasterbilder (PNG, JPEG, BMP, GIF usw.) als auch Vektorbilder (z. B. SVG) über das Bildobjekt, das einem [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) zugewiesen wird. Die Liste unterstützter Formate überschneidet sich im Allgemeinen mit den Fähigkeiten der Folien‑ und Bildkonvertierungs‑Engine. + +**Wie wirkt sich das Hinzufügen vieler großer Bilder auf die PPTX‑Größe und Performance aus?** + +Das Einbetten großer Bilder erhöht Dateigröße und Speicherverbrauch; das Verlinken von Bildern hält die Präsentationsgröße klein, erfordert jedoch, dass die externen Dateien zugänglich bleiben. Aspose.Slides bietet die Möglichkeit, Bilder per Link hinzuzufügen, um die Dateigröße zu reduzieren. + +**Wie kann ich ein Bildobjekt vor versehentlichem Verschieben/Größenändern schützen?** + +Verwenden Sie [Form‑Sperren](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/pictureframelock/) für einen [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) (z. B. Verschieben oder Größenändern deaktivieren). Der Sperrmechanismus wird für Formen in einem separaten [Schutz‑Artikel](/slides/de/net/applying-protection-to-presentation/) beschrieben und wird für verschiedene Formtypen, einschließlich [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/), unterstützt. + +**Wird die Vektorrepräsentation von SVG beim Export einer Präsentation zu PDF/Bildern beibehalten?** + +Aspose.Slides ermöglicht das Extrahieren eines SVG aus einem [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) als ursprünglichen Vektor. Beim [Export zu PDF](/slides/de/net/convert-powerpoint-to-pdf/) oder zu [Rasterformaten](/slides/de/net/convert-powerpoint-to-png/) kann das Ergebnis abhängig von den Exporteinstellungen gerastert werden; das Original‑SVG bleibt jedoch als Vektor erhalten, was durch das Extraktionsverhalten bestätigt wird. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/de/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index 0333e48b59..70cd2cb0cc 100644 --- a/de/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/de/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -1,33 +1,32 @@ --- -title: Video-Rahmen +title: Video-Frame type: docs weight: 10 url: /de/net/video-frame/ -keywords: "Video hinzufügen, Video-Rahmen erstellen, Video extrahieren, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Fügen Sie einen Video-Rahmen zu einer PowerPoint-Präsentation in C# oder .NET hinzu" +keywords: "Video hinzufügen, Video-Frame erstellen, Video extrahieren, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" +description: "Video-Frame zu PowerPoint-Präsentation in C# oder .NET hinzufügen" --- -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 die Engagement‑Rate bei Ihrem Publikum steigern. -PowerPoint ermöglicht es Ihnen, Videos auf zwei Arten zu einer Folie in einer Präsentation hinzuzufügen: +PowerPoint ermöglicht es Ihnen, Videos auf einer Folie in einer Präsentation auf zwei Arten hinzuzufügen: -* Fügen Sie ein lokales Video hinzu oder betten Sie es ein (auf Ihrem Rechner gespeichert) -* Fügen Sie ein Online-Video hinzu (aus einer Webquelle wie YouTube). +* Video lokal hinzufügen oder einbetten (auf Ihrem Rechner gespeichert) +* 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/net/aspose.slides/ivideo/) Schnittstelle, die [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) Schnittstelle und andere relevante Typen. +Damit Sie Videos (Video‑Objekte) zu einer Präsentation hinzufügen können, stellt Aspose.Slides das Interface [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) bereit, das Interface [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) sowie weitere relevante Typen. -## **Embedded Video-Rahmen erstellen** +## **Eingebetteten Video‑Frame erstellen** -Wenn die Videodatei, die Sie zu Ihrer Folie hinzufügen möchten, lokal gespeichert ist, können Sie einen Video-Rahmen erstellen, um das Video in Ihrer Präsentation einzubetten. +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 Ihrer Präsentation einzubetten. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -1. Holen Sie sich eine Referenz auf die Folie über ihren Index. -1. Fügen Sie ein [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) Objekt hinzu und übergeben Sie den Pfad zur Videodatei, um das Video mit der Präsentation einzubetten. -1. Fügen Sie ein [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) Objekt hinzu, um einen Rahmen für das Video zu erstellen. -1. Speichern Sie die modifizierte Präsentation. - -Dieser C#-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/net/aspose.slides/presentation). +1. Rufen Sie über den Index eine Referenz auf die Folie ab. +1. Fügen Sie ein [IVideo](https://reference.aspose.com/slides/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/net/aspose.slides/ivideoframe/)‑Objekt hinzu, um einen Frame für das Video zu erstellen. +1. Speichern Sie die modifizierte Präsentation. +Dieser C#‑Code zeigt, wie Sie ein lokal gespeichertes Video zu einer Präsentation hinzufügen: ```c# // Instanziiert die Presentation-Klasse using (Presentation pres = new Presentation("pres.pptx")) @@ -37,17 +36,17 @@ using (Presentation pres = new Presentation("pres.pptx")) { IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); - // Holt die erste Folie und fügt einen Video-Rahmen hinzu + // Holt die erste Folie und fügt einen Videoframe hinzu pres.Slides[0].Shapes.AddVideoFrame(10, 10, 150, 250, video); - // Speichert die Präsentation auf der Festplatte + // Speichert die Präsentation auf dem Datenträger pres.Save("pres-with-video.pptx", SaveFormat.Pptx); } } ``` -Alternativ können Sie ein Video hinzufügen, indem Sie den Pfad zur Datei direkt an die [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/) Methode übergeben: -```csharp +Alternativ können Sie ein Video hinzufügen, indem Sie dessen Dateipfad direkt an die Methode [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/) übergeben: +``` csharp using (Presentation pres = new Presentation()) { ISlide sld = pres.Slides[0]; @@ -55,21 +54,21 @@ using (Presentation pres = new Presentation()) } ``` -## **Video-Rahmen mit Video aus einer 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. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse -1. Holen Sie sich eine Referenz auf die Folie über ihren Index. -1. Fügen Sie ein [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) Objekt hinzu und übergeben Sie den Link zum Video. -1. Setzen Sie ein Miniaturbild für den Video-Rahmen. -1. Speichern Sie die Präsentation. +## **Video‑Frame mit Video aus Web‑Quelle 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 gewünschte Video online verfügbar ist (z. B. auf YouTube), können Sie es über dessen Web‑Link zu Ihrer Präsentation hinzufügen. -Dieser C#-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/net/aspose.slides/presentation). +1. Rufen Sie über den Index eine Referenz auf die Folie ab. +1. Fügen Sie ein [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/)‑Objekt hinzu und übergeben Sie den Link zum Video. +1. Legen Sie ein Vorschaubild für den Video‑Frame fest. +1. Speichern Sie die Präsentation. +Dieser C#‑Code zeigt, wie Sie ein Video aus dem Web zu einer Folie in einer PowerPoint‑Präsentation hinzufügen: ```c# public static void Run() { - // Instanziiert ein Presentation-Objekt, das eine Präsentationsdatei darstellt + // Instanziert ein Presentation-Objekt, das eine Präsentationsdatei darstellt using (Presentation pres = new Presentation()) { AddVideoFromYouTube(pres, "Tj75Arhq5ho"); @@ -79,11 +78,11 @@ public static void Run() private static void AddVideoFromYouTube(Presentation pres, string videoId) { - // Fügt einen Video-Rahmen hinzu + // Fügt einen VideoFrame hinzu IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId); videoFrame.PlayMode = VideoPlayModePreset.Auto; - // Lädt das Miniaturbild + // Lädt das Vorschaubild using (WebClient client = new WebClient()) { string thumbnailUri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg"; @@ -92,27 +91,27 @@ private static void AddVideoFromYouTube(Presentation pres, string videoId) } ``` -## **Video von Folie extrahieren** -Neben dem Hinzufügen von Videos zu Folien ermöglicht es Aspose.Slides Ihnen auch, Videos, die in Präsentationen eingebettet sind, zu extrahieren. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/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/net/aspose.slides/islide) Objekte. -3. Durchlaufen Sie alle [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) Objekte, um einen [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe) zu finden. -4. Speichern Sie das Video auf der Festplatte. +## **Video aus Folie extrahieren** +Neben dem Hinzufügen von Videos zu Folien ermöglicht Aspose.Slides das Extrahieren von in Präsentationen eingebetteten Videos. -Dieser C#-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/net/aspose.slides/presentation), um die Präsentation zu laden, die das Video enthält. +2. Iterieren Sie über alle [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide)-Objekte. +3. Iterieren Sie über alle [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape)-Objekte, um einen [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe) zu finden. +4. Speichern Sie das Video auf dem Datenträger. +Dieser C#‑Code zeigt, wie Sie das Video auf einer Präsentationsfolie extrahieren: ```c# -// Instanziiert ein Presentation-Objekt, das eine Präsentationsdatei darstellt +// Instanziert ein Presentation-Objekt, das eine Präsentationsdatei darstellt Presentation presentation = new Presentation("Video.pptx"); -// Durchläuft die Folien +// Iteriert durch Folien foreach (ISlide slide in presentation.Slides) { - // Durchläuft die Formen + // Iteriert durch Formen foreach (IShape shape in presentation.Slides[0].Shapes) { - // Speichert das Video auf der Festplatte, sobald der Video-Rahmen mit dem Video gefunden wird + // Speichert das Video auf die Festplatte, sobald ein VideoFrame, das ein Video enthält, gefunden wurde if (shape is VideoFrame) { IVideoFrame vf = shape as IVideoFrame; @@ -127,4 +126,19 @@ foreach (ISlide slide in presentation.Slides) } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Welche Videowiedergabe‑Parameter können für einen VideoFrame geändert werden?** +Sie können den [Wiedergabemodus](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playmode/) (automatisch oder bei Klick) und das [Looping](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playloopmode/) steuern. Diese Optionen sind über die Eigenschaften des [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe/)‑Objekts verfügbar. + +**Wirkt sich das Hinzufügen eines Videos auf die PPTX‑Dateigröße aus?** +Ja. Wenn Sie ein lokales Video einbetten, werden die Binärdaten in das Dokument aufgenommen, sodass die Präsentationsgröße proportional zur Dateigröße anwächst. Wenn Sie ein Online‑Video hinzufügen, werden nur ein Link und ein Vorschaubild eingebettet, sodass die Größen­zunahme geringer ist. + +**Kann ich das Video in einem bestehenden VideoFrame ersetzen, ohne Position und Größe zu ändern?** +Ja. Sie können den [Video‑Inhalt](https://reference.aspose.com/slides/net/aspose.slides/videoframe/embeddedvideo/) im Frame austauschen, während Sie die Geometrie der Form beibehalten; dies ist ein häufiges Szenario zum Aktualisieren von Medien in einem bestehenden Layout. + +**Kann der Inhaltstyp (MIME) eines eingebetteten Videos ermittelt werden?** +Ja. Ein eingebettetes Video besitzt einen [Content‑Typ](https://reference.aspose.com/slides/net/aspose.slides/video/contenttype/), den Sie auslesen und verwenden können, beispielsweise beim Speichern auf dem Datenträger. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-ole/_index.md b/de/net/developer-guide/presentation-content/manage-ole/_index.md index 97126df3a1..9de1137021 100644 --- a/de/net/developer-guide/presentation-content/manage-ole/_index.md +++ b/de/net/developer-guide/presentation-content/manage-ole/_index.md @@ -1,331 +1,341 @@ --- -title: OLE verwalten +title: OLE in Präsentationen mit C# verwalten +linktitle: OLE verwalten type: docs weight: 40 url: /de/net/manage-ole/ keywords: +- OLE-Objekt +- Objektverknüpfung & Einbettung - OLE hinzufügen - OLE einbetten -- ein Objekt hinzufügen -- ein Objekt einbetten -- eine Datei einbetten +- Objekt hinzufügen +- Objekt einbetten +- Datei hinzufügen +- Datei einbetten - verknüpftes Objekt -- Objektverknüpfung und Einbettung -- OLE-Objekt -- PowerPoint +- verknüpfte Datei +- OLE ändern +- OLE-Symbol +- OLE-Titel +- OLE extrahieren +- Objekt extrahieren +- Datei extrahieren +- PowerPoint - Präsentation +- .NET - C# -- Csharp -- Aspose.Slides für .NET -description: Fügen Sie OLE-Objekte in PowerPoint-Präsentationen mit C# oder .NET hinzu +- Aspose.Slides +description: "Optimieren Sie die Verwaltung von OLE-Objekten in PowerPoint- und OpenDocument-Dateien mit Aspose.Slides für .NET. Betten Sie OLE-Inhalte nahtlos ein, aktualisieren und exportieren Sie sie." --- {{% alert title="Info" color="info" %}} - -OLE (Object Linking & Embedding) ist eine Microsoft-Technologie, die es ermöglicht, in einer Anwendung erstellte Daten und Objekte in einer anderen Anwendung durch Verknüpfung oder Einbettung zu platzieren. - +OLE (Object Linking & Embedding) ist eine Microsoft‑Technologie, mit der Daten und Objekte, die in einer Anwendung erstellt wurden, über Verknüpfung oder Einbettung in einer anderen Anwendung platziert werden können. {{% /alert %}} -Betrachten Sie ein Diagramm, das in MS Excel erstellt wurde. Das Diagramm wird dann in einer PowerPoint-Folie platziert. Dieses Excel-Diagramm wird als OLE-Objekt betrachtet. +Betrachten Sie ein Diagramm, das in MS Excel erstellt wurde. Das Diagramm wird anschließend in einer PowerPoint‑Folie platziert. Dieses Excel‑Diagramm wird als OLE‑Objekt betrachtet. -- Ein OLE-Objekt kann als Symbol erscheinen. In diesem Fall wird das Diagramm geöffnet, wenn Sie auf das Symbol doppelklicken, in der zugehörigen Anwendung (Excel), oder Sie werden aufgefordert, eine Anwendung zum Öffnen oder Bearbeiten des Objekts auszuwählen. -- Ein OLE-Objekt kann tatsächlich Inhalte anzeigen – zum Beispiel die Inhalte eines Diagramms. In diesem Fall wird das Diagramm in PowerPoint aktiviert, die Diagrammoberfläche wird geladen, und Sie können die Daten des Diagramms innerhalb der PowerPoint-App ändern. +- Ein OLE‑Objekt kann als Symbol angezeigt werden. In diesem Fall wird das Diagramm beim Doppelklick auf das Symbol in der zugehörigen Anwendung (Excel) geöffnet, oder es wird aufgefordert, eine Anwendung zum Öffnen oder Bearbeiten des Objekts auszuwählen. +- Ein OLE‑Objekt kann seinen tatsächlichen Inhalt anzeigen, beispielsweise den Inhalt eines Diagramms. In diesem Fall wird das Diagramm in PowerPoint aktiviert, die Diagrammschnittstelle geladen und Sie können die Diagrammdaten innerhalb von PowerPoint ändern. -[Aspose.Slides für .NET](https://products.aspose.com/slides/net/) ermöglicht es Ihnen, OLE-Objekte als OLE-Objektrahmen in Folien einzufügen ([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)). +[Aspose.Slides for .NET](https://products.aspose.com/slides/net/) ermöglicht das Einfügen von OLE‑Objekten in Folien als OLE‑Objekt‑Frames ([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)). -## **Hinzufügen von OLE-Objektrahmen zu Folien** -Angenommen, Sie haben bereits ein Diagramm in Microsoft Excel erstellt und möchten dieses Diagramm als OLE-Objektrahmen in eine Folie einbetten, indem Sie Aspose.Slides für .NET verwenden, dann können Sie es folgendermaßen tun: +## **Hinzufügen von OLE‑Objekt‑Frames zu Folien** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Erhalten Sie einen Verweis auf die Folie über ihren Index. -3. Öffnen Sie die Excel-Datei, die das Excel-Diagrammobjekt enthält, und speichern Sie sie in `MemoryStream`. -4. Fügen Sie den [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) zur Folie hinzu, indem Sie das Byte-Array und andere Informationen über das OLE-Objekt übergeben. -5. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Angenommen, Sie haben bereits ein Diagramm in Microsoft Excel erstellt und möchten es mithilfe von Aspose.Slides for .NET als OLE‑Objekt‑Frame in einer Folie einbetten, so können Sie vorgehen: -Im folgenden Beispiel haben wir ein Diagramm aus einer Excel-Datei als [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) in eine Folie eingefügt, indem wir Aspose.Slides für .NET verwendet haben. -**Hinweis:** Der [IOleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo) Konstruktor benötigt als zweiten Parameter eine einbettbare Objekterweiterung. Diese Erweiterung ermöglicht es PowerPoint, den Datei- oder Objekttyp korrekt zu interpretieren und die richtige Anwendung zum Öffnen dieses OLE-Objekts auszuwählen. +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. +2. Holen Sie die Referenz einer Folie über ihren Index. +3. Lesen Sie die Excel‑Datei als Byte‑Array. +4. Fügen Sie das [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) zur Folie hinzu und übergeben dabei das Byte‑Array sowie weitere Informationen zum OLE‑Objekt. +5. Schreiben Sie die modifizierte Präsentation als PPTX‑Datei. -``` csharp -// Instanziiert die Presentation-Klasse, die die PPTX-Datei darstellt -using (Presentation pres = new Presentation()) +Im folgenden Beispiel haben wir ein Diagramm aus einer Excel‑Datei mithilfe von Aspose.Slides for .NET als [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) zu einer Folie hinzugefügt. +**Hinweis**: Der Konstruktor von [OleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides.dom.ole/oleembeddeddatainfo/) akzeptiert als zweiten Parameter eine Erweiterung des einbettbaren Objekts. Diese Erweiterung ermöglicht es PowerPoint, den Dateityp korrekt zu interpretieren und die passende Anwendung zum Öffnen dieses OLE‑Objekts zu wählen. +```csharp +using (Presentation presentation = new Presentation()) { - // Greift auf die erste Folie zu - ISlide sld = pres.Slides[0]; - - // Lädt eine Excel-Datei in den Stream - MemoryStream mstream = new MemoryStream(); - using (FileStream fs = new FileStream("book1.xlsx", FileMode.Open, FileAccess.Read)) - { - byte[] buf = new byte[4096]; - - while (true) - { - int bytesRead = fs.Read(buf, 0, buf.Length); - if (bytesRead <= 0) - break; - mstream.Write(buf, 0, bytesRead); - } - } + SizeF slideSize = presentation.SlideSize.Size; + ISlide slide = presentation.Slides[0]; - // Erstellt ein Datenobjekt für die Einbettung - IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(mstream.ToArray(), "xlsx"); + // Daten für das OLE-Objekt vorbereiten. + byte[] fileData = File.ReadAllBytes("book.xlsx"); + IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(fileData, "xlsx"); - // Fügt eine Ole Object Frame-Form hinzu - IOleObjectFrame oleObjectFrame = sld.Shapes.AddOleObjectFrame(0, 0, pres.SlideSize.Size.Width, - pres.SlideSize.Size.Height, dataInfo); + // OLE-Objekt-Frame zur Folie hinzufügen. + slide.Shapes.AddOleObjectFrame(0, 0, slideSize.Width, slideSize.Height, dataInfo); - //Speichert die PPTX-Datei auf der Festplatte - pres.Save("OleEmbed_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -### Hinzufügen von verknüpften OLE-Objektrahmen -Aspose.Slides für .NET ermöglicht es Ihnen, einen [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) hinzuzufügen, ohne Daten einzubetten, sondern nur mit einem Link zur Datei. -Dieser C#-Code zeigt Ihnen, wie Sie einen [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) mit einer verknüpften Excel-Datei zu einer Folie hinzufügen: +### **Hinzufügen verknüpfter OLE‑Objekt‑Frames** -``` csharp -using (Presentation pres = new Presentation()) +Aspose.Slides for .NET ermöglicht das Hinzufügen eines [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) ohne Einbetten von Daten, sondern nur mit einem Link zur Datei. + +Dieser C#‑Code zeigt, wie ein [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) mit einer verknüpften Excel‑Datei zu einer Folie hinzugefügt wird: +```csharp +using (Presentation presentation = new Presentation()) { - // Greift auf die erste Folie zu - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // Fügt einen Ole Object Frame mit einer verknüpften Excel-Datei hinzu - IOleObjectFrame oleObjectFrame = slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book1.xlsx"); + // OLE-Objekt-Frame mit verknüpfter Excel-Datei hinzufügen. + slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book.xlsx"); - // Speichert die PPTX-Datei auf der Festplatte - pres.Save("OleLinked_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Zugriff auf OLE-Objektrahmen** -Wenn ein OLE-Objekt bereits in einer Folie eingebettet ist, können Sie dieses Objekt einfach folgendermaßen finden oder darauf zugreifen: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Erhalten Sie den Verweis auf die Folie, indem Sie ihren Index verwenden. -3. Greifen Sie auf die [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) Form zu. - In unserem Beispiel verwendeten wir die zuvor erstellte PPTX, die nur eine Form auf der ersten Folie hat. Wir haben dann dieses Objekt als [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) *cast*. Dies war der gewünschte OLE-Objektrahmen, auf den zugegriffen werden sollte. -4. Sobald der OLE-Objektrahmen zugänglich ist, können Sie jede Operation an ihm durchführen. -Im folgenden Beispiel wird ein OLE-Objektrahmen (ein in eine Folie eingebettetes Excel-Diagrammobjekt) zugegriffen, und die Dateidaten werden in eine Excel-Datei geschrieben: -``` csharp -// Lädt die PPTX in ein Präsentationsobjekt -using (Presentation pres = new Presentation("AccessingOLEObjectFrame.pptx")) + +## **Zugriff auf OLE‑Objekt‑Frames** + +Ist ein OLE‑Objekt bereits in einer Folie eingebettet, können Sie es folgendermaßen leicht finden oder darauf zugreifen: + +1. Laden Sie eine Präsentation mit dem eingebetteten OLE‑Objekt, indem Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse erstellen. +2. Holen Sie die Referenz der Folie über ihren Index. +3. Greifen Sie auf die [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)‑Form zu. + In unserem Beispiel haben wir das zuvor erstellte PPTX verwendet, das auf der ersten Folie nur eine Form enthält. Wir haben dieses Objekt anschließend *gecastet* zu einem [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe). Das war der gewünschte OLE‑Objekt‑Frame, auf den zugegriffen werden sollte. +4. Sobald der OLE‑Objekt‑Frame zugänglich ist, können Sie beliebige Operationen darauf ausführen. + +Im folgenden Beispiel wird ein OLE‑Objekt‑Frame (ein in einer Folie eingebettetes Excel‑Diagramm) und dessen Dateidaten abgerufen. +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) { - // Greift auf die erste Folie zu - ISlide sld = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // Castet die Form zu OleObjectFrame - OleObjectFrame oleObjectFrame = sld.Shapes[0] as OleObjectFrame; + // Erhalte die erste Form als OLE-Objekt-Frame. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // Liest das OLE-Objekt und schreibt es auf die Festplatte - if (oleObjectFrame != null) + if (oleFrame != null) { - // Erhält die eingebetteten Dateidaten - byte[] data = oleObjectFrame.EmbeddedData.EmbeddedFileData; - - // Erhält die eingebettete Dateierweiterung - string fileExtension = oleObjectFrame.EmbeddedData.EmbeddedFileExtension; + // Erhalte die eingebetteten Dateidaten. + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; - // Erstellt einen Pfad zum Speichern der extrahierten Datei - string extractedPath = "excelFromOLE_out" + fileExtension; + // Erhalte die Dateierweiterung der eingebetteten Datei. + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; - // Speichert die extrahierten Daten - using (FileStream fstr = new FileStream(extractedPath, FileMode.Create, FileAccess.Write)) - { - fstr.Write(data, 0, data.Length); - } + // ... } } ``` -### Zugriff auf die Eigenschaften von verknüpften OLE-Objektrahmen -Aspose.Slides ermöglicht Ihnen den Zugriff auf die Eigenschaften von verbundenen OLE-Objektrahmen. +### **Zugriff auf Eigenschaften verknüpfter OLE‑Objekt‑Frames** -Dieser C#-Code zeigt Ihnen, wie Sie überprüfen können, ob ein OLE-Objekt verknüpft ist, und dann den Pfad zur verknüpften Datei abrufen: +Aspose.Slides ermöglicht den Zugriff auf die Eigenschaften verknüpfter OLE‑Objekt‑Frames. + +Dieser C#‑Code zeigt, wie geprüft wird, ob ein OLE‑Objekt verknüpft ist, und wie anschließend der Pfad zur verknüpften Datei ermittelt wird: ```csharp -using (Presentation pres = new Presentation("OleLinked.ppt")) -{ - // Greift auf die erste Folie zu - ISlide slide = pres.Slides[0]; - - // Erhält die erste Form als Ole Object Frame - OleObjectFrame oleObjectFrame = slide.Shapes[0] as OleObjectFrame; - - // Überprüft, ob das Ole-Objekt verknüpft ist. - if (oleObjectFrame != null && oleObjectFrame.IsObjectLink) - { - // Gibt den vollständigen Pfad zu einer verlinkten Datei aus - Console.WriteLine("Ole Object Frame ist verknüpft mit: " + oleObjectFrame.LinkPathLong); - - // Gibt den relativen Pfad zu einer verlinkten Datei aus, falls vorhanden. - // Nur die PPT-Präsentationen können den relativen Pfad enthalten. - string relativePath = oleObjectFrame.LinkPathRelative; - if (!string.IsNullOrEmpty(relativePath)) - { - Console.WriteLine("Ole Object Frame relativer Pfad: " + oleObjectFrame.LinkPathRelative); - } - } -} -``` -## **Ändern von OLE-Objektdaten** - -Wenn ein OLE-Objekt bereits in einer Folie eingebettet ist, können Sie dieses Objekt einfach aufrufen und seine Daten folgendermaßen ändern: - -1. Öffnen Sie die gewünschte Präsentation mit dem eingebetteten OLE-Objekt, indem Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse erstellen. -2. Erhalten Sie den Verweis auf die Folie über ihren Index. -3. Greifen Sie auf die [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) Form zu. - In unserem Beispiel verwendeten wir die zuvor erstellte PPTX, die eine Form auf der ersten Folie hat. Wir haben dann dieses Objekt als [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) *cast*. Dies war der gewünschte OLE-Objektrahmen, auf den zugegriffen werden sollte. -4. Sobald der OLE-Objektrahmen zugänglich ist, können Sie jede Operation an ihm durchführen. -5. Erstellen Sie das Workbook-Objekt und greifen Sie auf die OLE-Daten zu. -6. Greifen Sie auf das gewünschte Arbeitsblatt zu und ändern Sie die Daten. -7. Speichern Sie das aktualisierte Workbook in Streams. -8. Ändern Sie die OLE-Objektdaten aus den Stream-Daten. -Im folgenden Beispiel wird ein OLE-Objektrahmen (ein in eine Folie eingebettetes Excel-Diagrammobjekt) zugegriffen und dann werden seine Dateidaten geändert, um die Diagrammdaten zu ändern: -``` csharp -using (Presentation pres = new Presentation("ChangeOLEObjectData.pptx")) +using (Presentation presentation = new Presentation("sample.ppt")) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - OleObjectFrame ole = null; + // Erhalte die erste Form als OLE-Objekt-Frame. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // Durchläuft alle Formen für Ole-Rahmen - foreach (IShape shape in slide.Shapes) + // Prüfe, ob das OLE-Objekt verknüpft ist. + if (oleFrame != null && oleFrame.IsObjectLink) { - if (shape is OleObjectFrame) + // Gib den vollständigen Pfad zur verknüpften Datei aus. + Console.WriteLine("OLE object frame is linked to: " + oleFrame.LinkPathLong); + + // Gib den relativen Pfad zur verknüpften Datei aus, falls vorhanden. + // Nur PPT-Präsentationen können den relativen Pfad enthalten. + if (!string.IsNullOrEmpty(oleFrame.LinkPathRelative)) { - ole = (OleObjectFrame)shape; + Console.WriteLine("OLE object frame relative path: " + oleFrame.LinkPathRelative); } } +} +``` + + +## **Ändern von OLE‑Objektdaten** + +{{% alert color="primary" %}} +In diesem Abschnitt verwendet das untenstehende Code‑Beispiel [Aspose.Cells for .NET](/cells/net/). +{{% /alert %}} + +Ist ein OLE‑Objekt bereits in einer Folie eingebettet, können Sie dieses Objekt auf diese Weise leicht zugreifen und dessen Daten ändern: + +1. Laden Sie eine Präsentation mit dem eingebetteten OLE‑Objekt, indem Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse erstellen. +2. Holen Sie die Referenz der Folie über ihren Index. +3. Greifen Sie auf die [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)‑Form zu. + In unserem Beispiel haben wir das zuvor erstellte PPTX verwendet, das auf der ersten Folie eine Form enthält. Wir haben dieses Objekt anschließend *gecastet* zu einem [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe). Das war der gewünschte OLE‑Objekt‑Frame, auf den zugegriffen werden sollte. +4. Sobald der OLE‑Objekt‑Frame zugänglich ist, können Sie beliebige Operationen darauf ausführen. +5. Erstellen Sie ein `Workbook`‑Objekt und greifen Sie auf die OLE‑Daten zu. +6. Greifen Sie auf das gewünschte `Worksheet` zu und ändern Sie die Daten. +7. Speichern Sie das aktualisierte `Workbook` in einen Stream. +8. Ändern Sie die OLE‑Objektdaten aus dem Stream. + +Im folgenden Beispiel wird ein OLE‑Objekt‑Frame (ein in einer Folie eingebettetes Excel‑Diagramm) abgerufen und dessen Dateidaten geändert, um die Diagrammdaten zu aktualisieren. +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) +{ + ISlide slide = presentation.Slides[0]; - if (ole != null) + // Erhalte die erste Form als OLE-Objekt-Frame. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; + + if (oleFrame != null) { - using (MemoryStream msln = new MemoryStream(ole.EmbeddedData.EmbeddedFileData)) + using (MemoryStream oleStream = new MemoryStream(oleFrame.EmbeddedData.EmbeddedFileData)) { - // Liest Objekt Daten im Workbook - Workbook Wb = new Workbook(msln); + // Lese die OLE-Objektdaten als Workbook-Objekt. + Workbook workbook = new Workbook(oleStream); - using (MemoryStream msout = new MemoryStream()) + using (MemoryStream newOleStream = new MemoryStream()) { - // Modifiziert die Workbook-Daten - Wb.Worksheets[0].Cells[0, 4].PutValue("E"); - Wb.Worksheets[0].Cells[1, 4].PutValue(12); - Wb.Worksheets[0].Cells[2, 4].PutValue(14); - Wb.Worksheets[0].Cells[3, 4].PutValue(15); - - OoxmlSaveOptions so1 = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); - Wb.Save(msout, so1); - - // Ändert die Ole-Rahmenobjektdaten - IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(msout.ToArray(), ole.EmbeddedData.EmbeddedFileExtension); - ole.SetEmbeddedData(newData); + // Ändere die Arbeitsmappendaten. + workbook.Worksheets[0].Cells[0, 4].PutValue("E"); + workbook.Worksheets[0].Cells[1, 4].PutValue(12); + workbook.Worksheets[0].Cells[2, 4].PutValue(14); + workbook.Worksheets[0].Cells[3, 4].PutValue(15); + + OoxmlSaveOptions fileOptions = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); + workbook.Save(newOleStream, fileOptions); + + // Ändere die OLE-Frame-Objektdaten. + IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(newOleStream.ToArray(), oleFrame.EmbeddedData.EmbeddedFileExtension); + oleFrame.SetEmbeddedData(newData); } } } - pres.Save("OleEdit_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Einbetten anderer Dateitypen in Folien** -Neben Excel-Diagrammen ermöglicht Aspose.Slides für .NET das Einbetten anderer Dateitypen in Folien. Zum Beispiel können Sie HTML-, PDF- und ZIP-Dateien als Objekte in eine Folie einfügen. Wenn ein Benutzer auf das eingefügte Objekt doppelklickt, wird das Objekt automatisch im relevanten Programm gestartet oder der Benutzer wird aufgefordert, ein entsprechendes Programm zum Öffnen des Objekts auszuwählen. -Dieser C#-Code zeigt Ihnen, wie Sie HTML und ZIP in eine Folie einbetten: +## **Einbetten anderer Dateitypen in Folien** + +Neben Excel‑Diagrammen ermöglicht Aspose.Slides for .NET das Einbetten weiterer Dateitypen in Folien. Beispielsweise können Sie HTML-, PDF‑ und ZIP‑Dateien als Objekte einfügen. Wenn ein Benutzer das eingefügte Objekt doppelklickt, wird es automatisch im entsprechenden Programm geöffnet, oder der Benutzer wird aufgefordert, ein geeignetes Programm zum Öffnen auszuwählen. +Dieser C#‑Code zeigt, wie HTML und ZIP in eine Folie eingebettet werden: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - - byte[] htmlBytes = File.ReadAllBytes("embedOle.html"); - IOleEmbeddedDataInfo dataInfoHtml = new OleEmbeddedDataInfo(htmlBytes, "html"); - IOleObjectFrame oleFrameHtml = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, dataInfoHtml); - oleFrameHtml.IsObjectIcon = true; - - byte[] zipBytes = File.ReadAllBytes("embedOle.zip"); - IOleEmbeddedDataInfo dataInfoZip = new OleEmbeddedDataInfo(zipBytes, "zip"); - IOleObjectFrame oleFrameZip = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, dataInfoZip); - oleFrameZip.IsObjectIcon = true; - - pres.Save("embeddedOle.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + + byte[] htmlData = File.ReadAllBytes("sample.html"); + IOleEmbeddedDataInfo htmlDataInfo = new OleEmbeddedDataInfo(htmlData, "html"); + IOleObjectFrame htmlOleFrame = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, htmlDataInfo); + htmlOleFrame.IsObjectIcon = true; + + byte[] zipData = File.ReadAllBytes("sample.zip"); + IOleEmbeddedDataInfo zipDataInfo = new OleEmbeddedDataInfo(zipData, "zip"); + IOleObjectFrame zipOleFrame = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, zipDataInfo); + zipOleFrame.IsObjectIcon = true; + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Festlegen von Dateitypen für eingebettete Objekte** -Bei der Arbeit an Präsentationen müssen Sie möglicherweise alte OLE-Objekte durch neue ersetzen. Oder Sie müssen ein nicht unterstütztes OLE-Objekt durch ein unterstütztes ersetzen. -Aspose.Slides für .NET ermöglicht es Ihnen, den Dateityp für ein eingebettetes Objekt festzulegen. Auf diese Weise können Sie die OLE-Rahmendaten oder ihre Erweiterung ändern. +## **Festlegen von Dateitypen für eingebettete Objekte** -Dieser C#-Code zeigt Ihnen, wie Sie den Dateityp für ein eingebettetes OLE-Objekt festlegen: +Beim Arbeiten mit Präsentationen kann es erforderlich sein, alte OLE‑Objekte durch neue zu ersetzen oder ein nicht unterstütztes OLE‑Objekt durch ein unterstütztes zu ersetzen. Aspose.Slides for .NET ermöglicht das Festlegen des Dateityps für ein eingebettetes Objekt, sodass Sie die OLE‑Frame‑Daten oder dessen Erweiterung aktualisieren können. +Dieser C#‑Code zeigt, wie der Dateityp für ein eingebettetes OLE‑Objekt auf `zip` gesetzt wird: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; - Console.WriteLine($"Aktuelle eingebettete Daten Erweiterung ist: {oleObjectFrame.EmbeddedData.EmbeddedFileExtension}"); - - oleObjectFrame.SetEmbeddedData(new OleEmbeddedDataInfo(File.ReadAllBytes("embedOle.zip"), "zip")); - - pres.Save("embeddedChanged.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + + Console.WriteLine($"Current embedded file extension is: {fileExtension}"); + + // Dateityp auf ZIP ändern. + oleFrame.SetEmbeddedData(new OleEmbeddedDataInfo(fileData, "zip")); + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Festlegen von Symbolbildern und Titeln für eingebettete Objekte** -Nachdem Sie ein OLE-Objekt eingebettet haben, wird automatisch eine Vorschau mit einem Symbolbild und einem Titel hinzugefügt. Die Vorschau ist das, was Benutzer sehen, bevor sie auf das OLE-Objekt zugreifen oder es öffnen. -Wenn Sie ein bestimmtes Bild und einen bestimmten Text als Elemente in der Vorschau verwenden möchten, können Sie das Symbolbild und den Titel mit Aspose.Slides für .NET festlegen. +## **Festlegen von Symbolbildern und Titeln für eingebettete Objekte** -Dieser C#-Code zeigt Ihnen, wie Sie das Symbolbild und den Titel für ein eingebettetes Objekt festlegen: +Nach dem Einbetten eines OLE‑Objekts wird automatisch eine Vorschau in Form eines Symbolbildes hinzugefügt. Diese Vorschau sehen die Benutzer, bevor sie auf das OLE‑Objekt zugreifen oder es öffnen. Möchten Sie ein bestimmtes Bild und einen Text als Elemente der Vorschau verwenden, können Sie das Symbolbild und den Titel mit Aspose.Slides for .NET festlegen. +Dieser C#‑Code zeigt, wie das Symbolbild und der Titel für ein eingebettetes Objekt festgelegt werden: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + // Bild zu den Präsentationsressourcen hinzufügen. + byte[] imageData = File.ReadAllBytes("image.png"); + IPPImage oleImage = presentation.Images.AddImage(imageData); - IPPImage oleImage = pres.Images.AddImage(File.ReadAllBytes("image.png")); - oleObjectFrame.SubstitutePictureTitle = "Mein Titel"; - oleObjectFrame.SubstitutePictureFormat.Picture.Image = oleImage; - oleObjectFrame.IsObjectIcon = false; + // Titel und Bild für die OLE-Vorschau festlegen. + oleFrame.SubstitutePictureTitle = "My title"; + oleFrame.SubstitutePictureFormat.Picture.Image = oleImage; + oleFrame.IsObjectIcon = true; - pres.Save("embeddedOle-newImage.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Verhindern, dass ein OLE-Objektrahmen geändert oder repositioniert wird** -Nachdem Sie ein verknüpftes OLE-Objekt zu einer Präsentationsfolie hinzugefügt haben, sehen Sie möglicherweise eine Nachricht, die Sie auffordert, die Links zu aktualisieren, wenn Sie die Präsentation in PowerPoint öffnen. Ein Klick auf die Schaltfläche "Links aktualisieren" kann die Größe und Position des OLE-Objektrahmens ändern, da PowerPoint die Daten aus dem verknüpften OLE-Objekt aktualisiert und die Objektvorschau auffrischt. Um zu verhindern, dass PowerPoint zur Aktualisierung der Objektdaten aufgefordert wird, setzen Sie die `UpdateAutomatic`-Eigenschaft des [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/) Interfaces auf `false`: +## **Verhindern, dass ein OLE‑Objekt‑Frame skaliert und neu positioniert wird** +Nachdem Sie ein verknüpftes OLE‑Objekt zu einer Präsentationsfolie hinzugefügt haben, kann beim Öffnen der Präsentation in PowerPoint eine Meldung erscheinen, die Sie auffordert, die Verknüpfungen zu aktualisieren. Das Klicken auf die Schaltfläche „Links aktualisieren“ kann die Größe und Position des OLE‑Objekt‑Frames ändern, da PowerPoint die Daten des verknüpften OLE‑Objekts aktualisiert und die Objektvorschau neu erstellt. Um zu verhindern, dass PowerPoint zur Aktualisierung der Objektdaten auffordert, setzen Sie die Eigenschaft `UpdateAutomatic` der Schnittstelle [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/) auf `false`: ```cs -oleObjectFrame.UpdateAutomatic = false; +oleFrame.UpdateAutomatic = false; ``` -## **Extrahieren von eingebetteten Dateien** -Aspose.Slides für .NET erlaubt es Ihnen, die in Folien als OLE-Objekte eingebetteten Dateien folgendermaßen zu extrahieren: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse, die das OLE-Objekt enthält, das Sie extrahieren möchten. -2. Durchlaufen Sie alle Formen in der Präsentation und greifen Sie auf die [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) Form zu. -3. Greifen Sie auf die Daten der eingebetteten Datei aus dem OLE-Objektrahmen zu und schreiben Sie sie auf die Festplatte. -Dieser C#-Code zeigt Ihnen, wie Sie eine in einer Folie als OLE-Objekt eingebettete Datei extrahieren: +## **Extrahieren eingebetteter Dateien** + +Aspose.Slides for .NET ermöglicht das Extrahieren von in Folien eingebetteten Dateien als OLE‑Objekte folgendermaßen: + +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse, die die zu extrahierenden OLE‑Objekte enthält. +2. Durchlaufen Sie alle Formen in der Präsentation und greifen Sie auf die [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)‑Formen zu. +3. Greifen Sie auf die Daten der eingebetteten Dateien aus OLE‑Object‑Frames zu und schreiben Sie sie auf die Festplatte. + +Dieser C#‑Code zeigt, wie Dateien, die in einer Folie als OLE‑Objekte eingebettet sind, extrahiert werden: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - for (var index = 0; index < slide.Shapes.Count; index++) + for (int index = 0; index < slide.Shapes.Count; index++) { IShape shape = slide.Shapes[index]; - IOleObjectFrame oleFrame = shape as IOleObjectFrame; - + if (oleFrame != null) { - byte[] data = oleFrame.EmbeddedData.EmbeddedFileData; - string extension = oleFrame.EmbeddedData.EmbeddedFileExtension; - - File.WriteAllBytes($"oleFrame{index}{extension}", data); + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + + string filePath = $"OLE_object_{index}{fileExtension}"; + File.WriteAllBytes(filePath, fileData); } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Wird der OLE‑Inhalt beim Exportieren von Folien zu PDF/Bildern gerendert?** + +Es wird das auf der Folie sichtbare Element gerendert – das Symbol/Ersetzungsbild (Vorschau). Der „live“ OLE‑Inhalt wird beim Rendern nicht ausgeführt. Bei Bedarf können Sie ein eigenes Vorschau­bild festlegen, um das erwartete Erscheinungsbild im exportierten PDF zu gewährleisten. + +**Wie kann ich ein OLE‑Objekt auf einer Folie sperren, sodass Benutzer es in PowerPoint nicht verschieben/bearbeiten können?** + +Sperren Sie die Form: Aspose.Slides bietet [Form‑Ebene‑Sperren](/slides/de/net/applying-protection-to-presentation/). Dies ist keine Verschlüsselung, verhindert jedoch effektiv versehentliche Änderungen und Bewegungen. + +**Warum „springt“ ein verknüpftes Excel‑Objekt oder ändert seine Größe, wenn ich die Präsentation öffne?** + +PowerPoint kann die Vorschau des verknüpften OLE‑Objekts aktualisieren. Für ein stabiles Erscheinungsbild sollten Sie den Empfehlungen der [Working Solution for Worksheet Resizing](/slides/de/net/working-solution-for-worksheet-resizing/) folgen – entweder den Rahmen an den Bereich anpassen oder den Bereich auf einen festen Rahmen skalieren und ein geeignetes Ersetzungsbild festlegen. + +**Werden relative Pfade für verknüpfte OLE‑Objekte im PPTX‑Format beibehalten?** + +Im PPTX‑Format sind Informationen zu „relativen Pfaden“ nicht verfügbar – nur der vollständige Pfad. Relative Pfade existieren im älteren PPT‑Format. Für Portabilität sollten Sie zuverlässige absolute Pfade/erreichbare URIs oder das Einbetten bevorzugen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-text/animated-text/_index.md b/de/net/developer-guide/presentation-content/manage-text/animated-text/_index.md index f2d5d61979..7e300cd3c4 100644 --- a/de/net/developer-guide/presentation-content/manage-text/animated-text/_index.md +++ b/de/net/developer-guide/presentation-content/manage-text/animated-text/_index.md @@ -2,37 +2,35 @@ title: Animierter Text type: docs weight: 60 -url: /de/net/animierter-text/ -keywords: "Animierter Text, Animationseffekte, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Fügen Sie animierten Text und Effekte zu einer PowerPoint-Präsentation in C# oder .NET hinzu" +url: /de/net/animated-text/ +keywords: "Animierter Text, Animationseffekte, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides for .NET" +description: "Animierten Text und Effekte zu einer PowerPoint-Präsentation in C# oder .NET hinzufügen" --- -## Hinzufügen von Animationseffekten zu Absätzen - -Wir haben die [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) Methode zu den [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) und [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence) Klassen hinzugefügt. Diese Methode ermöglicht es Ihnen, Animationseffekte zu einem einzelnen Absatz hinzuzufügen. Dieser Beispielcode zeigt Ihnen, wie Sie einen Animationseffekt zu einem einzelnen Absatz hinzufügen: +## **Hinzufügen von Animationseffekten zu Absätzen** +Wir haben die [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) Methode zur [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) und [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence) Klasse hinzugefügt. Mit dieser Methode können Sie einem einzelnen Absatz Animations­effekte hinzufügen. Der folgende Beispielcode zeigt, wie Sie einem einzelnen Absatz einen Animations­effekt hinzufügen: ```c# using (Presentation presentation = new Presentation(dataDir + "Presentation1.pptx")) { - // Absatz zum Hinzufügen eines Effekts auswählen + // Absatz auswählen, um Effekt hinzuzufügen IAutoShape autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; // Fly-Animationseffekt zum ausgewählten Absatz hinzufügen IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(paragraph, EffectType.Fly, EffectSubtype.Left, EffectTriggerType.OnClick); + presentation.Save(dataDir + "AnimationEffectinParagraph.pptx", SaveFormat.Pptx); } ``` +## **Abrufen der Animationseffekte in Absätzen** -## Abrufen der Animationseffekte in Absätzen - -Sie möchten möglicherweise herausfinden, welche Animationseffekte einem Absatz hinzugefügt wurden – zum Beispiel in einem Szenario, in dem Sie die Animationseffekte in einem Absatz abrufen möchten, weil Sie planen, diese Effekte auf einen anderen Absatz oder eine andere Form anzuwenden. - -Aspose.Slides für .NET ermöglicht es Ihnen, alle Animationseffekte abzurufen, die auf die Absätze in einem Textfeld (Form) angewendet wurden. Dieser Beispielcode zeigt Ihnen, wie Sie die Animationseffekte in einem Absatz abrufen: +Sie möchten möglicherweise die zu einem Absatz hinzugefügten Animations­effekte herausfinden – zum Beispiel, wenn Sie die Animations­effekte eines Absatzes erhalten wollen, um sie auf einen anderen Absatz oder ein Shape anzuwenden. +Aspose.Slides for .NET ermöglicht es Ihnen, alle auf Absätze in einem Textfeld (Shape) angewendeten Animations­effekte abzurufen. Der folgende Beispielcode zeigt, wie Sie die Animations­effekte in einem Absatz abrufen: ```c# using (Presentation pres = new Presentation("Test.pptx")) { @@ -44,7 +42,22 @@ using (Presentation pres = new Presentation("Test.pptx")) IEffect[] effects = sequence.GetEffectsByParagraph(paragraph); if (effects.Length > 0) - Console.WriteLine("Absatz \"" + paragraph.Text + "\" hat " + effects[0].Type + " Effekt."); + Console.WriteLine("Paragraph \"" + paragraph.Text + "\" has " + effects[0].Type + " effect."); } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Wie unterscheiden sich Textanimationen von Folienübergängen, und können sie kombiniert werden?** + +Textanimationen steuern das Verhalten von Objekten über die Zeit auf einer Folie, während [transitions](/slides/de/net/slide-transition/) kontrollieren, wie Folien wechseln. Sie sind unabhängig und können zusammen verwendet werden; die Wiedergabereihenfolge wird durch die Animations­zeitlinie und die Übergangseinstellungen bestimmt. + +**Werden Textanimationen beim Exportieren in PDF oder Bilder beibehalten?** + +Nein. PDF und Rasterbilder sind statisch, sodass Sie einen einzelnen Zustand der Folie ohne Bewegung sehen. Um die Bewegung zu erhalten, verwenden Sie den Export als [video](/slides/de/net/convert-powerpoint-to-video/) oder [HTML](/slides/de/net/export-to-html5/). + +**Funktionieren Textanimationen in Layouts und im Folienmaster?** + +Auf Layout-/Master‑Objekte angewendete Effekte werden von den Folien geerbt, jedoch hängen ihr Timing und ihre Interaktion mit Folien‑Ebene‑Animationen von der endgültigen Reihenfolge auf der Folie ab. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md b/de/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md index 3cdaceb994..9b7b8dd081 100644 --- a/de/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md +++ b/de/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md @@ -1,125 +1,152 @@ --- -title: Text aus Präsentation extrahieren +title: Erweiterte Textextraktion aus Präsentationen in C# +linktitle: Text extrahieren type: docs weight: 90 url: /de/net/extract-text-from-presentation/ -keywords: "Text von Folie extrahieren, Text aus PowerPoint extrahieren, C#, Csharp, Aspose.Slides für .NET" -description: "Text aus Folie oder PowerPoint-Präsentation in C# oder .NET extrahieren" +keywords: +- Text extrahieren +- Text aus Folie extrahieren +- Text aus Präsentation extrahieren +- Text aus PowerPoint extrahieren +- Text aus PPT extrahieren +- Text aus PPTX extrahieren +- Text aus ODP extrahieren +- C# +- .NET +- Aspose.Slides +description: "Erfahren Sie, wie Sie Text aus PowerPoint-Präsentationen mit Aspose.Slides für .NET schnell und einfach extrahieren können. Folgen Sie unserer einfachen Schritt-für-Schritt-Anleitung, um Zeit zu sparen und effizient auf Folieninhalte in Ihren Anwendungen zuzugreifen." --- -{{% alert color="primary" %}} +## **Überblick** -Es ist nicht ungewöhnlich, dass Entwickler den Text aus einer Präsentation extrahieren müssen. Um dies zu tun, müssen Sie den Text aus allen Formen auf allen Folien in einer Präsentation extrahieren. Dieser Artikel erklärt, wie man Text aus Microsoft PowerPoint PPTX-Präsentationen mithilfe von Aspose.Slides extrahiert. Text kann auf folgende Arten extrahiert werden: +Das Extrahieren von Text aus Präsentationen ist eine gängige, aber wesentliche Aufgabe für Entwickler, die mit Folieninhalten arbeiten. Egal, ob Sie Microsoft PowerPoint-Dateien im PPT- oder PPTX-Format oder OpenDocument-Präsentationen (ODP) bearbeiten, der Zugriff auf und das Abrufen von Textdaten kann für Analysen, Automatisierung, Indexierung oder die Migration von Inhalten entscheidend sein. -- [Text von einer Folie extrahieren](/slides/de/net/extracting-text-from-the-presentation/) -- [Text mit der GetAllTextBoxes-Methode extrahieren](/slides/de/net/extracting-text-from-the-presentation/) -- [Kategorisierte und schnelle Textextraktion](/slides/de/net/extracting-text-from-the-presentation/) +Dieser Artikel bietet eine umfassende Anleitung, wie Sie Text aus verschiedenen Präsentationsformaten, einschließlich PPT, PPTX und ODP, mithilfe von Aspose.Slides für .NET effizient extrahieren. Sie lernen, wie Sie systematisch durch Präsentationselemente iterieren, um den benötigten Textinhalt exakt zu erhalten. -{{% /alert %}} -## **Text von Folie extrahieren** -Aspose.Slides für .NET bietet den Namespace Aspose.Slides.Util, der die Klasse SlideUtil enthält. Diese Klasse stellt eine Reihe von überladenen statischen Methoden zur Verfügung, um den gesamten Text aus einer Präsentation oder Folie zu extrahieren. Um den Text aus einer Folie in einer PPTX-Präsentation zu extrahieren, verwenden Sie die überladene statische Methode [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextboxes), die von der Klasse SlideUtil bereitgestellt wird. Diese Methode akzeptiert das Slide-Objekt als Parameter. -Bei der Ausführung scannt die Slide-Methode den gesamten Text von der als Parameter übergebenen Folie und gibt ein Array von TextFrame-Objekten zurück. Das bedeutet, dass alle Textformatierungen, die mit dem Text verbunden sind, verfügbar sind. Der folgende Code extrahiert allen Text auf der ersten Folie der Präsentation: +## **Text aus einer Folie extrahieren** -```c# -//Instatiate Presentation class that represents a PPTX file -Presentation pptxPresentation = new Presentation("demo.pptx"); +Aspose.Slides für .NET stellt den Namespace [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/) bereit, der die Klasse [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/) enthält. Diese Klasse bietet mehrere überladene statische Methoden zum Extrahieren des gesamten Textes aus einer Präsentation oder Folie. Um Text aus einer Folie einer Präsentation zu extrahieren, verwenden Sie die Methode [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextboxes/). Diese Methode akzeptiert ein Objekt vom Typ [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) als Parameter. Bei Ausführung scannt die Methode die gesamte Folie nach Text und gibt ein Array von Objekten des Typs [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) zurück, wobei sämtliche Textformatierungen beibehalten werden. -//Get an Array of ITextFrame objects from all slides in the PPTX -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +Der folgende Codeausschnitt extrahiert den gesamten Text aus der ersten Folie der Präsentation: +```cs +int slideIndex = 0; -//Loop through the Array of TextFrames -for (int i = 0; i < textFramesPPTX.Length; i++) +// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei (PPT, PPTX, ODP usw.) repräsentiert. +using Presentation presentation = new Presentation("demo.pptx"); + +// Holen Sie eine Referenz zur Folie. +ISlide slide = presentation.Slides[slideIndex]; + +// Erhalten Sie ein Array von Textframes aus der Folie. +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextBoxes(slide); + +// Durchlaufen Sie das Array der Textframes. +for (int i = 0; i < textFrames.Length; i++) { - //Loop through paragraphs in current ITextFrame - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) - { - //Loop through portions in the current IParagraph - foreach (IPortion port in para.Portions) - { - //Display text in the current portion - Console.WriteLine(port.Text); - - //Display font height of the text - Console.WriteLine(port.PortionFormat.FontHeight); - - //Display font name of the text - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } - } + // Durchlaufen Sie die Absätze im aktuellen Textframe. + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // Durchlaufen Sie die Textteile im aktuellen Absatz. + foreach (IPortion portion in paragraph.Portions) + { + // Geben Sie den Text im aktuellen Textteil aus. + Console.WriteLine(portion.Text); + + // Geben Sie die Schriftgröße des Textes aus. + Console.WriteLine(portion.PortionFormat.FontHeight); + + // Geben Sie den Schriftartnamen des Textes aus. + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } } ``` +## **Text aus einer Präsentation extrahieren** +Um Text aus der gesamten Präsentation zu scannen, verwenden Sie die statische Methode [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextframes/), die von der Klasse [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/) bereitgestellt wird. Sie akzeptiert zwei Parameter: -## **Text aus Präsentation extrahieren** -Um den Text aus der gesamten Präsentation zu scannen, verwenden Sie die überladene statische Methode [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextframes), die von der Klasse SlideUtil bereitgestellt wird. Sie akzeptiert zwei Parameter: +1. Zunächst ein [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)-Objekt, das eine PowerPoint- oder OpenDocument-Präsentation darstellt, aus der Text extrahiert werden soll. +1. Zweitens ein `Boolean`-Wert, der angibt, ob die Masterfolien beim Scannen des Textes aus der Präsentation einbezogen werden sollen. -1. Zuerst ein Präsentationsobjekt, das die PPTX-Präsentation darstellt, aus der der Text extrahiert wird. -1. Zweitens ein boolescher Wert, der angibt, ob die Masterfolie in den gescannten Text aus der Präsentation einbezogen werden soll. - Die Methode gibt ein Array von TextFrame-Objekten zurück, das mit Informationen zur Textformatierung versehen ist. Der folgende Code scannt den Text und die Formatierungsinformationen aus einer Präsentation, einschließlich der Masterfolien. +Die Methode gibt ein Array von Objekten des Typs [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) zurück, das Textformatierungsinformationen enthält. Der untenstehende Code scannt den Text und Formatierungsdetails aus einer Präsentation, einschließlich der Masterfolien. +```cs +// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei (PPT, PPTX, ODP usw.) darstellt. +using Presentation presentation = new Presentation("demo.pptx"); -```c# -//Instatiate Presentation class that represents a PPTX file -Presentation pptxPresentation = new Presentation("demo.pptx"); +// Holen Sie ein Array von Textframes aus allen Folien der Präsentation. +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(presentation, true); -//Get an Array of ITextFrame objects from all slides in the PPTX -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); - -//Loop through the Array of TextFrames -for (int i = 0; i < textFramesPPTX.Length; i++) - - //Loop through paragraphs in current ITextFrame - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) +// Durchlaufen Sie das Array der Textframes. +for (int i = 0; i < textFrames.Length; i++) +{ + // Durchlaufen Sie die Absätze im aktuellen Textframe. + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // Durchlaufen Sie die Textteile im aktuellen Absatz. + foreach (IPortion portion in paragraph.Portions) + { + // Geben Sie den Text im aktuellen Textteil aus. + Console.WriteLine(portion.Text); + + // Geben Sie die Schriftgröße des Textes aus. + Console.WriteLine(portion.PortionFormat.FontHeight); + + // Geben Sie den Schriftartnamen des Textes aus. + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } +} +``` - //Loop through portions in the current IParagraph - foreach (IPortion port in para.Portions) - { - //Display text in the current portion - Console.WriteLine(port.Text); - //Display font height of the text - Console.WriteLine(port.PortionFormat.FontHeight); +## **Kategorisierte und schnelle Textextraktion** - //Display font name of the text - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } +Die Klasse [PresentationFactory](https://reference.aspose.com/slides/net/aspose.slides/presentationfactory/) bietet ebenfalls statische Methoden zum Extrahieren des gesamten Textes aus Präsentationen: +``` cs +IPresentationText GetPresentationText(string file, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode, ILoadOptions options); ``` +Das Enum-Argument [TextExtractionArrangingMode](https://reference.aspose.com/slides/net/aspose.slides/textextractionarrangingmode/) gibt den Modus zur Anordnung des Textextraktionsergebnisses an und kann auf die folgenden Werte gesetzt werden: +- `Unarranged` – Der Rohtext ohne Rücksicht auf seine Position auf der Folie. +- `Arranged` – Der Text wird in derselben Reihenfolge wie auf der Folie angeordnet. +Der unarranged‑Modus kann verwendet werden, wenn Geschwindigkeit entscheidend ist; er ist schneller als der arranged‑Modus. -## **Kategorisierte und schnelle Textextraktion** -Die neue statische Methode GetPresentationText wurde zur Präsentationsklasse hinzugefügt. Es gibt zwei Überladungen dieser Methode: +[IPresentationText](https://reference.aspose.com/slides/net/aspose.slides/ipresentationtext/) repräsentiert den rohen Text, der aus der Präsentation extrahiert wurde. Sie enthält die Eigenschaft [SlidesText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) aus dem Namespace [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/), die ein Array von Objekten des Typs [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) zurückgibt. Jedes Objekt repräsentiert den Text der entsprechenden Folie. Das Objekt des Typs [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) verfügt über die folgenden Eigenschaften: -``` csharp -PresentationText GetPresentationText(Stream stream) -PresentationText GetPresentationText(Stream stream, ExtractionMode mode) +- `Text` – Der Text innerhalb der Formen der Folie. +- `MasterText` – Der Text innerhalb der Formen der Masterfolie, die dieser Folie zugeordnet ist. +- `LayoutText` – Der Text innerhalb der Formen der Layoutfolie, die dieser Folie zugeordnet ist. +- `NotesText` – Der Text innerhalb der Formen der Notizfolie, die dieser Folie zugeordnet ist. +- `CommentsText` – Der Text innerhalb von Kommentaren, die dieser Folie zugeordnet sind. +```cs +IPresentationText text = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); +Console.WriteLine(text.SlidesText[0].Text); +Console.WriteLine(text.SlidesText[0].LayoutText); +Console.WriteLine(text.SlidesText[0].MasterText); +Console.WriteLine(text.SlidesText[0].NotesText); +Console.WriteLine(text.SlidesText[0].CommentsText); ``` -Das Argument ExtractionMode enum gibt den Modus an, um die Ausgabe des Textergebnisses zu organisieren, und kann auf die folgenden Werte gesetzt werden: -Unarranged - Der rohe Text ohne Berücksichtigung der Position auf der Folie -Arranged - Der Text ist in derselben Reihenfolge wie auf der Folie angeordnet -Der Unarranged-Modus kann verwendet werden, wenn Geschwindigkeit entscheidend ist; er ist schneller als der Arranged-Modus. +## **FAQ** + +**Wie schnell verarbeitet Aspose.Slides große Präsentationen bei der Textextraktion?** -PresentationText stellt den rohen Text dar, der aus der Präsentation extrahiert wurde. Er enthält eine SlidesText-Eigenschaft aus dem Namespace Aspose.Slides.Util, die ein Array von ISlideText-Objekten zurückgibt. Jedes Objekt repräsentiert den Text auf der entsprechenden Folie. ISlideText-Objjekte haben die folgenden Eigenschaften: +Aspose.Slides ist für hohe Leistung optimiert und verarbeitet selbst große Präsentationen effizient, sodass es für Echtzeit‑ oder Massenszenarien geeignet ist. -ISlideText.Text - Der Text auf den Formen der Folie -ISlideText.MasterText - Der Text auf den Formen der Masterseite für diese Folie -ISlideText.LayoutText - Der Text auf den Formen der Layoutseite für diese Folie -ISlideText.NotesText - Der Text auf den Formen der Notizseite für diese Folie +**Kann Aspose.Slides Text aus Tabellen und Diagrammen innerhalb von Präsentationen extrahieren?** -Es gibt auch eine Klasse SlideText, die das ISlideText-Interface implementiert. +Ja, Aspose.Slides unterstützt das Extrahieren von Text aus Tabellen, Diagrammen und anderen komplexen Folienelementen vollständig, sodass Sie problemlos auf sämtlichen Textinhalt zugreifen und ihn analysieren können. -Die neue API kann wie folgt verwendet werden: +**Benötige ich eine spezielle Aspose.Slides‑Lizenz, um Text aus Präsentationen zu extrahieren?** -```c# -IPresentationText text1 = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); -Console.WriteLine(text1.SlidesText[0].Text); -Console.WriteLine(text1.SlidesText[0].LayoutText); -Console.WriteLine(text1.SlidesText[0].MasterText); -Console.WriteLine(text1.SlidesText[0].NotesText); -``` \ No newline at end of file +Sie können Text mit der kostenlosen Testversion von Aspose.Slides extrahieren, allerdings hat diese bestimmte Einschränkungen, z. B. die Verarbeitung nur einer begrenzten Anzahl von Folien. Für uneingeschränkte Nutzung und die Verarbeitung größerer Präsentationen wird der Kauf einer VollLizenz empfohlen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md b/de/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md index 060589e3d0..fb51f6cfd6 100644 --- a/de/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md +++ b/de/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md @@ -1,42 +1,56 @@ --- -title: Autofit-Einstellungen verwalten +title: Verbessern Sie Ihre Präsentationen mit AutoFit in C# +linktitle: Autofit-Einstellungen verwalten type: docs weight: 30 url: /de/net/manage-autofit-settings/ -keywords: "Textbox, Autofit, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Legen Sie die Autofit-Einstellungen für Textfelder in PowerPoint in C# oder .NET fest" +keywords: +- Textfeld +- Autofit +- kein Autofit +- Text anpassen +- Text verkleinern +- Text umbrechen +- Formgröße ändern +- PowerPoint +- Präsentation +- C# +- .NET +- Aspose.Slides +description: "Erfahren Sie, wie Sie die AutoFit-Einstellungen in Aspose.Slides für .NET verwalten, um die Textdarstellung in Ihren PowerPoint- und OpenDocument-Präsentationen zu optimieren und die Lesbarkeit des Inhalts zu verbessern." --- -Standardmäßig verwendet Microsoft PowerPoint beim Hinzufügen eines Textfelds die Einstellung **Form um Text anpassen** für das Textfeld – es passt das Textfeld automatisch an, um sicherzustellen, dass der Text immer hineinpasst. +## **Übersicht** -![textbox-in-powerpoint](textbox-in-powerpoint.png) +Standardmäßig verwendet Microsoft PowerPoint beim Einfügen eines Textfeldes die Einstellung **Resize shape to fit text** – das Textfeld wird automatisch in der Größe angepasst, sodass der Text immer hineinpasst. -* Wenn der Text im Textfeld länger oder größer wird, vergrößert PowerPoint das Textfeld automatisch – erhöht dessen Höhe –, damit es mehr Text aufnehmen kann. -* Wenn der Text im Textfeld kürzer oder kleiner wird, reduziert PowerPoint das Textfeld automatisch – verringert dessen Höhe –, um überflüssigen Platz freizumachen. +![Ein Textfeld in PowerPoint](textbox-in-powerpoint.png) -In PowerPoint sind dies die 4 wichtigen Parameter oder Optionen, die das Autofit-Verhalten für ein Textfeld steuern: +* Wenn der Text im Textfeld länger oder größer wird, vergrößert PowerPoint das Textfeld automatisch – die Höhe wird erhöht –, um mehr Text aufnehmen zu können. +* Wenn der Text im Textfeld kürzer oder kleiner wird, reduziert PowerPoint das Textfeld automatisch – die Höhe wird verringert –, um überschüssigen Raum zu entfernen. -* **Nicht anpassen** -* **Text bei Überlauf verkleinern** -* **Form um Text anpassen** -* **Text in der Form umbrechen.** +In PowerPoint gibt es vier wichtige Parameter bzw. Optionen, die das Autofit‑Verhalten eines Textfeldes steuern: -![autofit-options-powerpoint](autofit-options-powerpoint.png) +* **Do not Autofit** +* **Shrink text on overflow** +* **Resize shape to fit text** +* **Wrap text in shape** -Aspose.Slides für .NET bietet ähnliche Optionen – einige Eigenschaften der [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) Klasse –, die es Ihnen ermöglichen, das Autofit-Verhalten für Textfelder in Präsentationen zu steuern. +![Autofit‑Optionen in PowerPoint](autofit-options-powerpoint.png) -## **Form um Text anpassen** +Aspose.Slides für .NET bietet ähnliche Optionen – Eigenschaften der Klasse [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) – mit denen Sie das Autofit‑Verhalten von Textfeldern in Präsentationen steuern können. -Wenn Sie möchten, dass der Text in einem Feld immer in dieses Feld passt, nachdem Änderungen am Text vorgenommen wurden, müssen Sie die Option **Form um Text anpassen** verwenden. Um diese Einstellung zu spezifizieren, setzen Sie die [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) Eigenschaft (von der [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) Klasse) auf `Shape`. +## **Resize Shape to Fit Text** -![alwaysfit-setting-powerpoint](alwaysfit-setting-powerpoint.png) +Wenn der Text in einem Feld immer in dieses Feld passen soll, nachdem Änderungen am Text vorgenommen wurden, müssen Sie die Option **Resize shape to fit text** verwenden. Legen Sie dafür die Eigenschaft `AutofitType` der Klasse [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) auf `Shape` fest. -Dieser C#-Code zeigt Ihnen, wie Sie angeben, dass ein Text immer in sein Feld in einer PowerPoint-Präsentation passen muss: +![Resize shape to fit text](alwaysfit-setting-powerpoint.png) +Dieser C#‑Code zeigt, wie Sie festlegen, dass der Text in einer PowerPoint‑Präsentation stets in sein Feld passen muss: ```c# - using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -47,24 +61,24 @@ Dieser C#-Code zeigt Ihnen, wie Sie angeben, dass ein Text immer in sein Feld in ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Shape; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -Wenn der Text länger oder größer wird, wird das Textfeld automatisch angepasst (Höhenvergrößerung), um sicherzustellen, dass der gesamte Text hineinpasst. Wenn der Text kürzer wird, geschieht das Gegenteil. -## **Nicht anpassen** +Wird der Text länger oder größer, wird das Textfeld automatisch vergrößert (Höhe wird erhöht), sodass der gesamte Text hineinpasst. Wird der Text kürzer, geschieht das Gegenteil. -Wenn Sie möchten, dass ein Textfeld oder eine Form ihre Dimensionen unabhängig von den Änderungen am enthaltenen Text beibehält, müssen Sie die Option **Nicht anpassen** verwenden. Um diese Einstellung zu spezifizieren, setzen Sie die [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) Eigenschaft (von der [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) Klasse) auf `None`. +## **Do Not Autofit** -![donotautofit-setting-powerpoint](donotautofit-setting-powerpoint.png) +Wenn ein Textfeld oder eine Form ihre Abmessungen unabhängig von Änderungen am enthaltenen Text beibehalten soll, müssen Sie die Option **Do not Autofit** verwenden. Setzen Sie dafür die Eigenschaft `AutofitType` der Klasse [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) auf `None`. -Dieser C#-Code zeigt Ihnen, wie Sie angeben können, dass ein Textfeld immer seine Dimensionen in einer PowerPoint-Präsentation beibehalten muss: +![„Do not Autofit“-Einstellung in PowerPoint](donotautofit-setting-powerpoint.png) +Dieser C#‑Code zeigt, wie Sie festlegen, dass ein Textfeld in einer PowerPoint‑Präsentation stets seine Abmessungen beibehält: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -75,24 +89,24 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.None; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -Wenn der Text zu lang für sein Feld wird, läuft er über. -## **Text bei Überlauf verkleinern** +Wird der Text zu lang für sein Feld, läuft er über das Feld hinaus. -Wenn ein Text zu lang für sein Feld wird, können Sie mit der Option **Text bei Überlauf verkleinern** festlegen, dass die Größe und der Abstand des Textes reduziert werden, um ihn in sein Feld passen zu lassen. Um diese Einstellung zu spezifizieren, setzen Sie die [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) Eigenschaft (von der [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) Klasse) auf `Normal`. +## **Shrink Text on Overflow** -![shrinktextonoverflow-setting-powerpoint](shrinktextonoverflow-setting-powerpoint.png) +Wenn der Text zu lang für sein Feld wird, können Sie mit der Option **Shrink text on overflow** festlegen, dass Größe und Abstand des Textes reduziert werden, damit er in das Feld passt. Setzen Sie dafür die Eigenschaft `AutofitType` der Klasse [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) auf `Normal`. -Dieser C#-Code zeigt Ihnen, wie Sie angeben, dass ein Text bei Überlauf in einer PowerPoint-Präsentation verkleinert werden muss: +![„Shrink text on overflow“-Einstellung in PowerPoint](shrinktextonoverflow-setting-powerpoint.png) +Dieser C#‑Code zeigt, wie Sie festlegen, dass Text bei Überlauf in einer PowerPoint‑Präsentation verkleinert wird: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -103,26 +117,24 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Normal; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Info" color="info" %}} - -Wenn die Option **Text bei Überlauf verkleinern** verwendet wird, wird die Einstellung nur angewendet, wenn der Text zu lang für sein Feld wird. +{{% alert title="Info" color="info" %}} +Wenn die Option **Shrink text on overflow** verwendet wird, wird die Einstellung nur angewendet, wenn der Text zu lang für sein Feld wird. {{% /alert %}} -## **Text umschließen** +## **Wrap Text** -Wenn Sie möchten, dass der Text in einer Form innerhalb dieser Form umschließt, wenn der Text über die Ränder der Form hinausgeht (nur Breite), müssen Sie den Parameter **Text in der Form umschließen** verwenden. Um diese Einstellung zu spezifizieren, müssen Sie die [WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/wraptext) Eigenschaft (von der [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) Klasse) auf `true` setzen. - -Dieser C#-Code zeigt Ihnen, wie Sie die Wrap-Text-Einstellung in einer PowerPoint-Präsentation verwenden: +Wenn der Text in einer Form umbrochen werden soll, sobald er die Breite der Form überschreitet, verwenden Sie den Parameter **Wrap text in shape**. Setzen Sie dafür die Eigenschaft `WrapText` der Klasse [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) auf `NullableBool.True`. +Dieser C#‑Code zeigt, wie Sie die Einstellung „Wrap Text“ in einer PowerPoint‑Präsentation verwenden: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -133,12 +145,25 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.WrapText = NullableBool.True; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Hinweis" color="warning" %}} -Wenn Sie die `WrapText`-Eigenschaft für eine Form auf `False` setzen, wird der Text innerhalb der Form, wenn er länger als die Breite der Form wird, über die Ränder der Form hinaus in einer einzigen Zeile angezeigt. +{{% alert title="Note" color="warning" %}} +Wenn Sie die Eigenschaft `WrapText` für eine Form auf `NullableBool.False` setzen, erstreckt sich der Text bei Überschreiten der Formbreite über die Formgrenzen in einer einzelnen Zeile. +{{% /alert %}} + +## **FAQ** + +**Beeinflussen die internen Ränder des Textrahmens die AutoFit‑Funktion?** + +Ja. Innenabstände reduzieren den nutzbaren Textbereich, sodass AutoFit früher greift – die Schrift wird früher verkleinert oder die Form früher angepasst. Prüfen und passen Sie die Ränder an, bevor Sie AutoFit feinjustieren. + +**Wie interagiert AutoFit mit manuellen und weichen Zeilenumbrüchen?** + +Erzwungene Umbrüche bleiben erhalten, und AutoFit passt Schriftgröße und Abstand um diese herum an. Das Entfernen unnötiger Umbrüche reduziert häufig das Ausmaß, in dem AutoFit den Text verkleinern muss. + +**Wirkt sich das Ändern der Design‑Schriftart oder das Auslösen einer Schriftart‑Substitution auf das AutoFit‑Ergebnis aus?** -{{% /alert %}} \ No newline at end of file +Ja. Das Ersetzen durch eine Schriftart mit anderen Glyphen‑Metriken ändert Breite/Höhe des Textes, wodurch sich die finale Schriftgröße und der Zeilenumbruch ändern können. Nach jeder Schriftart‑Änderung oder -Substitution sollten Sie die Folien erneut prüfen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md b/de/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md index 4a269e398d..353669a32b 100644 --- a/de/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md +++ b/de/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md @@ -1,58 +1,56 @@ --- -title: Aufzählungs- und Nummerierungslisten verwalten +title: Aufzählungszeichen und nummerierte Listen verwalten type: docs weight: 70 url: /de/net/manage-bullet-and-numbered-lists -keywords: "Aufzählungen, Aufzählungslisten, Nummern, Nummerierte Listen, Bildaufzählungen, mehrstufige Aufzählungen, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Erstellen Sie Aufzählungs- und nummerierte Listen in PowerPoint-Präsentationen in C# oder .NET" +keywords: "Aufzählungszeichen, Aufzählungslisten, Zahlen, Nummerierte Listen, Bildaufzählungen, Mehrstufige Aufzählungen, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides for .NET" +description: "Erstellen Sie Aufzählungs- und nummerierte Listen in PowerPoint-Präsentationen mit C# oder .NET" --- -In **Microsoft PowerPoint** können Sie Aufzählungs- und nummerierte Listen auf die gleiche Weise erstellen, wie Sie es in Word und anderen Texteditoren tun. **Aspose.Slides für .NET** ermöglicht es Ihnen auch, Aufzählungen und Nummern in Folien Ihrer Präsentationen zu verwenden. +In **Microsoft PowerPoint** können Sie Aufzählungs‑ und Nummerierungslisten auf die gleiche Weise erstellen wie in Word und anderen Texteditoren. **Aspose.Slides for .NET** ermöglicht es Ihnen ebenfalls, Aufzählungs‑ und Nummerierungszeichen in Folien Ihrer Präsentationen zu verwenden. -### Warum Aufzählungslisten verwenden? +## **Warum Aufzählungslisten verwenden?** -Aufzählungslisten helfen Ihnen, Informationen schnell und effizient zu organisieren und zu präsentieren. +Aufzählungslisten helfen Ihnen, Informationen schnell und effizient zu organisieren und zu präsentieren. -**Beispiel für eine Aufzählungsliste** +**Beispiel für Aufzählungsliste** -In den meisten Fällen erfüllt eine Aufzählungsliste diese drei Hauptfunktionen: +In den meisten Fällen erfüllt eine Aufzählungsliste die folgenden drei Hauptfunktionen: - lenkt die Aufmerksamkeit Ihrer Leser oder Zuschauer auf wichtige Informationen -- ermöglicht es Ihren Lesern oder Zuschauern, leicht nach Schlüsselstellen zu scannen -- kommuniziert und übermittelt wichtige Details effizient. +- ermöglicht es Ihren Lesern oder Zuschauern, Schlüsselbegriffe leicht zu überfliegen +- kommuniziert und liefert wichtige Details effizient. -### Warum nummerierte Listen verwenden? +## **Warum nummerierte Listen verwenden?** -Nummerierte Listen helfen ebenfalls bei der Organisation und Präsentation von Informationen. Idealerweise sollten Sie Nummern (anstelle von Aufzählungen) verwenden, wenn die Reihenfolge der Einträge (zum Beispiel *Schritt 1, Schritt 2*, usw.) wichtig ist oder wenn ein Eintrag referenziert werden muss (zum Beispiel *siehe Schritt 3*). +Nummerierte Listen helfen ebenfalls bei der Organisation und Präsentation von Informationen. Idealerweise sollten Sie Zahlen (statt Aufzählungszeichen) verwenden, wenn die Reihenfolge der Einträge (zum Beispiel *Schritt 1, Schritt 2* usw.) wichtig ist oder wenn ein Eintrag referenziert werden muss (zum Beispiel *siehe Schritt 3*). -**Beispiel für eine nummerierte Liste** +**Beispiel für nummerierte Liste** -Dies ist eine Zusammenfassung der Schritte (Schritt 1 bis Schritt 15) im Verfahren **Erstellung von Aufzählungen** unten: +Dies ist eine Zusammenfassung der Schritte (Schritt 1 bis Schritt 15) im nachfolgenden Verfahren **Creating Bullets**: -1. Erstellen Sie eine Instanz der Präsentationsklasse. -2. Führen Sie mehrere Aufgaben aus (Schritt 3 bis Schritt 14). -3. Speichern Sie die Präsentation. +1. Erstellen Sie eine Instanz der Presentation‑Klasse. +2. Führen Sie mehrere Aufgaben aus (Schritt 3 bis Schritt 14). +3. Speichern Sie die Präsentation. -## Erstellung von Aufzählungen +## **Aufzählungen erstellen** -Um eine Aufzählungsliste zu erstellen, befolgen Sie diese Schritte: +Um eine Aufzählungsliste zu erstellen, gehen Sie die folgenden Schritte durch: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Greifen Sie auf die Folie (in die Sie eine Aufzählungsliste einfügen möchten) in der Folienkollektion über das [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index) Objekt zu. -3. Fügen Sie in der ausgewählten Folie eine [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) hinzu. -4. Greifen Sie auf den [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) der hinzugefügten Form zu. -5. Entfernen Sie den Standardabsatz im [TextFrame](). -6. Erstellen Sie die erste Absatzinstanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) Klasse. -8. Setzen Sie den Aufzählungstyp auf Symbol und dann das Aufzählungszeichen. -9. Setzen Sie den Absatztext. -10. Setzen Sie den Absatz-Indent, um die Aufzählung zu setzen. -11. Setzen Sie die Farbe der Aufzählung. -12. Setzen Sie die Höhe der Aufzählung. -13. Fügen Sie den erstellten Absatz in die [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) Absatzkollektion ein. -14. Fügen Sie den zweiten Absatz hinzu und wiederholen Sie die Schritte 7-12. -15. Speichern Sie die Präsentation. - -Dieser Beispielcode in C#—eine Implementierung der obigen Schritte—zeigt Ihnen, wie Sie eine Aufzählungsliste in einer Folie erstellen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Greifen Sie über das [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index)-Objekt auf die Folie (in der Sie eine Aufzählungsliste hinzufügen möchten) in der Folien‑Kollektion zu. +3. Fügen Sie in der ausgewählten Folie eine [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) hinzu. +4. Greifen Sie auf das [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) der hinzugefügten Form zu. +5. Entfernen Sie den Standardabsatz im [TextFrame](). +6. Erstellen Sie die erste Paragraph‑Instanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph)-Klasse. +8. Setzen Sie den Aufzählungstyp auf Symbol und anschließend das Aufzählungszeichen. +9. Legen Sie den Paragraph‑Text fest. +10. Setzen Sie den Paragraph‑Einzug, um die Aufzählung zu setzen. +11. Setzen Sie die Farbe der Aufzählung. +12. Setzen Sie die Höhe der Aufzählung. +13. Fügen Sie den erstellten Paragraphen in die Paragraph‑Sammlung des [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) ein. +14. Fügen Sie den zweiten Paragraphen hinzu und wiederholen Sie die Schritte 7‑12. +15. Speichern Sie die Präsentation. ```c# using (Presentation pres = new Presentation()) @@ -69,7 +67,7 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; paragraph.ParagraphFormat.Bullet.Color.Color = Color.Red; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "Mein Text"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); @@ -79,37 +77,36 @@ using (Presentation pres = new Presentation()) } ``` -## Erstellung von Bildaufzählungen -Aspose.Slides für .NET ermöglicht es Ihnen, die Aufzählungen in Aufzählungslisten zu ändern. Sie können die Aufzählungen durch benutzerdefinierte Symbole oder Bilder ersetzen. Wenn Sie einer Liste visuelles Interesse verleihen oder noch mehr Aufmerksamkeit auf Einträge einer Liste lenken möchten, können Sie Ihr eigenes Bild als Aufzählung verwenden. +## **Bildaufzählungen erstellen** + +Aspose.Slides for .NET ermöglicht es Ihnen, die Aufzählungszeichen in Aufzählungslisten zu ändern. Sie können die Aufzählungszeichen durch benutzerdefinierte Symbole oder Bilder ersetzen. Wenn Sie einer Liste visuelles Interesse verleihen oder die Einträge noch stärker hervorheben möchten, können Sie Ihr eigenes Bild als Aufzählungszeichen verwenden. - {{% alert color="primary" %}} +{{% alert color="primary" %}} -Idealerweise, wenn Sie beabsichtigen, das reguläre Aufzählungssymbol durch ein Bild zu ersetzen, sollten Sie ein einfaches Grafikbild mit transparentem Hintergrund auswählen. Solche Bilder funktionieren am besten als benutzerdefinierte Aufzählungssymbole. +Idealerweise, wenn Sie das reguläre Aufzählungszeichen durch ein Bild ersetzen möchten, sollten Sie ein einfaches Grafikbild mit transparentem Hintergrund auswählen. Solche Bilder eignen sich am besten als benutzerdefinierte Aufzählungszeichen. -In jedem Fall wird das Bild, das Sie wählen, auf eine sehr kleine Größe reduziert, daher empfehlen wir dringend, ein Bild auszuwählen, das in einer Liste gut aussieht (als Ersatz für das Aufzählungssymbol). +In jedem Fall wird das gewählte Bild auf eine sehr kleine Größe verkleinert, daher empfehlen wir dringend, ein Bild auszuwählen, das in einer Liste (als Ersatz für das Aufzählungszeichen) gut aussieht. {{% /alert %}} -Um eine Bildaufzählung zu erstellen, folgen Sie diesen Schritten: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Greifen Sie auf die gewünschte Folie in der Folienkollektion über das [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index) Objekt zu. -3. Fügen Sie in der ausgewählten Folie eine [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) hinzu. -4. Greifen Sie auf den [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) der hinzugefügten Form zu. -5. Entfernen Sie den Standardabsatz im [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. Erstellen Sie die erste Absatzinstanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) Klasse. -7. Laden Sie das Bild von der Festplatte und fügen Sie es zu [Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images) hinzu und verwenden Sie dann die [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) Instanz, die von der [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index) Methode zurückgegeben wurde. -8. Setzen Sie den Aufzählungstyp auf Bild und dann das Bild. -9. Setzen Sie den Absatztext. -10. Setzen Sie den Absatz-Indent, um die Aufzählung zu setzen. -11. Setzen Sie die Farbe der Aufzählung. -12. Setzen Sie die Höhe der Aufzählungen. -13. Fügen Sie den erstellten Absatz in die [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) Absatzkollektion ein. -14. Fügen Sie den zweiten Absatz hinzu und wiederholen Sie die Schritte 7-13. -15. Speichern Sie die Präsentation. - -Dieser C#-Code zeigt Ihnen, wie Sie eine Bildaufzählung in einer Folie erstellen: +Um ein Bild‑Aufzählungszeichen zu erstellen, gehen Sie die folgenden Schritte durch: + +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Greifen Sie über das [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index)-Objekt auf die gewünschte Folie in der Folien‑Kollektion zu. +3. Fügen Sie in der ausgewählten Folie eine [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) hinzu. +4. Greifen Sie auf das [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) der hinzugefügten Form zu. +5. Entfernen Sie den Standardabsatz im [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +6. Erstellen Sie die erste Paragraph‑Instanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph)-Klasse. +7. Laden Sie das Bild von der Festplatte und fügen Sie es zu [Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images) hinzu, und verwenden Sie dann die von der [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index)-Methode zurückgegebene [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)-Instanz. +8. Setzen Sie den Aufzählungstyp auf Bild und anschließend das Bild. +9. Legen Sie den Paragraph‑Text fest. +10. Setzen Sie den Paragraph‑Einzug, um die Aufzählung zu setzen. +11. Setzen Sie die Farbe der Aufzählung. +12. Setzen Sie die Höhe der Aufzählungen. +13. Fügen Sie den erstellten Paragraphen in die Paragraph‑Sammlung des [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) ein. +14. Fügen Sie den zweiten Paragraphen hinzu und wiederholen Sie die Schritte 7‑13. +15. Speichern Sie die Präsentation. ```c# using (Presentation pres = new Presentation()) @@ -126,7 +123,7 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.Picture.Image = image; paragraph.ParagraphFormat.Indent = 15; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "Mein Text"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); @@ -136,23 +133,22 @@ using (Presentation pres = new Presentation()) } ``` -## Erstellung von mehrstufigen Aufzählungen -Um eine Aufzählungsliste zu erstellen, die Elemente auf unterschiedlichen Ebenen enthält—zusätzliche Listen unter der Hauptaufzählungsliste—gehen Sie wie folgt vor: +## **Mehrstufige Aufzählungen erstellen** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Greifen Sie auf die gewünschte Folie in der Folienkollektion über das [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index) Objekt zu. -3. Fügen Sie in der ausgewählten Folie eine [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) hinzu. -4. Greifen Sie auf den [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) der hinzugefügten Form zu. -5. Entfernen Sie den Standardabsatz im [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. Erstellen Sie die erste Absatzinstanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) Klasse und mit der Tiefe auf 0 gesetzt. -7. Erstellen Sie die zweite Absatzinstanz mit der Paragraph-Klasse und der Tiefe auf 1 gesetzt. -8. Erstellen Sie die dritte Absatzinstanz mit der Paragraph-Klasse und der Tiefe auf 2 gesetzt. -9. Erstellen Sie die vierte Absatzinstanz mit der Paragraph-Klasse und der Tiefe auf 3 gesetzt. -10. Fügen Sie die erstellten Absätze in die [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) Absatzkollektion ein. -11. Speichern Sie die Präsentation. +Um eine Aufzählungsliste zu erstellen, die Elemente auf verschiedenen Ebenen enthält – zusätzliche Listen unter der Hauptauflistung – gehen Sie die folgenden Schritte durch: -Dieser Code, der eine Implementierung der obigen Schritte ist, zeigt Ihnen, wie Sie eine mehrstufige Aufzählungsliste in C# erstellen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Greifen Sie über das [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index)-Objekt auf die gewünschte Folie in der Folien‑Kollektion zu. +3. Fügen Sie in der ausgewählten Folie eine [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) hinzu. +4. Greifen Sie auf das [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) der hinzugefügten Form zu. +5. Entfernen Sie den Standardabsatz im [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +6. Erstellen Sie die erste Paragraph‑Instanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph)-Klasse und setzen Sie die Tiefe auf 0. +7. Erstellen Sie die zweite Paragraph‑Instanz mit der Paragraph‑Klasse und setzen Sie die Tiefe auf 1. +8. Erstellen Sie die dritte Paragraph‑Instanz mit der Paragraph‑Klasse und setzen Sie die Tiefe auf 2. +9. Erstellen Sie die vierte Paragraph‑Instanz mit der Paragraph‑Klasse und setzen Sie die Tiefe auf 3. +10. Fügen Sie die erstellten Paragraphen in die Paragraph‑Sammlung des [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) ein. +11. Speichern Sie die Präsentation. ```c# using (Presentation pres = new Presentation()) @@ -164,32 +160,32 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Depth = 0; - paragraph.Text = "Mein Text Tiefe 0"; + paragraph.Text = "My text Depth 0"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); paragraph2.ParagraphFormat.Depth = 0; - paragraph2.Text = "Mein Text Tiefe 1"; + paragraph2.Text = "My text Depth 1"; textFrame.Paragraphs.Add(paragraph2); Paragraph paragraph3 = new Paragraph(); paragraph3.ParagraphFormat.Depth = 2; - paragraph3.Text = "Mein Text Tiefe 2"; + paragraph3.Text = "My text Depth 2"; textFrame.Paragraphs.Add(paragraph3); Paragraph paragraph4 = new Paragraph(); paragraph4.ParagraphFormat.Depth = 3; - paragraph4.Text = "Mein Text Tiefe 3"; + paragraph4.Text = "My text Depth 3"; textFrame.Paragraphs.Add(paragraph4); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## Erstellung von Nummern -Dieser C#-Code zeigt Ihnen, wie Sie eine nummerierte Liste in einer Folie erstellen: +## **Nummern erstellen** +Dieser C#‑Code zeigt Ihnen, wie Sie eine nummerierte Liste in einer Folie erstellen: ```c# using (Presentation pres = new Presentation()) { @@ -200,16 +196,31 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph.Text = "Mein Text 1"; + paragraph.Text = "My text 1"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph2.Text = "Mein Text 2"; + paragraph2.Text = "My text 2"; textFrame.Paragraphs.Add(paragraph2); // ... pres.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Können mit Aspose.Slides erstellte Aufzählungs‑ und Nummerierungslisten in andere Formate wie PDF oder Bilder exportiert werden?** + +Ja, Aspose.Slides bewahrt die Formatierung und Struktur von Aufzählungs‑ und Nummerierungslisten vollständig, wenn Präsentationen in Formate wie PDF, Bilder und andere exportiert werden, und sorgt für konsistente Ergebnisse. + +**Ist es möglich, Aufzählungs‑ oder nummerierte Listen aus bestehenden Präsentationen zu importieren?** + +Ja, Aspose.Slides ermöglicht das Importieren und Bearbeiten von Aufzählungs‑ oder nummerierten Listen aus bestehenden Präsentationen, wobei deren ursprüngliche Formatierung und Darstellung erhalten bleibt. + +**Unterstützt Aspose.Slides Aufzählungs‑ und nummerierte Listen in Präsentationen, die in mehreren Sprachen erstellt wurden?** + +Ja, Aspose.Slides unterstützt mehrsprachige Präsentationen vollständig und ermöglicht das Erstellen von Aufzählungs‑ und nummerierten Listen in jeder Sprache, einschließlich der Verwendung spezieller oder nicht‑lateinischer Zeichen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md b/de/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md index 5a634a7cea..e7e46963ae 100644 --- a/de/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md +++ b/de/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md @@ -1,60 +1,66 @@ --- -title: PowerPoint-Absätze in C# verwalten +title: PowerPoint-Absatz in C# verwalten type: docs weight: 40 url: /de/net/manage-paragraph/ -keywords: -- Absatz hinzufügen +keywords: +- Text hinzufügen +- Absätze hinzufügen +- Text verwalten - Absätze verwalten -- Absatz-Einzug -- Absatz-Eigenschaften -- HTML-Text -- Absatztext exportieren +- Absatz Einzug +- Aufzählungszeichen +- Nummerierte Liste +- Absatzeigenschaften +- HTML importieren +- Text zu HTML +- Absatz zu HTML +- Absätze zu Bildern +- Absätze exportieren - PowerPoint-Präsentation - C# - Csharp - Aspose.Slides für .NET -description: "Erstellen und verwalten Sie Absätze, Text, Einzüge und Eigenschaften in PowerPoint-Präsentationen in C# oder .NET" +description: "Absätze erstellen und Absatzeigenschaften in PowerPoint-Präsentationen in C# oder .NET verwalten" --- -Aspose.Slides bietet alle Schnittstellen und Klassen, die Sie benötigen, um mit PowerPoint-Texten, Absätzen und Teilbereichen in C# zu arbeiten. +Aspose.Slides stellt alle Schnittstellen und Klassen bereit, die Sie benötigen, um mit PowerPoint‑Texten, Absätzen und Portionen in C# zu arbeiten. -* Aspose.Slides bietet die [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) Schnittstelle, um Ihnen das Hinzufügen von Objekten zu ermöglichen, die einen Absatz darstellen. Ein `ITextFame`-Objekt kann einen oder mehrere Absätze haben (jeder Absatz wird durch einen Zeilenumbruch erstellt). -* Aspose.Slides bietet die [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) Schnittstelle, um Ihnen das Hinzufügen von Objekten zu ermöglichen, die Teilbereiche darstellen. Ein `IParagraph`-Objekt kann einen oder mehrere Teilbereiche haben (Sammlung von iPortions-Objekten). -* Aspose.Slides bietet die [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) Schnittstelle, um Ihnen das Hinzufügen von Objekten zu ermöglichen, die Texte und deren Formatierungseigenschaften darstellen. +* Aspose.Slides stellt die [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) Schnittstelle bereit, mit der Sie Objekte hinzufügen können, die einen Absatz darstellen. Ein `ITextFame`‑Objekt kann einen oder mehrere Absätze enthalten (jeder Absatz wird durch einen Zeilenumbruch erzeugt). +* Aspose.Slides stellt die [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) Schnittstelle bereit, mit der Sie Objekte hinzufügen können, die Portionen darstellen. Ein `IParagraph`‑Objekt kann eine oder mehrere Portionen enthalten (Sammlung von iPortions‑Objekten). +* Aspose.Slides stellt die [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) Schnittstelle bereit, mit der Sie Objekte hinzufügen können, die Texte und deren Formatierungseigenschaften darstellen. -Ein `IParagraph`-Objekt ist in der Lage, Texte mit unterschiedlichen Formatierungseigenschaften durch seine zugrunde liegenden `IPortion`-Objekte zu behandeln. +Ein `IParagraph`‑Objekt kann Texte mit unterschiedlichen Formatierungseigenschaften über seine zugrunde liegenden `IPortion`‑Objekte verarbeiten. -## **Fügen Sie mehrere Absätze mit mehreren Teilbereichen hinzu** +## **Mehrere Absätze hinzufügen, die mehrere Portionen enthalten** -Diese Schritte zeigen Ihnen, wie Sie ein Textfeld mit 3 Absätzen hinzufügen, wobei jeder Absatz 3 Teilbereiche enthält: +Diese Schritte zeigen, wie Sie einen Textframe hinzufügen, der 3 Absätze enthält, und jeder Absatz 3 Portionen enthält: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Greifen Sie über den Index auf den entsprechenden Folienverweis zu. -3. Fügen Sie eine Rechteck-[IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) zur Folie hinzu. -4. Holen Sie sich das mit dem [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) verbundene ITextFrame. -5. Erstellen Sie zwei [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) Objekte und fügen Sie sie zur `IParagraphs`-Sammlung des [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) hinzu. -6. Erstellen Sie drei [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) Objekte für jeden neuen `IParagraph` (zwei Portion-Objekte für den Standardabsatz) und fügen Sie jedes `IPortion`-Objekt zur IPortion-Sammlung jedes `IParagraph` hinzu. -7. Setzen Sie für jedes Teil einen Text. -8. Wenden Sie Ihre bevorzugten Formatierungsmerkmale auf jedes Teil an, indem Sie die von dem `IPortion`-Objekt bereitgestellten Formatierungseigenschaften verwenden. -9. Speichern Sie die modifizierte Präsentation. - -Dieser C#-Code ist eine Implementierung der Schritte zum Hinzufügen von Absätzen, die Teilbereiche enthalten: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse. +2. Greifen Sie über den Index auf die entsprechende Folie zu. +3. Fügen Sie ein Rechteck‑[IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) zur Folie hinzu. +4. Holen Sie das mit der [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) verbundene ITextFrame. +5. Erstellen Sie zwei [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/)‑Objekte und fügen Sie sie der `IParagraphs`‑Sammlung des [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) hinzu. +6. Erstellen Sie für jedes neue `IParagraph` drei [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/)‑Objekte (zwei Portion‑Objekte für den Standard‑Absatz) und fügen Sie jedes `IPortion`‑Objekt der IPortion‑Sammlung des jeweiligen `IParagraph` hinzu. +7. Setzen Sie für jede Portion einen Text. +8. Wenden Sie die gewünschten Formatierungsoptionen auf jede Portion über die vom `IPortion`‑Objekt bereitgestellten Eigenschaften an. +9. Speichern Sie die geänderte Präsentation. +Dieser C#‑Code ist eine Umsetzung der Schritte zum Hinzufügen von Absätzen mit Portionen: ```c# -// Erstellt eine Instanz der Presentation-Klasse, die eine PPTX-Datei darstellt +// Instanziert eine Presentation‑Klasse, die eine PPTX‑Datei darstellt using (Presentation pres = new Presentation()) { // Greift auf die erste Folie zu ISlide slide = pres.Slides[0]; - // Fügt eine Rechteck-IAutoShape hinzu + // Fügt eine Rechteck‑IAutoShape hinzu IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 150, 300, 150); - // Greift auf das TextFrame des AutoShapes zu + // Greift auf das TextFrame des AutoShape zu ITextFrame tf = ashp.TextFrame; - // Erstellt Absätze und Teilbereiche mit unterschiedlichen Textformaten + // Erstellt Absätze und Portionen mit unterschiedlichen Textformaten IParagraph para0 = tf.Paragraphs[0]; IPortion port01 = new Portion(); IPortion port02 = new Portion(); @@ -98,40 +104,41 @@ using (Presentation pres = new Presentation()) tf.Paragraphs[i].Portions[j].PortionFormat.FontHeight = 18; } } - // Speichert die modifizierte Präsentation + // Speichert die geänderte Präsentation pres.Save("multiParaPort_out.pptx", SaveFormat.Pptx); } ``` -## **Absatz mit Aufzählungszeichen verwalten** -Aufzählungslisten helfen Ihnen, Informationen schnell und effizient zu organisieren und darzustellen. Aufgezählte Absätze sind immer leichter zu lesen und zu verstehen. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Greifen Sie über den Index auf den entsprechenden Folienverweis zu. -3. Fügen Sie ein [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) zur ausgewählten Folie hinzu. -4. Greifen Sie auf das [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) des Autoshapes zu. -5. Entfernen Sie den Standardabsatz im `TextFrame`. -6. Erstellen Sie die erste Absatzinstanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) Klasse. -7. Setzen Sie den Aufzählungstyp für den Absatz auf `Symbol` und legen Sie das Aufzählungssymbol fest. -8. Setzen Sie den Absatztext. -9. Setzen Sie den Absatz-Einzug für das Aufzählungszeichen. -10. Setzen Sie eine Farbe für das Aufzählungszeichen. -11. Setzen Sie eine Höhe für das Aufzählungszeichen. -12. Fügen Sie den neuen Absatz zur Absatzsammlung des `TextFrame` hinzu. -13. Fügen Sie den zweiten Absatz hinzu und wiederholen Sie den Vorgang gemäß den Schritten 7 bis 13. -14. Speichern Sie die Präsentation. - -Dieser C#-Code zeigt Ihnen, wie Sie einen Absatz mit Aufzählungszeichen hinzufügen: +## **Absatz‑Aufzählungszeichen verwalten** +Aufzählungslisten helfen Ihnen, Informationen schnell und effizient zu organisieren und zu präsentieren. Aufgezählte Absätze sind immer leichter zu lesen und zu verstehen. +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse. +2. Greifen Sie über den Index auf die entsprechende Folie zu. +3. Fügen Sie ein [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) zur ausgewählten Folie hinzu. +4. Greifen Sie auf die [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) des Autoshapes zu. +5. Entfernen Sie den Standard‑Absatz im `TextFrame`. +6. Erstellen Sie die erste Absatz‑Instanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/)‑Klasse. +8. Setzen Sie den Aufzählungs‑`Type` des Absatzes auf `Symbol` und legen Sie das Aufzählungszeichen fest. +9. Setzen Sie den Absatz‑`Text`. +10. Setzen Sie den Absatz‑`Indent` für das Aufzählungszeichen. +11. Legen Sie eine Farbe für das Aufzählungszeichen fest. +12. Legen Sie eine Höhe für das Aufzählungszeichen fest. +13. Fügen Sie den neuen Absatz zur Absatz‑Sammlung des `TextFrame` hinzu. +14. Fügen Sie den zweiten Absatz hinzu und wiederholen Sie die Schritte 7‑13. +15. Speichern Sie die Präsentation. + +Dieser C#‑Code zeigt, wie Sie ein Absatz‑Aufzählungszeichen hinzufügen: ```c# -// Erstellt eine Instanz der Presentation-Klasse, die eine PPTX-Datei darstellt +// Instanziert eine Presentation-Klasse, die eine PPTX-Datei darstellt using (Presentation pres = new Presentation()) { // Greift auf die erste Folie zu ISlide slide = pres.Slides[0]; - // Fügt und greift auf das Autoshape zu + + // Fügt ein Autoshape hinzu und greift darauf zu IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); // Greift auf das TextFrame des Autoshapes zu @@ -143,89 +150,91 @@ using (Presentation pres = new Presentation()) // Erstellt einen Absatz Paragraph para = new Paragraph(); - // Setzt einen Absatz-Aufzählungsstil und Symbol + // Legt den Aufzählungsstil und das Symbol des Absatzes fest para.ParagraphFormat.Bullet.Type = BulletType.Symbol; para.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); - // Setzt einen Absatztext - para.Text = "Willkommen bei Aspose.Slides"; + // Legt den Absatztext fest + para.Text = "Welcome to Aspose.Slides"; - // Setzt den Einzug für das Aufzählungszeichen + // Legt den Aufzählungseinzug fest para.ParagraphFormat.Indent = 25; - // Setzt die Farbe des Aufzählungszeichens + // Legt die Aufzählungsfarbe fest para.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; para.ParagraphFormat.Bullet.Color.Color = Color.Black; - para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // Setzen Sie IsBulletHardColor auf true, um die eigene Aufzählungsfarbe zu verwenden + para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // setzt IsBulletHardColor auf true, um eine eigene Aufzählungsfarbe zu verwenden - // Setzt die Höhe des Aufzählungszeichens + // Legt die Aufzählungshöhe fest para.ParagraphFormat.Bullet.Height = 100; - // Fügt den Absatz zum Textfeld hinzu + // Fügt den Absatz dem TextFrame hinzu txtFrm.Paragraphs.Add(para); // Erstellt den zweiten Absatz Paragraph para2 = new Paragraph(); - // Setzt den Absatz-Aufzählungstyp und -stil + // Legt den Aufzählungstyp und -stil des Absatzes fest para2.ParagraphFormat.Bullet.Type = BulletType.Numbered; para2.ParagraphFormat.Bullet.NumberedBulletStyle = NumberedBulletStyle.BulletCircleNumWDBlackPlain; // Fügt den Absatztext hinzu - para2.Text = "Dies ist eine nummerierte Aufzählung"; + para2.Text = "This is numbered bullet"; - // Setzt den Einzug für das Aufzählungszeichen + // Legt den Aufzählungseinzug fest para2.ParagraphFormat.Indent = 25; para2.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; para2.ParagraphFormat.Bullet.Color.Color = Color.Black; - para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // Setzen Sie IsBulletHardColor auf true, um die eigene Aufzählungsfarbe zu verwenden + para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // setzt IsBulletHardColor auf true, um eine eigene Aufzählungsfarbe zu verwenden - // Setzt die Höhe des Aufzählungszeichens + // Legt die Aufzählungshöhe fest para2.ParagraphFormat.Bullet.Height = 100; - // Fügt den Absatz zum Textfeld hinzu + // Fügt den Absatz dem TextFrame hinzu txtFrm.Paragraphs.Add(para2); - // Speichert die modifizierte Präsentation + + // Speichert die geänderte Präsentation pres.Save("Bullet_out.pptx", SaveFormat.Pptx); + } ``` -## **Bilder als Aufzählungszeichen verwalten** -Aufzählungslisten helfen Ihnen, Informationen schnell und effizient zu organisieren und darzustellen. Bildabsätze sind leicht zu lesen und zu verstehen. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Greifen Sie über den Index auf den entsprechenden Folienverweis zu. +## **Bild‑Aufzählungszeichen verwalten** +Aufzählungslisten helfen Ihnen, Informationen schnell und effizient zu organisieren und zu präsentieren. Bild‑Absätze sind leicht zu lesen und zu verstehen. + +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse. +2. Greifen Sie über den Index auf die entsprechende Folie zu. 3. Fügen Sie ein [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) zur Folie hinzu. -4. Greifen Sie auf das [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) des Autoshapes zu. -5. Entfernen Sie den Standardabsatz im `TextFrame`. -6. Erstellen Sie die erste Absatzinstanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) Klasse. +4. Greifen Sie auf die [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) des Autoshapes zu. +5. Entfernen Sie den Standard‑Absatz im `TextFrame`. +6. Erstellen Sie die erste Absatz‑Instanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/)‑Klasse. 7. Laden Sie das Bild in [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/). -8. Setzen Sie den Aufzählungstyp auf [Bild](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) und legen Sie das Bild fest. -9. Setzen Sie den Absatztext. -10. Setzen Sie den Absatz-Einzug für das Aufzählungszeichen. -11. Setzen Sie eine Farbe für das Aufzählungszeichen. -12. Setzen Sie eine Höhe für das Aufzählungszeichen. -13. Fügen Sie den neuen Absatz zur Absatzsammlung des `TextFrame` hinzu. -14. Fügen Sie den zweiten Absatz hinzu und wiederholen Sie den Vorgang basierend auf den vorherigen Schritten. -15. Speichern Sie die modifizierte Präsentation. - -Dieser C#-Code zeigt Ihnen, wie Sie Bilder als Aufzählungszeichen hinzufügen und verwalten: - +8. Setzen Sie den Aufzählungs‑Typ auf [Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) und legen Sie das Bild fest. +9. Setzen Sie den Paragraph‑`Text`. +10. Setzen Sie den Paragraph‑`Indent` für das Aufzählungszeichen. +11. Legen Sie eine Farbe für das Aufzählungszeichen fest. +12. Legen Sie eine Höhe für das Aufzählungszeichen fest. +13. Fügen Sie den neuen Absatz zur Absatz‑Sammlung des `TextFrame` hinzu. +14. Fügen Sie den zweiten Absatz hinzu und wiederholen Sie den Vorgang gemäß den vorherigen Schritten. +15. Speichern Sie die geänderte Präsentation. + +Dieser C#‑Code zeigt, wie Sie Bild‑Aufzählungszeichen hinzufügen und verwalten: ```c# -// Erstellt eine Instanz der Presentation-Klasse, die eine PPTX-Datei darstellt +// Instanziert eine Presentation-Klasse, die eine PPTX-Datei darstellt Presentation presentation = new Presentation(); // Greift auf die erste Folie zu ISlide slide = presentation.Slides[0]; -// Erstellt das Bild für die Aufzählungszeichen +// Instanziert das Bild für Aufzählungszeichen IImage image = Images.FromFile("bullets.png"); IPPImage ippxImage = presentation.Images.AddImage(image); image.Dispose(); -// Fügt und greift auf das Autoshape zu +// Fügt ein Autoshape hinzu und greift darauf zu IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); // Greift auf das TextFrame des Autoshapes zu @@ -236,16 +245,16 @@ textFrame.Paragraphs.RemoveAt(0); // Erstellt einen neuen Absatz Paragraph paragraph = new Paragraph(); -paragraph.Text = "Willkommen bei Aspose.Slides"; +paragraph.Text = "Welcome to Aspose.Slides"; -// Setzt den Absatz-Aufzählungsstil und das Bild +// Legt den Aufzählungsstil und das Bild des Absatzes fest paragraph.ParagraphFormat.Bullet.Type = BulletType.Picture; paragraph.ParagraphFormat.Bullet.Picture.Image = ippxImage; -// Setzt die Höhe des Aufzählungszeichens +// Legt die Aufzählungshöhe fest paragraph.ParagraphFormat.Bullet.Height = 100; -// Fügt den Absatz zum Textfeld hinzu +// Fügt den Absatz dem Textframe hinzu textFrame.Paragraphs.Add(paragraph); // Schreibt die Präsentation als PPTX-Datei @@ -255,32 +264,32 @@ presentation.Save("ParagraphPictureBulletsPPTX_out.pptx", SaveFormat.Pptx); presentation.Save("ParagraphPictureBulletsPPT_out.ppt", SaveFormat.Ppt); ``` -## **Mehrere Ebenen von Aufzählungszeichen verwalten** -Aufzählungslisten helfen Ihnen, Informationen schnell und effizient zu organisieren und darzustellen. Mehrstufige Aufzählungszeichen sind leicht zu lesen und zu verstehen. - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Greifen Sie über den Index auf den entsprechenden Folienverweis zu. -3. Fügen Sie ein [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) in die neue Folie ein. -4. Greifen Sie auf das [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) des Autoshapes zu. -5. Entfernen Sie den Standardabsatz im `TextFrame`. -6. Erstellen Sie die erste Absatzinstanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) Klasse und setzen Sie die Tiefe auf 0. -7. Erstellen Sie die zweite Absatzinstanz mit der `Paragraph` Klasse und setzen Sie die Tiefe auf 1. -8. Erstellen Sie die dritte Absatzinstanz mit der `Paragraph` Klasse und setzen Sie die Tiefe auf 2. -9. Erstellen Sie die vierte Absatzinstanz mit der `Paragraph` Klasse und setzen Sie die Tiefe auf 3. -10. Fügen Sie die neuen Absätze zur Absatzsammlung des `TextFrame` hinzu. -11. Speichern Sie die modifizierte Präsentation. -Dieser C#-Code zeigt Ihnen, wie Sie mehrere Ebenen von Aufzählungszeichen hinzufügen und verwalten: +## **Mehrstufige Aufzählungszeichen verwalten** +Aufzählungslisten helfen Ihnen, Informationen schnell und effizient zu organisieren und zu präsentieren. Mehrstufige Aufzählungszeichen sind leicht zu lesen und zu verstehen. +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse. +2. Greifen Sie über den Index auf die entsprechende Folie zu. +3. Fügen Sie ein [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) in die neue Folie ein. +4. Greifen Sie auf die [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) des Autoshapes zu. +5. Entfernen Sie den Standard‑Absatz im `TextFrame`. +6. Erstellen Sie die erste Absatz‑Instanz über die [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/)‑Klasse und setzen Sie die Tiefe auf 0. +7. Erstellen Sie die zweite Absatz‑Instanz über die `Paragraph`‑Klasse und setzen Sie die Tiefe auf 1. +8. Erstellen Sie die dritte Absatz‑Instanz über die `Paragraph`‑Klasse und setzen Sie die Tiefe auf 2. +9. Erstellen Sie die vierte Absatz‑Instanz über die `Paragraph`‑Klasse und setzen Sie die Tiefe auf 3. +10. Fügen Sie die neuen Absätze zur Absatz‑Sammlung des `TextFrame` hinzu. +11. Speichern Sie die geänderte Präsentation. + +Dieser C#‑Code zeigt, wie Sie mehrstufige Aufzählungszeichen hinzufügen und verwalten: ```c# -// Erstellt eine Instanz der Presentation-Klasse, die eine PPTX-Datei darstellt +// Instanziert eine Presentation-Klasse, die eine PPTX-Datei darstellt using (Presentation pres = new Presentation()) { // Greift auf die erste Folie zu ISlide slide = pres.Slides[0]; - // Fügt und greift auf das Autoshape zu + // Fügt ein Autoshape hinzu und greift darauf zu IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); // Greift auf das TextFrame des erstellten Autoshapes zu @@ -291,45 +300,45 @@ using (Presentation pres = new Presentation()) // Fügt den ersten Absatz hinzu IParagraph para1 = new Paragraph(); - para1.Text = "Inhalt"; + para1.Text = "Content"; para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para1.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Setzt die Bullet-Tiefe + // Legt die Aufzählungsebene fest para1.ParagraphFormat.Depth = 0; // Fügt den zweiten Absatz hinzu IParagraph para2 = new Paragraph(); - para2.Text = "Zweite Ebene"; + para2.Text = "Second Level"; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = '-'; para2.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para2.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Setzt die Bullet-Tiefe + // Legt die Aufzählungsebene fest para2.ParagraphFormat.Depth = 1; // Fügt den dritten Absatz hinzu IParagraph para3 = new Paragraph(); - para3.Text = "Dritte Ebene"; + para3.Text = "Third Level"; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para3.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para3.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Setzt die Bullet-Tiefe + // Legt die Aufzählungsebene fest para3.ParagraphFormat.Depth = 2; // Fügt den vierten Absatz hinzu IParagraph para4 = new Paragraph(); - para4.Text = "Vierte Ebene"; + para4.Text = "Fourth Level"; para4.ParagraphFormat.Bullet.Type = BulletType.Symbol; para4.ParagraphFormat.Bullet.Char = '-'; para4.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para4.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Setzt die Bullet-Tiefe + // Legt die Aufzählungsebene fest para4.ParagraphFormat.Depth = 3; - // Fügt die Absätze zur Sammlung hinzu + // Fügt Absätze zur Sammlung hinzu text.Paragraphs.Add(para1); text.Paragraphs.Add(para2); text.Paragraphs.Add(para3); @@ -340,22 +349,22 @@ using (Presentation pres = new Presentation()) } ``` -## **Absätze mit benutzerdefinierter Nummerierung verwalten** -Das [IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) Schnittstelle bietet die [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) Eigenschaft und andere, die es Ihnen ermöglichen, Absätze mit benutzerdefinierter Nummerierung oder Formatierung zu verwalten. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. +## **Absatz mit benutzerdefinierter nummerierter Liste verwalten** +Das [IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/)‑Interface stellt die Eigenschaft [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) und weitere bereit, mit denen Sie Absätze mit benutzerdefinierter Nummerierung oder Formatierung verwalten können. + +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse. 2. Greifen Sie auf die Folie zu, die den Absatz enthält. 3. Fügen Sie ein [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) zur Folie hinzu. -4. Greifen Sie auf das [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) des Autoshapes zu. -5. Entfernen Sie den Standardabsatz im `TextFrame`. -6. Erstellen Sie die erste Absatzinstanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) Klasse und setzen Sie [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) auf 2. -7. Erstellen Sie die zweite Absatzinstanz mit der `Paragraph` Klasse und setzen Sie `NumberedBulletStartWith` auf 3. -8. Erstellen Sie die dritte Absatzinstanz mit der `Paragraph` Klasse und setzen Sie `NumberedBulletStartWith` auf 7. -9. Fügen Sie die neuen Absätze zur Absatzsammlung des `TextFrame` hinzu. -10. Speichern Sie die modifizierte Präsentation. - -Dieser C#-Code zeigt Ihnen, wie Sie Absätze mit benutzerdefinierter Nummerierung oder Formatierung hinzufügen und verwalten: - +4. Greifen Sie auf die [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) des Autoshapes zu. +5. Entfernen Sie den Standard‑Absatz im `TextFrame`. +6. Erstellen Sie die erste Absatz‑Instanz über die [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/)‑Klasse und setzen Sie [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) auf 2. +7. Erstellen Sie die zweite Absatz‑Instanz über die `Paragraph`‑Klasse und setzen Sie `NumberedBulletStartWith` auf 3. +8. Erstellen Sie die dritte Absatz‑Instanz über die `Paragraph`‑Klasse und setzen Sie `NumberedBulletStartWith` auf 7. +9. Fügen Sie die neuen Absätze zur Absatz‑Sammlung des `TextFrame` hinzu. +10. Speichern Sie die geänderte Präsentation. + +Dieser C#‑Code zeigt, wie Sie Absätze mit benutzerdefinierter Nummerierung oder Formatierung hinzufügen und verwalten: ```c# using (var presentation = new Presentation()) { @@ -364,24 +373,24 @@ using (var presentation = new Presentation()) // Greift auf das TextFrame des erstellten Autoshapes zu ITextFrame textFrame = shape.TextFrame; - // Entfernt den vorhandenen Standardabsatz + // Entfernt den Standardabsatz textFrame.Paragraphs.RemoveAt(0); // Erste Liste - var paragraph1 = new Paragraph { Text = "Aufzählung 2" }; + var paragraph1 = new Paragraph { Text = "bullet 2" }; paragraph1.ParagraphFormat.Depth = 4; paragraph1.ParagraphFormat.Bullet.NumberedBulletStartWith = 2; paragraph1.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph1); - var paragraph2 = new Paragraph { Text = "Aufzählung 3" }; + var paragraph2 = new Paragraph { Text = "bullet 3" }; paragraph2.ParagraphFormat.Depth = 4; paragraph2.ParagraphFormat.Bullet.NumberedBulletStartWith = 3; paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph2); - var paragraph5 = new Paragraph { Text = "Aufzählung 7" }; + var paragraph5 = new Paragraph { Text = "bullet 7" }; paragraph5.ParagraphFormat.Depth = 4; paragraph5.ParagraphFormat.Bullet.NumberedBulletStartWith = 7; paragraph5.ParagraphFormat.Bullet.Type = BulletType.Numbered; @@ -391,40 +400,40 @@ using (var presentation = new Presentation()) } ``` -## **Absatz-Einzug festlegen** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -1. Greifen Sie über den Index auf den entsprechenden Folienverweis zu. -1. Fügen Sie eine Rechteck-[autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) zur Folie hinzu. -1. Fügen Sie dem Rechteck-Autoshape ein [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) mit drei Absätzen hinzu. -1. Blenden Sie die Linien des Rechtecks aus. -1. Setzen Sie den Einzug für jeden [Absatz](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) über deren BulletOffset-Eigenschaft. -1. Schreiben Sie die modifizierte Präsentation als PPT-Datei. -Dieser C#-Code zeigt Ihnen, wie Sie einen Absatz-Einzug festlegen: +## **Absatz‑Einzug festlegen** +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse. +1. Greifen Sie über den Index auf die entsprechende Folie zu. +1. Fügen Sie ein Rechteck‑[autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) zur Folie hinzu. +1. Fügen Sie dem Rechteck‑autoshape ein [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) mit drei Absätzen hinzu. +1. Blenden Sie die Rechtecklinien aus. +1. Setzen Sie den Einzug für jedes [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) über die Eigenschaft `BulletOffset`. +1. Schreiben Sie die geänderte Präsentation als PPT‑Datei. +Dieser C#‑Code zeigt, wie Sie einen Absatz‑Einzug festlegen: ```c# -// Erstellt eine Instanz der Presentation-Klasse +// Instanziiert die Presentation-Klasse Presentation pres = new Presentation(); -// Holt sich die erste Folie +// Holt die erste Folie ISlide sld = pres.Slides[0]; -// Fügt eine Rechteckform hinzu +// Fügt ein Rechteck-Shape hinzu IAutoShape rect = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 500, 150); // Fügt dem Rechteck ein TextFrame hinzu -ITextFrame tf = rect.AddTextFrame("Das ist die erste Zeile \rDas ist die zweite Zeile \rDas ist die dritte Zeile"); +ITextFrame tf = rect.AddTextFrame("This is first line \rThis is second line \rThis is third line"); -// Stellt den Text so ein, dass er in die Form passt +// Setzt den Text so, dass er in die Form passt tf.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// Blendet die Linien des Rechtecks aus +// Versteckt die Linien des Rechtecks rect.LineFormat.FillFormat.FillType = FillType.Solid; // Holt den ersten Absatz im TextFrame und setzt dessen Einzug IParagraph para1 = tf.Paragraphs[0]; -// Setzt den Absatz-Aufzählungsstil und das Symbol +// Setzt den Aufzählungsstil und das Symbol des Absatzes para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.Alignment = TextAlignment.Left; @@ -452,10 +461,10 @@ para3.ParagraphFormat.Indent = 50; pres.Save("InOutDent_out.pptx", SaveFormat.Pptx); ``` -## **Hängenden Einzug für Absatz festlegen** -Dieser C#-Code zeigt Ihnen, wie Sie den hängenden Einzug für einen Absatz festlegen: +## **Hängenden Einzug für Absatz festlegen** +Dieser C#‑Code zeigt, wie Sie den hängenden Einzug für einen Absatz festlegen: ```c# using (Presentation pres = new Presentation()) { @@ -463,15 +472,15 @@ using (Presentation pres = new Presentation()) Paragraph para1 = new Paragraph { - Text = "Beispiel" + Text = "Example" }; Paragraph para2 = new Paragraph { - Text = "Hängenden Einzug für Absatz festlegen" + Text = "Set Hanging Indent for Paragraph" }; Paragraph para3 = new Paragraph { - Text = "Dieser C#-Code zeigt Ihnen, wie Sie den hängenden Einzug für einen Absatz festlegen: " + Text = "This C# code shows you how to set the hanging indent for a paragraph: " }; para2.ParagraphFormat.MarginLeft = 10f; @@ -485,28 +494,28 @@ using (Presentation pres = new Presentation()) } ``` -## **End-Eigenschaften von Absatzlauf für Absätze verwalten** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -1. Holen Sie sich den Verweis auf die Folie, die den Absatz enthält, über deren Position. -1. Fügen Sie dem Folien eine Rechteck-[autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) hinzu. -1. Fügen Sie dem Rechteck ein [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) mit zwei Absätzen hinzu. -1. Setzen Sie die `FontHeight` und den Schrifttyp für die Absätze. -1. Setzen Sie die End-Eigenschaften für die Absätze. -1. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +## **End‑Absatz‑Lauf‑Eigenschaften für Absatz verwalten** -Dieser C#-Code zeigt Ihnen, wie Sie die End-Eigenschaften für Absätze in PowerPoint festlegen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse. +1. Holen Sie die Referenz zur Folie, die den Absatz enthält, über deren Position. +1. Fügen Sie ein Rechteck‑[autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) zur Folie hinzu. +1. Fügen Sie dem Rechteck ein [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) mit zwei Absätzen hinzu. +1. Setzen Sie die `FontHeight` und den Schriftarttyp für die Absätze. +1. Setzen Sie die End‑Eigenschaften für die Absätze. +1. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie die End‑Eigenschaften für Absätze in PowerPoint festlegen: ```c# using (Presentation pres = new Presentation("Test.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 200, 250); Paragraph para1 = new Paragraph(); - para1.Portions.Add(new Portion("Beispieltext")); + para1.Portions.Add(new Portion("Sample text")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("Beispieltext 2")); + para2.Portions.Add(new Portion("Sample text 2")); PortionFormat endParagraphPortionFormat = new PortionFormat(); endParagraphPortionFormat.FontHeight = 48; endParagraphPortionFormat.LatinFont = new FontData("Times New Roman"); @@ -519,40 +528,40 @@ using (Presentation pres = new Presentation("Test.pptx")) } ``` -## **HTML-Text in Absätze importieren** -Aspose.Slides bietet verbesserte Unterstützung für den Import von HTML-Text in Absätze. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Greifen Sie über den Index auf den entsprechenden Folienverweis zu. -3. Fügen Sie ein [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) zur Folie hinzu. -4. Fügen Sie dem Autoshape ein [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) hinzu und greifen Sie darauf zu. -5. Entfernen Sie den Standardabsatz im `ITextFrame`. -6. Lesen Sie die Quell-HTML-Datei mit einem TextReader. -7. Erstellen Sie die erste Absatzinstanz mit der [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) Klasse. -8. Fügen Sie den Inhalt der gelesenen HTML-Datei, die den TextReader gelesen hat, der [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) des TextFrames hinzu. -9. Speichern Sie die modifizierte Präsentation. +## **HTML‑Text in Absätze importieren** +Aspose.Slides bietet erweiterte Unterstützung für das Importieren von HTML‑Text in Absätze. -Dieser C#-Code ist eine Implementierung der Schritte zum Importieren von HTML-Text in Absätze: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse. +2. Greifen Sie über den Index auf die entsprechende Folie zu. +3. Fügen Sie ein [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) zur Folie hinzu. +4. Fügen Sie dem `autoshape` ein [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) hinzu und greifen Sie darauf zu. +5. Entfernen Sie den Standard‑Absatz im `ITextFrame`. +6. Lesen Sie die Quell‑HTML‑Datei mit einem TextReader. +7. Erstellen Sie die erste Absatz‑Instanz über die [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/)‑Klasse. +8. Fügen Sie den HTML‑Dateiinhalt aus dem gelesenen TextReader zur [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) des TextFrames hinzu. +9. Speichern Sie die geänderte Präsentation. +Dieser C#‑Code ist eine Umsetzung der Schritte zum Importieren von HTML‑Texten in Absätze: ```c# // Erstellt eine leere Präsentationsinstanz using (Presentation pres = new Presentation()) { - // Greift auf die Standarderste Folie der Präsentation zu + // Greift auf die standardmäßige erste Folie der Präsentation zu ISlide slide = pres.Slides[0]; - // Fügt dem AutoShape, das den HTML-Inhalt beherbergt, hinzu + // Fügt das AutoShape hinzu, um den HTML-Inhalt zu enthalten IAutoShape ashape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, pres.SlideSize.Size.Width - 20, pres.SlideSize.Size.Height - 10); ashape.FillFormat.FillType = FillType.NoFill; - // Fügt dem Form einen TextFrame hinzu + // Fügt dem Shape ein TextFrame hinzu ashape.AddTextFrame(""); // Löscht alle Absätze im hinzugefügten TextFrame ashape.TextFrame.Paragraphs.Clear(); - // Lädt die HTML-Datei mithilfe des StreamReaders + // Lädt die HTML-Datei mit einem StreamReader TextReader tr = new StreamReader("file.html"); // Fügt den Text aus dem HTML-StreamReader in das TextFrame ein @@ -563,37 +572,147 @@ using (Presentation pres = new Presentation()) } ``` -## **Absatztext ins HTML exportieren** -Aspose.Slides bietet verbesserte Unterstützung für den Export von Texten (die in Absätzen enthalten sind) ins HTML. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse und laden Sie die gewünschte Präsentation. -2. Greifen Sie über den Index auf den entsprechenden Folienverweis zu. -3. Greifen Sie auf die Form zu, die den Text enthält, der ins HTML exportiert wird. -4. Greifen Sie auf das [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) der Form zu. -5. Erstellen Sie eine Instanz von `StreamWriter` und fügen Sie die neue HTML-Datei hinzu. -6. Geben Sie einen Startindex für den StreamWriter an und exportieren Sie Ihre bevorzugten Absätze. +## **Absatz‑Texte nach HTML exportieren** +Aspose.Slides bietet erweiterte Unterstützung für das Exportieren von Texten (die in Absätzen enthalten sind) nach HTML. -Dieser C#-Code zeigt Ihnen, wie Sie den Absatztext einer PowerPoint-Präsentation ins HTML exportieren: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)‑Klasse und laden Sie die gewünschte Präsentation. +2. Greifen Sie über den Index auf die entsprechende Folie zu. +3. Greifen Sie auf die Form zu, die den zu exportierenden Text enthält. +4. Greifen Sie auf das [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) der Form zu. +5. Erstellen Sie eine Instanz von `StreamWriter` und fügen Sie die neue HTML‑Datei hinzu. +6. Geben Sie einen Start‑Index an den StreamWriter weiter und exportieren Sie die gewünschten Absätze. +Dieser C#‑Code zeigt, wie Sie PowerPoint‑Absatz‑Texte nach HTML exportieren: ```c# // Lädt die Präsentationsdatei using (Presentation pres = new Presentation("ExportingHTMLText.pptx")) { - // Greift auf die Standarderste Folie der Präsentation zu + // Greift auf die standardmäßige erste Folie der Präsentation zu ISlide slide = pres.Slides[0]; - // Greift auf den erforderlichen Index zu + // Greift auf den gewünschten Index zu int index = 0; - // Greift auf die hinzugefügte Form zu + // Greift auf das hinzugefügte Shape zu IAutoShape ashape = (IAutoShape)slide.Shapes[index]; StreamWriter sw = new StreamWriter("output_out.html", false, Encoding.UTF8); - // Schreibt die Absatzdaten ins HTML, indem der Startindex des Absatzes und die Anzahl der Absätze festgelegt werden, die kopiert werden sollen + // Schreibt Absatzdaten in HTML, indem der Startindex des Absatzes und die Anzahl der zu kopierenden Absätze angegeben werden sw.Write(ashape.TextFrame.Paragraphs.ExportToHtml(0, ashape.TextFrame.Paragraphs.Count, null)); sw.Close(); } -``` \ No newline at end of file +``` + + +## **Absatz als Bild speichern** + +In diesem Abschnitt zeigen wir zwei Beispiele, die demonstrieren, wie ein Textabsatz, der durch die [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/)‑Schnittstelle dargestellt wird, als Bild gespeichert wird. Beide Beispiele umfassen das Abrufen des Bildes einer Form, die den Absatz enthält, mittels der `GetImage`‑Methoden der [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/)‑Schnittstelle, das Berechnen der Grenzen des Absatzes innerhalb der Form und das Exportieren als Bitmap‑Bild. Diese Vorgehensweisen ermöglichen das Extrahieren einzelner Textteile aus PowerPoint‑Präsentationen und das Speichern als separate Bilder, was in verschiedenen Szenarien nützlich sein kann. + +Angenommen, wir haben eine Präsentationsdatei namens sample.pptx mit einer Folie, wobei die erste Form ein Textfeld mit drei Absätzen ist. + +![The text box with three paragraphs](paragraph_to_image_input.png) + +**Beispiel 1** + +In diesem Beispiel erhalten wir den zweiten Absatz als Bild. Dazu extrahieren wir das Bild der Form von der ersten Folie der Präsentation und berechnen anschließend die Grenzen des zweiten Absatzes im TextFrame der Form. Der Absatz wird dann auf ein neues Bitmap‑Bild gezeichnet, das im PNG‑Format gespeichert wird. Diese Methode ist besonders nützlich, wenn ein bestimmter Absatz als separates Bild gespeichert werden soll, wobei die exakten Abmessungen und die Formatierung des Textes erhalten bleiben. +```csharp +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap. +using var shapeImage = firstShape.GetImage(); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +Das Ergebnis: + +![The paragraph image](paragraph_to_image_output.png) + +**Beispiel 2** + +In diesem Beispiel erweitern wir den vorherigen Ansatz, indem wir Skalierungsfaktoren zum Absatz‑Bild hinzufügen. Die Form wird aus der Präsentation extrahiert und mit einem Skalierungsfaktor von `2` als Bild gespeichert. Dadurch entsteht ein Bild mit höherer Auflösung beim Export des Absatzes. Die Absatz‑Grenzen werden dann unter Berücksichtigung der Skalierung berechnet. Skalierung kann besonders hilfreich sein, wenn ein detaillierteres Bild benötigt wird, beispielsweise für hochwertige Druckmaterialien. +```csharp +var imageScaleX = 2f; +var imageScaleY = imageScaleX; + +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap with scaling. +using var shapeImage = firstShape.GetImage(ShapeThumbnailBounds.Shape, imageScaleX, imageScaleY); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); +paragraphRectangle.X *= imageScaleX; +paragraphRectangle.Y *= imageScaleY; +paragraphRectangle.Width *= imageScaleX; +paragraphRectangle.Height *= imageScaleY; + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +## **FAQ** + +**Kann ich den Zeilenumbruch innerhalb eines Textframes komplett deaktivieren?** + +Ja. Verwenden Sie die Einstellung `WrapText` des Textframes ([WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/wraptext/)), um den Zeilenumbruch auszuschalten, sodass Zeilen nicht an den Rändern des Frames umbrochen werden. + +**Wie kann ich die genauen Grenzen eines bestimmten Absatzes auf der Folie ermitteln?** + +Sie können das Begrenzungsrechteck des Absatzes (und sogar eines einzelnen Portions) abrufen, um seine genaue Position und Größe auf der Folie zu kennen. + +**Wo wird die Absatz‑Ausrichtung (links/rechts/zentriert/Blocksatz) gesteuert?** + +`Alignment` ist eine Absatz‑Ebene‑Einstellung in `ParagraphFormat` ([Alignment](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/alignment/)); sie gilt für den gesamten Absatz, unabhängig von der Formatierung einzelner Portionen. + +**Kann ich eine Rechtschreibsprache nur für einen Teil eines Absatzes festlegen (z. B. ein Wort)?** + +Ja. Die Sprache wird auf Portion‑Ebene festgelegt ([PortionFormat.LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/)), sodass mehrere Sprachen innerhalb eines einzigen Absatzes koexistieren. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md b/de/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md index 9229f75a92..5dec5f7c1f 100644 --- a/de/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md +++ b/de/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md @@ -3,25 +3,24 @@ title: Platzhalter verwalten type: docs weight: 10 url: /de/net/manage-placeholder/ -keywords: "Platzhalter, Platzhaltertext, Eingabetext, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Ändern Sie Platzhaltertext und Eingabetext in PowerPoint-Präsentationen in C# oder .NET" +keywords: "Platzhalter, Platzhaltertext, Eingabeaufforderungstext, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides for .NET" +description: "Platzhaltertext und Eingabeaufforderungstext in PowerPoint-Präsentationen in C# oder .NET ändern" --- ## **Text im Platzhalter ändern** -Mit [Aspose.Slides für .NET](/slides/de/net/) können Sie Platzhalter auf Folien in Präsentationen finden und bearbeiten. Aspose.Slides ermöglicht es Ihnen, Änderungen am Text in einem Platzhalter vorzunehmen. +Mit [Aspose.Slides for .NET](/slides/de/net/) können Sie Platzhalter auf Folien in Präsentationen finden und ändern. Aspose.Slides ermöglicht es Ihnen, den Text in einem Platzhalter zu ändern. -**Voraussetzung**: Sie benötigen eine Präsentation, die einen Platzhalter enthält. Sie können eine solche Präsentation in der Standardanwendung Microsoft PowerPoint erstellen. +**Voraussetzung**: Sie benötigen eine Präsentation, die einen Platzhalter enthält. Sie können eine solche Präsentation in der standardmäßigen Microsoft PowerPoint‑Anwendung erstellen. -So verwenden Sie Aspose.Slides, um den Text im Platzhalter in dieser Präsentation zu ersetzen: +So verwenden Sie Aspose.Slides, um den Text im Platzhalter dieser Präsentation zu ersetzen: -1. Instanziieren Sie die [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse und übergeben Sie die Präsentation als Argument. -2. Erhalten Sie eine Folienreferenz über ihren Index. -3. Durchlaufen Sie die Formen, um den Platzhalter zu finden. -4. Typecasten Sie die Platzhalterform zu einer [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) und ändern Sie den Text mithilfe des [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/), das mit der [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) verknüpft ist. -5. Speichern Sie die modifizierte Präsentation. - -Dieser C#-Code zeigt, wie Sie den Text in einem Platzhalter ändern: +1. Instanziieren Sie die [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse und übergeben Sie die Präsentation als Argument. +2. Holen Sie eine Folienreferenz über ihren Index. +3. Iterieren Sie über die Formen, um den Platzhalter zu finden. +4. Typcasten Sie die Platzhalterform zu einer [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) und ändern Sie den Text mithilfe des [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/), das mit der [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) verknüpft ist. +5. Speichern Sie die geänderte Präsentation. +Dieser C#‑Code zeigt, wie man den Text in einem Platzhalter ändert: ```c# // Instanziiert eine Presentation-Klasse using (Presentation pres = new Presentation("ReplacingText.pptx")) @@ -35,20 +34,19 @@ using (Presentation pres = new Presentation("ReplacingText.pptx")) if (shp.Placeholder != null) { // Ändert den Text in jedem Platzhalter - ((IAutoShape)shp).TextFrame.Text = "Das ist ein Platzhalter"; + ((IAutoShape)shp).TextFrame.Text = "This is a Placeholder"; } - // Speichert die Präsentation auf der Festplatte + // Speichert die Präsentation auf dem Datenträger pres.Save("output_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **Eingabetext im Platzhalter festlegen** -Standard- und vorgefertigte Layouts enthalten Platzhalter-Eingabetexte wie ***Klicken Sie, um einen Titel hinzuzufügen*** oder ***Klicken Sie, um einen Untertitel hinzuzufügen***. Mit Aspose.Slides können Sie Ihre bevorzugten Eingabetexte in Platzhalter-Layout einfügen. - -Dieser C#-Code zeigt Ihnen, wie Sie den Eingabetext in einem Platzhalter festlegen: +## **Prompt‑Text im Platzhalter festlegen** +Standard‑ und vorgefertigte Layouts enthalten Platzhalter‑Prompt‑Texte wie ***Klicken Sie, um einen Titel hinzuzufügen*** oder ***Klicken Sie, um einen Untertitel hinzuzufügen***. Mit Aspose.Slides können Sie Ihre bevorzugten Prompt‑Texte in Platzhalter‑Layouts einfügen. +Dieser C#‑Code zeigt, wie Sie den Prompt‑Text in einem Platzhalter festlegen: ```c# using (Presentation pres = new Presentation("Presentation2.pptx")) { @@ -58,18 +56,18 @@ using (Presentation pres = new Presentation("Presentation2.pptx")) if (shape.Placeholder != null && shape is AutoShape) { string text = ""; - if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPoint zeigt "Klicken Sie, um einen Titel hinzuzufügen" an + if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPoint zeigt "Klicken Sie, um einen Titel hinzuzufügen" { - text = "Titel hinzufügen"; + text = "Add Title"; } else if (shape.Placeholder.Type == PlaceholderType.Subtitle) // Fügt Untertitel hinzu { - text = "Untertitel hinzufügen"; + text = "Add Subtitle"; } ((IAutoShape)shape).TextFrame.Text = text; - Console.WriteLine($"Platzhalter mit Text: {text}"); + Console.WriteLine($"Placeholder with text: {text}"); } } @@ -77,12 +75,11 @@ using (Presentation pres = new Presentation("Presentation2.pptx")) } ``` -## **Transparenz des Platzhalterbildes festlegen** - -Aspose.Slides ermöglicht es Ihnen, die Transparenz des Hintergrundbildes in einem Textplatzhalter festzulegen. Durch Anpassen der Transparenz des Bildes in einem solchen Rahmen können Sie den Text oder das Bild hervorheben (abhängig von den Farben des Textes und des Bildes). -Dieser C#-Code zeigt Ihnen, wie Sie die Transparenz für einen Bildhintergrund (innerhalb einer Form) festlegen: +## **Transparenz des Platzhalter‑Bildes festlegen** +Aspose.Slides ermöglicht es Ihnen, die Transparenz des Hintergrundbildes in einem Text‑Platzhalter festzulegen. Durch Anpassen der Transparenz des Bildes in einem solchen Rahmen können Sie den Text oder das Bild hervorheben (abhängig von den Farben von Text und Bild). +Dieser C#‑Code zeigt, wie Sie die Transparenz für einen Bild‑Hintergrund (innerhalb einer Form) festlegen: ```c# using (var presentation = new Presentation()) { @@ -93,4 +90,19 @@ using (var presentation = new Presentation()) autoShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; autoShape.FillFormat.PictureFillFormat.Picture.ImageTransform.AddAlphaModulateFixedEffect(75); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Was ist ein Basis‑Platzhalter und wie unterscheidet er sich von einer lokalen Form auf einer Folie?** + +Ein Basis‑Platzhalter ist die ursprüngliche Form in einem Layout oder einer Master‑Folienvorlage, von der die Form der Folie erbt – Typ, Position und einige Formatierungen stammen daraus. Eine lokale Form ist unabhängig; existiert kein Basis‑Platzhalter, findet keine Vererbung statt. + +**Wie kann ich alle Titel oder Beschriftungen in einer Präsentation aktualisieren, ohne über jede Folie zu iterieren?** + +Bearbeiten Sie den entsprechenden Platzhalter im Layout oder im Master. Folien, die auf diesen Layouts/ diesem Master basieren, übernehmen die Änderung automatisch. + +**Wie steuere ich die Standard‑Kopf‑/Fußzeilen‑Platzhalter — Datum & Uhrzeit, Foliennummer und Fußzeilentext?** + +Verwenden Sie die HeaderFooter‑Manager im jeweiligen Geltungsbereich (normale Folien, Layouts, Master, Notizen/Handzettel), um diese Platzhalter ein- oder auszuschalten und ihren Inhalt festzulegen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md b/de/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md index 964cee772a..c45d7d55f2 100644 --- a/de/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md +++ b/de/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md @@ -1,127 +1,164 @@ --- -title: TextBox verwalten +title: Textfeld verwalten type: docs weight: 20 url: /de/net/manage-textbox/ -keywords: "Textbox, Textfeld, Textbox hinzufügen, Textbox mit Hyperlink, C#, Csharp, Aspose.Slides für .NET" -description: "Fügen Sie Textbox oder Textfeld zu PowerPoint-Präsentationen in C# oder .NET hinzu" +keywords: +- Textfeld +- Textrahmen +- Text hinzufügen +- Text aktualisieren +- Textfeld mit Hyperlink +- PowerPoint +- Präsentation +- C# +- Csharp +- Aspose.Slides für .NET +description: "Verwalten Sie ein Textfeld oder einen Textrahmen in PowerPoint-Präsentationen mit C# oder .NET" --- -Text auf Folien befindet sich typischerweise in Textboxen oder Formen. Daher müssen Sie, um Text zu einer Folie hinzuzufügen, zuerst eine Textbox hinzufügen und dann Text in die Textbox einfügen. +Texte in Folien befinden sich typischerweise in Textfeldern oder Formen. Daher müssen Sie, um Text zu einer Folie hinzuzufügen, zunächst ein Textfeld hinzufügen und dann Text in das Textfeld einfügen. -Um eine Form, die Text aufnehmen kann, hinzuzufügen, bietet Aspose.Slides für .NET die [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) Schnittstelle. +Um Ihnen das Hinzufügen einer Form zu ermöglichen, die Text enthalten kann, stellt Aspose.Slides für .NET das [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape)-Interface bereit. -{{% alert title="Hinweis" color="warning" %}} +{{% alert title="Note" color="warning" %}} -Aspose.Slides bietet auch die [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) Schnittstelle, um Ihnen das Hinzufügen von Formen zu Folien zu ermöglichen. Allerdings können nicht alle Formen, die über die `IShape` Schnittstelle hinzugefügt werden, Text halten. Formen, die über die [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) Schnittstelle hinzugefügt werden, enthalten typischerweise Text. +Aspose.Slides stellt auch das [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape)-Interface bereit, mit dem Sie Formen zu Folien hinzufügen können. Allerdings können nicht alle über das `IShape`-Interface hinzugefügten Formen Text enthalten. Formen, die über das [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape)-Interface hinzugefügt werden, enthalten typischerweise Text. -Daher sollten Sie bei der Arbeit mit einer bestehenden Form, der Sie Text hinzufügen möchten, überprüfen und bestätigen, dass sie über die `IAutoShape` Schnittstelle castet wurde. Nur dann können Sie mit [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe) arbeiten, das eine Eigenschaft von `IAutoShape` ist. Siehe den Abschnitt [Text aktualisieren](https://docs.aspose.com/slides/net/manage-textbox/#update-text) auf dieser Seite. +Daher sollten Sie, wenn Sie mit einer vorhandenen Form arbeiten, zu der Sie Text hinzufügen möchten, prüfen und bestätigen, dass sie über das `IAutoShape`-Interface gecastet wurde. Nur dann können Sie mit [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe) arbeiten, das eine Eigenschaft von `IAutoShape` ist. Siehe den Abschnitt [Update Text](https://docs.aspose.com/slides/net/manage-textbox/#update-text) auf dieser Seite. {{% /alert %}} -## **Textbox auf Folie erstellen** +## **Textfeld auf Folie erstellen** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Holen Sie sich die Referenz zur ersten Folie über ihren Index. -3. Fügen Sie ein [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) Objekt mit dem [ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype), das auf `Rectangle` gesetzt ist, an einer bestimmten Position auf der Folie hinzu und erhalten Sie die Referenz für das neu hinzugefügte `IAutoShape` Objekt. -4. Fügen Sie dem `IAutoShape` Objekt eine `TextFrame` Eigenschaft hinzu, die einen Text enthält. Im folgenden Beispiel haben wir diesen Text hinzugefügt: *Aspose TextBox* -5. Schließlich speichern Sie die PPTX-Datei über das `Presentation` Objekt. - -Dieser C#-Code, eine Implementierung der oben genannten Schritte, zeigt Ihnen, wie Sie Text zu einer Folie hinzufügen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Holen Sie die Referenz der ersten Folie über ihren Index. +3. Fügen Sie ein [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape)-Objekt mit [ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype) auf `Rectangle` an einer angegebenen Position auf der Folie hinzu und erhalten Sie die Referenz für das neu hinzugefügte `IAutoShape`-Objekt. +4. Fügen Sie dem `IAutoShape`-Objekt eine `TextFrame`-Eigenschaft hinzu, die einen Text enthält. Im nachfolgenden Beispiel haben wir diesen Text hinzugefügt: *Aspose TextBox* +5. Schreiben Sie schließlich die PPTX‑Datei über das `Presentation`‑Objekt. +Dieser C#‑Code – eine Umsetzung der oben genannten Schritte – zeigt Ihnen, wie Sie Text zu einer Folie hinzufügen: ```c# -// Instantiates PresentationEx +// Instanziiert PresentationEx using (Presentation pres = new Presentation()) { - - // Gets the first slide in the presentation + // Ruft die erste Folie in der Präsentation ab ISlide sld = pres.Slides[0]; - // Adds an AutoShape with type set as Rectangle + // Fügt eine AutoShape mit Typ Rectangle hinzu IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - // Adds TextFrame to the Rectangle + // Fügt dem Rechteck ein TextFrame hinzu ashp.AddTextFrame(" "); - // Accesses the text frame + // Greift auf das TextFrame zu ITextFrame txtFrame = ashp.TextFrame; - // Creates the Paragraph object for text frame + // Erstellt das Paragraph-Objekt für das TextFrame IParagraph para = txtFrame.Paragraphs[0]; - // Creates a Portion object for the paragraph + // Erstellt ein Portion-Objekt für den Paragraphen IPortion portion = para.Portions[0]; - // Sets the text + // Setzt den Text portion.Text = "Aspose TextBox"; - // Saves the presentation to disk + // Speichert die Präsentation auf die Festplatte pres.Save("TextBox_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **Überprüfung auf Textfeldform** -Aspose.Slides bietet die [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) Eigenschaft (aus der [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) Klasse), um Ihnen zu ermöglichen, Formen zu untersuchen und Textboxen zu finden. +## **Überprüfen, ob Form ein Textfeld ist** -![Texfeld und Form](istextbox.png) +Aspose.Slides stellt die [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/)-Eigenschaft des [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)-Interfaces bereit, mit der Sie Formen untersuchen und Textfelder identifizieren können. -Dieser C#-Code zeigt Ihnen, wie Sie überprüfen können, ob eine Form als Textbox erstellt wurde: +![Text box and shape](istextbox.png) +Dieser C#‑Code zeigt Ihnen, wie Sie prüfen können, ob eine Form als Textfeld erstellt wurde: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - Aspose.Slides.LowCode.ForEach.Shape(pres, (shape, slide, index) => + Aspose.Slides.LowCode.ForEach.Shape(presentation, (shape, slide, index) => { - if (shape is AutoShape autoShape) + if (shape is IAutoShape autoShape) { - Console.WriteLine(autoShape.IsTextBox ? "Form ist Textbox" : "Form ist Text, kein Feld"); + Console.WriteLine(autoShape.IsTextBox ? "shape is a text box" : "shape is not a text box"); } }); } ``` -## **Spalte in Textbox hinzufügen** -Aspose.Slides bietet die [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) und [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) Eigenschaften (aus der [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) Schnittstelle und [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) Klasse), um Ihnen zu ermöglichen, Spalten zu Textboxen hinzuzufügen. Sie können die Anzahl der Spalten in einer Textbox angeben und dann den Abstand in Punkten zwischen den Spalten festlegen. +Beachten Sie, dass wenn Sie einfach eine AutoShape mit der `AddAutoShape`‑Methode des [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/)-Interfaces hinzufügen, die `IsTextBox`‑Eigenschaft der AutoShape `false` zurückgibt. Nachdem Sie jedoch Text zur AutoShape mittels der `AddTextFrame`‑Methode oder der `Text`‑Eigenschaft hinzugefügt haben, gibt die `IsTextBox`‑Eigenschaft `true` zurück. +```cs +using (Presentation presentation = new Presentation()) +{ + ISlide slide = presentation.Slides[0]; + + IAutoShape shape1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 100, 40); + // shape1.IsTextBox ist false + shape1.AddTextFrame("shape 1"); + // shape1.IsTextBox ist true + + IAutoShape shape2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 110, 100, 40); + // shape2.IsTextBox ist false + shape2.TextFrame.Text = "shape 2"; + // shape2.IsTextBox ist true + + IAutoShape shape3 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 210, 100, 40); + // shape3.IsTextBox ist false + shape3.AddTextFrame(""); + // shape3.IsTextBox ist false + + IAutoShape shape4 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 310, 100, 40); + // shape4.IsTextBox ist false + shape4.TextFrame.Text = ""; + // shape4.IsTextBox ist false +} +``` + -Dieser Code in C# demonstriert die beschriebene Operation: +## **Spalte in Textfeld hinzufügen** +Aspose.Slides bietet die Eigenschaften [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) und [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) (aus dem [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat)-Interface bzw. der Klasse [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)), mit denen Sie Spalten zu Textfeldern hinzufügen können. Sie können die Anzahl der Spalten in einem Textfeld festlegen und den Abstand in Punkten zwischen den Spalten angeben. + +Dieser C#‑Code demonstriert den beschriebenen Vorgang: ```c# using (Presentation presentation = new Presentation()) { - // Gets the first slide in the presentation + // Holt die erste Folie in der Präsentation ISlide slide = presentation.Slides[0]; - // Add an AutoShape with type set as Rectangle + // Fügt eine AutoShape mit Typ Rectangle hinzu IAutoShape aShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 300, 300); - // Add TextFrame to the Rectangle - aShape.AddTextFrame("Alle diese Spalten sind darauf beschränkt, innerhalb eines einzigen Textcontainers zu bleiben -- " + - "Sie können Text hinzufügen oder löschen und der neue oder verbleibende Text passt sich automatisch an " + - "an, um innerhalb des Containers zu fließen. Sie können jedoch keinen Text von einem Container " + - "zum anderen fließen lassen -- wir haben Ihnen gesagt, dass die Spaltenoptionen von PowerPoint für Text begrenzt sind!"); + // Fügt dem Rechteck ein TextFrame hinzu + aShape.AddTextFrame("All these columns are limited to be within a single text container -- " + + "you can add or delete text and the new or remaining text automatically adjusts " + + "itself to flow within the container. You cannot have text flow from one container " + + "to other though -- we told you PowerPoint's column options for text are limited!"); - // Gets the text format of TextFrame + // Holt das Textformat des TextFrames ITextFrameFormat format = aShape.TextFrame.TextFrameFormat; - // Specifies the number of columns in TextFrame + // Gibt die Anzahl der Spalten im TextFrame an format.ColumnCount = 3; - // Specifies the spacing between columns + // Gibt den Abstand zwischen den Spalten an format.ColumnSpacing = 10; - // Saves the presentation + // Speichert die Präsentation presentation.Save("ColumnCount.pptx", SaveFormat.Pptx); } ``` -## **Spalte im Textfeld hinzufügen** -Aspose.Slides für .NET bietet die [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) Eigenschaft (aus der [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) Schnittstelle), die es Ihnen ermöglicht, Spalten in Textfeldern hinzuzufügen. Über diese Eigenschaft können Sie Ihre bevorzugte Anzahl von Spalten in einem Textfeld angeben. +## **Spalte im Textrahmen hinzufügen** -Dieser C#-Code zeigt Ihnen, wie Sie eine Spalte innerhalb eines Textfelds hinzufügen: +Aspose.Slides für .NET stellt die [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount)-Eigenschaft (aus dem [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat)-Interface) bereit, die es Ihnen ermöglicht, Spalten in Textrahmen hinzuzufügen. Über diese Eigenschaft können Sie die gewünschte Anzahl von Spalten in einem Textrahmen festlegen. +Dieser C#‑Code zeigt Ihnen, wie Sie eine Spalte innerhalb eines Textrahmens hinzufügen: ```c# string outPptxFileName = "ColumnsTest.pptx"; using (Presentation pres = new Presentation()) @@ -130,10 +167,10 @@ using (Presentation pres = new Presentation()) TextFrameFormat format = (TextFrameFormat)shape1.TextFrame.TextFrameFormat; format.ColumnCount = 2; - shape1.TextFrame.Text = "Alle diese Spalten sind gezwungen, innerhalb eines einzigen Textcontainers zu bleiben -- " + - "Sie können Text hinzufügen oder löschen - und der neue oder verbleibende Text passt sich automatisch an " + - "an, um innerhalb des Containers zu bleiben. Sie können jedoch keinen Text von einem Container " + - "zum anderen fließen lassen, denn die Spaltenoptionen von PowerPoint für Text sind begrenzt!"; + shape1.TextFrame.Text = "All these columns are forced to stay within a single text container -- " + + "you can add or delete text - and the new or remaining text automatically adjusts " + + "itself to stay within the container. You cannot have text spill over from one container " + + "to other, though -- because PowerPoint's column options for text are limited!"; pres.Save(outPptxFileName, SaveFormat.Pptx); using (Presentation test = new Presentation(outPptxFileName)) @@ -163,12 +200,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Text aktualisieren** -Aspose.Slides ermöglicht es Ihnen, den Text in einer Textbox oder alle Texte in einer Präsentation zu ändern oder zu aktualisieren. +## **Text aktualisieren** -Dieser C#-Code demonstriert eine Operation, bei der alle Texte in einer Präsentation aktualisiert oder geändert werden: +Aspose.Slides ermöglicht es Ihnen, den in einem Textfeld enthaltenen Text oder alle Texte in einer Präsentation zu ändern bzw. zu aktualisieren. +Dieser C#‑Code demonstriert einen Vorgang, bei dem alle Texte in einer Präsentation aktualisiert bzw. geändert werden: ```c# using(Presentation pres = new Presentation("text.pptx")) { @@ -176,11 +213,11 @@ using(Presentation pres = new Presentation("text.pptx")) { foreach (IShape shape in slide.Shapes) { - if (shape is IAutoShape autoShape) //Überprüft, ob die Form ein Textfeld unterstützt (IAutoShape). + if (shape is IAutoShape autoShape) //Überprüft, ob die Form ein Textframe unterstützt (IAutoShape). { - foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) //Durchläuft die Absätze im Textfeld + foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) //Iteriert durch die Absätze im Textframe { - foreach (IPortion portion in paragraph.Portions) //Durchläuft jeden Teil des Absatzes + foreach (IPortion portion in paragraph.Portions) //Iteriert durch jeden Abschnitt im Absatz { portion.Text = portion.Text.Replace("years", "months"); //Ändert den Text portion.PortionFormat.FontBold = NullableBool.True; //Ändert die Formatierung @@ -189,51 +226,62 @@ using(Presentation pres = new Presentation("text.pptx")) } } } - - //Speichert die modifizierte Präsentation + + //Speichert die geänderte Präsentation pres.Save("text-changed.pptx", SaveFormat.Pptx); } ``` -## **Textbox mit Hyperlink hinzufügen** -Sie können einen Link in eine Textbox einfügen. Wenn die Textbox angeklickt wird, werden die Benutzer aufgefordert, den Link zu öffnen. +## **Textfeld mit Hyperlink hinzufügen** -1. Erstellen Sie eine Instanz der `Presentation` Klasse. -2. Holen Sie sich die Referenz zur ersten Folie über ihren Index. -3. Fügen Sie ein `AutoShape` Objekt mit `ShapeType` auf `Rectangle` gesetzt an einer bestimmten Position auf der Folie hinzu und erhalten Sie eine Referenz auf das neu hinzugefügte AutoShape-Objekt. -4. Fügen Sie ein `TextFrame` zum `AutoShape` Objekt hinzu, das *Aspose TextBox* als Standardtext enthält. -5. Instanziieren Sie die Klasse `IHyperlinkManager`. -6. Weisen Sie das `IHyperlinkManager` Objekt der [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick) Eigenschaft zu, die mit dem gewünschten Teil des `TextFrame` verknüpft ist. -7. Schließlich speichern Sie die PPTX-Datei über das `Presentation` Objekt. +Sie können einen Link in ein Textfeld einfügen. Beim Anklicken des Textfeldes wird der Link geöffnet. -Dieser C#-Code, eine Implementierung der oben genannten Schritte, zeigt Ihnen, wie Sie eine Textbox mit einem Hyperlink zu einer Folie hinzufügen: +1. Erstellen Sie eine Instanz der `Presentation`‑Klasse. +2. Holen Sie die Referenz der ersten Folie über ihren Index. +3. Fügen Sie ein `AutoShape`‑Objekt mit `ShapeType` auf `Rectangle` an einer angegebenen Position auf der Folie hinzu und erhalten Sie eine Referenz des neu hinzugefügten AutoShape‑Objekts. +4. Fügen Sie dem `AutoShape`‑Objekt ein `TextFrame` hinzu, das *Aspose TextBox* als Standardtext enthält. +5. Instanziieren Sie die `IHyperlinkManager`‑Klasse. +6. Weisen Sie das `IHyperlinkManager`‑Objekt der [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick)-Eigenschaft zu, die dem gewünschten Teil des `TextFrame` zugeordnet ist. +7. Schreiben Sie schließlich die PPTX‑Datei über das `Presentation`‑Objekt. +Dieser C#‑Code – eine Umsetzung der obigen Schritte – zeigt Ihnen, wie Sie einem Slide ein Textfeld mit Hyperlink hinzufügen: ```c# -// Instantiates a Presentation class that represents a PPTX +// Instanziert eine Presentation-Klasse, die ein PPTX darstellt Presentation pptxPresentation = new Presentation(); -// Gets the first slide in the presentation +// Holt die erste Folie in der Präsentation ISlide slide = pptxPresentation.Slides[0]; -// Adds an AutoShape object with type set as Rectangle +// Fügt ein AutoShape-Objekt mit dem Typ Rechteck hinzu IShape pptxShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 150, 150, 50); -// Casts the shape to AutoShape +// Wandelt die Form in AutoShape um IAutoShape pptxAutoShape = (IAutoShape)pptxShape; -// Accesses the ITextFrame property associated with the AutoShape +// Greift auf die ITextFrame-Eigenschaft zu, die mit dem AutoShape verknüpft ist pptxAutoShape.AddTextFrame(""); ITextFrame ITextFrame = pptxAutoShape.TextFrame; -// Adds some text to the frame +// Fügt dem Rahmen etwas Text hinzu ITextFrame.Paragraphs[0].Portions[0].Text = "Aspose.Slides"; -// Sets the Hyperlink for the portion text +// Setzt den Hyperlink für den Abschnittstext IHyperlinkManager HypMan = ITextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkManager; HypMan.SetExternalHyperlinkClick("http://www.aspose.com"); -// Saves the PPTX Presentation +// Speichert die PPTX-Präsentation pptxPresentation.Save("hLinkPPTX_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**Was ist der Unterschied zwischen einem Textfeld und einem Textplatzhalter bei der Arbeit mit Masterfolien?** + +Ein [Platzhalter](/slides/de/net/manage-placeholder/) erbt Stil/Position vom [Master](https://reference.aspose.com/slides/net/aspose.slides/masterslide/) und kann in [Layouts](https://reference.aspose.com/slides/net/aspose.slides/layoutslide/) überschrieben werden, während ein reguläres Textfeld ein unabhängiges Objekt auf einer bestimmten Folie ist und sich beim Wechseln von Layouts nicht ändert. + +**Wie kann ich einen massiven Textaustausch in der gesamten Präsentation durchführen, ohne Text in Diagrammen, Tabellen und SmartArt zu berühren?** + +Beschränken Sie Ihre Iteration auf AutoShapes, die TextFrames besitzen, und schließen Sie eingebettete Objekte ([Diagramme](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/), [Tabellen](https://reference.aspose.com/slides/net/aspose.slides/table/), [SmartArt](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartart/)) aus, indem Sie deren Sammlungen separat durchlaufen oder diese Objekttypen überspringen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md b/de/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md index f896e1f174..12d2eddbb9 100644 --- a/de/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md +++ b/de/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md @@ -3,26 +3,41 @@ title: Präsentationslokalisierung type: docs weight: 100 url: /de/net/presentation-localization/ -keywords: "Sprache ändern, Rechtschreibprüfung, Rechtschreibprüfung, Rechtschreibprüfer, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Sprache in PowerPoint-Präsentationen ändern oder überprüfen. Rechtschreibung in C# oder .NET prüfen" +keywords: "Sprache ändern, Rechtschreibprüfung, Rechtschreibprüfung, Rechtschreibprüfer, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides for .NET" +description: "Sprache in einer PowerPoint-Präsentation ändern oder prüfen. Text in C# oder .NET rechtschreibprüfen." --- + ## **Sprache für Präsentation und Text von Formen ändern** -- Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -- Erhalten Sie die Referenz zu einer Folie, indem Sie ihren Index verwenden. +- Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +- Rufen Sie die Referenz einer Folie über ihren Index ab. - Fügen Sie der Folie eine AutoShape vom Typ Rechteck hinzu. - Fügen Sie dem TextFrame etwas Text hinzu. -- Setzen Sie die Sprach-ID für den Text. -- Schreiben Sie die Präsentation als PPTX-Datei. - -Die Implementierung der oben genannten Schritte wird unten in einem Beispiel demonstriert. +- Legen Sie die LanguageId für den Text fest. +- Speichern Sie die Präsentation als PPTX-Datei. +Die Implementierung der obigen Schritte wird unten in einem Beispiel gezeigt. ```c# using (Presentation pres = new Presentation("test0.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); - shape.AddTextFrame("Text zur Anwendung der Rechtschreibprüfung Sprache"); + shape.AddTextFrame("Text to apply spellcheck language"); shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId = "en-EN"; pres.Save("test1.pptx",Aspose.Slides.Export.SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Löst language_id eine automatische Textübersetzung aus?** + +Nein. [language_id](https://reference.aspose.com/slides/net/aspose.slides/portionformat/languageid/) in Aspose.Slides speichert die Sprache für Rechtschreib- und Grammatikprüfung, übersetzt jedoch den Text nicht und ändert ihn nicht. Es handelt sich um Metadaten, die PowerPoint für die Prüfung versteht. + +**Beeinflusst language_id die Silbentrennung und den Zeilenumbruch beim Rendern?** + +In Aspose.Slides ist [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) für die Prüfung vorgesehen. Die Qualität der Silbentrennung und des Zeilenumbruchs hängt hauptsächlich von der Verfügbarkeit [proper fonts](/slides/de/net/powerpoint-fonts/) sowie von Layout‑/Zeilenumbruch‑Einstellungen für das Schriftsystem ab. Um ein korrektes Rendering sicherzustellen, stellen Sie die erforderlichen Schriften bereit, konfigurieren Sie [font substitution rules](/slides/de/net/font-substitution/) und/oder [embed fonts](/slides/de/net/embedded-font/) in die Präsentation. + +**Kann ich innerhalb eines einzelnen Absatzes verschiedene Sprachen festlegen?** + +Ja. [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) wird auf Ebene des Textabschnitts angewendet, sodass ein einzelner Absatz mehrere Sprachen mit unterschiedlichen Prüfungseinstellungen mischen kann. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md b/de/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md index bf57e98bfc..0a11c67eb5 100644 --- a/de/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md +++ b/de/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md @@ -1,78 +1,114 @@ --- -title: Hochgestellt und Tiefgestellt +title: Verwalten von Hoch- und Tiefstellung in C# +linktitle: Hoch- und Tiefstellung type: docs weight: 80 url: /de/net/superscript-and-subscript/ -keywords: "Hochgestellt, Tiefgestellt, Hochgestellten Text hinzufügen, Tiefgestellten Text hinzufügen, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Hochgestellten und tiefgestellten Text zu PowerPoint-Präsentationen in C# oder .NET hinzufügen" +keywords: +- hochgestellt +- tiefgestellt +- hochgestellt hinzufügen +- tiefgestellt hinzufügen +- PowerPoint +- OpenDocument +- Präsentation +- C# +- Csharp +- Aspose.Slides +description: "Meistern Sie Hoch- und Tiefstellung in Aspose.Slides für .NET und verbessern Sie Ihre Präsentationen mit professioneller Textformatierung für maximale Wirkung." --- -## **Hochgestellten und Tiefgestellten Text verwalten** -Sie können hochgestellten und tiefgestellten Text in jedem Absatz hinzufügen. Um hochgestellten oder tiefgestellten Text im Aspose.Slides-Textfeld hinzuzufügen, müssen die **Escapement**-Eigenschaften der PortionFormat-Klasse verwendet werden. +## **Übersicht** -Diese Eigenschaft gibt den hochgestellten oder tiefgestellten Text zurück oder legt ihn fest (Wert von -100% (tiefgestellt) bis 100% (hochgestellt). Zum Beispiel: +Aspose.Slides für .NET bietet Funktionen zum Einfügen von hoch- und tiefgestelltem Text in Ihre PowerPoint‑ (PPT, PPTX) und OpenDocument‑ (ODP) Präsentationen. Egal, ob Sie chemische Formeln, mathematische Gleichungen hervorheben oder Inhalte mit Fußnoten kommentieren müssen, diese speziellen Formatierungsoptionen unterstützen Klarheit und Präzision. In diesem Artikel erfahren Sie, wie Sie hoch‑ und tiefgestellte Stile nahtlos anwenden und in jeder Folie professionelle Ergebnisse erzielen. -- Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -- Erhalten Sie die Referenz auf eine Folie, indem Sie ihren Index verwenden. -- Fügen Sie der Folie eine IAutoShape vom Typ Rechteck hinzu. -- Greifen Sie auf das ITextFrame zu, das mit der IAutoShape verknüpft ist. -- Löschen Sie vorhandene Absätze. -- Erstellen Sie ein neues Absatzobjekt zur Aufnahme von hochgestelltem Text und fügen Sie es der IParagraphs-Sammlung des ITextFrame hinzu. -- Erstellen Sie ein neues Portionsobjekt. -- Setzen Sie die Escapement-Eigenschaft für die Portion zwischen 0 und 100, um hochgestellten Text hinzuzufügen. (0 bedeutet keinen Hochgestellt) -- Setzen Sie einen Text für die Portion und fügen Sie ihn dann der Portion-Sammlung des Absatzes hinzu. -- Erstellen Sie ein neues Absatzobjekt zur Aufnahme von tiefgestelltem Text und fügen Sie es der IParagraphs-Sammlung des ITextFrame hinzu. -- Erstellen Sie ein neues Portionsobjekt. -- Setzen Sie die Escapement-Eigenschaft für die Portion zwischen 0 und -100, um tiefgestellten Text hinzuzufügen. (0 bedeutet keinen Tiefgestellt) -- Setzen Sie einen Text für die Portion und fügen Sie ihn dann der Portion-Sammlung des Absatzes hinzu. -- Speichern Sie die Präsentation als PPTX-Datei. +## **Hoch- und Tiefgestellten Text hinzufügen** -Die Implementierung der obigen Schritte ist unten angegeben. +Sie können hoch- und tiefgestellten Text in jedem Absatz einer Präsentation hinzufügen. Um dies mit Aspose.Slides zu erreichen, müssen Sie die Eigenschaft `Escapement` der Klasse [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) verwenden. +Diese Eigenschaft ermöglicht das Festlegen von hoch- oder tiefgestelltem Text, wobei die Werte von -100 % (tiefgestellt) bis 100 % (hochgestellt) reichen. + +Implementierungsschritte: + +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +2. Holen Sie eine Referenz auf eine Folie über ihren Index. +3. Fügen Sie der Folie ein [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) vom Typ `Rectangle` hinzu. +4. Greifen Sie auf das [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) zu, das mit dem [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) verknüpft ist. +5. Löschen Sie vorhandene Absätze. +6. Erstellen Sie einen neuen [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) für hochgestellten Text und fügen Sie ihn der Absatzsammlung des [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) hinzu. +7. Erstellen Sie ein neues Text‑Portion‑Objekt. +8. Setzen Sie die Eigenschaft `Escapement` für die Text‑Portion zwischen 0 und 100, um Hochstellung anzuwenden (0 bedeutet keine Hochstellung). +9. Legen Sie Text für die [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) fest und fügen Sie ihn der Portion‑Sammlung des Absatzes hinzu. +10. Erstellen Sie einen weiteren [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) für tiefgestellten Text und fügen Sie ihn der Absatzsammlung hinzu. +11. Erstellen Sie ein neues Text‑Portion‑Objekt. +12. Setzen Sie die Eigenschaft `Escapement` für die Text‑Portion zwischen 0 und -100, um Tiefstellung anzuwenden (0 bedeutet keine Tiefstellung). +13. Legen Sie Text für die [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) fest und fügen Sie ihn der Portion‑Sammlung des Absatzes hinzu. +14. Speichern Sie die Präsentation als PPTX‑Datei. + +Der folgende C#‑Code implementiert diese Schritte: ```c# -using (Presentation presentation = new Presentation("test.pptx")) +using (Presentation presentation = new Presentation()) { - // Folie abrufen + // Hole die erste Folie. ISlide slide = presentation.Slides[0]; - // Textfeld erstellen + // Erstelle ein Textfeld. IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 200, 100); ITextFrame textFrame = shape.TextFrame; + textFrame.Paragraphs.Clear(); - // Absatz für hochgestellten Text erstellen + // Erstelle einen Absatz für hochgestellten Text. IParagraph superPar = new Paragraph(); - // Portion mit gewöhnlichem Text erstellen + // Erstelle einen Textabschnitt mit normalem Text. IPortion portion1 = new Portion(); - portion1.Text = "Foliens Titel"; + portion1.Text = "MyProduct"; superPar.Portions.Add(portion1); - // Portion mit hochgestelltem Text erstellen + // Erstelle einen Textabschnitt mit hochgestelltem Text. IPortion superPortion = new Portion(); superPortion.PortionFormat.Escapement = 30; superPortion.Text = "TM"; superPar.Portions.Add(superPortion); - // Absatz für tiefgestellten Text erstellen + // Erstelle einen Absatz für tiefgestellten Text. IParagraph paragraph2 = new Paragraph(); - // Portion mit gewöhnlichem Text erstellen + // Erstelle einen Textabschnitt mit normalem Text. IPortion portion2 = new Portion(); portion2.Text = "a"; paragraph2.Portions.Add(portion2); - // Portion mit tiefgestelltem Text erstellen + // Erstelle einen Textabschnitt mit tiefgestelltem Text. IPortion subPortion = new Portion(); subPortion.PortionFormat.Escapement = -25; subPortion.Text = "i"; paragraph2.Portions.Add(subPortion); - // Absätze zum Textfeld hinzufügen + // Füge die Absätze dem Textfeld hinzu. textFrame.Paragraphs.Add(superPar); textFrame.Paragraphs.Add(paragraph2); - presentation.Save("TestOut.pptx", SaveFormat.Pptx); - System.Diagnostics.Process.Start("TestOut.pptx"); - } -``` \ No newline at end of file + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +Das Ergebnis: + +![Hoch- und Tiefgestellt](superscript_and_subscript.png) + +## **FAQ** + +**Werden Hoch- und Tiefstellung beim Exportieren in PDF oder andere Formate beibehalten?** + +Ja, Aspose.Slides für .NET bewahrt die Hoch‑ und Tiefstellung korrekt, wenn Präsentationen in PDF, PPT/PPTX, Bilder und andere unterstützte Formate exportiert werden. Die spezielle Formatierung bleibt in allen Ausgabedateien erhalten. + +**Kann Hoch‑ und Tiefstellung mit anderen Formatierungsstilen wie Fett oder Kursiv kombiniert werden?** + +Ja, Aspose.Slides ermöglicht das Mischen verschiedener Textstile innerhalb einer einzelnen Textportion. Sie können Fett, Kursiv, Unterstreichen aktivieren und gleichzeitig Hoch‑ oder Tiefstellung anwenden, indem Sie die entsprechenden Eigenschaften in [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) konfigurieren. + +**Funktioniert die Hoch‑ und Tiefstellung für Text in Tabellen, Diagrammen oder SmartArt?** + +Ja, Aspose.Slides für .NET unterstützt die Formatierung in den meisten Objekten, einschließlich Tabellen‑ und Diagrammelementen. Beim Arbeiten mit SmartArt müssen Sie auf die entsprechenden Elemente (wie [SmartArtNode](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartartnode/)) und deren Textcontainer zugreifen und anschließend die [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/)‑Eigenschaften analog konfigurieren. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md b/de/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md index 2b4a1fd7f4..d551665dba 100644 --- a/de/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md +++ b/de/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md @@ -1,5 +1,5 @@ --- -title: Textformatierung +title: PowerPoint-Text formatieren in C# linktitle: Textformatierung type: docs weight: 50 @@ -7,658 +7,513 @@ url: /de/net/text-formatting/ keywords: - Text hervorheben - regulärer Ausdruck -- Textabsätze ausrichten +- Absatz ausrichten +- Textstil +- Text-Hintergrund - Texttransparenz -- Schriftart-Eigenschaften des Absatzes +- Zeichenabstand +- Schriftart-Eigenschaften - Schriftfamilie - Textrotation -- benutzerdefinierte Winkelrotation +- Drehwinkel - Textfeld - Zeilenabstand - Autofit-Eigenschaft -- Textfeldanker -- Texttabulierung -- Standardtextstil +- Textfeld-Anker +- Texttabulation +- Standardsprache +- PowerPoint +- OpenDocument +- Präsentation - C# -- Aspose.Slides für .NET -description: "Verwalten und Manipulieren von Text- und Textfeldeigenschaften in C#" +- Aspose.Slides +description: "Erfahren Sie, wie Sie Text in PowerPoint- und OpenDocument-Präsentationen mithilfe von Aspose.Slides für .NET formatieren und gestalten. Passen Sie Schriftarten, Farben, Ausrichtungen und vieles mehr mit leistungsstarken C#-Codebeispielen an." --- -## Übersicht +## **Übersicht** -Dieser Artikel beschreibt, wie man **mit der Textformatierung von PowerPoint-Präsentationen in C# arbeitet**, z.B. Text hervorheben, einen regulären Ausdruck anwenden, Textabsätze ausrichten, die Texttransparenz festlegen, die Schriftart-Eigenschaften von Absätzen ändern, Schriftfamilien verwenden, eine Textrichtung einstellen, eine Winkelrotation anpassen, ein Textfeld verwalten, den Zeilenabstand einstellen, die Autofit-Eigenschaft verwenden, einen Textfeldanker festlegen und die Texttabulierung ändern. Der Artikel behandelt diese Themen. +Dieser Artikel führt ein, wie man Text in PowerPoint‑ und OpenDocument‑Präsentationen mit Aspose.Slides für .NET verwaltet und formatiert. Sie lernen, wie Sie Textformatierungsfunktionen wie Schriftartauswahl, Größe, Farbe, Hervorhebung, Hintergrundfarbe, Abstand und Ausrichtung anwenden. Zusätzlich wird die Arbeit mit Textfeldern, Absätzen, Formatierung und erweiterten Layout‑Optionen wie benutzerdefinierter Drehung und Autofit‑Verhalten behandelt. -## **Text hervorheben** -Die neue HighlightText-Methode wurde zur ITextFrame-Schnittstelle und zur TextFrame-Klasse hinzugefügt. +Egal, ob Sie Präsentationen programmgesteuert erzeugen oder vorhandene Inhalte anpassen, diese Beispiele helfen Ihnen, klare, professionell aussehende Textlayouts zu erstellen, die Ihre Folien verbessern und die Lesbarkeit erhöhen. -Sie ermöglicht es, einen Textteil mit Hintergrundfarbe zu kennzeichnen, ähnlich wie das Werkzeug Textmarkerfarbe in PowerPoint 2019. +In den folgenden Beispielen verwenden wir die Datei **sample.pptx**, die auf der ersten Folie ein einzelnes Textfeld mit folgendem Inhalt enthält: -1. Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) Klasse mit der Eingabedatei. - - Die Eingabedatei kann PPT, PPTX, ODP usw. sein. -3. Greifen Sie über die [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/) Sammlung auf die Folie zu. -4. Greifen Sie über die [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) Sammlung auf die Form zu als [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). -5. Heben Sie den Text mit der [TextFrame.Highlight()](https://reference.aspose.com/slides/net/aspose.slides/textframe/highlighttext/#highlighttext) Methode hervor. -6. Speichern Sie die Präsentation im gewünschten Ausgabeformat, d.h. PPT, PPTX oder ODP usw. +![Beispieltext](sample_text.png) -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("title", Color.LightBlue); // hebt alle Wörter 'wichtig' hervor -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("to", Color.Violet, new TextHighlightingOptions() -{ - WholeWordsOnly = true -}); // hebt alle separaten 'die' Vorkommen hervor -presentation.Save("SomePresentation-out2.pptx", SaveFormat.Pptx); -``` - -{{% alert color="primary" %}} +## **Text hervorheben** -Aspose bietet einen einfachen, [kostenlosen Online PowerPoint-Bearbeitungsdienst](https://products.aspose.app/slides/editor) +Die [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/)‑Methode ermöglicht es, einen Textabschnitt mit einer Hintergrundfarbe basierend auf einem passenden Textmuster zu markieren. -{{% /alert %}} +So gehen Sie vor: +1. Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)‑Klasse mit einer Eingabedatei (PPT, PPTX, ODP usw.). +2. Greifen Sie über die [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/)‑Sammlung auf die gewünschte Folie zu. +3. Greifen Sie über die [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/)‑Sammlung auf das Ziel‑Shape zu und casten Sie es zu einem [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +4. Markieren Sie den gewünschten Text mittels der [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/)‑Methode, indem Sie den Beispieltext und die Farbe angeben. +5. Speichern Sie die Präsentation im gewünschten Ausgabeformat (z. B. PPT, PPTX, ODP). -## **Text hervorheben mit regulärem Ausdruck** -Die neue HighlightRegex-Methode wurde zur ITextFrame-Schnittstelle und zur TextFrame-Klasse hinzugefügt. +Der untenstehende Code markiert alle Vorkommen der Zeichen **"try"** und des vollständigen Wortes **"to"**. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + // Erhalte die erste Form von der ersten Folie. + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; -Sie ermöglicht es, einen Textteil mit Hintergrundfarbe mithilfe von Regex hervorzuheben, ähnlich wie das Werkzeug Textmarkerfarbe in PowerPoint 2019. + // Markiere das Wort "try" in der Form. + shape.TextFrame.HighlightText("try", Color.LightBlue); + var searchOptions = new TextSearchOptions() + { + WholeWordsOnly = true + }; -Der folgende Codeausschnitt zeigt, wie man diese Funktion verwendet: + // Markiere das Wort "to" in der Form. + shape.TextFrame.HighlightText("to", Color.Violet, searchOptions, null); -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -TextHighlightingOptions options = new TextHighlightingOptions(); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightRegex(@"\b[^\s]{5,}\b", Color.Blue, options); // hebt alle Wörter mit 10 Symbolen oder mehr hervor -presentation.Save("SomePresentation-out.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text.pptx", SaveFormat.Pptx); +} ``` -## **Text-Hintergrundfarbe festlegen** -Aspose.Slides ermöglicht es Ihnen, Ihre bevorzugte Farbe für den Hintergrund eines Textes anzugeben. +Das Ergebnis: -Dieser C#-Code zeigt Ihnen, wie Sie die Hintergrundfarbe für einen gesamten Text festlegen: +![Der hervorgehobene Text](highlighted_text.png) -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Schwarz"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Rot "); - - var portion3 = new Portion("Schwarz"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +{{% alert color="primary" %}} +Aspose bietet einen einfachen, [KOSTENLOSEN Online-PowerPoint-Editor](https://products.aspose.app/slides/editor). +{{% /alert %}} + +## **Text mit regulären Ausdrücken hervorheben** -using (Presentation pres = new Presentation("text.pptx")) +Aspose.Slides für .NET ermöglicht das Suchen und Hervorheben bestimmter Textteile in PowerPoint‑Folien mithilfe regulärer Ausdrücke. Diese Funktion ist besonders nützlich, wenn Sie Schlüsselwörter, Muster oder datenbasierte Inhalte dynamisch betonen möchten. Die [ITextFrame.HighlightRegex](https://docs.aspose.com/slides/net/text-formatting/)‑Methode erlaubt das Hervorheben von Textteilen mit einer Hintergrundfarbe anhand eines regulären Ausdrucks. + +Der untenstehende Code markiert alle Wörter, die **sieben oder mehr Zeichen** enthalten: +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; - foreach (IPortion portion in autoShape.TextFrame.Paragraphs[0].Portions) - { - portion.PortionFormat.HighlightColor.Color = Color.Blue; - } + // Alle Wörter mit sieben oder mehr Zeichen hervorheben. + shape.TextFrame.HighlightRegex(@"\b[^\s]{7,}\b", Color.Yellow, null); - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text_using_regex.pptx", SaveFormat.Pptx); } ``` -Dieser C#-Code zeigt Ihnen, wie Sie die Hintergrundfarbe nur für einen Teil eines Textes festlegen: -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Schwarz"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Rot "); - - var portion3 = new Portion("Schwarz"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +Das Ergebnis: + +![Der hervorgehobene Text mit regulärem Ausdruck](highlighted_text_using_regex.png) -using (Presentation pres = new Presentation("text.pptx")) +## **Hintergrundfarbe für Text festlegen** + +Aspose.Slides für .NET ermöglicht es, Hintergrundfarben für ganze Absätze oder einzelne Textteile in PowerPoint‑Folien anzuwenden. Diese Funktion ist praktisch, wenn Sie bestimmte Wörter oder Phrasen hervorheben, Schlüsselbotschaften betonen oder die visuelle Attraktivität Ihrer Präsentationen steigern möchten. + +Der folgende Code zeigt, wie die Hintergrundfarbe für den **gesamten Absatz** festgelegt wird: +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - IPortion redPortion = autoShape.TextFrame.Paragraphs[0].Portions - .First(p => p.Text.Contains("Rot")); + // Setze die Hervorhebungsfarbe für den gesamten Absatz. + paragraph.ParagraphFormat.DefaultPortionFormat.HighlightColor.Color = Color.LightGray; - redPortion.PortionFormat.HighlightColor.Color = Color.Red; - - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("gray_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Textabsätze ausrichten** - -Die Textformatierung ist eines der Schlüsselelemente beim Erstellen jeglicher Art von Dokumenten oder Präsentationen. Wir wissen, dass Aspose.Slides für .NET das Hinzufügen von Text zu Folien unterstützt, aber in diesem Thema werden wir sehen, wie wir die Ausrichtung der Textabsätze in einer Folie steuern können. Bitte folgen Sie den folgenden Schritten, um Textabsätze mit Aspose.Slides für .NET auszurichten: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Erhalten Sie die Referenz einer Folie, indem Sie ihren Index verwenden. -3. Greifen Sie auf die Platzhalterformen in der Folie zu und typisieren Sie sie als AutoShape. -4. Holen Sie sich den Absatz (der ausgerichtet werden muss) aus dem TextFrame, das von AutoShape bereitgestellt wird. -5. Richten Sie den Absatz aus. Ein Absatz kann rechts, links, zentriert und im Blocksatz ausgerichtet werden. -6. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Das Ergebnis: -Die Implementierung der oben genannten Schritte ist unten angegeben. +![Der graue Absatz](gray_paragraph.png) -```c# -// Instanziieren Sie ein Präsentationsobjekt, das eine PPTX-Datei darstellt -using (Presentation pres = new Presentation("ParagraphsAlignment.pptx")) +Der untenstehende Code demonstriert, wie die Hintergrundfarbe für **Textabschnitte mit Fettschrift** festgelegt wird: +```cs +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Zugriff auf die erste Folie - ISlide slide = pres.Slides[0]; - - // Zugriff auf den ersten und zweiten Platzhalter in der Folie und Typcasting als AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; - - // Ändern Sie den Text in beiden Platzhaltern - tf1.Text = "Zentriert ausrichten von Aspose"; - tf2.Text = "Zentriert ausrichten von Aspose"; - - // Holen Sie sich den ersten Absatz der Platzhalter - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - - // Richten Sie den Textabsatz zentriert aus - para1.ParagraphFormat.Alignment = TextAlignment.Center; - para2.ParagraphFormat.Alignment = TextAlignment.Center; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Setze die Hervorhebungsfarbe für den Textabschnitt. + portion.PortionFormat.HighlightColor.Color = Color.LightGray; + } + } - // Schreiben Sie die Präsentation als PPTX-Datei - pres.Save("Centeralign_out.pptx", SaveFormat.Pptx); + presentation.Save("gray_text_portions.pptx", SaveFormat.Pptx); } ``` -## **Transparenz für Text festlegen** -Dieser Artikel demonstriert, wie Sie die Transparenzeigenschaft für eine beliebige Textform mit Aspose.Slides für .NET festlegen können. Um die Transparenz für Text festzulegen, befolgen Sie bitte die folgenden Schritte: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Holen Sie sich die Referenz einer Folie. -3. Legen Sie die Schattenfarbe fest. -4. Schreiben Sie die Präsentation als PPTX-Datei. +Das Ergebnis: -Die Implementierung der obigen Schritte ist unten angegeben. +![Die grauen Textabschnitte](gray_text_portions.png) -```c# -using (Presentation pres = new Presentation("transparency.pptx")) -{ - IAutoShape shape = (IAutoShape)pres.Slides[0].Shapes[0]; - IEffectFormat effects = shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.EffectFormat; +## **Textabsätze ausrichten** - IOuterShadow outerShadowEffect = effects.OuterShadowEffect; +Die Textausrichtung ist ein entscheidender Aspekt der Folienformatierung, der sowohl die Lesbarkeit als auch die visuelle Anziehungskraft beeinflusst. In Aspose.Slides für .NET können Sie die Absatz‑Ausrichtung innerhalb von Textfeldern präzise steuern, sodass Ihr Inhalt konsistent präsentiert wird – zentriert, linksbündig, rechtsbündig oder im Blocksatz. Dieser Abschnitt erklärt, wie Sie die Textausrichtung in Ihren PowerPoint‑Präsentationen anwenden und anpassen. - Color shadowColor = outerShadowEffect.ShadowColor.Color; - Console.WriteLine($"{shadowColor} - Transparenz ist: {((float)shadowColor.A / byte.MaxValue) * 100}"); +Der folgende Code zeigt, wie der Absatz **mittig** ausgerichtet wird: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Legen Sie die Transparenz auf null Prozent fest - outerShadowEffect.ShadowColor.Color = Color.FromArgb(255, shadowColor); + // Setze die Ausrichtung des Absatzes auf zentriert. + paragraph.ParagraphFormat.Alignment = TextAlignment.Center; - pres.Save("transparency-2.pptx", SaveFormat.Pptx); + presentation.Save("aligned_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Zeichenabstand für Text festlegen** -Aspose.Slides ermöglicht es Ihnen, den Abstand zwischen Buchstaben in einem Textfeld festzulegen. Auf diese Weise können Sie die visuelle Dichte einer Zeile oder eines Textblocks anpassen, indem Sie den Abstand zwischen den Zeichen erweitern oder verringern. +Das Ergebnis: -Dieser C#-Code zeigt Ihnen, wie Sie den Abstand für eine Zeile Text erweitern und den Abstand für eine andere Zeile verringern: +![Der ausgerichtete Absatz](aligned_paragraph.png) -```c# -var presentation = new Presentation("in.pptx"); +## **Transparenz für Text festlegen** -var textBox1 = (IAutoShape) presentation.Slides[0].Shapes[0]; -var textBox2 = (IAutoShape) presentation.Slides[0].Shapes[1]; +Das Anpassen der Texttransparenz ermöglicht subtile visuelle Effekte und verbessert die Ästhetik von Folien. Aspose.Slides für .NET bietet die Möglichkeit, den Transparenzgrad von Absätzen und Textteilen festzulegen, sodass Text leicht mit Hintergründen verschmilzt oder bestimmte Elemente betont werden können. Dieser Abschnitt zeigt, wie Transparenzeinstellungen auf Text in Ihren Präsentationen angewendet werden. -textBox1.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = 20; // erweitern -textBox2.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = -2; // verringern +Der untenstehende Code zeigt, wie die Transparenz für den **gesamten Absatz** angewendet wird: +```cs +int alpha = 50; -presentation.Save("out.pptx", SaveFormat.Pptx); +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; + + // Setze die Füllfarbe des Textes auf eine transparente Farbe. + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); + + presentation.Save("transparent_paragraph.pptx", SaveFormat.Pptx); +} ``` -## **Schriftart-Eigenschaften des Absatzes verwalten** -Präsentationen enthalten normalerweise sowohl Text als auch Bilder. Der Text kann auf verschiedene Weise formatiert werden, entweder um bestimmte Abschnitte und Wörter hervorzuheben oder um sich an Unternehmensstile anzupassen. Die Textformatierung hilft Benutzern, das Aussehen und das Gefühl des Präsentationsinhalts zu variieren. Dieser Artikel zeigt, wie Sie Aspose.Slides für .NET verwenden können, um die Schriftarteigenschaften von Textabsätzen auf Folien zu konfigurieren. Um die Schriftarteigenschaften eines Absatzes mit Aspose.Slides für .NET zu verwalten: +Das Ergebnis: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Holen Sie sich eine Referenz der Folie, indem Sie ihren Index verwenden. -3. Greifen Sie auf die Platzhalterformen in der Folie zu und typisieren Sie sie zu AutoShape. -4. Holen Sie sich den Absatz aus dem TextFrame, das von AutoShape bereitgestellt wird. -5. Rechtfertigen Sie den Absatz. -6. Greifen Sie auf den Textanteil eines Absatzes zu. -7. Definieren Sie die Schriftart mit FontData und setzen Sie die Schriftart des Textanteils entsprechend. - 1. Setzen Sie die Schriftart auf fett. - 2. Setzen Sie die Schriftart auf kursiv. -8. Legen Sie die Schriftfarbe mithilfe des FillFormat fest, das vom Portion-Objekt bereitgestellt wird. -9. Schreiben Sie die modifizierte Präsentation in eine [PPTX](https://docs.fileformat.com/presentation/pptx/) Datei. +![Der transparente Absatz](transparent_paragraph.png) -Die Implementierung der oben genannten Schritte ist unten angegeben. Sie nimmt eine ungeschmückte Präsentation und formatiert die Schriften auf einer der Folien. +Der folgende Code zeigt, wie die Transparenz für **Textabschnitte mit Fettschrift** angewendet wird: +```cs +int alpha = 50; -```c# -// Instanziieren Sie ein Präsentationsobjekt, das eine PPTX-Datei darstellt -using (Presentation pres = new Presentation("FontProperties.pptx")) +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Zugriff auf eine Folie mithilfe ihrer Folienposition - ISlide slide = pres.Slides[0]; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Setze die Transparenz des Textabschnitts. + portion.PortionFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); + } + } - // Zugriff auf den ersten und zweiten Platzhalter in der Folie und Typcasting als AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; + presentation.Save("transparent_text_portions.pptx", SaveFormat.Pptx); +} +``` - // Zugriff auf den ersten Absatz - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - // Zugriff auf den ersten Anteil - IPortion port1 = para1.Portions[0]; - IPortion port2 = para2.Portions[0]; +Das Ergebnis: - // Definieren neuer Schriften - FontData fd1 = new FontData("Elephant"); - FontData fd2 = new FontData("Castellar"); +![Die transparenten Textabschnitte](transparent_text_portions.png) - // Zuweisen neuer Schriften zum Anteil - port1.PortionFormat.LatinFont = fd1; - port2.PortionFormat.LatinFont = fd2; +## **Zeichenabstand für Text festlegen** - // Setzen der Schriftart auf Fett - port1.PortionFormat.FontBold = NullableBool.True; - port2.PortionFormat.FontBold = NullableBool.True; +Aspose.Slides ermöglicht das Einstellen des Abstands zwischen Buchstaben in einem Textfeld. Damit können Sie die visuelle Dichte einer Zeile oder eines Textblocks durch Vergrößern oder Verkleinern des Zeichenabstands anpassen. - // Setzen der Schriftart auf Kursiv - port1.PortionFormat.FontItalic = NullableBool.True; - port2.PortionFormat.FontItalic = NullableBool.True; +Der folgende C#‑Code zeigt, wie der Zeichenabstand im **gesamten Absatz** erweitert wird: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Setzen der Schriftfarbe - port1.PortionFormat.FillFormat.FillType = FillType.Solid; - port1.PortionFormat.FillFormat.SolidFillColor.Color = Color.Purple; - port2.PortionFormat.FillFormat.FillType = FillType.Solid; - port2.PortionFormat.FillFormat.SolidFillColor.Color = Color.Peru; + // Hinweis: Verwenden Sie negative Werte, um den Zeichenabstand zu verkleinern. + paragraph.ParagraphFormat.DefaultPortionFormat.Spacing = 3; // Zeichenabstand erweitern. - // Schreiben Sie die PPTX auf die Festplatte - pres.Save("WelcomeFont_out.pptx", SaveFormat.Pptx); + presentation.Save("character_spacing_in_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Schriftfamilie des Textes verwalten** -Ein Anteil wird verwendet, um Text mit ähnlichem Formatierungsstil in einem Absatz zu halten. Dieser Artikel zeigt, wie Sie Aspose.Slides für .NET verwenden können, um ein Textfeld mit etwas Text zu erstellen und dann eine bestimmte Schriftart sowie verschiedene andere Eigenschaften der Schriftfamilie festzulegen. Um ein Textfeld zu erstellen und die Schrifteigenschaften des darin enthaltenen Textes festzulegen: +Das Ergebnis: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Holen Sie sich die Referenz einer Folie, indem Sie ihren Index verwenden. -3. Fügen Sie ein AutoShape von der Art Rechteck zur Folie hinzu. -4. Entfernen Sie den Füllstil, der mit dem AutoShape verbunden ist. -5. Greifen Sie auf das TextFrame des AutoShape zu. -6. Fügen Sie etwas Text zum TextFrame hinzu. -7. Greifen Sie auf das Portion-Objekt zu, das mit dem TextFrame verbunden ist. -8. Definieren Sie die Schriftart, die für den Anteil verwendet werden soll. -9. Stellen Sie andere Schrifteigenschaften wie Fett, Kursiv, Unterstrichen, Farbe und Höhe mithilfe der relevanten Eigenschaften, die vom Portion-Objekt bereitgestellt wurden, ein. -10. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +![Der Zeichenabstand im Absatz](character_spacing_in_paragraph.png) -Die Implementierung der oben genannten Schritte ist unten angegeben. - -```c# -// Instanziieren Sie die Präsentation -using (Presentation presentation = new Presentation()) +Der untenstehende Code zeigt, wie der Zeichenabstand in **Textabschnitten mit Fettschrift** erweitert wird: +```cs +using (var presentation = new Presentation("sample.pptx")) { - - // Holen Sie sich die erste Folie - ISlide sld = presentation.Slides[0]; - - // Fügen Sie ein AutoShape vom Typ Rechteck hinzu - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Entfernen Sie jeglichen Füllstil, der mit dem AutoShape verbunden ist - ashp.FillFormat.FillType = FillType.NoFill; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Hinweis: Verwenden Sie negative Werte, um den Zeichenabstand zu verkleinern. + portion.PortionFormat.Spacing = 3; // Zeichenabstand erweitern. + } + } - // Greifen Sie auf das TextFrame zu, das mit dem AutoShape verbunden ist - ITextFrame tf = ashp.TextFrame; - tf.Text = "Aspose TextBox"; + presentation.Save("character_spacing_in_text_portions.pptx", SaveFormat.Pptx); +} +``` - // Greifen Sie auf den Anteil zu, der mit dem TextFrame verbunden ist - IPortion port = tf.Paragraphs[0].Portions[0]; - // Setzen Sie die Schriftart für den Anteil - port.PortionFormat.LatinFont = new FontData("Times New Roman"); +Das Ergebnis: - // Setzen Sie die Fettschrift-Eigenschaft für die Schriftart - port.PortionFormat.FontBold = NullableBool.True; +![Der Zeichenabstand in den Textabschnitten](character_spacing_in_text_portions.png) - // Setzen Sie die Kursivschrift-Eigenschaft für die Schriftart - port.PortionFormat.FontItalic = NullableBool.True; +## **Textschriftart-Eigenschaften verwalten** - // Setzen Sie die Unterstrich-Eigenschaft für die Schriftart - port.PortionFormat.FontUnderline = TextUnderlineType.Single; +Aspose.Slides für .NET ermöglicht das feine Abstimmen von Schriftarteinstellungen sowohl auf Absatz‑ als auch auf Textebene, um visuelle Konsistenz zu gewährleisten und Design‑Anforderungen Ihrer Präsentation zu erfüllen. Sie können Schriftstil, Größe und weitere Formatierungsoptionen für ganze Absätze definieren, was Ihnen mehr Kontrolle über das Erscheinungsbild des Textes gibt. Dieser Abschnitt demonstriert, wie Schriftarteigenschaften für Textabsätze in einer Folie verwaltet werden. - // Setzen Sie die Höhe der Schriftart - port.PortionFormat.FontHeight = 25; +Der folgende Code legt Schriftart und Textstil für den gesamten Absatz fest: Er wendet Schriftgröße, Fettdruck, Kursiv, punktierte Unterstreichung und die Schriftart Times New Roman auf alle Textabschnitte im Absatz an. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Setzen Sie die Farbe der Schriftart - port.PortionFormat.FillFormat.FillType = FillType.Solid; - port.PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; + // Setze die Schriftarteigenschaften für den Absatz. + paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 12; + paragraph.ParagraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontItalic = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontUnderline = TextUnderlineType.Dotted; + paragraph.ParagraphFormat.DefaultPortionFormat.LatinFont = new FontData("Times New Roman"); - // Schreiben Sie die PPTX auf die Festplatte - presentation.Save("SetTextFontProperties_out.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Schriftgröße für Text festlegen** -Aspose.Slides ermöglicht es Ihnen, Ihre bevorzugte Schriftgröße für bestehenden Text in einem Absatz und andere Texte, die später zu dem Absatz hinzugefügt werden, auszuwählen. +Das Ergebnis: -Dieser C# zeigt Ihnen, wie Sie die Schriftgröße für Texte, die in einem Absatz enthalten sind, festlegen: +![Die Schriftarteigenschaften für den Absatz](font_properties_for_paragraph.png) -```c# -var presentation = new Presentation("example.pptx"); - -// Holen Sie sich die erste Form, zum Beispiel. -var shape = presentation.Slides[0].Shapes[0]; - -if (shape is IAutoShape autoShape) +Der untenstehende Code wendet ähnliche Eigenschaften auf **Textabschnitte mit Fettschrift** an: +```cs +using (var presentation = new Presentation("sample.pptx")) { - // Holen Sie sich den ersten Absatz, zum Beispiel. + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Setzen Sie die Standard-Schriftgröße auf 20 pt für alle Textanteile im Absatz. - paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 20; - - // Setzen Sie die Schriftgröße auf 20 pt für die aktuellen Textanteile im Absatz. foreach (var portion in paragraph.Portions) { - portion.PortionFormat.FontHeight = 20; + if (portion.PortionFormat.GetEffective().FontBold) + { + // Setze die Schriftarteigenschaften für den Textabschnitt. + portion.PortionFormat.FontHeight = 13; + portion.PortionFormat.FontItalic = NullableBool.True; + portion.PortionFormat.FontUnderline = TextUnderlineType.Dotted; + portion.PortionFormat.LatinFont = new FontData("Times New Roman"); + } } -} -presentation.Save("output.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_text_portions.pptx", SaveFormat.Pptx); +} ``` -## **Textrrotation festlegen** -Aspose.Slides für .NET ermöglicht es Entwicklern, den Text zu drehen. Der Text kann so eingestellt werden, dass er horizontal, vertikal, vertikal 270, WordArt vertikal, ostasiatisch vertikal, mongolisch vertikal oder WordArt vertikal von rechts nach links erscheint. Um den Text eines beliebigen TextFrame zu drehen, befolgen Sie bitte die folgenden Schritte: +Das Ergebnis: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Greifen Sie auf die erste Folie zu. -3. Fügen Sie eine beliebige Form zur Folie hinzu. -4. Greifen Sie auf das TextFrame zu. -5. Drehen Sie den Text. -6. Speichern Sie die Datei auf der Festplatte. +![Die Schriftarteigenschaften für Textabschnitte](font_properties_for_text_portions.png) -```c# -// Erstellen Sie eine Instanz der Präsentationsklasse -Presentation presentation = new Presentation(); +## **Textdrehung festlegen** -// Holen Sie sich die erste Folie -ISlide slide = presentation.Slides[0]; +Das Drehen von Text kann das Layout Ihrer Folien verbessern und bestimmte Inhalte hervorheben. Mit Aspose.Slides für .NET können Sie Text in Formen einfach rotieren und den Winkel an Ihr Design anpassen. Dieser Abschnitt zeigt, wie Sie die Textdrehung festlegen und steuern, um den gewünschten visuellen Effekt zu erzielen. -// Fügen Sie ein AutoShape vom Typ Rechteck hinzu -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); - -// Fügen Sie dem Rechteck ein TextFrame hinzu -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; - -// Zugriff auf das Textfeld -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; - -// Erstellen Sie das Absatzobjekt für das Textfeld -IParagraph para = txtFrame.Paragraphs[0]; +Der folgende Code setzt die Textausrichtung in der Form auf `Vertical270`, wodurch der Text **90 Grad gegen den Uhrzeigersinn** gedreht wird: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Erstellen Sie das Portion-Objekt für den Absatz -IPortion portion = para.Portions[0]; -portion.Text = "Ein schneller, brauner Fuchs springt über den faulen Hund. Ein schneller, brauner Fuchs springt über den faulen Hund."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; -// Speichern der Präsentation -presentation.Save("RotateText_out.pptx", SaveFormat.Pptx); + presentation.Save("text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **Benutzerdefinierte Rotationswinkel für TextFrame festlegen** -Aspose.Slides für .NET unterstützt jetzt das Festlegen des benutzerdefinierten Rotationswinkels für Textframe. In diesem Thema werden wir an einem Beispiel sehen, wie die RotationAngle-Eigenschaft in Aspose.Slides festgelegt wird. Die neue Eigenschaft RotationAngle wurde zur IChartTextBlockFormat und ITextFrameFormat Schnittstelle hinzugefügt und ermöglicht das Festlegen des benutzerdefinierten Rotationswinkels für das Textfeld. Um die RotationAngle-Eigenschaft festzulegen, befolgen Sie bitte die folgenden Schritte: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Fügen Sie ein Diagramm auf der Folie hinzu. -3. Setzen Sie die RotationAngle-Eigenschaft. -4. Schreiben Sie die Präsentation als PPTX-Datei. +Das Ergebnis: -Im folgenden Beispiel setzen wir die RotationAngle-Eigenschaft. +![Die Textdrehung](text_rotation.png) -```c# -// Erstellen Sie eine Instanz der Präsentationsklasse -Presentation presentation = new Presentation(); +## **Benutzerdefinierte Drehung für Textfelder festlegen** -IChart chart = presentation.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 300); +Das Festlegen eines benutzerdefinierten Drehwinkels für ein `TextFrame` ermöglicht es, Text in präzisen Winkeln zu positionieren und so kreativere und flexiblere Folien‑Designs zu realisieren. Aspose.Slides für .NET bietet vollständige Kontrolle über die Drehung von Textfeldern, sodass Text leicht mit anderen Folienelementen ausgerichtet werden kann. Dieser Abschnitt zeigt, wie ein spezifischer Drehwinkel auf ein `TextFrame` angewendet wird. -IChartSeries series = chart.ChartData.Series[0]; - -series.Labels.DefaultDataLabelFormat.ShowValue = true; -series.Labels.DefaultDataLabelFormat.TextFormat.TextBlockFormat.RotationAngle = 65; +Der folgende Code dreht das Textfeld innerhalb der Form um **3 Grad im Uhrzeigersinn**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -chart.HasTitle = true; -chart.ChartTitle.AddTextFrameForOverriding("Benutzerdefinierter Titel").TextFrameFormat.RotationAngle = -30; + autoShape.TextFrame.TextFrameFormat.RotationAngle = 3; -// Speichern der Präsentation -presentation.Save("textframe-rotation_out.pptx", SaveFormat.Pptx); + presentation.Save("custom_text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **Zeilenabstand des Absatzes** -Aspose.Slides bietet die Eigenschaften ([SpaceAfter](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spaceafter), [SpaceBefore](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacebefore) und [SpaceWithin](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacewithin)) unter der Klasse [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/), die es Ihnen ermöglichen, den Zeilenabstand für einen Absatz zu verwalten. Die drei Eigenschaften werden so verwendet: - -* Um den Zeilenabstand für einen Absatz in Prozent anzugeben, verwenden Sie einen positiven Wert. -* Um den Zeilenabstand für einen Absatz in Punkten anzugeben, verwenden Sie einen negativen Wert. - -Zum Beispiel können Sie einen Zeilenabstand von 16pt für einen Absatz festlegen, indem Sie die `SpaceBefore`-Eigenschaft auf -16 setzen. - -So geben Sie den Zeilenabstand für einen bestimmten Absatz an: +Das Ergebnis: -1. Laden Sie eine Präsentation, die ein AutoShape mit etwas Text enthält. -2. Erhalten Sie die Referenz einer Folie über ihren Index. -3. Greifen Sie auf das TextFrame zu. -4. Greifen Sie auf den Absatz zu. -5. Stellen Sie die Eigenschaften des Absatzes ein. -6. Speichern Sie die Präsentation. +![Die benutzerdefinierte Textdrehung](custom_text_rotation.png) -Dieser C#-Code zeigt Ihnen, wie Sie den Zeilenabstand für einen Absatz angeben: +## **Zeilenabstand von Absätzen festlegen** -```c# -// Erstellen Sie eine Instanz der Präsentationsklasse -Presentation presentation = new Presentation("Fonts.pptx"); +Aspose.Slides stellt die Eigenschaften `SpaceAfter`, `SpaceBefore` und `SpaceWithin` der Klasse [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/) bereit, mit denen der Zeilenabstand eines Absatzes verwaltet werden kann. Diese Eigenschaften werden wie folgt verwendet: -// Holen Sie sich die Referenz einer Folie über ihren Index -ISlide sld = presentation.Slides[0]; +* Verwenden Sie einen positiven Wert, um den Zeilenabstand als Prozentsatz der Zeilenhöhe anzugeben. +* Verwenden Sie einen negativen Wert, um den Zeilenabstand in Punkten anzugeben. -// Greifen Sie auf das Textframe zu -ITextFrame tf1 = ((IAutoShape)sld.Shapes[0]).TextFrame; +Der folgende Code zeigt, wie der Zeilenabstand innerhalb des Absatzes festgelegt wird: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// Greifen Sie auf den Absatz zu -IParagraph para1 = tf1.Paragraphs[0]; + paragraph.ParagraphFormat.SpaceWithin = 200; -// Stellen Sie die Eigenschaften des Absatzes ein -para1.ParagraphFormat.SpaceWithin = 80; -para1.ParagraphFormat.SpaceBefore = 40; -para1.ParagraphFormat.SpaceAfter = 40; -// Speichern der Präsentation -presentation.Save("LineSpacing_out.pptx", SaveFormat.Pptx); + presentation.Save("line_spacing.pptx", SaveFormat.Pptx); +} ``` -## **AutofitType-Eigenschaft für TextFrame festlegen** -In diesem Thema werden wir die verschiedenen Formatierungseigenschaften des Textfeldes erkunden. Dieser Artikel behandelt, wie man die AutofitType-Eigenschaft des Textfeldes, den Anker des Textes und die Rotierung des Textes in der Präsentation festlegt. Aspose.Slides für .NET ermöglicht es Entwicklern, die AutofitType-Eigenschaft eines beliebigen Textfeldes festzulegen. AutofitType kann auf Normal oder Shape gesetzt werden. Wenn auf Normal gesetzt, bleibt die Form gleich, während der Text angepasst wird, ohne dass sich die Form selbst ändert. Wenn die AutofitType auf Shape gesetzt wird, wird die Form so modifiziert, dass nur der erforderliche Text darin enthalten ist. Um die AutofitType-Eigenschaft eines Textfeldes festzulegen, befolgen Sie bitte die folgenden Schritte: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Greifen Sie auf die erste Folie zu. -3. Fügen Sie eine beliebige Form zur Folie hinzu. -4. Greifen Sie auf das TextFrame zu. -5. Setzen Sie den AutofitType des TextFrames. -6. Speichern Sie die Datei auf der Festplatte. +Das Ergebnis: -```c# -// Erstellen Sie eine Instanz der Präsentationsklasse -Presentation presentation = new Presentation(); +![Der Zeilenabstand im Absatz](line_spacing.png) -// Greifen Sie auf die erste Folie zu -ISlide slide = presentation.Slides[0]; +## **Autofit‑Typ für Textfelder festlegen** -// Fügen Sie ein AutoShape vom Typ Rechteck hinzu -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); - -// Fügen Sie dem Rechteck einen TextFrame hinzu -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; - -// Zugriff auf das Textfeld -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; - -// Erstellen Sie das Absatzobjekt für das Textfeld -IParagraph para = txtFrame.Paragraphs[0]; +Die `AutofitType`‑Eigenschaft bestimmt, wie sich Text verhält, wenn er die Grenzen seines Containers überschreitet. Aspose.Slides für .NET ermöglicht es, zu steuern, ob der Text schrumpfen, überlaufen oder die Form automatisch anpassen soll. Dieser Abschnitt demonstriert, wie der `AutofitType` für ein `TextFrame` festgelegt wird, um das Textlayout in Formen effektiv zu verwalten. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Erstellen Sie das Portion-Objekt für den Absatz -IPortion portion = para.Portions[0]; -portion.Text = "Ein schneller, brauner Fuchs springt über den faulen Hund. Ein schneller, brauner Fuchs springt über den faulen Hund."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// Speichern der Präsentation -presentation.Save("formatText_out.pptx", SaveFormat.Pptx); + presentation.Save("autofit_type.pptx", SaveFormat.Pptx); +} ``` -## **Anker des TextFrame festlegen** -Aspose.Slides für .NET ermöglicht Entwicklern, den Anker für jedes TextFrame festzulegen. TextAnchorType gibt an, wo der Text in der Form platziert ist. TextAnchorType kann auf Oben, Zentriert, Unten, Blocksatz oder Verteilte eingestellt werden. Um den Anker eines beliebigen TextFrames festzulegen, befolgen Sie bitte die folgenden Schritte: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Greifen Sie auf die erste Folie zu. -3. Fügen Sie eine beliebige Form zur Folie hinzu. -4. Greifen Sie auf das TextFrame zu. -5. Setzen Sie den TextAnchorType des TextFrames. -6. Speichern Sie die Datei auf der Festplatte. +## **Anker von Textfeldern festlegen** -```c# -// Erstellen Sie eine Instanz der Präsentationsklasse -Presentation presentation = new Presentation(); +Der Anker definiert, wie Text innerhalb einer Form vertikal positioniert wird. Mit Aspose.Slides für .NET können Sie den Anker‑Typ eines `TextFrame` festlegen, um Text am oberen, mittleren oder unteren Rand der Form auszurichten. Dieser Abschnitt zeigt, wie Sie die Anker‑Einstellungen anpassen, um die gewünschte vertikale Ausrichtung des Textinhalts zu erreichen. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Holen Sie sich die erste Folie -ISlide slide = presentation.Slides[0]; + autoShape.TextFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; -// Fügen Sie ein AutoShape vom Typ Rechteck hinzu -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); + presentation.Save("text_anchor.pptx", SaveFormat.Pptx); +} +``` -// Fügen Sie dem Rechteck einen TextFrame hinzu -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; -// Zugriff auf das Textfeld -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; +## **Texttabulation festlegen** -// Erstellen Sie das Absatzobjekt für das Textfeld -IParagraph para = txtFrame.Paragraphs[0]; +Tabulation hilft, Text in gut strukturierten Layouts zu organisieren, indem konsistente Abstände zwischen Inhaltselementen hinzugefügt werden. Aspose.Slides für .NET unterstützt das Festlegen benutzerdefinierter Tabstopps innerhalb von Textabsätzen, was eine präzise Steuerung der Textpositionierung ermöglicht. Dieser Abschnitt demonstriert, wie Texttabulation für eine verbesserte Ausrichtung und Formatierung konfiguriert wird. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// Erstellen Sie das Portion-Objekt für den Absatz -IPortion portion = para.Portions[0]; -portion.Text = "Ein schneller, brauner Fuchs springt über den faulen Hund. Ein schneller, brauner Fuchs springt über den faulen Hund."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.ParagraphFormat.DefaultTabSize = 100; + paragraph.ParagraphFormat.Tabs.Add(30, TabAlignment.Left); -// Speichern der Präsentation -presentation.Save("AnchorText_out.pptx", SaveFormat.Pptx); + presentation.Save("paragraph_tabs.pptx", SaveFormat.Pptx); +} ``` -## **Texttabulierung festlegen** -- Die Eigenschaft EffectiveTabs.ExplicitTabCount (2 in unserem Fall) entspricht der Anzahl der Tabs. -- Die EffectiveTabs-Sammlung umfasst alle Tabs (aus der Tabs-Sammlung und den Standard-Tabs). -- Die Eigenschaft EffectiveTabs.DefaultTabSize (294) zeigt den Abstand zwischen den Standard-Tabs (3 und 4 in unserem Beispiel). -- EffectiveTabs.GetTabByIndex(index) mit index = 0 gibt den ersten expliziten Tab (Position = 731) zurück, index = 1 - den zweiten Tab (Position = 1241). Wenn Sie versuchen, den nächsten Tab mit index = 2 abzurufen, wird der erste Standard-Tab (Position = 1470) zurückgegeben usw. -- EffectiveTabs.GetTabAfterPosition(pos) wird verwendet, um die nächste Tabulierung nach einem bestimmten Text zu erhalten. Wenn Sie beispielsweise den Text "Helloworld!" haben. Um diesen Text darzustellen, sollten Sie wissen, wo Sie mit dem Zeichnen von "world!" beginnen können. Zuerst sollten Sie die Länge von "Hello" in Pixeln berechnen und GetTabAfterPosition mit diesem Wert aufrufen. Sie erhalten die nächste Tab-Position, um "world!" zu zeichnen. -## **Überprüfungssprache festlegen** +Das Ergebnis: -Aspose.Slides bietet die [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) Eigenschaft (bereitgestellt von der [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) Klasse), um Ihnen zu ermöglichen, die Überprüfungssprache für ein PowerPoint-Dokument festzulegen. Die Überprüfungssprache ist die Sprache, für die die Rechtschreibung und Grammatik in PowerPoint überprüft werden. +![Die Absatz-Tabulatoren](paragraph_tabs.png) -Dieser C#-Code zeigt Ihnen, wie Sie die Überprüfungssprache für einen PowerPoint festlegen: +## **Rechtschreibsprache festlegen** -```c# -using (Presentation pres = new Presentation(pptxFileName)) +Aspose.Slides stellt die Eigenschaft `LanguageId` der Klasse [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) bereit, mit der die Korrektursprache für ein PowerPoint‑Dokument festgelegt werden kann. Die Korrektursprache bestimmt, welche Sprache für Rechtschreib‑ und Grammatikprüfungen in PowerPoint verwendet wird. + +Der folgende Code zeigt, wie die Korrektursprache für einen Textabschnitt festgelegt wird: +```cs +using (var presentation = new Presentation("presentation.pptx")) { - AutoShape autoShape = (AutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; - IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; paragraph.Portions.Clear(); - Portion newPortion = new Portion(); + var font = new FontData("SimSun"); + + var textPortion = new Portion(); + textPortion.PortionFormat.ComplexScriptFont = font; + textPortion.PortionFormat.EastAsianFont = font; + textPortion.PortionFormat.LatinFont = font; - IFontData font = new FontData("SimSun"); - IPortionFormat portionFormat = newPortion.PortionFormat; - portionFormat.ComplexScriptFont = font; - portionFormat.EastAsianFont = font; - portionFormat.LatinFont = font; + // Setzen Sie die Id einer Korrektursprache. + textPortion.PortionFormat.LanguageId = "zh-CN"; - portionFormat.LanguageId = "zh-CN"; // Setzen Sie die Id einer Überprüfungssprache - - newPortion.Text = "1。"; - paragraph.Portions.Add(newPortion); + textPortion.Text = "1。"; + paragraph.Portions.Add(textPortion); + + presentation.Save("proofing_language.pptx", SaveFormat.Pptx); } ``` -## **Standardsprache festlegen** -Dieser C#-Code zeigt Ihnen, wie Sie die Standardsprache für eine gesamte PowerPoint-Präsentation festlegen: +## **Standardsprache festlegen** -```c# -LoadOptions loadOptions = new LoadOptions(); +Das Festlegen einer Standardsprache für Text stellt sicher, dass Rechtschreibprüfung, Silbentrennung und Text‑zu‑Sprache‑Funktionen in PowerPoint korrekt funktionieren. Aspose.Slides für .NET ermöglicht das Setzen der Sprache auf Text‑Absatz‑ oder Portionsebene. Dieser Abschnitt zeigt, wie die Standardsprache für den Text Ihrer Präsentation definiert wird. +```cs +var loadOptions = new LoadOptions(); loadOptions.DefaultTextLanguage = "en-US"; -using (Presentation pres = new Presentation(loadOptions)) + +using (var presentation = new Presentation(loadOptions)) { - // Fügen Sie eine neue Rechteckform mit Text hinzu - IAutoShape shp = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 50); - shp.TextFrame.Text = "Neuer Text"; - - // Überprüfen Sie die Sprache des ersten Anteils - Console.WriteLine(shp.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId); + var slide = presentation.Slides[0]; + + // Fügen Sie ein neues Rechteck-Shape mit Text hinzu. + var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 150, 50); + shape.TextFrame.Text = "Sample text"; + + // Prüfen Sie die Sprache des ersten Textabschnitts. + var portion = shape.TextFrame.Paragraphs[0].Portions[0]; + Console.WriteLine(portion.PortionFormat.LanguageId); } ``` -## **Standardtextstil festlegen** -Wenn Sie denselben Standardtextstil auf alle Textelemente einer Präsentation gleichzeitig anwenden möchten, können Sie die `DefaultTextStyle`-Eigenschaft der [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) Schnittstelle verwenden und die bevorzugte Formatierung festlegen. Das folgende Codebeispiel zeigt, wie Sie die Standardfett-Formatierung (14 pt) für den Text auf allen Folien in einer neuen Präsentation festlegen: +## **Standard-Textstil festlegen** -```c# -using (Presentation presentation = new Presentation()) +Wenn Sie dieselbe Standard‑Textformatierung auf alle Textelemente einer Präsentation gleichzeitig anwenden möchten, können Sie die Eigenschaft `DefaultTextStyle` des Interfaces [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) nutzen und Ihr bevorzugtes Format festlegen. + +Der folgende Code setzt eine Standardschriftart mit Fettdruck und einer Größe von 14 pt für allen Text in allen Folien einer neuen Präsentation. +```cs +using (var presentation = new Presentation()) { - // Holen Sie sich die oberste Absatzformatierung. - IParagraphFormat paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); + // Hole das Absatzformat der obersten Ebene. + var paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); if (paragraphFormat != null) { @@ -666,6 +521,51 @@ using (Presentation presentation = new Presentation()) paragraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; } - presentation.Save("DefaultTextStyle.pptx", SaveFormat.Pptx); + presentation.Save("default_text_style.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Text mit dem All‑Caps‑Effekt extrahieren** + +In PowerPoint lässt der **All Caps**‑Schrifteffekt Text in Großbuchstaben auf der Folie erscheinen, selbst wenn er ursprünglich klein geschrieben wurde. Wenn Sie einen solchen Textabschnitt mit Aspose.Slides auslesen, liefert die Bibliothek den Text exakt so zurück, wie er eingegeben wurde. Um dies zu handhaben, prüfen Sie [TextCapType](https://reference.aspose.com/slides/net/aspose.slides/textcaptype/) — wenn er `All` anzeigt, konvertieren Sie den zurückgegebenen String einfach in Großbuchstaben, sodass Ihre Ausgabe dem entspricht, was Benutzer auf der Folie sehen. + +Angenommen, wir haben das folgende Textfeld auf der ersten Folie der Datei **sample2.pptx**. + +![Der All‑Caps‑Effekt](all_caps_effect.png) + +Der folgende Code zeigt, wie der Text mit dem **All Caps**‑Effekt extrahiert wird: +```cs +using (var presentation = new Presentation("sample2.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var textPortion = autoShape.TextFrame.Paragraphs[0].Portions[0]; + + Console.WriteLine($"Original text: {textPortion.Text}"); + + var textFormat = textPortion.PortionFormat.GetEffective(); + if (textFormat.TextCapType == TextCapType.All) + { + var text = textPortion.Text.ToUpper(); + Console.WriteLine($"All-Caps effect: {text}"); + } +} +``` + + +Ausgabe: +```text +Original text: Hello, Aspose! +All-Caps effect: HELLO, ASPOSE! +``` + + +## **FAQ** + +**Wie kann man Text in einer Tabelle auf einer Folie ändern?** + +Um Text in einer Tabelle auf einer Folie zu ändern, verwenden Sie das [ITable](https://reference.aspose.com/slides/net/aspose.slides/itable/)-Objekt. Durchlaufen Sie alle Zellen der Tabelle und ändern Sie den Text jeder Zelle, indem Sie deren `TextFrame`‑ und `ParagraphFormat`‑Eigenschaften innerhalb jeder Zelle zugreifen. + +**Wie kann man Farbverlauf auf Text in einer PowerPoint‑Folie anwenden?** + +Um Farbverlauf auf Text anzuwenden, nutzen Sie die `FillFormat`‑Eigenschaft in [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/). Setzen Sie `FilFormat` auf `Gradient` und definieren Sie die Start‑ und Endfarben des Gradienten sowie weitere Eigenschaften wie Richtung und Transparenz, um den Farbeffekt auf den Text zu erzeugen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/manage-text/wordart/_index.md b/de/net/developer-guide/presentation-content/manage-text/wordart/_index.md index 89416bb1dd..15cd070251 100644 --- a/de/net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/de/net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,372 +1,257 @@ --- -title: WordArt +title: Erstellen und Anwenden von WordArt-Effekten in C# +linktitle: WordArt type: docs weight: 110 url: /de/net/wordart/ -keywords: "WordArt, Word Art, Erstelle WordArt, WordArt-Vorlage, WordArt-Effekte, Schatteneffekte, Anzeigeeffekte, Leuchteffekte, WordArt-Transformationen, 3D-Effekte, äußere Schatteneffekte, innere Schatteneffekte, C#, Csharp, Aspose.Slides für .NET" -description: "Fügen Sie WordArt und Effekte in PowerPoint-Präsentationen in C# oder Aspose.Slides für .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ßenschatten-Effekt +- Innenschatten-Effekt +- C# +- Csharp +- .NET +- Aspose.Slides +description: "Erfahren Sie, wie Sie WordArt-Effekte in Aspose.Slides für .NET erstellen und anpassen. Diese Schritt-für-Schritt-Anleitung hilft Entwicklern, Präsentationen mit stilvollem, professionellem Text in C# zu verbessern." --- -## **Was ist WordArt?** -WordArt oder Word Art ist eine Funktion, die es Ihnen ermöglicht, Texteffekte anzuwenden, um sie hervorzuheben. Mit WordArt können Sie beispielsweise einen Text umreißen oder mit einer Farbe (oder einem Farbverlauf) füllen, ihm 3D-Effekte hinzufügen usw. Sie können auch die Form eines Textes verzerren, biegen und dehnen. +## **Übersicht** -{{% alert color="primary" %}} - -WordArt ermöglicht es Ihnen, einen Text wie ein grafisches Objekt zu behandeln. WordArt besteht aus Effekten oder speziellen Modifikationen, die an Texten vorgenommen werden, 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 Menge von Effekten, die auf einen Text oder dessen Form angewendet werden. - -**WordArt in Aspose.Slides** - -In Aspose.Slides für .NET 20.10 haben wir die Unterstützung für WordArt implementiert und die Funktion in den nachfolgenden Versionen von Aspose.Slides für .NET verbessert. - -Mit Aspose.Slides für .NET können Sie ganz einfach Ihre eigene WordArt-Vorlage (einen Effekt oder eine Kombination von Effekten) in C# erstellen und auf Texte anwenden. +WordArt‑Effekte ermöglichen es Ihnen, visuell ansprechenden, stilisierten Text zu Ihren PowerPoint‑Präsentationen hinzuzufügen. Mit Aspose.Slides für .NET können Entwickler WordArt programmatisch erstellen, anpassen und verwalten – genau wie in Microsoft PowerPoint – ohne dass Office installiert sein muss. Dieser Artikel bietet einen Überblick über die Arbeit mit WordArt in .NET, einschließlich der Anwendung von Texttransformationen, Füllstilen, Konturen, Schatten und anderen Formatierungsoptionen, um Ihre Präsentationsinhalte ausdrucksstärker und fesselnder zu gestalten. WordArt erlaubt es, Text als grafisches Objekt zu behandeln. Es besteht aus Effekten oder speziellen Änderungen, die auf den Text angewendet werden, um ihn attraktiver oder auffälliger zu machen. -## Erstellen einer einfachen WordArt-Vorlage und Anwenden auf einen Text +## **Ein einfaches WordArt‑Template erstellen und auf Text anwenden** -**Verwendung von Aspose.Slides** +In diesem Abschnitt untersuchen wir, wie ein einfaches WordArt‑Template erstellt und auf Text mithilfe von Aspose.Slides für .NET angewendet wird. WordArt bietet eine einfache Möglichkeit, das Aussehen von Text mit auffälligen visuellen Effekten und Stilen zu verbessern. Indem Sie die grundlegenden Schritte zum Erstellen und Verwenden von WordArt erlernen, können Sie diese Techniken problemlos an jedes Projekt anpassen und Ihre Präsentationen lebendiger und einprägsamer gestalten. -Zuerst erstellen wir einen einfachen Text mit diesem C#-Code: - -``` csharp -using (Presentation pres = new Presentation()) +Zuerst erstellen wir einfachen Text mit dem folgenden C#‑Code: +```cs +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); + ISlide slide = presentation.Slides[0]; + + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 400, 200); ITextFrame textFrame = autoShape.TextFrame; - Portion portion = (Portion)textFrame.Paragraphs[0].Portions[0]; + IPortion portion = textFrame.Paragraphs[0].Portions[0]; portion.Text = "Aspose.Slides"; } ``` -Jetzt setzen wir die Schriftgröße des Textes auf einen größeren Wert, um den Effekt durch diesen Code auffälliger zu machen: - -``` csharp -FontData fontData = new FontData("Arial Black"); -portion.PortionFormat.LatinFont = fontData; -portion.PortionFormat.FontHeight = 36; -``` - -**Verwendung von Microsoft PowerPoint** - -Gehen Sie zum WordArt-Effekte-Menü in Microsoft PowerPoint: - -![todo:image_alt_text](image-20200930113926-1.png) -Im Menü auf der rechten Seite können Sie einen vordefinierten WordArt-Effekt auswählen. Im Menü auf der linken Seite können Sie die Einstellungen für eine neue WordArt festlegen. -Dies sind einige der verfügbaren Parameter oder Optionen: - -![todo:image_alt_text](image-20200930114015-3.png) - -**Verwendung von Aspose.Slides** - -Hier wenden wir die SmallGrid-Musterfarbe auf den Text an und fügen mit diesem Code einen schwarzen Textumriss mit einer Breite von 1 hinzu: - -``` csharp -portion.PortionFormat.FillFormat.FillType = FillType.Pattern; -portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; -portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; -portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; - -portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +Nun setzen wir die Schriftgröße des Textes auf einen größeren Wert, um den Effekt deutlicher zu machen, mithilfe des folgenden Codes: +```cs + portion.PortionFormat.LatinFont = new FontData("Arial Black"); + portion.PortionFormat.FontHeight = 36; ``` -Der resultierende Text: -![todo:image_alt_text](image-20200930114108-4.png) +Hier wenden wir die SmallGrid‑Musterfüllung auf den Text an und fügen eine schwarze Textkontur mit einer Breite von 1 mit dem folgenden Code hinzu: +```cs + portion.PortionFormat.FillFormat.FillType = FillType.Pattern; + portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; + portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; + portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; + + portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +``` -## Anwenden anderer WordArt-Effekte -**Verwendung von Microsoft PowerPoint** +Der resultierende Text: -Aus der Benutzeroberfläche des Programms können Sie diese Effekte auf einen Text, Textblock, Form oder ähnliches Element anwenden: +![The simple WordArt template](WordArt_template.png) -![todo:image_alt_text](image-20200930114129-5.png) +## **Weitere WordArt‑Effekte anwenden** -Beispielsweise können Schatteneffekte, Reflexionen und Leuchteffekte auf einen Text angewendet werden; 3D-Format- und 3D-Rotations-Effekte können auf einen Textblock angewendet werden; die Eigenschaft "Weiche Kanten" kann auf ein Formobjekt angewendet werden (es hat immer noch einen Effekt, wenn keine 3D-Format-Eigenschaft festgelegt ist). +Zusätzlich zu grundlegenden Transformationen ermöglicht Aspose.Slides für .NET das Anwenden einer Vielzahl fortgeschrittener WordArt‑Effekte, um das Erscheinungsbild Ihres Textes zu verbessern. Dazu gehören Konturen, Füllungen, Schatten, Spiegelungen und Leuchteffekte. Durch die Kombination dieser Funktionen können Sie auffällige Textstile erstellen, die in Ihren Präsentationen hervorstechen. Dieser Abschnitt demonstriert, wie Sie diese Effekte programmgesteuert mit einfachen, klaren Codebeispielen anwenden. -### Anwenden von Schatteneffekten +### **Außenschatten‑Effekte anwenden** -Hier beabsichtigen wir, die Eigenschaften zu setzen, die sich nur auf einen Text beziehen. Wir wenden den Schatteneffekt auf einen Text an, indem wir diesen Code in C# verwenden: +Außenschatten‑Effekte helfen, Text hervorzuheben, indem sie einen Schatten hinter seiner Kontur hinzufügen, wodurch Tiefe und Trennung vom Hintergrund entstehen. Aspose.Slides für .NET ermöglicht das einfache Anwenden und Anpassen von Außenschatten auf WordArt‑Text. In diesem Abschnitt lernen Sie, wie Sie Schattenfarbe, Richtung, Abstand, Unschärferadius und mehr einstellen, um die gewünschte visuelle Wirkung zu erzielen. -``` csharp -portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 65; -portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4.73; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 2; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 30; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); +Das folgende C#‑Code‑Snippet wendet einen Schatteneffekt auf den zuvor erstellten Text an. +```cs + portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 30; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 20; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); ``` -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). - -**Verwendung von Microsoft PowerPoint** -In PowerPoint können Sie einen Typ von Schatten verwenden. Hier ist ein 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. +Der resultierende Text: -**Hinweise:** +![The Outer Shadow effect](outer_shadow_effect.png) -- 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 angewendete Effekt von der PowerPoint-Version ab. Zum Beispiel wird in PowerPoint 2013 der Effekt verdoppelt. Aber in PowerPoint 2007 wird der OuterShadow-Effekt angewendet. +{{% alert color="primary" %}} +- Wenn OuterShadow und PresetShadow zusammen verwendet werden, wird nur der OuterShadow‑Effekt angewendet. +- Bei gleichzeitiger Verwendung von OuterShadow und InnerShadow hängt der resultierende Effekt von der PowerPoint‑Version ab. Beispiel: In PowerPoint 2013 wird der Effekt verdoppelt, in PowerPoint 2007 wird nur der OuterShadow‑Effekt angewendet. +{{% /alert %}} + +### **Spiegelungs‑Effekte anwenden** + +In diesem Abschnitt untersuchen wir, wie Spiegelungs‑Effekte in Ihren Folien mithilfe von Aspose.Slides für .NET angewendet werden. Spiegelungs‑Effekte können eine effektive Möglichkeit sein, Ihrem Text oder Ihren Formen ein stilvolles und modernes Aussehen zu verleihen, wichtige Elemente hervorzuheben und Ihrer Präsentation Tiefe zu geben. Durch das Verständnis des Prozesses zum Anwenden und Anpassen dieser Effekte können Sie sie leicht an Ihre Design‑ und Markenanforderungen anpassen. + +Fügen Sie dem Text mit folgendem C#‑Beispiel einen Spiegelungs‑Effekt hinzu: +```cs + portion.PortionFormat.EffectFormat.EnableReflectionEffect(); + portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; + portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; + portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; +``` -### Anwenden von Anzeige auf Texte -Wir fügen Anzeige auf den Text durch dieses C#-Codebeispiel hinzu: +Der resultierende Text: -``` csharp -portion.PortionFormat.EffectFormat.EnableReflectionEffect(); -portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; -portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; -portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; -``` +![The Reflection effect](reflection_effect.png) -### Anwenden des Leuchteffekts auf Texte +### **Leuchte‑Effekte anwenden** -Wir wenden den Leuchteffekt auf den Text an, um ihn zum Leuchten oder Hervorheben zu bringen, indem wir diesen Code verwenden: +In diesem Abschnitt untersuchen wir, wie ein Leuchte‑Effekt auf Text mit Aspose.Slides für .NET angewendet wird. Der Leuchte‑Effekt kann Ihren Text mit einer leuchtenden Kontur hervorheben und die visuelle Attraktivität Ihrer Folien steigern. Durch Anpassen von Einstellungen wie Farbe und Intensität können Sie das Leuchten einfach an Ihr Design und Ihre Markenbedürfnisse anpassen, sodass wichtige Punkte in Ihrer Präsentation die Aufmerksamkeit des Publikums auf sich ziehen. -``` csharp -portion.PortionFormat.EffectFormat.EnableGlowEffect(); -portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; -portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); -portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; +Wenden Sie mit dem folgenden Code einen Leuchte‑Effekt auf den Text an, damit er strahlt oder hervorsticht: +```cs + portion.PortionFormat.EffectFormat.EnableGlowEffect(); + portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; + portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); + portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; ``` -Das Ergebnis der Operation: -![todo:image_alt_text](image-20200930114621-7.png) +Der resultierende Text: -{{% alert color="primary" %}} +![The Glow effect](glow_effect.png) -Sie können die Parameter für Schatten, Anzeige und Glühen ändern. Die Eigenschaften der Effekte werden für jeden Textabschnitt separat festgelegt. +### **WordArt‑Transformationen anwenden** -{{% /alert %}} +In diesem Abschnitt untersuchen wir, wie Transformationen in WordArt mit Aspose.Slides für .NET verwendet werden. Transformationen ermöglichen es Ihnen, Text zu biegen, zu strecken oder zu verformen und so einzigartige, visuell auffällige Effekte zu erzeugen. Durch das Beherrschen dieser Techniken können Sie Textformen und -stile mühelos an Ihre Markenidentität oder kreative Vision anpassen und so eine überzeugende, professionelle Präsentation sicherstellen. -### Verwendung von Transformationen in WordArt - -Wir verwenden die Transform-Eigenschaft (inherent im gesamten Textblock) durch diesen Code: -``` csharp -textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; +Verwenden Sie die `Transform`‑Eigenschaft (die für den gesamten Textblock gilt) mit dem folgenden Code: +```cs + textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; ``` -Das Ergebnis: - -![todo:image_alt_text](image-20200930114712-8.png) -{{% alert color="primary" %}} +Der resultierende Text: -Sowohl Microsoft PowerPoint als auch Aspose.Slides für .NET bieten eine bestimmte Anzahl von vordefinierten Transformationstypen. +![The WordArt transformation](transform_effect.png) +{{% alert color="primary" %}} +Aspose.Slides für .NET stellt einen Satz vordefinierter [Transformationstypen](https://reference.aspose.com/slides/net/aspose.slides/textshapetype/) bereit. {{% /alert %}} -**Verwendung von PowerPoint** - -Um auf vordefinierte Transformationstypen zuzugreifen, gehen Sie zu: **Format** -> **TextEffect** -> **Transform** +### **3D‑Effekte auf Formen und Text anwenden** -**Verwendung von Aspose.Slides** +Realistische, auffällige Visualisierungen können die Wirkung Ihrer Präsentationen erheblich steigern. In diesem Abschnitt erkunden wir, wie dreidimensionale (3D)‑Effekte auf Formen mithilfe von Aspose.Slides für .NET angewendet werden. Durch das Manipulieren von Parametern wie Tiefe, Winkel und Beleuchtung können Sie beeindruckende 3D‑Transformationen erzeugen, die sofort die Aufmerksamkeit Ihres Publikums fesseln. Ob Sie subtile Hervorhebungen oder dramatische Illusionen anstreben, diese Funktionen bieten flexible Möglichkeiten, Ihr Design zu verbessern und Ideen ansprechender zu vermitteln. -Um einen Transformationstyp auszuwählen, verwenden Sie das TextShapeType-Enum. +Verwenden Sie das folgende Beispiel, um einer Form einen 3D‑Effekt zuzuweisen: +```cs + autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelBottom.Height = 10.5; + autoShape.ThreeDFormat.BevelBottom.Width = 10.5; -### Anwenden von 3D-Effekten auf Texte und Formen + autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelTop.Height = 12.5; + autoShape.ThreeDFormat.BevelTop.Width = 11; -Wir setzen einen 3D-Effekt auf eine Textform mit diesem Beispielcode: + autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + autoShape.ThreeDFormat.ExtrusionHeight = 6; -``` csharp -autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelBottom.Height = 10.5; -autoShape.ThreeDFormat.BevelBottom.Width = 10.5; + autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; + autoShape.ThreeDFormat.ContourWidth = 1.5; -autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelTop.Height = 12.5; -autoShape.ThreeDFormat.BevelTop.Width = 11; + autoShape.ThreeDFormat.Depth = 3; -autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -autoShape.ThreeDFormat.ExtrusionHeight = 6; + autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; -autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; -autoShape.ThreeDFormat.ContourWidth = 1.5; + autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -autoShape.ThreeDFormat.Depth = 3; - -autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; - -autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); - -autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -Der resultierende Text und seine Form: -![todo:image_alt_text](image-20200930114816-9.png) +Die resultierende Form: -Wir wenden einen 3D-Effekt auf den Text mit diesem C#-Code an: +![The shape 3D effect](shape_3D_effect.png) -``` csharp -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; +Verwenden Sie das folgende Beispiel, um einem Text einen 3D‑Effekt zuzuweisen: +```cs + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; -textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; -textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; + textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; + textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; -textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; + textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; -textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; + textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); + textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -Das Ergebnis der Operation: - -![todo:image_alt_text](image-20200930114905-10.png) -{{% alert color="primary" %}} - -Die Anwendung von 3D-Effekten auf Texte oder ihre Formen und die Interaktionen zwischen Effekten basieren auf bestimmten Regeln. +Der resultierende Text: -Betrachten Sie eine Szene für einen Text und die Form, die diesen Text enthält. Der 3D-Effekt enthält die 3D-Darstellung des Objekts und die Szene, auf der das Objekt platziert wurde. +![The text 3D effect](text_3D_effect.png) -- Wenn die Szene sowohl für die Figur als auch für den Text festgelegt ist, hat die Figur-Szene 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. +{{% alert color="primary" %}} +Die Anwendung von 3D‑Effekten auf Text oder deren Formen – sowie die Wechselwirkung zwischen diesen Effekten – wird durch spezifische Regeln gesteuert. Betrachten Sie eine Szene, die sowohl einen Text als auch die Form, die diesen Text enthält, umfasst. Ein 3D‑Effekt beinhaltet die 3D‑Darstellung des Objekts und die Szene, in der er platziert ist. -Die Beschreibungen beziehen sich auf die [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/lightrig) und [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/camera) Eigenschaften. +- Wenn für sowohl die Form als auch den Text eine Szene festgelegt ist, hat die Szene der Form Vorrang und die Szene des Textes wird ignoriert. +- Wenn die Form keine eigene Szene hat, aber eine 3D‑Darstellung besitzt, wird die Szene des Textes verwendet. +- Wenn die Form überhaupt keinen 3D‑Effekt hat, wird sie als flach behandelt und der 3D‑Effekt nur auf den Text angewendet. +Diese Verhaltensweisen beziehen sich auf die Eigenschaften [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/lightrig/) und [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/camera/). {{% /alert %}} -## **Anwenden von äußeren Schatteneffekten auf Texte** -Aspose.Slides für .NET bietet die [**IOuterShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/ioutershadow) und [**IInnerShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/iinnershadow) Klassen, die es Ihnen ermöglichen, Schatteneffekte auf einen Text, der durch TextFrame getragen wird, anzuwenden. Gehen Sie folgendermaßen vor: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Erhalten Sie die Referenz eines Slides anhand ihres Index. -3. Fügen Sie einen AutoShape vom Rechtecktyp zum Slide hinzu. -4. Greifen Sie auf den mit dem AutoShape verknüpften TextFrame zu. -5. Setzen Sie den FillType des AutoShape auf NoFill. -6. Instanziieren Sie die Klasse OuterShadow. -7. Setzen Sie den BlurRadius des Schattens. -8. Setzen Sie die Richtung des Schattens. -9. Setzen Sie die Entfernung des Schattens. -10. Setzen Sie den RectangleAlign auf TopLeft. -11. Setzen Sie die PresetColor des Schattens auf Schwarz. -12. Schreiben Sie die Präsentation als PPTX-Datei. - -Dieser Beispielcode in C#—eine Implementierung der obigen Schritte—zeigt Ihnen, wie Sie den äußeren Schatteneffekt auf einen Text anwenden: - -```c# -using (Presentation pres = new Presentation()) -{ - - // Holen Sie sich die Referenz des Slides - ISlide sld = pres.Slides[0]; - - // Fügen Sie einen AutoShape vom Rechtecktyp hinzu - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - - // Fügen Sie dem Rechteck einen TextFrame hinzu - ashp.AddTextFrame("Aspose TextBox"); - - // Deaktivieren Sie die Füllung der Form, falls wir den Schatten des Textes erhalten möchten - ashp.FillFormat.FillType = FillType.NoFill; - - // Fügen Sie den äußeren Schatten hinzu und setzen Sie alle erforderlichen Parameter - ashp.EffectFormat.EnableOuterShadowEffect(); - IOuterShadow shadow = ashp.EffectFormat.OuterShadowEffect; - shadow.BlurRadius = 4.0; - shadow.Direction = 45; - shadow.Distance = 3; - shadow.RectangleAlign = RectangleAlignment.TopLeft; - shadow.ShadowColor.PresetColor = PresetColor.Black; - - // Schreiben Sie die Präsentation auf die Festplatte - pres.Save("pres_out.pptx", SaveFormat.Pptx); -} -``` - - -## **Anwenden des inneren Schattens auf Formen** -Gehen Sie folgendermaßen vor: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Holen Sie sich eine Referenz des Slides. -3. Fügen Sie einen AutoShape vom Rechtecktyp hinzu. -4. Aktivieren Sie den InnerShadowEffect. -5. Setzen Sie alle erforderlichen 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. +## **FAQ** -Dieser Beispielcode (basierend auf den obigen Schritten) zeigt Ihnen, wie Sie einen Verbindung zwischen zwei Formen in C# hinzufügen: +**Kann ich WordArt‑Effekte mit verschiedenen Schriften oder Schriftsystemen (z. B. Arabisch, Chinesisch) verwenden?** -```c# -using(Presentation presentation = new Presentation()) -{ - // Holen Sie sich die Referenz eines Slides - ISlide slide = presentation.Slides[0]; +Ja, Aspose.Slides für .NET unterstützt Unicode und arbeitet mit allen gängigen Schriften und Schriftsystemen. WordArt‑Effekte wie Schatten, Füllung und Kontur können unabhängig von der Sprache angewendet werden, wobei die Verfügbarkeit und Darstellung von Schriften vom System abhängen kann. - // Fügen Sie einen AutoShape vom Rechtecktyp hinzu - IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 400, 300); - ashp.FillFormat.FillType = FillType.NoFill; +**Kann ich WordArt‑Effekte auf Elemente der Folienmaster anwenden?** - // Fügen Sie dem Rechteck einen TextFrame hinzu - ashp.AddTextFrame("Aspose TextBox"); - IPortion port = ashp.TextFrame.Paragraphs[0].Portions[0]; - IPortionFormat pf = port.PortionFormat; - pf.FontHeight = 50; +Ja, Sie können WordArt‑Effekte auf Formen in Master‑Folien anwenden, einschließlich Titel‑Platzhaltern, Fußzeilen oder Hintergrundtext. Änderungen am Master‑Layout wirken sich auf alle zugehörigen Folien aus. - // Aktivieren Sie den InnerShadowEffect - IEffectFormat ef = pf.EffectFormat; - ef.EnableInnerShadowEffect(); +**Beeinflussen WordArt‑Effekte die Dateigröße der Präsentation?** - // Setzen Sie alle erforderlichen Parameter - ef.InnerShadowEffect.BlurRadius = 8.0; - ef.InnerShadowEffect.Direction = 90.0F; - ef.InnerShadowEffect.Distance = 6.0; - ef.InnerShadowEffect.ShadowColor.B = 189; +Ein wenig. WordArt‑Effekte wie Schatten, Leuchten und Farbverläufe können die Dateigröße geringfügig erhöhen, da zusätzliche Formatierungs‑Metadaten hinzugefügt werden, der Unterschied ist jedoch meist vernachlässigbar. - // Setzen Sie den ColorType auf Schema - ef.InnerShadowEffect.ShadowColor.ColorType = ColorType.Scheme; +**Kann ich das Ergebnis von WordArt‑Effekten ansehen, ohne die Präsentation zu speichern?** - // Setzen Sie die Schema-Farbe - ef.InnerShadowEffect.ShadowColor.SchemeColor = SchemeColor.Accent1; - - // Präsentation speichern - presentation.Save("WordArt_out.pptx", SaveFormat.Pptx); -} -``` \ No newline at end of file +Ja, Sie können Folien mit WordArt in Bilder (z. B. PNG, JPEG) rendern, indem Sie die `GetImage`‑Methode der [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/)‑ oder [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/)‑Schnittstelle verwenden. So können Sie das Ergebnis im Speicher oder direkt 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/net/developer-guide/presentation-content/manage-zoom/_index.md b/de/net/developer-guide/presentation-content/manage-zoom/_index.md index 25462c7509..0d092ec42f 100644 --- a/de/net/developer-guide/presentation-content/manage-zoom/_index.md +++ b/de/net/developer-guide/presentation-content/manage-zoom/_index.md @@ -3,49 +3,48 @@ title: Zoom verwalten type: docs weight: 60 url: /de/net/manage-zoom/ -keywords: -- zoom -- zoom rahmen -- zoom hinzufügen -- zoom rahmen formatieren -- zusammenfassungszoom +keywords: +- Zoom +- Zoom-Frame +- Zoom hinzufügen +- Zoom-Frame formatieren +- Zusammenfassungs-Zoom - PowerPoint-Präsentation - C# - Csharp - Aspose.Slides für .NET -description: "Fügen Sie Zoom oder Zoomrahmen in PowerPoint-Präsentationen mit C# oder .NET hinzu" +description: "Zoom oder Zoom-Frames zu PowerPoint-Präsentationen in C# oder .NET hinzufügen" --- ## **Übersicht** -Zoomen in PowerPoint ermöglicht es Ihnen, zu bestimmten Folien, Abschnitten und Teilen einer Präsentation zu springen. Wenn Sie präsentieren, kann diese Fähigkeit, schnell durch den Inhalt zu navigieren, sehr nützlich sein. +Zooms in PowerPoint ermöglichen es Ihnen, zu bestimmten Folien, Abschnitten und Bereichen einer Präsentation zu springen und zurückzukehren. Beim Präsentieren kann diese Möglichkeit, schnell durch Inhalte zu navigieren, sehr nützlich sein. ![overview_image](overview.png) -* Um eine gesamte Präsentation auf einer einzigen Folie zusammenzufassen, verwenden Sie einen [Zusammenfassungszoom](#Zusammenfassungszoom). -* Um nur ausgewählte Folien anzuzeigen, verwenden Sie einen [Folienspringen](#Folienspringen). -* Um nur einen einzelnen Abschnitt anzuzeigen, verwenden Sie einen [Abschnittszoom](#Abschnittszoom). +* Um eine gesamte Präsentation auf einer einzigen Folie zusammenzufassen, verwenden Sie einen [Summary Zoom](#Summary-Zoom). +* Um nur ausgewählte Folien anzuzeigen, verwenden Sie einen [Slide Zoom](#Slide-Zoom). +* Um nur einen einzelnen Abschnitt anzuzeigen, verwenden Sie einen [Section Zoom](#Section-Zoom). -## **Folienspringen** -Ein Folienspringen kann Ihre Präsentation dynamischer gestalten, indem Sie zwischen Folien in beliebiger Reihenfolge navigieren können, ohne den Fluss Ihrer Präsentation zu unterbrechen. Folienspringen sind großartig für kurze Präsentationen ohne viele Abschnitte, aber Sie können sie auch in verschiedenen Präsentationsszenarien verwenden. +## **Folien‑Zoom** +Ein Folien‑Zoom kann Ihre Präsentation dynamischer machen, da er Ihnen erlaubt, frei zwischen Folien in beliebiger Reihenfolge zu navigieren, ohne den Ablauf zu unterbrechen. Folien‑Zooms eignen sich hervorragend für kurze Präsentationen ohne viele Abschnitte, können aber auch in anderen Szenarien eingesetzt werden. -Folienspringen helfen Ihnen, in mehrere Informationsstücke einzutauchen, während Sie sich wie auf einer einzelnen Leinwand fühlen. +Folien‑Zooms helfen Ihnen, mehrere Informationsstücke zu vertiefen, während Sie das Gefühl behalten, sich auf einer einzigen Leinwand zu befinden. ![overview_image](slidezoomsel.png) -Für Folienspringobjekte stellt Aspose.Slides die [ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype) Aufzählung, die [IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe) Schnittstelle und einige Methoden in der [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) Schnittstelle zur Verfügung. +Für Folien‑Zoom‑Objekte stellt Aspose.Slides die Aufzählung [ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype), das Interface [IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe) und einige Methoden im Interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) bereit. -### **Zoomrahmen erstellen** +### **Erstellen von Zoom‑Frames** -Sie können einen Zoomrahmen auf einer Folie auf folgende Weise hinzufügen: +Sie können einem Folien‑Zoom‑Frame wie folgt hinzufügen: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Erstellen Sie neue Folien, zu denen Sie die Zoomrahmen verlinken möchten. -3. Fügen Sie den erstellten Folien einen Identifikationstext und einen Hintergrund hinzu. -4. Fügen Sie die Zoomrahmen (mit Verweisen auf die erstellten Folien) zur ersten Folie hinzu. -5. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. - -Dieser C#-Code zeigt Ihnen, wie Sie einen Zoomrahmen auf einer Folie erstellen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Erstellen Sie neue Folien, zu denen Sie die Zoom‑Frames verlinken möchten. +3. Fügen Sie den erstellten Folien einen Identifizierungstext und einen Hintergrund hinzu. +4. Fügen Sie Zoom‑Frames (die Verweise auf die erstellten Folien enthalten) zur ersten Folie hinzu. +5. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie einen Zoom‑Frame auf einer Folie erstellen: ``` csharp using (Presentation pres = new Presentation()) { @@ -60,7 +59,7 @@ using (Presentation pres = new Presentation()) // Erstellt ein Textfeld für die zweite Folie IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Zweite Folie"; + autoshape.TextFrame.Text = "Second Slide"; // Erstellt einen Hintergrund für die dritte Folie slide3.Background.Type = BackgroundType.OwnBackground; @@ -69,7 +68,7 @@ using (Presentation pres = new Presentation()) // Erstellt ein Textfeld für die dritte Folie autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Dritte Folie"; + autoshape.TextFrame.Text = "Trird Slide"; //Fügt ZoomFrame-Objekte hinzu pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); @@ -79,33 +78,33 @@ using (Presentation pres = new Presentation()) pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Zoomrahmen mit benutzerdefinierten Bildern erstellen** -Mit Aspose.Slides für .NET können Sie einen Zoomrahmen mit einem anderen Folienvorschau-Bild auf folgende Weise erstellen: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Erstellen Sie eine neue Folie, zu der Sie den Zoomrahmen verlinken möchten. -3. Fügen Sie der Folie einen Identifikationstext und einen Hintergrund hinzu. -4. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) Objekt, indem Sie ein Bild in die mit der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Objekt verbundene Bilderkollektion hinzufügen, das zum Füllen des Rahmens verwendet wird. -5. Fügen Sie die Zoomrahmen (mit dem Verweis auf die erstellte Folie) zur ersten Folie hinzu. -6. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. -Dieser C#-Code zeigt Ihnen, wie Sie einen Zoomrahmen mit einem anderen Bild erstellen: +### **Erstellen von Zoom‑Frames mit benutzerdefinierten Bildern** +Mit Aspose.Slides für .NET können Sie einen Zoom‑Frame mit einem anderen Folienvorschau‑Bild wie folgt erstellen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Erstellen Sie eine neue Folie, zu der Sie den Zoom‑Frame verlinken möchten. +3. Fügen Sie der Folie einen Identifizierungstext und einen Hintergrund hinzu. +4. Erzeugen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)-Objekt, indem Sie dem Images‑Katalog des [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Objekts ein Bild hinzufügen, das den Frame füllen soll. +5. Fügen Sie Zoom‑Frames (die den Verweis auf die erstellte Folie enthalten) zur ersten Folie hinzu. +6. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie einen Zoom‑Frame mit einem anderen Bild erstellen: ``` csharp using (Presentation pres = new Presentation()) { //Fügt eine neue Folie zur Präsentation hinzu ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); - // Erstellt einen Hintergrund für die zweite Folie + //Erstellt einen Hintergrund für die zweite Folie slide.Background.Type = BackgroundType.OwnBackground; slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // Erstellt ein Textfeld für die dritte Folie + //Erstellt ein Textfeld für die dritte Folie IAutoShape autoshape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Zweite Folie"; + autoshape.TextFrame.Text = "Second Slide"; - // Erstellt ein neues Bild für das Zoomobjekt + //Erstellt ein neues Bild für das Zoom-Objekt IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); @@ -113,27 +112,27 @@ using (Presentation pres = new Presentation()) //Fügt das ZoomFrame-Objekt hinzu pres.Slides[0].Shapes.AddZoomFrame(20, 20, 300, 200, slide, ppImage); - // Speichert die Präsentation + //Speichert die Präsentation pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Zoomrahmen formatieren** -In den vorherigen Abschnitten zeigten wir Ihnen, wie man einfache Zoomrahmen erstellt. Um kompliziertere Zoomrahmen zu erstellen, müssen Sie die Formatierung eines einfachen Rahmens ändern. Es stehen mehrere Formatierungsoptionen zur Verfügung, die Sie auf einen Zoomrahmen anwenden können. -Sie können die Formatierung eines Zoomrahmens auf einer Folie auf folgende Weise steuern: +### **Formatieren von Zoom‑Frames** +In den vorherigen Abschnitten haben wir gezeigt, wie man einfache Zoom‑Frames erstellt. Um komplexere Zoom‑Frames zu erstellen, müssen Sie die Formatierung eines einfachen Frames ändern. Es gibt mehrere Formatierungsoptionen, die Sie auf einen Zoom‑Frame anwenden können. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Erstellen Sie neue Folien, zu denen Sie den Zoomrahmen verlinken möchten. -3. Fügen Sie den erstellten Folien einige Identifikationstexte und Hintergründe hinzu. -4. Fügen Sie die Zoomrahmen (mit Verweisen auf die erstellten Folien) zur ersten Folie hinzu. -5. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) Objekt, indem Sie ein Bild in die mit der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Objekt verbundene Bilderkollektion hinzufügen, das zum Füllen des Rahmens verwendet wird. -6. Setzen Sie ein benutzerdefiniertes Bild für das erste Zoomrahmenobjekt. -7. Ändern Sie die Linienformatierung für das zweite Zoomrahmenobjekt. -8. Entfernen Sie den Hintergrund von einem Bild des zweiten Zoomrahmenobjekts. -5. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Sie können die Formatierung eines Zoom‑Frames auf einer Folie wie folgt steuern: -Dieser C#-Code zeigt Ihnen, wie Sie die Formatierung eines Zoomrahmens auf einer Folie ändern: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Erstellen Sie neue Folien, zu denen Sie den Zoom‑Frame verlinken möchten. +3. Fügen Sie den erstellten Folien einen Identifizierungstext und einen Hintergrund hinzu. +4. Fügen Sie Zoom‑Frames (die Verweise auf die erstellten Folien enthalten) zur ersten Folie hinzu. +5. Erzeugen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)-Objekt, indem Sie dem Images‑Katalog des [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Objekts ein Bild hinzufügen, das den Frame füllen soll. +6. Legen Sie ein benutzerdefiniertes Bild für das erste Zoom‑Frame‑Objekt fest. +7. Ändern Sie das Linienformat für das zweite Zoom‑Frame‑Objekt. +8. Entfernen Sie den Hintergrund aus dem Bild des zweiten Zoom‑Frame‑Objekts. +5. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie die Formatierung eines Zoom‑Frames auf einer Folie ändern: ``` csharp using (Presentation pres = new Presentation()) { @@ -148,7 +147,7 @@ using (Presentation pres = new Presentation()) // Erstellt ein Textfeld für die zweite Folie IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Zweite Folie"; + autoshape.TextFrame.Text = "Second Slide"; // Erstellt einen Hintergrund für die dritte Folie slide3.Background.Type = BackgroundType.OwnBackground; @@ -157,13 +156,13 @@ using (Presentation pres = new Presentation()) // Erstellt ein Textfeld für die dritte Folie autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Dritte Folie"; + autoshape.TextFrame.Text = "Trird Slide"; //Fügt ZoomFrame-Objekte hinzu IZoomFrame zoomFrame1 = pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); IZoomFrame zoomFrame2 = pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); - // Erstellt ein neues Bild für das Zoomobjekt + // Erstellt ein neues Bild für das Zoom-Objekt IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); @@ -171,13 +170,13 @@ using (Presentation pres = new Presentation()) // Setzt ein benutzerdefiniertes Bild für das zoomFrame1-Objekt zoomFrame1.ZoomImage = ppImage; - // Setzt eine Zoomrahmenformatierung für das zoomFrame2-Objekt + // Setzt ein Zoom-Frame-Format für das zoomFrame2-Objekt zoomFrame2.LineFormat.Width = 5; zoomFrame2.LineFormat.FillFormat.FillType = FillType.Solid; zoomFrame2.LineFormat.FillFormat.SolidFillColor.Color = Color.HotPink; zoomFrame2.LineFormat.DashStyle = LineDashStyle.DashDot; - // Einstellung für den Hintergrund nicht anzeigen für das zoomFrame2-Objekt + // Einstellung zum Ausblenden des Hintergrunds für das zoomFrame2-Objekt zoomFrame2.ShowBackground = false; // Speichert die Präsentation @@ -185,27 +184,27 @@ using (Presentation pres = new Presentation()) } ``` -## **Abschnittszoom** -Ein Abschnittszoom ist ein Link zu einem Abschnitt in Ihrer Präsentation. Sie können Abschnittszoooms verwenden, um zu den Abschnitten zurückzukehren, die Sie wirklich betonen möchten. Oder Sie können sie verwenden, um hervorzuheben, wie bestimmte Teile Ihrer Präsentation miteinander verbunden sind. +## **Abschnitts‑Zoom** + +Ein Abschnitts‑Zoom ist ein Link zu einem Abschnitt Ihrer Präsentation. Sie können Abschnitts‑Zooms verwenden, um zu Abschnitten zurückzukehren, die Sie besonders betonen möchten. Oder Sie nutzen sie, um hervorzuheben, wie bestimmte Teile Ihrer Präsentation miteinander verbunden sind. ![overview_image](seczoomsel.png) -Für Abschnittszoomobjekte stellt Aspose.Slides die [ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe) Schnittstelle und einige Methoden in der [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) Schnittstelle bereit. +Für Abschnitts‑Zoom‑Objekte stellt Aspose.Slides das Interface [ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe) und einige Methoden im Interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) bereit. -### **Abschnittszoomrahmen erstellen** +### **Erstellen von Abschnitts‑Zoom‑Frames** -Sie können einen Abschnittszoomrahmen auf einer Folie auf folgende Weise hinzufügen: +Sie können einen Abschnitts‑Zoom‑Frame zu einer Folie wie folgt hinzufügen: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. 2. Erstellen Sie eine neue Folie. -3. Fügen Sie dem erstellten Folien einen Identifikationshintergrund hinzu. -4. Erstellen Sie einen neuen Abschnitt, zu dem Sie den Zoomrahmen verlinken möchten. -5. Fügen Sie einen Abschnittszoomrahmen (mit Verweisen auf den erstellten Abschnitt) zur ersten Folie hinzu. -6. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. - -Dieser C#-Code zeigt Ihnen, wie Sie einen Zoomrahmen auf einer Folie erstellen: +3. Fügen Sie der erstellten Folie einen Identifizierungs‑Hintergrund hinzu. +4. Erstellen Sie einen neuen Abschnitt, zu dem Sie den Zoom‑Frame verlinken möchten. +5. Fügen Sie einen Abschnitts‑Zoom‑Frame (der Verweise auf den erstellten Abschnitt enthält) zur ersten Folie hinzu. +6. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie einen Zoom‑Frame auf einer Folie erstellen: ``` csharp using (Presentation pres = new Presentation()) { @@ -216,7 +215,7 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - pres.Sections.AddSection("Abschnitt 1", slide); + pres.Sections.AddSection("Section 1", slide); // Fügt ein SectionZoomFrame-Objekt hinzu ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); @@ -225,66 +224,66 @@ using (Presentation pres = new Presentation()) pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Abschnittszoomrahmen mit benutzerdefinierten Bildern erstellen** -Mit Aspose.Slides für .NET können Sie einen Abschnittszoomrahmen mit einem anderen Folienvorschau-Bild auf folgende Weise erstellen: +### **Erstellen von Abschnitts‑Zoom‑Frames mit benutzerdefinierten Bildern** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Erstellen Sie eine neue Folie. -3. Fügen Sie dem erstellten Folien einen Identifikationshintergrund hinzu. -4. Erstellen Sie einen neuen Abschnitt, zu dem Sie den Zoomrahmen verlinken möchten. -5. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) Objekt, indem Sie ein Bild in die Bilderkollektion einfügen, die mit dem [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Objekt verbunden ist, das zum Füllen des Rahmens verwendet wird. -5. Fügen Sie einen Abschnittszoomrahmen (mit einem Verweis auf den erstellten Abschnitt) zur ersten Folie hinzu. -6. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Mit Aspose.Slides für .NET können Sie einen Abschnitts‑Zoom‑Frame mit einem anderen Folienvorschau‑Bild wie folgt erstellen: -Dieser C#-Code zeigt Ihnen, wie Sie einen Zoomrahmen mit einem anderen Bild erstellen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Erstellen Sie eine neue Folie. +3. Fügen Sie der erstellten Folie einen Identifizierungs‑Hintergrund hinzu. +4. Erstellen Sie einen neuen Abschnitt, zu dem Sie den Zoom‑Frame verlinken möchten. +5. Erzeugen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)-Objekt, indem Sie dem Images‑Katalog des [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Objekts ein Bild hinzufügen, das den Frame füllen soll. +5. Fügen Sie einen Abschnitts‑Zoom‑Frame (der einen Verweis auf den erstellten Abschnitt enthält) zur ersten Folie hinzu. +6. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie einen Zoom‑Frame mit einem anderen Bild erstellen: ``` csharp using (Presentation pres = new Presentation()) { - //Fügt eine neue Folie zur Präsentation hinzu + //Fügt neue Folie zur Präsentation hinzu ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - pres.Sections.AddSection("Abschnitt 1", slide); + pres.Sections.AddSection("Section 1", slide); - // Erstellt ein neues Bild für das Zoomobjekt + // Erstellt ein neues Bild für das Zoom-Objekt IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // Fügt ein SectionZoomFrame-Objekt hinzu + // Fügt SectionZoomFrame-Objekt hinzu ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1], ppImage); // Speichert die Präsentation pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Abschnittszoomrahmen formatieren** -Um kompliziertere Abschnittszoomrahmen zu erstellen, müssen Sie die Formatierung eines einfachen Rahmens ändern. Es stehen mehrere Formatierungsoptionen zur Verfügung, die Sie auf einen Abschnittszoomrahmen anwenden können. +### **Formatieren von Abschnitts‑Zoom‑Frames** -Sie können die Formatierung eines Abschnittszoomrahmens auf einer Folie auf folgende Weise steuern: +Um komplexere Abschnitts‑Zoom‑Frames zu erstellen, müssen Sie die Formatierung eines einfachen Frames ändern. Es gibt mehrere Formatierungsoptionen, die Sie auf einen Abschnitts‑Zoom‑Frame anwenden können. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. +Sie können die Formatierung eines Abschnitts‑Zoom‑Frames auf einer Folie wie folgt steuern: + +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. 2. Erstellen Sie eine neue Folie. -3. Fügen Sie dem erstellten Folien eine Identifikationshintergrund hinzu. -4. Erstellen Sie einen neuen Abschnitt, zu dem Sie den Zoomrahmen verlinken möchten. -5. Fügen Sie einen Abschnittszoomrahmen (mit Verweisen auf den erstellten Abschnitt) zur ersten Folie hinzu. -6. Ändern Sie die Größe und Position des erstellten Abschnittszoomobjekts. -7. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) Objekt, indem Sie ein Bild in die mit dem [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Objekt verbundene Bilderkollektion hinzufügen, das zum Füllen des Rahmens verwendet wird. -8. Setzen Sie ein benutzerdefiniertes Bild für das erstellte Abschnittszoomrahmenobjekt. -9. Aktivieren Sie die Fähigkeit, *zur ursprünglichen Folie vom verlinkten Abschnitt zurückzukehren*. -10. Entfernen Sie den Hintergrund von einem Bild des Abschnittszoomrahmenobjekts. -11. Ändern Sie die Linienformatierung des zweiten Zoomrahmenobjekts. +3. Fügen Sie der erstellten Folie einen Identifizierungs‑Hintergrund hinzu. +4. Erstellen Sie einen neuen Abschnitt, zu dem Sie den Zoom‑Frame verlinken möchten. +5. Fügen Sie einen Abschnitts‑Zoom‑Frame (der Verweise auf den erstellten Abschnitt enthält) zur ersten Folie hinzu. +6. Ändern Sie Größe und Position des erstellten Abschnitts‑Zoom‑Objekts. +7. Erzeugen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)-Objekt, indem Sie dem Images‑Katalog des [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Objekts ein Bild hinzufügen, das den Frame füllen soll. +8. Legen Sie ein benutzerdefiniertes Bild für das erstellte Abschnitts‑Zoom‑Frame‑Objekt fest. +9. Aktivieren Sie die *Rückkehr zur Ausgangs‑Folientextur aus dem verknüpften Abschnitt*-Funktion. +10. Entfernen Sie den Hintergrund aus dem Bild des Abschnitts‑Zoom‑Frame‑Objekts. +11. Ändern Sie das Linienformat für das zweite Zoom‑Frame‑Objekt. 12. Ändern Sie die Übergangsdauer. -13. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. - -Dieser C#-Code zeigt Ihnen, wie Sie die Formatierung eines Abschnittszoomrahmens ändern: +13. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie die Formatierung eines Abschnitts‑Zoom‑Frames ändern: ``` csharp using (Presentation pres = new Presentation()) { @@ -295,9 +294,9 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - pres.Sections.AddSection("Abschnitt 1", slide); + pres.Sections.AddSection("Section 1", slide); - // Fügt ein SectionZoomFrame-Objekt hinzu + // Fügt SectionZoomFrame-Objekt hinzu ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); // Formatierung für SectionZoomFrame @@ -328,25 +327,24 @@ using (Presentation pres = new Presentation()) ``` -## **Zusammenfassungszoom** +## **Zusammenfassungs‑Zoom** -Ein Zusammenfassungszoom ist wie eine Landingpage, auf der alle Teile Ihrer Präsentation gleichzeitig angezeigt werden. Wenn Sie präsentieren, können Sie den Zoom verwenden, um von einem Ort in Ihrer Präsentation zu einem anderen in beliebiger Reihenfolge zu gelangen. Sie können kreativ werden, überspringen oder Teile Ihrer Diashow wieder besuchen, ohne den Fluss Ihrer Präsentation zu unterbrechen. +Ein Zusammenfassungs‑Zoom ist wie eine Startseite, auf der alle Teile Ihrer Präsentation gleichzeitig angezeigt werden. Beim Präsentieren können Sie den Zoom nutzen, um von einem beliebigen Punkt Ihrer Präsentation zu einem anderen in beliebiger Reihenfolge zu springen. Sie können kreativ sein, vorwärts springen oder Teile Ihrer Präsentation erneut besuchen, ohne den Ablauf zu unterbrechen. ![overview_image](sumzoomsel.png) -Für Zusammenfassungszoomobjekte stellt Aspose.Slides die [ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe), [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection) und [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) Schnittstellen sowie einige Methoden in der [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) Schnittstelle zur Verfügung. +Für Zusammenfassungs‑Zoom‑Objekte stellt Aspose.Slides die Interfaces [ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe), [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection) und [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) sowie einige Methoden im Interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) bereit. -### **Zusammenfassungszoom erstellen** +### **Erstellen von Zusammenfassungs‑Zoom** -Sie können einen Zusammenfassungszoomrahmen auf eine Folie auf folgende Weise hinzufügen: +Sie können einen Zusammenfassungs‑Zoom‑Frame zu einer Folie wie folgt hinzufügen: -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Erstellen Sie neue Folien mit Identifikationshintergrund und neuen Abschnitten für die erstellten Folien. -3. Fügen Sie den Zusammenfassungszoomrahmen zur ersten Folie hinzu. -4. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. - -Dieser C#-Code zeigt Ihnen, wie Sie einen Zusammenfassungszoomrahmen auf einer Folie erstellen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Erstellen Sie neue Folien mit Identifizierungs‑Hintergrund und neuen Abschnitten für die erstellten Folien. +3. Fügen Sie den Zusammenfassungs‑Zoom‑Frame zur ersten Folie hinzu. +4. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie einen Zusammenfassungs‑Zoom‑Frame auf einer Folie erstellen: ``` csharp using (Presentation pres = new Presentation()) { @@ -357,7 +355,7 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - pres.Sections.AddSection("Abschnitt 1", slide); + pres.Sections.AddSection("Section 1", slide); //Fügt eine neue Folie zur Präsentation hinzu slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -366,7 +364,7 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - pres.Sections.AddSection("Abschnitt 2", slide); + pres.Sections.AddSection("Section 2", slide); //Fügt eine neue Folie zur Präsentation hinzu slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -375,7 +373,7 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - pres.Sections.AddSection("Abschnitt 3", slide); + pres.Sections.AddSection("Section 3", slide); //Fügt eine neue Folie zur Präsentation hinzu slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -384,7 +382,7 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - pres.Sections.AddSection("Abschnitt 4", slide); + pres.Sections.AddSection("Section 4", slide); // Fügt ein SummaryZoomFrame-Objekt hinzu ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); @@ -394,20 +392,20 @@ using (Presentation pres = new Presentation()) } ``` -### **Zusammenfassungszoomabschnitt hinzufügen und entfernen** -Alle Abschnitte in einem Zusammenfassungszoomrahmen werden durch [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection) Objekte dargestellt, die in dem [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) Objekt gespeichert sind. Sie können ein Zusammenfassungszoomabschnittobjekt über die [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) Schnittstelle auf folgende Weise hinzufügen oder entfernen: +### **Hinzufügen und Entfernen von Zusammenfassungs‑Zoom‑Abschnitten** -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Erstellen Sie neue Folien mit Identifikationshintergrund und neuen Abschnitten für die erstellten Folien. -3. Fügen Sie einen Zusammenfassungszoomrahmen in die erste Folie ein. -4. Fügen Sie eine neue Folie und einen Abschnitt zur Präsentation hinzu. -5. Fügen Sie den erstellten Abschnitt zum Zusammenfassungszoomrahmen hinzu. -6. Entfernen Sie den ersten Abschnitt aus dem Zusammenfassungszoomrahmen. -7. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Alle Abschnitte in einem Zusammenfassungs‑Zoom‑Frame werden durch [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)-Objekte repräsentiert, die im [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection)-Objekt gespeichert sind. Sie können einen Zusammenfassungs‑Zoom‑Abschnitt über das [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection)-Interface wie folgt hinzufügen oder entfernen: -Dieser C#-Code zeigt Ihnen, wie Sie Abschnitte in einem Zusammenfassungszoomrahmen hinzufügen und entfernen: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Erstellen Sie neue Folien mit Identifizierungs‑Hintergrund und neuen Abschnitten für die erstellten Folien. +3. Fügen Sie einen Zusammenfassungs‑Zoom‑Frame in die erste Folie ein. +4. Fügen Sie der Präsentation eine neue Folie und einen neuen Abschnitt hinzu. +5. Fügen Sie den erstellten Abschnitt dem Zusammenfassungs‑Zoom‑Frame hinzu. +6. Entfernen Sie den ersten Abschnitt aus dem Zusammenfassungs‑Zoom‑Frame. +7. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie Abschnitte in einem Zusammenfassungs‑Zoom‑Frame hinzufügen und entfernen: ``` csharp using (Presentation pres = new Presentation()) { @@ -418,7 +416,7 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - pres.Sections.AddSection("Abschnitt 1", slide); + pres.Sections.AddSection("Section 1", slide); //Fügt eine neue Folie zur Präsentation hinzu slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -427,7 +425,7 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - pres.Sections.AddSection("Abschnitt 2", slide); + pres.Sections.AddSection("Section 2", slide); // Fügt ein SummaryZoomFrame-Objekt hinzu ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); @@ -439,12 +437,12 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - ISection section3 = pres.Sections.AddSection("Abschnitt 3", slide); + ISection section3 = pres.Sections.AddSection("Section 3", slide); - // Fügt einen Abschnitt zum Zusammenfassungszoom hinzu + // Fügt einen Abschnitt zum Summary Zoom hinzu summaryZoomFrame.SummaryZoomCollection.AddSummaryZoomSection(section3); - // Entfernt einen Abschnitt aus dem Zusammenfassungszoom + // Entfernt Abschnitt aus dem Summary Zoom summaryZoomFrame.SummaryZoomCollection.RemoveSummaryZoomSection(pres.Sections[1]); // Speichert die Präsentation @@ -452,25 +450,25 @@ using (Presentation pres = new Presentation()) } ``` -### **Zusammenfassungszoomabschnitte formatieren** -Um kompliziertere Zusammenfassungszoomabschnittobjekte zu erstellen, müssen Sie die Formatierung eines einfachen Rahmens ändern. Es stehen mehrere Formatierungsoptionen zur Verfügung, die Sie auf ein Zusammenfassungszoomabschnittobjekt anwenden können. +### **Formatieren von Zusammenfassungs‑Zoom‑Abschnitten** -Sie können die Formatierung für ein Zusammenfassungszoomabschnittobjekt in einem Zusammenfassungszoomrahmen auf folgende Weise steuern: +Um komplexere Zusammenfassungs‑Zoom‑Abschnitts‑Objekte zu erstellen, müssen Sie die Formatierung eines einfachen Frames ändern. Es gibt mehrere Formatierungsoptionen, die Sie auf ein Zusammenfassungs‑Zoom‑Abschnitts‑Objekt anwenden können. -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. -2. Erstellen Sie neue Folien mit Identifikationshintergrund und neuen Abschnitten für die erstellten Folien. -3. Fügen Sie einen Zusammenfassungszoomrahmen zur ersten Folie hinzu. -4. Holen Sie sich ein Zusammenfassungszoomabschnittobjekt für das erste Objekt aus der `ISummaryZoomSectionCollection`. -7. Erstellen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) Objekt, indem Sie ein Bild in die Bilderkollektion einfügen, die mit dem [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Objekt verbunden ist, das zum Füllen des Rahmens verwendet wird. -8. Setzen Sie ein benutzerdefiniertes Bild für das erstellte Abschnittszoomrahmenobjekt. -9. Aktivieren Sie die Fähigkeit, *zur ursprünglichen Folie vom verlinkten Abschnitt zurückzukehren*. -11. Ändern Sie die Linienformatierung des zweiten Zoomrahmenobjekts. -12. Ändern Sie die Übergangsdauer. -13. Schreiben Sie die modifizierte Präsentation als PPTX-Datei. +Sie können die Formatierung eines Zusammenfassungs‑Zoom‑Abschnitts‑Objekts in einem Zusammenfassungs‑Zoom‑Frame wie folgt steuern: -Dieser C#-Code zeigt Ihnen, wie Sie die Formatierung für ein Zusammenfassungszoomabschnittobjekt ändern: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +2. Erstellen Sie neue Folien mit Identifizierungs‑Hintergrund und neuen Abschnitten für die erstellten Folien. +3. Fügen Sie einen Zusammenfassungs‑Zoom‑Frame zur ersten Folie hinzu. +4. Holen Sie sich ein Zusammenfassungs‑Zoom‑Abschnitts‑Objekt für das erste Objekt aus der `ISummaryZoomSectionCollection`. +7. Erzeugen Sie ein [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)-Objekt, indem Sie dem Images‑Katalog des [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Objekts ein Bild hinzufügen, das den Frame füllen soll. +8. Legen Sie ein benutzerdefiniertes Bild für das erstellte Abschnitts‑Zoom‑Frame‑Objekt fest. +9. Aktivieren Sie die *Rückkehr zur Ausgangs‑Folientextur aus dem verknüpften Abschnitt*-Funktion. +11. Ändern Sie das Linienformat für das zweite Zoom‑Frame‑Objekt. +12. Ändern Sie die Übergangsdauer. +13. Schreiben Sie die geänderte Präsentation als PPTX‑Datei. +Dieser C#‑Code zeigt, wie Sie die Formatierung eines Zusammenfassungs‑Zoom‑Abschnitts‑Objekts ändern: ``` csharp using (Presentation pres = new Presentation()) { @@ -481,7 +479,7 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - pres.Sections.AddSection("Abschnitt 1", slide); + pres.Sections.AddSection("Section 1", slide); //Fügt eine neue Folie zur Präsentation hinzu slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -490,19 +488,19 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Fügt einen neuen Abschnitt zur Präsentation hinzu - pres.Sections.AddSection("Abschnitt 2", slide); + pres.Sections.AddSection("Section 2", slide); // Fügt ein SummaryZoomFrame-Objekt hinzu ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); - // Holt sich das erste SummaryZoomSection-Objekt + // Holt das erste SummaryZoomSection-Objekt ISummaryZoomSection summarySection = summaryZoomFrame.SummaryZoomCollection[0]; IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // Formatierung für das SummaryZoomSection-Objekt + // Formatierung für SummaryZoomSection-Objekt summarySection.ZoomImage = ppImage; summarySection.ReturnToParent = false; @@ -516,4 +514,19 @@ using (Presentation pres = new Presentation()) // Speichert die Präsentation pres.Save("presentation.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Kann ich die Rückkehr zur übergeordneten Folie nach dem Anzeigen des Ziels steuern?** + +Ja. Der [Zoom frame](https://reference.aspose.com/slides/net/aspose.slides/zoomframe/) bzw. das [section](https://reference.aspose.com/slides/net/aspose.slides/sectionzoomframe/) verfügt über das Verhalten `ReturnToParent`, das, wenn aktiviert, den Betrachter nach dem Besuch des Zielinhalts zurück zur Ausgangs‑Folientextur führt. + +**Kann ich die „Geschwindigkeit“ oder Dauer des Zoom‑Übergangs anpassen?** + +Ja. Zoom unterstützt das Setzen einer `TransitionDuration`, sodass Sie die Dauer der Sprunganimation steuern können. + +**Gibt es Beschränkungen, wie viele Zoom‑Objekte eine Präsentation enthalten darf?** + +Es gibt keine fest dokumentierte API‑Grenze. Praktische Grenzen hängen von der Gesamtkomplexität der Präsentation und der Leistung des Viewers ab. Sie können viele Zoom‑Frames hinzufügen, sollten jedoch Dateigröße und Renderzeit berücksichtigen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md b/de/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md index 5bf3443779..6c0bf0b5ad 100644 --- a/de/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md +++ b/de/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md @@ -1,5 +1,5 @@ --- -title: Verwaltung von Tags und benutzerdefinierten Daten +title: Verwalten von Tags und benutzerdefinierten Daten type: docs weight: 300 url: /de/net/managing-tags-and-custom-data @@ -7,24 +7,23 @@ keywords: "Tags, Benutzerdefinierte Daten, Wert für Tags, Tags hinzufügen, Pow description: "Tags und benutzerdefinierte Daten zu PowerPoint-Präsentationen in C# oder .NET hinzufügen" --- -## Datenspeicherung in Präsentationsdateien +## **Datenspeicherung in Präsentationsdateien** -PPTX-Dateien – Elemente mit der .pptx-Erweiterung – werden im PresentationML-Format gespeichert, das Teil der Office Open XML-Spezifikation ist. Das Office Open XML-Format definiert die Struktur für Daten, die in Präsentationen enthalten sind. +PPTX-Dateien - Elemente mit der Endung .pptx - werden im PresentationML-Format gespeichert, das Teil der Office Open XML-Spezifikation ist. Das Office Open XML-Format definiert die Struktur der in Präsentationen enthaltenen Daten. -Mit einer *Folie*, die eines der Elemente in Präsentationen ist, enthält ein *Folienabschnitt* den Inhalt einer einzelnen Folie. Ein Folienabschnitt darf explizite Beziehungen zu vielen Teilen haben – wie z. B. benutzerdefinierte Tags – die durch ISO/IEC 29500 definiert sind. +Da eine *Folie* eines der Elemente in Präsentationen ist, enthält ein *Folien‑Teil* den Inhalt einer einzelnen Folie. Ein Folien‑Teil darf explizite Beziehungen zu vielen Teilen haben - z. B. zu benutzerdefinierten Tags - die durch ISO/IEC 29500 definiert sind. -Benutzerdefinierte Daten (spezifisch für eine Präsentation) oder Benutzer können als Tags ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection)) und CustomXmlParts ([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection)) existieren. +Benutzerdefinierte Daten (spezifisch für eine Präsentation) oder Benutzer können als Tags ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection)) und CustomXmlParts ([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection)) vorliegen. {{% alert color="primary" %}} -Tags sind im Wesentlichen Schlüssel-Wert-Paarwerte von Typ String. +Tags sind im Wesentlichen Schlüssel‑Wert‑Paare als Zeichenketten. {{% /alert %}} -## Abrufen der Werte für Tags - -In Folien entspricht ein Tag der IDocumentProperties.Keywords-Eigenschaft. Dieser Beispielcode zeigt Ihnen, wie Sie den Wert eines Tags mit Aspose.Slides für .NET für [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) abrufen können: +## **Abrufen der Werte für Tags** +In Folien entspricht ein Tag der Eigenschaft IDocumentProperties.Keywords. Dieser Beispielcode zeigt, wie man den Wert eines Tags mit Aspose.Slides für .NET für [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation): ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,17 +31,17 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Hinzufügen von Tags zu Präsentationen -Aspose.Slides ermöglicht es Ihnen, Tags zu Präsentationen hinzuzufügen. Ein Tag besteht typischerweise aus zwei Elementen: +## **Hinzufügen von Tags zu Präsentationen** -- dem Namen eines benutzerdefinierten Attributs - `MyTag` -- dem Wert des benutzerdefinierten Attributs - `My Tag Value` +Aspose.Slides ermöglicht das Hinzufügen von Tags zu Präsentationen. Ein Tag besteht typischerweise aus zwei Elementen: -Wenn Sie einige Präsentationen basierend auf einer bestimmten Regel oder Eigenschaft klassifizieren müssen, profitieren Sie möglicherweise davon, Tags zu diesen Präsentationen hinzuzufügen. Wenn Sie beispielsweise alle Präsentationen aus nordamerikanischen Ländern kategorisieren oder zusammenfassen möchten, können Sie ein nordamerikanisches Tag erstellen und die entsprechenden Länder (die USA, Mexiko und Kanada) als Werte zuweisen. +- der Name einer benutzerdefinierten Eigenschaft - `MyTag` +- der Wert der benutzerdefinierten Eigenschaft - `My Tag Value` -Dieser Beispielcode zeigt Ihnen, wie Sie ein Tag zu einer [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) mit Aspose.Slides für .NET hinzufügen können: +Wenn Sie einige Präsentationen anhand einer bestimmten Regel oder Eigenschaft klassifizieren möchten, kann das Hinzufügen von Tags zu diesen Präsentationen nützlich sein. Zum Beispiel können Sie, wenn Sie alle Präsentationen aus nordamerikanischen Ländern zusammenfassen möchten, einen North American‑Tag erstellen und dann die entsprechenden Länder (USA, Mexiko und Kanada) als Werte zuweisen. +Dieser Beispielcode zeigt, wie man einem [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) mit Aspose.Slides für .NET einen Tag hinzufügt: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -51,8 +50,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Tags können auch für [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide) gesetzt werden: +Tags können auch für [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide) gesetzt werden: ```csharp using(Presentation pres = new Presentation()) { @@ -61,14 +60,29 @@ using(Presentation pres = new Presentation()) } ``` -Oder für jede einzelne [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape): +Oder für jedes einzelne [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape): ```csharp using(Presentation pres = new Presentation()) { ISlide slide = pres.Slides[0]; IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 100, 50); - shape.TextFrame.Text = "Mein Text"; + shape.TextFrame.Text = "My text"; shape.CustomData.Tags["tag"] = "value"; } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Kann ich alle Tags aus einer Präsentation, Folie oder Form in einem Vorgang entfernen?** + +Ja. Die [tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) unterstützt eine [clear](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/clear/)‑Operation, die alle Schlüssel‑Wert‑Paare auf einmal löscht. + +**Wie lösche ich ein einzelnes Tag anhand seines Namens, ohne die gesamte Sammlung zu durchlaufen?** + +Verwenden Sie die [Remove(name)](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/remove/)‑Operation auf der [TagCollection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/), um das Tag anhand seines Schlüssels zu löschen. + +**Wie kann ich die vollständige Liste der Tag‑Namen für Analysen oder Filterungen abrufen?** + +Verwenden Sie [GetNamesOfTags](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/getnamesoftags/) auf der [tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/); sie gibt ein Array aller Tag‑Namen zurück. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md b/de/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md index f02f04ebf9..379ca370ef 100644 --- a/de/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md +++ b/de/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md @@ -3,26 +3,26 @@ title: Animierte Diagramme type: docs weight: 80 url: /de/net/animated-charts/ -keywords: "Diagramme, Diagrammserien, Animation PowerPoint-Präsentation, PPTX, PPT, C#, Csharp, Aspose.Slides für .NET" -description: "PowerPoint-Diagrammserien und Animationen in C# oder .NET" +keywords: "Diagramme, Diagrammserien, Animation PowerPoint-Präsentation, PPTX, PPT, C#, Csharp, Aspose.Slides for .NET" +description: "PowerPoint-Diagrammserien und -Animationen in C# oder .NET" --- -Aspose.Slides für .NET unterstützt die Animation von Diagrammelementen. **Serien**, **Kategorien**, **Serienselemente**, **Kategorienelemente** können mit der [**ISequence**.**AddEffect**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect)-Methode und zwei Enums [**EffectChartMajorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype) und [**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype) animiert werden. -## **Animation der Diagrammserie** -Wenn Sie eine Diagrammserie animieren möchten, schreiben Sie den Code gemäß den unten aufgeführten Schritten: +Aspose.Slides für .NET unterstützt die Animation von Diagrammelementen. **Series**, **Categories**, **Series Elements**, **Categories Elements** können mit der [**ISequence**.**AddEffect**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect)Methode und zwei Aufzählungen [**EffectChartMajorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype) und [**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype) animiert werden. -1. Laden Sie eine Präsentation. -1. Holen Sie sich die Referenz des Diagrammobjekts. -1. Animieren Sie die Serie. -1. Schreiben Sie die Präsentationsdatei auf die Festplatte. +## **Diagramm-Serien-Animation** +Wenn Sie eine Diagramm‑Serie animieren möchten, schreiben Sie den Code gemäß den unten aufgeführten Schritten: -Im folgenden Beispiel haben wir Diagrammserien animiert. +1. Laden Sie eine Präsentation. +2. Holen Sie die Referenz des Diagramm‑Objekts. +3. Animieren Sie die Serie. +4. Schreiben Sie die Präsentationsdatei auf die Festplatte. +Im nachstehenden Beispiel haben wir die Diagramm‑Serie animiert. ```c# -// Instanziieren der Presentation-Klasse, die eine Präsentationsdatei darstellt +// Instanziieren Sie die Presentation-Klasse, die eine Präsentationsdatei darstellt using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // Holen Sie sich die Referenz des Diagrammobjekts + // Holen Sie die Referenz des Diagrammobjekts var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; @@ -47,26 +47,25 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) EffectChartMajorGroupingType.BySeries, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // Schreiben Sie die modifizierte Präsentation auf die Festplatte + // Speichern Sie die modifizierte Präsentation auf dem Datenträger presentation.Save("AnimatingSeries_out.pptx", SaveFormat.Pptx); } ``` -## **Animation der Diagrammkategorie** -Wenn Sie eine Diagrammkategorie animieren möchten, schreiben Sie den Code gemäß den unten aufgeführten Schritten: +## **Diagramm-Kategorien-Animation** +Wenn Sie eine Diagramm‑Kategorie animieren möchten, schreiben Sie den Code gemäß den unten aufgeführten Schritten: -1. Laden Sie eine Präsentation. -1. Holen Sie sich die Referenz des Diagrammobjekts. -1. Animieren Sie die Kategorie. -1. Schreiben Sie die Präsentationsdatei auf die Festplatte. - -Im folgenden Beispiel haben wir die Diagrammkategorie animiert. +1. Laden Sie eine Präsentation. +2. Holen Sie die Referenz des Diagramm‑Objekts. +3. Animieren Sie die Kategorie. +4. Schreiben Sie die Präsentationsdatei auf die Festplatte. +Im nachstehenden Beispiel haben wir die Diagramm‑Kategorie animiert. ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // Holen Sie sich die Referenz des Diagrammobjekts + // Holen Sie die Referenz des Diagrammobjekts var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; @@ -94,62 +93,61 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ``` -## **Animation in Serienelement** -Wenn Sie Serienelemente animieren möchten, schreiben Sie den Code gemäß den unten aufgeführten Schritten: - -1. Laden Sie eine Präsentation. -1. Holen Sie sich die Referenz des Diagrammobjekts. -1. Animieren Sie Serienelemente. -1. Schreiben Sie die Präsentationsdatei auf die Festplatte. +## **Animation im Serien-Element** +Wenn Sie Serien‑Elemente animieren möchten, schreiben Sie den Code gemäß den unten aufgeführten Schritten: -Im folgenden Beispiel haben wir die Elemente der Serien animiert. +1. Laden Sie eine Präsentation. +2. Holen Sie die Referenz des Diagramm‑Objekts. +3. Animieren Sie Serien‑Elemente. +4. Schreiben Sie die Präsentationsdatei auf die Festplatte. +Im nachstehenden Beispiel haben wir die Elemente der Serie animiert. ```c# -// Laden Sie eine Präsentation -using (Presentation presentation = new Presentation("ExistingChart.pptx")) -{ - // Holen Sie sich die Referenz des Diagrammobjekts - var slide = presentation.Slides[0] as Slide; - var shapes = slide.Shapes as ShapeCollection; - var chart = shapes[0] as IChart; - - // Animieren Sie die Elemente der Serien - slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - // Schreiben Sie die Präsentationsdatei auf die Festplatte - presentation.Save("AnimatingSeriesElements_out.pptx", SaveFormat.Pptx); + // Laden Sie eine Präsentation + using (Presentation presentation = new Presentation("ExistingChart.pptx")) + { + // Holen Sie die Referenz des Diagrammobjekts + var slide = presentation.Slides[0] as Slide; + var shapes = slide.Shapes as ShapeCollection; + var chart = shapes[0] as IChart; + + // Animieren Sie die Elemente der Serie + slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 1, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + // Schreiben Sie die Präsentationsdatei auf die Festplatte + presentation.Save("AnimatingSeriesElements_out.pptx", SaveFormat.Pptx); + } ``` -## **Animation in Kategorienelement** -Wenn Sie Kategorienelemente animieren möchten, schreiben Sie den Code gemäß den unten aufgeführten Schritten: - -1. Laden Sie eine Präsentation. -1. Holen Sie sich die Referenz des Diagrammobjekts. -1. Animieren Sie die Kategorienelemente. -1. Schreiben Sie die Präsentationsdatei auf die Festplatte. +## **Animation im Kategorien-Element** +Wenn Sie Kategorien‑Elemente animieren möchten, schreiben Sie den Code gemäß den unten aufgeführten Schritten: -Im folgenden Beispiel haben wir die Kategorienelemente animiert. +1. Laden Sie eine Präsentation. +2. Holen Sie die Referenz des Diagramm‑Objekts. +3. Animieren Sie Kategorien‑Elemente. +4. Schreiben Sie die Präsentationsdatei auf die Festplatte. +Im nachstehenden Beispiel haben wir die Kategorien‑Elemente animiert. ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // Holen Sie sich die Referenz des Diagrammobjekts + // Holen Sie die Referenz des Diagrammobjekts var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; @@ -174,4 +172,22 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) // Schreiben Sie die Präsentationsdatei auf die Festplatte presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Werden verschiedene Effektarten (z. B. Einstieg, Hervorhebung, Verlassen) für Diagramme wie für reguläre Formen unterstützt?** +Ja. Ein Diagramm wird als Form behandelt, sodass es die standardmäßigen Animationseffektarten unterstützt, einschließlich Einstieg, Hervorhebung und Verlassen, mit voller Kontrolle über die Zeitleiste der Folie und die Animationssequenzen. + +**Kann ich Diagramm-Animationen mit Folienübergängen kombinieren?** +Ja. [Transitions](/slides/de/net/slide-transition/) gelten für die Folie, während Animationseffekte für Objekte auf der Folie gelten. Sie können beide zusammen in derselben Präsentation verwenden und sie unabhängig steuern. + +**Werden Diagramm-Animationen beim Speichern als PPTX erhalten?** +Ja. Wenn Sie [save to PPTX](/slides/de/net/save-presentation/) verwenden, werden alle Animationseffekte und deren Reihenfolge erhalten, da sie Teil des nativen Animationsmodells der Präsentation sind. + +**Kann ich vorhandene Diagramm-Animationen aus einer Präsentation lesen und ändern?** +Ja. Die [API](https://reference.aspose.com/slides/net/aspose.slides.animation/) bietet Zugriff auf die Zeitleiste der Folie, Sequenzen und Effekte, sodass Sie vorhandene Diagramm‑Animationen untersuchen und anpassen können, ohne alles von Grund auf neu zu erstellen. + +**Kann ich mit Aspose.Slides ein Video erzeugen, das Diagramm-Animationen enthält?** +Ja. Sie können eine Präsentation [export a presentation to video](/slides/de/net/convert-powerpoint-to-video/) exportieren, wobei die Animationen erhalten bleiben, Timings und weitere Exporteinstellungen konfiguriert werden, sodass das resultierende Video die animierte Wiedergabe widerspiegelt. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md index 96b45690c2..7cc1eb3862 100644 --- a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md +++ b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md @@ -1,15 +1,14 @@ --- -title: Diagramm-Berechnungen +title: Diagrammberechnungen type: docs weight: 50 url: /de/net/chart-calculations/ keywords: "Diagrammberechnungen, Diagrammelemente, Elementposition, Diagrammwerte C#, Csharp, Aspose.Slides für .NET" -description: "PowerPoint-Diagrammberechnungen und -werte in C# oder .NET" +description: "PowerPoint Diagrammberechnungen und Werte in C# oder .NET" --- -## **Berechnung der Ist-Werte von Diagrammelementen** -Aspose.Slides für .NET bietet eine einfache API zum Abrufen dieser Eigenschaften. Dies hilft Ihnen, die Ist-Werte von Diagrammelementen zu berechnen. Die Ist-Werte umfassen die Position der Elemente, die das IActualLayout-Interface implementieren (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) und die tatsächlichen Achsenwerte (IAxis.ActualMaxValue, IAxis.ActualMinValue, IAxis.ActualMajorUnit, IAxis.ActualMinorUnit, IAxis.ActualMajorUnitScale, IAxis.ActualMinorUnitScale). - +## **Tatsächliche Werte von Diagrammelementen berechnen** +Aspose.Slides für .NET bietet eine einfache API zum Abrufen dieser Eigenschaften. Dies hilft Ihnen, die tatsächlichen Werte von Diagrammelementen zu berechnen. Die tatsächlichen Werte umfassen die Position von Elementen, die das IActualLayout-Interface implementieren (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) sowie die tatsächlichen Achsenwerte (IAxis.ActualMaxValue, IAxis.ActualMinValue, IAxis.ActualMajorUnit, IAxis.ActualMinorUnit, IAxis.ActualMajorUnitScale, IAxis.ActualMinorUnitScale). ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -27,9 +26,9 @@ using (Presentation pres = new Presentation("test.pptx")) -## **Berechnung der tatsächlichen Position von übergeordneten Diagrammelementen** -Aspose.Slides für .NET bietet eine einfache API zum Abrufen dieser Eigenschaften. Eigenschaften des IActualLayout liefern Informationen über die tatsächliche Position des übergeordneten Diagrammelements. Es ist notwendig, die Methode IChart.ValidateChartLayout() vorher aufzurufen, um die Eigenschaften mit Ist-Werten zu füllen. +## **Tatsächliche Position von übergeordneten Diagrammelementen berechnen** +Aspose.Slides für .NET bietet eine einfache API zum Abrufen dieser Eigenschaften. Eigenschaften von IActualLayout liefern Informationen über die tatsächliche Position des übergeordneten Diagrammelements. Es ist notwendig, vorher die Methode IChart.ValidateChartLayout() aufzurufen, um die Eigenschaften mit den tatsächlichen Werten zu füllen. ```c# // Leere Präsentation erstellen using (Presentation pres = new Presentation()) @@ -46,28 +45,28 @@ using (Presentation pres = new Presentation()) -## **Informationen aus dem Diagramm ausblenden** -Dieses Thema hilft Ihnen zu verstehen, wie Sie Informationen aus dem Diagramm ausblenden können. Mit Aspose.Slides für .NET können Sie **Titel, Vertikale Achse, Horizontale Achse** und **Gitterlinien** aus dem Diagramm ausblenden. Das folgende Codebeispiel zeigt, wie man diese Eigenschaften verwendet. +## **Informationen im Diagramm ausblenden** +Dieses Thema hilft Ihnen zu verstehen, wie Sie Informationen im Diagramm ausblenden können. Mit Aspose.Slides für .NET können Sie **Titel, vertikale Achse, horizontale Achse** und **Gitternetzlinien** im Diagramm ausblenden. Das nachstehende Codebeispiel zeigt, wie diese Eigenschaften verwendet werden. ```c# using (Presentation pres = new Presentation()) { ISlide slide = pres.Slides[0]; IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 140, 118, 320, 370); - // Ausblenden des Diagrammtitels + //Diagrammtitel ausblenden chart.HasTitle = false; - // Ausblenden der Werte-Achse + ///Wertachse ausblenden chart.Axes.VerticalAxis.IsVisible = false; - // Sichtbarkeit der Kategorischen Achse + //Sichtbarkeit der Kategorienachse chart.Axes.HorizontalAxis.IsVisible = false; - // Ausblenden der Legende + //Legende ausblenden chart.HasLegend = false; - // Ausblenden der Hauptgitterlinien + //Hauptgitternetzlinien ausblenden chart.Axes.HorizontalAxis.MajorGridLinesFormat.Line.FillFormat.FillType = FillType.NoFill; for (int i = 0; i < chart.ChartData.Series.Count; i++) @@ -82,11 +81,26 @@ using (Presentation pres = new Presentation()) series.Labels.DefaultDataLabelFormat.Position = LegendDataLabelPosition.Top; series.Marker.Size = 15; - // Farbe der Serienlinie festlegen + //Linienfarbe der Serie festlegen series.Format.Line.FillFormat.FillType = FillType.Solid; series.Format.Line.FillFormat.SolidFillColor.Color = Color.Purple; series.Format.Line.DashStyle = LineDashStyle.Solid; pres.Save("HideInformationFromChart.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Funktionieren externe Excel-Arbeitsmappen als Datenquelle und wie wirkt sich das auf die Neuberechnung aus?** + +Ja. Ein Diagramm kann auf eine externe Arbeitsmappe verweisen: Wenn Sie die externe Quelle verbinden oder aktualisieren, werden Formeln und Werte aus dieser Arbeitsmappe übernommen, und das Diagramm spiegelt die Änderungen während Öffnen-/Bearbeitungs-Vorgängen wider. Die API ermöglicht es Ihnen, den Pfad zur [die externe Arbeitsmappe angeben](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/) anzugeben und die verknüpften Daten zu verwalten. + +**Kann ich Trendlinien berechnen und anzeigen, ohne die Regression selbst zu implementieren?** + +Ja. [Trendlinien](/slides/de/net/trend-line/) (linear, exponentiell und andere) werden von Aspose.Slides hinzugefügt und aktualisiert; ihre Parameter werden automatisch aus den Seriendaten neu berechnet, sodass Sie Ihre eigenen Berechnungen nicht implementieren müssen. + +**Wenn eine Präsentation mehrere Diagramme mit externen Verknüpfungen enthält, kann ich steuern, welche Arbeitsmappe jedes Diagramm für berechnete Werte verwendet?** + +Ja. Jedes Diagramm kann auf seine eigene [externe Arbeitsmappe](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/) verweisen, oder Sie können pro Diagramm eine externe Arbeitsmappe erstellen/ersetzen, unabhängig von den anderen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md index beec6dacf2..f512c0c2bc 100644 --- a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md +++ b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md @@ -2,13 +2,12 @@ title: Callout type: docs url: /de/net/callout/ -keywords: "Chart Callout, Diagrammdatenelement, C#, Csharp, Aspose.Slides für .NET" +keywords: "Diagramm-Callout, Diagramm-Datenbeschriftung, C#, Csharp, Aspose.Slides für .NET" description: "PowerPoint-Diagramm-Callouts und Datenbeschriftungen in C# oder .NET" --- ## **Verwendung von Callouts** -Eine neue Eigenschaft **ShowLabelAsDataCallout** wurde zur Klasse **DataLabelFormat** und zum Interface **IDataLabelFormat** hinzugefügt, die bestimmt, ob die angegebene Datenbeschriftung des Diagramms als Daten-Callout oder als Datenbeschriftung angezeigt wird. Im folgenden Beispiel haben wir die Callouts gesetzt. - +Die neue Eigenschaft **ShowLabelAsDataCallout** wurde zur Klasse **DataLabelFormat** und zur Schnittstelle **IDataLabelFormat** hinzugefügt. Sie bestimmt, ob das Datenetikett des angegebenen Diagramms als Daten‑Callout oder als Datenetikett angezeigt wird. Im nachfolgenden Beispiel haben wir die Callouts festgelegt. ```c# using (Presentation presentation = new Presentation()) { @@ -21,9 +20,8 @@ using (Presentation presentation = new Presentation()) ``` -## **Callout für Donut-Diagramm setzen** -Aspose.Slides für .NET bietet Unterstützung beim Festlegen der Form von Datenbeschriftungs-Callouts für ein Donut-Diagramm. Unten wird ein Beispiel gegeben. - +## **Callout für Donut‑Diagramm festlegen** +Aspose.Slides für .NET bietet Unterstützung für das Festlegen der Callout‑Form des Serien‑Datenetiketts für ein Donut‑Diagramm. Im Folgenden finden Sie ein Beispiel. ```c# Presentation pres = new Presentation("testc.pptx"); ISlide slide = pres.Slides[0]; @@ -35,7 +33,7 @@ chart.HasLegend = false; int seriesIndex = 0; while (seriesIndex < 15) { - IChartSeries series = chart.ChartData.Series.Add(workBook.GetCell(0, 0, seriesIndex + 1, "SERIE " + seriesIndex), chart.Type); + IChartSeries series = chart.ChartData.Series.Add(workBook.GetCell(0, 0, seriesIndex + 1, "SERIES " + seriesIndex), chart.Type); series.Explosion = 0; series.ParentSeriesGroup.DoughnutHoleSize = (byte)20; series.ParentSeriesGroup.FirstSliceAngle = 351; @@ -44,7 +42,7 @@ while (seriesIndex < 15) int categoryIndex = 0; while (categoryIndex < 15) { - chart.ChartData.Categories.Add(workBook.GetCell(0, categoryIndex + 1, 0, "KATEGORIE " + categoryIndex)); + chart.ChartData.Categories.Add(workBook.GetCell(0, categoryIndex + 1, 0, "CATEGORY " + categoryIndex)); int i = 0; while (i < chart.ChartData.Series.Count) { @@ -81,4 +79,15 @@ while (categoryIndex < 15) categoryIndex++; } pres.Save("chart.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**Werden Callouts beim Konvertieren einer Präsentation in PDF, HTML5, SVG oder Bilder beibehalten?** + +Ja. Callouts sind Teil der Diagrammdarstellung, sodass sie beim Export nach [PDF](/slides/de/net/convert-powerpoint-to-pdf/), [HTML5](/slides/de/net/export-to-html5/), [SVG](/slides/de/net/render-a-slide-as-an-svg-image/) oder [Rasterbilder](/slides/de/net/convert-powerpoint-to-png/) zusammen mit der Formatierung der Folie beibehalten werden. + +**Funktionieren benutzerdefinierte Schriftarten in Callouts und kann ihr Aussehen beim Export beibehalten werden?** + +Ja. Aspose.Slides unterstützt das [Einbetten von Schriftarten](/slides/de/net/embedded-font/) in die Präsentation und steuert das Einbetten von Schriftarten bei Exporten wie [PDF](/slides/de/net/convert-powerpoint-to-pdf/), sodass die Callouts auf verschiedenen Systemen gleich aussehen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index 29d250c955..0518adb1eb 100644 --- a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -2,26 +2,24 @@ title: Diagrammachse type: docs url: /de/net/chart-axis/ -keywords: "PowerPoint Diagrammachse, Präsentationsdiagramme, C#, .NET, Diagrammachse manipulieren, Diagrammdaten" -description: "Bearbeiten der PowerPoint-Diagrammachse in C# oder .NET" +keywords: "PowerPoint-Diagrammachse, Präsentationsdiagramme, C#, .NET, Diagrammachse manipulieren, Diagrammdaten" +description: "PowerPoint-Diagrammachse in C# oder .NET bearbeiten" --- +## **Ermitteln der Maximalwerte auf der vertikalen Achse in Diagrammen** +Aspose.Slides für .NET ermöglicht das Abrufen der Minimal‑ und Maximalwerte einer vertikalen Achse. Folgen Sie diesen Schritten: -## **Maximale Werte auf der vertikalen Achse von Diagrammen erhalten** -Aspose.Slides für .NET ermöglicht es Ihnen, die minimalen und maximalen Werte auf einer vertikalen Achse zu erhalten. Gehen Sie die folgenden Schritte durch: - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/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 sich den tatsächlichen Maximalwert auf der Achse. -1. Holen Sie sich den tatsächlichen Minimalwert auf der Achse. -1. Holen Sie sich die tatsächliche Hauptgröße der Achse. -1. Holen Sie sich die tatsächliche Nebenheit der Achse. -1. Holen Sie sich den tatsächlichen Hauptmaßstab der Achse. -1. Holen Sie sich den tatsächlichen Nebenmaßstab der Achse. - -Dieser Beispielcode—eine Implementierung der obigen Schritte—zeigt, wie Sie die erforderlichen Werte in C# erhalten: +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/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 Hauptintervallgröße der Achse. +7. Ermitteln Sie die tatsächliche Nebenintervallgröße der Achse. +8. Ermitteln Sie die tatsächliche Skala des Hauptintervalls der Achse. +9. Ermitteln Sie die tatsächliche Skala des Nebenintervalls der Achse. +Dieser Beispielcode – eine Umsetzung der oben genannten Schritte – zeigt, wie Sie die erforderlichen Werte in C# erhalten: ```c# using (Presentation pres = new Presentation()) { @@ -40,18 +38,17 @@ using (Presentation pres = new Presentation()) ``` -## **Daten zwischen Achsen austauschen** -Aspose.Slides ermöglicht es Ihnen, die Daten zwischen Achsen schnell auszutauschen—die auf der vertikalen Achse (y-Achse) dargestellten Daten wechseln zur horizontalen Achse (x-Achse) und umgekehrt. - -Dieser C#-Code zeigt Ihnen, wie Sie die Daten austauschen können: +## **Austauschen der Daten zwischen Achsen** +Aspose.Slides ermöglicht das schnelle Vertauschen von Daten zwischen Achsen – die auf der vertikalen Achse (y‑Achse) dargestellten Daten werden zur horizontalen Achse (x‑Achse) verschoben und umgekehrt. +Dieser C#‑Code zeigt, wie Sie den Datentausch zwischen Achsen in einem Diagramm durchführen: ```c# -// Erzeugt eine leere Präsentation + // Erstellt leere Präsentation using (Presentation pres = new Presentation()) { IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 400, 300); - // Wechselt zwischen Zeilen und Spalten + // Vertauscht Zeilen und Spalten chart.ChartData.SwitchRowColumn(); // Speichert die Präsentation @@ -59,10 +56,10 @@ using (Presentation pres = new Presentation()) } ``` -## **Vertikale Achse für Liniendiagramme deaktivieren** -Dieser C#-Code zeigt, wie Sie die vertikale Achse für ein Liniendiagramm ausblenden: +## **Deaktivieren der vertikalen Achse für Liniendiagramme** +Dieser C#‑Code zeigt, wie Sie die vertikale Achse eines Liniendiagramms ausblenden: ```c# using (Presentation pres = new Presentation()) { @@ -73,10 +70,10 @@ using (Presentation pres = new Presentation()) } ``` -## **Horizontale Achse für Liniendiagramme deaktivieren** -Dieser Code zeigt, wie Sie die horizontale Achse für ein Liniendiagramm ausblenden: +## **Deaktivieren der horizontalen Achse für Liniendiagramme** +Dieser Code zeigt, wie Sie die horizontale Achse eines Liniendiagramms ausblenden: ```c# using (Presentation pres = new Presentation()) { @@ -87,9 +84,10 @@ using (Presentation pres = new Presentation()) } ``` -## **Ändern der Kategoriewerte** -Mit der **CategoryAxisType**-Eigenschaft können Sie Ihren bevorzugten Kategorieachsentyp (**Datum** oder **Text**) angeben. Dieser C#-Code demonstriert die Operation: +## **Ändern der Kategorienachse** + +Mit der Eigenschaft **CategoryAxisType** können Sie den bevorzugten Typ der Kategorienachse festlegen (**date** oder **text**). Dieser C#‑Code demonstriert die Vorgehensweise: ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -102,9 +100,9 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) } ``` -## **Festlegen des Datumsformats für Kategoriewerte** -Aspose.Slides für .NET ermöglicht Ihnen, das Datumsformat für einen Kategoriewert festzulegen. Die Operation wird in diesem C#-Code demonstriert: +## **Festlegen des Datumsformats für den Wert einer Kategorienachse** +Aspose.Slides für .NET ermöglicht das Festlegen des Datumsformats für einen Kategorienachsenwert. Der Vorgang wird in diesem C#‑Code demonstriert: ```c# using (Presentation pres = new Presentation()) { @@ -133,9 +131,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Festlegen des Drehwinkels für die Achsentitel von Diagrammen** -Aspose.Slides für .NET ermöglicht Ihnen das Festlegen des Drehwinkels für einen Diagrammachsentitel. Dieser C#-Code demonstriert die Operation: +## **Festlegen des Rotationswinkels für den Diagrammachsentitel** +Aspose.Slides für .NET ermöglicht das Festlegen des Rotationswinkels für einen Diagrammachsentitel. Dieser C#‑Code demonstriert den Vorgang: ```c# using (Presentation pres = new Presentation()) { @@ -147,9 +145,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Festlegen der Positionsachse in einer Kategorie- oder Wertachse** -Aspose.Slides für .NET ermöglicht Ihnen das Festlegen der Positionsachse in einer Kategorie- oder Wertachse. Dieser C#-Code zeigt, wie Sie die Aufgabe ausführen: +## **Festlegen der Position der Achse in einer Kategorien- oder Wertachse** +Aspose.Slides für .NET ermöglicht das Festlegen der Position der Achse in einer Kategorien‑ oder Wertachse. Dieser C#‑Code zeigt, wie die Aufgabe ausgeführt wird: ```c# using (Presentation pres = new Presentation()) { @@ -160,9 +158,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Aktivieren der Anzeigeeinheit für die Werteachse des Diagramms** -Aspose.Slides für .NET ermöglicht es Ihnen, ein Diagramm so zu konfigurieren, dass es ein Einheitsetikett auf seiner Werteachse anzeigt. Dieser C#-Code demonstriert die Operation: +## **Aktivieren der Anzeige der Einheit in der Diagrammwertachse** +Aspose.Slides für .NET ermöglicht das Konfigurieren eines Diagramms, um ein Einheitsetikett in seiner Diagrammwertachse anzuzeigen. Dieser C#‑Code demonstriert den Vorgang: ```c# using (Presentation pres = new Presentation(dataDir+"Test.pptx")) { @@ -170,4 +168,15 @@ using (Presentation pres = new Presentation(dataDir+"Test.pptx")) chart.Axes.VerticalAxis.DisplayUnit = DisplayUnitType.Millions; pres.Save("Result.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Wie lege ich den Wert fest, an dem eine Achse die andere schneidet (Achsenkreuzung)?** + +Achsen bieten eine [crossing setting](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/crosstype/): Sie können wählen, ob die Achse bei Null, beim maximalen Kategorie‑/Wertbereich oder bei einem bestimmten numerischen Wert kreuzt. Das ist nützlich, um die X‑Achse nach oben oder unten zu verschieben oder eine Basislinie zu betonen. + +**Wie positioniere ich die Tick‑Beschriftungen relativ zur Achse (nebeneinander, außen, innen)?** + +Stellen Sie die [label position](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/majortickmark/) auf „cross“, „outside“ oder „inside“. Das beeinflusst die Lesbarkeit und hilft, Platz zu sparen, insbesondere bei kleinen Diagrammen. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md index 81bd8ff364..45072742f8 100644 --- a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md +++ b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md @@ -2,16 +2,15 @@ title: Diagrammdatenbeschriftung type: docs url: /de/net/chart-data-label/ -keywords: "Diagrammdatenbeschriftung,Beschriftungsabstand,C#,Csharp,Aspose.Slides für .NET" -description: "Diagrammdatenbeschriftung und Abstand in C# oder .NET festlegen" +keywords: "Diagrammdatenbeschriftung,Beschriftungsabstand, C#, Csharp, Aspose.Slides for .NET" +description: "PowerPoint-Diagrammdatenbeschriftung und Abstand in C# oder .NET festlegen" --- -Datenbeschriftungen in einem Diagramm zeigen Details zu den Datensätzen oder einzelnen Datenpunkten des Diagramms an. Sie ermöglichen es den Lesern, Datensätze schnell zu identifizieren, und machen Diagramme auch leichter verständlich. +Datenbeschriftungen in einem Diagramm zeigen Details zu den Diagrammdatenreihen oder einzelnen Datenpunkten. Sie ermöglichen es den Lesern, Datenreihen schnell zu identifizieren, und sie machen Diagramme auch leichter verständlich. -## **Präzision der Daten in Diagrammdatenbeschriftungen festlegen** - -Dieser C#-Code zeigt Ihnen, wie Sie die Datenpräzision in einer Diagrammdatenbeschriftung festlegen: +## **Genauigkeit der Daten in Diagrammbeschriftungen festlegen** +Dieser C#‑Code zeigt, wie Sie die Datenpräzision in einer Diagrammbeschriftung festlegen: ```c# using (Presentation pres = new Presentation()) { @@ -23,11 +22,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Prozentualer Anteil als Beschriftungen anzeigen** -Aspose.Slides für .NET ermöglicht es Ihnen, Prozentwerte als Beschriftungen in angezeigten Diagrammen festzulegen. Dieser C#-Code demonstriert den Vorgang: +## **Prozentsatz als Beschriftungen anzeigen** + +Aspose.Slides for .NET ermöglicht das Festlegen von Prozentwerten als Beschriftungen in angezeigten Diagrammen. Dieser C#‑Code demonstriert die Vorgehensweise: ```c# -// Erstellt eine Instanz der Präsentationsklasse +// Erstellt eine Instanz der Presentation-Klasse Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; @@ -76,17 +76,18 @@ for (int x = 0; x < chart.ChartData.Series.Count; x++) presentation.Save("DisplayPercentageAsLabels_out.pptx", SaveFormat.Pptx); ``` -## **Prozentzeichen mit Diagrammdatenbeschriftungen festlegen** -Dieser C#-Code zeigt Ihnen, wie Sie das Prozentzeichen für eine Diagrammdatenbeschriftung festlegen: +## **Prozentzeichen bei Diagrammbeschriftungen festlegen** + +Dieser C#‑Code zeigt, wie Sie das Prozentzeichen für eine Diagrammbeschriftung festlegen: ```c# -// Erstellt eine Instanz der Präsentationsklasse +// Erstellt eine Instanz der Presentation-Klasse Presentation presentation = new Presentation(); -// Holt sich eine Referenz auf eine Folie über ihren Index +// Holt die Referenz einer Folie über ihren Index ISlide slide = presentation.Slides[0]; -// Erstellt das Diagramm Prozentstapeltes Säulendiagramm auf einer Folie +// Erstellt das PercentsStackedColumn-Diagramm auf einer Folie IChart chart = slide.Shapes.AddChart(ChartType.PercentsStackedColumn, 20, 20, 500, 400); // Setzt NumberFormatLinkedToSource auf false @@ -96,10 +97,10 @@ chart.Axes.VerticalAxis.NumberFormat = "0.00%"; chart.ChartData.Series.Clear(); int defaultWorksheetIndex = 0; -// Holt sich das Diagrammdatenarbeitsblatt +// Holt das Arbeitsblatt für die Diagrammdaten IChartDataWorkbook workbook = chart.ChartData.ChartDataWorkbook; -// Fügt neue Serien hinzu +// Fügt neue Serie hinzu IChartSeries series = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 1, "Reds"), chart.Type); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 1, 0.30)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 1, 0.50)); @@ -110,7 +111,7 @@ series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetInde series.Format.Fill.FillType = FillType.Solid; series.Format.Fill.SolidFillColor.Color = Color.Red; -// Setzt die LabelFormat-Eigenschaften +// Setzt die Eigenschaften von LabelFormat series.Labels.DefaultDataLabelFormat.ShowValue = true; series.Labels.DefaultDataLabelFormat.IsNumberFormatLinkedToSource = false; series.Labels.DefaultDataLabelFormat.NumberFormat = "0.0%"; @@ -119,14 +120,14 @@ series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.FillTyp series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.White; series.Labels.DefaultDataLabelFormat.ShowValue = true; -// Fügt neue Serien hinzu +// Fügt neue Serie hinzu IChartSeries series2 = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 2, "Blues"), chart.Type); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 2, 0.70)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 2, 0.50)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 3, 2, 0.20)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 4, 2, 0.35)); -// Setzt Fülltyp und Farbe +// Setzt den Fülltyp und die Farbe series2.Format.Fill.FillType = FillType.Solid; series2.Format.Fill.SolidFillColor.Color = Color.Blue; series2.Labels.DefaultDataLabelFormat.ShowValue = true; @@ -140,32 +141,33 @@ series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidF presentation.Save("SetDataLabelsPercentageSign_out.pptx", SaveFormat.Pptx); ``` -## **Labelabstand von der Achse festlegen** -Dieser C#-Code zeigt Ihnen, wie Sie den Labelabstand von einer Kategoriensachse festlegen, wenn Sie mit einem Diagramm arbeiten, das von Achsen gezeichnet wird: +## **Beschriftungsabstand von der Achse festlegen** + +Dieser C#‑Code zeigt, wie Sie den Beschriftungsabstand von einer Kategorienachse festlegen, wenn Sie ein Diagramm aus Achsen erstellen: ```c# -// Erstellt eine Instanz der Präsentationsklasse +// Erstellt eine Instanz der Presentation-Klasse Presentation presentation = new Presentation(); -// Holt sich eine Referenz auf eine Folie +// Holt die Referenz einer Folie ISlide sld = presentation.Slides[0]; // Erstellt ein Diagramm auf der Folie IChart ch = sld.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 300); -// Setzt den Labelabstand von einer Achse +// Setzt den Beschriftungsabstand von einer Achse ch.Axes.HorizontalAxis.LabelOffset = 500; // Schreibt die Präsentation auf die Festplatte presentation.Save("SetCategoryAxisLabelDistance_out.pptx", SaveFormat.Pptx); ``` -## **Labelposition anpassen** -Wenn Sie ein Diagramm erstellen, das nicht von irgendeiner Achse abhängt, wie z. B. ein Tortendiagramm, können die Datenbeschriftungen des Diagramms zu nah am Rand liegen. In einem solchen Fall müssen Sie die Position der Datenbeschriftung anpassen, damit die Verbindungslinien deutlich angezeigt werden. +## **Beschriftungsposition anpassen** -Dieser C#-Code zeigt Ihnen, wie Sie die Labelposition in einem Tortendiagramm anpassen: +Wenn Sie ein Diagramm erstellen, das keine Achse verwendet, wie ein Kreisdiagramm, können die Datenbeschriftungen des Diagramms zu nahe am Rand liegen. In einem solchen Fall müssen Sie die Position der Datenbeschriftung anpassen, damit die Führungslinien deutlich angezeigt werden. +Dieser C#‑Code zeigt, wie Sie die Beschriftungsposition in einem Kreisdiagramm anpassen: ```c# using (Presentation pres = new Presentation()) { @@ -183,4 +185,19 @@ using (Presentation pres = new Presentation()) } ``` -![tortendiagramm-angepasste-beschriftung](pie-chart-adjusted-label.png) \ No newline at end of file + +![pie-chart-adjusted-label](pie-chart-adjusted-label.png) + +## **FAQ** + +**Wie kann ich verhindern, dass Datenbeschriftungen in dichten Diagrammen überlappen?** + +Kombinieren Sie automatische Beschriftungsplatzierung, Führungslinien und reduzierte Schriftgröße; bei Bedarf können Sie einige Felder (z. B. die Kategorie) ausblenden oder Beschriftungen nur für extreme/Schlüsselpunkte anzeigen. + +**Wie kann ich Beschriftungen nur für Null‑, Negative‑ oder Leere‑Werte deaktivieren?** + +Filtern Sie Datenpunkte, bevor Sie Beschriftungen aktivieren, und schalten Sie die Anzeige für Werte von 0, negative Werte oder fehlende Werte gemäß einer definierten Regel aus. + +**Wie kann ich einen konsistenten Beschriftungsstil beim Exportieren in PDF/Bilder sicherstellen?** + +Legen Sie Schriftarten (Familie, Größe) explizit fest und prüfen Sie, dass die Schriftart auf der Renderseite verfügbar ist, um ein Zurückgreifen zu vermeiden. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index 9ba0dc0620..e8c3c3c740 100644 --- a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,62 +1,61 @@ --- -title: Diagrammdatenmarker +title: Diagramm-Datenmarker type: docs url: /de/net/chart-data-marker/ keywords: -- Diagrammmarkeroptionen +- Diagramm-Markeroptionen - PowerPoint - Präsentation - C# - Csharp -- Aspose.Slides für .NET -description: "Setzen Sie Diagrammmarkeroptionen in PowerPoint-Präsentationen in C# oder .NET" +- Aspose.Slides for .NET +description: "Diagramm-Markeroptionen in PowerPoint-Präsentationen in C# oder .NET festlegen" --- -## **Diagrammmarkeroptionen festlegen** -Die Marker können an Diagrammdatenelementen innerhalb bestimmter Serien gesetzt werden. Um Diagrammmarkeroptionen festzulegen, befolgen Sie bitte die folgenden Schritte: +## **Diagramm-Markeroptionen festlegen** +Die Marker können an Datenpunkten in bestimmten Serien des Diagramms festgelegt werden. Um Diagramm-Markeroptionen zu setzen, folgen Sie bitte den nachstehenden Schritten: -- Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. +- Instanziieren Sie die [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. - Erstellen Sie das Standarddiagramm. -- Setzen Sie das Bild. +- Legen Sie das Bild fest. - 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 Diagrammmarkeroptionen auf Datenpunktebene festgelegt. - +Im nachstehenden Beispiel haben wir die Diagrammmarkeroptionen auf Datenpunktebene festgelegt. ```c# -// Erstellen Sie eine Instanz der Presentation Klasse +// Erstelle eine Instanz der Presentation-Klasse using Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; -// Erstellen des Standarddiagramms +// Erstelle das Standarddiagramm IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 0, 0, 400, 400); -// Abrufen des Index des Standarddiagrammdatenarbeitsblatts +// Abrufen des Standard-Diagrammdaten-Arbeitsblatt-Index int defaultWorksheetIndex = 0; -// Abrufen des Diagrammdatenarbeitsblatts +// Abrufen des Diagrammdaten-Arbeitsblatts IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook; -// Demo-Serie löschen +// Demo-Serien entfernen chart.ChartData.Series.Clear(); // Neue Serie hinzufügen -chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Serie 1"), chart.Type); +chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type); -// Setzen Sie das Bild +// Bild festlegen using IImage image1 = Images.FromFile("aspose-logo.jpg"); IPPImage imgx1 = presentation.Images.AddImage(image1); -// Setzen Sie das Bild +// Bild festlegen using IImage image2 = Images.FromFile("Tulips.jpg"); IPPImage imgx2 = presentation.Images.AddImage(image2); -// Nehmen Sie die erste Diagrammserie +// Erste Diagrammserie nehmen IChartSeries series = chart.ChartData.Series[0]; -// Fügen Sie dort einen neuen Punkt (1:3) hinzu. +// Neuen Punkt (1:3) dort hinzufügen. IChartDataPoint point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, (double)4.5)); point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx1; @@ -73,9 +72,20 @@ point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorkshee point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx2; -// Ändern des Diagrammserienmarkers +// Diagrammserien-Marker ändern series.Marker.Size = 15; -// Schreiben Sie die Präsentation auf die Festplatte +// Präsentation auf Festplatte speichern presentation.Save("MarkOptions_out.pptx", 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/net/aspose.slides.charts/markerstyletype/) definiert. Wenn Sie eine nicht standardmäßige Form benötigen, verwenden Sie einen Marker mit Bildfüllung, um benutzerdefinierte Visuals zu emulieren. + +**Werden Marker beim Export eines Diagramms in ein Bild oder SVG beibehalten?** + +Ja. Beim Rendern von Diagrammen zu [raster formats](/slides/de/net/convert-powerpoint-to-png/) oder beim Speichern von [shapes as SVG](/slides/de/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/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md index 7f35c9ecb9..01720788c5 100644 --- a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md +++ b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md @@ -1,22 +1,21 @@ --- -title: Diagrammdaten Tabelle +title: Diagramm-Datentabelle type: docs url: /de/net/chart-data-table/ -keywords: "Schriftarten, Diagrammdaten Tabelle, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Schriftarteigenschaften für die Diagrammdaten Tabelle in PowerPoint-Präsentationen in C# oder .NET setzen" +keywords: "Schriftarteigenschaften, Diagramm-Datentabelle, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" +description: "Schriftart-Eigenschaften für die Diagramm-Datenbanktabelle in PowerPoint-Präsentationen in C# oder .NET festlegen" --- -## **Schriftarteigenschaften für Diagrammdaten Tabelle setzen** -Aspose.Slides für .NET bietet Unterstützung für die Farbänderung von Kategorien in einer Serienfarbe. +## **Schriftart‑Eigenschaften für Diagrammdaten‑Tabelle festlegen** +Aspose.Slides für .NET bietet Unterstützung zum Ändern der Farbe von Kategorien in einer Serienfarbe. -1. Instanziiere [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klassenobjekt. -2. Füge ein Diagramm auf der Folie hinzu. -3. Setze die Diagrammtabelle. -4. Setze die Schriftgröße. -5. Speichere die modifizierte Präsentation. - -Nachfolgend ein Beispiel: +1. Instantiieren Sie das [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klassenobjekt. +1. Fügen Sie dem Folie ein Diagramm hinzu. +1. Setzen Sie die Diagrammtabelle. +1. Legen Sie die Schriftgröße fest. +1. Speichern Sie die geänderte Präsentation. +Ein Beispiel wird unten angegeben. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -29,4 +28,23 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Kann ich kleine Legenden‑Schlüssel neben den Werten in der Diagrammdaten‑tabelle anzeigen?** + +Ja. Die Datentabelle unterstützt [legend keys](https://reference.aspose.com/slides/net/aspose.slides.charts/datatable/showlegendkey/), und Sie können sie ein‑ oder ausschalten. + +**Wird die Datentabelle beim Exportieren der Präsentation nach PDF, HTML oder Bildern beibehalten?** + +Ja. Aspose.Slides rendert das Diagramm als Teil der Folie, sodass das exportierte [PDF](/slides/de/net/convert-powerpoint-to-pdf/)/[HTML](/slides/de/net/convert-powerpoint-to-html/)/[image](/slides/de/net/convert-powerpoint-to-png/) das Diagramm mit seiner Datentabelle enthält. + +**Werden Datentabellen für Diagramme unterstützt, die aus einer Vorlagendatei stammen?** + +Ja. Für jedes Diagramm, das aus einer vorhandenen Präsentation oder Vorlage geladen wird, können Sie prüfen und ändern, ob eine Datentabelle [is shown](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/) mithilfe der Eigenschaften des Diagramms. + +**Wie kann ich schnell herausfinden, welche Diagramme in einer Datei die Datentabelle aktiviert haben?** + +Untersuchen Sie die Eigenschaft jedes Diagramms, die angibt, ob die Datentabelle [is shown](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/) und durchlaufen Sie die Folien, um die Diagramme zu identifizieren, bei denen sie aktiviert ist. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index e31ec373e6..32f61e90ce 100644 --- a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,93 +1,104 @@ --- -title: Diagramm Legende +title: Diagrammlegende type: docs url: /de/net/chart-legend/ -keywords: "Diagramm legende, legende schriftgröße, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Positionierung und Schriftgröße für die Diagrammlegende in PowerPoint-Präsentationen in C# oder .NET festlegen" +keywords: "Diagrammlegende, Legenden-Schriftgröße, PowerPoint-Präsentation, C#, Csharp, Aspose.Slides for .NET" +description: "Positionierung und Schriftgröße für Diagrammlegende in PowerPoint-Präsentationen in C# oder .NET festlegen" --- -## **Positionierung der Legende** -Um die Eigenschaften der Legende festzulegen. Bitte folgen Sie den folgenden Schritten: +## **Legendenpositionierung** +Um die Legenden‑Eigenschaften festzulegen, führen Sie die folgenden Schritte aus: -- Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -- Holen Sie sich eine Referenz zur Folie. -- Fügen Sie ein Diagramm zur Folie hinzu. +- Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)-Klasse. +- Holen Sie sich eine Referenz der Folie. +- Fügen Sie der Folie ein Diagramm hinzu. - Legen Sie die Eigenschaften der Legende fest. -- Schreiben Sie die Präsentation als PPTX-Datei. - -Im nachstehenden Beispiel haben wir die Position und Größe für die Diagrammlegende festgelegt. +- Schreiben Sie die Präsentation als PPTX‑Datei. +Im nachstehenden Beispiel haben wir die Position und Größe der Diagramm‑Legende festgelegt. ```c# -// Erstellen Sie eine Instanz der Klasse Presentation +// Erstellen Sie eine Instanz der Presentation-Klasse Presentation presentation = new Presentation(); -// Holen Sie sich eine Referenz zur Folie +// Holen Sie die Referenz der Folie ISlide slide = presentation.Slides[0]; -// Fügen Sie ein gruppiertes Säulendiagramm zur Folie hinzu +// Fügen Sie der Folie ein gruppiertes Säulendiagramm hinzu IChart chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 500); -// Legen Sie die Eigenschaften der Legende fest +// Legenden-Eigenschaften festlegen chart.Legend.X = 50 / chart.Width; chart.Legend.Y = 50 / chart.Height; chart.Legend.Width = 100 / chart.Width; chart.Legend.Height = 100 / chart.Height; -// Schreiben Sie die Präsentation auf die Festplatte +// Präsentation auf die Festplatte schreiben presentation.Save("Legend_out.pptx", SaveFormat.Pptx); ``` - ## **Schriftgröße der Legende festlegen** -Aspose.Slides für .NET ermöglicht es Entwicklern, die Schriftgröße der Legende festzulegen. Bitte folgen Sie den folgenden Schritten: +Aspose.Slides für .NET ermöglicht es Entwicklern, die Schriftgröße der Legende festzulegen. Bitte führen Sie die folgenden Schritte aus: -- Instanziieren Sie die Klasse `Presentation`. -- Erstellen Sie das Standarddiagramm. +- Instanziieren Sie die `Presentation`‑Klasse. +- Erstellen Sie das Standards‑Diagramm. - Legen Sie die Schriftgröße fest. -- Legen Sie den minimalen Achsenwert fest. -- Legen Sie den maximalen Achsenwert fest. +- Setzen Sie den minimalen Achsenwert. +- Setzen Sie den maximalen Achsenwert. - Schreiben Sie die Präsentation auf die Festplatte. - ```c# using (Presentation pres = new Presentation("test.pptx")) { - IChart chart = pres.Slides[0].Shapes.AddChart(Aspose.Slides.Charts.ChartType.ClusteredColumn, 50, 50, 600, 400); + IChart chart = pres.Slides[0].Shapes.AddChart(Aspose.Slides.Charts.ChartType.ClusteredColumn, 50, 50, 600, 400); - chart.Legend.TextFormat.PortionFormat.FontHeight = 20; - chart.Axes.VerticalAxis.IsAutomaticMinValue = false; - chart.Axes.VerticalAxis.MinValue = -5; - chart.Axes.VerticalAxis.IsAutomaticMaxValue = false; - chart.Axes.VerticalAxis.MaxValue = 10; + chart.Legend.TextFormat.PortionFormat.FontHeight = 20; + chart.Axes.VerticalAxis.IsAutomaticMinValue = false; + chart.Axes.VerticalAxis.MinValue = -5; + chart.Axes.VerticalAxis.IsAutomaticMaxValue = false; + chart.Axes.VerticalAxis.MaxValue = 10; - pres.Save("output.pptx", SaveFormat.Pptx); + pres.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Schriftgröße der einzelnen Legende festlegen** -Aspose.Slides für .NET ermöglicht es Entwicklern, die Schriftgröße der einzelnen Legendeneinträge festzulegen. Bitte folgen Sie den folgenden Schritten: +## **Schriftgröße einzelner Legenden‑Einträge festlegen** +Aspose.Slides für .NET ermöglicht es Entwicklern, die Schriftgröße einzelner Legenden‑Einträge festzulegen. Bitte führen Sie die folgenden Schritte aus: -- Instanziieren Sie die Klasse `Presentation`. -- Erstellen Sie das Standarddiagramm. -- Greifen Sie auf den Legendeeintrag zu. +- Instanziieren Sie die `Presentation`‑Klasse. +- Erstellen Sie das Standards‑Diagramm. +- Greifen Sie auf den Legenden‑Eintrag zu. - Legen Sie die Schriftgröße fest. -- Legen Sie den minimalen Achsenwert fest. -- Legen Sie den maximalen Achsenwert fest. +- Setzen Sie den minimalen Achsenwert. +- Setzen Sie den maximalen Achsenwert. - Schreiben Sie die Präsentation auf die Festplatte. - ```c# using (Presentation pres = new Presentation("test.pptx")) { - IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 600, 400); - IChartTextFormat tf = chart.Legend.Entries[1].TextFormat; + IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 600, 400); + IChartTextFormat tf = chart.Legend.Entries[1].TextFormat; - tf.PortionFormat.FontBold = NullableBool.True; - tf.PortionFormat.FontHeight = 20; - tf.PortionFormat.FontItalic = NullableBool.True; - tf.PortionFormat.FillFormat.FillType = FillType.Solid; ; - tf.PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; + tf.PortionFormat.FontBold = NullableBool.True; + tf.PortionFormat.FontHeight = 20; + tf.PortionFormat.FontItalic = NullableBool.True; + tf.PortionFormat.FillFormat.FillType = FillType.Solid; ; + tf.PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; - pres.Save("output.pptx", SaveFormat.Pptx); + pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Kann ich die Legende aktivieren, sodass das Diagramm automatisch Platz dafür reserviert, anstatt es zu überlagern?** + +Ja. Verwenden Sie den Nicht‑Overlay‑Modus ([Overlay](https://reference.aspose.com/slides/net/aspose.slides.charts/legend/overlay/) = `false`); in diesem Fall wird der Plot‑Bereich verkleinert, um die Legende aufzunehmen. + +**Kann ich mehrzeilige Legenden‑Beschriftungen erstellen?** + +Ja. Lange Beschriftungen umbrechen automatisch, wenn nicht genug Platz vorhanden ist; erzwungene Zeilenumbrüche werden über Zeilenumbruch‑Zeichen im Seriennamen unterstützt. + +**Wie bringe ich die Legende dazu, das Farbschema des Präsentationsthemas zu übernehmen?** + +Setzen Sie keine expliziten Farben/Füllungen/Schriften für die Legende oder deren Text. Sie erben dann vom Theme und werden bei einer Design‑Änderung korrekt aktualisiert. \ No newline at end of file diff --git a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index 72a5b34e7a..71bddc3e46 100644 --- a/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/de/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,23 +1,22 @@ --- -title: Diagramm Plotbereich +title: Diagramm-Plot-Bereich type: docs url: /de/net/chart-plot-area/ -keywords: "Diagramm Plotbereich PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" -description: "Erhalten Sie Breite, Höhe des Diagramm-Plotbereichs. Legen Sie den Layoutmodus fest. PowerPoint-Präsentation in C# oder .NET" +keywords: "Diagramm-Plot-Bereich PowerPoint-Präsentation, C#, Csharp, Aspose.Slides für .NET" +description: "Breite und Höhe des Diagramm-Plot-Bereichs ermitteln. Layout-Modus festlegen. PowerPoint-Präsentation in C# oder .NET" --- -## **Erhalten Sie Breite, Höhe des Diagramm-Plotbereichs** -Aspose.Slides für .NET bietet eine einfache API für .  - -1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/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 tatsächlichen Werte zu erhalten. -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-Plot-Bereichs ermitteln** +Aspose.Slides für .NET bietet eine einfache API für . +1. Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) Klasse. +2. Greifen Sie auf die erste Folie zu. +3. Fügen Sie ein Diagramm mit Standarddaten hinzu. +4. Rufen Sie die Methode IChart.ValidateChartLayout() auf, um die tatsächlichen Werte zu erhalten. +5. Ermittelt die tatsächliche X-Position (links) des Diagrammelements relativ zur linken oberen Ecke des Diagramms. +6. Ermittelt das tatsächliche obere Ende des Diagrammelements relativ zur linken oberen Ecke des Diagramms. +7. Ermittelt die tatsächliche Breite des Diagrammelements. +8. Ermittelt die tatsächliche Höhe des Diagrammelements. ```c# using (Presentation pres = new Presentation("test.Pptx")) { @@ -37,14 +36,14 @@ using (Presentation pres = new Presentation("test.Pptx")) -## **Legen Sie den Layoutmodus des Diagramm-Plotbereichs fest** -Aspose.Slides für .NET bietet eine einfache API, um den Layoutmodus des Diagramm-Plotbereichs 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 innen (ohne Achsen und Achsenbeschriftungen) oder außen (einschließlich Achsen und Achsenbeschriftungen) angeordnet 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 bestimmen soll, ohne die Markierungen und Achsenbeschriftungen. -- **LayoutTargetType.Outer** - gibt an, dass die Größe des Plotbereichs die Größe des Plotbereichs, die Markierungen und die Achsenbeschriftungen bestimmen soll. +## **Layout-Modus des Diagramm-Plot-Bereichs festlegen** +Aspose.Slides für .NET bietet eine einfache API zum Festlegen des Layout-Modus des Diagramm-Plot-Bereichs. Die Eigenschaft **LayoutTargetType** wurde zu den Klassen **ChartPlotArea** und **IChartPlotArea** hinzugefügt. Wenn das Layout des Plot-Bereichs manuell definiert wird, gibt diese Eigenschaft an, ob der Plot-Bereich nach seinem Inneren (ohne Achsen und Achsenbeschriftungen) oder nach außen (mit Achsen und Achsenbeschriftungen) positioniert werden soll. Es gibt zwei mögliche Werte, die im Enum **LayoutTargetType** definiert sind. -Ein Beispielcode wird unten angegeben. +- **LayoutTargetType.Inner** – gibt an, dass die Größe des Plot-Bereichs die Größe des Plot-Bereichs bestimmt, ohne die Tick-Markierungen und Achsenbeschriftungen. +- **LayoutTargetType.Outer** – gibt an, dass die Größe des Plot-Bereichs die Größe des Plot-Bereichs, die Tick-Markierungen und die Achsenbeschriftungen bestimmt. +Beispielcode ist unten angegeben. ```c# using (Presentation presentation = new Presentation()) { @@ -58,4 +57,23 @@ using (Presentation presentation = new Presentation()) presentation.Save("SetLayoutMode_outer.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**In welchen Einheiten werden ActualX, ActualY, ActualWidth und ActualHeight zurückgegeben?** + +In Punkten; 1 Zoll = 72 Punkte. Das sind die Koordinateneinheiten von Aspose.Slides. + +**Wie unterscheidet sich der Plot-Bereich vom Diagrammbereich in Bezug auf den Inhalt?** + +Der Plot-Bereich ist der Datenzeichnungsbereich (Serien, Gitternetzlinien, Trendlinien usw.); der Diagrammbereich umfasst die umliegenden Elemente (Titel, Legende usw.). In 3D-Diagrammen enthält der Plot-Bereich außerdem die Wände/Boden und die Achsen. + +**Wie werden die X-, Y-, Breiten- und Höhenwerte 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 hat sich die Position des Plot-Bereichs nach dem Hinzufügen/Bewegen der Legende geändert?** + +Die Legende befindet sich im Diagrammbereich außerhalb des Plot-Bereichs, beeinflusst jedoch das Layout und den verfügbaren Raum, so dass 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/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..57f6b02203 --- /dev/null +++ b/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,199 @@ +--- +title: "Automatisierung der PowerPoint-Erstellung in .NET: Dynamische Präsentationen einfach erstellen" +linktitle: "Automatisierung der PowerPoint-Erstellung" +type: docs +weight: 20 +url: /de/net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- Cloud-Plattformen +- PowerPoint-Generierung automatisieren +- Präsentationen programmgesteuert erzeugen +- PowerPoint-Automatisierung +- dynamische Folienerstellung +- automatisierte Geschäftsberichte +- PPT-Automatisierung +- .NET Präsentation +- C# +- Aspose.Slides +description: "Automatisieren Sie die Folienerstellung auf Cloud-Plattformen mit Aspose.Slides für .NET – erstellen, bearbeiten und konvertieren Sie PowerPoint- und OpenDocument-Dateien schnell und zuverlässig." +--- + +## **Einleitung** + +Das manuelle Erstellen von PowerPoint‑Präsentationen kann zeitaufwändig und repetitiv sein – besonders wenn der Inhalt auf dynamischen Daten basiert, die sich häufig ändern. Ob wöchentliche Geschäftsberichte, das Zusammenstellen von Lehrmaterial oder die Erstellung verkaufsfertiger Kundenpräsentationen – Automatisierung kann unzählige Stunden sparen und für Konsistenz in Teams sorgen. + +Für .NET‑Entwickler eröffnet die Automatisierung der PowerPoint‑Erstellung leistungsstarke Möglichkeiten. Sie können die Foliengenerierung in Web‑Portale, Desktop‑Tools, Backend‑Dienste oder Cloud‑Plattformen integrieren, um Daten dynamisch in professionelle, gebrandete Präsentationen – on‑demand – zu verwandeln. + +In diesem Artikel untersuchen wir die gängigen Anwendungsfälle für automatisierte PowerPoint‑Generierung in .NET‑Apps (einschließlich Deployments auf Cloud‑Plattformen) und warum sie zu einer unverzichtbaren Funktion moderner Lösungen wird. Vom Abrufen von Echtzeit‑Geschäftsdaten bis hin zur Umwandlung von Text oder Bildern in Folien besteht das Ziel darin, Rohinhalt in strukturierte, visuelle Formate zu transformieren, die Ihr Publikum sofort versteht. + +## **Gängige Anwendungsfälle für PowerPoint‑Automatisierung in .NET** + +Die Automatisierung der PowerPoint‑Erstellung ist besonders nützlich in Szenarien, in denen Präsentationsinhalte dynamisch zusammengestellt, personalisiert oder häufig aktualisiert werden müssen. Zu den häufigsten realen Anwendungsfällen gehören: + +- **Geschäftsberichte & Dashboards** + Erstellen Sie Verkaufs‑Zusammenfassungen, KPIs oder Finanz‑Performance‑Berichte, indem Sie Live‑Daten aus Datenbanken oder APIs abrufen. + +- **Personalisierte Vertriebs‑ & Marketing‑Decks** + Generieren Sie automatisch kundenspezifische Pitch‑Decks anhand von CRM‑ oder Formulardaten und gewährleisten Sie schnelle Bearbeitungszeiten sowie Marken‑Konsistenz. + +- **Bildungsinhalte** + Wandeln Sie Lernmaterial, Quizze oder Kurs‑Zusammenfassungen in strukturierte Folien‑Decks für E‑Learning‑Plattformen um. + +- **Daten‑ & KI‑gestützte Erkenntnisse** + Nutzen Sie Natural‑Language‑Processing‑ oder Analyse‑Engines, um Rohdaten bzw. lange Texte in zusammengefasste Präsentationen zu verwandeln. + +- **Medienbasierte Folien** + Stellen Sie Präsentationen aus hochgeladenen Bildern, annotierten Screenshots oder Video‑Keyframes mit begleitenden Beschreibungen zusammen. + +- **Dokumentenkonvertierung** + Konvertieren Sie automatisch Word‑Dokumente, PDFs oder Formulareingaben in visuelle Präsentationen mit minimalem manuellen Aufwand. + +- **Entwickler‑ und Technische Werkzeuge** + Erstellen Sie Tech‑Demos, Dokumentations‑Übersichten oder Changelogs im Folienformat direkt aus Code‑ oder Markdown‑Inhalten. + +Durch die Automatisierung dieser Workflows können Unternehmen die Inhaltserstellung skalieren, Konsistenz wahren und Zeit für strategischere Aufgaben freimachen. + +## **Let's Code** + +Für dieses Beispiel haben wir **[Aspose.Slides für .NET](https://products.aspose.com/slides/net)** gewählt, um die PowerPoint‑Automatisierung aufgrund seines umfassenden Funktionsumfangs und der einfachen Handhabung bei der programmgesteuerten Arbeit mit Präsentationen zu demonstrieren. + +Im Gegensatz zu niedrigstufigen Bibliotheken wie dem **[Open XML SDK](https://github.com/dotnet/Open-XML-SDK)**, die Entwickler zwingen, direkt mit der Open‑XML‑Struktur zu arbeiten (was oft zu verbosem und weniger lesbarem Code führt), bietet Aspose.Slides eine höherwertige API. Sie abstrahiert die Komplexität und ermöglicht es Entwicklern, sich auf die Präsentationslogik – wie Layout, Formatierung und Datenbindung – zu konzentrieren, ohne das PowerPoint‑Dateiformat im Detail verstehen zu müssen. + +Obwohl Aspose.Slides eine kommerzielle Bibliothek ist, bietet sie eine [kostenlose Testversion](https://releases.aspose.com/slides/net/) an, die vollständig in der Lage ist, die in diesem Artikel gezeigten Beispiele auszuführen. Für Demonstrationszwecke, das Testen von Funktionen oder den Aufbau eines Proof‑of‑Concepts, wie wir es hier tun, ist die Testversion völlig ausreichend. Das macht sie zu einer praktischen Option, um mit automatisierter PowerPoint‑Erstellung zu experimentieren, ohne sofort eine Lizenz erwerben zu müssen. +Für diejenigen, die nach Open‑Source‑ oder lizenzfreien Alternativen suchen, sind Bibliotheken wie Open XML SDK oder **[NPOI](https://github.com/dotnetcore/NPOI)** einen Blick wert, obwohl sie häufig mehr Code und ein tieferes Verständnis des zugrunde liegenden Dateiformats erfordern. + +Ok, lassen Sie uns Schritt für Schritt ein Beispiel‑Präsentation mit realen Inhalten erstellen. + +Stellen Sie sicher, dass Sie vor Beginn einen Verweis auf das Aspose.Slides‑NuGet‑Paket hinzugefügt haben: +```sh +dotnet add package Aspose.Slides.NET +``` + + +### **Erstelle eine Titelfolie** + +Wir beginnen mit dem Erstellen einer neuen Präsentation und dem Hinzufügen einer Titelfolie mit Hauptüberschrift und Untertitel. +```cs +using var presentation = new Presentation(); + +var slide0 = presentation.Slides[0]; +slide0.LayoutSlide = presentation.LayoutSlides.GetByType(SlideLayoutType.Title); + +var titleShape = slide0.Shapes[0] as IAutoShape; +var subtitleShape = slide0.Shapes[1] as IAutoShape; + +titleShape.TextFrame.Text = "Quarterly Business Review – Q1 2025"; +subtitleShape.TextFrame.Text = "Prepared for Executive Team"; +``` + + +![The title slide](slide_0.png) + +### **Folie mit einem Säulendiagramm hinzufügen** + +Als nächstes erstellen wir eine Folie, die die regionale Verkaufsperformance als Säulendiagramm zeigt. +```cs +var layoutSlide1 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide1 = presentation.Slides.AddEmptySlide(layoutSlide1); + +var chart = slide1.Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.Legend.Position = LegendPositionType.Bottom; +chart.HasTitle = true; +chart.ChartTitle.AddTextFrameForOverriding("Data from January – March 2025"); +chart.ChartTitle.Overlay = false; + +var workbook = chart.ChartData.ChartDataWorkbook; +var worksheetIndex = 0; + +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 1, 0, "North America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 2, 0, "Europe")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 4, 0, "Latin America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 5, 0, "Middle East")); + +var series = chart.ChartData.Series.Add(workbook.GetCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.Type); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 1, 1, 480)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 2, 1, 365)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 3, 1, 290)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 4, 1, 150)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 5, 1, 120)); +``` + + +![The slide with the chart](slide_1.png) + +### **Folie mit einer Tabelle hinzufügen** + +Jetzt fügen wir eine Folie hinzu, die wichtige Leistungskennzahlen im Tabellenformat präsentiert. +```cs +var layoutSlide2 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide2 = presentation.Slides.AddEmptySlide(layoutSlide2); + +var columnWidths = new double[] { 200, 100 }; +var rowHeights = new double[] { 40, 40, 40, 40, 40 }; + +var table = slide2.Shapes.AddTable(200, 200, columnWidths, rowHeights); +table[0, 0].TextFrame.Text = "Metric"; +table[1, 0].TextFrame.Text = "Value"; +table[0, 1].TextFrame.Text = "Total Revenue"; +table[1, 1].TextFrame.Text = "$1.4M"; +table[0, 2].TextFrame.Text = "Gross Margin"; +table[1, 2].TextFrame.Text = "54%"; +table[0, 3].TextFrame.Text = "New Customers"; +table[1, 3].TextFrame.Text = "340"; +table[0, 4].TextFrame.Text = "Customer Retention"; +table[1, 4].TextFrame.Text = "87%"; +``` + + +![The slide with the table](slide_2.png) + +### **Zusammenfassungsfolie mit Aufzählungspunkten hinzufügen** + +Abschließend ergänzen wir eine Zusammenfassung und einen Aktionsplan mittels einer einfachen Aufzählungsliste. +```cs +IParagraph CreateBulletParagraph(string text) +{ + var paragraph = new Paragraph(); + paragraph.ParagraphFormat.Bullet.Type = BulletType.Symbol; + paragraph.ParagraphFormat.Indent = 15; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.Text = text; + return paragraph; +} +``` + +```cs +var layoutSlide3 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide3 = presentation.Slides.AddEmptySlide(layoutSlide3); + +var bulletList = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.FillFormat.FillType = FillType.NoFill; +bulletList.LineFormat.FillFormat.FillType = FillType.NoFill; + +bulletList.TextFrame.Paragraphs.Clear(); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Schedule follow-up review in early July")); +``` + + +![The slide with the text](slide_3.png) + +### **Präsentation speichern** + +Zum Schluss speichern wir die Präsentation auf dem Datenträger: +```cs +presentation.Save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Fazit** + +Die Automatisierung der PowerPoint‑Erstellung in .NET‑Anwendungen bietet klare Vorteile: Zeitersparnis und Reduzierung manueller Arbeit. Durch die Integration dynamischer Inhalte wie Diagrammen, Tabellen und Text können Entwickler schnell konsistente, professionelle Präsentationen erzeugen – ideal für Geschäftsberichte, Kundentreffen oder Bildungsinhalte. + +In diesem Artikel haben wir gezeigt, wie man von Grund auf eine Präsentation automatisiert erstellt, einschließlich Titel‑Folie, Diagrammen und Tabellen. Dieser Ansatz lässt sich auf zahlreiche Anwendungsfälle übertragen, bei denen automatisierte, datengetriebene Präsentationen benötigt werden. + +Durch den Einsatz der richtigen Werkzeuge können .NET‑Entwickler die PowerPoint‑Erstellung effizient automatisieren, die Produktivität steigern und Konsistenz über alle Präsentationen hinweg gewährleisten. \ No newline at end of file diff --git a/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/de/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..7b38aea4dc --- /dev/null +++ b/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "Automatisierung der PowerPoint-Erstellung in JavaScript: Dynamische Präsentationen einfach erstellen" +linktitle: Automatisierung der PowerPoint-Erstellung +type: docs +weight: 20 +url: /de/nodejs-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- Cloud-Plattformen +- PowerPoint-Erstellung automatisieren +- Präsentationen programmatisch erzeugen +- PowerPoint-Automatisierung +- Dynamische Folienerstellung +- automatisierte Geschäftsberichte +- PPT-Automatisierung +- JavaScript-Präsentation +- Node.js +- JavaScript +- Aspose.Slides +description: "Automatisieren Sie die Folienerstellung auf Cloud-Plattformen mit Aspose.Slides für Node.js – schnell und zuverlässig PowerPoint- und OpenDocument-Dateien erzeugen, bearbeiten und konvertieren." +--- + +## **Einleitung** + +Das manuelle Erstellen von PowerPoint‑Präsentationen kann zeitintensiv und wiederholend sein – besonders wenn der Inhalt auf dynamischen Daten basiert, die sich häufig ändern. Ob wöchentliche Geschäftsberichte, Unterrichtsmaterialien oder verkaufsfähige Decks für Kunden – Automatisierung spart unzählige Stunden und sorgt für Konsistenz im Team. + +Für Node.js‑Entwickler eröffnet die Automatisierung der PowerPoint‑Erstellung leistungsstarke Möglichkeiten. Sie können die Foliengenerierung in Webportale, Desktop‑Tools, Backend‑Dienste oder Cloud‑Plattformen integrieren, um Daten dynamisch in professionelle, gebrandete Präsentationen umzuwandeln – on‑demand. + +In diesem Artikel untersuchen wir die gängigen Anwendungsfälle für automatisierte PowerPoint‑Generierung in Node.js‑Apps (einschließlich Cloud‑Deployments) und warum sie zu einem unverzichtbaren Feature moderner Lösungen wird. Vom Abrufen von Echtzeit‑Geschäftsdaten bis zum Konvertieren von Text oder Bildern in Folien – das Ziel ist, Rohinhalt in strukturierte, visuelle Formate zu verwandeln, die das Publikum sofort versteht. + +## **Häufige Anwendungsfälle für PowerPoint‑Automatisierung in JavaScript** + +Die Automatisierung der PowerPoint‑Erstellung ist besonders nützlich, wenn Präsentationsinhalte dynamisch zusammengestellt, personalisiert oder häufig aktualisiert werden müssen. Zu den gängigsten realen Anwendungsfällen gehören: + +- **Geschäftsberichte & Dashboards** + Generieren von Verkaufszusammenfassungen, KPIs oder Finanzberichten, indem Live‑Daten aus Datenbanken oder APIs gezogen werden. + +- **Personalisierte Verkaufs‑ & Marketing‑Decks** + Automatisches Erstellen von kundenspezifischen Pitch‑Decks mithilfe von CRM‑ oder Formulardaten, was schnelle Lieferzeiten und Marken‑Konsistenz sichert. + +- **Bildungsinhalte** + Umwandeln von Lernmaterial, Quiz‑ oder Kurszusammenfassungen in strukturierte Folien für E‑Learning‑Plattformen. + +- **Daten‑ & KI‑gestützte Einblicke** + Einsatz von Natural‑Language‑Processing‑ oder Analyse‑Engines, um Rohdaten oder lange Texte in zusammengefasste Präsentationen zu verwandeln. + +- **Medienbasierte Folien** + Zusammenstellen von Präsentationen aus hochgeladenen Bildern, annotierten Screenshots oder Video‑Keyframes mit begleitenden Beschreibungen. + +- **Dokumentkonvertierung** + Automatisches Konvertieren von Word‑Dokumenten, PDFs oder Formulareingaben in visuelle Präsentationen mit minimalem manuellem Aufwand. + +- **Entwickler‑ und technische Werkzeuge** + Erstellen von technischen Demos, Dokumentations‑Übersichten oder Changelogs im Folienformat direkt aus Code‑ oder Markdown‑Inhalten. + +Durch die Automatisierung dieser Workflows können Unternehmen die Erstellung von Inhalten skalieren, Konsistenz wahren und Zeit für strategischere Aufgaben freisetzen. + +## **Lass uns coden** + +Für dieses Beispiel haben wir **[Aspose.Slides for Node.js](https://products.aspose.com/slides/nodejs-java/)** gewählt, um die PowerPoint‑Automatisierung zu demonstrieren, weil es einen umfassenden Funktionsumfang und eine einfache Handhabung bei der programmatischen Arbeit mit Präsentationen bietet. + +Im Gegensatz zu niedrig‑level‑Bibliotheken, die Entwickler zwingt, direkt mit der Open‑XML‑Struktur zu arbeiten (oft mit sehr umfangreichem und schwer lesbarem Code), stellt Aspose.Slides eine höher‑level‑API bereit. Sie abstrahiert die Komplexität, sodass Entwickler sich auf die Präsentations‑Logik konzentrieren können – wie Layout, Formatierung und Datenbindung – ohne das PowerPoint‑Dateiformat im Detail verstehen zu müssen. + +Obwohl Aspose.Slides eine kommerzielle Bibliothek ist, bietet sie eine [Kostenlose Testversion](https://releases.aspose.com/slides/nodejs-java/), die voll funktionsfähig ist und die in diesem Artikel gezeigten Beispiele ausführen kann. Für Demonstrationszwecke, das Testen von Features oder den Aufbau eines Proof‑of‑Concepts, wie wir es hier tun, ist die Testversion mehr als ausreichend. Das macht sie zu einer praktischen Option, um mit automatisierter PowerPoint‑Erstellung zu experimentieren, ohne sofort eine Lizenz erwerben zu müssen. + +Ok, lass uns Schritt für Schritt eine Beispiel‑Präsentation mit realen Inhalten erstellen. + +### **Erstelle eine Titelfolie** + +Wir beginnen damit, eine neue Präsentation zu erzeugen und eine Titelfolie mit Hauptüberschrift und Untertitel hinzuzufügen. +```js +let presentation = new aspose.slides.Presentation(); + +let slide0 = presentation.getSlides().get_Item(0); + +let layoutSlide = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Title)); +slide0.setLayoutSlide(layoutSlide); + +let titleShape = slide0.getShapes().get_Item(0); +let subtitleShape = slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![The title slide](slide_0.png) + +### **Füge eine Folie mit einem Säulendiagramm hinzu** + +Als nächstes erstellen wir eine Folie, die die regionale Verkaufsleistung als Säulendiagramm zeigt. +```js +let layoutSlide1 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +let chart = slide1.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(aspose.slides.LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +let workbook = chart.getChartData().getChartDataWorkbook(); +let worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +let series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![The slide with the chart](slide_1.png) + +### **Füge eine Folie mit einer Tabelle hinzu** + +Jetzt fügen wir eine Folie hinzu, die wichtige Leistungskennzahlen im Tabellenformat präsentiert. +```js +let layoutSlide2 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +let columnWidths = java.newArray("double", [200, 100]); +let rowHeights = java.newArray("double", [40, 40, 40, 40, 40]); + +let table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![The slide with the table](slide_2.png) + +### **Füge eine Zusammenfassungsfolie mit Aufzählungspunkten hinzu** + +Abschließend ergänzen wir eine Zusammenfassung und einen Aktionsplan mittels einfacher Aufzählungsliste. +```js +function createBulletParagraph(text) { + let paragraph = new aspose.slides.Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(java.newByte(aspose.slides.BulletType.Symbol)); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid)); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLACK")); + paragraph.setText(text); + return paragraph; +} +``` + +```js +let layoutSlide3 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +let bulletList = slide3.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); +bulletList.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![The slide with the text](slide_3.png) + +### **Speichere die Präsentation** + +Zum Schluss speichern wir die Präsentation auf dem Datenträger: +```js +presentation.save("presentation.pptx", aspose.slides.SaveFormat.Pptx); +``` + + +## **Fazit** + +Die Automatisierung der PowerPoint‑Erstellung in Node.js‑Anwendungen bietet klare Vorteile: Zeitersparnis und Reduzierung manueller Arbeit. Durch die Integration dynamischer Inhalte wie Diagramme, Tabellen und Text können Entwickler schnell konsistente, professionelle Präsentationen erzeugen – ideal für Geschäftsberichte, Kundentreffen oder Bildungsinhalte. + +In diesem Artikel haben wir gezeigt, wie man von Grund auf eine Präsentation automatisiert erstellt, einschließlich Titelfolie, Diagrammen und Tabellen. Dieser Ansatz lässt sich auf zahlreiche Anwendungsfälle übertragen, bei denen automatisierte, datengetriebene Präsentationen benötigt werden. + +Durch den Einsatz der richtigen Werkzeuge können Node.js‑Entwickler die PowerPoint‑Erstellung effizient automatisieren, die Produktivität steigern und Konsistenz über alle Präsentationen hinweg sicherstellen. \ No newline at end of file diff --git a/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/de/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..d3e6b895b4 --- /dev/null +++ b/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Automatisierung der PowerPoint-Erstellung in PHP: Dynamische Präsentationen einfach erstellen" +linktitle: Automatisierung der PowerPoint-Erstellung +type: docs +weight: 20 +url: /de/php-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- Cloud-Plattformen +- PowerPoint-Erstellung automatisieren +- Präsentationen programmatisch erzeugen +- PowerPoint-Automatisierung +- Dynamische Folienerstellung +- Automatisierte Geschäftsberichte +- PPT-Automatisierung +- PHP-Präsentation +- PHP +- Aspose.Slides +description: "Automatisieren Sie die Folienerstellung auf Cloud-Plattformen mit Aspose.Slides für PHP – erstellen, bearbeiten und konvertieren Sie PowerPoint- und OpenDocument-Dateien schnell und zuverlässig." +--- + +## **Einführung** + +Das manuelle Erstellen von PowerPoint‑Präsentationen kann zeitaufwändig und wiederholend sein – besonders wenn der Inhalt auf dynamischen Daten basiert, die sich häufig ändern. Egal, ob wöchentliche Geschäftsberichte erstellt, Lehrmaterial zusammengestellt oder verkaufsfertige Präsentationen für Kunden produziert werden, Automatisierung kann unzählige Stunden sparen und Konsistenz über Teams hinweg gewährleisten. + +Für PHP‑Entwickler eröffnet die Automatisierung der Erstellung von PowerPoint‑Präsentationen leistungsstarke Möglichkeiten. Sie können die Folienerstellung in Web‑Portale, Desktop‑Tools, Backend‑Dienste oder Cloud‑Plattformen integrieren, um Daten dynamisch in professionelle, gebrandete Präsentationen – auf Abruf – zu konvertieren. + +In diesem Artikel untersuchen wir die gängigen Anwendungsfälle für automatisierte PowerPoint‑Generierung in PHP‑Apps (einschließlich Deployments auf Cloud‑Plattformen) und warum sie zu einer unverzichtbaren Funktion moderner Lösungen wird. Vom Abrufen von Echtzeit‑Geschäftsdaten bis zum Konvertieren von Text oder Bildern in Folien besteht das Ziel darin, Rohinhalt in strukturierte, visuelle Formate zu verwandeln, die Ihr Publikum sofort versteht. + +## **Gängige Anwendungsfälle für PowerPoint‑Automatisierung in PHP** + +Die Automatisierung der PowerPoint‑Erstellung ist besonders nützlich in Szenarien, in denen Präsentationsinhalte dynamisch zusammengestellt, personalisiert oder häufig aktualisiert werden müssen. Zu den häufigsten praxisbezogenen Anwendungsfällen zählen: + +- **Geschäftsberichte & Dashboards** + Generieren Sie Verkaufszusammenfassungen, KPIs oder Finanzleistungsberichte, indem Sie Live‑Daten aus Datenbanken oder APIs abrufen. + +- **Personalisierte Verkaufs‑ & Marketing‑Decks** + Erstellen Sie automatisch kundenspezifische Pitch‑Decks mithilfe von CRM‑ oder Formulardaten, um schnelle Durchlaufzeiten und Marken‑Konsistenz zu gewährleisten. + +- **Bildungsinhalte** + Wandeln Sie Lernmaterial, Quizze oder Kurszusammenfassungen in strukturierte Folien für E‑Learning‑Plattformen um. + +- **Daten‑ & KI‑gestützte Erkenntnisse** + Nutzen Sie Natural‑Language‑Processing‑ oder Analyse‑Engines, um Rohdaten oder Langtexte in zusammengefasste Präsentationen zu transformieren. + +- **Medienbasierte Folien** + Stellen Sie Präsentationen aus hochgeladenen Bildern, annotierten Screenshots oder Video‑Keyframes mit begleitenden Beschreibungen zusammen. + +- **Dokumentkonvertierung** + Konvertieren Sie automatisch Word‑Dokumente, PDFs oder Formulareingaben in visuelle Präsentationen mit minimalem manuellem Aufwand. + +- **Entwickler‑ & Technik‑Tools** + Erzeugen Sie Tech‑Demos, Dokumentations‑Übersichten oder Changelogs im Folienformat direkt aus Code oder Markdown‑Inhalten. + +Durch die Automatisierung dieser Workflows können Unternehmen ihre Inhaltserstellung skalieren, Konsistenz wahren und Zeit für strategischere Aufgaben freisetzen. + +## **Lass uns programmieren** + +Für dieses Beispiel haben wir **[Aspose.Slides for PHP](https://products.aspose.com/slides/php-java/)** gewählt, um die PowerPoint‑Automatisierung zu demonstrieren, da es über einen umfassenden Funktionsumfang und eine einfache Handhabung bei der programmatischen Arbeit mit Präsentationen verfügt. + +Im Gegensatz zu Low‑Level‑Bibliotheken, die Entwickler dazu zwingen, direkt mit der Open‑XML‑Struktur zu arbeiten (was häufig zu umständlichem und schwer lesbarem Code führt), bietet Aspose.Slides eine höherwertige API. Sie abstrahiert die Komplexität, sodass Entwickler sich auf die Präsentationslogik – wie Layout, Formatierung und Datenbindung – konzentrieren können, ohne das PowerPoint‑Dateiformat im Detail verstehen zu müssen. + +Obwohl Aspose.Slides eine kommerzielle Bibliothek ist, bietet sie eine [Kostenlose Testversion](https://releases.aspose.com/slides/php-java/), die voll funktionsfähig ist, um die in diesem Artikel gezeigten Beispiele auszuführen. Für die Demonstration von Ideen, das Testen von Features oder den Aufbau eines Proof‑of‑Concepts, wie wir es hier tun, ist die Testversion mehr als ausreichend. Das macht sie zu einer praktischen Option, um mit automatisierter PowerPoint‑Generierung zu experimentieren, ohne sofort eine Lizenz erwerben zu müssen. + +Okay, lassen Sie uns Schritt für Schritt eine Beispielpräsentation mit realen Inhalten erstellen. + +### **Erstelle eine Titelfolie** + +Wir beginnen mit dem Erzeugen einer neuen Präsentation und dem Hinzufügen einer Titelfolie mit Hauptüberschrift und Untertitel. +```php +$presentation = new Presentation(); + +$slide0 = $presentation->getSlides()->get_Item(0); + +$layoutSlide = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Title); +$slide0->setLayoutSlide($layoutSlide); + +$titleShape = $slide0->getShapes()->get_Item(0); +$subtitleShape = $slide0->getShapes()->get_Item(1); + +$titleShape->getTextFrame()->setText("Quarterly Business Review – Q1 2025"); +$subtitleShape->getTextFrame()->setText("Prepared for Executive Team"); +``` + + +![Die Titelfolie](slide_0.png) + +### **Füge eine Folie mit einem Säulendiagramm hinzu** + +Als Nächstes erstellen wir eine Folie, die die regionale Verkaufsleistung als Säulendiagramm zeigt. +```php +$layoutSlide1 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide1 = $presentation->getSlides()->addEmptySlide($layoutSlide1); + +$chart = $slide1->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +$chart->getLegend()->setPosition(LegendPositionType::Bottom); +$chart->setTitle(true); +$chart->getChartTitle()->addTextFrameForOverriding("Data from January – March 2025"); +$chart->getChartTitle()->setOverlay(false); + +$workbook = $chart->getChartData()->getChartDataWorkbook(); +$worksheetIndex = 0; + +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 1, 0, "North America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 2, 0, "Europe")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 3, 0, "Asia Pacific")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 4, 0, "Latin America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 5, 0, "Middle East")); + +$series = $chart->getChartData()->getSeries()->add($workbook->getCell($worksheetIndex, 0, 1, "Sales (\$K)"), $chart->getType()); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 1, 1, 480)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 2, 1, 365)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 3, 1, 290)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 4, 1, 150)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 5, 1, 120)); +``` + + +![Die Folie mit dem Diagramm](slide_1.png) + +### **Füge eine Folie mit einer Tabelle hinzu** + +Jetzt fügen wir eine Folie hinzu, die wichtige Leistungskennzahlen im Tabellenformat präsentiert. +```php +$layoutSlide2 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide2 = $presentation->getSlides()->addEmptySlide($layoutSlide2); + +$columnWidths = [200, 100]; +$rowHeights = [40, 40, 40, 40, 40]; + +$table = $slide2->getShapes()->addTable(200, 200, $columnWidths, $rowHeights); +$table->getColumns()->get_Item(0)->get_Item(0)->getTextFrame()->setText("Metric"); +$table->getColumns()->get_Item(1)->get_Item(0)->getTextFrame()->setText("Value"); +$table->getColumns()->get_Item(0)->get_Item(1)->getTextFrame()->setText("Total Revenue"); +$table->getColumns()->get_Item(1)->get_Item(1)->getTextFrame()->setText("\$1.4M"); +$table->getColumns()->get_Item(0)->get_Item(2)->getTextFrame()->setText("Gross Margin"); +$table->getColumns()->get_Item(1)->get_Item(2)->getTextFrame()->setText("54%"); +$table->getColumns()->get_Item(0)->get_Item(3)->getTextFrame()->setText("New Customers"); +$table->getColumns()->get_Item(1)->get_Item(3)->getTextFrame()->setText("340"); +$table->getColumns()->get_Item(0)->get_Item(4)->getTextFrame()->setText("Customer Retention"); +$table->getColumns()->get_Item(1)->get_Item(4)->getTextFrame()->setText("87%"); +``` + + +![Die Folie mit der Tabelle](slide_2.png) + +### **Füge eine Zusammenfassungsfolie mit Aufzählungspunkten hinzu** + +Abschließend ergänzen wir eine Zusammenfassung und einen Aktionsplan mittels einer einfachen Aufzählungsliste. +```php +function createBulletParagraph($text) { + $paragraph = new Paragraph(); + $paragraph->getParagraphFormat()->getBullet()->setType(BulletType::Symbol); + $paragraph->getParagraphFormat()->setIndent(15); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK); + $paragraph->setText($text); + return $paragraph; +} +``` + +```php +$layoutSlide3 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide3 = $presentation->getSlides()->addEmptySlide($layoutSlide3); + +$bulletList = $slide3->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +$bulletList->getFillFormat()->setFillType(FillType::NoFill); +$bulletList->getLineFormat()->getFillFormat()->setFillType(FillType::NoFill); + +$bulletList->getTextFrame()->getParagraphs()->clear(); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Prepare new campaign strategy for Q2")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![Die Folie mit dem Text](slide_3.png) + +### **Speichere die Präsentation** + +Zum Schluss speichern wir die Präsentation auf dem Datenträger: +```php +$presentation->save("presentation.pptx", SaveFormat::Pptx); +``` + + +## **Fazit** + +Die Automatisierung der PowerPoint‑Erstellung in PHP‑Anwendungen bringt klare Vorteile: Zeitersparnis und Reduzierung manueller Arbeit. Durch die Integration dynamischer Inhalte wie Diagramme, Tabellen und Texte können Entwickler schnell konsistente, professionelle Präsentationen erzeugen – ideal für Geschäftsberichte, Kundentreffen oder Bildungsinhalte. + +In diesem Artikel haben wir gezeigt, wie man von Grund auf eine Präsentation automatisiert erstellt, einschließlich Titelfolie, Diagrammen und Tabellen. Dieser Ansatz lässt sich auf zahlreiche Anwendungsfälle übertragen, in denen automatisierte, datengetriebene Präsentationen benötigt werden. + +Durch den Einsatz der richtigen Werkzeuge können PHP‑Entwickler die PowerPoint‑Erstellung effizient automatisieren, die Produktivität steigern und Konsistenz über alle Präsentationen hinweg gewährleisten. \ No newline at end of file diff --git a/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/de/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index 10f7e3a12e..e9ba933889 100644 --- a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -22,65 +22,65 @@ keywords: - PPTX als HTML speichern - Python - Aspose.Slides -description: "PowerPoint-Präsentationen in responsives HTML mit Python konvertieren. Layout, Links und Bilder mit dem Aspose.Slides-Konvertierungsleitfaden erhalten für schnelle, fehlerfreie Ergebnisse." +description: "PowerPoint-Präsentationen in responsives HTML mit Python konvertieren. Layout, Links und Bilder mit dem Aspose.Slides-Konvertierungsleitfaden für schnelle, fehlerfreie Ergebnisse erhalten." --- ## **Übersicht** -Dieser Artikel erklärt, wie man PowerPoint‑Präsentationen mit Python in das HTML‑Format konvertiert. Er behandelt die folgenden Themen. +Dieser Artikel erklärt, wie Sie PowerPoint‑Präsentationen mit Python in das HTML‑Format konvertieren. Er behandelt die folgenden Themen. -- PowerPoint in HTML mit Python konvertieren -- PPT in HTML mit Python konvertieren -- PPTX in HTML mit Python konvertieren -- ODP in HTML mit Python konvertieren -- PowerPoint‑Folie in HTML mit Python konvertieren +- PowerPoint nach HTML in Python konvertieren +- PPT nach HTML in Python konvertieren +- PPTX nach HTML in Python konvertieren +- ODP nach HTML in Python konvertieren +- PowerPoint‑Folien nach HTML in Python konvertieren -## **Python PowerPoint zu HTML** +## **Python PowerPoint nach HTML** -Den Python‑Beispielcode zum Konvertieren von PowerPoint zu HTML finden Sie im Abschnitt unten, d.h.[PowerPoint zu HTML konvertieren](#convert-powerpoint-to-html). Der Code kann verschiedene Formate wie PPT, PPTX und ODP im Presentation‑Objekt laden und sie im HTML‑Format speichern. +Für Beispielcode in Python zum Konvertieren von PowerPoint nach HTML siehe den untenstehenden Abschnitt, d. h. [Convert PowerPoint to HTML](#convert-powerpoint-to-html). Der Code kann verschiedene Formate wie PPT, PPTX und ODP in ein Presentation‑Objekt laden und es im HTML‑Format speichern. -## **Über die PowerPoint‑zu‑HTML‑Konvertierung** -Using [**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/), applications and developers can convert a PowerPoint presentation to HTML: **PPTX to HTML** or **PPT to HTML**. +## **Über PowerPoint‑zu‑HTML‑Konvertierung** +Mit [**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/) können Anwendungen und Entwickler eine PowerPoint‑Präsentation in HTML konvertieren: **PPTX nach HTML** oder **PPT nach HTML**. -**Aspose.Slides** provides many options (mostly from the [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) class) that define the PowerPoint to HTML conversion process: +**Aspose.Slides** bietet viele Optionen (hauptsächlich aus der Klasse [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/)), die den PowerPoint‑zu‑HTML‑Konvertierungsprozess definieren: -* Eine komplette PowerPoint‑Präsentation in HTML konvertieren. +* Eine gesamte PowerPoint‑Präsentation in HTML konvertieren. * Eine bestimmte Folie einer PowerPoint‑Präsentation in HTML konvertieren. * Präsentationsmedien (Bilder, Videos usw.) in HTML konvertieren. * Eine PowerPoint‑Präsentation in responsives HTML konvertieren. -* Eine PowerPoint‑Präsentation in HTML mit Sprecheranmerkungen ein‑ oder ausblenden. -* Eine PowerPoint‑Präsentation in HTML mit Kommentaren ein‑ oder ausblenden. -* Eine PowerPoint‑Präsentation in HTML mit Original‑ oder eingebetteten Schriftarten konvertieren. +* Eine PowerPoint‑Präsentation in HTML mit eingebetteten oder ausgeschlossenen Sprecher­notizen konvertieren. +* Eine PowerPoint‑Präsentation in HTML mit eingebetteten oder ausgeschlossenen Kommentaren konvertieren. +* Eine PowerPoint‑Präsentation in HTML mit originalen oder eingebetteten Schriftarten konvertieren. * Eine PowerPoint‑Präsentation in HTML konvertieren und dabei den neuen CSS‑Stil verwenden. {{% alert color="primary" %}} -Mit seiner eigenen API hat Aspose kostenlose [Präsentation zu HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html)-Konverter entwickelt: [PPT zu HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX zu HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP zu HTML](https://products.aspose.app/slides/conversion/odp-to-html), usw. +Mit ihrer eigenen API hat Aspose kostenlose [Präsentation‑zu‑HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html)‑Konverter entwickelt: [PPT nach HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX nach HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP nach HTML](https://products.aspose.app/slides/conversion/odp-to-html) usw. [![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) -Vielleicht möchten Sie sich auch andere [kostenlose Konverter von Aspose](https://products.aspose.app/slides/conversion) ansehen. +Vielleicht möchten Sie weitere [kostenlose Konverter von Aspose](https://products.aspose.app/slides/conversion) ansehen. {{% /alert %}} {{% alert title="Note" color="warning" %}} -Neben den hier beschriebenen Konvertierungsprozessen unterstützt Aspose.Slides diese Konvertierungsoperationen für das HTML‑Format: +Zusätzlich zu den hier beschriebenen Konvertierungsprozessen unterstützt Aspose.Slides auch folgende Konvertierungsoperationen im HTML‑Format: -* [HTML zu Bild](https://products.aspose.com/slides/python-net/conversion/html-to-image/) -* [HTML zu JPG](https://products.aspose.com/slides/python-net/conversion/html-to-jpg/) -* [HTML zu XML](https://products.aspose.com/slides/python-net/conversion/html-to-xml/) -* [HTML zu TIFF](https://products.aspose.com/slides/python-net/conversion/html-to-tiff/) +* [HTML nach Bild](https://products.aspose.com/slides/python-net/conversion/html-to-image/) +* [HTML nach JPG](https://products.aspose.com/slides/python-net/conversion/html-to-jpg/) +* [HTML nach XML](https://products.aspose.com/slides/python-net/conversion/html-to-xml/) +* [HTML nach TIFF](https://products.aspose.com/slides/python-net/conversion/html-to-tiff/) {{% /alert %}} -## **PowerPoint zu HTML konvertieren** -Using Aspose.Slides, you can convert an entire PowerPoint presentation to HTML this way: +## **PowerPoint nach HTML konvertieren** +Mit Aspose.Slides können Sie eine gesamte PowerPoint‑Präsentation wie folgt in HTML konvertieren: -1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). -1. Verwenden Sie die Methode [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/), um das Objekt als HTML‑Datei zu speichern. +1. Erstellen Sie eine Instanz der Klasse [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) +2. Verwenden Sie die [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Methode, um das Objekt als HTML‑Datei zu speichern. -This code shows you how to convert a PowerPoint to HTML in python: +Dieser Code zeigt, wie Sie ein PowerPoint in Python in HTML konvertieren: ```python import aspose.slides as slides @@ -97,9 +97,8 @@ pres.save("ConvertWholePresentationToHTML_out.html", slides.export.SaveFormat.HT ``` -## **PowerPoint zu Responsive HTML konvertieren** - -Aspose.Slides provides the [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) class that allows you to generate responsive HTML files. This code shows you how to convert a PowerPoint presentation to responsive HTML in python: +## **PowerPoint nach Responsive HTML konvertieren** +Aspose.Slides stellt die Klasse [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) bereit, mit der Sie responsive HTML‑Dateien erzeugen können. Dieser Code zeigt, wie Sie eine PowerPoint‑Präsentation in Python in responsive HTML konvertieren: ```py # Instanziieren Sie ein Presentation-Objekt, das eine Präsentationsdatei darstellt import aspose.slides as slides @@ -115,8 +114,8 @@ pres.save("ConvertPresentationToResponsiveHTML_out.html", slides.export.SaveForm ``` -## **PowerPoint zu HTML mit Notizen konvertieren** -This code shows you how to convert a PowerPoint to HTML with notes in python: +## **PowerPoint nach HTML mit Notizen konvertieren** +Dieser Code zeigt, wie Sie ein PowerPoint in Python mit Notizen in HTML konvertieren: ```py import aspose.slides as slides @@ -129,18 +128,18 @@ pres.save("Output.html", slides.export.SaveFormat.HTML, opt) ``` -## **PowerPoint zu HTML mit Original‑Schriftarten konvertieren** -Aspose.Slides provides the [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) class that allows you to embed all the fonts in a presentation while converting the presentation to HTML. +## **PowerPoint nach HTML mit Originalschriftarten konvertieren** +Aspose.Slides stellt die Klasse [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) bereit, mit der Sie beim Konvertieren einer Präsentation nach HTML alle Schriftarten einbetten können. -Um zu verhindern, dass bestimmte Schriftarten eingebettet werden, können Sie dem parametrisierten Konstruktor der [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) Klasse ein Array von Schriftartnamen übergeben. Populäre Schriftarten wie Calibri oder Arial müssen nicht eingebettet werden, weil die meisten Systeme sie bereits enthalten. Werden diese Schriftarten eingebettet, wird das resultierende HTML‑Dokument unnötig groß. +Um das Einbetten bestimmter Schriftarten zu verhindern, können Sie dem parametrisierten Konstruktor der Klasse [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) ein Array von Schriftartnamen übergeben. Populäre Schriftarten wie Calibri oder Arial müssen nicht eingebettet werden, wenn sie in einer Präsentation verwendet werden, da die meisten Systeme diese bereits enthalten. Werden diese Schriftarten eingebettet, wird das resultierende HTML‑Dokument unnötig groß. -Die [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) Klasse unterstützt Vererbung und stellt die Methode `WriteFont` bereit, die überschrieben werden soll. +Die Klasse [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) unterstützt Vererbung und stellt die Methode `WriteFont` bereit, die überschrieben werden kann. ```py import aspose.slides as slides pres = slides.Presentation("input.pptx") -# Standardpräsentationsschriftarten ausschließen +# Standard-Schriftarten der Präsentation ausschließen fontNameExcludeList = ["Calibri", "Arial"] htmlOptionsEmbed = slides.export.HtmlOptions() @@ -150,33 +149,33 @@ pres.save("input-PFDinDisplayPro-Regular-installed.html", slides.export.SaveForm ``` -## **Folie zu HTML konvertieren** -Convert a separate presentation slide to HTML. For that use the same [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) method exposed by the [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) class that is used to convert the whole PPT(X) presentation into a HTML document. The [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) class can be also used to set the additional conversion options: +## **Folien nach HTML konvertieren** +Konvertieren Sie eine einzelne Präsentationsfolie nach HTML. Verwenden Sie dafür dieselbe [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Methode, die von der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse bereitgestellt wird und zum Konvertieren der gesamten PPT(X)‑Präsentation in ein HTML‑Dokument verwendet wird. Die [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/)‑Klasse kann ebenfalls verwendet werden, um zusätzliche Konvertierungsoptionen festzulegen: ```py -# [TODO[not_supported_yet]: Python-Implementierung der .net-Schnittstelle] +# [TODO[not_supported_yet]: python-Implementierung der .net-Schnittstelle] ``` ## **CSS und Bilder beim Export nach HTML speichern** -Using new CSS style files, you can easily change the style of the HTML file resulting from the PowerPoint to HTML conversion process. +Mit neuen CSS‑Stildateien können Sie das Aussehen der aus dem PowerPoint‑zu‑HTML‑Konvertierungsprozess resultierenden HTML‑Datei einfach ändern. -The python code in this example shows you how to use overridable methods to create a custom HTML document with a link to a CSS file: +Der Python‑Code in diesem Beispiel zeigt, wie Sie überschreibbare Methoden verwenden, um ein benutzerdefiniertes HTML‑Dokument mit einem Verweis auf eine CSS‑Datei zu erstellen: ```py -# [TODO[not_supported_yet]: Python-Implementierung von .net-Schnittstellen] +# [TODO[not_supported_yet]: Python-Implementierung von .NET-Schnittstellen] ``` -## **Alle Schriftarten beim Konvertieren der Präsentation zu HTML verlinken** -If you do not want to embed fonts (to avoid increasing the size of the resulting HTML), you can link all fonts by implementing your own `LinkAllFontsHtmlController` version. +## **Alle Schriftarten beim Konvertieren einer Präsentation nach HTML verlinken** +Wenn Sie Schriftarten nicht einbetten möchten (um die Größe des resultierenden HTML zu reduzieren), können Sie alle Schriftarten verlinken, indem Sie Ihre eigene `LinkAllFontsHtmlController`‑Version implementieren. -This python code shows you how to convert a PowerPoint to HTML while linking all fonts and excluding "Calibri" and "Arial" (since they already exist in the system): +Dieser Python‑Code zeigt, wie Sie ein PowerPoint nach HTML konvertieren, wobei alle Schriftarten verlinkt und „Calibri“ sowie „Arial“ (da sie bereits im System vorhanden sind) ausgeschlossen werden: ```py -# [TODO[not_supported_yet]: Python-Implementierung von .net-Schnittstellen] +# [TODO[not_supported_yet]: Python-Implementierung von .NET-Schnittstellen] ``` -## **Unterstützung der SVG-Responsive-Eigenschaft** -The code sample below shows how to export a PPT(X) presentation to HTML with the responsive layout: +## **Unterstützung der SVG‑Responsive‑Eigenschaft** +Das nachstehende Codebeispiel zeigt, wie Sie eine PPT(X)-Präsentation mit responsivem Layout nach HTML exportieren: ```py presentation = slides.Presentation("SomePresentation.pptx") @@ -188,14 +187,14 @@ presentation.save("SomePresentation-out.html", slides.export.SaveFormat.HTML, sa ## **Mediendateien nach HTML exportieren** -Using Aspose.Slides for python, you can export media files this way: +Mit Aspose.Slides für Python können Sie Mediendateien wie folgt exportieren: -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. -1. Fügen Sie der Folie ein Video hinzu. -1. Schreiben Sie die Präsentation als HTML‑Datei. +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. +3. Fügen Sie der Folie ein Video hinzu. +4. Schreiben Sie die Präsentation als HTML‑Datei. -This python code shows you how to add a video to the presentation and then save it as HTML: +Dieser Python‑Code zeigt, wie Sie ein Video zur Präsentation hinzufügen und dann als HTML speichern: ```py import aspose.slides as slides @@ -218,44 +217,44 @@ presentation.save(path + "ExportMediaFiles_out.html", slides.export.SaveFormat.H ``` -## **Häufig gestellte Fragen** +## **FAQ** -### **Wie kann ich eine PowerPoint‑Präsentation mit Python zu HTML konvertieren?** +**Wie kann ich eine PowerPoint‑Präsentation mit Python in HTML konvertieren?** -Sie können die Bibliothek Aspose.Slides for Python via .NET verwenden, um PPT-, PPTX‑ oder ODP‑Dateien zu laden und sie mit der `save()`‑Methode und `SaveFormat.HTML` zu HTML zu konvertieren. +Sie können die Bibliothek Aspose.Slides for Python via .NET verwenden, um PPT-, PPTX‑ oder ODP‑Dateien zu laden und sie mit der Methode `save()` und dem Parameter `SaveFormat.HTML` in HTML zu konvertieren. -### **Unterstützt Aspose.Slides das Konvertieren einzelner PowerPoint‑Folien zu HTML?** +**Unterstützt Aspose.Slides das Konvertieren einzelner PowerPoint‑Folien nach HTML?** -Ja, Aspose.Slides ermöglicht das Konvertieren entweder der gesamten Präsentation oder einzelner Folien zu HTML, indem die `HtmlOptions` entsprechend konfiguriert werden. +Ja, Aspose.Slides ermöglicht das Konvertieren der gesamten Präsentation oder einzelner Folien nach HTML, indem `HtmlOptions` entsprechend konfiguriert werden. -### **Kann ich responsives HTML aus PowerPoint‑Präsentationen erzeugen?** +**Kann ich aus PowerPoint‑Präsentationen responsives HTML erzeugen?** Ja, mit der Klasse `ResponsiveHtmlController` können Sie Ihre Präsentation in ein responsives HTML‑Layout exportieren, das sich an verschiedene Bildschirmgrößen anpasst. -### **Kann ich Sprecheranmerkungen oder Kommentare in das exportierte HTML einbinden?** +**Ist es möglich, Sprecher­notizen oder Kommentare in das exportierte HTML einzubeziehen?** -Ja, Sie können die `HtmlOptions` so konfigurieren, dass Sprecheranmerkungen und Kommentare ein‑ oder ausgeschlossen werden, wenn Sie PowerPoint‑Präsentationen zu HTML exportieren. +Ja, Sie können `HtmlOptions` so konfigurieren, dass Sprecher­notizen und Kommentare beim Export von PowerPoint‑Präsentationen nach HTML ein- oder ausgeschlossen werden. -### **Kann ich Schriftarten einbetten, wenn ich eine Präsentation zu HTML konvertiere?** +**Kann ich Schriftarten beim Konvertieren einer Präsentation nach HTML einbetten?** Ja, Aspose.Slides stellt die Klasse `EmbedAllFontsHtmlController` bereit, mit der Sie Schriftarten einbetten oder bestimmte Schriftarten ausschließen können, um die Dateigröße zu reduzieren. -### **Unterstützt die PowerPoint‑zu‑HTML‑Konvertierung Mediendateien wie Videos und Audio?** +**Unterstützt die PowerPoint‑zu‑HTML‑Konvertierung Mediendateien wie Videos und Audio?** -Ja, Aspose.Slides ermöglicht das Exportieren von in Folien eingebetteten Medieninhalten zu HTML mithilfe von `VideoPlayerHtmlController` und zugehörigen Konfigurationsklassen. +Ja, Aspose.Slides ermöglicht den Export von in Folien eingebetteten Medieninhalten nach HTML mithilfe von `VideoPlayerHtmlController` und zugehörigen Konfigurationsklassen. -### **Welche Dateiformate werden für die Konvertierung zu HTML unterstützt?** +**Welche Dateiformate werden für die Konvertierung nach HTML unterstützt?** -Aspose.Slides unterstützt die Konvertierung der Formate PPT, PPTX und ODP zu HTML. Außerdem können Sie Folieninhalte als SVG speichern und Medienassets exportieren. +Aspose.Slides unterstützt die Konvertierung der Präsentationsformate PPT, PPTX und ODP nach HTML. Außerdem können Sie Folieninhalte als SVG speichern und Medien‑Assets exportieren. -### **Kann ich das Einbetten von Schriftarten vermeiden, um die HTML‑Ausgabedatei zu verkleinern?** +**Kann ich das Einbetten von Schriftarten vermeiden, um die HTML‑Ausgabgröße zu reduzieren?** Ja, Sie können gängige Systemschriftarten wie Arial oder Calibri verlinken, anstatt sie einzubetten, indem Sie eine benutzerdefinierte Implementierung des `HtmlController` verwenden. -### **Gibt es ein Online‑Tool, um PowerPoint zu HTML zu konvertieren?** +**Gibt es ein Online‑Tool zum Konvertieren von PowerPoint nach HTML?** -Ja, Sie können Asposes kostenlose Web‑Tools wie [PPT zu HTML](https://products.aspose.app/slides/conversion/ppt-to-html) oder [PPTX zu HTML](https://products.aspose.app/slides/conversion/pptx-to-html) nutzen, um Präsentationen direkt im Browser ohne Programmierung zu konvertieren. +Ja, Sie können Asposes kostenlose Web‑Tools wie [PPT nach HTML](https://products.aspose.app/slides/conversion/ppt-to-html) oder [PPTX nach HTML](https://products.aspose.app/slides/conversion/pptx-to-html) ausprobieren, um Präsentationen direkt im Browser zu konvertieren, ohne Code zu schreiben. -### **Kann ich benutzerdefinierte CSS‑Stile im exportierten HTML‑Datei verwenden?** +**Kann ich benutzerdefinierte CSS‑Stile in der exportierten HTML‑Datei verwenden?** -Ja, Aspose.Slides ermöglicht das Verlinken externer CSS‑Dateien während der Konvertierung, sodass Sie das Erscheinungsbild des erzeugten HTML‑Inhalts vollständig anpassen können. \ No newline at end of file +Ja, Aspose.Slides ermöglicht das Verlinken externer CSS‑Dateien während der Konvertierung, sodass Sie das Erscheinungsbild des resultierenden HTML‑Inhalts vollständig anpassen können. diff --git a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index 9d963be1be..71a8db9600 100644 --- a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,5 +1,5 @@ --- -title: PPT- und PPTX-Dateien in PDF umwandeln in Python | Erweiterte Optionen +title: PPT & PPTX zu PDF in Python | Erweiterte Optionen linktitle: PowerPoint zu PDF type: docs weight: 40 @@ -15,247 +15,247 @@ keywords: - PDF/A1b - PDF/UA - Python -- Aspose.Slides -description: "Schritt-für-Schritt-Anleitung zur Konvertierung von PPT, PPTX und ODP in hochwertige, WCAG-konforme PDFs in Python mit Aspose.Slides – einschließlich Passwortschutz, Folienauswahl und Kontrolle der Bildqualität." +- Aspose.Slides for Python +description: "Schritt‑für‑Schritt‑Anleitung zur Konvertierung von PPT, PPTX und ODP in hochwertige, WCAG‑konforme PDFs in Python mit Aspose.Slides – beinhaltet Passwortschutz, Folienauswahl und Bildqualitäts‑Kontrolle." showReadingTime: true --- ## **Übersicht** -Die Umwandlung von PowerPoint-Dokumenten in PDF-Format bietet mehrere Vorteile, einschließlich der Sicherstellung der Kompatibilität über verschiedene Geräte hinweg und der Bewahrung des Layouts und Formats Ihrer Präsentation. Dieser Artikel zeigt Ihnen, wie Sie Präsentationen in PDF-Dokumente umwandeln, verschiedene Optionen zur Steuerung der Bildqualität verwenden, versteckte Folien einschließen, PDF-Dokumente mit einem Passwort schützen, Schriftartsubstitutionen erkennen, Folien zur Umwandlung auswählen und Konformitätsstandards auf Ausgabedokumente anwenden können. +Das Konvertieren von PowerPoint‑Präsentationen (PPT, PPTX, ODP) in das PDF‑Format mit Python bietet mehrere Vorteile, darunter die Sicherstellung der Kompatibilität auf verschiedenen Geräten und das Bewahren von Layout und Formatierung Ihrer Präsentation. Dieser Leitfaden zeigt, wie Präsentationen in PDF‑Dokumente konvertiert werden, verschiedene Optionen zur Steuerung der Bildqualität verwendet werden, versteckte Folien einbezogen, PDF‑Dokumente passwortgeschützt werden, Schriftart‑Ersetzungen erkannt, bestimmte Folien für die Konvertierung ausgewählt und Konformitätsstandards auf Ausgabedokumente angewendet werden. -## **PowerPoint in PDF Umwandlungen** +## **PowerPoint‑zu‑PDF‑Konvertierungen** -Mit Aspose.Slides können Sie Präsentationen in diesen Formaten in PDF umwandeln: +Mit Aspose.Slides können Sie Präsentationen in diesen Formaten zu PDF konvertieren: -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -Um eine Präsentation in PDF in Python umzuwandeln, müssen Sie einfach den Dateinamen als Argument in der [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) Klasse übergeben und dann die Präsentation als PDF mit einer [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) Methode speichern. Die [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) Klasse bietet die [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) Methode, die typischerweise verwendet wird, um eine Präsentation in PDF umzuwandeln. +Um eine Präsentation in Python zu PDF zu konvertieren, übergeben Sie einfach den Dateinamen als Argument in der [Präsentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/)‑Klasse und speichern die Präsentation anschließend als PDF mit einer [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods)‑Methode. Die [Präsentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/)‑Klasse stellt die [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods)‑Methode bereit, die typischerweise zum Konvertieren einer Präsentation zu PDF verwendet wird. -{{% alert title="HINWEIS" color="warning" %}} +{{% alert title="NOTE" color="warning" %}} -Aspose.Slides für Python schreibt direkt API-Informationen und Versionsnummer in die Ausgabedokumente. Zum Beispiel, wenn es eine Präsentation in PDF umwandelt, füllt Aspose.Slides für Python das Anwendungsfeld mit dem Wert '*Aspose.Slides*' und das PDF-Producer-Feld mit einem Wert in der Form '*Aspose.Slides v XX.XX*'. **Hinweis**: Sie können Aspose.Slides für Python nicht anweisen, diese Informationen aus den Ausgabedokumenten zu ändern oder zu entfernen. +Aspose.Slides für Python schreibt API‑Informationen und Versionsnummer direkt in Ausgabedokumente. Beispielsweise füllt Aspose.Slides für Python beim Konvertieren einer Präsentation zu PDF das Feld *Application* mit dem Wert '*Aspose.Slides*' und das Feld *PDF Producer* mit einem Wert in der Form '*Aspose.Slides v XX.XX*'. **Hinweis**: Sie können Aspose.Slides für Python nicht anweisen, diese Informationen aus den Ausgabedokumenten zu ändern oder zu entfernen. {{% /alert %}} -Aspose.Slides ermöglicht Ihnen die Umwandlung von: +Aspose.Slides ermöglicht Ihnen die Konvertierung von: -* einer gesamten Präsentation in PDF -* spezifischen Folien einer Präsentation in PDF -* einer Präsentation +* gesamten Präsentationen zu PDF +* einzelnen Folien einer Präsentation zu PDF -Aspose.Slides exportiert Präsentationen in PDF auf eine Weise, die die Inhalte der resultierenden PDFs den Originalpräsentationen sehr ähnlich macht. Diese bekannten Elemente und Attribute werden oft korrekt in der Umwandlung von Präsentationen in PDF dargestellt: +Aspose.Slides exportiert Präsentationen zu PDF und stellt sicher, dass der Inhalt der resultierenden PDFs eng mit den Originalpräsentationen übereinstimmt. Elemente und Attribute werden bei der Konvertierung genau wiedergegeben, einschließlich: * Bilder -* Textfelder und andere Formen -* Texte und deren Formatierung -* Absätze und deren Formatierung +* Textfelder und Formen +* Textformatierung +* Absatzformatierung * Hyperlinks -* Kopf- und Fußzeilen -* Aufzählungen +* Kopf‑ und Fußzeilen +* Aufzählungszeichen * Tabellen -## **PowerPoint in PDF umwandeln** +## **PowerPoint zu PDF konvertieren** -Der standardmäßige Vorgang zur Umwandlung von PowerPoint in PDF wird mit Standardoptionen ausgeführt. In diesem Fall versucht Aspose.Slides, die bereitgestellte Präsentation mit optimalen Einstellungen auf den maximalen Qualitätsstufen in PDF umzuwandeln. Dieser Python-Code zeigt Ihnen, wie Sie eine PowerPoint in PDF umwandeln: +Der Standard‑PowerPoint‑PDF‑Konvertierungsvorgang wird mit den Standardeinstellungen ausgeführt. In diesem Fall versucht Aspose.Slides, die bereitgestellte Präsentation zu PDF mit optimalen Einstellungen und maximaler Qualität zu konvertieren. Dieser Python‑Code zeigt, wie Sie ein PowerPoint‑Dokument zu PDF konvertieren: -_Schritte: PowerPoint in PDF Umwandlungen in Python_ +_Schritte: PowerPoint‑zu‑PDF‑Konvertierungen in Python_ -Der folgende Beispielcode beschreibt diese Umwandlungen mithilfe von Python über .NET -- Schritte: PowerPoint in PDF mit Python über .NET umwandeln -- Schritte: PPT in PDF mit Python über .NET umwandeln -- Schritte: PPTX in PDF mit Python über .NET umwandeln -- Schritte: ODP in PDF mit Python über .NET umwandeln -- Schritte: PPS in PDF mit Python über .NET umwandeln +Der folgende Beispielcode erklärt diese Konvertierungen mit Python über .NET +- Schritte: PowerPoint zu PDF mit Python über .NET konvertieren +- Schritte: PPT zu PDF mit Python über .NET konvertieren +- Schritte: PPTX zu PDF mit Python über .NET konvertieren +- Schritte: ODP zu PDF mit Python über .NET konvertieren +- Schritte: PPS zu PDF mit Python über .NET konvertieren -_Code Schritte:_ - -- Erstellen Sie eine Instanz der [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) Klasse und übergeben Sie ihr die PowerPoint-Datei. - * _.ppt_ Erweiterung, um die **PPT**-Datei innerhalb der _Presentation_ Klasse zu laden. - * _.pptx_ Erweiterung, um die **PPTX**-Datei innerhalb der _Presentation_ Klasse zu laden. - * _.odp_ Erweiterung, um die **ODP**-Datei innerhalb der _Presentation_ Klasse zu laden. - * _.pps_ Erweiterung, um die **PPS**-Datei innerhalb der _Presentation_ Klasse zu laden. -- Speichern Sie die _Presentation_ im **PDF**-Format, indem Sie die **Save** Methode aufrufen und die **SaveFormat.PDF** Aufzählung verwenden. - +_Code‑Schritte:_ +- Instanz der [Präsentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse erstellen und die PowerPoint‑Datei übergeben. + * *.ppt*‑Erweiterung zum Laden einer **PPT**‑Datei in der _Presentation_-Klasse. + * *.pptx*‑Erweiterung zum Laden einer **PPTX**‑Datei in der _Presentation_-Klasse. + * *.odp*‑Erweiterung zum Laden einer **ODP**‑Datei in der _Presentation_-Klasse. + * *.pps*‑Erweiterung zum Laden einer **PPS**‑Datei in der _Presentation_-Klasse. +- Die _Presentation_ mit dem Aufruf der **Save**‑Methode und der Verwendung der **SaveFormat.PDF**‑Enumeration im **PDF**‑Format speichern. ```python import aspose.slides as slides -# Erstellt eine Präsentationsinstanz, die eine PowerPoint-Datei darstellt +# Instanziert eine Presentation-Klasse, die eine PowerPoint-Datei darstellt presentation = slides.Presentation("PowerPoint.ppt") # Speichert die Präsentation als PDF presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF) ``` + {{% alert color="primary" %}} -Aspose bietet einen kostenlosen Online-[**PowerPoint zu PDF-Konverter**](https://products.aspose.app/slides/conversion/ppt-to-pdf) an, der den Prozess der Umwandlung von Präsentationen in PDF demonstriert. Für eine live Implementierung des hier beschriebenen Verfahrens können Sie einen Test mit dem Konverter durchführen. +Aspose bietet einen kostenlosen Online‑[**PowerPoint‑zu‑PDF‑Konverter**](https://products.aspose.app/slides/conversion/ppt-to-pdf), der den Präsentation‑zu‑PDF‑Konvertierungsprozess demonstriert. Für eine Live‑Implementierung des hier beschriebenen Verfahrens können Sie den Konverter testen. {{% /alert %}} -## PowerPoint in PDF mit Optionen umwandeln +## **PowerPoint zu PDF mit Optionen konvertieren** -Aspose.Slides bietet benutzerdefinierte Optionen – Eigenschaften unter der [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) Klasse – die es Ihnen ermöglichen, das PDF (das aus dem Umwandlungsprozess resultiert) anzupassen, das PDF mit einem Passwort zu sperren oder sogar festzulegen, wie der Umwandlungsprozess ablaufen soll. +Aspose.Slides stellt benutzerdefinierte Optionen – Eigenschaften der [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)‑Klasse – zur Verfügung, mit denen Sie das resultierende PDF anpassen, mit einem Passwort schützen oder sogar das Verhalten des Konvertierungsprozesses festlegen können. -### **PowerPoint in PDF mit benutzerdefinierten Optionen umwandeln** +### **PowerPoint zu PDF mit benutzerdefinierten Optionen konvertieren** -Mit benutzerdefinierten Umwandlungsoptionen können Sie Ihre bevorzugte Qualitätseinstellung für Rasterbilder festlegen, angeben, wie Metadateien behandelt werden sollen, ein Kompressionsniveau für Texte festlegen, DPI für Bilder festlegen usw. - -Das folgende Codebeispiel demonstriert einen Vorgang, bei dem eine PowerPoint-Präsentation mit mehreren benutzerdefinierten Optionen in PDF umgewandelt wird: +Mit benutzerdefinierten Konvertierungsoptionen können Sie Ihre bevorzugte Qualitätsstufe für Raster‑Bilder festlegen, bestimmen, wie Metadateien behandelt werden, ein Kompressionsniveau für Texte definieren, DPI für Bilder setzen usw. +Das nachfolgende Code‑Beispiel demonstriert eine Operation, bei der eine PowerPoint‑Präsentation mit mehreren benutzerdefinierten Optionen zu PDF konvertiert wird: ```python import aspose.slides as slides -# Instanziiert die PdfOptions-Klasse +# Instanziert die PdfOptions-Klasse pdf_options = slides.export.PdfOptions() -# Setzt die Qualität für JPG-Bilder +# Legt die Qualität für JPG-Bilder fest pdf_options.jpeg_quality = 90 -# Setzt DPI für Bilder +# Legt die DPI für Bilder fest pdf_options.sufficient_resolution = 300 -# Setzt das Verhalten für Metadateien +# Legt das Verhalten für Metadateien fest pdf_options.save_metafiles_as_png = True -# Setzt das Textkompressionslevel für Textinhalte +# Legt das Textkomprimierungsniveau für Textinhalte fest pdf_options.text_compression = slides.export.PdfTextCompression.FLATE # Definiert den PDF-Konformitätsmodus pdf_options.compliance = slides.export.PdfCompliance.PDF15 -# Instanziiert die Presentation-Klasse, die ein PowerPoint-Dokument darstellt +# Instanziert die Presentation-Klasse, die ein PowerPoint-Dokument darstellt with slides.Presentation("PowerPoint.pptx") as presentation: # Speichert die Präsentation als PDF-Dokument presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options) ``` -### **PowerPoint in PDF mit versteckten Folien umwandeln** -Wenn eine Präsentation versteckte Folien enthält, können Sie eine benutzerdefinierte Option – die Eigenschaft `show_hidden_slides` aus der [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) Klasse – verwenden, um Aspose.Slides anzuweisen, die versteckten Folien als Seiten in das resultierende PDF einzufügen. +### **PowerPoint zu PDF mit versteckten Folien konvertieren** -Dieser Python-Code zeigt Ihnen, wie Sie eine PowerPoint-Präsentation in PDF umwandeln, wobei versteckte Folien eingeschlossen sind: +Enthält eine Präsentation versteckte Folien, können Sie mit der benutzerdefinierten Option `show_hidden_slides` aus der [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)‑Klasse Aspose.Slides anweisen, die versteckten Folien als Seiten im resultierenden PDF einzuschließen. +Dieser Python‑Code zeigt, wie Sie eine PowerPoint‑Präsentation zu PDF mit eingeschlossenen versteckten Folien konvertieren: ```python import aspose.slides as slides -# Instanziiert eine Präsentationsklasse, die eine PowerPoint-Datei darstellt +# Instanziert eine Presentation-Klasse, die eine PowerPoint-Datei darstellt presentation = slides.Presentation("PowerPoint.pptx") -# Instanziiert die PdfOptions-Klasse +# Instanziert die PdfOptions-Klasse pdfOptions = slides.export.PdfOptions() -# Fügt versteckte Folien hinzu +# Fügt ausgeblendete Folien hinzu pdfOptions.show_hidden_slides = True # Speichert die Präsentation als PDF presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### **PowerPoint in passwortgeschützte PDF umwandeln** -Dieser Python-Code zeigt Ihnen, wie Sie eine PowerPoint in eine passwortgeschützte PDF umwandeln (unter Verwendung der Schutzparameter aus der [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) Klasse): +### **PowerPoint zu passwortgeschütztem PDF konvertieren** +Dieser Python‑Code zeigt, wie Sie ein PowerPoint‑Dokument zu einem passwortgeschützten PDF konvertieren (unter Verwendung von Schutz‑Parametern aus der [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)‑Klasse): ```python import aspose.slides as slides -# Instanziiert ein Präsentationsobjekt, das eine PowerPoint-Datei darstellt +# Instanziert ein Presentation-Objekt, das eine PowerPoint-Datei darstellt presentation = slides.Presentation("PowerPoint.pptx") -# Instanziiert die PdfOptions-Klasse +# Instanziert die PdfOptions-Klasse pdfOptions = slides.export.PdfOptions() -# Setzt das PDF-Passwort und Zugriffsberechtigungen -pdfOptions.password = "passwort" +# Legt das PDF-Passwort und die Zugriffsrechte fest +pdfOptions.password = "password" pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT # Speichert die Präsentation als PDF presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### **Erkennung von Schriftartsubstitutionen** -Aspose.Slides bietet die `warning_callback` Eigenschaft unter der [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/) Klasse, um Ihnen zu ermöglichen, Schriftartsubstitutionen im Umwandlungsprozess von Präsentationen in PDF zu erkennen. +### **Schriftart‑Ersetzungen erkennen** -Dieser Python-Code zeigt Ihnen, wie Sie Schriftartsubstitutionen erkennen: +Aspose.Slides stellt die Eigenschaft `warning_callback` unter der [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/)‑Klasse bereit, um Schriftart‑Ersetzungen während des Präsentation‑zu‑PDF‑Konvertierungsprozesses zu erkennen. +Dieser Python‑Code zeigt, wie Sie Schriftart‑Ersetzungen erkennen: ```python -[TODO[SLIDESPYNET-91]: Callbacks sind derzeit nicht unterstützt] +[TODO[SLIDESPYNET-91]: callbacks are not supported for now] ``` + {{% alert color="primary" %}} -Für weitere Informationen zur Schriftartsubstitution siehe den Artikel [Schriftartsubstitution](https://docs.aspose.com/slides/python-net/font-substitution/). +Weitere Informationen zu Schriftart‑Ersetzungen finden Sie im Artikel [Font Substitution](https://docs.aspose.com/slides/python-net/font-substitution/). {{% /alert %}} -## **Ausgewählte Folien in PowerPoint in PDF umwandeln** - -Dieser Python-Code zeigt Ihnen, wie Sie spezifische Folien in einer PowerPoint-Präsentation in PDF umwandeln: +## **Ausgewählte Folien in PowerPoint zu PDF konvertieren** +Dieser Python‑Code zeigt, wie Sie bestimmte Folien einer PowerPoint‑Präsentation zu PDF konvertieren: ```python import aspose.slides as slides -# Instanziiert ein Präsentationsobjekt, das eine PowerPoint-Datei darstellt +# Instanziert ein Presentation-Objekt, das eine PowerPoint-Datei darstellt presentation = slides.Presentation("PowerPoint.pptx") -# Setzt ein Array von Folienpositionen +# Legt ein Array von Folienpositionen fest slides_array = [ 1, 3 ] # Speichert die Präsentation als PDF presentation.save("PPTX-to-PDF.pdf", slides_array, slides.export.SaveFormat.PDF) ``` -## **PowerPoint in PDF mit benutzerdefinierter Foliengröße umwandeln** -Dieser Python-Code zeigt Ihnen, wie Sie eine PowerPoint umwandeln, wenn die Foliengröße spezifiziert ist, in eine PDF: +## **PowerPoint zu PDF mit benutzerdefinierter Foliengröße konvertieren** +Dieser Python‑Code zeigt, wie Sie ein PowerPoint‑Dokument mit festgelegter Foliengröße zu PDF konvertieren: ```python import aspose.slides as slides -# Instanziiert ein Präsentationsobjekt, das eine PowerPoint-Datei darstellt -presentation = slides.Presentation("SelectedSlides.pptx") -auxPresentation = slides.Presentation() +slide_width = 612 +slide_height = 792 -slide = presentation.slides[0] +# Instanziert die Presentation-Klasse, die eine PowerPoint- oder OpenDocument-Datei darstellt. +with slides.Presentation("SelectedSlides.pptx") as presentation: -auxPresentation.slides.insert_clone(0, slide) + # Erstellt eine neue Präsentation mit angepasster Foliengröße. + with slides.Presentation() as resized_presentation: -# Setzt den Folientyp und die Größe -auxPresentation.slide_size.set_size(612, 792, slides.SlideSizeScaleType.ENSURE_FIT) + # Setzt die benutzerdefinierte Foliengröße. + resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT) -pdfOptions = slides.export.PdfOptions() -pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL + # Klont die erste Folie aus der Originalpräsentation. + slide = presentation.slides[0] + resized_presentation.slides.insert_clone(0, slide) -auxPresentation.save("PDFnotes_out.pdf", slides.export.SaveFormat.PDF, pdfOptions) + # Speichert die skalierte Präsentation als PDF mit Notizen. + resized_presentation.save("PDF_with_notes.pdf", slides.export.SaveFormat.PDF) ``` -## **PowerPoint in PDF in Notizenansicht umwandeln** -Dieser Python-Code zeigt Ihnen, wie Sie eine PowerPoint in PDF-Notizen umwandeln: +## **PowerPoint zu PDF im Notizfolien‑Ansicht konvertieren** +Dieser Python‑Code zeigt, wie Sie ein PowerPoint‑Dokument zu PDF‑Notizen konvertieren: ```python import aspose.slides as slides -# Instanziiert eine Präsentationsklasse, die eine PowerPoint-Datei darstellt +# Instanziert eine Presentation-Klasse, die eine PowerPoint-Datei darstellt presentation = slides.Presentation("NotesFile.pptx") pdfOptions = slides.export.PdfOptions() pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL -# Speichert die Präsentation als PDF-Notizen +# Speichert die Präsentation in PDF-Notizen presentation.Save("Pdf_Notes_out.tiff", slides.export.SaveFormat.PDF, pdfOptions) ``` -## **Zugänglichkeit und Konformitätsstandards für PDF** -Aspose.Slides ermöglicht es Ihnen, ein Umsetzungsverfahren zu verwenden, das den [Web Content Accessibility Guidelines (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html) entspricht. Sie können ein PowerPoint-Dokument in PDF unter Verwendung eines dieser Konformitätsstandards exportieren: **PDF/A1a**, **PDF/A1b** und **PDF/UA**. +## **Barrierefreiheit und Konformitätsstandards für PDF** -Dieser Python-Code demonstriert einen Vorgang zur Umwandlung von PowerPoint in PDF, bei dem mehrere PDFs basierend auf verschiedenen Konformitätsstandards erstellt werden: +Aspose.Slides ermöglicht Ihnen ein Konvertierungsverfahren, das den [Web Content Accessibility Guidelines (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html) entspricht. Sie können ein PowerPoint‑Dokument zu PDF exportieren und dabei einen der folgenden Konformitätsstandards verwenden: **PDF/A1a**, **PDF/A1b** und **PDF/UA**. +Dieser Python‑Code demonstriert eine PowerPoint‑zu‑PDF‑Konvertierung, bei der mehrere PDFs basierend auf unterschiedlichen Konformitätsstandards erzeugt werden: ```python import aspose.slides as slides @@ -273,8 +273,49 @@ options.compliance = slides.export.PdfCompliance.PDF_UA pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options) ``` -{{% alert title="Hinweis" color="warning" %}} -Die Unterstützung von Aspose.Slides für PDF-Umwandlungsoperationen erstreckt sich auch darauf, Ihnen die Möglichkeit zu geben, PDF in die beliebtesten Dateiformate zu konvertieren. Sie können [PDF in HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/), [PDF in Bild](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/), [PDF in JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/) und [PDF in PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/) Umwandlungen durchführen. Andere PDF-Konvertierungsoperationen in spezialisierte Formate—[PDF in SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/), [PDF in TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/) und [PDF in XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/)—werden ebenfalls unterstützt. +{{% alert title="Note" color="warning" %}} + +Aspose.Slides‑Unterstützung für PDF‑Konvertierungsoperationen erstreckt sich darauf, dass Sie PDFs in die beliebtesten Dateiformate konvertieren können. Sie können [PDF zu HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/), [PDF zu Bild](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/), [PDF zu JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/) und [PDF zu PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/) Konvertierungen durchführen. Weitere PDF‑Konvertierungsoperationen zu spezialisierten Formaten – [PDF zu SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/), [PDF zu TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/), und [PDF zu XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/) – werden ebenfalls unterstützt. + +{{% /alert %}} + +## **FAQ** + +**Kann Aspose.Slides für Python die Anwendungsinformationen aus dem PDF entfernen?** + +Nein, Aspose.Slides für Python fügt automatisch API‑Informationen und die Versionsnummer in das Ausgabepdf ein. Diese Informationen können nicht geändert oder entfernt werden. + +**Wie kann ich nur bestimmte Folien in die PDF‑Konvertierung einbeziehen?** + +Sie können die Folienindizes, die Sie konvertieren möchten, angeben, indem Sie ein Array von Folienpositionen an die `save`‑Methode übergeben. + +**Ist es möglich, das PDF während der Konvertierung mit einem Passwort zu schützen?** + +Ja, Sie können ein Passwort setzen und Zugriffsrechte über die `PdfOptions`‑Klasse definieren, bevor Sie die Präsentation als PDF speichern. + +**Unterstützt Aspose.Slides die Konvertierung von PDF in andere Formate?** + +Ja, Aspose.Slides unterstützt die Konvertierung von PDFs in Formate wie HTML, Bildformate (JPG, PNG), SVG, TIFF und XML. + +**Wie kann ich sicherstellen, dass mein PDF den Barrierefreiheits‑Standards entspricht?** + +Setzen Sie die Eigenschaft `compliance` in `PdfOptions` auf Standards wie `PDF_A1A`, `PDF_A1B` oder `PDF_UA`, um die Konformität mit den Barrierefreiheits‑Richtlinien sicherzustellen. + +**Kann ich versteckte Folien in die PDF‑Ausgabe aufnehmen?** + +Ja, indem Sie die Eigenschaft `show_hidden_slides` in `PdfOptions` auf `True` setzen, werden versteckte Folien in das PDF aufgenommen. + +**Wie stelle ich Bildqualität und Auflösung während der Konvertierung ein?** + +Verwenden Sie die Eigenschaften `jpeg_quality` und `sufficient_resolution` in `PdfOptions`, um die Bildqualität und Auflösung im resultierenden PDF zu steuern. + +**Erkennt Aspose.Slides Schriftart‑Ersetzungen automatisch?** + +Aspose.Slides erkennt Schriftart‑Ersetzungen während der Konvertierung, und Sie können sie über die `warning_callback`‑Eigenschaft in `SaveOptions` (derzeit eingeschränkt) behandeln. + +## **Zusätzliche Ressourcen** -{{% /alert %}} \ No newline at end of file +- [Aspose.Slides für .NET Dokumentation](https://docs.aspose.com/slides/python-net/) +- [Aspose.Slides API‑Referenz](https://reference.aspose.com/slides/python-net/) +- [Aspose Kostenlose Online‑Konverter](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index 8d2e3f1d47..e9ea3c128d 100644 --- a/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/de/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -1,6 +1,6 @@ --- -title: PPT in PPTX mit Python konvertieren -linktitle: PPT nach PPTX +title: Convert PPT to PPTX in Python +linktitle: PPT to PPTX type: docs weight: 20 url: /de/python-net/convert-ppt-to-pptx/ @@ -11,18 +11,18 @@ keywords: - Präsentation - Python - Aspose.Slides -description: "Konvertieren Sie Legacy-PPT-Präsentationen schnell in modernes PPTX mit Python und Aspose.Slides - klarer Leitfaden, kostenlose Code-Beispiele, keine Abhängigkeit von Microsoft Office." +description: "Konvertieren Sie alte PPT‑Präsentationen schnell in moderne PPTX mit Python und Aspose.Slides — klare Anleitung, kostenlose Beispielcodes, keine Abhängigkeit von Microsoft Office." --- ## **Übersicht** -Dieser Artikel erklärt, wie man eine PowerPoint‑Präsentation im PPT‑Format mit Python und einer Online‑PPT‑zu‑PPTX‑Konvertierungs‑App in das PPTX‑Format konvertiert. Das folgende Thema wird behandelt: +Dieser Artikel erklärt, wie man eine PowerPoint‑Präsentation im PPT‑Format in das PPTX‑Format konvertiert, sowohl mit Python als auch mit einer Online‑App zur PPT‑zu‑PPTX‑Konvertierung. Folgendes Thema wird behandelt: -- PPT nach PPTX in Python konvertieren +- PPT zu PPTX in Python ## **Python PPT zu PPTX konvertieren** -Für Python‑Beispielcode zum Konvertieren von PPT nach PPTX siehe bitte den folgenden Abschnitt, d. h. [Convert PPT to PPTX](#convert-ppt-to-pptx). Er lädt einfach die PPT‑Datei und speichert sie im PPTX‑Format. Durch Angabe verschiedener Speicherformate können Sie eine PPT‑Datei auch in viele andere Formate wie PDF, XPS, ODP, HTML usw. speichern, wie in diesen Artikeln beschrieben: +Für Beispielcode in Python zum Konvertieren von PPT zu PPTX siehe bitte den Abschnitt unten, d. h. [Convert PPT to PPTX](#convert-ppt-to-pptx). Er lädt einfach die PPT‑Datei und speichert sie im PPTX‑Format. Durch Angabe verschiedener Speicherformate können Sie eine PPT‑Datei auch in viele andere Formate wie PDF, XPS, ODP, HTML usw. speichern, wie in den folgenden Artikeln beschrieben: - [Python PPT zu PDF konvertieren](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-pdf/) - [Python PPT zu XPS konvertieren](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/) @@ -31,29 +31,29 @@ Für Python‑Beispielcode zum Konvertieren von PPT nach PPTX siehe bitte den fo - [Python PPT zu Bild konvertieren](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-png/) ## **Über die PPT‑zu‑PPTX‑Konvertierung** -Konvertieren Sie das alte PPT‑Format mit der Aspose.Slides‑API in PPTX. Wenn Sie Tausende von PPT‑Präsentationen in das PPTX‑Format konvertieren müssen, ist die beste Lösung, dies programmgesteuert zu tun. Mit der Aspose.Slides‑API ist dies in nur wenigen Codezeilen möglich. Die API bietet volle Kompatibilität zur Konvertierung einer PPT‑Präsentation in PPTX und ermöglicht: +Konvertieren Sie das alte PPT‑Format mit der Aspose.Slides API in PPTX. Wenn Sie Tausende von PPT‑Präsentationen in PPTX konvertieren müssen, ist die beste Lösung, dies programmgesteuert zu tun. Mit der Aspose.Slides API ist es möglich, dies in nur wenigen Codezeilen zu erledigen. Die API unterstützt vollständige Kompatibilität zur Konvertierung einer PPT‑Präsentation in PPTX und ermöglicht: -- Komplexe Strukturen von Master‑Folien, Layouts und Folien konvertieren. -- Eine Präsentation mit Diagrammen konvertieren. -- Eine Präsentation mit Gruppierungen, Autoformen (wie Rechtecken und Ellipsen) und Formen mit benutzerdefinierter Geometrie konvertieren. -- Eine Präsentation mit Texturen und Bildfüllungsstilen für Autoformen konvertieren. -- Eine Präsentation mit Platzhaltern, Textfeldern und Textbehältern konvertieren. +- Konvertierung komplexer Strukturen von Master‑Folien, Layouts und Folien. +- Konvertierung einer Präsentation mit Diagrammen. +- Konvertierung einer Präsentation mit Gruppierungen, Auto‑Shapes (wie Rechtecken und Ellipsen) und Formen mit benutzerdefinierter Geometrie. +- Konvertierung einer Präsentation mit Texturen und Bildfüllungen für Auto‑Shapes. +- Konvertierung einer Präsentation mit Platzhaltern, Textfeldern und Text‑Halterungen. {{% alert color="primary" %}} -Werfen Sie einen Blick auf die [**Aspose.Slides PPT‑zu‑PPTX‑Konvertierung**](https://products.aspose.app/slides/conversion/ppt-to-pptx) App: +Werfen Sie einen Blick auf die [**Aspose.Slides PPT zu PPTX Konvertierung**](https://products.aspose.app/slides/conversion/ppt-to-pptx)‑App: [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -Diese App basiert auf der **Aspose.Slides‑API**, sodass Sie ein Live‑Beispiel der grundlegenden PPT‑zu‑PPTX‑Konvertierungsfähigkeiten sehen können. Aspose.Slides Conversion ist eine Web‑App, mit der Sie eine Präsentationsdatei im PPT‑Format hochladen und sie nach PPTX konvertiert herunterladen können. +Diese App basiert auf der **Aspose.Slides API**, sodass Sie ein Live‑Beispiel für die Grundfunktionen der PPT‑zu‑PPTX‑Konvertierung sehen können. Aspose.Slides Conversion ist eine Web‑App, mit der Sie eine Präsentationsdatei im PPT‑Format hochladen und sie als PPTX herunterladen können. -Weitere Live‑Beispiele für [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) finden Sie. +Weitere Live‑Beispiele für **Aspose.Slides Konvertierung** finden Sie unter https://products.aspose.app/slides/conversion/. {{% /alert %}} ## **PPT zu PPTX konvertieren** -Um ein PPT in PPTX zu konvertieren, übergeben Sie einfach den Dateinamen und das Speicherformat an die [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Methode der [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. Das nachstehende Python‑Codebeispiel konvertiert eine Präsentation von PPT nach PPTX mit den Standardeinstellungen. +Um ein PPT in PPTX zu konvertieren, übergeben Sie einfach den Dateinamen und das Ziel‑Format an die [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Methode der [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)‑Klasse. Das untenstehende Python‑Beispiel konvertiert eine Präsentation von PPT nach PPTX mit den Standardeinstellungen. ```python import aspose.slides as slides @@ -65,38 +65,34 @@ pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` -Erfahren Sie mehr über die Präsentationsformate [**PPT vs PPTX**](/slides/de/python-net/ppt-vs-pptx/) und wie [**Aspose.Slides die PPT‑zu‑PPTX‑Konvertierung unterstützt**](/slides/de/python-net/convert-ppt-to-pptx/). +Lesen Sie mehr über die Präsentationsformate [**PPT vs PPTX**](/slides/de/python-net/ppt-vs-pptx/) und darüber, wie [**Aspose.Slides die PPT‑zu‑PPTX‑Konvertierung unterstützt**](/slides/de/python-net/convert-ppt-to-pptx/). -## Häufig gestellte Fragen +## **FAQ** -### **Was ist der Unterschied zwischen PPT‑ und PPTX‑Formaten?** +**Was ist der Unterschied zwischen den Formaten PPT und PPTX?** -PPT ist das ältere binäre Dateiformat, das von Microsoft PowerPoint verwendet wird, während PPTX das neuere XML‑basierte Format ist, das mit Microsoft Office 2007 eingeführt wurde. PPTX‑Dateien bieten bessere Leistung, geringere Dateigröße und verbesserte Datenwiederherstellung. +PPT ist das ältere binäre Dateiformat, das von Microsoft PowerPoint verwendet wird, während PPTX das neuere, auf XML basierende Format ist, das mit Microsoft Office 2007 eingeführt wurde. PPTX‑Dateien bieten bessere Leistung, geringere Dateigröße und eine verbesserte Datenwiederherstellung. -### **Kann ich PPT mit Python in PPTX konvertieren?** +**Kann ich PPT mit Python in PPTX konvertieren?** -Ja, mit der Aspose.Slides‑Bibliothek für Python via .NET können Sie problemlos eine PPT‑Datei laden und sie mit nur wenigen Codezeilen im PPTX‑Format speichern. +Ja, mit der Aspose.Slides for Python via .NET‑Bibliothek können Sie problemlos eine PPT‑Datei laden und sie mit wenigen Codezeilen im PPTX‑Format speichern. -### **Ist Aspose.Slides für Python via .NET für die PPT‑zu‑PPTX‑Konvertierung erforderlich?** +**Unterstützt Aspose.Slides die Batch‑Konvertierung mehrerer PPT‑Dateien zu PPTX?** -Ja, die Aspose.Slides‑API stellt die erforderlichen Methoden und Klassen bereit, um PowerPoint‑Präsentationen programmgesteuert zu konvertieren, zu manipulieren und zu speichern, ohne auf Microsoft PowerPoint angewiesen zu sein. +Ja, Sie können Aspose.Slides in einer Schleife verwenden, um mehrere PPT‑Dateien programmgesteuert in PPTX zu konvertieren, was sich für Batch‑Szenarien eignet. -### **Unterstützt Aspose.Slides die Stapelkonvertierung mehrerer PPT‑Dateien zu PPTX?** +**Werden Inhalt und Formatierung nach der Konvertierung beibehalten?** -Ja, Sie können Aspose.Slides in einer Schleife verwenden, um mehrere PPT‑Dateien programmgesteuert zu PPTX zu konvertieren, was es für Stapelkonvertierungsszenarien geeignet macht. +Aspose.Slides erhält eine hohe Treue bei der Konvertierung von Präsentationen. Folienlayouts, Animationen, Formen, Diagramme und andere Designelemente bleiben während der PPT‑zu‑PPTX‑Konvertierung erhalten. -### **Werden Inhalt und Formatierung nach der Konvertierung beibehalten?** - -Aspose.Slides gewährleistet hohe Treue bei der Konvertierung von Präsentationen. Folienlayouts, Animationen, Formen, Diagramme und andere Designelemente bleiben bei der PPT‑zu‑PPTX‑Konvertierung erhalten. - -### **Kann ich andere Formate wie PDF oder HTML aus PPT‑Dateien konvertieren?** +**Kann ich aus PPT‑Dateien andere Formate wie PDF oder HTML konvertieren?** Ja, Aspose.Slides unterstützt die Konvertierung von PPT‑Dateien in mehrere Formate, darunter PDF, XPS, HTML, ODP und Bildformate wie PNG und JPEG. -### **Ist es möglich, PPT ohne installiertes Microsoft PowerPoint in PPTX zu konvertieren?** +**Ist es möglich, PPT ohne installiertes Microsoft PowerPoint in PPTX zu konvertieren?** -Ja, Aspose.Slides für Python via .NET ist eine eigenständige API und benötigt weder Microsoft PowerPoint noch andere Drittanbieter‑Software, um die Konvertierung durchzuführen. +Ja, Aspose.Slides for Python via .NET ist eine eigenständige API und erfordert weder Microsoft PowerPoint noch Drittanbieter‑Software für die Konvertierung. -### **Gibt es ein Online‑Tool für die PPT‑zu‑PPTX‑Konvertierung?** +**Gibt es ein Online‑Tool für die PPT‑zu‑PPTX‑Konvertierung?** -Ja, Sie können die kostenlose Web‑Anwendung [Aspose.Slides PPT‑zu‑PPTX‑Konverter](https://products.aspose.app/slides/conversion/ppt-to-pptx) verwenden, um die Konvertierung direkt in Ihrem Browser durchzuführen, ohne Code zu schreiben. \ No newline at end of file +Ja, Sie können den kostenlosen [Aspose.Slides PPT‑zu‑PPTX‑Konverter](https://products.aspose.app/slides/conversion/ppt-to-pptx) als Web‑Anwendung nutzen, um die Konvertierung direkt im Browser durchzuführen, ohne Code zu schreiben. diff --git a/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..09d26c21ee --- /dev/null +++ b/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "Automatisierung der PowerPoint-Erstellung in Python: Dynamische Präsentationen einfach erstellen" +linktitle: "Automatisierung der PowerPoint-Erstellung" +type: docs +weight: 20 +url: /de/python-net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- Cloud-Plattformen +- PowerPoint-Erstellung automatisieren +- Präsentationen programmgesteuert erstellen +- PowerPoint-Automatisierung +- Dynamische Folienerstellung +- Automatisierte Geschäftsberichte +- PPT-Automatisierung +- Python-Präsentation +- Python +- Aspose.Slides +description: "Automatisieren Sie die Folienerstellung auf Cloud-Plattformen mit Aspose.Slides für Python – erstellen, bearbeiten und konvertieren Sie PowerPoint- und OpenDocument-Dateien schnell und zuverlässig." +--- + +## **Einführung** + +Das manuelle Erstellen von PowerPoint‑Präsentationen kann zeitaufwendig und repetitiv sein – besonders wenn die Inhalte auf dynamischen Daten basieren, die sich häufig ändern. Ob wöchentliche Geschäftsberichte, das Zusammenstellen von Lernmaterialien oder das Erzeugen von kundenfertigen Verkaufspitches – Automatisierung kann unzählige Stunden einsparen und für Konsistenz in Teams sorgen. + +Für Python‑Entwickler eröffnet die Automatisierung der PowerPoint‑Erstellung leistungsstarke Möglichkeiten. Sie können die Foliengenerierung in Webportale, Desktop‑Tools, Backend‑Dienste oder Cloud‑Plattformen integrieren, um Daten dynamisch in professionelle, gebrandete Präsentationen zu verwandeln – on demand. + +In diesem Artikel untersuchen wir die gängigen Anwendungsfälle für automatisierte PowerPoint‑Generierung in Python‑Apps (einschließlich Deployments auf Cloud‑Plattformen) und warum sie zu einem unverzichtbaren Feature moderner Lösungen wird. Von der Echtzeit‑Geschäftsdaten‑Abfrage bis hin zur Umwandlung von Text oder Bildern in Folien – das Ziel ist, Rohinhalt in strukturierte, visuelle Formate zu transformieren, die Ihr Publikum sofort versteht. + +## **Häufige Anwendungsfälle für PowerPoint‑Automatisierung in Python** + +Die Automatisierung der PowerPoint‑Erstellung ist besonders nützlich in Szenarien, in denen Präsentationsinhalte dynamisch zusammengesetzt, personalisiert oder häufig aktualisiert werden müssen. Zu den häufigsten realen Anwendungsfällen gehören: + +- **Geschäftsberichte & Dashboards** + Erstellen Sie Verkaufs‑Summaries, KPI‑ oder Finanz‑Performance‑Berichte, indem Sie Live‑Daten aus Datenbanken oder APIs abrufen. + +- **Personalisierte Vertriebs‑ & Marketing‑Decks** + Generieren Sie automatisch kundenspezifische Pitch‑Decks mithilfe von CRM‑ oder Formulardaten und gewährleisten Sie schnelle Lieferung sowie Marken­konsistenz. + +- **Bildungsinhalte** + Wandeln Sie Lernmaterial, Quizze oder Kurs‑Zusammenfassungen in strukturierte Folien‑Decks für E‑Learning‑Plattformen um. + +- **Daten‑ & KI‑gestützte Insights** + Nutzen Sie Natural‑Language‑Processing‑ oder Analyse‑Engines, um Rohdaten oder lange Texte in zusammengefasste Präsentationen zu verwandeln. + +- **Medienbasierte Folien** + Stellen Sie Präsentationen aus hochgeladenen Bildern, kommentierten Screenshots oder Video‑Keyframes mit begleitenden Beschreibungen zusammen. + +- **Dokumenten‑Konvertierung** + Konvertieren Sie automatisch Word‑Dokumente, PDFs oder Formulareingaben in visuelle Präsentationen mit minimalem manuellen Aufwand. + +- **Entwickler‑ und Technische Werkzeuge** + Erzeugen Sie Tech‑Demos, Dokumentations‑Übersichten oder Changelogs im Folien‑Format direkt aus Code oder Markdown‑Inhalten. + +Durch die Automatisierung dieser Workflows können Unternehmen ihre Inhaltserstellung skalieren, Konsistenz wahren und Zeit für strategischere Aufgaben freisetzen. + +## **Lassen Sie uns programmieren** + +Für dieses Beispiel haben wir **[Aspose.Slides for Python](https://products.aspose.com/slides/python-net/)** gewählt, um die PowerPoint‑Automatisierung zu demonstrieren, da es über ein umfassendes Funktionsset und eine einfache Handhabung bei der programmatischen Arbeit mit Präsentationen verfügt. + +Im Gegensatz zu Low‑Level‑Bibliotheken, die Entwickler dazu zwingen, direkt mit der Open‑XML‑Struktur zu arbeiten (was häufig zu wortreichen und weniger lesbaren Code führt), bietet Aspose.Slides eine höher‑levelige API. Sie abstrahiert die Komplexität, sodass sich Entwickler auf die Präsentationslogik – wie Layout, Formatierung und Datenbindung – konzentrieren können, ohne das PowerPoint‑Dateiformat im Detail verstehen zu müssen. + +Obwohl Aspose.Slides eine kommerzielle Bibliothek ist, bietet sie eine [Kostenlose Testversion](https://releases.aspose.com/slides/python-net/), die völlig ausreicht, um die in diesem Artikel gezeigten Beispiele auszuführen. Für das Demonstrieren von Ideen, das Testen von Features oder das Erstellen eines Proof‑of‑Concepts, wie wir es hier tun, ist die Testversion mehr als ausreichend. Das macht sie zu einer praktischen Option, um mit automatisierter PowerPoint‑Erstellung zu experimentieren, ohne sofort eine Lizenz erwerben zu müssen. + +Ok, lassen Sie uns durchgehen, wie man eine Beispielpräsentation mit realen Inhalten erstellt. + +### **Erstellen einer Titelfolie** + +Wir beginnen damit, eine neue Präsentation zu erstellen und eine Titelfolie mit Hauptüberschrift und Untertitel hinzuzufügen. +```py +import aspose.slides as slides +import aspose.slides.charts as charts +import aspose.pydrawing as draw + +with slides.Presentation() as presentation: + + slide_0 = presentation.slides[0] + slide_0.layout_slide = presentation.layout_slides.get_by_type(slides.SlideLayoutType.TITLE) + + title_shape = slide_0.shapes[0] + subtitle_shape = slide_0.shapes[1] + + title_shape.text_frame.text = "Quarterly Business Review – Q1 2025" + subtitle_shape.text_frame.text = "Prepared for Executive Team" +``` + + +![Die Titelfolie](slide_0.png) + +### **Hinzufügen einer Folie mit einem Säulendiagramm** + +Als Nächstes erstellen wir eine Folie, die die regionale Vertriebsleistung als Säulendiagramm zeigt. +```py +layout_slide_1 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_1 = presentation.slides.add_empty_slide(layout_slide_1) + +chart = slide_1.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350, False) +chart.legend.position = charts.LegendPositionType.BOTTOM +chart.has_title = True +chart.chart_title.add_text_frame_for_overriding("Data from January – March 2025") +chart.chart_title.overlay = False + +workbook = chart.chart_data.chart_data_workbook +worksheet_index = 0 + +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 1, 0, "North America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 2, 0, "Europe")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 3, 0, "Asia Pacific")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 4, 0, "Latin America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 5, 0, "Middle East")) + +series = chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 1, "Sales ($K)"), chart.type) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 1, 480)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 1, 365)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 1, 290)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 4, 1, 150)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 5, 1, 120)) +``` + + +![Die Folie mit dem Diagramm](slide_1.png) + +### **Hinzufügen einer Folie mit einer Tabelle** + +Jetzt fügen wir eine Folie hinzu, die wichtige Leistungskennzahlen im Tabellenformat präsentiert. +```py +layout_slide_2 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_2 = presentation.slides.add_empty_slide(layout_slide_2) + +column_widths = [200, 100] +row_heights = [40, 40, 40, 40, 40] + +table = slide_2.shapes.add_table(200, 200, column_widths, row_heights) +table.columns[0][0].text_frame.text = "Metric" +table.columns[1][0].text_frame.text = "Value" +table.columns[0][1].text_frame.text = "Total Revenue" +table.columns[1][1].text_frame.text = "$1.4M" +table.columns[0][2].text_frame.text = "Gross Margin" +table.columns[1][2].text_frame.text = "54%" +table.columns[0][3].text_frame.text = "New Customers" +table.columns[1][3].text_frame.text = "340" +table.columns[0][4].text_frame.text = "Customer Retention" +table.columns[1][4].text_frame.text = "87%" +``` + + +![Die Folie mit der Tabelle](slide_2.png) + +### **Hinzufügen einer Zusammenfassungsfolie mit Aufzählungspunkten** + +Abschließend integrieren wir eine Zusammenfassung und einen Aktionsplan mithilfe einer einfachen Aufzählungsliste. +```py +def create_bullet_paragraph(text): + paragraph = slides.Paragraph() + paragraph.paragraph_format.bullet.type = slides.BulletType.SYMBOL + paragraph.paragraph_format.indent = 15 + paragraph.paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID + paragraph.paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.black + paragraph.text = text + return paragraph +``` + +```py +layout_slide_3 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_3 = presentation.slides.add_empty_slide(layout_slide_3) + +bullet_list = slide_3.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 50, 600, 200) +bullet_list.fill_format.fill_type = slides.FillType.NO_FILL +bullet_list.line_format.fill_format.fill_type = slides.FillType.NO_FILL + +bullet_list.text_frame.paragraphs.clear() +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Strong performance in North America; growth opportunity in Asia Pacific")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Improve marketing outreach in underperforming regions")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Prepare new campaign strategy for Q2")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Schedule follow-up review in early July")) +``` + + +![Die Folie mit dem Text](slide_3.png) + +### **Speichern der Präsentation** + +Zum Schluss speichern wir die Präsentation auf dem Datenträger: +```py +presentation.save("presentation.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **Fazit** + +Die Automatisierung der PowerPoint‑Erstellung in Python‑Anwendungen bietet klare Vorteile: Zeitersparnis und Reduzierung manueller Arbeit. Durch die Integration dynamischer Inhalte wie Diagramme, Tabellen und Texte können Entwickler schnell konsistente, professionelle Präsentationen erzeugen – ideal für Geschäftsberichte, Kundentreffen oder Bildungsinhalte. + +In diesem Artikel haben wir gezeigt, wie man die Erstellung einer Präsentation von Grund auf automatisiert, einschließlich Titelfolie, Diagrammen und Tabellen. Dieser Ansatz lässt sich auf zahlreiche Anwendungsfälle übertragen, bei denen automatisierte, datengetriebene Präsentationen benötigt werden. + +Durch die richtigen Werkzeuge können Python‑Entwickler die PowerPoint‑Erstellung effizient automatisieren, die Produktivität steigern und Konsistenz über alle Präsentationen hinweg sicherstellen. \ No newline at end of file diff --git a/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/de/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..cacf11aace --- /dev/null +++ b/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Automatización de la generación de PowerPoint en Android: Cree presentaciones dinámicas fácilmente" +linktitle: Automatización de la generación de PowerPoint +type: docs +weight: 20 +url: /es/androidjava/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plataformas en la nube +- automatizar la generación de PowerPoint +- generar presentaciones programáticamente +- automatización de PowerPoint +- creación dinámica de diapositivas +- informes empresariales automatizados +- automatización de PPT +- presentación en Android +- Java +- Aspose.Slides +description: "Automatice la creación de diapositivas en plataformas en la nube con Aspose.Slides para Android: genere, edite y convierta archivos PowerPoint y OpenDocument de forma rápida y fiable." +--- + +## **Introducción** + +Crear presentaciones de PowerPoint manualmente puede ser una tarea que consume mucho tiempo y es repetitiva, especialmente cuando el contenido se basa en datos dinámicos que cambian con frecuencia. Ya sea generando informes de negocios semanales, elaborando material educativo o produciendo presentaciones de ventas listas para el cliente, la automatización puede ahorrar innumerables horas y garantizar la consistencia entre los equipos. + +Para los desarrolladores de Android, automatizar la creación de presentaciones de PowerPoint abre posibilidades poderosas. Puedes integrar la generación de diapositivas en portales web, herramientas de escritorio, servicios backend o plataformas en la nube para convertir datos de forma dinámica en presentaciones profesionales y con marca—bajo demanda. + +En este artículo, exploraremos los casos de uso comunes para la generación automatizada de PowerPoint en aplicaciones Android (incluidas implementaciones en plataformas cloud) y por qué se está convirtiendo en una característica esencial en soluciones modernas. Desde extraer datos empresariales en tiempo real hasta convertir texto o imágenes en diapositivas, el objetivo es transformar contenido bruto en formatos visuales estructurados que tu audiencia pueda entender al instante. + +## **Casos de uso comunes para la automatización de PowerPoint en Android** + +Automatizar la generación de PowerPoint es especialmente útil en escenarios donde el contenido de la presentación necesita ser ensamblado dinámicamente, personalizado o actualizado con frecuencia. Algunos de los casos de uso reales más comunes incluyen: + +- **Informes empresariales y paneles** + Generar resúmenes de ventas, KPIs o informes de rendimiento financiero extrayendo datos en vivo de bases de datos o API. + +- **Presentaciones de ventas y marketing personalizadas** + Crear automáticamente presentaciones de pitch específicas para cada cliente usando datos de CRM o formularios, garantizando rapidez y consistencia de marca. + +- **Contenido educativo** + Convertir material de aprendizaje, cuestionarios o resúmenes de cursos en presentaciones estructuradas para plataformas de e‑learning. + +- **Información impulsada por datos e IA** + Utilizar procesamiento de lenguaje natural o motores analíticos para transformar datos sin procesar o textos extensos en presentaciones resumidas. + +- **Diapositivas basadas en medios** + Armar presentaciones a partir de imágenes subidas, capturas de pantalla anotadas o fotogramas de video con descripciones de apoyo. + +- **Conversión de documentos** + Convertir automáticamente documentos Word, PDFs o entradas de formularios en presentaciones visuales con mínimo esfuerzo manual. + +- **Herramientas para desarrolladores y técnicas** + Crear demostraciones técnicas, resúmenes de documentación o changelogs en formato de diapositivas directamente desde código o contenido markdown. + +Al automatizar estos flujos de trabajo, las organizaciones pueden escalar su creación de contenido, mantener la consistencia y liberar tiempo para trabajo más estratégico. + +## **Vamos a programar** + +Para este ejemplo, hemos elegido **[Aspose.Slides for Android](https://products.aspose.com/slides/android-java/)** para demostrar la automatización de PowerPoint debido a su conjunto completo de funcionalidades y facilidad de uso al trabajar con presentaciones de forma programática. + +A diferencia de bibliotecas de bajo nivel, que requieren que los desarrolladores trabajen directamente con la estructura Open XML (a menudo resultando en código verboso y menos legible), Aspose.Slides ofrece una API de alto nivel. Abstrae la complejidad, permitiendo a los desarrolladores centrarse en la lógica de la presentación—como el diseño, el formato y la vinculación de datos—sin necesidad de comprender a fondo el formato de archivo de PowerPoint. + +Aunque Aspose.Slides es una biblioteca comercial, ofrece una [versión de prueba gratuita](https://releases.aspose.com/slides/androidjava/) que es totalmente capaz de ejecutar los ejemplos proporcionados en este artículo. Para el propósito de demostrar ideas, probar funcionalidades o construir una prueba de concepto como la que cubrimos aquí, la versión de prueba es más que suficiente. Esto la convierte en una opción cómoda para experimentar con la generación automatizada de PowerPoint sin necesidad de adquirir una licencia de inmediato. + +Ok, vamos a recorrer la construcción de una presentación de muestra utilizando contenido del mundo real. + +### **Crear una diapositiva de título** + +Comenzaremos creando una nueva presentación y añadiendo una diapositiva de título con un encabezado principal y subtítulo. +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![La diapositiva de título](slide_0.png) + +### **Agregar una diapositiva con un gráfico de columnas** + +A continuación, crearemos una diapositiva que muestre el rendimiento de ventas regional como un gráfico de columnas. +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![La diapositiva con el gráfico](slide_1.png) + +### **Agregar una diapositiva con una tabla** + +Ahora añadiremos una diapositiva que presente métricas clave de rendimiento en formato de tabla. +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![La diapositiva con la tabla](slide_2.png) + +### **Agregar una diapositiva de resumen con viñetas** + +Por último, incluiremos un resumen y plan de acción usando una lista sencilla de viñetas. +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![La diapositiva con el texto](slide_3.png) + +### **Guardar la presentación** + +Finalmente, guardamos la presentación en disco: +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Conclusión** + +Automatizar la generación de PowerPoint en aplicaciones Android ofrece beneficios claros al ahorrar tiempo y reducir el esfuerzo manual. Al integrar contenido dinámico como gráficos, tablas y texto, los desarrolladores pueden producir rápidamente presentaciones consistentes y profesionales—ideales para informes de negocio, reuniones con clientes o contenido educativo. + +En este artículo, hemos demostrado cómo automatizar la creación de una presentación desde cero, incluyendo la adición de una diapositiva de título, gráficos y tablas. Este enfoque puede aplicarse a diversos casos de uso donde se requieren presentaciones automatizadas y basadas en datos. + +Al aprovechar las herramientas adecuadas, los desarrolladores Android pueden automatizar eficientemente la creación de PowerPoint, mejorando la productividad y asegurando la consistencia en todas las presentaciones. \ No newline at end of file diff --git a/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/es/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..cfc1833899 --- /dev/null +++ b/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Automatización de la generación de PowerPoint en C++: Crear presentaciones dinámicas fácilmente" +linktitle: Automatización de la generación de PowerPoint +type: docs +weight: 20 +url: /es/cpp/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plataformas en la nube +- automatizar la generación de PowerPoint +- generar presentaciones programáticamente +- automatización de PowerPoint +- creación dinámica de diapositivas +- informes empresariales automatizados +- automatización de PPT +- presentación C++ +- C++ +- Aspose.Slides +description: "Automatiza la creación de diapositivas en plataformas en la nube con Aspose.Slides para C++ — genera, edita y convierte archivos PowerPoint y OpenDocument de forma rápida y fiable." +--- + +## **Introducción** + +Crear presentaciones de PowerPoint manualmente puede ser una tarea que consume mucho tiempo y resulta repetitiva, especialmente cuando el contenido se basa en datos dinámicos que cambian con frecuencia. Ya sea generando informes empresariales semanales, ensamblando material educativo o produciendo presentaciones de ventas listas para el cliente, la automatización puede ahorrar innumerables horas y garantizar la consistencia entre los equipos. + +Para los desarrolladores de C++, automatizar la creación de presentaciones de PowerPoint abre posibilidades poderosas. Puedes integrar la generación de diapositivas en portales web, herramientas de escritorio, servicios backend o plataformas en la nube para convertir datos de forma dinámica en presentaciones profesionales y con marca, bajo demanda. + +En este artículo, exploraremos los casos de uso comunes para la generación automatizada de PowerPoint en aplicaciones C++ (incluidas las implementaciones en plataformas cloud) y por qué se está convirtiendo en una característica esencial en las soluciones modernas. Desde extraer datos empresariales en tiempo real hasta convertir texto o imágenes en diapositivas, el objetivo es transformar contenido bruto en formatos visuales estructurados que tu audiencia pueda comprender al instante. + +## **Casos de uso comunes de la automatización de PowerPoint en C++** + +Automatizar la generación de PowerPoint es especialmente útil en escenarios donde el contenido de la presentación necesita ensamblarse dinámicamente, personalizarse o actualizarse con frecuencia. Algunos de los casos de uso reales más comunes incluyen: + +- **Informes empresariales y paneles** + Generar resúmenes de ventas, KPIs o informes de desempeño financiero extrayendo datos en tiempo real de bases de datos o APIs. + +- **Presentaciones de ventas y marketing personalizadas** + Crear automáticamente presentaciones de pitch específicas para cada cliente usando datos de CRM o formularios, garantizando una entrega rápida y consistencia de marca. + +- **Contenido educativo** + Convertir material de aprendizaje, cuestionarios o resúmenes de cursos en presentaciones estructuradas para plataformas de e-learning. + +- **Información impulsada por datos e IA** + Utilizar procesamiento de lenguaje natural o motores analíticos para transformar datos crudos o texto extenso en presentaciones resumidas. + +- **Diapositivas basadas en medios** + armar presentaciones a partir de imágenes cargadas, capturas de pantalla anotadas o fotogramas clave de video con descripciones de apoyo. + +- **Conversión de documentos** + Convertir automáticamente documentos Word, PDFs o entradas de formularios en presentaciones visuales con un esfuerzo manual mínimo. + +- **Herramientas para desarrolladores y técnicas** + Crear demostraciones técnicas, resúmenes de documentación o registros de cambios en formato de diapositiva directamente desde código o contenido markdown. + +Al automatizar estos flujos de trabajo, las organizaciones pueden escalar la creación de contenido, mantener la consistencia y liberar tiempo para trabajos más estratégicos. + +## **Vamos a codificar** + +Para este ejemplo, hemos elegido **[Aspose.Slides for C++](https://products.aspose.com/slides/cpp/)** para demostrar la automatización de PowerPoint debido a su conjunto de funciones integral y su facilidad de uso al trabajar con presentaciones de forma programática. + +A diferencia de las bibliotecas de bajo nivel, que requieren que los desarrolladores trabajen directamente con la estructura Open XML (a menudo resultando en código extenso y menos legible), Aspose.Slides ofrece una API de alto nivel. Abstrae la complejidad, permitiendo a los desarrolladores centrarse en la lógica de la presentación—como el diseño, el formato y la vinculación de datos—sin necesidad de comprender en detalle el formato de archivo de PowerPoint. + +Aunque Aspose.Slides es una biblioteca comercial, ofrece una [prueba gratuita](https://releases.aspose.com/slides/cpp/) que es totalmente capaz de ejecutar los ejemplos proporcionados en este artículo. Con el propósito de demostrar ideas, probar funcionalidades o crear una prueba de concepto como la que cubrimos aquí, la prueba es más que suficiente. Esto la convierte en una opción conveniente para experimentar con la generación automatizada de PowerPoint sin necesidad de adquirir una licencia de inmediato. + +Bien, vamos a recorrer la construcción de una presentación de ejemplo usando contenido del mundo real. + +### **Crear una diapositiva de título** + +Comenzaremos creando una nueva presentación y añadiendo una diapositiva de título con un encabezado principal y subtítulo. +```cpp +auto presentation = MakeObject(); + +auto slide0 = presentation->get_Slide(0); + +auto layoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Title); +slide0->set_LayoutSlide(layoutSlide); + +auto titleShape = ExplicitCast(slide0->get_Shape(0)); +auto subtitleShape = ExplicitCast(slide0->get_Shape(1)); + +titleShape->get_TextFrame()->set_Text(u"Quarterly Business Review – Q1 2025"); +subtitleShape->get_TextFrame()->set_Text(u"Prepared for Executive Team"); +``` + + +![La diapositiva de título](slide_0.png) + +### **Añadir una diapositiva con un gráfico de columnas** + +A continuación, crearemos una diapositiva que muestra el desempeño de ventas regionales como un gráfico de columnas. +```cpp +auto layoutSlide1 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide1 = presentation->get_Slides()->AddEmptySlide(layoutSlide1); + +auto chart = slide1->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +chart->get_Legend()->set_Position(LegendPositionType::Bottom); +chart->set_HasTitle(true); +chart->get_ChartTitle()->AddTextFrameForOverriding(u"Data from January – March 2025"); +chart->get_ChartTitle()->set_Overlay(false); + +auto workbook = chart->get_ChartData()->get_ChartDataWorkbook(); +auto worksheetIndex = 0; + +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 1, 0, ObjectExt::Box(u"North America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 2, 0, ObjectExt::Box(u"Europe"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 3, 0, ObjectExt::Box(u"Asia Pacific"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 4, 0, ObjectExt::Box(u"Latin America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 5, 0, ObjectExt::Box(u"Middle East"))); + +auto series = chart->get_ChartData()->get_Series()->Add(workbook->GetCell(worksheetIndex, 0, 1, ObjectExt::Box(u"Sales ($K)")), chart->get_Type()); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 1, 1, ObjectExt::Box(480))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 2, 1, ObjectExt::Box(365))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 3, 1, ObjectExt::Box(290))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 4, 1, ObjectExt::Box(150))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 5, 1, ObjectExt::Box(120))); +``` + + +![La diapositiva con el gráfico](slide_1.png) + +### **Añadir una diapositiva con una tabla** + +Ahora añadiremos una diapositiva que presenta métricas clave de desempeño en formato de tabla. +```cpp +auto layoutSlide2 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide2 = presentation->get_Slides()->AddEmptySlide(layoutSlide2); + +auto columnWidths = MakeArray({ 200, 100 }); +auto rowHeights = MakeArray({ 40, 40, 40, 40, 40 }); + +auto table = slide2->get_Shapes()->AddTable(200, 200, columnWidths, rowHeights); +table->get_Column(0)->idx_get(0)->get_TextFrame()->set_Text(u"Metric"); +table->get_Column(1)->idx_get(0)->get_TextFrame()->set_Text(u"Value"); +table->get_Column(0)->idx_get(1)->get_TextFrame()->set_Text(u"Total Revenue"); +table->get_Column(1)->idx_get(1)->get_TextFrame()->set_Text(u"$1.4M"); +table->get_Column(0)->idx_get(2)->get_TextFrame()->set_Text(u"Gross Margin"); +table->get_Column(1)->idx_get(2)->get_TextFrame()->set_Text(u"54%"); +table->get_Column(0)->idx_get(3)->get_TextFrame()->set_Text(u"New Customers"); +table->get_Column(1)->idx_get(3)->get_TextFrame()->set_Text(u"340"); +table->get_Column(0)->idx_get(4)->get_TextFrame()->set_Text(u"Customer Retention"); +table->get_Column(1)->idx_get(4)->get_TextFrame()->set_Text(u"87%"); +``` + + +![La diapositiva con la tabla](slide_2.png) + +### **Añadir una diapositiva de resumen con viñetas** + +Por último, incluiremos un resumen y plan de acción usando una lista con viñetas simple. +```cpp +static SharedPtr CreateBulletParagraph(String text) { + auto paragraph = MakeObject(); + paragraph->get_ParagraphFormat()->get_Bullet()->set_Type(BulletType::Symbol); + paragraph->get_ParagraphFormat()->set_Indent(15); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->set_FillType(FillType::Solid); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Black()); + paragraph->set_Text(text); + return paragraph; +} +``` + +```cpp +auto layoutSlide3 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide3 = presentation->get_Slides()->AddEmptySlide(layoutSlide3); + +auto bulletList = slide3->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +bulletList->get_FillFormat()->set_FillType(FillType::NoFill); +bulletList->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill); + +bulletList->get_TextFrame()->get_Paragraphs()->Clear(); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Improve marketing outreach in underperforming regions")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Prepare new campaign strategy for Q2")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Schedule follow-up review in early July")); +``` + + +![La diapositiva con el texto](slide_3.png) + +### **Guardar la presentación** + +Finalmente, guardamos la presentación en disco: +```java +presentation->Save(u"presentation.pptx", SaveFormat::Pptx); +``` + + +## **Conclusión** + +La automatización de la generación de PowerPoint en aplicaciones C++ ofrece claros beneficios al ahorrar tiempo y reducir el esfuerzo manual. Al integrar contenido dinámico como gráficos, tablas y texto, los desarrolladores pueden producir rápidamente presentaciones consistentes y profesionales—ideales para informes empresariales, reuniones con clientes o contenido educativo. + +En este artículo, hemos demostrado cómo automatizar la creación de una presentación desde cero, incluyendo la adición de una diapositiva de título, gráficos y tablas. Este enfoque puede aplicarse a diversos casos de uso donde se requieren presentaciones automatizadas y basadas en datos. + +Al aprovechar las herramientas adecuadas, los desarrolladores de C++ pueden automatizar eficientemente la creación de PowerPoint, mejorando la productividad y garantizando la consistencia en todas las presentaciones. \ No newline at end of file diff --git a/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/es/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..d36075aefe --- /dev/null +++ b/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Automatizando la generación de PowerPoint en Java: cree presentaciones dinámicas fácilmente" +linktitle: Automatizando la generación de PowerPoint +type: docs +weight: 20 +url: /es/java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plataformas en la nube +- automatizar generación de PowerPoint +- generar presentaciones programáticamente +- automatización de PowerPoint +- creación dinámica de diapositivas +- informes comerciales automatizados +- automatización PPT +- presentación Java +- Java +- Aspose.Slides +description: "Automatice la creación de diapositivas en plataformas en la nube con Aspose.Slides para Java—genere, edite y convierta archivos PowerPoint y OpenDocument rápida y confiablemente." +--- + +## **Introducción** + +Crear presentaciones de PowerPoint manualmente puede ser una tarea que consume mucho tiempo y resulta repetitiva, especialmente cuando el contenido se basa en datos dinámicos que cambian con frecuencia. Ya sea generando informes de negocio semanales, ensamblando material educativo o produciendo presentaciones de ventas listas para el cliente, la automatización puede ahorrar innumerables horas y garantizar la consistencia entre los equipos. + +Para los desarrolladores Java, automatizar la creación de presentaciones de PowerPoint abre posibilidades poderosas. Puedes integrar la generación de diapositivas en portales web, herramientas de escritorio, servicios de backend o plataformas en la nube para convertir datos de forma dinámica en presentaciones profesionales y con la marca—bajo demanda. + +En este artículo, exploraremos los casos de uso comunes para la generación automática de PowerPoint en aplicaciones Java (incluidas implementaciones en plataformas cloud) y por qué se está convirtiendo en una característica esencial en las soluciones modernas. Desde extraer datos empresariales en tiempo real hasta convertir texto o imágenes en diapositivas, el objetivo es transformar contenido bruto en formatos visuales estructurados que tu audiencia pueda entender al instante. + +## **Casos de uso comunes para la automatización de PowerPoint en Java** + +Automatizar la generación de PowerPoint es especialmente útil en escenarios donde el contenido de la presentación debe ensamblarse dinámicamente, personalizarse o actualizarse con frecuencia. Algunos de los casos de uso reales más comunes incluyen: + +- **Informes de negocio y paneles** + Generar resúmenes de ventas, KPIs o informes de rendimiento financiero extrayendo datos en tiempo real de bases de datos o APIs. + +- **Presentaciones de ventas y marketing personalizadas** + Crear automáticamente presentaciones de pitch específicas para cada cliente usando datos de CRM o formularios, garantizando rapidez y consistencia de marca. + +- **Contenido educativo** + Convertir material de aprendizaje, cuestionarios o resúmenes de cursos en presentaciones estructuradas para plataformas de e‑learning. + +- **Información impulsada por datos e IA** + Utilizar procesamiento de lenguaje natural o motores analíticos para transformar datos crudos o textos extensos en presentaciones resumidas. + +- **Diapositivas basadas en medios** + Ensamblar presentaciones a partir de imágenes subidas, capturas de pantalla anotadas o fotogramas de vídeo con descripciones de apoyo. + +- **Conversión de documentos** + Convertir automáticamente documentos Word, PDFs o entradas de formularios en presentaciones visuales con mínimo esfuerzo manual. + +- **Herramientas para desarrolladores y técnicas** + Crear demos técnicas, resúmenes de documentación o registros de cambios en formato de diapositiva directamente desde código o contenido markdown. + +Al automatizar estos flujos de trabajo, las organizaciones pueden escalar la creación de contenido, mantener la consistencia y liberar tiempo para actividades más estratégicas. + +## **Vamos a codificar** + +Para este ejemplo, hemos elegido **[Aspose.Slides para Java](https://products.aspose.com/slides/java/)** para demostrar la automatización de PowerPoint debido a su conjunto completo de funciones y facilidad de uso al trabajar con presentaciones de forma programática. + +A diferencia de las bibliotecas de bajo nivel, que obligan a los desarrolladores a trabajar directamente con la estructura Open XML (lo que suele producir código verboso y menos legible), Aspose.Slides ofrece una API de alto nivel. Esta abstrae la complejidad, permitiendo a los desarrolladores centrarse en la lógica de la presentación—como el diseño, formato y enlace de datos—sin necesidad de comprender en detalle el formato de archivo de PowerPoint. + +Aunque Aspose.Slides es una biblioteca comercial, ofrece una [prueba gratuita](https://releases.aspose.com/slides/java/) que permite ejecutar completamente los ejemplos presentados en este artículo. Para demostrar ideas, probar funciones o crear una prueba de concepto como la que cubrimos aquí, la prueba es más que suficiente. Esto lo convierte en una opción cómoda para experimentar con la generación automática de PowerPoint sin necesidad de adquirir una licencia de inmediato. + +Bien, recorramos la creación de una presentación de ejemplo usando contenido del mundo real. + +### **Crear una diapositiva de título** + +Comenzaremos creando una nueva presentación y añadiendo una diapositiva de título con un encabezado principal y subtítulo. +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![The title slide](slide_0.png) + +### **Agregar una diapositiva con un gráfico de columnas** + +A continuación, crearemos una diapositiva que muestre el rendimiento de ventas regionales como un gráfico de columnas. +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![The slide with the chart](slide_1.png) + +### **Agregar una diapositiva con una tabla** + +Ahora añadiremos una diapositiva que presente métricas clave de rendimiento en formato de tabla. +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![The slide with the table](slide_2.png) + +### **Agregar una diapositiva de resumen con viñetas** + +Finalmente, incluiremos un resumen y un plan de acción usando una lista de viñetas simple. +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![The slide with the text](slide_3.png) + +### **Guardar la presentación** + +Por último, guardamos la presentación en el disco: +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Conclusión** + +Automatizar la generación de PowerPoint en aplicaciones Java ofrece beneficios claros al ahorrar tiempo y reducir el esfuerzo manual. Al integrar contenido dinámico como gráficos, tablas y texto, los desarrolladores pueden producir rápidamente presentaciones consistentes y profesionales—ideales para informes de negocio, reuniones con clientes o material educativo. + +En este artículo, hemos demostrado cómo automatizar la creación de una presentación desde cero, incluyendo la adición de una diapositiva de título, gráficos y tablas. Este enfoque puede aplicarse a diversos casos de uso donde se requieren presentaciones automatizadas basadas en datos. + +Al aprovechar las herramientas adecuadas, los desarrolladores Java pueden automatizar eficazmente la creación de PowerPoint, mejorando la productividad y garantizando la consistencia en todas sus presentaciones. \ No newline at end of file diff --git a/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/es/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/es/net/developer-guide/3d-presentation/_index.md b/es/net/developer-guide/3d-presentation/_index.md index 0603885728..65e62505b8 100644 --- a/es/net/developer-guide/3d-presentation/_index.md +++ b/es/net/developer-guide/3d-presentation/_index.md @@ -9,48 +9,33 @@ keywords: - presentación 3D - rotación 3D - profundidad 3D -- extrusion 3D -- gradiente 3D +- extrusión 3D +- degradado 3D - texto 3D -- presentación de PowerPoint +- presentación PowerPoint - C# - Csharp - Aspose.Slides para .NET -description: "Presentación de PowerPoint 3D en C# o .NET" +description: "Presentación PowerPoint 3D en C# o .NET" --- +## **Visión general** +¿Cómo crea normalmente una presentación 3D en PowerPoint? +Microsoft PowerPoint permite crear presentaciones 3D en las que podemos añadir modelos 3D, aplicar efectos 3D a formas, crear texto 3D, cargar gráficos 3D en la presentación y crear animaciones 3D en PowerPoint. -## Descripción general -¿Cómo sueles crear una presentación de PowerPoint 3D? -Microsoft PowerPoint permite crear presentaciones 3D en términos que podemos añadir modelos 3D, aplicar efectos 3D en formas, -crear texto 3D, subir gráficos 3D a la presentación, crear animaciones 3D en PowerPoint. - -Crear efectos 3D tiene un gran impacto en la mejora de tu presentación a una presentación 3D y puede ser la implementación más fácil de una presentación 3D. -Desde la versión 20.9 de Aspose.Slides, se ha añadido un **motor 3D multiplataforma** nuevo. El nuevo motor 3D permite -exportar y rasterizar formas y texto con efectos 3D. En las versiones anteriores, -las formas de las diapositivas con efectos 3D aplicados se habían renderizado de forma plana. Pero ahora es posible -renderizar formas con un **3D completo**. -Además, ahora es posible crear formas con efectos 3D a través de la API pública de Slides. - -En la API de Aspose.Slides, para hacer que -una forma se convierta en una forma 3D de PowerPoint, utiliza la propiedad [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat), -que hereda las características de la interfaz [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat): -- [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) -y [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop): establece el bisel en la forma, define el tipo de bisel (por ejemplo, Ángulo, Círculo, SuaveRedondeado), define la altura y el ancho del bisel. -- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): se utiliza para imitar movimientos de cámara alrededor del objeto. En otras palabras, al establecer la rotación de la cámara, el zoom y otras propiedades, puedes jugar con tus -formas como si fueran el modelo 3D en PowerPoint. -- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) -y [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth): establece propiedades de contorno para hacer que la forma parezca una forma 3D de PowerPoint. -- [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth), -[ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) -y [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight): se utilizan para hacer que la forma sea tridimensional, lo que significa convertir una forma 2D en una forma 3D, -estableciendo su profundidad o extruyéndola. -- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig): puede crear un efecto de luz en una forma 3D. La lógica de esta propiedad está relacionada con la cámara; puedes establecer la rotación de la luz -en relación con la forma 3D y elegir el tipo de luz. -- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material): establecer el tipo de material de la forma 3D puede darle un efecto más vivo. La propiedad proporciona un conjunto de materiales predefinidos, como: -Metal, Plástico, Polvo, Mate, etc. - -Todas las características 3D se pueden aplicar tanto a formas como a texto. Veamos cómo acceder a las propiedades mencionadas anteriormente y luego las examinaremos en detalle paso a paso: +Crear efectos 3D tiene un gran impacto en la mejora de su presentación a una presentación 3D, y puede ser la implementación más sencilla de una presentación 3D. +Desde la versión 20.9 de Aspose.Slides, se ha añadido un nuevo **motor 3D multiplataforma**. El nuevo motor 3D permite exportar y rasterizar formas y texto con efectos 3D. En versiones anteriores, las formas de Slides con efectos 3D aplicados se renderizaban de forma plana. Pero ahora es posible renderizar formas con un **3D completo**. +Además, ahora es posible crear formas con efectos 3D mediante la API pública de Slides. + +En la API de Aspose.Slides, para que una forma se convierta en una forma 3D de PowerPoint use la propiedad [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat), que hereda las características de la interfaz [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat): +- [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) y [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop): establecen el bisel de la forma, definen el tipo de bisel (p. ej., Angle, Circle, SoftRound) y definen la altura y el ancho del bisel. +- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): se usa para imitar movimientos de cámara alrededor del objeto. En otras palabras, al establecer rotación, zoom y otras propiedades de la cámara, puede manipular sus formas como con un modelo 3D en PowerPoint. +- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) y [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth): establecen las propiedades de contorno para que la forma tenga apariencia de forma 3D de PowerPoint. +- [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth), [ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) y [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight): se usan para dar a la forma una tercera dimensión, lo que significa convertir una forma 2D en una forma 3D, estableciendo su profundidad o extruyéndola. +- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig): puede crear un efecto de luz en una forma 3D. La lógica de esta propiedad es similar a la de Camera; puede establecer la rotación de la luz en relación con la forma 3D y elegir el tipo de luz. +- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material): establecer el tipo de material de la forma 3D puede aportar un efecto más realista. La propiedad proporciona un conjunto de materiales predefinidos, como: Metal, Plastic, Powder, Matte, etc. + +Todas las funciones 3D pueden aplicarse tanto a formas como a texto. Veamos cómo acceder a las propiedades mencionadas y, a continuación, repasémoslas en detalle paso a paso: ``` csharp const float imageScale = 2; @@ -79,21 +64,21 @@ using (Presentation presentation = new Presentation()) } ``` -La miniatura renderizada se ve así: -![todo:texto alternativo de imagen](img_01_01.png) +La miniatura renderizada se ve así: -## Rotación 3D -Es posible rotar las formas 3D de PowerPoint en un plano 3D, lo que aporta más interactividad. Para rotar una forma 3D en PowerPoint, generalmente usas el siguiente menú: +![todo:image_alt_text](img_01_01.png) -![todo:texto alternativo de imagen](img_02_01.png) +## **Rotación 3D** +Es posible rotar formas 3D de PowerPoint en un plano 3D, lo que aporta mayor interactividad. Para rotar una forma 3D en PowerPoint, normalmente se utiliza el siguiente menú: -En la API de Aspose.Slides, la rotación de las formas 3D se puede gestionar utilizando la propiedad [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): +![todo:image_alt_text](img_02_01.png) +En la API de Aspose.Slides, la rotación de una forma 3D puede gestionarse mediante la propiedad [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); -// ... establece otros parámetros de escena 3D +// ... establecer otros parámetros de la escena 3D using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -101,16 +86,15 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -## Profundidad y Extrusión 3D -Para dar la tercera dimensión a tu forma y convertirla en una forma 3D, utiliza [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) -y [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) propiedades: +## **Profundidad y extrusión 3D** +Para añadir la tercera dimensión a su forma y convertirla en una forma 3D, use las propiedades [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) y [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor): ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); shape.ThreeDFormat.ExtrusionHeight = 100; shape.ThreeDFormat.ExtrusionColor.Color = Color.Purple; -// ... establece otros parámetros de escena 3D +// ... establecer otros parámetros de la escena 3D using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -118,14 +102,13 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -Normalmente, usas el menú de Profundidad en PowerPoint para establecer la profundidad de la forma 3D de PowerPoint: -![todo:texto alternativo de imagen](img_02_02.png) +Normalmente, se usa el menú Depth en PowerPoint para establecer la profundidad de una forma 3D de PowerPoint: +![todo:image_alt_text](img_02_02.png) -## Gradiente 3D -El gradiente se puede utilizar para rellenar el color de la forma 3D de PowerPoint. Vamos a crear una forma con un color de relleno de gradiente y aplicar un efecto 3D en ella: - +## **Degradado 3D** +El degradado puede usarse para rellenar el color de una forma 3D de PowerPoint. Creemos una forma con relleno de degradado y apliquemos un efecto 3D: ``` csharp const float imageScale = 2; @@ -134,7 +117,7 @@ using (Presentation presentation = new Presentation()) ISlide slide = presentation.Slides[0]; IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); - shape.TextFrame.Text = "Gradiente 3D"; + shape.TextFrame.Text = "3D Gradient"; shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 64; shape.FillFormat.FillType = FillType.Gradient; @@ -155,11 +138,12 @@ using (Presentation presentation = new Presentation()) } ``` + Y aquí está el resultado: -![todo:texto alternativo de imagen](img_02_03.png) +![todo:image_alt_text](img_02_03.png) -Además de un color de relleno de gradiente, es posible rellenar formas con una imagen: +Además del relleno de degradado, es posible rellenar formas con una imagen: ``` csharp byte[] imageData = File.ReadAllBytes("image.jpg"); IPPImage image = presentation.Images.AddImage(imageData); @@ -167,7 +151,7 @@ IPPImage image = presentation.Images.AddImage(imageData); shape.FillFormat.FillType = FillType.Picture; shape.FillFormat.PictureFillFormat.Picture.Image = image; shape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; -// ... configuraciones 3D: shape.ThreeDFormat.Camera, shape.ThreeDFormat.LightRig, shape.ThreeDFormat.Extrusion* propiedades +// ... configurar 3D: shape.ThreeDFormat.Camera, shape.ThreeDFormat.LightRig, shape.ThreeDFormat.Extrusion* properties using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -175,13 +159,13 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -Así es como se ve: -![todo:texto alternativo de imagen](img_02_04.png) +Así es como se ve: -## Texto 3D (WordArt) -Aspose.Slides permite aplicar 3D al texto también. Para crear un texto 3D, es posible usar el efecto de transformación de WordArt: +![todo:image_alt_text](img_02_04.png) +## **Texto 3D (WordArt)** +Aspose.Slides permite aplicar 3D al texto también. Para crear texto 3D es posible usar el efecto de transformación WordArt: ``` csharp const float imageScale = 2; @@ -192,7 +176,7 @@ using (Presentation presentation = new Presentation()) IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); shape.FillFormat.FillType = FillType.NoFill; shape.LineFormat.FillFormat.FillType = FillType.NoFill; - shape.TextFrame.Text = "Texto 3D"; + shape.TextFrame.Text = "3D Text"; Portion portion = (Portion)shape.TextFrame.Paragraphs[0].Portions[0]; portion.PortionFormat.FillFormat.FillType = FillType.Pattern; @@ -203,7 +187,7 @@ using (Presentation presentation = new Presentation()) shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 128; ITextFrameFormat textFrameFormat = shape.TextFrame.TextFrameFormat; - // establecer el efecto de transformación de WordArt "Arco hacia arriba" + // establecer el efecto de transformación WordArt "Arch Up" textFrameFormat.Transform = TextShapeType.ArchUp; textFrameFormat.ThreeDFormat.ExtrusionHeight = 3.5f; @@ -224,16 +208,21 @@ using (Presentation presentation = new Presentation()) } ``` -Aquí está el resultado: -![todo:texto alternativo de imagen](img_02_05.png) +Este es el resultado: + +![todo:image_alt_text](img_02_05.png) + +## **Preguntas frecuentes** + +**¿Se conservan los efectos 3D al exportar una presentación a imágenes/PDF/HTML?** + +Sí. El motor 3D de Slides renderiza los efectos 3D al exportar a formatos compatibles ([images](/slides/es/net/convert-powerpoint-to-png/), [PDF](/slides/es/net/convert-powerpoint-to-pdf/), [HTML](/slides/es/net/convert-powerpoint-to-html/), etc.). + +**¿Puedo obtener los valores “efectivos” (finales) de los parámetros 3D que tengan en cuenta temas, herencia, etc.?** +Sí. Slides proporciona API para [read effective values](/slides/es/net/shape-effective-properties/) (incluyendo 3D—iluminación, biseles, etc.) para que pueda ver la configuración final aplicada. -## No admitido - Próximamente -Las siguientes características 3D de PowerPoint aún no son compatibles: -- Bisel -- Material -- Contorno -- Iluminación +**¿Los efectos 3D funcionan al convertir una presentación a video?** -Continuamos mejorando nuestro motor 3D, y estas características son el objetivo de futuras implementaciones. \ No newline at end of file +Sí. Al [generar fotogramas para el video](/slides/es/net/convert-powerpoint-to-video/), los efectos 3D se renderizan de la misma manera que en las [exported images](/slides/es/net/convert-powerpoint-to-png/). \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/_index.md index fd1994478a..533d47d3c2 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -1,43 +1,73 @@ --- -title: Convertir Presentación +title: Convertir presentación type: docs weight: 70 url: /es/net/convert-presentation/ --- ## **Conversión de PPT a PPTX** -### **Acerca de la 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 .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 característica de conversión de presentaciones se ha introducido recientemente en Aspose.Slides para .NET, actualmente tiene capacidades limitadas y solo funciona para formas simples de presentaciones. La principal ventaja que la biblioteca de API Aspose.Slides para .NET ofrece para convertir presentaciones de PPT a formato de presentación PPTX es la facilidad de uso de la API para lograr el objetivo deseado. Por favor, proceda a este [enlace](/slides/es/net/convert-presentation/) a 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. +Aspose.Slides for .NET proporciona soporte parcial para convertir presentaciones en formato de archivo PPT a presentaciones en formato de archivo PPTX. Como la compatibilidad con la característica de conversión de presentaciones mencionada acaba de introducirse en Aspose.Slides for .NET, en este momento tiene capacidad limitada y funciona solo para formas simples de presentaciones. La principal ventaja que la biblioteca API de Aspose.Slides for .NET ofrece para convertir una presentación PPT a formato PPTX es la facilidad de uso de la API para lograr el objetivo deseado. Por favor, diríjase a este [enlace](/slides/es/net/convert-presentation/) a la sección de fragmentos de código para obtener más detalles. La siguiente sección ilustra claramente qué funciones son compatibles y cuáles no lo son 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/net/convert-ppt-to-pptx/). +Read more [**Cómo convertir PPT a PPTX**](/slides/es/net/convert-ppt-to-pptx/). {{% /alert %}} -## **Conversión de Presentación a PDF** +## **Conversión de presentaciones a PDF** ### **Acerca de PDF** -El [Formato de Documento Portátil](https://es.wikipedia.org/wiki/PDF) es un formato de archivo creado por Adobe System para el intercambio de documentos entre diferentes organizaciones. El propósito de este formato era hacer posible que los contenidos de los documentos se pudieran representar de tal manera que su apariencia visual no dependa de la plataforma en la que se esté visualizando. -### **PDF en Aspose.Slides para .NET** -[PDF ](https://docs.fileformat.com/pdf/) es un formato de archivo creado por Adobe System para el intercambio de documentos entre diferentes organizaciones. El propósito de este formato era hacer posible que la apariencia visual del contenido del documento no dependa de la plataforma en la que se esté visualizando. +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 pudiera representarse de manera que su apariencia visual no dependiera de la plataforma en la que se visualiza. +### **PDF en Aspose.Slides for .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 visualiza. -Cualquier documento de presentación que se pueda cargar en Aspose.Slides para .NET puede ser convertido a documento PDF. Puede exportar los documentos de presentación a PDF directamente utilizando solo el componente Aspose.Slides para .NET. No necesita ninguna otra biblioteca de terceros o componente Aspose.PDF para este propósito. +Cualquier documento de presentación que pueda cargarse en Aspose.Slides for .NET puede convertirse a documento PDF. Puede exportar los documentos de presentación a PDF directamente usando solo el componente Aspose.Slides for .NET. No necesita ninguna otra biblioteca de terceros ni el componente Aspose.PDF para este propósito. {{% alert color="primary" %}} -Leer más [**Cómo Convertir Presentación a PDF**](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-pdf/). +Read more [**Cómo convertir una presentación a PDF**](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-pdf/). {{% /alert %}} -## **Conversión de Presentación a XPS** +## **Conversión de presentaciones a XPS** ### **Acerca de XPS** -La [Especificación del Analizador XML](https://es.wikipedia.org/wiki/Open_XML_Paper_Specification) es un lenguaje de descripción de páginas 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 de documento independiente del dispositivo. -### **Convertir Presentación a XPS con Aspose.Slides** -Cualquier documento de presentación que se pueda cargar en Aspose.Slides para .NET puede ser convertido al formato XPS. Aspose.Slides para .NET utiliza el motor de diseño de página y renderizado de alta fidelidad para producir salida en formato de documento XPS de diseño fijo. Cabe mencionar que Aspose.Slides para .NET genera directamente XPS sin depender de las clases de Windows Presentation Foundation (WPF) que están empaquetadas con .NET Framework 3.5, permitiendo así que Aspose.Slides para .NET produzca documentos XPS en máquinas que ejecutan versiones anteriores a la versión 3.5 del .NET Framework. Puede aprender sobre la exportación de los documentos de presentación a documentos XPS a través de Aspose.Slides para .NET en [este tema](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). +La [Especificación del analizador XML](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) es un lenguaje de descripción de páginas y un formato de documento de página fija 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 pueda cargarse con Aspose.Slides for .NET puede convertirse al formato XPS. Aspose.Slides for .NET usa el motor de diseño de página y renderizado de alta fidelidad para producir salida en formato de documento XPS de diseño fijo. Vale la pena mencionar que Aspose.Slides for .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 for .NET producir documentos XPS en máquinas que ejecutan versiones de .NET Framework anteriores a la 3.5. Puede obtener información sobre la exportación de los documentos de presentación a documentos XPS a través de Aspose.Slides for .NET en [este tema](/slides/es/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/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) +Read more [**Cómo convertir una presentación a XPS**.](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) {{% /alert %}} -## **Conversión de Presentación a TIFF** +## **Conversión de presentaciones a TIFF** ### **Acerca de TIFF** -El [Formato de Archivo de Imagen Etiquetada](https://es.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 otras aplicaciones de 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 puede ser convertido directamente a un documento TIFF por Aspose.Slides para .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 la exportación de los documentos de presentación a documentos TIFF a través de Aspose.Slides para .NET en [este tema](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-tiff/). +El [Formato de archivo de imagen etiquetado](https://en.wikipedia.org/wiki/TIFF), conocido por almacenar múltiples imágenes en un solo documento, fue creado originalmente por Aldus. Este formato es ampliamente compatible con aplicaciones de escaneo, fax y otras aplicaciones de manipulación de imágenes. +### **Convertir presentación a TIFF con Aspose.Slides** +Cualquier documento que pueda cargarse en Aspose.Slide for .NET también puede convertirse directamente a documento TIFF mediante Aspose.Slides for .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 la exportación de los documentos de presentación a documentos TIFF a través de Aspose.Slides for .NET en [este tema](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-tiff/). {{% alert color="primary" %}} -Leer más [**Cómo Convertir Presentación a TIFF**](/slides/es/net/convert-powerpoint-to-tiff/) -{{% /alert %}} \ No newline at end of file +Read more [**Cómo convertir una presentación a TIFF**.](/slides/es/net/convert-powerpoint-to-tiff/) +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Puedo incluir diapositivas ocultas al exportar a PDF/XPS?** + +Sí. La exportación admite la inclusión de diapositivas ocultas mediante la opción correspondiente en la configuración de [PDF](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/)/[XPS](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/) . + +**¿Se admite guardar en el formato PDF/A (para archivado)?** + +Sí, los niveles de cumplimiento PDF/A [están disponibles](https://reference.aspose.com/slides/net/aspose.slides.export/pdfcompliance/) (incluidos A-2a/A-2b/A-2u y A-3a/A-3b) durante la exportación. + +**¿Qué ocurre 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/net/embedded-font/), especificar una [fuente de respaldo](/slides/es/net/fallback-font/), y [controlar el comportamiento](/slides/es/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/net/aspose.slides.export/pdfoptions/jpegquality/), la [compresión de texto](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/textcompression/), y un umbral de [resolución suficiente](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/sufficientresolution/) para imágenes, además de un modo que selecciona la [mejor compresión para imágenes](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/bestimagescompressionratio/) . + +**¿Puedo exportar solo un rango de diapositivas (por ejemplo, 5–12)?** + +Sí, la exportación admite la selección de un subconjunto de diapositivas. + +**¿Se admite el procesamiento multinúcleo de varios archivos al mismo tiempo?** + +Es aceptable procesar diferentes presentaciones en paralelo en procesos separados. Importante: el mismo objeto de [presentación](https://reference.aspose.com/slides/net/aspose.slides/presentation/) no debe cargarse ni guardarse desde [múltiples subprocesos](/slides/es/net/multithreading/) . + +**¿Existen riesgos al aplicar la licencia desde diferentes subprocesos?** + +Sí, las llamadas a [configuración de licencia](/slides/es/net/licensing/) no son seguras para subprocesos y requieren sincronización. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md index bfa6a4f550..6d0c70026b 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md @@ -1,53 +1,85 @@ --- -title: Convertir OpenOffice ODP +title: Convertir presentaciones OpenDocument (ODP) en C# +linktitle: Convertir OpenDocument type: docs weight: 10 url: /es/net/convert-openoffice-odp/ -keywords: "Convertir ODP a PDF, ODP a PPT, ODP a PPTX, ODP a XPS, ODP a HTML, ODP a TIFF" -description: "Convertir ODP a PDF, ODP a PPT, ODP a PPTX, ODP a HTML y otros formatos con Aspose.Slides." +keywords: +- convertir ODP +- ODP a imagen +- ODP a GIF +- ODP a HTML +- ODP a JPG +- ODP a MD +- ODP a PDF +- ODP a PNG +- ODP a PPT +- ODP a PPTX +- ODP a TIFF +- ODP a video +- ODP a Word +- ODP a XPS +description: "Aspose.Slides para .NET le permite convertir ODP a PDF, HTML y formatos de imagen con facilidad. Impulse sus aplicaciones .NET con una conversión de presentaciones rápida y precisa." --- -[**Aspose.Slides API**](https://products.aspose.com/slides/net/) te permite convertir presentaciones OpenOffice ODP a muchos formatos. La API utilizada para convertir archivos ODP a otros formatos de documento es la misma utilizada para las operaciones de conversión de PowerPoint (PPT y PPTX). +## **Descripción general** -Estos ejemplos te muestran cómo convertir documentos ODP a otros formatos (solo cambia el archivo ODP fuente): +Aspose.Slides for .NET proporciona una API robusta para convertir presentaciones OpenDocument (ODP) a varios formatos. Siguiendo un enfoque similar al utilizado para archivos PowerPoint (PPT y PPTX), los desarrolladores pueden exportar fácilmente documentos ODP a formatos como HTML, PDF, TIFF, JPG, XPS y más. + +Estos ejemplos muestran cómo convertir documentos ODP a otros formatos (simplemente cambie la fuente al archivo ODP): - [Convertir ODP a HTML](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-html/) - [Convertir ODP a PDF](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-pdf/) - [Convertir ODP a TIFF](/slides/es/net/convert-powerpoint-to-tiff/) -- [Convertir ODP a SWF Flash](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-swf-flash/) -- [Convertir ODP a XPS](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) -- [Convertir ODP a PDF con notas](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-pdf-with-notes/) -- [Convertir ODP a TIFF con notas](/slides/es/net/convert-powerpoint-ppt-and-pptx-to-tiff-with-notes/) - -Por ejemplo, si necesitas convertir una presentación ODP a PDF, se puede hacer de esta manera: - -```csharp -using (Presentation pres = new Presentation("pres.odp")) +- [Convertir ODP a SWF](/slides/es/net/convert-powerpoint-to-swf-flash/) +- [Convertir ODP a XPS](/slides/es/net/convert-powerpoint-to-xps/) +- [Convertir ODP a PDF con notas](/slides/es/net/convert-powerpoint-to-pdf-with-notes/) +- [Convertir ODP a TIFF con notas](/slides/es/net/convert-powerpoint-to-tiff-with-notes/) + +Por ejemplo, convertir una presentación ODP a PDF requiere solo unas pocas líneas de código en C#: +```cs +using (Presentation presentation = new Presentation("presentation.odp")) { - pres.Save("pres.pdf", SaveFormat.Pdf); + presentation.Save("presentation.pdf", SaveFormat.Pdf); } ``` +## **Presentación OpenDocument en diferentes aplicaciones** + +Cuando un archivo de presentación OpenDocument (ODP) se abre en PowerPoint, es posible que no conserve el formato original de la aplicación en la que se creó. Esto ocurre porque la aplicación de presentación OpenDocument y la aplicación PowerPoint ofrecen diferentes características y comportamientos de renderizado. + +Algunas de las diferencias: + +- En PowerPoint, las tablas se renderizan típicamente al final y pueden superponerse a otras formas, sin importar su orden en la diapositiva ODP. +- El relleno de imagen para tablas ODP no es compatible en PowerPoint. +- La rotación vertical del texto (270°, apilado) y la alineación distribuida no son compatibles en LibreOffice/OpenOffice Impress. +- El relleno de imagen, el relleno degradado y el relleno de patrón para texto no son compatibles en LibreOffice/OpenOffice Impress. + +MS PowerPoint y LibreOffice/OpenOffice Impress también manejan las listas de manera diferente. Un archivo ODP creado en PowerPoint puede no mostrarse correctamente en LibreOffice/OpenOffice Impress, y viceversa. + +La imagen a continuación muestra cómo aparece una lista cuando se crea en LibreOffice Impress: + +![ODP list example](odp-list-example.png) + +Aspose.Slides guarda las listas ODP de manera que garantizan que se visualicen correctamente en LibreOffice/OpenOffice Impress. -## Presentación OpenDocument en diferentes aplicaciones +[Obtenga más información sobre el formato OpenDocument y PowerPoint](https://support.microsoft.com/en-us/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0). -Cuando se abre un archivo de Presentación OpenDocument en PowerPoint, puede carecer del formato que tenía en la aplicación original donde se creó, porque la aplicación de Presentación OpenDocument y la aplicación de PowerPoint proporcionan diferentes características y opciones. +## **FAQ** -Estas son algunas de las diferencias: -- En PowerPoint, todas las tablas suelen cargarse al final y superponen otras formas (independientemente de la disposición de las formas en la diapositiva ODP). -- El relleno de imagen para tablas ODP no es compatible en PowerPoint. -- La rotación vertical del texto (270, apilado) y la alineación distribuida no son compatibles en LibreOffice/OpenOffice Impress. -- El relleno de imagen, el relleno de degradado y el relleno de patrón para texto no son compatibles en LibreOffice/OpenOffice Impress. +**¿Qué ocurre si el formato de mi archivo ODP cambia después de la conversión?** -MS PowerPoint y LibreOffice/OpenOffice Impress manejan las listas de manera diferente también. Un archivo ODP creado en PowerPoint no se abrirá correctamente en LibreOffice/OpenOffice y viceversa. +ODP y PowerPoint utilizan diferentes modelos de presentación, y algunos elementos —como tablas, fuentes personalizadas o estilos de relleno— pueden no renderizarse exactamente igual. Se recomienda revisar la salida y ajustar el diseño o el formato en el código si es necesario. -Esta imagen muestra la vista de la lista creada en LibreOffice Impress: +**¿Necesito tener instalado OpenOffice o LibreOffice para usar la conversión ODP?** -![odp-list-example](odp-list-example.png) +No, Aspose.Slides for .NET es una biblioteca independiente y no requiere que OpenOffice o LibreOffice estén instalados en su sistema. +**¿Puedo personalizar el formato de salida durante la conversión ODP (p. ej., establecer opciones de PDF)?** +Sí, Aspose.Slides ofrece amplias opciones para personalizar la salida. Por ejemplo, al guardar en PDF, puede controlar la compresión, la calidad de imagen, el renderizado de texto y más mediante la clase [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/). -**Aspose.Slides** guarda las listas ODP para garantizar que se muestren correctamente en LibreOffice/OpenOffice Impress. +**¿Es Aspose.Slides adecuado para el procesamiento de ODP en servidores o en la nube?** -[Aprende más sobre el Formato OpenDocument y PowerPoint](https://support.microsoft.com/en-gb/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0/). \ No newline at end of file +Absolutamente. Aspose.Slides for .NET está diseñado para funcionar tanto en entornos de escritorio como en servidores, incluidas plataformas basadas en la nube como Azure, AWS y contenedores Docker, sin dependencias de UI. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md index f262fdda57..dc84892089 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md @@ -4,24 +4,23 @@ linktitle: Convertir ODP a PPTX type: docs weight: 10 url: /es/net/convert-odp-to-pptx/ -keywords: "Convertir Presentación OpenOffice, ODP, ODP a PPTX, C#, Csharp, .NET" -description: "Convertir ODP de OpenOffice a Presentación PPTX en C# o .NET" +keywords: "Convertir Presentación de OpenOffice, ODP, ODP a PPTX, C#, Csharp, .NET" +description: "Convertir ODP de OpenOffice a Presentación PowerPoint PPTX en C# o .NET" --- -## Descripción general +## **Descripción general** Este artículo explica los siguientes temas. - [C# Convertir ODP a PPTX](#csharp-odp-to-pptx) - [C# Convertir ODP a PowerPoint](#csharp-odp-to-powerpoint) -## Conversión de ODP a PPTX en C# +## **Conversión de ODP a PPTX** -Aspose.Slides para .NET ofrece la clase Presentation que representa un archivo de presentación. La clase [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) ahora también puede acceder a ODP a través del constructor de Presentation cuando se instancia el objeto. El siguiente ejemplo muestra cómo convertir una presentación ODP en una presentación PPTX. +Aspose.Slides para .NET ofrece la clase Presentation que representa un archivo de presentación. La clase [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) ahora también puede acceder a ODP a través del constructor Presentation cuando se instancia el objeto. El siguiente ejemplo muestra cómo convertir una presentación ODP en una presentación PPTX. Pasos: Convertir ODP a PPTX en C# | Pasos: Convertir ODP a PowerPoint en C# - ```c# // Abrir el archivo ODP Presentation pres = new Presentation("AccessOpenDoc.odp"); @@ -32,4 +31,23 @@ pres.Save("AccessOpenDoc_out.pptx", SaveFormat.Pptx); ## **Ejemplo en vivo** -Puedes visitar [**Conversión de Aspose.Slides**](https://products.aspose.app/slides/conversion/) una aplicación web que está construida con **Aspose.Slides API.** La aplicación demuestra cómo se puede implementar la conversión de ODP a PPTX con la API de Aspose.Slides. \ No newline at end of file + +Puede visitar la aplicación web [**Conversión de Aspose.Slides**](https://products.aspose.app/slides/conversion/) que está construida con **Aspose.Slides API**. La aplicación demuestra cómo se puede implementar la conversión de ODP a PPTX con Aspose.Slides API. + +## **Preguntas frecuentes** + +**¿Necesito instalar Microsoft PowerPoint o LibreOffice para convertir ODP a PPTX?** + +No. Aspose.Slides funciona de forma independiente y no requiere aplicaciones de terceros para leer o escribir ODP/PPTX. + +**¿Se conservan las diapositivas maestras, diseños y temas durante la conversión?** + +Sí. La biblioteca utiliza un modelo de objeto de presentación completo y mantiene la estructura, incluidas las diapositivas maestras y los diseños, de modo que el diseño permanece correcto después de la conversión. + +**¿Puedo convertir archivos ODP protegidos con contraseña?** + +Sí. Aspose.Slides admite la detección de protección, la apertura y el trabajo con [presentaciones protegidas](/slides/es/net/password-protected-presentation/) (incluidos ODP) cuando se proporciona la contraseña, así como la configuración del cifrado y el acceso a las propiedades del documento. + +**¿Es Aspose.Slides adecuado para servicios de conversión en la nube o basados en REST?** + +Sí. Puede usar la biblioteca local en su propio backend o [Aspose.Slides Cloud](https://products.aspose.cloud/slides/family/) (REST API); ambas opciones admiten la conversión ODP → PPTX. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md new file mode 100644 index 0000000000..b715bddfee --- /dev/null +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md @@ -0,0 +1,63 @@ +--- +title: Convertir presentaciones en modo folleto en C# +type: docs +weight: 150 +url: /es/net/convert-powerpoint-in-Handout-mode/ +keywords: +- convertir PowerPoint +- modo folleto +- folleto +- PowerPoint +- PPT +- PPTX +- presentación +- C# +- Csharp +- .NET +- Aspose.Slides +description: "Convertir presentaciones en modo folleto en C#" +--- + +## **Exportación en modo de folleto** + +Aspose.Slides ofrece la capacidad de convertir presentaciones a varios formatos, incluido la creación de folletos para imprimir en modo de folleto. Este modo le permite configurar cómo aparecen varias diapositivas en una sola página, lo que resulta útil para conferencias, seminarios y otros eventos. Puede habilitar este modo estableciendo la propiedad `SlidesLayoutOptions` en las interfaces [IPdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ipdfoptions/), [IRenderingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/irenderingoptions/), [IHtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ihtmloptions/) y [ITiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/itiffoptions/). + +Para configurar el modo de folleto, utilice el objeto [HandoutLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/handoutlayoutingoptions/), que determina cuántas diapositivas se colocan en una sola página y otros parámetros de visualización. + +A continuación se muestra un ejemplo de código que convierte una presentación a PDF en modo de folleto. +```c# + // Cargar una presentación. + using var presentation = new Presentation("sample.pptx"); + + // Establecer las opciones de exportación. + var pdfOptions = new PdfOptions + { + SlidesLayoutOptions = new HandoutLayoutingOptions + { + Handout = HandoutType.Handouts4Horizontal, // 4 diapositivas en una página horizontalmente + PrintSlideNumbers = true, // imprimir números de diapositiva + PrintFrameSlide = true, // imprimir un marco alrededor de las diapositivas + PrintComments = false // sin comentarios + } + }; + + // Exportar la presentación a PDF con el diseño seleccionado. + presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); +``` + + +{{% alert color="warning" %}}Tenga en cuenta que la propiedad `SlidesLayoutOptions` solo está disponible para ciertos formatos de salida, como PDF, HTML, TIFF y al renderizar como imágenes.{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Cuál es el número máximo de miniaturas de diapositivas por página en modo de folleto?** + +Aspose.Slides admite [preajustes](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) de hasta 9 miniaturas por página con ordenamiento horizontal o vertical: 1, 2, 3, 4 (horizontal/vertical), 6 (horizontal/vertical) y 9 (horizontal/vertical). + +**¿Puedo definir una cuadrícula personalizada, como 5 u 8 diapositivas por página?** + +No. El número y el orden de las miniaturas están controlados estrictamente por la enumeración [HandoutType](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/); no se admiten diseños arbitrarios. + +**¿Puedo incluir diapositivas ocultas en la salida del folleto?** + +Sí. Habilite la opción `ShowHiddenSlides` en la configuración de exportación del formato de destino, como [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions/) o [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index afa285838c..4225fc1a85 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -1,16 +1,15 @@ --- -title: Convertir PowerPoint a GIF Animado +title: Convertir PowerPoint a GIF animado type: docs weight: 65 url: /es/net/convert-powerpoint-to-animated-gif/ -keywords: "Convertir PowerPoint, PPT, PPTX, GIF animado, PPT a GIF animado, PPTX a GIF animado C#, Csharp, .NET, configuraciones predeterminadas, configuraciones personalizadas" -description: "Convertir Presentación de PowerPoint a GIF animado: PPT a GIF, PPTX a GIF en C# o .NET" +keywords: "Convertir PowerPoint, PPT, PPTX, GIF animado, PPT a GIF animado, PPTX a GIF animado C#, Csharp, .NET, configuración predeterminada, configuración personalizada" +description: "Convertir presentación PowerPoint a GIF animado: PPT a GIF, PPTX a GIF en C# o .NET" --- -## Convertir Presentaciones a GIF Animado Usando Configuraciones Predeterminadas ## - -Este código de muestra en C# muestra cómo convertir una presentación a GIF animado utilizando configuraciones estándar: +## **Convertir presentaciones a GIF animado usando la configuración predeterminada** +Este código de ejemplo en C# le muestra cómo convertir una presentación a GIF animado usando la configuración estándar: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -18,17 +17,16 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -El GIF animado se creará con parámetros predeterminados. - -{{% alert title="TIP" color="primary" %}} -Si prefieres personalizar los parámetros para el GIF, puedes utilizar la clase [GifOptions](https://reference.aspose.com/slides/net/aspose.slides.export/gifoptions). Consulta el código de muestra a continuación. +El GIF animado se creará con los parámetros predeterminados. +{{% alert title="TIP" color="primary" %}} +Si prefiere personalizar los parámetros del GIF, puede usar la clase [GifOptions](https://reference.aspose.com/slides/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 muestra muestra cómo convertir una presentación a GIF animado utilizando configuraciones personalizadas en C#: +## **Convertir presentaciones a GIF animado usando configuración personalizada** +Este código de ejemplo le muestra cómo convertir una presentación a GIF animado usando configuración personalizada en C#: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -36,13 +34,22 @@ using (Presentation pres = new Presentation("pres.pptx")) { FrameSize = new Size(960, 720), // el tamaño del GIF resultante DefaultDelay = 2000, // cuánto tiempo se mostrará cada diapositiva antes de cambiar a la siguiente - TransitionFps = 35 // aumentar FPS para mejorar la calidad de la animación de transición + TransitionFps = 35 // incrementar FPS para mejorar la calidad de la animación de transición }); } ``` + {{% alert title="Info" color="info" %}} +Puede que le interese probar un conversor GRATUITO de [Texto a 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 respaldo](/slides/es/net/powerpoint-fonts/). Aspose.Slides sustituirá, pero la apariencia puede variar. Para la marca, siempre asegúrese de que los tipos de letra requeridos estén disponibles explícitamente. -Es posible que desees probar un convertidor GRATUITO de [Texto a GIF](https://products.aspose.app/slides/text-to-gif) desarrollado por Aspose. +**¿Puedo superponer una marca de agua en los fotogramas del GIF?** -{{% /alert %}} \ No newline at end of file +Sí. [Agregue un objeto/logo semitransparente](/slides/es/net/watermark/) a la diapositiva maestra o a diapositivas individuales antes de exportar — la marca de agua aparecerá en cada fotograma. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index 5125812f4e..a4d4b6de36 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -1,190 +1,202 @@ --- -title: Convertir PowerPoint a HTML en C# .NET +title: Convertir presentaciones de PowerPoint a HTML en C# linktitle: Convertir PowerPoint a HTML type: docs weight: 30 url: /es/net/convert-powerpoint-to-html/ -keywords: "C# PowerPoint a HTML, C# PPT a HTML, C# ODP a HTML, C# Slide a HTML, Convertir presentación de PowerPoint, PPTX, PPT, PPT a HTML, PPTX a HTML, PowerPoint a HTML, Guardar PowerPoint como HTML, Guardar PPT como HTML, Guardar PPTX como HTML, C#, Csharp, .NET, Aspose.Slides, exportación a HTML" -description: "Convertir PowerPoint a HTML: Guardar PPTX o PPT como HTML. Guardar diapositivas como HTML" +keywords: +- PowerPoint a HTML +- presentación a HTML +- diapositiva a HTML +- PPT a HTML +- PPTX a HTML +- ODP a HTML +- convertir presentación PowerPoint +- conversión de PowerPoint +- conversión de presentación +- conversión a HTML +- guardar PowerPoint como HTML +- guardar presentación como HTML +- guardar diapositiva como HTML +- guardar PPT como HTML +- guardar PPTX como HTML +- exportación a HTML +- C# +- .NET +- Aspose.Slides +description: "Aprenda cómo convertir presentaciones de PowerPoint y OpenDocument a HTML usando Aspose.Slides para .NET. Esta guía ofrece instrucciones, ejemplos de código y buenas prácticas para convertir diapositivas a un formato apto para la web." --- -## **Descripción general** +## **Visión general** -Este artículo explica cómo convertir una presentación de PowerPoint en formato HTML utilizando C#. Cubre los siguientes temas. +Mejore su flujo de trabajo convirtiendo presentaciones de PowerPoint y OpenDocument a HTML con Aspose.Slides para .NET. Esta guía ofrece instrucciones detalladas, ejemplos de código robustos y métodos probados para garantizar un proceso de conversión fiable y eficiente optimizado para la visualización web. -- [Convertir PowerPoint a HTML en C#](#convertir-powerpoint-a-html) -- [Convertir PPT a HTML en C#](#convertir-powerpoint-a-html) -- [Convertir PPTX a HTML en C#](#convertir-powerpoint-a-html) -- [Convertir ODP a HTML en C#](#convertir-powerpoint-a-html) -- [Convertir diapositiva de PowerPoint a HTML en C#](#convertir-diapositiva-a-html) +Aspose.Slides ofrece muchas opciones—principalmente de la clase [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions)—que definen el proceso de conversión del formato PowerPoint (o OpenDocument) a HTML: -## **C# PowerPoint a HTML** +* Convertir una presentación completa de PowerPoint a HTML. +* Convertir una diapositiva específica de una presentación de PowerPoint a HTML. +* Convertir los medios de la presentación (imágenes, videos, etc.) a HTML. +* Convertir una presentación de PowerPoint a HTML responsivo. +* Convertir una presentación de PowerPoint a HTML con notas del orador incluidas o excluidas. +* Convertir una presentación de PowerPoint a HTML con comentarios incluidos o excluidos. +* Convertir una presentación de PowerPoint a HTML con fuentes originales o incrustadas. +* Convertir una presentación de PowerPoint a HTML utilizando el nuevo estilo CSS. -Para ver un código de ejemplo en C# para convertir PowerPoint a HTML, consulte la sección a continuación, es decir, [Convertir PowerPoint a HTML](#convertir-powerpoint-a-html). El código puede cargar varios formatos como PPT, PPTX y ODP en un objeto Presentation y guardarlo en formato HTML. +## **Convertir una presentación a HTML** -## **Acerca de la conversión de PowerPoint a HTML** -Utilizando [**Aspose.Slides para .NET**](https://products.aspose.com/slides/net/), las aplicaciones y los desarrolladores pueden convertir una presentación de PowerPoint a HTML: **PPTX a HTML** o **PPT a HTML**. +Con Aspose.Slides, puede convertir una presentación completa de PowerPoint o OpenDocument a HTML de la siguiente manera: -**Aspose.Slides** proporciona muchas opciones (principalmente de la clase [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions)) que definen el proceso de conversión de PowerPoint a HTML: - -* Convertir una presentación de PowerPoint completa a HTML. -* Convertir una diapositiva específica en una presentación de PowerPoint a HTML. -* Convertir medios de presentación (imágenes, videos, etc.) a HTML. -* Convertir una presentación de PowerPoint a HTML responsivo. -* Convertir una presentación de PowerPoint a HTML con notas del orador incluidas o excluidas. -* Convertir una presentación de PowerPoint a HTML con comentarios incluidos o excluidos. -* Convertir una presentación de PowerPoint a HTML con fuentes originales o incrustadas. -* Convertir una presentación de PowerPoint a HTML mientras se utiliza el nuevo estilo CSS. - -{{% alert color="primary" %}} - -Utilizando su propia API, Aspose desarrolló conversores gratuitos [de presentación a HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html): [PPT a HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX a HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP a HTML](https://products.aspose.app/slides/conversion/odp-to-html), etc. - -[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) - -Es posible que desee consultar otros [convertidores gratuitos de Aspose](https://products.aspose.app/slides/conversion). - -{{% /alert %}} - -{{% alert title="Nota" color="warning" %}} - -Además de los procesos de conversión descritos aquí, Aspose.Slides también admite estas operaciones de conversión que involucran el formato HTML: - -* [HTML a imagen](https://products.aspose.com/slides/net/conversion/html-to-image/) -* [HTML a JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) -* [HTML a XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) -* [HTML a TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) - -{{% /alert %}} - - -## **Convertir PowerPoint a HTML** -Utilizando Aspose.Slides, puede convertir toda una presentación de PowerPoint a HTML de esta manera: - -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Utilizar el método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) para guardar el objeto como un archivo HTML. - -Este código muestra cómo convertir un PowerPoint a HTML en C#: +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Utilizar el método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) para guardar el objeto como un archivo HTML. ```c# -// Instancia un objeto de presentación que representa un archivo de presentación, por ejemplo, PPT, PPTX, ODP, etc. -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// Instanciar la clase Presentation que representa un archivo de presentación (p.ej., PPT, PPTX, ODP, etc.). +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions htmlOpt = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOpt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; - - htmlOpt.HtmlFormatter = HtmlFormatter.CreateDocumentFormatter("", false); - - // Guarda la presentación como HTML - presentation.Save("ConvertWholePresentationToHTML_out.html", SaveFormat.Html, htmlOpt); + // Guardar la presentación como HTML. + presentation.Save("output.html", SaveFormat.Html); } ``` -## **Convertir PowerPoint a HTML responsivo** -Aspose.Slides proporciona la clase [ResponsiveHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller) que le permite generar archivos HTML responsivos. Este código muestra cómo convertir una presentación de PowerPoint a HTML responsivo en C#: +## **Convertir una presentación a HTML responsivo** + +Aspose.Slides proporciona la clase [ResponsiveHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller) que le permite generar archivos HTML responsivos. Este código demuestra cómo convertir una presentación de PowerPoint a HTML responsivo en C#: ```c# -// Instancia un objeto Presentation que representa un archivo de presentación -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// Instanciar la clase Presentation que representa un archivo de presentación. +using (Presentation presentation = new Presentation("presentation.pptx")) { ResponsiveHtmlController controller = new ResponsiveHtmlController(); - HtmlOptions htmlOptions = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) }; - // Guarda la presentación como HTML - presentation.Save("ConvertPresentationToResponsiveHTML_out.html", SaveFormat.Html, htmlOptions); + HtmlOptions htmlOptions = new HtmlOptions + { + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) + }; + + // Guardar la presentación como HTML. + presentation.Save("responsive.html", SaveFormat.Html, htmlOptions); } ``` -## **Convertir PowerPoint a HTML con notas** -Este código muestra cómo convertir un PowerPoint a HTML con notas en C#: + +## **Convertir una presentación a HTML con notas del orador** + +Al convertir una presentación de PowerPoint o OpenDocument a HTML con notas del orador, es esencial capturar la esencia completa del documento original. Este proceso garantiza que no solo los elementos visuales de las diapositivas se representen con precisión, sino que las notas del orador adjuntas también se conserven, enriqueciendo el contenido con contexto e información adicional. + +Supongamos que tenemos una presentación de PowerPoint con la siguiente diapositiva: + +![Una diapositiva de presentación con notas del orador](slide_with_notes.png) ```c# -using (Presentation pres = new Presentation("Presentation.pptx")) +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions opt = new HtmlOptions(); + // Establecer opciones para las notas del orador. + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - INotesCommentsLayoutingOptions options = opt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + // Establecer opciones para el documento HTML de salida. + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions + }; - // Guarda páginas de notas - pres.Save("Output.html", SaveFormat.Html, opt); + // Guardar la presentación como HTML con notas del orador. + presentation.Save("slide_with_notes.html", SaveFormat.Html, htmlOptions); } ``` -## **Convertir PowerPoint a HTML con fuentes originales** -Aspose.Slides proporciona la clase [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) que le permite incrustar todas las fuentes en una presentación mientras convierte la presentación a HTML. +El resultado: + +![Un documento HTML con la diapositiva y las notas del orador](HTML_with_notes.png) -Para evitar que ciertas fuentes se incrusten, puede pasar una matriz de nombres de fuentes a un constructor parametrizado de la clase [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller). Las fuentes populares, como Calibri o Arial, cuando se utilizan en una presentación, no tienen que ser incrustadas porque la mayoría de los sistemas ya contienen tales fuentes. Cuando esas fuentes se incrustan, el documento HTML resultante se vuelve innecesariamente grande. +## **Convertir una presentación a HTML con fuentes originales** -La clase [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) admite la herencia y proporciona el método [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont), que está destinado a ser sobrescrito. +Aspose.Slides proporciona la clase [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) que le permite incrustar todas las fuentes de una presentación al convertirla a HTML. +Para evitar que ciertas fuentes se incrusten, puede pasar una matriz de nombres de fuentes al constructor parametrizado de la clase [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller). Fuentes populares, como Calibri o Arial, no necesitan incrustarse porque la mayoría de los sistemas ya incluyen esas fuentes. Incrustarlas aumentaría innecesariamente el tamaño del documento HTML resultante. + +La clase [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) admite herencia y proporciona el método [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont), que está pensado para ser sobrescrito. ```c# -using (Presentation pres = new Presentation("input.pptx")) +using (Presentation presentation = new Presentation("input.pptx")) { - // Excluye fuentes predeterminadas de la presentación - string[] fontNameExcludeList = { "Calibri", "Arial" }; + // Excluir las fuentes predeterminadas de la presentación. + string[] excludeFonts = { "Calibri", "Arial" }; - EmbedAllFontsHtmlController embedFontsController = new EmbedAllFontsHtmlController(fontNameExcludeList); + EmbedAllFontsHtmlController fontController = new EmbedAllFontsHtmlController(excludeFonts); - HtmlOptions htmlOptionsEmbed = new HtmlOptions + HtmlOptions htmlOptions = new HtmlOptions { - HtmlFormatter = HtmlFormatter.CreateCustomFormatter(embedFontsController) + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(fontController) }; - pres.Save("input-PFDinDisplayPro-Regular-installed.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("embedded_fonts.html", SaveFormat.Html, htmlOptions); } ``` -## **Convertir PowerPoint a HTML con imágenes de alta calidad** -Por defecto, cuando convierte PowerPoint a HTML, Aspose.Slides genera un HTML pequeño con imágenes a 72 DPI y áreas recortadas eliminadas. Para obtener archivos HTML con imágenes de mayor calidad, debe establecer la propiedad `PicturesCompression` (de la clase `HtmlOptions`) en 96 (es decir, `PicturesCompression.Dpi96`) o valores [más altos](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression). +## **Convertir una presentación a HTML con imágenes de alta calidad** -Este código C# muestra cómo convertir una presentación de PowerPoint a HTML mientras se obtienen imágenes de alta calidad a 150 DPI (es decir, `PicturesCompression.Dpi150`): +De forma predeterminada, al convertir una presentación de PowerPoint a HTML, Aspose.Slides genera un archivo HTML pequeño con imágenes a 72 DPI y elimina las áreas recortadas. Para obtener archivos HTML con imágenes de mayor calidad, debe establecer la propiedad `PicturesCompression` (de la clase `HtmlOptions`) a 96 (es decir, `PicturesCompression.Dpi96`) o a un valor superior, como se detalla en [esta referencia](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression). +Este código C# muestra cómo convertir una presentación de PowerPoint a HTML obteniendo imágenes de alta calidad a 150 DPI (es decir, `PicturesCompression.Dpi150`): ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - PicturesCompression = PicturesCompression.Dpi150 -}; -pres.Save("OutputDoc-dpi150.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + PicturesCompression = PicturesCompression.Dpi150 + }; + + presentation.Save("output_dpi_150.html", SaveFormat.Html, htmlOptions); +} ``` -Este código en C# muestra cómo generar HTML con imágenes de calidad completa: +Este código C# muestra cómo convertir una presentación de PowerPoint a HTML sin eliminar las áreas recortadas: ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - DeletePicturesCroppedAreas = false -}; -pres.Save("Outputdoc-noCrop.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + DeletePicturesCroppedAreas = false + }; + + presentation.Save("output_no_crop.html", SaveFormat.Html, htmlOptions); +} ``` -## **Convertir diapositiva a HTML** -Para convertir una diapositiva específica en un PowerPoint a HTML, debe instanciar la misma clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) (usada para convertir presentaciones completas a HTML) y luego usar el método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) para guardar el archivo como HTML. La clase [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions**) se puede utilizar para especificar opciones de conversión adicionales: -Este código C# muestra cómo convertir una diapositiva en una presentación de PowerPoint a HTML: +## **Convertir una diapositiva de presentación a HTML** +Para convertir una diapositiva específica de una presentación de PowerPoint a HTML, es necesario instanciar la misma clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) (utilizada para convertir presentaciones completas a HTML) y luego usar el método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) para guardar el archivo como HTML. La clase [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) puede usarse para especificar opciones de conversión adicionales. ```c# public static void Run() { - using (Presentation presentation = new Presentation("Individual-Slide.pptx")) + using (Presentation presentation = new Presentation("sample.pptx")) { - HtmlOptions htmlOptions = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()); + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions, + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()) + }; - // Guarda el archivo for (int i = 0; i < presentation.Slides.Count; i++) - presentation.Save("Individual Slide" + (i + 1) + "_out.html", new[] { i + 1 }, SaveFormat.Html, htmlOptions); + { + int slideIndex = i + 1; + + // Guardar la diapositiva en un archivo HTML. + string fileName = $"output_slide_{slideIndex}.html"; + presentation.Save(fileName, new[] { slideIndex }, SaveFormat.Html, htmlOptions); + } } } @@ -219,26 +231,27 @@ public class CustomFormattingController : IHtmlFormattingController ## **Guardar CSS e imágenes al exportar a HTML** -Utilizando nuevos archivos de estilo CSS, puede cambiar fácilmente el estilo del archivo HTML resultante del proceso de conversión de PowerPoint a HTML. -El código C# en este ejemplo muestra cómo utilizar métodos sobrescribibles para crear un documento HTML personalizado con un enlace a un archivo CSS: +Utilizando nuevos archivos de estilo CSS, puede cambiar fácilmente la apariencia del archivo HTML generado a partir del proceso de conversión de PowerPoint a HTML. +El código C# en este ejemplo muestra cómo usar métodos sobrescribibles para crear un documento HTML personalizado que incluye un enlace a un archivo CSS: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { CustomHeaderAndFontsController htmlController = new CustomHeaderAndFontsController("styles.css"); + HtmlOptions options = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(htmlController), }; - pres.Save("pres.html", SaveFormat.Html, options); + presentation.Save("pres.html", SaveFormat.Html, options); } ``` ```c# public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController { - // Plantilla de encabezado personalizada + // Plantilla de encabezado personalizada. const string Header = "\n" + "\n" + "\n" + @@ -247,7 +260,6 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController "\n" + ""; - private readonly string m_cssFileName; public CustomHeaderAndFontsController(string cssFileName) @@ -263,27 +275,24 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController public override void WriteAllFonts(IHtmlGenerator generator, IPresentation presentation) { - generator.AddHtml(""); + generator.AddHtml(""); base.WriteAllFonts(generator, presentation); } } ``` -## **Vincular todas las fuentes al convertir la presentación a HTML** -Si no desea incrustar fuentes (para evitar aumentar el tamaño del HTML resultante), puede vincular todas las fuentes implementando su propia versión de `LinkAllFontsHtmlController`. +## **Vincular todas las fuentes al convertir una presentación a HTML** -Este código C# muestra cómo convertir un PowerPoint a HTML vinculando todas las fuentes y excluyendo "Calibri" y "Arial" (ya que ya existen en el sistema): +Si no desea incrustar fuentes (para evitar aumentar el tamaño del HTML resultante), puede vincular todas las fuentes implementando su propia versión de `LinkAllFontsHtmlController`. +Este código C# muestra cómo convertir una presentación de PowerPoint a HTML vinculando todas las fuentes y excluyendo "Calibri" y "Arial" (ya que están instaladas en el sistema): ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { - //Excluye fuentes predeterminadas de la presentación + // Excluir fuentes predeterminadas de la presentación. string[] fontNameExcludeList = { "Calibri", "Arial" }; - Paragraph para = new Paragraph(); - ITextFrame txt; - LinkAllFontsHtmlController linkcont = new LinkAllFontsHtmlController(fontNameExcludeList, @"C:\Windows\Fonts\");; HtmlOptions htmlOptionsEmbed = new HtmlOptions @@ -291,12 +300,12 @@ using (Presentation pres = new Presentation("pres.pptx")) HtmlFormatter = HtmlFormatter.CreateCustomFormatter(linkcont) }; - pres.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); } ``` -Este código C# muestra cómo se implementa `LinkAllFontsHtmlController`: +Este código C# muestra cómo se implementa `LinkAllFontsHtmlController`: ```c# public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController { @@ -319,7 +328,7 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController try { string fontName = substitutedFont == null ? originalFont.FontName : substitutedFont.FontName; - string path = fontName + ".woff"; //Puede ser necesario sanitizar la ruta + string path = fontName + ".woff"; // Puede ser necesario algún saneamiento de la ruta. File.WriteAllBytes(Path.Combine(m_basePath, path), fontData); @@ -339,53 +348,91 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController } ``` -## **Convertir PowerPoint a HTML responsivo** -Este código C# muestra cómo convertir una presentación de PowerPoint a HTML responsivo: +## **Convertir una presentación con imágenes SVG a HTML responsivo** + +Este código C# muestra cómo convertir una presentación de PowerPoint a HTML responsivo: ```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -HtmlOptions saveOptions = new HtmlOptions(); -saveOptions.SvgResponsiveLayout = true; -presentation.Save("SomePresentation-out.html", SaveFormat.Html, saveOptions); +using (Presentation presentation = new Presentation("Presentation.pptx")) +{ + HtmlOptions saveOptions = new HtmlOptions + { + SvgResponsiveLayout = true + }; + + presentation.Save("SvgResponsiveLayout-out.html", SaveFormat.Html, saveOptions); +} ``` ## **Exportar archivos multimedia a HTML** -Utilizando Aspose.Slides para .NET, puede exportar archivos multimedia de esta manera: + +Con Aspose.Slides para .NET, puede exportar archivos multimedia de la siguiente manera: 1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 1. Obtener una referencia a la diapositiva. -1. Agregar un video a la diapositiva. -1. Escribir la presentación como un archivo HTML. - -Este código C# muestra cómo agregar un video a la presentación y luego guardarlo como HTML: +1. Añadir un video a la diapositiva. +1. Guardar la presentación como un archivo HTML. +Este código C# muestra cómo añadir un video a la presentación y luego guardarla como HTML: ```c# -// Carga una presentación -using (Presentation pres = new Presentation()) -{ - string path = "C:/out/"; - const string fileName = "ExportMediaFiles_out.html"; - const string baseUri = "http://www.example.com/"; - - using (FileStream fileStream = new FileStream("my_video.avi", FileMode.Open, FileAccess.Read)) + // Crear una nueva presentación. + using (Presentation presentation = new Presentation()) { - IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); - - ISlide slide = pres.Slides[0]; - slide.Shapes.AddVideoFrame(10, 10, 100, 100, video); + string path = "C:/out/"; + const string fileName = "ExportMediaFiles_out.html"; + const string baseUri = "http://www.example.com/"; + + using (FileStream fileStream = new FileStream("my_video.avi", FileMode.Open, FileAccess.Read)) + { + IVideo video = presentation.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); + + ISlide slide = presentation.Slides[0]; + slide.Shapes.AddVideoFrame(10, 10, 100, 100, video); + } + + VideoPlayerHtmlController controller = new VideoPlayerHtmlController(path, fileName, baseUri); + + // Establecer opciones HTML. + HtmlOptions htmlOptions = new HtmlOptions(controller); + SVGOptions svgOptions = new SVGOptions(controller); + + htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller); + htmlOptions.SlideImageFormat = SlideImageFormat.Svg(svgOptions); + + // Guardar la presentación en un archivo HTML. + presentation.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); } - - VideoPlayerHtmlController controller = new VideoPlayerHtmlController(path, fileName, baseUri); +``` + - // Establece opciones HTML - HtmlOptions htmlOptions = new HtmlOptions(controller); - SVGOptions svgOptions = new SVGOptions(controller); +{{% alert color="primary" %}} +Aspose desarrolló conversores gratuitos de [presentación a HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html): [PPT a HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX a HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP a HTML](https://products.aspose.app/slides/conversion/odp-to-html), etc. - htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller); - htmlOptions.SlideImageFormat = SlideImageFormat.Svg(svgOptions); +[![conversor PPT a HTML](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) - // Guarda el archivo - pres.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); -} -``` \ No newline at end of file +Descubra otros [conversores gratuitos de Aspose](https://products.aspose.app/slides/conversion). +{{% /alert %}} + +{{% alert title="Note" color="warning" %}} +Además de los procesos de conversión descritos aquí, Aspose.Slides también admite estas operaciones de conversión que involucran el formato HTML: + +* [HTML a imagen](https://products.aspose.com/slides/net/conversion/html-to-image/) +* [HTML a JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) +* [HTML a XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) +* [HTML a TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Cuál es el rendimiento de Aspose.Slides al convertir varias presentaciones a HTML?** + +El rendimiento depende del tamaño y la complejidad de las presentaciones. Aspose.Slides es altamente eficiente y escalable para operaciones por lotes. Para lograr un rendimiento óptimo al convertir muchas presentaciones, se recomienda utilizar subprocesos múltiples o procesamiento paralelo siempre que sea posible. + +**¿Aspose.Slides admite la exportación de hipervínculos a HTML?** + +Sí, Aspose.Slides admite totalmente la exportación de hipervínculos incrustados a HTML. Al convertir presentaciones al formato HTML, los hipervínculos se conservan automáticamente y siguen siendo clicables. + +**¿Existe algún límite en el número de diapositivas al convertir presentaciones a HTML?** + +No hay límite en el número de diapositivas al usar Aspose.Slides. Puede convertir presentaciones de cualquier tamaño. Sin embargo, para presentaciones que contengan un número muy grande de diapositivas, el rendimiento puede depender de los recursos disponibles en su servidor o sistema. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md index 1f6650d12e..d8a4890992 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md @@ -1,149 +1,177 @@ --- -title: Convertir PowerPoint a JPG en C# -linktitle: Convertir PowerPoint PPT a JPG +title: Convertir PPT, PPTX y ODP a JPG en C# +linktitle: Convertir diapositivas a imágenes JPG type: docs weight: 60 url: /es/net/convert-powerpoint-to-jpg/ -keywords: -- Convertir presentación de PowerPoint -- JPG -- JPEG +keywords: +- convertir PowerPoint a JPG +- convertir presentación a JPG +- convertir diapositiva a JPG +- convertir PPT a JPG +- convertir PPTX a JPG +- convertir ODP a JPG - PowerPoint a JPG -- PowerPoint a JPEG +- presentación a JPG +- diapositiva a JPG - PPT a JPG - PPTX a JPG +- ODP a JPG +- convertir PowerPoint a JPEG +- convertir presentación a JPEG +- convertir diapositiva a JPEG +- convertir PPT a JPEG +- convertir PPTX a JPEG +- convertir ODP a JPEG +- PowerPoint a JPEG +- presentación a JPEG +- diapositiva a JPEG - PPT a JPEG - PPTX a JPEG +- ODP a JPEG - C# - Csharp - .NET - Aspose.Slides -description: "Convertir PowerPoint a JPG en C# o .NET. Guardar diapositiva como imagen JPG" +description: "Aprenda cómo transformar sus diapositivas de presentaciones PowerPoint y OpenDocument en imágenes JPEG de alta calidad con solo unas pocas líneas de código. Optimice las presentaciones para uso web, compartir y archivar. ¡Lea la guía completa ahora!" --- -## **Resumen** - -Este artículo explica cómo convertir una presentación de PowerPoint a formato JPG utilizando C#. Cubre los siguientes temas: +## **Descripción general** -- [C# Convertir PowerPoint a JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Convertir PPT a JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Convertir PPTX a JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Convertir ODP a JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Convertir diapositiva de PowerPoint a imagen](#convert-powerpoint-pptpptx-to-jpg) +Convertir presentaciones de PowerPoint y OpenDocument a imágenes JPG ayuda a compartir diapositivas, optimizar el rendimiento e incrustar contenido en sitios web o aplicaciones. Aspose.Slides para .NET le permite transformar archivos PPTX, PPT y ODP en imágenes JPEG de alta calidad. Esta guía explica los diferentes métodos de conversión. -## **C# PowerPoint a JPG** +Con estas funciones, es fácil implementar su propio visor de presentaciones y crear una miniatura para cada diapositiva. Esto puede ser útil si desea proteger las diapositivas de la copia o demostrar la presentación en modo de solo lectura. Aspose.Slides le permite convertir toda la presentación o una diapositiva específica a formatos de imagen. -Para código de muestra en C# para convertir PowerPoint a JPG, consulte la sección a continuación, es decir, [Convertir PowerPoint a JPG](#convert-powerpoint-pptpptx-to-jpg). El código puede cargar varios formatos como PPT, PPTX y ODP en el objeto Presentación y luego guardar su miniatura de diapositiva en formato JPG. Otras conversiones de PowerPoint a imagen que son algo similares, como PNG, BMP, TIFF y SVG, se discuten en estos artículos. +## **Convertir diapositivas de presentación a imágenes JPG** -- [C# PowerPoint a PNG](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -- [C# PowerPoint a BMP](#convert-powerpoint-pptpptx-to-jpg) -- [C# PowerPoint a TIFF](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) -- [C# PowerPoint a SVG](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) +Estos son los pasos para convertir un archivo PPT, PPTX o ODP a JPG: -## **Acerca de la conversión de PowerPoint a JPG** -Con [**Aspose.Slides .NET API**](https://products.aspose.com/slides/net/) puedes convertir una presentación de PowerPoint PPT o PPTX a imagen JPG. También es posible convertir PPT/PPTX a BMP, PNG o SVG. Con esta función es fácil implementar tu propio visor de presentaciones, crear la miniatura de cada diapositiva. Esto puede ser útil si deseas proteger las diapositivas de la presentación contra derechos de autor, demostrar la presentación en modo de solo lectura. Aspose.Slides permite convertir toda la presentación o una diapositiva específica en formatos de imagen.  +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Obtenga el objeto de diapositiva del tipo [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) de la colección [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides). +1. Cree una imagen de la diapositiva usando el método [ISlide.GetImage(float, float)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5). +1. Llame al método [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3) sobre el objeto imagen. Pase el nombre del archivo de salida y el formato de imagen como argumentos. {{% alert color="primary" %}} -Para ver cómo Aspose.Slides convierte PowerPoint en imágenes JPG, puedes probar estos conversores en línea gratuitos: PowerPoint [PPTX a JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) y [PPT a JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg). - -{{% /alert %}} - -![todo:image_alt_text](ppt-to-jpg.png) - -## **Convertir PowerPoint PPT/PPTX a JPG** -Aquí están los pasos para convertir PPT/PPTX a JPG: - -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtén el objeto de diapositiva del tipo [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) de la colección [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides). -3. Crea la miniatura de cada diapositiva y luego conviértela a JPG. El método [**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) se utiliza para obtener una miniatura de una diapositiva, devuelve un objeto [Bitmap](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.bitmap?view=netframework-4.8) como resultado. Se debe llamar al método [GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) desde la diapositiva necesaria del tipo [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide), las escalas de la miniatura resultante se pasan al método. -4. Después de obtener la miniatura de la diapositiva, llama al método [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8) del objeto de miniatura. Pasa el nombre del archivo resultante y el formato de la imagen en él.  +**Nota:** La conversión de PPT, PPTX o ODP a JPG difiere de la conversión a otros formatos en la API Aspose.Slides .NET. Para otros formatos, normalmente usa el método [IPresentation.Save(String, SaveFormat, ISaveOptions)](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/save/#save_5). Sin embargo, para la conversión a JPG, debe usar el método [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3). -{{% alert color="primary" %}} -**Nota**: La conversión de PPT/PPTX a JPG difiere de la conversión a otros tipos en Aspose.Slides .NET API. Para otros tipos, generalmente utilizas el método [**IPresentation.SaveMethod(String, SaveFormat, ISaveOptions)** ](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5), pero aquí necesitas el método [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8). {{% /alert %}} - ```c# -const int imageScale = 1; +int scaleX = 1; +int scaleY = scaleX; -using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt")) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.ppt")) { - foreach (ISlide slide in pres.Slides) + foreach (ISlide slide in presentation.Slides) { - // Crea una imagen a escala completa - using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) + // Crear una imagen de diapositiva con la escala especificada. + using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) { - // Guarda la imagen en disco en formato JPEG - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // Guardar la imagen en disco en formato JPEG. + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } } ``` -## **Convertir PowerPoint PPT/PPTX a JPG con dimensiones personalizadas** -Para cambiar la dimensión de la miniatura resultante y la imagen JPG, puedes establecer los valores *ScaleX* y *ScaleY* pasándolos al método [**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5): -```c# -using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx")) -{ - // Define dimensiones - int desiredX = 1200; - int desiredY = 800; +## **Convertir diapositivas a JPG con dimensiones personalizadas** - // Obtiene los valores escalados de X y Y - float scaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX; - float scaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY; +Para cambiar las dimensiones de las imágenes JPG resultantes, puede establecer el tamaño de la imagen pasándolo al método [ISlide.GetImage(Size)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_6). Esto le permite generar imágenes con valores específicos de ancho y alto, asegurando que la salida cumpla sus requisitos de resolución y relación de aspecto. Esta flexibilidad es particularmente útil al generar imágenes para aplicaciones web, informes o documentación, donde se requieren dimensiones de imagen precisas. +```c# +Size imageSize = new Size(1200, 800); - foreach (ISlide slide in pres.Slides) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.pptx")) +{ + foreach (ISlide slide in presentation.Slides) { - // Crea una imagen a escala completa - using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) + // Crear una imagen de diapositiva del tamaño especificado. + using (IImage thumbnail = slide.GetImage(imageSize)) { - // Guarda la imagen en disco en formato JPEG - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // Guardar la imagen en disco en formato JPEG. + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } } ``` -## **Renderizar comentarios al guardar la presentación como imagen** -Aspose.Slides para .NET proporciona una función que te permite renderizar comentarios en las diapositivas de una presentación cuando conviertes esas diapositivas en imágenes. Este código C# demuestra la operación: +## **Renderizar comentarios al guardar diapositivas como imágenes** + +Aspose.Slides para .NET ofrece una función que le permite renderizar los comentarios de las diapositivas de una presentación al convertirlas en imágenes JPG. Esta funcionalidad es especialmente útil para preservar anotaciones, retroalimentación o discusiones añadidas por colaboradores en presentaciones de PowerPoint. Al habilitar esta opción, garantiza que los comentarios sean visibles en las imágenes generadas, facilitando la revisión y el intercambio de comentarios sin necesidad de abrir el archivo original de la presentación. + +Supongamos que tenemos un archivo de presentación, "sample.pptx", con una diapositiva que contiene comentarios: + +![La diapositiva con comentarios](slide_with_comments.png) + +El siguiente código C# convierte la diapositiva a una imagen JPG conservando los comentarios: ```c# -using (Presentation presentation = new Presentation("test.pptx")) +int scaleX = 2; +int scaleY = scaleX; + +using (Presentation presentation = new Presentation("sample.pptx")) { IRenderingOptions options = new RenderingOptions { + // Establecer opciones para los comentarios de la diapositiva. SlidesLayoutOptions = new NotesCommentsLayoutingOptions { - NotesPosition = NotesPositions.BottomTruncated, - CommentsAreaColor = Color.Red, + CommentsPosition = CommentsPositions.Right, CommentsAreaWidth = 200, - CommentsPosition = CommentsPositions.Right + CommentsAreaColor = Color.DarkOrange } }; - using (IImage image = presentation.Slides[0].GetImage(options)) + // Convertir la primera diapositiva a una imagen. + using (IImage image = presentation.Slides[0].GetImage(options, scaleX, scaleY)) { - image.Save("OutPresBitmap.png", ImageFormat.Png); + image.Save("Slide_1.jpg", ImageFormat.Jpeg); } - - System.Diagnostics.Process.Start("OutPresBitmap.png"); } ``` -{{% alert title="Consejo" color="primary" %}} -Aspose proporciona una [aplicación web COLAGE GRATUITA](https://products.aspose.app/slides/collage). Usando este servicio en línea, puedes combinar [JPG a JPG](https://products.aspose.app/slides/collage/jpg) o imágenes PNG a PNG, crear [rejillas de fotos](https://products.aspose.app/slides/collage/photo-grid), y más. +El resultado: + +![La imagen JPG con comentarios](image_with_comments.png) + +## **Vea también** -Utilizando los mismos principios descritos en este artículo, puedes convertir imágenes de un formato a otro. Para más información, consulta estas páginas: convertir [imagen a JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); convertir [JPG a imagen](https://products.aspose.com/slides/net/conversion/jpg-to-image/); convertir [JPG a PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), convertir [PNG a JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); convertir [PNG a SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), convertir [SVG a PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). +Consulte otras opciones para convertir PPT, PPTX o ODP a imágenes, como: + +- [Convertir PowerPoint a GIF](/slides/es/net/convert-powerpoint-to-animated-gif/) +- [Convertir PowerPoint a PNG](/slides/es/net/convert-powerpoint-to-png/) +- [Convertir PowerPoint a TIFF](/slides/es/net/convert-powerpoint-to-tiff/) +- [Convertir PowerPoint a SVG](/slides/es/net/render-a-slide-as-an-svg-image/) + +{{% alert color="primary" %}} + +Para ver cómo Aspose.Slides convierte PowerPoint a imágenes JPG, pruebe estos conversores en línea gratuitos: PowerPoint [PPTX a JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) y [PPT a JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg). + +{{% /alert %}} + +![Convertidor en línea gratuito de PPTX a JPG](ppt-to-jpg.png) + +{{% alert title="Tip" color="primary" %}} + +Aspose ofrece una [aplicación web GRATUITA de Collage](https://products.aspose.app/slides/collage). Con este servicio en línea, puede combinar [JPG a JPG](https://products.aspose.app/slides/collage/jpg) o PNG a PNG, crear [cuadrículas de fotos](https://products.aspose.app/slides/collage/photo-grid), etc. + +Usando los mismos principios descritos en este artículo, puede convertir imágenes de un formato a otro. Para más información, consulte estas páginas: convertir [imagen a JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); convertir [JPG a imagen](https://products.aspose.com/slides/net/conversion/jpg-to-image/); convertir [JPG a PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), convertir [PNG a JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); convertir [PNG a SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), convertir [SVG a PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -## **Ver también** +## **Preguntas frecuentes** + +**¿Este método admite la conversión por lotes?** + +Sí, Aspose.Slides permite la conversión por lotes de múltiples diapositivas a JPG en una sola operación. + +**¿La conversión admite SmartArt, gráficos y otros objetos complejos?** + +Sí, Aspose.Slides renderiza todo el contenido, incluidos SmartArt, gráficos, tablas, formas y más. Sin embargo, la precisión del renderizado puede variar ligeramente en comparación con PowerPoint, especialmente al usar fuentes personalizadas o faltantes. -Consulta otras opciones para convertir PPT/PPTX en imagen como: +**¿Existen limitaciones en la cantidad de diapositivas que se pueden procesar?** -- [Conversión PPT/PPTX a SVG](/slides/es/net/render-a-slide-as-an-svg-image/). \ No newline at end of file +Aspose.Slides en sí no impone límites estrictos en la cantidad de diapositivas que puede procesar. No obstante, es posible que encuentre un error de falta de memoria al trabajar con presentaciones muy grandes o imágenes de alta resolución. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md index 960629dcb2..f538d7781d 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md @@ -9,23 +9,22 @@ description: "Convertir PowerPoint a Markdown en C#" {{% alert color="info" %}} -El soporte para la conversión de PowerPoint a markdown fue implementado en [Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/). +La compatibilidad para la conversión de PowerPoint a markdown se implementó en [Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/). {{% /alert %}} {{% alert color="warning" %}} -La exportación de PowerPoint a markdown es **sin imágenes** por defecto. Si deseas exportar un documento de PowerPoint que contenga imágenes, necesitas establecer `ExportType = MarkdownExportType.Visual` y establecer la BasePath donde se guardarán las imágenes referenciadas en el documento markdown. +La exportación de PowerPoint a markdown es **sin imágenes** por defecto. Si desea exportar un documento de PowerPoint que contenga imágenes, debe establecer `ExportType = MarkdownExportType.Visual` y definir el BasePath donde se guardarán las imágenes referenciadas en el documento markdown. {{% /alert %}} ## **Convertir PowerPoint a Markdown** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) para representar un objeto de presentación. -2. Utiliza el método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) para guardar el objeto como un archivo markdown. - -Este código C# te muestra cómo convertir PowerPoint a markdown: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) para representar un objeto de presentación. +2. Utilice el método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) para guardar el objeto como un archivo markdown. +Este código C# le muestra cómo convertir PowerPoint a markdown: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -33,12 +32,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Convertir PowerPoint a Sabor de Markdown -Aspose.Slides te permite convertir PowerPoint a markdown (que contiene sintaxis básica), CommonMark, markdown de GitHub, Trello, XWiki, GitLab y otros 17 sabores de markdown. +## **Convertir PowerPoint a un Sabor de Markdown** -Este código C# te muestra cómo convertir PowerPoint a CommonMark: +Aspose.Slides le permite convertir PowerPoint a markdown (con sintaxis básica), CommonMark, markdown con estilo de GitHub, Trello, XWiki, GitLab y otros 17 sabores de markdown. +Este código C# le muestra cómo convertir PowerPoint a CommonMark: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -49,16 +48,16 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Los 23 sabores de markdown compatibles están [listados bajo la enumeración Flavor](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) de la clase [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/). -## **Convertir Presentación que Contiene Imágenes a Markdown** +Los 23 sabores de markdown compatibles están [enumerados en la enumeración Flavor](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) de la clase [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/). -La clase [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) proporciona propiedades y enumeraciones que te permiten usar ciertas opciones o configuraciones para el archivo markdown resultante. La enumeración [MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/) puede, por ejemplo, establecerse en valores que determinan cómo se renderizan o manejan las imágenes: `Sequential`, `TextOnly`, `Visual`. +## **Convertir Presentación con Imágenes a Markdown** -### **Convertir Imágenes Secuencialmente** +La clase [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) proporciona propiedades y enumeraciones que permiten usar ciertas opciones o configuraciones para el archivo markdown resultante. El enum [MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/), por ejemplo, puede establecerse en valores que determinan cómo se renderizan o manejan las imágenes: `Sequential`, `TextOnly`, `Visual`. -Si deseas que las imágenes aparezcan individualmente una tras otra en el markdown resultante, debes elegir la opción secuencial. Este código C# te muestra cómo convertir una presentación que contiene imágenes a markdown: +### **Convertir Imágenes Secuencialmente** +Si desea que las imágenes aparezcan individualmente una tras otra en el markdown resultante, debe elegir la opción secuencial. Este código C# le muestra cómo convertir una presentación con imágenes a markdown: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -75,12 +74,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` + ### **Convertir Imágenes Visualmente** -Si deseas que las imágenes aparezcan juntas en el markdown resultante, debes elegir la opción visual. En este caso, las imágenes se guardarán en el directorio actual de la aplicación (y se construirá una ruta relativa para ellas en el documento markdown), o puedes especificar tu ruta y nombre de carpeta preferidos. +Si desea que las imágenes aparezcan juntas en el markdown resultante, debe elegir la opción visual. En este caso, las imágenes se guardarán en el directorio actual de la aplicación (y se generará una ruta relativa para ellas en el documento markdown), o puede especificar la ruta y el nombre de carpeta que prefiera. Este código C# demuestra la operación: - ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -92,4 +91,19 @@ using (Presentation pres = new Presentation("pres.pptx")) BasePath = outPath }); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Los hipervínculos sobreviven a la exportación a Markdown?** + +Sí. Los hipervínculos de texto [hyperlinks](/slides/es/net/manage-hyperlinks/) se conservan como enlaces Markdown estándar. Las [transiciones](/slides/es/net/slide-transition/) y [animaciones](/slides/es/net/powerpoint-animation/) de diapositivas no se convierten. + +**¿Puedo acelerar la conversión ejecutándola en varios hilos?** + +Puede paralelizar por archivos, pero [no comparta](/slides/es/net/multithreading/) la misma instancia de [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) entre hilos. Utilice instancias o procesos separados por archivo para evitar contenciones. + +**¿Qué ocurre con las imágenes—dónde se guardan y son las rutas relativas?** + +Las [Images](/slides/es/net/image/) se exportan a una carpeta dedicada, y el archivo Markdown las referencia con rutas relativas por defecto. Puede configurar la ruta base de salida y el nombre de la carpeta de activos para mantener una estructura de repositorio predecible. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index 88fb05a3d4..d2d0aef034 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,15 +1,20 @@ --- -title: Convertir PowerPoint a PDF en C# -linktitle: Convertir PowerPoint a PDF +title: Convertir PPT y PPTX a PDF en C# [Funciones avanzadas incluidas] +linktitle: Convertir PPT y PPTX a PDF type: docs weight: 40 url: /es/net/convert-powerpoint-to-pdf/ keywords: - convertir PowerPoint -- presentación +- convertir presentación - PowerPoint a PDF +- presentación a PDF - PPT a PDF +- convertir PPT a PDF - PPTX a PDF +- convertir PPTX a PDF +- ODP a PDF +- convertir ODP a PDF - guardar PowerPoint como PDF - PDF/A1a - PDF/A1b @@ -18,172 +23,169 @@ keywords: - Csharp - .NET - Aspose.Slides para .NET -description: "Convierte presentaciones de PowerPoint a PDF en C# o .NET. Guarda PowerPoint como PDF cumpliendo con normas de accesibilidad o conformidad." +description: "Aprenda cómo convertir presentaciones PPT, PPTX y ODP a PDF en C# o .NET usando Aspose.Slides. Implemente funciones avanzadas como protección con contraseña, normas de cumplimiento y opciones personalizadas para obtener documentos PDF de alta calidad y accesibles." --- -## **Descripción general** +## **Visión general** -Convertir documentos de PowerPoint a formato PDF ofrece varias ventajas, incluyendo asegurar la compatibilidad a través de diferentes dispositivos y preservar el diseño y formato de tu presentación. Este artículo te muestra cómo convertir presentaciones a documentos PDF, usar varias opciones para controlar la calidad de la imagen, incluir diapositivas ocultas, proteger documentos PDF con contraseña, detectar sustituciones de fuentes, seleccionar diapositivas para conversión y aplicar estándares de conformidad a los documentos de salida. +Convertir presentaciones de PowerPoint (PPT, PPTX, ODP, etc.) a formato PDF en C# ofrece varias ventajas, incluida la compatibilidad entre diferentes dispositivos y la preservación del diseño y formato de su presentación. Esta guía muestra cómo convertir presentaciones a documentos PDF, usar diversas opciones para controlar la calidad de imagen, incluir diapositivas ocultas, proteger con contraseña los archivos PDF, detectar sustituciones de fuentes, seleccionar diapositivas específicas para la conversión y aplicar normas de cumplimiento a los documentos de salida. ## **Conversiones de PowerPoint a PDF** -Usando Aspose.Slides, puedes convertir presentaciones en estos formatos a PDF: +Con Aspose.Slides, puede convertir presentaciones en los siguientes formatos a PDF: -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -Para convertir una presentación a PDF, simplemente debes pasar el nombre del archivo como un argumento en la clase [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) y luego guardar la presentación como un PDF usando un método [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/). La clase [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) expone el método [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/#presentationsave-method-5-of-9) que se utiliza típicamente para convertir una presentación a PDF. +Para convertir una presentación a PDF, pase el nombre del archivo como argumento a la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) y luego guarde la presentación como PDF usando un método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/). La clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) expone el método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) que se utiliza típicamente para convertir una presentación a PDF. -{{% alert title="NOTA" color="warning" %}} +{{% alert title="NOTE" color="warning" %}} -Aspose.Slides para .NET escribe directamente la información de la API y el número de versión en los documentos de salida. Por ejemplo, cuando convierte una presentación a PDF, Aspose.Slides para .NET llena el campo de Aplicación con el valor '*Aspose.Slides*' y el campo del Productor de PDF con un valor en la forma '*Aspose.Slides v XX.XX*'. **Nota** que no puedes instruir a Aspose.Slides para .NET para cambiar o eliminar esta información de los documentos de salida. +Aspose.Slides para .NET inserta la información de su API y el número de versión en los documentos de salida. Por ejemplo, al convertir una presentación a PDF, Aspose.Slides rellena el campo Application con "*Aspose.Slides*" y el campo PDF Producer con un valor en forma "*Aspose.Slides v XX.XX*". **Nota** que no puede indicarle a Aspose.Slides que cambie o elimine esta información de los documentos de salida. {{% /alert %}} -Aspose.Slides te permite convertir: +Aspose.Slides le permite convertir: -* toda una presentación a PDF -* diapositivas específicas en una presentación a PDF -* una presentación +* Presentaciones completas a PDF +* Diapositivas específicas de una presentación a PDF -Aspose.Slides exporta presentaciones a PDF de manera que el contenido de los PDFs resultantes sea muy similar al de las presentaciones originales. Estos elementos y atributos conocidos a menudo se representan correctamente en las conversiones de presentación a PDF: +Aspose.Slides exporta presentaciones a PDF, garantizando que los PDFs resultantes coincidan estrechamente con las presentaciones originales. Los elementos y atributos se renderizan con precisión en la conversión, incluyendo: -* imágenes -* cuadros de texto y otras formas -* textos y su formato -* párrafos y su formato -* hiperenlaces -* encabezados y pies de página -* viñetas -* tablas +* Imágenes +* Cuadros de texto y formas +* Formato de texto +* Formato de párrafo +* Hipervínculos +* Encabezados y pies de página +* Viñetas +* Tablas ## **Convertir PowerPoint a PDF** -La operación estándar de conversión de PowerPoint a PDF se ejecuta usando opciones predeterminadas. En este caso, Aspose.Slides trata de convertir la presentación proporcionada a PDF usando configuraciones óptimas en los niveles de calidad máximos. - -Este código C# te muestra cómo convertir un PowerPoint (PPT, PPTX, ODP) a PDF: +El proceso estándar de conversión de PowerPoint a PDF utiliza opciones predeterminadas. En este caso, Aspose.Slides intenta convertir la presentación proporcionada a PDF usando configuraciones óptimas al nivel máximo de calidad. +Este código C# le muestra cómo convertir una presentación (PPT, PPTX, ODP, etc.) a PDF: ```c# -// Instancia una clase Presentation que representa un archivo de PowerPoint, puede ser PPT, PPTX, ODP, etc. -Presentation presentation = new Presentation("PowerPoint.ppt"); +// Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument. +using var presentation = new Presentation("PowerPoint.ppt"); -// Guarda la presentación como un PDF +// Guardar la presentación como PDF. presentation.Save("PDF-result.pdf", SaveFormat.Pdf); ``` + {{% alert color="primary" %}} -Aspose proporciona un [**convertidor de PowerPoint a PDF en línea gratuito**](https://products.aspose.app/slides/conversion/ppt-to-pdf) que demuestra el proceso de conversión de presentación a PDF. Para una implementación en vivo del procedimiento descrito aquí, puedes hacer una prueba con el convertidor. +Aspose ofrece un convertidor gratuito en línea de PowerPoint a PDF [**convertidor de PowerPoint a PDF**](https://products.aspose.app/slides/conversion/ppt-to-pdf) que demuestra el proceso de conversión de presentación a PDF. Puede ejecutar una prueba con este convertidor para una implementación en vivo del procedimiento descrito aquí. {{% /alert %}} -## **Convertir PowerPoint a PDF con opciones** - -Aspose.Slides proporciona opciones personalizadas—propiedades bajo la clase [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)—que te permiten personalizar el PDF (resultado del proceso de conversión), bloquear el PDF con una contraseña, o incluso especificar cómo debe llevarse a cabo el proceso de conversión. +## **Convertir PowerPoint a PDF con Opciones** -### **Convertir PowerPoint a PDF con opciones personalizadas** +Aspose.Slides ofrece opciones personalizadas —propiedades bajo la clase [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)— que le permiten personalizar el PDF resultante, proteger el PDF con una contraseña o especificar cómo debe proceder el proceso de conversión. -Usando opciones de conversión personalizadas, puedes establecer tu configuración de calidad preferida para imágenes rasterizadas, especificar cómo deben manejarse los metafiles, establecer un nivel de compresión para textos, establecer DPI para imágenes, etc. +### **Convertir PowerPoint a PDF con Opciones Personalizadas** -El siguiente ejemplo de código demuestra una operación en la que una presentación de PowerPoint se convierte a PDF con varias opciones personalizadas: +Utilizando opciones de conversión personalizadas, puede definir su configuración de calidad preferida para imágenes rasterizadas, especificar cómo deben manejarse los metarchivos, establecer un nivel de compresión para el texto, configurar DPI para las imágenes y más. +El ejemplo de código a continuación muestra cómo convertir una presentación de PowerPoint a PDF con varias opciones personalizadas. ```c# -// Instancia la clase PdfOptions -PdfOptions pdfOptions = new PdfOptions -{ - // Establece la calidad para imágenes JPG - JpegQuality = 90, + // Instanciar la clase PdfOptions. + var pdfOptions = new PdfOptions + { + // Establecer la calidad para imágenes JPG. + JpegQuality = 90, - // Establece DPI para imágenes - SufficientResolution = 300, + // Establecer DPI para imágenes. + SufficientResolution = 300, - // Establece el comportamiento para metafiles - SaveMetafilesAsPng = true, + // Establecer el comportamiento para metafiles. + SaveMetafilesAsPng = true, - // Establece el nivel de compresión de texto para contenido textual - TextCompression = PdfTextCompression.Flate, + // Establecer el nivel de compresión de texto para contenido textual. + TextCompression = PdfTextCompression.Flate, - // Define el modo de conformidad de PDF - Compliance = PdfCompliance.Pdf15 -}; + // Definir el modo de cumplimiento PDF. + Compliance = PdfCompliance.Pdf15 + }; -// Instancia la clase Presentation que representa un documento de PowerPoint -using (Presentation presentation = new Presentation("PowerPoint.pptx")) -{ - // Guarda la presentación como un documento PDF - presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); -} + // Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument. + using var presentation = new Presentation("PowerPoint.pptx"); + + // Guardar la presentación como documento PDF. + presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **Convertir PowerPoint a PDF con diapositivas ocultas** -Si una presentación contiene diapositivas ocultas, puedes usar una opción personalizada—la propiedad [`ShowHiddenSlides`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) de la clase [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)—para instruir a Aspose.Slides a incluir las diapositivas ocultas como páginas en el PDF resultante. +### **Convertir PowerPoint a PDF con Diapositivas Ocultas** -Este código C# te muestra cómo convertir una presentación de PowerPoint a PDF incluyendo diapositivas ocultas: +Si una presentación contiene diapositivas ocultas, puede usar la propiedad [ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) de la clase [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) para incluir las diapositivas ocultas como páginas en el PDF resultante. +Este código C# muestra cómo convertir una presentación de PowerPoint a PDF incluyendo diapositivas ocultas: ```c# -// Instancia una clase Presentation que representa un archivo de PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -// Instancia la clase PdfOptions -PdfOptions pdfOptions = new PdfOptions(); +// Instanciar la clase PdfOptions. +var pdfOptions = new PdfOptions(); -// Agrega diapositivas ocultas +// Agregar diapositivas ocultas. pdfOptions.ShowHiddenSlides = true; -// Guarda la presentación como un PDF +// Guardar la presentación como PDF. presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **Convertir PowerPoint a PDF protegido por contraseña** -Este código C# te muestra cómo convertir un PowerPoint a un PDF protegido por contraseña (usando parámetros de protección de la clase [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)): +### **Convertir PowerPoint a PDF Protegido con Contraseña** +Este código C# demuestra cómo convertir una presentación de PowerPoint en un PDF protegido con contraseña usando los parámetros de protección de la clase [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/): ```c# -// Instancia un objeto Presentation que representa un archivo de PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -/// Instancia la clase PdfOptions -PdfOptions pdfOptions = new PdfOptions(); +// Instanciar la clase PdfOptions. +var pdfOptions = new PdfOptions(); -// Establece la contraseña del PDF y los permisos de acceso -pdfOptions.Password = "contraseña"; +// Establecer una contraseña PDF y permisos de acceso. +pdfOptions.Password = "password"; pdfOptions.AccessPermissions = PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint; -// Guarda la presentación como un PDF +// Guardar la presentación como PDF. presentation.Save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **Detectar sustituciones de fuentes** -Aspose.Slides proporciona la propiedad [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) bajo la clase [SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/) para permitirte detectar sustituciones de fuentes en un proceso de conversión de presentación a PDF. +### **Detectar Sustituciones de Fuentes** -Este código C# te muestra cómo detectar sustituciones de fuentes: xxx +Aspose.Slides ofrece la propiedad [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) bajo la clase [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), que permite detectar sustituciones de fuentes durante el proceso de conversión de presentación a PDF. +Este código C# muestra cómo detectar sustituciones de fuentes: ```c# public static void Main() { - LoadOptions loadOptions = new LoadOptions(); - FontSubstSendsWarningCallback warningCallback = new FontSubstSendsWarningCallback(); - loadOptions.WarningCallback = warningCallback; + // Instanciar la clase Presentation que representa un archivo PowerPoint u OpenDocument. + using var presentation = new Presentation("sample.pptx"); - using (Presentation pres = new Presentation("pres.pptx", loadOptions)) - { - } + // Establecer el callback de advertencia en las opciones PDF. + var pdfOptions = new PdfOptions(); + pdfOptions.WarningCallback = new FontSubstitutionHandler(); + + // Guardar la presentación como PDF. + presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); } -private class FontSubstSendsWarningCallback : IWarningCallback +// Implementación del callback de advertencia. +private class FontSubstitutionHandler : IWarningCallback { public ReturnAction Warning(IWarningInfo warning) { - if (warning.WarningType == WarningType.CompatibilityIssue) - return ReturnAction.Continue; - if (warning.WarningType == WarningType.DataLoss && - warning.Description.StartsWith("Se sustituirá la fuente")) + warning.Description.StartsWith("Font will be substituted")) { - Console.WriteLine($"Advertencia de sustitución de fuente: {warning.Description}"); + Console.WriteLine($"Font substitution warning: {warning.Description}"); } return ReturnAction.Continue; @@ -191,97 +193,131 @@ private class FontSubstSendsWarningCallback : IWarningCallback } ``` + {{% alert color="primary" %}} -Para más información sobre cómo obtener devoluciones de llamada para sustituciones de fuentes en un proceso de renderizado, consulta [Obteniendo devoluciones de llamada de advertencia para la sustitución de fuentes](https://docs.aspose.com/slides/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/). +Para obtener más información sobre cómo recibir callbacks para sustituciones de fuentes durante el proceso de renderizado, consulte [Getting Warning Callbacks for Fonts Substitution](/slides/es/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/). -Para más información sobre la sustitución de fuentes, consulta el artículo [Sustitución de fuentes](https://docs.aspose.com/slides/net/font-substitution/). +Para obtener más información sobre la sustitución de fuentes, consulte el artículo [Font Substitution](/slides/es/net/font-substitution/). {{% /alert %}} -## **Convertir diapositivas seleccionadas en PowerPoint a PDF** - -Este código C# te muestra cómo convertir diapositivas específicas en una presentación de PowerPoint a PDF: +## **Convertir Diapositivas Seleccionadas de PowerPoint a PDF** +Este código C# demuestra cómo convertir solo diapositivas específicas de una presentación de PowerPoint a PDF: ```c# -// Instancia un objeto Presentation que representa un archivo de PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Instanciar la clase Presentation que representa un archivo PowerPoint o OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -// Establece un array de posiciones de diapositivas +// Establecer la matriz de números de diapositivas. int[] slides = { 1, 3 }; -// Guarda la presentación como un PDF +// Guardar la presentación como PDF. presentation.Save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf); ``` -## **Convertir PowerPoint a PDF con tamaño de diapositiva personalizado** -Este código C# te muestra cómo convertir un PowerPoint cuando su tamaño de diapositiva está especificado a un PDF: +## **Convertir PowerPoint a PDF con Tamaño de Diapositiva Personalizado** +Este código C# demuestra cómo convertir una presentación de PowerPoint a PDF con un tamaño de diapositiva especificado: ```c# -// Instancia un objeto Presentation que representa un archivo de PowerPoint -Presentation presentation = new Presentation("SelectedSlides.pptx"); -Presentation auxPresentation = new Presentation(); +var slideWidth = 612; +var slideHeight = 792; -ISlide slide = presentation.Slides[0]; -auxPresentation.Slides.InsertClone(0, slide); +// Cargar una presentación de PowerPoint. +using var presentation = new Presentation("SelectedSlides.pptx"); -// Establece el tipo y tamaño de la diapositiva -// auxPresentation.SlideSize.SetSize(presentation.SlideSize.Size.Width, presentation.SlideSize.Size.Height,SlideSizeScaleType.EnsureFit); -auxPresentation.SlideSize.SetSize(612F, 792F,SlideSizeScaleType.EnsureFit); +// Crear una nueva presentación con un tamaño de diapositiva ajustado. +using var resizedPresentation = new Presentation(); -PdfOptions pdfOptions = new PdfOptions(); -INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; -options.NotesPosition = NotesPositions.BottomFull; +// Establecer el tamaño de diapositiva personalizado. +resizedPresentation.SlideSize.SetSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit); -auxPresentation.Save("PDFnotes_out.pdf", SaveFormat.Pdf, pdfOptions); +// Clonar la primera diapositiva de la presentación original. +var slide = presentation.Slides[0]; +resizedPresentation.Slides.InsertClone(0, slide); + +// Guardar la presentación redimensionada en un PDF con notas. +resizedPresentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf); ``` -## **Convertir PowerPoint a PDF en vista de notas** -Este código C# te muestra cómo convertir un PowerPoint a PDF notas: +## **Convertir PowerPoint a PDF en Vista de Notas** +Este código C# demuestra cómo convertir una presentación de PowerPoint a un PDF que incluye notas: ```c# -// Instancia una clase Presentation que representa un archivo de PowerPoint -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// Cargar una presentación de PowerPoint. +using var presentation = new Presentation("NotesFile.pptx"); + +// Configurar las opciones PDF con diseño de notas. +var pdfOptions = new PdfOptions { - PdfOptions pdfOptions = new PdfOptions(); - INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + } +}; - // Guarda la presentación en PDF notas - presentation.Save("Pdf_Notes_out.tiff", SaveFormat.Pdf, pdfOptions); -} +// Guardar la presentación en un PDF con notas. +presentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions); ``` -## **Normas de accesibilidad y conformidad para PDF** -Aspose.Slides te permite usar un procedimiento de conversión que cumple con las [Directrices de accesibilidad para el contenido web (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Puedes exportar un documento de PowerPoint a PDF utilizando cualquiera de estos estándares de conformidad: **PDF/A1a**, **PDF/A1b**, y **PDF/UA**. +## **Accesibilidad y Normas de Cumplimiento para PDF** -Este código C# demuestra una operación de conversión de PowerPoint a PDF en la que se obtienen múltiples PDFs basados en diferentes estándares de conformidad: +Aspose.Slides le permite usar un procedimiento de conversión que cumple con las [Directrices de Accesibilidad para el Contenido Web (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Puede exportar un documento de PowerPoint a PDF usando cualquiera de estas normas de cumplimiento: **PDF/A1a**, **PDF/A1b** y **PDF/UA**. +Este código C# muestra un proceso de conversión de PowerPoint a PDF que produce varios PDFs basados en diferentes normas de cumplimiento: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using var presentation = new Presentation("pres.pptx"); + +presentation.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions { - pres.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1a - }); - - pres.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1b - }); - - pres.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfUa - }); -} + Compliance = PdfCompliance.PdfA1a +}); + +presentation.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfA1b +}); + +presentation.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfUa +}); ``` -{{% alert title="Nota" color="warning" %}} -El soporte de Aspose.Slides para operaciones de conversión a PDF se extiende al permitirte convertir PDF a los formatos de archivo más populares. Puedes realizar conversiones de [PDF a HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/), [PDF a imagen](https://products.aspose.com/slides/net/conversion/pdf-to-image/), [PDF a JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/), y [PDF a PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/). Otras operaciones de conversión de PDF a formatos especializados—[PDF a SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/), [PDF a TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/), y [PDF a XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/)—también son compatibles. +{{% alert title="Note" color="warning" %}} + +Aspose.Slides admite operaciones de conversión de PDF, permitiéndole convertir archivos PDF a formatos de archivo populares. Puede realizar conversiones de [PDF a HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/), [PDF a imagen](https://products.aspose.com/slides/net/conversion/pdf-to-image/), [PDF a JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/), y [PDF a PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/). Otras operaciones de conversión de PDF a formatos especializados —[PDF a SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/), [PDF a TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/), y [PDF a XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/)—también son compatibles. + +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Puedo convertir varios archivos PowerPoint a PDF en lote?** + +Sí, Aspose.Slides admite la conversión por lotes de varios archivos PPT o PPTX a PDF. Puede iterar a través de sus archivos y aplicar el proceso de conversión mediante programación. + +**¿Es posible proteger con contraseña el PDF convertido?** + +Absolutamente. Utilice la clase [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) para establecer una contraseña y definir permisos de acceso durante el proceso de conversión. + +**¿Cómo incluyo diapositivas ocultas en el PDF?** + +Establezca la propiedad `ShowHiddenSlides` en la clase [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) a `true` para incluir diapositivas ocultas en el PDF resultante. + +**¿Puede Aspose.Slides mantener alta calidad de imagen en el PDF?** + +Sí, puede controlar la calidad de imagen estableciendo propiedades como `JpegQuality` y `SufficientResolution` en la clase [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) para garantizar imágenes de alta calidad en su PDF. + +**¿Aspose.Slides admite normas de cumplimiento PDF/A?** + +Sí, Aspose.Slides le permite exportar PDFs que cumplen con diversas normas, incluidas PDF/A1a, PDF/A1b y PDF/UA, garantizando que sus documentos cumplan con los requisitos de accesibilidad y archivo. + +## **Recursos adicionales** -{{% /alert %}} \ No newline at end of file +- [Documentación de Aspose.Slides para .NET](/slides/es/net/) +- [Referencia de API de Aspose.Slides para .NET](https://reference.aspose.com/slides/net/) +- [Convertidores gratuitos en línea de Aspose](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md index 00e5e9ec54..114ca8de91 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md @@ -21,17 +21,17 @@ description: Convertir presentación de PowerPoint a PNG en C#. Convertir PPT a ## **Resumen** -Este artículo explica cómo convertir una presentación de PowerPoint al formato PNG utilizando C#. Cubre los siguientes temas. +Este artículo explica cómo convertir una presentación de PowerPoint al formato PNG usando C#. Cubre los siguientes temas. -- [Convertir PowerPoint a PNG en C#](#convertir-powerpoint-a-png) -- [Convertir PPT a PNG en C#](#convertir-powerpoint-a-png) -- [Convertir PPTX a PNG en C#](#convertir-powerpoint-a-png) -- [Convertir ODP a PNG en C#](#convertir-powerpoint-a-png) -- [Convertir diapositiva de PowerPoint a imagen en C#](#convertir-powerpoint-a-png) +- [Convertir PowerPoint a PNG en C#](#convert-powerpoint-to-png) +- [Convertir PPT a PNG en C#](#convert-powerpoint-to-png) +- [Convertir PPTX a PNG en C#](#convert-powerpoint-to-png) +- [Convertir ODP a PNG en C#](#convert-powerpoint-to-png) +- [Convertir diapositiva de PowerPoint a imagen en C#](#convert-powerpoint-to-png) -## **C# PowerPoint a PNG** +## **PowerPoint a PNG con C#** -Para el código de ejemplo en C# para convertir PowerPoint a PNG, consulte la sección a continuación es decir, [Convertir PowerPoint a PNG](#convertir-powerpoint-a-png). El código puede cargar varios formatos como PPT, PPTX y ODP en el objeto de Presentación y luego guardar su miniatura de diapositiva en formato PNG. Las otras conversiones de PowerPoint a imagen que son algo similares como JPG, BMP, TIFF y SVG se discuten en estos artículos. +Para obtener código de ejemplo en C# que convierta PowerPoint a PNG, consulte la sección a continuación, es decir, [Convertir PowerPoint a PNG](#convert-powerpoint-to-png). El código puede cargar varios formatos como PPT, PPTX y ODP en el objeto Presentation y luego guardar la miniatura de la diapositiva en formato PNG. Las demás conversiones de PowerPoint a imagen, que son similares, como JPG, BMP, TIFF y SVG se tratan en estos artículos. - [C# PowerPoint a JPG](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) - [C# PowerPoint a BMP](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) @@ -40,23 +40,22 @@ Para el código de ejemplo en C# para convertir PowerPoint a PNG, consulte la se ## **Acerca de la conversión de PowerPoint a PNG** -El formato PNG (Portable Network Graphics) no es tan popular como JPEG (Joint Photographic Experts Group), pero sigue siendo muy popular. +El formato PNG (Portable Network Graphics) no es tan popular como JPEG (Joint Photographic Experts Group), pero sigue siendo muy popular. -**Caso de uso:** Cuando tienes una imagen compleja y el tamaño no es un problema, PNG es un mejor formato de imagen que JPEG. +**Caso de uso:** Cuando tienes una imagen compleja y el tamaño no es un problema, PNG es un formato de imagen mejor que JPEG. -{{% alert title="Consejo" color="primary" %}} Puede que desees consultar los **Convertidores de PowerPoint a PNG** gratuitos de Aspose: [PPTX a PNG](https://products.aspose.app/slides/conversion/pptx-to-png) y [PPT a PNG](https://products.aspose.app/slides/conversion/ppt-to-png). Son una implementación en vivo del proceso descrito en esta página. {{% /alert %}} +{{% alert title="Tip" color="primary" %}} Puede que quieras probar los convertidores gratuitos de Aspose **PowerPoint a PNG**: [PPTX a PNG](https://products.aspose.app/slides/conversion/pptx-to-png) y [PPT a PNG](https://products.aspose.app/slides/conversion/ppt-to-png). Son una implementación en vivo del proceso descrito en esta página. {{% /alert %}} ## **Convertir PowerPoint a PNG** -Sigue estos pasos: +Siga estos pasos: -1. Instancia la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtén el objeto de diapositiva de la colección [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) bajo la interfaz [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). -3. Usa el método [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/) para obtener la miniatura de cada diapositiva. -4. Usa el método [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) para guardar la miniatura de la diapositiva en formato PNG. - -Este código en C# te muestra cómo convertir una presentación de PowerPoint a PNG. El objeto de Presentación puede cargar PPT, PPTX, ODP, etc., luego cada diapositiva en el objeto de presentación se convierte a formato PNG u otro formato de imagen. +1. Instanciar la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Obtener el objeto diapositiva de la colección [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) bajo la interfaz [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). +3. Utilizar el método [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/) para obtener la miniatura de cada diapositiva. +4. Utilizar el método [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) para guardar la miniatura de la diapositiva en formato PNG. +Este código en C# le muestra cómo convertir una presentación de PowerPoint a PNG. El objeto Presentation puede cargar PPT, PPTX, ODP, etc., y cada diapositiva del objeto se convierte al formato PNG u otros formatos de imagen. ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -72,12 +71,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` + ## **Convertir PowerPoint a PNG con dimensiones personalizadas** -Si deseas obtener archivos PNG alrededor de una escala determinada, puedes establecer los valores para `desiredX` y `desiredY`, que determinan las dimensiones de la miniatura resultante. +Si desea obtener archivos PNG con una escala determinada, puede establecer los valores de `desiredX` y `desiredY`, que determinan las dimensiones de la miniatura resultante. Este código en C# demuestra la operación descrita: - ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -95,12 +94,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## **Convertir PowerPoint a PNG con tamaño personalizado** -Si deseas obtener archivos PNG alrededor de un tamaño determinado, puedes pasar tus argumentos preferidos `width` y `height` para `imageSize`. +## **Convertir PowerPoint a PNG con tamaño personalizado** -Este código te muestra cómo convertir un PowerPoint a PNG mientras especificas el tamaño para las imágenes: +Si desea obtener archivos PNG con un tamaño concreto, puede pasar los argumentos `width` y `height` que prefiera para `imageSize`. +Este código le muestra cómo convertir un PowerPoint a PNG especificando el tamaño de las imágenes: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -115,4 +114,19 @@ using (Presentation pres = new Presentation("pres.pptx")) } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Cómo puedo exportar solo una forma específica (p. ej., un gráfico o una imagen) en lugar de toda la diapositiva?** + +Aspose.Slides admite [generar miniaturas para formas individuales](/slides/es/net/create-shape-thumbnails/); puede renderizar una forma a una imagen PNG. + +**¿Se admite la conversión paralela en un servidor?** + +Sí, pero [no comparta](/slides/es/net/multithreading/) una única instancia de Presentation entre hilos. Use una instancia separada por hilo o proceso. + +**¿Cuáles son las limitaciones de la versión de prueba al exportar a PNG?** + +El modo de evaluación agrega una marca de agua a las imágenes de salida y aplica [otras restricciones](/slides/es/net/licensing/) hasta que se aplique una licencia. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md index c26cfc1b22..147e0100ac 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md @@ -4,11 +4,12 @@ type: docs weight: 80 url: /es/net/convert-powerpoint-to-swf-flash/ keywords: "Convertir PowerPoint, Presentación, PowerPoint a SWF, SWF flash PPT a SWF, PPTX a SWF, C#, Csharp, .NET" -description: "Convertir Presentación de PowerPoint a SWF Flash en C# o .NET" +description: "Convertir presentación de PowerPoint a SWF Flash en C# o .NET" --- -El método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) expuesto por la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) se puede usar para convertir toda la presentación en un documento SWF. También puedes incluir comentarios en el SWF generado utilizando la clase [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) y la interfaz [INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions). El siguiente ejemplo muestra cómo convertir una presentación en un documento SWF utilizando las opciones proporcionadas por la clase SWFOptions. +## **Convertir presentaciones a Flash** +El método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) expuesto por la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) se puede usar para convertir toda la presentación en un documento SWF. También puede incluir comentarios en el SWF generado usando la clase [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) y la interfaz [INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions). El siguiente ejemplo muestra cómo convertir una presentación en un documento SWF utilizando las opciones proporcionadas por la clase SWFOptions. ```c# // Instanciar un objeto Presentation que representa un archivo de presentación using (Presentation presentation = new Presentation("HelloWorld.pptx")) @@ -16,12 +17,32 @@ using (Presentation presentation = new Presentation("HelloWorld.pptx")) SwfOptions swfOptions = new SwfOptions(); swfOptions.ViewerIncluded = false; + INotesCommentsLayoutingOptions notesOptions = swfOptions.NotesCommentsLayouting; notesOptions.NotesPosition = NotesPositions.BottomFull; - // Guardar presentación y páginas de notas + // Guardar la presentación y las páginas de notas presentation.Save("SaveAsSwf_out.swf", SaveFormat.Swf, swfOptions); swfOptions.ViewerIncluded = true; presentation.Save("SaveNotes_out.swf", SaveFormat.Swf, swfOptions); } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Puedo incluir diapositivas ocultas en el SWF?** + +Sí. Active la opción [ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/showhiddenslides/) en [SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/). Por defecto, las diapositivas ocultas no se exportan. + +**¿Cómo puedo controlar la compresión y el tamaño final del SWF?** + +Use el indicador [Compressed](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/compressed/) (activado por defecto) y ajuste [JpegQuality](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/jpegquality/) para equilibrar el tamaño del archivo y la fidelidad de la imagen. + +**¿Para qué sirve 'ViewerIncluded' y cuándo debería desactivarlo?** + +[ViewerIncluded](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/viewerincluded/) agrega una interfaz de reproductor incrustada (controles de navegación, paneles, búsqueda). Desactívelo si planea usar su propio reproductor o necesita un marco SWF sin interfaz. + +**¿Qué ocurre si una fuente de origen falta en la máquina de exportación?** + +Aspose.Slides sustituirá la fuente que especifique mediante [DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/) en [SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/) para evitar una sustitución no deseada. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index ee411c095e..02dc057153 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,25 +1,94 @@ --- -title: Convertir PowerPoint a TIFF con Notas +title: Convert PowerPoint a TIFF con notas en C# +linktitle: PowerPoint a TIFF con notas type: docs weight: 100 url: /es/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 a TIFF +- convertir presentación a TIFF +- convertir diapositiva a TIFF +- convertir PPT a TIFF +- convertir PPTX a TIFF +- convertir ODP a TIFF +- PowerPoint a TIFF +- presentación a TIFF +- diapositiva a TIFF +- PPT a TIFF +- PPTX a TIFF +- ODP a TIFF +- PowerPoint con notas +- presentación con notas +- diapositiva con notas +- PPT con notas +- PPTX con notas +- ODP con notas +- TIFF con notas +- C# +- .NET +- Aspose.Slides +description: "Convierte presentaciones de PowerPoint y OpenDocument a TIFF con notas usando Aspose.Slides para .NET. Aprende cómo exportar diapositivas con notas del orador de manera eficiente." --- -{{% alert title="Consejo" color="primary" %}} +## **Descripción general** -Es posible que desees consultar el [convertidor GRATUIT de PowerPoint a Póster](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) de Aspose. +Aspose.Slides para .NET proporciona una solución sencilla para convertir presentaciones de 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, impresión y archivado de documentos. Con Aspose.Slides, no solo puede exportar presentaciones completas con notas del orador, 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 clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) para transformar toda la presentación en una serie de imágenes TIFF mientras se conservan las notas y el diseño. -{{% /alert %}} +## **Convertir una presentación a TIFF con notas** + +Guardar una presentación de PowerPoint o OpenDocument en TIFF con notas usando Aspose.Slides para .NET implica los siguientes pasos: + +1. Instanciar la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): Cargar un archivo PowerPoint o OpenDocument. +2. Configurar las opciones de diseño de salida: Utilizar la clase [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/notescommentslayoutingoptions/) para especificar cómo deben mostrarse las notas y los comentarios. +3. Guardar la presentación en TIFF: Pasar las opciones configuradas al método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index). -TIFF es uno de varios formatos de imagen ampliamente utilizados que Aspose.Slides para .NET admite para convertir presentaciones de PowerPoint PPT y PPTX con notas a imágenes. También puedes generar miniaturas de diapositivas en la vista de Diapositivas de Notas. El método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) 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 notas TIFF con Aspose.Slides para .NET es un proceso de dos líneas. Simplemente abres la presentación y la guardas como notas TIFF. También puedes 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: +Supongamos que tenemos un archivo "speaker_notes.pptx" con la siguiente diapositiva: +![La diapositiva de la presentación con notas del orador](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 utilizando la propiedad [SlidesLayoutOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/). ```c# -// Instanciar un objeto Presentation que representa un archivo de presentación -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// Instanciar la clase Presentation que representa un archivo de presentación. +using (Presentation presentation = new Presentation("speaker_notes.pptx")) { - // Guardando la presentación como notas TIFF - presentation.Save("Notes_In_Tiff_out.tiff", SaveFormat.Tiff); + // Configurar las opciones TIFF con el diseño de notas. + TiffOptions tiffOptions = new TiffOptions + { + DpiX = 300, + DpiY = 300, + + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull // Mostrar las notas debajo de la diapositiva. + } + }; + + // Guardar la presentación en TIFF con las notas del orador. + presentation.Save("TIFF_with_notes.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +El resultado: + +![La imagen TIFF con notas del orador](TIFF_with_notes.png) + +{{% alert title="Tip" color="primary" %}} + +Consulte el [Convertidor gratuito de PowerPoint a póster](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) de Aspose. + +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Puedo controlar la posición del área de notas en el TIFF resultante?** + +Sí. Utilice la [configuración del diseño de notas](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/) para elegir entre opciones como `None`, `BottomTruncated` o `BottomFull`, 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 [compresión eficiente](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) (p. ej., `LZW` o `RLE`), establezca un DPI razonable y, si es aceptable, use un [formato de píxel](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) más bajo (como 8 bpp o 1 bpp para monocromo). Reducir ligeramente las [dimensiones de la imagen](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) también puede ayudar sin afectar notablemente la legibilidad. + +**¿Afecta la fuente de las notas al resultado si las fuentes originales faltan en el sistema?** + +Sí. Las fuentes faltantes activan la [sustitución](/slides/es/net/font-selection-sequence/), lo que puede cambiar las métricas y la apariencia del texto. Para evitarlo, [proporcione las fuentes requeridas](/slides/es/net/custom-font/) o establezca una [fuente de respaldo predeterminada](/slides/es/net/fallback-font/) para que se utilicen los tipos de letra previstos. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md index 6078de04c5..8311b6715c 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md @@ -1,120 +1,159 @@ --- -title: Convertir PowerPoint a TIFF +title: Convertir presentaciones de PowerPoint a TIFF en C# +titlelink: PowerPoint a TIFF type: docs weight: 90 url: /es/net/convert-powerpoint-to-tiff/ -keywords: "Convertir presentación de PowerPoint, PowerPoint a TIFF, PPT a TIFF, PPTX a TIFF, C#, Csharp, .NET, Aspose.Slides" -description: "Convierte presentación de PowerPoint a TIFF en C# o .NET." - +keywords: +- convertir PowerPoint +- convertir OpenDocument +- convertir presentación +- convertir diapositiva +- PowerPoint a TIFF +- OpenDocument a TIFF +- presentación a TIFF +- diapositiva a TIFF +- PPT a TIFF +- PPTX a TIFF +- ODP a TIFF +- C# +- .NET +- Aspose.Slides +description: "Aprenda cómo convertir fácilmente presentaciones de PowerPoint (PPT, PPTX) y OpenDocument (ODP) a imágenes TIFF de alta calidad usando Aspose.Slides para .NET. Guía paso a paso con ejemplos de código incluidos." --- -TIFF (**Tagged Image File Format**) es un formato de imagen rasterizada sin pérdida y de alta calidad. Los profesionales utilizan TIFF para sus propósitos de diseño, fotografía y autoedición. Por ejemplo, si desea preservar capas y configuraciones en su diseño o imagen, puede que desee guardar su trabajo como un archivo de imagen TIFF. - -Aspose.Slides le permite convertir las diapositivas de PowerPoint directamente a TIFF. - -{{% alert title="Consejo" color="primary" %}} +## **Visión general** -Es posible que desee consultar el [convertidor GRATUITO de PowerPoint a Póster de Aspose](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +TIFF (**Tagged Image File Format**) es un formato de imagen rasterizada sin pérdida muy usado, conocido por su calidad excepcional y la preservación detallada de gráficos. Diseñadores, fotógrafos y publicadores de escritorio suelen elegir TIFF para mantener capas, precisión de color y configuraciones originales en sus imágenes. -{{% /alert %}} - -## **Convertir PowerPoint a TIFF** +Con Aspose.Slides, puedes convertir fácilmente tus diapositivas de PowerPoint (PPT, PPTX) y diapositivas OpenDocument (ODP) directamente en imágenes TIFF de alta calidad, garantizando que tus presentaciones conserven la máxima fidelidad visual. -Usando el método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) expuesto por la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/), puede convertir rápidamente una presentación de PowerPoint completa a TIFF. Las imágenes TIFF resultantes corresponden al tamaño predeterminado de las diapositivas. +## **Convertir una presentación a TIFF** -Este código C# le muestra cómo convertir PowerPoint a TIFF: +Usando el método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) provisto por la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/), puedes convertir rápidamente una presentación completa de PowerPoint a TIFF. Las imágenes TIFF resultantes corresponden al tamaño de diapositiva predeterminado. -```c# -// Instancia un objeto Presentation que representa un archivo de presentación -using (Presentation presentation = new Presentation("DemoFile.pptx")) +Este código C# demuestra cómo convertir una presentación de PowerPoint a TIFF: +```cs +// Instanciar la clase Presentation que representa un archivo de presentación (PPT, PPTX, ODP, etc.). +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - // Guarda la presentación como TIFF - presentation.Save("Tiffoutput_out.tiff", SaveFormat.Tiff); + // Guardar la presentación como TIFF. + presentation.Save("Output.tiff", SaveFormat.Tiff); } ``` -## **Convertir PowerPoint a TIFF en blanco y negro** -En Aspose.Slides 23.10, Aspose.Slides agregó una nueva propiedad ([BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/)) a la clase [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) para permitirle especificar el algoritmo que se sigue cuando una diapositiva o imagen de color se convierte a TIFF en blanco y negro. Tenga en cuenta que esta configuración se aplica solo cuando la propiedad [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) está establecida en `CCITT4` o `CCITT3`. +## **Convertir una presentación a TIFF en blanco y negro** + +La propiedad [BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/) en la clase [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) permite especificar el algoritmo utilizado al convertir una diapositiva o imagen a color en un TIFF en blanco y negro. Ten en cuenta que esta configuración solo se aplica cuando la propiedad [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) está establecida en `CCITT4` o `CCITT3`. -Este código C# le muestra cómo convertir una diapositiva o imagen de color a TIFF en blanco y negro: +Supongamos que tenemos un archivo "sample.pptx" con la siguiente diapositiva: -```c# -var tiffOptions = new TiffOptions +![Una diapositiva de la presentación](slide_black_and_white.png) + +Este código C# demuestra cómo convertir la diapositiva a color en un TIFF en blanco y negro: +```cs +TiffOptions tiffOptions = new TiffOptions { CompressionType = TiffCompressionTypes.CCITT4, BwConversionMode = BlackWhiteConversionMode.Dithering }; -using var presentation = new Presentation("sample.pptx"); -presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +using (Presentation presentation = new Presentation("sample.pptx")) +{ + presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +} ``` -## **Convertir PowerPoint a TIFF con tamaño personalizado** -Si necesita una imagen TIFF con dimensiones definidas, puede definir sus figuras preferidas a través de las propiedades proporcionadas en [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). Usando la propiedad [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/), por ejemplo, puede establecer un tamaño para la imagen resultante. +El resultado: -Este código C# le muestra cómo convertir PowerPoint a imágenes TIFF con tamaño personalizado: +![TIFF en blanco y negro](TIFF_black_and_white.png) -```c# -// Instancia un objeto Presentation que representa un archivo de Presentación -using (Presentation pres = new Presentation("Convert_Tiff_Custom.pptx")) -{ - // Instancia la clase TiffOptions - TiffOptions opts = new TiffOptions(); +## **Convertir una presentación a TIFF con tamaño personalizado** - // Establece el tipo de compresión - opts.CompressionType = TiffCompressionTypes.Default; +Si necesitas una imagen TIFF con dimensiones específicas, puedes establecer los valores deseados mediante las propiedades disponibles en [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). Por ejemplo, la propiedad [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) te permite definir el tamaño de la imagen resultante. - INotesCommentsLayoutingOptions notesOptions = opts.NotesCommentsLayouting; - notesOptions.NotesPosition = NotesPositions.BottomFull; - // Tipos de Compresión +Este código C# demuestra cómo convertir una presentación de PowerPoint a imágenes TIFF con un tamaño personalizado: +```cs +// Instanciar la clase Presentation que representa un archivo de presentación (PPT, PPTX, ODP, etc.). +using (Presentation presentation = new Presentation("sample.pptx")) +{ + TiffOptions tiffOptions = new TiffOptions(); + + // Establecer el tipo de compresión. + tiffOptions.CompressionType = TiffCompressionTypes.Default; + /* + Tipos de compresión: + Default - Especifica el esquema de compresión predeterminado (LZW). + None - Especifica sin compresión. + CCITT3 + CCITT4 + LZW + RLE + */ - // Predeterminado - Especifica el esquema de compresión predeterminado (LZW). - // Ninguno - Especifica sin compresión. - // CCITT3 - // CCITT4 - // LZW - // RLE + // La profundidad depende del tipo de compresión y no puede establecerse manualmente. - // La profundidad depende del tipo de compresión y no se puede establecer manualmente. - // La unidad de resolución siempre es igual a "2" (puntos por pulgada) + // Establecer el DPI de la imagen. + tiffOptions.DpiX = 200; + tiffOptions.DpiY = 200; - // Establece la DPI de la imagen - opts.DpiX = 200; - opts.DpiY = 100; + // Establecer el tamaño de la imagen. + tiffOptions.ImageSize = new Size(1728, 1078); - // Establece el tamaño de la imagen - opts.ImageSize = new Size(1728, 1078); + tiffOptions.SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - // Guarda la presentación en TIFF con el tamaño especificado - pres.Save("TiffWithCustomSize_out.tiff", SaveFormat.Tiff, opts); + // Guardar la presentación como TIFF con el tamaño especificado. + presentation.Save("custom_size.tiff", SaveFormat.Tiff, tiffOptions); } ``` -## **Convertir PowerPoint a TIFF con formato de píxel de imagen personalizado** -Usando la propiedad [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) de la clase [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions), puede especificar su formato de píxel preferido para la imagen TIFF resultante. +## **Convertir una presentación a TIFF con formato de píxel de imagen personalizado** -Este código C# le muestra cómo convertir PowerPoint a imagen TIFF con formato de píxel personalizado: +Usando la propiedad [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) de la clase [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions) puedes especificar el formato de píxel preferido para la imagen TIFF resultante. -```c# -// Instancia un objeto Presentation que representa un archivo de Presentación -using (Presentation presentation = new Presentation("DemoFile.pptx")) +Este código C# demuestra cómo convertir una presentación de PowerPoint a una imagen TIFF con un formato de píxel personalizado: +```cs +// Instanciar la clase Presentation que representa un archivo de presentación (PPT, PPTX, ODP, etc.). +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - TiffOptions options = new TiffOptions(); + TiffOptions tiffOptions = new TiffOptions(); - options.PixelFormat = ImagePixelFormat.Format8bppIndexed; + tiffOptions.PixelFormat = ImagePixelFormat.Format8bppIndexed; /* - ImagePixelFormat contiene los siguientes valores (según lo indicado en la documentación): - Format1bppIndexed; // 1 bit por píxel, indexado. - Format4bppIndexed; // 4 bits por píxel, indexado. - Format8bppIndexed; // 8 bits por píxel, indexado. - Format24bppRgb; // 24 bits por píxel, RGB. - Format32bppArgb; // 32 bits por píxel, ARGB. + ImagePixelFormat contiene los siguientes valores (según la documentación): + Format1bppIndexed - 1 bit por píxel, indexado. + Format4bppIndexed - 4 bits por píxel, indexado. + Format8bppIndexed - 8 bits por píxel, indexado. + Format24bppRgb - 24 bits por píxel, RGB. + Format32bppArgb - 32 bits por píxel, ARGB. */ - // Guarda la presentación en TIFF con el tamaño de imagen especificado - presentation.Save("Tiff_With_Custom_Image_Pixel_Format_out.tiff", SaveFormat.Tiff, options); + // Guardar la presentación como TIFF con el tamaño de imagen especificado. + presentation.Save("Custom_Image_Pixel_Format.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +{{% alert title="Tip" color="primary" %}} +Consulta el [convertidor GRATUITO de PowerPoint a póster](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) de Aspose. +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Puedo convertir una diapositiva individual en lugar de toda la presentación de PowerPoint a TIFF?** + +Sí. Aspose.Slides permite convertir diapositivas individuales de presentaciones PowerPoint y OpenDocument en imágenes TIFF por separado. + +**¿Existe algún límite en la cantidad de diapositivas al convertir una presentación a TIFF?** + +No, Aspose.Slides no impone restricciones sobre el número de diapositivas. Puedes convertir presentaciones de cualquier tamaño al formato TIFF. + +**¿Se conservan las animaciones y efectos de transición de PowerPoint al convertir diapositivas a TIFF?** + +No, TIFF es un formato de imagen estática. Por lo tanto, las animaciones y efectos de transición no se conservan; solo se exportan instantáneas estáticas de las diapositivas. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md index c288d71f72..59e6f2a021 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md @@ -1,60 +1,98 @@ --- -title: Convertir PowerPoint a Video +title: Convertir presentaciones de PowerPoint a video en C# +linktitle: PowerPoint a video type: docs weight: 130 url: /es/net/convert-powerpoint-to-video/ -keywords: "Convertir PowerPoint, PPT, PPTX, Presentación, Video, MP4, PPT a video, PPT a MP4, C#, Csharp, .NET, Aspose.Slides" -description: "Convertir PowerPoint a Video en C# o .NET" +keywords: +- PowerPoint a video +- convertir PowerPoint a video +- presentación a video +- convertir presentación a video +- PPT a video +- convertir PPT a video +- PPTX a video +- convertir PPTX a video +- ODP a video +- convertir ODP a video +- PowerPoint a MP4 +- convertir PowerPoint a MP4 +- presentación a MP4 +- convertir presentación a MP4 +- PPT a MP4 +- convertir PPT a MP4 +- PPTX a MP4 +- convertir PPTX a MP4 +- conversión de PowerPoint a video +- conversión de presentación a video +- conversión de PPT a video +- conversión de PPTX a video +- conversión de ODP a video +- conversión de video C# +- PowerPoint +- .NET +- C# +- Aspose.Slides +description: "Aprenda cómo convertir presentaciones de PowerPoint y OpenDocument a video usando C#. Descubra código de ejemplo y técnicas de automatización para optimizar su flujo de trabajo." --- -Al convertir tu presentación de PowerPoint a video, obtienes +## **Visión general** -* **Aumento en accesibilidad:** Todos los dispositivos (independientemente de la plataforma) vienen equipados con reproductores de video por defecto en comparación con las aplicaciones para abrir presentaciones, por lo que a los usuarios les resulta más fácil abrir o reproducir videos. -* **Mayor alcance:** A través de los videos, puedes alcanzar a una gran audiencia y dirigirla con información que de otro modo podría parecer tediosa en una presentación. La mayoría de las encuestas y estadísticas sugieren que las personas ven y consumen videos más que otras formas de contenido, y generalmente prefieren dicho contenido. +Al convertir su presentación PowerPoint o OpenDocument a video, obtiene: -{{% alert color="primary" %}} +**Mayor accesibilidad:** Todos los dispositivos, independientemente de la plataforma, vienen equipados con reproductores de video por defecto, lo que facilita a los usuarios abrir o reproducir videos en comparación con las aplicaciones tradicionales de presentación. -Es posible que desees revisar nuestro [**Convertidor de PowerPoint a Video en Línea**](https://products.aspose.app/slides/conversion/ppt-to-word) porque es una implementación en vivo y efectiva del proceso descrito aquí. +**Mayor alcance:** Los videos le permiten llegar a una audiencia más amplia y presentar la información en un formato más atractivo. Encuestas y estadísticas indican que las personas prefieren ver y consumir contenido de video sobre otras formas, lo que hace que su mensaje sea más impactante. +{{% alert color="primary" %}} +Consulte nuestro [**Convertidor en línea de PowerPoint a Video**](https://products.aspose.app/slides/video) porque ofrece una implementación en vivo y eficaz del proceso descrito aquí. {{% /alert %}} -## **Conversión de PowerPoint a Video en Aspose.Slides** - -En [Aspose.Slides 22.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-22-11-release-notes/), implementamos soporte para la conversión de presentación a video. +En Aspose.Slides for .NET, implementamos soporte para convertir presentaciones a video. -* Usa Aspose.Slides para generar un conjunto de cuadros (de las diapositivas de la presentación) que correspondan a un cierto FPS (cuadros por segundo). -* Usa una utilidad de terceros como FFMpegCore (ffmpeg) para crear un video basado en los cuadros. +* Utilice Aspose.Slides for .NET para generar fotogramas a partir de las diapositivas de la presentación a una velocidad de fotogramas especificada (FPS). +* Luego, use una utilidad de terceros como ffmpeg para compilar estos fotogramas en un video. -### **Convertir PowerPoint a Video** +## **Convertir una presentación PowerPoint a video** -1. Usa el comando dotnet add package para agregar Aspose.Slides y la biblioteca FFMpegCore a tu proyecto: - * ejecuta `dotnet add package Aspose.Slides.NET --version 22.11.0` - * ejecuta `dotnet add package FFMpegCore --version 4.8.0` -2. Descarga ffmpeg [aquí](https://ffmpeg.org/download.html). -3. FFMpegCore requiere que especifiques la ruta al ffmpeg descargado (por ejemplo, extraído a "C:\tools\ffmpeg"): `GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );` -4. Ejecuta el código de PowerPoint a video. +1. Utilice el comando `dotnet add package` para agregar Aspose.Slides y la biblioteca FFMpegCore a su proyecto: + * ejecute `dotnet add package Aspose.Slides.NET --version 22.11.0` + * ejecute `dotnet add package FFMpegCore --version 4.8.0` +2. Descargue ffmpeg desde [aquí](https://ffmpeg.org/download.html). +3. FFMpegCore requiere que especifique la ruta al ffmpeg descargado (p. ej., extraído a "C:\tools\ffmpeg"): +```cs + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); +``` -Este código C# te muestra cómo convertir una presentación (que contiene una figura y dos efectos de animación) a un video: +4. Ejecute el código de conversión de PowerPoint a video. +Este código C# demuestra cómo convertir una presentación (que contiene una forma y dos efectos de animación) en un video: ```c# using System.Collections.Generic; using Aspose.Slides; -using FFMpegCore; // Usará los binarios de FFmpeg que extrajimos a "c:\tools\ffmpeg" anteriormente +using FFMpegCore; // usará los binarios de FFmpeg que extrajimos a C:\tools\ffmpeg antes. using Aspose.Slides.Animation; -using (Presentation presentation = new Presentation()) +using (Presentation presentation = new Presentation()) { - // Agrega una forma de sonrisa y luego la anima - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // Añadir una forma de sonrisa y luego animarla. + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; - const int Fps = 33; - List frames = new List(); + const int Fps = 33; + List frames = new List(); - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) { player.FrameTick += (sender, args) => @@ -66,46 +104,41 @@ using (Presentation presentation = new Presentation()) animationsGenerator.Run(presentation.Slides); } - // Configura la carpeta de binarios de ffmpeg. Consulta esta página: https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // Convierte los cuadros a video webm - FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // Configurar la carpeta de binarios de ffmpeg. Ver esta página: https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // Convertir los fotogramas a un video webm. + FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` -## **Efectos de Video** -Puedes aplicar animaciones a objetos en las diapositivas y usar transiciones entre diapositivas. +## **Efectos de video** -{{% alert color="primary" %}} - -Es posible que desees ver estos artículos: [Animación de PowerPoint](https://docs.aspose.com/slides/net/powerpoint-animation/), [Animación de Forma](https://docs.aspose.com/slides/net/shape-animation/), y [Efecto de Forma](https://docs.aspose.com/slides/net/shape-effect/). +Al convertir una presentación PowerPoint a video usando Aspose.Slides for .NET, puede aplicar varios efectos de video para mejorar la calidad visual del resultado. Estos efectos le permiten controlar la apariencia de las diapositivas en el video final añadiendo transiciones suaves, animaciones y otros elementos visuales. Esta sección explica las opciones de efectos de video disponibles y muestra cómo aplicarlos. +{{% alert color="primary" %}} +Consulte: +- [Mejorar presentaciones PowerPoint con animaciones en C#](https://docs.aspose.com/slides/net/powerpoint-animation/) +- [Animación de forma](https://docs.aspose.com/slides/net/shape-animation/) +- [Aplicar efectos de forma en PowerPoint usando C#](https://docs.aspose.com/slides/net/shape-effect/) {{% /alert %}} -Las animaciones y transiciones hacen que las presentaciones sean más atractivas e interesantes, y hacen lo mismo por los videos. Agreguemos otra diapositiva y transición al código de la presentación anterior: - +Las animaciones y transiciones hacen que las presentaciones sean más atractivas e interesantes — y lo mismo ocurre con los videos. Añadamos otra diapositiva y transición al código de la presentación anterior: ```c# -// Agrega una forma de sonrisa y la anima - +// Añadir una forma de sonrisa y animarla. // ... -// Agrega una nueva diapositiva y transición animada - +// Añadir una nueva diapositiva y una transición animada. ISlide newSlide = presentation.Slides.AddEmptySlide(presentation.Slides[0].LayoutSlide); - newSlide.Background.Type = BackgroundType.OwnBackground; - newSlide.Background.FillFormat.FillType = FillType.Solid; - newSlide.Background.FillFormat.SolidFillColor.Color = Color.Indigo; - newSlide.SlideShowTransition.Type = TransitionType.Push; ``` -Aspose.Slides también admite animaciones para textos. Así que animamos párrafos en objetos, que aparecerán uno tras otro (con el retraso establecido en un segundo): +Aspose.Slides también admite animaciones de texto. En este ejemplo, animamos párrafos en los objetos para que aparezcan uno tras otro, con un retraso de un segundo entre ellos: ```c# using System.Collections.Generic; using Aspose.Slides.Export; @@ -115,41 +148,44 @@ using Aspose.Slides.Animation; using (Presentation presentation = new Presentation()) { - // Agrega texto y animaciones - IAutoShape autoShape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); + ISlide slide = presentation.Slides[0]; + + // Agregar texto y animaciones. + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); Paragraph para1 = new Paragraph(); para1.Portions.Add(new Portion("Aspose Slides for .NET")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("convertir la Presentación de PowerPoint con texto a video")); + para2.Portions.Add(new Portion("Convert a PowerPoint presentation with text to video")); Paragraph para3 = new Paragraph(); - para3.Portions.Add(new Portion("párrafo por párrafo")); + para3.Portions.Add(new Portion("paragraph by paragraph")); autoShape.TextFrame.Paragraphs.Add(para1); autoShape.TextFrame.Paragraphs.Add(para2); autoShape.TextFrame.Paragraphs.Add(para3); autoShape.TextFrame.Paragraphs.Add(new Paragraph()); - IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect1 = slide.Timeline.MainSequence.AddEffect( + para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect2 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect2 = slide.Timeline.MainSequence.AddEffect( + para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect3 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect3 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect4 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect4 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - effect.Timing.TriggerDelayTime = 1f; + effect1.Timing.TriggerDelayTime = 1f; effect2.Timing.TriggerDelayTime = 1f; effect3.Timing.TriggerDelayTime = 1f; effect4.Timing.TriggerDelayTime = 1f; - // Convierte los cuadros a video const int Fps = 33; List frames = new List(); - - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) - { player.FrameTick += (sender, args) => { @@ -157,34 +193,42 @@ using (Presentation presentation = new Presentation()) args.GetFrame().Save(frame); frames.Add(frame); }; + animationsGenerator.Run(presentation.Slides); } - // Configura la carpeta de binarios de ffmpeg. Consulta esta página: https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // Convierte los cuadros a video webm - FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // Configurar la carpeta de binarios ffmpeg. Ver esta página: https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // Convertir los fotogramas a un video webm. + FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` -## **Clases de Conversión de Video** -Para permitirte realizar tareas de conversión de PowerPoint a video, Aspose.Slides proporciona las clases [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) y [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). +## **Clases de conversión de video** -PresentationAnimationsGenerator permite establecer el tamaño del cuadro para el video (que se creará más tarde) a través de su constructor. Si pasas una instancia de la presentación, `Presentation.SlideSize` se utilizará y genera animaciones que [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) usa. +Para habilitar tareas de conversión de PowerPoint a video, Aspose.Slides for .NET proporciona las clases [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) y [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). -Cuando se generan animaciones, se genera un evento `NewAnimation` para cada animación subsiguiente, que tiene el parámetro [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/). Este último es una clase que representa un reproductor para una animación separada. +`PresentationAnimationsGenerator` le permite establecer el tamaño de fotograma para el video (que se creará más tarde) y el valor de FPS (fotogramas por segundo) a través de su constructor. Si pasa una instancia de una presentación, se utilizará su `Presentation.SlideSize` y genera animaciones que utiliza [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). -Para trabajar con [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/), se utilizan la propiedad [Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/) (la duración total de la animación) y el método [SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/). Se establece cada posición de animación dentro del rango *0 a duración*, y luego el método `GetFrame` devolverá un Bitmap que corresponde al estado de la animación en ese momento. +Cuando se generan animaciones, se dispara un evento `NewAnimation` para cada animación subsecuente, que incluye un parámetro [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/). Esta clase representa un reproductor para una animación individual. +Para trabajar con [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/), use la propiedad [Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/) (que indica la duración completa de la animación) y el método [SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/). Cada posición de animación se establece dentro del rango *0 a duration*, y el método `GetFrame` devuelve un Bitmap que representa el estado de la animación en ese momento. ```c# using (Presentation presentation = new Presentation()) { - // Agrega una forma de sonrisa y la anima - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // Añadir una forma de sonrisa y animarla. + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; @@ -192,21 +236,21 @@ using (Presentation presentation = new Presentation()) { animationsGenerator.NewAnimation += animationPlayer => { - Console.WriteLine($"Duración total de la animación: {animationPlayer.Duration}"); - - animationPlayer.SetTimePosition(0); // estado inicial de la animación - Bitmap bitmap = animationPlayer.GetFrame(); // bitmap del estado inicial de la animación + Console.WriteLine($"Total animation duration: {animationPlayer.Duration}"); - animationPlayer.SetTimePosition(animationPlayer.Duration); // estado final de la animación - Bitmap lastBitmap = animationPlayer.GetFrame(); // último cuadro de la animación + animationPlayer.SetTimePosition(0); // El estado inicial de la animación. + Bitmap bitmap = animationPlayer.GetFrame(); // El mapa de bits del estado inicial de la animación. + + animationPlayer.SetTimePosition(animationPlayer.Duration); // El estado final de la animación. + Bitmap lastBitmap = animationPlayer.GetFrame(); // El último fotograma de la animación. lastBitmap.Save("last.png"); }; } } ``` -Para hacer que todas las animaciones en una presentación se reproduzcan a la vez, se utiliza la clase [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). Esta clase toma una instancia de [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) y FPS para efectos en su constructor y luego llama al evento `FrameTick` para todas las animaciones para que se reproduzcan: +Para que todas las animaciones de una presentación se reproduzcan a la vez, se utiliza la clase [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). Esta clase recibe una instancia de [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) y un valor de FPS para los efectos en su constructor, y luego llama al evento `FrameTick` para todas las animaciones para reproducirlas: ```c# using (Presentation presentation = new Presentation("animated.pptx")) { @@ -222,137 +266,154 @@ using (Presentation presentation = new Presentation("animated.pptx")) } ``` -Luego, los cuadros generados pueden compilarse para producir un video. Consulta la sección [Convertir PowerPoint a Video](https://docs.aspose.com/slides/net/convert-powerpoint-to-video/#convert-powerpoint-to-video). -## **Animaciones y Efectos Soportados** +Luego, los fotogramas generados pueden compilarse para producir un video. Consulte la sección [Convertir una presentación PowerPoint a video](/slides/es/net/convert-powerpoint-to-video/#convert-a-powerpoint-presentation-to-video). + +## **Animaciones y efectos compatibles** +Al convertir una presentación PowerPoint a video usando Aspose.Slides for .NET, es importante comprender qué animaciones y efectos son compatibles en el resultado. Aspose.Slides admite una amplia gama de efectos comunes de entrada, salida y énfasis, como desvanecimiento, aparición, zoom y rotación. Sin embargo, algunas animaciones avanzadas o personalizadas pueden no conservarse completamente o pueden aparecer de forma diferente en el video final. Esta sección describe las animaciones y efectos compatibles. **Entrada**: -| Tipo de Animación | Aspose.Slides | PowerPoint | +| Tipo de animación | Aspose.Slides | PowerPoint | |---|---|---| -| **Aparecer** | ![no soportado](x.png) | ![soportado](v.png) | -| **Desvanecer** | ![soportado](v.png) | ![soportado](v.png) | -| **Entrar volando** | ![soportado](v.png) | ![soportado](v.png) | -| **Entrar flotando** | ![soportado](v.png) | ![soportado](v.png) | -| **Dividir** | ![soportado](v.png) | ![soportado](v.png) | -| **Barrer** | ![soportado](v.png) | ![soportado](v.png) | -| **Forma** | ![soportado](v.png) | ![soportado](v.png) | -| **Rueda** | ![soportado](v.png) | ![soportado](v.png) | -| **Barras aleatorias** | ![soportado](v.png) | ![soportado](v.png) | -| **Crecer y girar** | ![no soportado](x.png) | ![soportado](v.png) | -| **Zoom** | ![soportado](v.png) | ![soportado](v.png) | -| **Girar** | ![soportado](v.png) | ![soportado](v.png) | -| **Rebotar** | ![soportado](v.png) | ![soportado](v.png) | - +| **Appear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly In** | ![supported](v.png) | ![supported](v.png) | +| **Float In** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Grow & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | **Énfasis**: -| Tipo de Animación | Aspose.Slides | PowerPoint | +| Tipo de animación | Aspose.Slides | PowerPoint | |---|---|---| -| **Latido** | ![no soportado](x.png) | ![soportado](v.png) | -| **Latido de Color** | ![no soportado](x.png) | ![soportado](v.png) | -| **Balancín** | ![soportado](v.png) | ![soportado](v.png) | -| **Giro** | ![soportado](v.png) | ![soportado](v.png) | -| **Crecer/Encoger** | ![no soportado](x.png) | ![soportado](v.png) | -| **Desaturar** | ![no soportado](x.png) | ![soportado](v.png) | -| **Oscurecer** | ![no soportado](x.png) | ![soportado](v.png) | -| **Aclarar** | ![no soportado](x.png) | ![soportado](v.png) | -| **Transparencia** | ![no soportado](x.png) | ![soportado](v.png) | -| **Color de Objeto** | ![no soportado](x.png) | ![soportado](v.png) | -| **Color Complementario** | ![no soportado](x.png) | ![soportado](v.png) | -| **Color de Línea** | ![no soportado](x.png) | ![soportado](v.png) | -| **Color de Relleno** | ![no soportado](x.png) | ![soportado](v.png) | +| **Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Color Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Teeter** | ![supported](v.png) | ![supported](v.png) | +| **Spin** | ![supported](v.png) | ![supported](v.png) | +| **Grow/Shrink** | ![not supported](x.png) | ![supported](v.png) | +| **Desaturate** | ![not supported](x.png) | ![supported](v.png) | +| **Darken** | ![not supported](x.png) | ![supported](v.png) | +| **Lighten** | ![not supported](x.png) | ![supported](v.png) | +| **Transparency** | ![not supported](x.png) | ![supported](v.png) | +| **Object Color** | ![not supported](x.png) | ![supported](v.png) | +| **Complementary Color** | ![not supported](x.png) | ![supported](v.png) | +| **Line Color** | ![not supported](x.png) | ![supported](v.png) | +| **Fill Color** | ![not supported](x.png) | ![supported](v.png) | **Salida**: -| Tipo de Animación | Aspose.Slides | PowerPoint | +| Tipo de animación | Aspose.Slides | PowerPoint | |---|---|---| -| **Desaparecer** | ![no soportado](x.png) | ![soportado](v.png) | -| **Desvanecer** | ![soportado](v.png) | ![soportado](v.png) | -| **Saliendo volando** | ![soportado](v.png) | ![soportado](v.png) | -| **Saliendo flotando** | ![soportado](v.png) | ![soportado](v.png) | -| **Dividir** | ![soportado](v.png) | ![soportado](v.png) | -| **Barrer** | ![soportado](v.png) | ![soportado](v.png) | -| **Forma** | ![soportado](v.png) | ![soportado](v.png) | -| **Barras aleatorias** | ![soportado](v.png) | ![soportado](v.png) | -| **Encoger y girar** | ![no soportado](x.png) | ![soportado](v.png) | -| **Zoom** | ![soportado](v.png) | ![soportado](v.png) | -| **Girar** | ![soportado](v.png) | ![soportado](v.png) | -| **Rebotar** | ![soportado](v.png) | ![soportado](v.png) | - -**Rutas de Movimiento:** - -| Tipo de Animación | Aspose.Slides | PowerPoint | +| **Disappear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly Out** | ![supported](v.png) | ![supported](v.png) | +| **Float Out** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shrink & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | + +**Rutas de movimiento**: + +| Tipo de animación | Aspose.Slides | PowerPoint | |---|---|---| -| **Líneas** | ![soportado](v.png) | ![soportado](v.png) | -| **Arcos** | ![soportado](v.png) | ![soportado](v.png) | -| **Giros** | ![soportado](v.png) | ![soportado](v.png) | -| **Formas** | ![soportado](v.png) | ![soportado](v.png) | -| **Bucles** | ![soportado](v.png) | ![soportado](v.png) | -| **Ruta Personalizada** | ![soportado](v.png) | ![soportado](v.png) | +| **Lines** | ![supported](v.png) | ![supported](v.png) | +| **Arcs** | ![supported](v.png) | ![supported](v.png) | +| **Turns** | ![supported](v.png) | ![supported](v.png) | +| **Shapes** | ![supported](v.png) | ![supported](v.png) | +| **Loops** | ![supported](v.png) | ![supported](v.png) | +| **Custom Path** | ![supported](v.png) | ![supported](v.png) | -## **Efectos de Transición de Diapositivas Soportados** +## **Efectos de transición de diapositivas compatibles** + +Los efectos de transición de diapositivas juegan un papel importante en crear cambios suaves y visualmente atractivos entre diapositivas en un video. Aspose.Slides for .NET admite una variedad de efectos de transición de uso común para ayudar a preservar el flujo y estilo de su presentación original. Esta sección destaca qué efectos de transición son compatibles durante el proceso de conversión. **Sutil**: -| Tipo de Animación | Aspose.Slides | PowerPoint | +| Tipo de animación | Aspose.Slides | PowerPoint | |---|---|---| -| **Morfología** | ![no soportado](x.png) | ![soportado](v.png) | -| **Desvanecer** | ![soportado](v.png) | ![soportado](v.png) | -| **Empujar** | ![soportado](v.png) | ![soportado](v.png) | -| **Tirar** | ![soportado](v.png) | ![soportado](v.png) | -| **Barrer** | ![soportado](v.png) | ![soportado](v.png) | -| **Dividir** | ![soportado](v.png) | ![soportado](v.png) | -| **Revelar** | ![no soportado](x.png) | ![soportado](v.png) | -| **Barras aleatorias** | ![soportado](v.png) | ![soportado](v.png) | -| **Forma** | ![no soportado](x.png) | ![soportado](v.png) | -| **Descubrir** | ![no soportado](x.png) | ![soportado](v.png) | -| **Cubrir** | ![soportado](v.png) | ![soportado](v.png) | -| **Destello** | ![soportado](v.png) | ![soportado](v.png) | -| **Tiras** | ![soportado](v.png) | ![soportado](v.png) | +| **Morph** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Push** | ![supported](v.png) | ![supported](v.png) | +| **Pull** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Reveal** | ![not supported](x.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![not supported](x.png) | ![supported](v.png) | +| **Uncover** | ![not supported](x.png) | ![supported](v.png) | +| **Cover** | ![supported](v.png) | ![supported](v.png) | +| **Flash** | ![supported](v.png) | ![supported](v.png) | +| **Strips** | ![supported](v.png) | ![supported](v.png) | **Emocionante**: -| Tipo de Animación | Aspose.Slides | PowerPoint | +| Tipo de animación | Aspose.Slides | PowerPoint | |---|---|---| -| **Caer** | ![no soportado](x.png) | ![soportado](v.png) | -| **Cortina** | ![no soportado](x.png) | ![soportado](v.png) | -| **Cortinas** | ![no soportado](x.png) | ![soportado](v.png) | -| **Viento** | ![no soportado](x.png) | ![soportado](v.png) | -| **Prestigio** | ![no soportado](x.png) | ![soportado](v.png) | -| **Fractura** | ![no soportado](x.png) | ![soportado](v.png) | -| **Aplastar** | ![no soportado](x.png) | ![soportado](v.png) | -| **Despegar** | ![no soportado](x.png) | ![soportado](v.png) | -| **Curva de Página** | ![no soportado](x.png) | ![soportado](v.png) | -| **Avión** | ![no soportado](x.png) | ![soportado](v.png) | -| **Origami** | ![no soportado](x.png) | ![soportado](v.png) | -| **Disolver** | ![soportado](v.png) | ![soportado](v.png) | -| **Tablero de Ajedrez** | ![no soportado](x.png) | ![soportado](v.png) | -| **Persianas** | ![no soportado](x.png) | ![soportado](v.png) | -| **Reloj** | ![soportado](v.png) | ![soportado](v.png) | -| **Ripple** | ![no soportado](x.png) | ![soportado](v.png) | -| **Panal** | ![no soportado](x.png) | ![soportado](v.png) | -| **Brillo** | ![no soportado](x.png) | ![soportado](v.png) | -| **Vórtice** | ![no soportado](x.png) | ![soportado](v.png) | -| **Rasgar** | ![no soportado](x.png) | ![soportado](v.png) | -| **Cambiar** | ![no soportado](x.png) | ![soportado](v.png) | -| **Girar** | ![no soportado](x.png) | ![soportado](v.png) | -| **Galería** | ![no soportado](x.png) | ![soportado](v.png) | -| **Cubo** | ![no soportado](x.png) | ![soportado](v.png) | -| **Puertas** | ![no soportado](x.png) | ![soportado](v.png) | -| **Caja** | ![no soportado](x.png) | ![soportado](v.png) | -| **Peina** | ![no soportado](x.png) | ![soportado](v.png) | -| **Zoom** | ![soportado](v.png) | ![soportado](v.png) | -| **Aleatorio** | ![no soportado](x.png) | ![soportado](v.png) | - -**Contenido Dinámico**: - -| Tipo de Animación | Aspose.Slides | PowerPoint | +| **Fall Over** | ![not supported](x.png) | ![supported](v.png) | +| **Drape** | ![not supported](x.png) | ![supported](v.png) | +| **Curtains** | ![not supported](x.png) | ![supported](v.png) | +| **Wind** | ![not supported](x.png) | ![supported](v.png) | +| **Prestige** | ![not supported](x.png) | ![supported](v.png) | +| **Fracture** | ![not supported](x.png) | ![supported](v.png) | +| **Crush** | ![not supported](x.png) | ![supported](v.png) | +| **Peel Off** | ![not supported](x.png) | ![supported](v.png) | +| **Page Curl** | ![not supported](x.png) | ![supported](v.png) | +| **Airplane** | ![not supported](x.png) | ![supported](v.png) | +| **Origami** | ![not supported](x.png) | ![supported](v.png) | +| **Dissolve** | ![supported](v.png) | ![supported](v.png) | +| **Checkerboard** | ![not supported](x.png) | ![supported](v.png) | +| **Blinds** | ![not supported](x.png) | ![supported](v.png) | +| **Clock** | ![supported](v.png) | ![supported](v.png) | +| **Ripple** | ![not supported](x.png) | ![supported](v.png) | +| **Honeycomb** | ![not supported](x.png) | ![supported](v.png) | +| **Glitter** | ![not supported](x.png) | ![supported](v.png) | +| **Vortex** | ![not supported](x.png) | ![supported](v.png) | +| **Shred** | ![not supported](x.png) | ![supported](v.png) | +| **Switch** | ![not supported](x.png) | ![supported](v.png) | +| **Flip** | ![not supported](x.png) | ![supported](v.png) | +| **Gallery** | ![not supported](x.png) | ![supported](v.png) | +| **Cube** | ![not supported](x.png) | ![supported](v.png) | +| **Doors** | ![not supported](x.png) | ![supported](v.png) | +| **Box** | ![not supported](x.png) | ![supported](v.png) | +| **Comb** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Random** | ![not supported](x.png) | ![supported](v.png) | + +**Contenido dinámico**: + +| Tipo de animación | Aspose.Slides | PowerPoint | |---|---|---| -| **Paneo** | ![no soportado](x.png) | ![soportado](v.png) | -| **Noria** | ![soportado](v.png) | ![soportado](v.png) | -| **Cinta Transportadora** | ![no soportado](x.png) | ![soportado](v.png) | -| **Rotar** | ![no soportado](x.png) | ![soportado](v.png) | -| **Órbita** | ![no soportado](x.png) | ![soportado](v.png) | -| **Voladura** | ![soportado](v.png) | ![soportado](v.png) | \ No newline at end of file +| **Pan** | ![not supported](x.png) | ![supported](v.png) | +| **Ferris Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Conveyor** | ![not supported](x.png) | ![supported](v.png) | +| **Rotate** | ![not supported](x.png) | ![supported](v.png) | +| **Orbit** | ![not supported](x.png) | ![supported](v.png) | +| **Fly Through** | ![supported](v.png) | ![supported](v.png) | + +## **Preguntas frecuentes** + +**¿Es posible convertir presentaciones protegidas con contraseña?** + +Sí, Aspose.Slides for .NET permite trabajar con presentaciones protegidas con contraseña. Al procesar dichos archivos, debe proporcionar la contraseña correcta para que la biblioteca pueda acceder al contenido de la presentación. + +**¿Aspose.Slides for .NET admite su uso en soluciones en la nube?** + +Sí, Aspose.Slides for .NET puede integrarse en aplicaciones y servicios en la nube. La biblioteca está diseñada para funcionar en entornos de servidor, garantizando alto rendimiento y escalabilidad para el procesamiento por lotes de archivos. + +**¿Existen limitaciones de tamaño para las presentaciones durante la conversión?** + +Aspose.Slides for .NET es capaz de manejar presentaciones de prácticamente cualquier tamaño. Sin embargo, al trabajar con archivos muy grandes, pueden requerirse recursos del sistema adicionales, y a veces se recomienda optimizar la presentación para mejorar el rendimiento. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md index bd5afc175f..bb6d716f97 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md @@ -1,85 +1,123 @@ --- -title: Convertir PowerPoint a Word +title: Convertir presentaciones de PowerPoint a documentos Word en C# +linktitle: Convertir PowerPoint a Word type: docs weight: 110 url: /es/net/convert-powerpoint-to-word/ keywords: -- Convertir PowerPoint -- PPT -- PPTX -- Presentación -- Word -- DOCX -- DOC +- PowerPoint a DOCX +- OpenDocument a DOCX +- presentación a DOCX +- diapositiva a DOCX +- PPT a DOCX - PPTX a DOCX +- ODP a DOCX +- PowerPoint a DOC +- OpenDocument a DOC +- presentación a DOC +- diapositiva a DOC - PPT a DOC - PPTX a DOC -- PPT a DOCX +- ODP a DOC +- PowerPoint a Word +- OpenDocument a Word +- presentación a Word +- diapositiva a Word +- PPT a Word +- PPTX a Word +- ODP a Word +- convertir PowerPoint +- convertir OpenDocument +- convertir presentación +- convertir diapositiva +- convertir PPT +- convertir PPTX +- convertir ODP - C# -- Csharp - .NET - Aspose.Slides -description: "Convertir presentación de PowerPoint a Word en C# o .NET " +description: "Aprenda a convertir de forma sencilla presentaciones de PowerPoint y OpenDocument a documentos Word usando Aspose.Slides para .NET. Nuestra guía paso a paso con código de ejemplo en C# ofrece la solución para desarrolladores que buscan optimizar sus flujos de trabajo de documentos." --- -Si planeas usar contenido textual o información de una presentación (PPT o PPTX) de nuevas maneras, puedes beneficiarte al convertir la presentación a Word (DOC o DOCX). - -* En comparación con Microsoft PowerPoint, la aplicación Microsoft Word está más equipada con herramientas o funcionalidades para el contenido. -* Además de las funciones de edición en Word, también puedes beneficiarte de funciones mejoradas de colaboración, impresión y compartición. - -{{% alert color="primary" %}} - -Puedes querer probar nuestro [**Convertidor de Presentación a Word en Línea**](https://products.aspose.app/slides/conversion/ppt-to-word) para ver lo que podrías ganar al trabajar con contenido textual de las diapositivas. +## **Resumen** -{{% /alert %}} +Este artículo brinda una solución para desarrolladores para convertir presentaciones de PowerPoint y OpenDocument a documentos Word utilizando Aspose.Slides para .NET y Aspose.Words para .NET. La guía paso a paso lo acompañará en cada etapa del proceso de conversión. -### **Aspose.Slides y Aspose.Words** +## **Convertir una presentación a un documento Word** -Para convertir un archivo de PowerPoint (PPTX o PPT) a Word (DOCX o DOCX), necesitas tanto [Aspose.Slides para .NET](https://products.aspose.com/slides/net/) como [Aspose.Words para .NET](https://products.aspose.com/words/net/). +Siga las instrucciones a continuación para convertir una presentación de PowerPoint o OpenDocument a un documento Word: -Como API independiente, [Aspose.Slides](https://products.aspose.app/slides) para .NET proporciona funciones que te permiten extraer textos de presentaciones. +1. Instanciar la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) y cargar un archivo de presentación. +2. Instanciar las clases [Document](https://reference.aspose.com/words/net/aspose.words/document/) y [DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/) para generar un documento Word. +3. Establecer el tamaño de página del documento Word para que coincida con el de la presentación mediante la propiedad [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/). +4. Establecer los márgenes en el documento Word mediante la propiedad [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/). +5. Recorrer todas las diapositivas de la presentación mediante la propiedad [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/). + - Generar una imagen de la diapositiva usando el método `GetImage` de la interfaz [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) y guardarla en un flujo de memoria. + - Añadir la imagen de la diapositiva al documento Word usando el método `InsertImage` de la clase [DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/) . +6. Guardar el documento Word en un archivo. -[Aspose.Words](https://docs.aspose.com/words/net/) es una API avanzada de procesamiento de documentos que permite a las aplicaciones generar, modificar, convertir, renderizar, imprimir archivos y realizar otras tareas con documentos sin utilizar Microsoft Word. +Supongamos que tenemos una presentación "sample.pptx" que se muestra así: -## **Convertir PowerPoint a Word** +![Presentación de PowerPoint](PowerPoint.png) -1. Agrega estos espacios de nombres a tu archivo program.cs: +El siguiente ejemplo de código C# muestra cómo convertir la presentación de PowerPoint a un documento Word: +```cs +// Cargar un archivo de presentación. +using var presentation = new Presentation("sample.pptx"); -```c# -using Aspose.Slides; -using Aspose.Words; -using System.IO; -``` +// Crear objetos Document y DocumentBuilder. +var document = new Document(); +var builder = new DocumentBuilder(document); -2. Usa este fragmento de código para convertir PowerPoint a Word: +// Establecer el tamaño de página en el documento Word. +var slideSize = presentation.SlideSize.Size; +builder.PageSetup.PageWidth = slideSize.Width; +builder.PageSetup.PageHeight = slideSize.Height; -```c# -using var presentation = new Presentation("sample.pptx"); +// Establecer márgenes en el documento Word. +builder.PageSetup.LeftMargin = 0; +builder.PageSetup.RightMargin = 0; +builder.PageSetup.TopMargin = 0; +builder.PageSetup.BottomMargin = 0; -var doc = new Document(); -var builder = new DocumentBuilder(doc); +const float scaleX = 2, scaleY = 2; +// Recorrer todas las diapositivas de la presentación. foreach (var slide in presentation.Slides) { - // genera una imagen de la diapositiva y la guarda en un flujo de memoria - using var image = slide.GetImage(1, 1); + // Generar una imagen de diapositiva y guardarla en un flujo de memoria. + using var image = slide.GetImage(scaleX, scaleY); using var imageStream = new MemoryStream(); image.Save(imageStream, ImageFormat.Png); + // Añadir la imagen de la diapositiva al documento Word. imageStream.Seek(0, SeekOrigin.Begin); - builder.InsertImage(imageStream.ToArray()); - - // inserta los textos de la diapositiva - foreach (var shape in slide.Shapes) - { - if (shape is AutoShape autoShape) - { - builder.Writeln(autoShape.TextFrame.Text); - } - } + builder.InsertImage(imageStream.ToArray(), builder.PageSetup.PageWidth, builder.PageSetup.PageHeight); builder.InsertBreak(BreakType.PageBreak); } -doc.Save("output.docx"); -``` \ No newline at end of file +// Guardar el documento Word en un archivo. +document.Save("output.docx"); +``` + + +El resultado: + +![Documento Word](Word.png) + +{{% alert color="primary" %}} + +Pruebe nuestro [**Convertidor en línea de PPT a Word**](https://products.aspose.app/slides/conversion/ppt-to-word) para ver lo que puede obtener al convertir presentaciones de PowerPoint y OpenDocument a documentos Word. + +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Qué componentes deben instalarse para convertir presentaciones de PowerPoint y OpenDocument a documentos Word?** + +Solo necesita agregar los paquetes NuGet correspondientes para [Aspose.Slides for .NET](https://www.nuget.org/packages/Aspose.Slides.NET) y [Aspose.Words for .NET](https://www.nuget.org/packages/Aspose.Words/) a su proyecto C#. Ambas bibliotecas funcionan como APIs independientes, y no es necesario tener Microsoft Office instalado. + +**¿Se admiten todos los formatos de presentación de PowerPoint y OpenDocument?** + +Aspose.Slides for .NET [admite todos los formatos de presentación](/slides/es/net/supported-file-formats/), incluidos PPT, PPTX, ODP y otros tipos de archivo comunes. Esto garantiza que pueda trabajar con presentaciones creadas en varias versiones de Microsoft PowerPoint. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md index 03a28a08c2..8a02bcf7bd 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md @@ -1,58 +1,55 @@ --- -title: Convertir PowerPoint a XPS +title: Convertir PowerPoint a XPS type: docs weight: 70 url: /es/net/convert-powerpoint-to-xps -keywords: "Convertir presentación de PowerPoint, PowerPoint a XPS, PPT a XPS, PPTX a XPS, Conversión, C#, Csharp, .NET, Aspose.Slides" -description: "Convierte presentación de PowerPoint a XPS en C# o .NET." +keywords: "Convertir presentación PowerPoint, PowerPoint a XPS, PPT a XPS, PPTX a XPS, Conversión, C#, Csharp, .NET, Aspose.Slides" +description: "Convertir una presentación PowerPoint a XPS en C# o .NET." --- ## **Acerca de XPS** Microsoft desarrolló [XPS](https://docs.fileformat.com/page-description-language/xps/) como una alternativa a [PDF](https://docs.fileformat.com/pdf/). Permite imprimir contenido generando un archivo muy similar a un PDF. El formato XPS se basa en XML. El diseño o la estructura de un archivo XPS permanece igual en todos los sistemas operativos e impresoras. -## Cuándo usar el formato Microsoft XPS +## **Cuándo usar el formato Microsoft XPS** {{% alert color="primary" %}} -Para ver cómo Aspose.Slides convierte una presentación PPT o PPTX al formato XPS, puedes consultar [esta aplicación convertidora gratuita en línea](https://products.aspose.app/slides/conversion). +Para ver cómo Aspose.Slides convierte presentaciones PPT o PPTX al formato XPS, puedes visitar [esta aplicación gratuita de conversión en línea](https://products.aspose.app/slides/conversion). {{% /alert %}} Si deseas reducir los costos de almacenamiento, puedes convertir tu presentación de Microsoft PowerPoint al formato XPS. De esta manera, te resultará más fácil guardar, compartir e imprimir tus documentos. -Microsoft continúa implementando un fuerte soporte para XPS en Windows (incluso en Windows 10), por lo que podrías considerar guardar archivos en este formato. Si estás utilizando Windows 8.1, Windows 8, Windows 7 y Windows Vista, entonces XPS podría ser en realidad tu mejor opción para ciertas operaciones. +Microsoft sigue implementando un fuerte soporte para XPS en Windows (incluso en Windows 10), por lo que podrías considerar guardar archivos en este formato. Si trabajas con Windows 8.1, Windows 8, Windows 7 y Windows Vista, entonces XPS podría ser tu mejor opción para ciertas operaciones. -- **Windows 8** utiliza el formato OXPS (Open XPS) para archivos XPS. OXPS es una versión estandarizada del formato XPS original. Windows 8 ofrece mejor soporte para archivos XPS que para archivos PDF. - - **XPS:** Visor/lector XPS integrado y función de impresión a XPS disponible. - - **PDF**: Lector de PDF disponible, pero no hay función de impresión a PDF. +- **Windows 8** utiliza el formato OXPS (Open XPS) para los archivos XPS. OXPS es una versión estandarizada del formato XPS original. Windows 8 ofrece mejor compatibilidad con archivos XPS que con archivos PDF. + - **XPS:** Visor/lector XPS incorporado y función de impresión a XPS disponible. + - **PDF:** Lector PDF disponible pero sin función de impresión a PDF. -- **Windows 7 y Windows Vista** utilizan el formato XPS original. Estos sistemas operativos también ofrecen mejor soporte para archivos XPS que para PDF. - - **XPS**: Visor XPS integrado y función de impresión a XPS disponible. - - **PDF**: No hay lector de PDF. No hay función de impresión a PDF. +- **Windows 7 y Windows Vista** utilizan el formato XPS original. Estos sistemas operativos también ofrecen mejor compatibilidad con archivos XPS que con PDFs. + - **XPS:** Visor XPS incorporado y función de impresión a XPS disponible. + - **PDF:** No hay lector PDF. No hay función de impresión a PDF. -|

**Entrada PPT(X):

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**Salida XPS:

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| +|

**Entrada PPT(X):**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**Salida XPS:**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| | :- | :- | +Microsoft finalmente implementó soporte para operaciones de impresión en PDF mediante la función Imprimir a PDF en Windows 10. Anteriormente, se esperaba que los usuarios imprimieran documentos a través del formato XPS. +## **Conversión a XPS con Aspose.Slides** -Microsoft finalmente implementó soporte para operaciones de impresión en PDF a través de la función Imprimir a PDF en Windows 10. Anteriormente, se esperaba que los usuarios imprimieran documentos a través del formato XPS. +En [**Aspose.Slides**](https://products.aspose.com/slides/net/) para .NET, puedes usar el método [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) expuesto por la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides.presentation) para convertir toda la presentación en un documento XPS. -## Conversión a XPS con Aspose.Slides +Al convertir una presentación a XPS, debes guardar la presentación usando una de estas configuraciones: -En [**Aspose.Slides**](https://products.aspose.com/slides/net/) para .NET, puedes usar el método [**Guardar**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) expuesto por la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) para convertir toda la presentación en un documento XPS. +- Configuración predeterminada (sin [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) +- Configuración personalizada (con [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) -Al convertir una presentación a XPS, debes guardar la presentación utilizando una de estas configuraciones: - -- Configuraciones predeterminadas (sin [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) -- Configuraciones personalizadas (con [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) - -### **Convirtiendo presentaciones a XPS usando configuraciones predeterminadas** - -Este código de ejemplo en C# te muestra cómo convertir una presentación a un documento XPS utilizando configuraciones estándar: +### **Convirtiendo presentaciones a XPS usando la configuración predeterminada** +Este fragmento de código en C# muestra cómo convertir una presentación a un documento XPS usando la configuración estándar: ```c# // Instanciar un objeto Presentation que representa un archivo de presentación -using (Presentation pres = new Presentation("Convert_XPS.pptx")) + using (Presentation pres = new Presentation("Convert_XPS.pptx")) { // Guardar la presentación en un documento XPS pres.Save("XPS_Output_Without_XPSOption_out.xps", SaveFormat.Xps); @@ -60,14 +57,13 @@ using (Presentation pres = new Presentation("Convert_XPS.pptx")) ``` -### **Convirtiendo presentaciones a XPS usando configuraciones personalizadas** -Este código de ejemplo te muestra cómo convertir una presentación a un documento XPS utilizando configuraciones personalizadas en C#: - +### **Convirtiendo presentaciones a XPS usando la configuración personalizada** +Este fragmento de código muestra cómo convertir una presentación a un documento XPS usando configuraciones personalizadas en C#: ```c# // Instanciar un objeto Presentation que representa un archivo de presentación using (Presentation pres = new Presentation("Convert_XPS_Options.pptx")) { - // Instanciar la clase XpsOptions + // Instanciar la clase TiffOptions XpsOptions options = new XpsOptions(); // Guardar MetaFiles como PNG @@ -76,4 +72,15 @@ using (Presentation pres = new Presentation("Convert_XPS_Options.pptx")) // Guardar la presentación en un documento XPS pres.Save("XPS_With_Options_out.xps", SaveFormat.Xps, options); } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Puedo guardar XPS en un stream en lugar de un archivo?** + +Sí—Aspose.Slides te permite exportar directamente a un stream, lo cual es ideal para API web, canalizaciones del lado del servidor o cualquier escenario donde desees enviar el XPS sin tocar el sistema de archivos. + +**¿Se trasladan las diapositivas ocultas al XPS y puedo excluirlas?** + +De forma predeterminada, solo se renderizan las diapositivas normales (visibles). Puedes [incluir o excluir diapositivas ocultas](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/) a través de la [configuración de exportación](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/) antes de guardar a XPS, garantizando que la salida contenga exactamente las páginas que deseas. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index 0805959290..c72486ecf8 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -4,19 +4,19 @@ linktitle: Convertir PPT a PPTX type: docs weight: 20 url: /es/net/convert-ppt-to-pptx/ -keywords: "C# Convertir PPT a PPTX, Convertir Presentación de PowerPoint, PPT a PPTX, C#, Csharp, .NET, Aspose.Slides" +keywords: "C# Convertir PPT a PPTX, Convertir presentación de PowerPoint, PPT a PPTX, C#, Csharp, .NET, Aspose.Slides" description: "Convertir PowerPoint PPT a PPTX en C# o .NET" --- -## **Resumen** +## **Visión general** -Este artículo explica cómo convertir una Presentación de PowerPoint en formato PPT a formato PPTX usando C# y con la aplicación en línea de conversión de PPT a PPTX. Se cubre el siguiente tema. +Este artículo explica cómo convertir una presentación de PowerPoint en formato PPT a formato PPTX usando C# y con la aplicación en línea de conversión de PPT a PPTX. Se cubre el siguiente tema. -- [Convertir PPT a PPTX en C#](#convertir-ppt-a-pptx) +- [Convertir PPT a PPTX en C#](#convert-ppt-to-pptx) ## **C# Convertir PPT a PPTX** -Para el código de ejemplo en C# para convertir PPT a PPTX, consulte la sección a continuación, es decir, [Convertir PPT a PPTX](#convertir-ppt-a-pptx). Simplemente carga el archivo PPT y lo guarda en formato PPTX. Al especificar diferentes formatos de guardado, también puede guardar el archivo PPT en muchos otros formatos como PDF, XPS, ODP, HTML, etc., como se discute en estos artículos. +Para el código de ejemplo en C# que convierte PPT a PPTX, consulte la sección a continuación, es decir, [Convertir PPT a PPTX](#convert-ppt-to-pptx). Simplemente carga el archivo PPT y lo guarda en formato PPTX. Al especificar diferentes formatos de guardado, también puede guardar el archivo PPT en muchos otros formatos como PDF, XPS, ODP, HTML, etc., como se comenta en estos artículos. - [C# Convertir PPT a PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) - [C# Convertir PPT a XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) @@ -24,37 +24,68 @@ Para el código de ejemplo en C# para convertir PPT a PPTX, consulte la sección - [C# Convertir PPT a ODP](https://docs.aspose.com/slides/net/save-presentation/) - [C# Convertir PPT a Imagen](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -## **Acerca de la Conversión de PPT a PPTX** -Convertir el antiguo formato PPT a PPTX con la API de Aspose.Slides. Si necesita convertir miles de presentaciones PPT a formato PPTX, la mejor solución es hacerlo programáticamente. Con la API de Aspose.Slides es posible hacerlo en pocas líneas de código. La API soporta compatibilidad total para convertir presentaciones PPT a PPTX y es posible: +## **Acerca de la conversión de PPT a PPTX** +Convierta el formato PPT antiguo a PPTX con la API Aspose.Slides. Si necesita convertir miles de presentaciones PPT a formato PPTX, la mejor solución es hacerlo programáticamente. Con la API Aspose.Slides es posible hacerlo en solo unas pocas líneas de código. La API admite compatibilidad total para convertir presentaciones PPT a PPTX y permite: -- Convertir estructuras complicadas de maestros, diseños y diapositivas. +- Convertir estructuras complejas de maestros, diseños y diapositivas. - Convertir presentaciones con gráficos. -- Convertir presentaciones con formas grupales, formas automáticas (como rectángulos y elipses), formas con geometría personalizada. -- Convertir presentaciones que tienen estilos de relleno de texturas e imágenes para formas automáticas. -- Convertir presentaciones con marcadores de posición, cuadros de texto y contenedores de texto. +- Convertir presentaciones con formas agrupadas, autoformas (como rectángulos y elipses), formas con geometría personalizada. +- Convertir presentaciones que tengan texturas y estilos de relleno de imágenes para autoformas. +- Convertir presentaciones con marcadores de posición, marcos de texto y contenedores de texto. {{% alert color="primary" %}} -Echa un vistazo a [**Aspose.Slides Conversión de PPT a PPTX**](https://products.aspose.app/slides/conversion/ppt-to-pptx): +Echa un vistazo a [**Conversión de PPT a PPTX de Aspose.Slides**](https://products.aspose.app/slides/conversion/ppt-to-pptx) app: [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -Esta aplicación está construida sobre la **API de Aspose.Slides**, por lo que puede ver un ejemplo en vivo de las capacidades básicas de conversión de PPT a PPTX. La Conversión de Aspose.Slides es una aplicación web, que permite soltar un archivo de presentación en formato PPT y descargarlo convertido a PPTX. +Esta aplicación está construida sobre **Aspose.Slides API**, por lo que puede ver un ejemplo activo de las capacidades básicas de conversión de PPT a PPTX. Aspose.Slides Conversion es una aplicación web que permite arrastrar un archivo de presentación en formato PPT y descargarlo convertido a PPTX. -Encuentra otros ejemplos en vivo de [**Conversión de Aspose.Slides**](https://products.aspose.app/slides/conversion/). +Encuentre otros ejemplos en vivo de [**Conversión de Aspose.Slides**](https://products.aspose.app/slides/conversion/). {{% /alert %}} -## **Convertir PPT a PPTX** -Para convertir un PPT a PPTX, simplemente pase el nombre del archivo y el formato de guardado al [**Guardar**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) método de la [**Presentación**](https://reference.aspose.com/slides/net/aspose.slides/presentation) clase. El código de ejemplo en C# a continuación convierte una Presentación de PPT a PPTX usando opciones predeterminadas. +## **Convertir PPT a PPTX** +Para convertir un PPT a PPTX simplemente pase el nombre del archivo y el formato de guardado al método [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) de la clase [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation). El siguiente ejemplo de código C# convierte una presentación de PPT a PPTX usando opciones predeterminadas. ```c# -// Instanciar un objeto Presentación que representa un archivo PPTX +// Instanciar un objeto Presentation que representa un archivo PPTX Presentation pres = new Presentation("PPTtoPPTX.ppt"); // Guardar la presentación PPTX en formato PPTX pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` -Lea más sobre los formatos de presentación [**PPT vs PPTX**](/slides/es/net/ppt-vs-pptx/) y cómo [**Aspose.Slides soporta la conversión de PPT a PPTX**](/slides/es/net/convert-ppt-to-pptx/). \ No newline at end of file + +Lea más sobre los formatos de presentación [**PPT vs PPTX**](/slides/es/net/ppt-vs-pptx/) y cómo [**Aspose.Slides admite la conversión de PPT a PPTX**](/slides/es/net/convert-ppt-to-pptx/). + +## **Preguntas frecuentes** + +**¿Cuál es la diferencia entre los formatos PPT y PPTX?** + +PPT es el formato binario antiguo utilizado por Microsoft PowerPoint, mientras que PPTX es el formato basado en XML introducido con Microsoft Office 2007. Los archivos PPTX ofrecen mejor rendimiento, menor tamaño y una recuperación de datos mejorada. + +**¿Puedo convertir PPT a PPTX usando .NET?** + +Sí, con la biblioteca Aspose.Slides para .NET puede cargar fácilmente un archivo PPT y guardarlo en formato PPTX con solo unas pocas líneas de código. + +**¿Aspose.Slides admite la conversión por lotes de varios archivos PPT a PPTX?** + +Sí, puede usar Aspose.Slides dentro de un bucle para convertir programáticamente múltiples archivos PPT a PPTX, lo que lo hace adecuado para escenarios de conversión por lotes. + +**¿Se preservarán el contenido y el formato después de la conversión?** + +Aspose.Slides mantiene una alta fidelidad al convertir presentaciones. Los diseños de diapositivas, animaciones, formas, gráficos y otros elementos de diseño se conservan durante la conversión de PPT a PPTX. + +**¿Puedo convertir otros formatos como PDF o HTML desde archivos PPT?** + +Sí, Aspose.Slides admite la conversión de archivos PPT a varios formatos, incluidos PDF, XPS, HTML, ODP y formatos de imagen como PNG y JPEG. + +**¿Es posible convertir PPT a PPTX sin tener Microsoft PowerPoint instalado?** + +Sí, Aspose.Slides para .NET es una API independiente y no requiere Microsoft PowerPoint ni ningún software de terceros para realizar la conversión. + +**¿Existe una herramienta en línea disponible para la conversión de PPT a PPTX?** + +Sí, puede usar la aplicación web gratuita [Aspose.Slides PPT a PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) para realizar la conversión directamente en su navegador sin escribir código. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md index b63ee1b572..42a4b5abfb 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md @@ -4,33 +4,47 @@ linktitle: Convertir PPTX a PPT type: docs weight: 21 url: /es/net/convert-pptx-to-ppt/ -keywords: "C# Convertir PPTX a PPT, Convertir Presentación de PowerPoint, PPTX a PPT, C#, Aspose.Slides" -description: "Convertir PPTX de PowerPoint a PPT en C#" +keywords: "C# Convertir PPTX a PPT, Convertir presentación de PowerPoint, PPTX a PPT, C#, Aspose.Slides" +description: "Convertir presentación de PowerPoint PPTX a PPT en C#" --- -## **Descripción general** +## **Overview** -Este artículo explica cómo convertir una Presentación de PowerPoint en formato PPTX a formato PPT utilizando C#. El siguiente tema se cubre. +Este artículo explica cómo convertir una presentación de PowerPoint en formato PPTX a formato PPT utilizando C#. Se cubre el siguiente tema. - Convertir PPTX a PPT en C# -## **C# Convertir PPTX a PPT** +## **C# Convert PPTX to PPT** -Para el código de ejemplo en C# para convertir PPTX a PPT, consulte la sección a continuación es decir, [Convertir PPTX a PPT](#convert-pptx-a-ppt). Solo carga el archivo PPTX y lo guarda en formato PPT. Al especificar diferentes formatos de guardado, también puede guardar el archivo PPTX en muchos otros formatos como PDF, XPS, ODP, HTML, etc. como se discute en estos artículos. +Para ver el código de ejemplo en C# que convierte PPTX a PPT, consulte la sección a continuación, es decir, [Convertir PPTX a PPT](#convert-pptx-to-ppt). Simplemente carga el archivo PPTX y lo guarda en formato PPT. Al especificar diferentes formatos de guardado, también puede guardar el archivo PPTX en muchos otros formatos como PDF, XPS, ODP, HTML, etc., como se discute en estos artículos. - [C# Convertir PPTX a PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) - [C# Convertir PPTX a XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) - [C# Convertir PPTX a HTML](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) - [C# Convertir PPTX a ODP](https://docs.aspose.com/slides/net/save-presentation/) -- [C# Convertir PPTX a Imagen](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) - -## **Convertir PPTX a PPT** -Para convertir un PPTX a PPT, simplemente pase el nombre del archivo y el formato de guardado al método [**Guardar**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) de la clase [**Presentación**](https://reference.aspose.com/slides/net/aspose.slides/presentation/). El siguiente ejemplo de código en C# convierte una Presentación de PPTX a PPT utilizando opciones predeterminadas. +- [C# Convertir PPTX a Image](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) +## **Convert PPTX to PPT** +Para convertir un PPTX a PPT, simplemente pase el nombre del archivo y el formato de guardado al método [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) de la clase [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/). El ejemplo de código C# a continuación convierte una Presentation de PPTX a PPT usando las opciones predeterminadas. ```c# // Instanciar un objeto Presentation que representa un archivo PPTX Presentation pres = new Presentation("presentation.pptx"); // Guardar la presentación PPTX en formato PPT pres.Save("presentation.ppt", SaveFormat.Ppt); -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Todos los efectos y funciones de PPTX se conservan al guardarse en el formato PPT heredado (97–2003)?** + +No siempre. El formato PPT carece de algunas capacidades más recientes (p. ej., ciertos efectos, objetos y comportamientos), por lo que las funciones pueden simplificarse o rasterizarse durante la conversión. + +**¿Puedo convertir solo diapositivas seleccionadas a PPT en lugar de toda la presentación?** + +El guardado directo se dirige a toda la presentación. Para convertir diapositivas específicas, cree una nueva presentación con solo esas diapositivas y guárdela como PPT; alternativamente, use un servicio/API que admita parámetros de conversión por diapositiva. + +**¿Se admiten presentaciones protegidas con contraseña?** + +Sí. Puede detectar si un archivo está protegido, abrirlo con una contraseña y también [configurar la protección/ajustes de cifrado](/slides/es/net/password-protected-presentation/) para el PPT guardado. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index 3b3288bd2d..8608eb8fd3 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,32 +1,28 @@ --- -title: PPT vs PPTX +title: "Entendiendo la diferencia: PPT vs PPTX" +linktitle: PPT vs PPTX type: docs weight: 10 url: /es/net/ppt-vs-pptx/ -keywords: "PPT vs PPTX, PPT o PPTX, Presentación de PowerPoint, formato, C#, Csharp, .NET" -description: "Sobre los formatos de Presentación de PowerPoint. PPT vs PPTX. Diferencias en C# o .NET" +keywords: "PPT vs PPTX, formatos de PowerPoint, C#, .NET, Convertir PPT a PPTX, Presentación en .NET" +description: "Explore las diferencias clave entre los formatos PPT y PPTX. Conozca su uso en entornos C# y .NET." --- +## **Comprender PPT: Formato heredado** +[**PPT**](https://docs.fileformat.com/presentation/ppt/) es un formato de archivo binario utilizado por PowerPoint 97-2003. Debido a su naturaleza binaria, visualizar su contenido requiere herramientas especializadas. A pesar de sus limitaciones de ampliación, el formato PPT sigue siendo ampliamente usado en ciertas aplicaciones. -## **¿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 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 archivado de archivos XML y multimedia. El formato PPTX es fácilmente expandable. 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. +## **Explorando PPTX: Estándar moderno** +[**PPTX**](https://docs.fileformat.com/presentation/pptx/) se basa en el estándar Office Open XML (ISO 29500:2008-2016, ECMA-376). Este formato basado en XML permite mayor flexibilidad y es compatible con PowerPoint 2007 y versiones posteriores. La modularidad de PPTX facilita la adición sencilla de funciones, como nuevos tipos de gráficos o formas, garantizando compatibilidad retroactiva sin cambios mayores en el formato. -## **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. +## **PPT vs. PPTX: Diferencias clave y aspectos de conversión** +PPTX ofrece funcionalidad mejorada en comparación con el formato heredado PPT, sin embargo, a menudo es necesario convertir entre estos formatos. La transición de PPT a PPTX presenta desafíos únicos debido a problemas de compatibilidad. PowerPoint puede crear componentes específicos (MetroBlob) dentro de archivos PPT para almacenar datos exclusivos de PPTX, que las versiones antiguas de PowerPoint no pueden mostrar pero pueden restaurar al abrirse en versiones más recientes o al convertirse a PPTX. -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 ella. 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 un archivo PPT se carga en una versión moderna de PowerPoint o se convierte a 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 utilizar el formato PPTX siempre que sea posible. +Aspose.Slides simplifica el trabajo con los formatos PPT y PPTX, ofreciendo capacidades de conversión sin problemas. Mientras que la conversión completa de PPT a PPTX está soportada, convertir de PPTX a PPT implica limitaciones. Se recomienda utilizar PPTX siempre que sea posible para optimizar la funcionalidad y la compatibilidad. {{% alert color="primary" %}} - -Verifique la calidad de las conversiones de PPT a PPTX y de PPTX a PPT con la aplicación en línea [**Aspose.Slides Conversion app**](https://products.aspose.app/slides/conversion/). - -{{% /alert %}} - -```c# +Experimente conversiones de alta calidad con la [**herramienta de conversión Aspose.Slides**](https://products.aspose.app/slides/conversion/). +{{% /alert %}} +```csharp // Instanciar un objeto Presentation que representa un archivo PPTX Presentation pres = new Presentation("PPTtoPPTX.ppt"); @@ -34,6 +30,25 @@ Presentation pres = new Presentation("PPTtoPPTX.ppt"); pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` + {{% alert color="primary" %}} -Lea más [**Cómo convertir presentaciones de PPT a PPTX**.](/slides/es/net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +Descubra más: [**Cómo convertir presentaciones de PPT a PPTX**](/slides/es/net/convert-ppt-to-pptx/) +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Tiene algún sentido mantener 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, puede conservarla en PPT. Pero para garantizar compatibilidad futura y extensibilidad, es mejor [convertir a PPTX](/slides/es/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 puedo decidir qué archivos son críticos para convertir a PPTX primero?** + +Convierta primero las presentaciones que: sean editadas por varias personas; contengan [gráficos](/slides/es/net/create-chart/)/[formas](/slides/es/net/shape-manipulations/); se utilicen en comunicaciones externas; o generen advertencias al [abrir](/slides/es/net/open-presentation/). + +**¿Se preservará la protección con contraseña al convertir de PPT a PPTX y viceversa?** + +La presencia de una contraseña se mantiene solo con una conversión correcta y con soporte de cifrado en la herramienta que utilice. Es más fiable [eliminar la protección](/slides/es/net/password-protected-presentation/), [convertir](/slides/es/net/convert-ppt-to-pptx/), y luego aplicar nuevamente la protección según su política de seguridad. + +**¿Por qué algunos efectos desaparecen o se simplifican al convertir PPTX de vuelta a PPT?** + +Porque PPT no soporta 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/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index e9e695066d..34d6eb78c0 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,87 +1,85 @@ --- -title: Renderizar una Diapositiva como una Imagen SVG en C# -linktitle: Renderizar una Diapositiva como una Imagen SVG +title: Renderizar una diapositiva como imagen SVG en C# +linktitle: Renderizar una diapositiva como imagen SVG type: docs weight: 50 url: /es/net/render-a-slide-as-an-svg-image/ -description: Este artículo explica cómo convertir una presentación de PowerPoint al formato SVG utilizando C#. Puedes convertir formatos PPT, PPTX, ODP en imágenes SVG. +description: Este artículo explica cómo convertir una presentación de PowerPoint al formato SVG usando C#. Puede convertir los formatos PPT, PPTX y ODP en imágenes SVG. keywords: C# Convertir PowerPoint a SVG, C# PPT a SVG, C# PPTX a SVG --- -## Descripción General +## **Visión general** -Este artículo explica cómo **convertir una presentación de PowerPoint al formato SVG utilizando C#**. Cubre los siguientes temas. +Este artículo explica cómo **convertir presentaciones de PowerPoint al formato SVG utilizando C#**. Cubre los siguientes temas. _Formato_: **PowerPoint** - [C# PowerPoint a SVG](#csharp-powerpoint-to-svg) -- [C# Convertir PowerPoint a SVG](#csharp-powerpoint-to-svg) -- [C# Cómo convertir un archivo de PowerPoint a SVG](#csharp-powerpoint-to-svg) +- [C# PowerPoint a SVG](#csharp-powerpoint-to-svg) +- [C# PowerPoint a SVG](#csharp-powerpoint-to-svg) _Formato_: **PPT** - [C# PPT a SVG](#csharp-ppt-to-svg) -- [C# Convertir PPT a SVG](#csharp-ppt-to-svg) -- [C# Cómo convertir un archivo PPT a SVG](#csharp-ppt-to-svg) +- [C# PPT a SVG](#csharp-ppt-to-svg) +- [C# PPT a SVG](#csharp-ppt-to-svg) _Formato_: **PPTX** - [C# PPTX a SVG](#csharp-pptx-to-svg) -- [C# Convertir PPTX a SVG](#csharp-pptx-to-svg) -- [C# Cómo convertir un archivo PPTX a SVG](#csharp-pptx-to-svg) +- [C# PPTX a SVG](#csharp-pptx-to-svg) +- [C# PPTX a SVG](#csharp-pptx-to-svg) _Formato_: **ODP** - [C# ODP a SVG](#csharp-odp-to-svg) -- [C# Convertir ODP a SVG](#csharp-odp-to-svg) -- [C# Cómo convertir un archivo ODP a SVG](#csharp-odp-to-svg) +- [C# ODP a SVG](#csharp-odp-to-svg) +- [C# ODP a SVG](#csharp-odp-to-svg) -_Formato_: **Diapositiva** -- [C# Convertir Diapositiva de PowerPoint a SVG](#render-a-slide-as-an-svg-image) -- [C# Convertir Diapositiva de PPT a SVG](#render-a-slide-as-an-svg-image) -- [C# Convertir Diapositiva de PPTX a SVG](#render-a-slide-as-an-svg-image) -- [C# Convertir Diapositiva de ODP a SVG](#render-a-slide-as-an-svg-image) +_Formato_: **Slide** +- [C# Convertir diapositiva de PowerPoint a SVG](#render-a-slide-as-an-svg-image) +- [C# Convertir diapositiva PPT a SVG](#render-a-slide-as-an-svg-image) +- [C# Convertir diapositiva PPTX a SVG](#render-a-slide-as-an-svg-image) +- [C# Convertir diapositiva ODP a SVG](#render-a-slide-as-an-svg-image) Otros temas cubiertos por este artículo. -- [Ver También](#see-also) - -## Formato SVG -SVG—un acrónimo de Gráficos Vectoriales Escalables—es un tipo o formato de gráficos estándar utilizado para renderizar imágenes bidimensionales. SVG almacena imágenes como vectores en XML con detalles que definen su comportamiento o apariencia. +- [Ver también](#see-also) -SVG es uno de los pocos formatos para imágenes que cumple con estándares muy altos en estos términos: escalabilidad, interactividad, rendimiento, accesibilidad, programabilidad y otros. Por estas razones, se utiliza comúnmente en el desarrollo web. +## **Formato SVG** +SVG—un acrónimo de Scalable Vector Graphics—es un tipo o formato estándar de gráficos utilizado para renderizar imágenes bidimensionales. SVG almacena imágenes como vectores en XML con detalles que definen su comportamiento o apariencia. -Es posible que desees utilizar archivos SVG cuando necesites +SVG es uno de los pocos formatos de imágenes que cumple 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. -- **imprimir tu presentación en un *formato muy grande*.** Las imágenes SVG pueden escalarse a cualquier resolución o nivel. Puedes redimensionar imágenes SVG tantas veces como sea necesario sin sacrificar calidad. -- **usar gráficos y diagramas de tus diapositivas en *diferentes medios o plataformas*.* La mayoría de los lectores pueden interpretar archivos SVG. -- **usar los *tamaños más pequeños posibles de imágenes*.** Los archivos SVG generalmente son más pequeños que sus equivalentes de alta resolución en otros formatos, especialmente aquellos basados en mapas de bits (JPEG o PNG). +Es posible que desee usar archivos SVG cuando necesita +- **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 los *tamaños más pequeños posibles 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). -## Renderizar una Diapositiva como una Imagen SVG +## **Renderizar una diapositiva como imagen SVG** -Aspose.Slides para .NET te permite exportar diapositivas en tus presentaciones como imágenes SVG. Sigue estos pasos para generar imágenes SVG: +Aspose.Slides for .NET le permite exportar diapositivas en sus presentaciones como imágenes SVG. Siga estos pasos para generar imágenes SVG: -_Pasos: Conversiones de PowerPoint a SVG en C#_ +_Pasos: conversiones de PowerPoint a SVG en C#_ -El siguiente código de muestra explica estas conversiones utilizando .NET. +El siguiente código de ejemplo explica estas conversiones usando .NET. - Pasos: Convertir PowerPoint a SVG en C# - Pasos: Convertir PPT a SVG en C# - Pasos: Convertir PPTX a SVG en C# - Pasos: Convertir ODP a SVG en C# -_Pasos de Código:_ +_Pasos de código:_ -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). - * _.ppt_ extensión para cargar un archivo **PPT** dentro de la clase _Presentation_. - * _.pptx_ extensión para cargar un archivo **PPTX** dentro de la clase _Presentation_. - * _.odp_ extensión para cargar un archivo **ODP** dentro de la clase _Presentation_. - * _.pps_ extensión para cargar un archivo **PPS** dentro de la clase _Presentation_. -2. Itera a través de todas las diapositivas en la presentación. -3. Escribe cada diapositiva en su propio archivo SVG a través de FileStream. +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). + * _.ppt_ extensión para cargar archivo **PPT** dentro de la clase _Presentation_. + * _.pptx_ extensión para cargar archivo **PPTX** dentro de la clase _Presentation_. + * _.odp_ extensión para cargar archivo **ODP** dentro de la clase _Presentation_. + * _.pps_ extensión para cargar archivo **PPS** dentro de la clase _Presentation_. +2. Itere a través de todas las diapositivas de la presentación. +3. Escriba cada diapositiva en su propio archivo SVG mediante FileStream. {{% alert color="primary" %}} -Es posible que desees 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 .NET. +Es posible 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 .NET. {{% /alert %}} -Este código de muestra en C# te muestra cómo convertir PowerPoint a SVG utilizando Aspose.Slides: - +Este código de ejemplo en C# le muestra cómo convertir PowerPoint a SVG usando Aspose.Slides: ``` csharp // El objeto Presentation puede cargar formatos de PowerPoint como PPT, PPTX, ODP, etc. using (Presentation pres = new Presentation("pres.pptx")) @@ -98,46 +96,61 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Ver También -Este artículo también cubre estos temas. Los códigos son los mismos que los anteriores. +## **Preguntas frecuentes** + +**¿Por qué el SVG resultante puede verse diferente en distintos navegadores?** + +El soporte de 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/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/net/aspose.slides/shape/writeassvg/), lo cual es conveniente para íconos, pictogramas y reutilizar gráficos. + +**¿Se pueden combinar varias diapositivas en un solo SVG (tira/documento)?** + +El escenario estándar es una diapositiva → un SVG. Combinar varias diapositivas en un solo lienzo SVG es un paso de postprocesamiento que se realiza a nivel de la aplicación. + +## **Ver también** + +Este artículo también cubre estos temas. Los códigos son los mismos que arriba. _Formato_: **PowerPoint** - [C# PowerPoint a SVG Código](#csharp-powerpoint-to-svg) - [C# PowerPoint a SVG API](#csharp-powerpoint-to-svg) -- [C# PowerPoint a SVG Programáticamente](#csharp-powerpoint-to-svg) +- [C# PowerPoint a SVG programáticamente](#csharp-powerpoint-to-svg) - [C# PowerPoint a SVG Biblioteca](#csharp-powerpoint-to-svg) - [C# Guardar PowerPoint como SVG](#csharp-powerpoint-to-svg) - [C# Generar SVG desde PowerPoint](#csharp-powerpoint-to-svg) - [C# Crear SVG desde PowerPoint](#csharp-powerpoint-to-svg) -- [C# PowerPoint a SVG Conversor](#csharp-powerpoint-to-svg) +- [C# PowerPoint a SVG Convertidor](#csharp-powerpoint-to-svg) _Formato_: **PPT** - [C# PPT a SVG Código](#csharp-ppt-to-svg) - [C# PPT a SVG API](#csharp-ppt-to-svg) -- [C# PPT a SVG Programáticamente](#csharp-ppt-to-svg) +- [C# PPT a SVG programáticamente](#csharp-ppt-to-svg) - [C# PPT a SVG Biblioteca](#csharp-ppt-to-svg) - [C# Guardar PPT como SVG](#csharp-ppt-to-svg) - [C# Generar SVG desde PPT](#csharp-ppt-to-svg) - [C# Crear SVG desde PPT](#csharp-ppt-to-svg) -- [C# PPT a SVG Conversor](#csharp-ppt-to-svg) +- [C# PPT a SVG Convertidor](#csharp-ppt-to-svg) _Formato_: **PPTX** - [C# PPTX a SVG Código](#csharp-pptx-to-svg) - [C# PPTX a SVG API](#csharp-pptx-to-svg) -- [C# PPTX a SVG Programáticamente](#csharp-pptx-to-svg) +- [C# PPTX a SVG programáticamente](#csharp-pptx-to-svg) - [C# PPTX a SVG Biblioteca](#csharp-pptx-to-svg) - [C# Guardar PPTX como SVG](#csharp-pptx-to-svg) - [C# Generar SVG desde PPTX](#csharp-pptx-to-svg) - [C# Crear SVG desde PPTX](#csharp-pptx-to-svg) -- [C# PPTX a SVG Conversor](#csharp-pptx-to-svg) +- [C# PPTX a SVG Convertidor](#csharp-pptx-to-svg) _Formato_: **ODP** - [C# ODP a SVG Código](#csharp-odp-to-svg) - [C# ODP a SVG API](#csharp-odp-to-svg) -- [C# ODP a SVG Programáticamente](#csharp-odp-to-svg) +- [C# ODP a SVG programáticamente](#csharp-odp-to-svg) - [C# ODP a SVG Biblioteca](#csharp-odp-to-svg) - [C# Guardar ODP como SVG](#csharp-odp-to-svg) - [C# Generar SVG desde ODP](#csharp-odp-to-svg) - [C# Crear SVG desde ODP](#csharp-odp-to-svg) -- [C# ODP a SVG Conversor](#csharp-odp-to-svg) \ No newline at end of file +- [C# ODP a SVG Convertidor](#csharp-odp-to-svg) \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index cbaf34ad9f..8fecad0c04 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -2,7 +2,7 @@ title: Exportar a HTML5 type: docs weight: 40 -url: /es/net/exportar-a-html5/ +url: /es/net/export-to-html5/ keywords: - PowerPoint a HTML - diapositivas a HTML @@ -19,16 +19,15 @@ description: "Exportar PowerPoint a HTML5 en C# o .NET" {{% alert title="Info" color="info" %}} -En [Aspose.Slides 21.9](/slides/es/net/aspose-slides-for-net-21-9-release-notes/), 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. +En [Aspose.Slides 21.9](/slides/es/net/aspose-slides-for-net-21-9-release-notes/), implementamos soporte para la exportación a HTML5. Sin embargo, si prefiere exportar su PowerPoint a HTML usando WebExtensions, consulte [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, 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. +El proceso de exportación a HTML5 aquí le permite convertir PowerPoint a HTML sin extensiones web ni dependencias. De esta forma, usando sus propias plantillas, puede 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 C# muestra cómo exportar una presentación a HTML5 sin extensiones web y dependencias: - +Este código C# muestra cómo exportar una presentación a HTML5 sin extensiones web ni dependencias: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -36,14 +35,14 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` + {{% alert color="primary" %}} -En este caso, obtienes HTML limpio. +En este caso, obtiene HTML limpio. {{% /alert %}} -Es posible que desees especificar configuraciones para animaciones de formas y transiciones de diapositivas de esta manera: - +Puede que desee especificar configuraciones para animaciones de formas y transiciones de diapositivas de esta manera: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -55,10 +54,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -#### **Exportar PowerPoint a HTML** -Este C# demuestra el proceso estándar de PowerPoint a HTML: +## **Exportar PowerPoint a HTML** +Este C# demuestra el proceso estándar de exportación de PowerPoint a HTML: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -66,34 +65,34 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -En este caso, el contenido de la presentación se renderiza a través de SVG en un formato como este: +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" %}} -{{% /alert %}} +Al usar este método para exportar PowerPoint a HTML, debido a la renderización SVG, no podrá aplicar estilos ni animar elementos específicos. -## **Exportar PowerPoint a HTML5 Vista de Diapositivas** +{{% /alert %}} -**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 diapositivas. En este caso, al abrir el archivo HTML5 resultante en un navegador, verás la presentación en modo de vista de diapositivas en una página web. +## **Exportar PowerPoint a Vista de Diapositivas HTML5** -Este código C# demuestra el proceso de exportación de PowerPoint a HTML5 Vista de Diapositivas: +**Aspose.Slides** le permite convertir una presentación de PowerPoint a un documento HTML5 en el que las diapositivas se presentan en modo vista de diapositivas. En este caso, al abrir el archivo HTML5 resultante en un navegador, verá la presentación en modo vista de diapositivas en una página web. +Este código C# demuestra el proceso de exportación a Vista de Diapositivas HTML5: ```c# using (Presentation pres = new Presentation("pres.pptx")) { - pres.Save("HTML5-vista-diapositive.html", SaveFormat.Html5, new Html5Options + pres.Save("HTML5-slide-view.html", SaveFormat.Html5, new Html5Options { AnimateShapes = true, AnimateTransitions = true @@ -101,17 +100,18 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## 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 feedback 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 las diapositivas sin alterar el contenido principal. Cada comentario muestra el nombre del autor, lo que facilita hacer un seguimiento de 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 u 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. 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 `NotesCommentsLayouting` de la clase [Html5Options](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/). +Al convertir una presentación de PowerPoint a un documento HTML5, puede especificar fácilmente si incluir los comentarios de la presentación en el documento de salida. Para ello, debe especificar los parámetros de visualización de los comentarios en la propiedad `NotesCommentsLayouting` de la clase [Html5Options](https://reference.aspose.com/slides/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. ```cs var html5Options = new Html5Options { @@ -125,6 +125,21 @@ using var presentation = new Presentation("sample.pptx"); presentation.Save("output.html", SaveFormat.Html5, html5Options); ``` + 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/net/aspose.slides.export/html5options/animateshapes/) y [transiciones de diapositivas](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animatetransitions/). + +**¿Se admite la salida de comentarios y dónde pueden colocarse respecto a la diapositiva?** + +Sí, los comentarios pueden añadirse en HTML5 y posicionarse (por ejemplo, a la derecha de la diapositiva) mediante los [ajustes de diseño](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/notescommentslayouting/) para notas y comentarios. + +**¿Puedo omitir los enlaces que invocan JavaScript por razones de seguridad o CSP?** + +Sí, existe una [configuración](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/skipjavascriptlinks/) que permite omitir los hipervínculos con llamadas a JavaScript durante el guardado. Esto ayuda a cumplir con políticas de seguridad estrictas. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/es/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index 0ff5ac55fb..7b745de211 100644 --- a/es/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/es/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -3,28 +3,27 @@ title: Exportar a XAML type: docs weight: 30 url: /es/net/export-to-xaml/ -keywords: "Exportar presentación de PowerPoint, Convertir PowerPoint, XAML, PowerPoint a XAML, PPT a XAML, PPTX a XAML, C#, Csharp, .NET" -description: "Exportar o convertir presentación de PowerPoint a XAML" +keywords: "Exportar presentación PowerPoint, Convertir PowerPoint, XAML, PowerPoint a XAML, PPT a XAML, PPTX a XAML, C#, Csharp, .NET" +description: "Exportar o convertir presentación PowerPoint a XAML" --- -# Exportación de Presentaciones a XAML +# **Exportar presentaciones a XAML** {{% alert title="Info" color="info" %}} -En [Aspose.Slides 21.6](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-6-release-notes/), implementamos soporte para exportación a XAML. Ahora puedes exportar tus presentaciones a XAML. +En [Aspose.Slides 21.6](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-6-release-notes/), implementamos soporte para la exportación a XAML. Ahora puede exportar sus presentaciones a XAML. {{% /alert %}} -# Acerca de XAML +# **Acerca de XAML** -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 es un lenguaje de programación descriptivo que le permite construir o escribir interfaces de usuario para aplicaciones, especialmente aquellas que usan WPF (Windows Presentation Foundation), UWP (Universal Windows Platform) y Xamarin Forms. -XAML, que es un lenguaje basado en XML, es la variante de Microsoft para describir una GUI. Es probable que utilices un diseñador para trabajar en archivos XAML la mayor parte del tiempo, pero aún puedes escribir y editar tu GUI. +XAML, que es un lenguaje basado en XML, es la variante de Microsoft para describir una GUI. Lo más probable es que utilice un diseñador para trabajar con archivos XAML la mayor parte del tiempo, pero aún puede escribir y editar su GUI. -## Exportación de Presentaciones a XAML Con Opciones Predeterminadas - -Este código C# te muestra cómo exportar una presentación a XAML con ajustes predeterminados: +## **Exportar presentaciones a XAML con opciones predeterminadas** +Este código C# le muestra cómo exportar una presentación a XAML con la configuración predeterminada: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,15 +31,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Exportación de Presentaciones a XAML Con Opciones Personalizadas -Puedes seleccionar opciones de la interfaz [IXamlOptions](https://reference.aspose.com/slides/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/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) en true. Mira este código C# de ejemplo: +Puede seleccionar opciones de la interfaz [IXamlOptions](https://reference.aspose.com/slides/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 añada diapositivas ocultas de su presentación al exportarla a XAML, puede establecer la propiedad [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) en true. Vea este código de muestra C#: ```c# using (Presentation pres = new Presentation("pres.pptx")) { pres.Save(new XamlOptions { ExportHiddenSlides = true }); } -``` \ 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?** + +Establezca [DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/) en [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) — se utiliza como fuente de reserva 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 de UI general usado 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 constructos específicos 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 [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/exporthiddenslides/) en [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) — manténgalo desactivado si no necesita exportarlas. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/create-presentation/_index.md b/es/net/developer-guide/manage-presentation/create-presentation/_index.md index 58d87bafd1..2c2dcb8d71 100644 --- a/es/net/developer-guide/manage-presentation/create-presentation/_index.md +++ b/es/net/developer-guide/manage-presentation/create-presentation/_index.md @@ -1,23 +1,22 @@ --- -title: Crear Presentación en .NET -linktitle: Crear Presentación +title: Crear presentación en .NET +linktitle: Crear presentación type: docs weight: 10 url: /es/net/create-presentation/ -keywords: "Crear PowerPoint, PPTX, PPT, Crear Presentación, Inicializar Presentación, C#, .NET" -description: "Creación de Presentaciones de PowerPoint Programáticamente en C# e.g. PPT, PPTX, ODP etc." +keywords: "Crear PowerPoint, PPTX, PPT, Crear presentación, Inicializar presentación, C#, .NET" +description: "Crear presentaciones de PowerPoint mediante programación en C# p. ej. PPT, PPTX, ODP, etc." --- -## Crear Presentación de PowerPoint -Para agregar una línea simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación: +## **Crear presentación de PowerPoint** +Para agregar una línea simple y plana a una diapositiva seleccionada de la presentación, siga los pasos a continuación: 1. Cree una instancia de la clase Presentation. -1. Obtenga la referencia de una diapositiva utilizando su índice. -1. Agregue una AutoShape de tipo Línea utilizando el método AddAutoShape expuesto por el objeto Shapes. -1. Escriba la presentación modificada como un archivo PPTX. - -En el ejemplo a continuación, hemos agregado una línea a la primera diapositiva de la presentación. +1. Obtenga la referencia de una diapositiva usando su índice. +1. Agregue un AutoShape de tipo Línea usando el método AddAutoShape expuesto por el objeto Shapes. +1. Guarde la presentación modificada como un archivo PPTX. +En el ejemplo mostrado a continuación, hemos agregado una línea a la primera diapositiva de la presentación. ```c# // Instanciar un objeto Presentation que representa un archivo de presentación using (Presentation presentation = new Presentation()) @@ -25,35 +24,74 @@ using (Presentation presentation = new Presentation()) // Obtener la primera diapositiva ISlide slide = presentation.Slides[0]; - // Agregar una autoshape de tipo línea + // Agregar un AutoShape de tipo línea slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); - presentation.Save("NuevaPresentacion_salida.pptx", SaveFormat.Pptx); + presentation.Save("NewPresentation_out.pptx", SaveFormat.Pptx); } ``` -## Crear y Guardar Presentación -Pasos: Crear y Guardar Presentación en C# +## **Crear y guardar presentación** -1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). -2. Guarde _Presentación_ en cualquier formato compatible con [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) +Pasos: crear y guardar presentación en C# +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +2. Guarde _Presentation_ en cualquier formato admitido por [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) ```c# Presentation presentation = new Presentation(); -presentation.Save("PresentacionSalida.pptx", SaveFormat.Pptx); +presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); ``` -## Abrir y Guardar Presentación -Pasos: Abrir y Guardar Presentación en C# +## **Abrir y guardar presentación** -1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) con cualquier formato i.e. PPT, PPTX, ODP etc. -2. Guarde _Presentación_ en cualquier formato compatible con [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) +Pasos: abrir y guardar presentación en C# +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) con cualquier formato, p. ej., PPT, PPTX, ODP, etc. +2. Guarde _Presentation_ en cualquier formato admitido por [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) ```c# -// Cargar cualquier archivo compatible en Presentation e.g. ppt, pptx, odp etc. -Presentation presentation = new Presentation("Ejemplo.odp"); + // Cargar cualquier archivo compatible en Presentation, p. ej. ppt, pptx, odp, etc. +Presentation presentation = new Presentation("Sample.odp"); + +presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); +``` + + +## **Preguntas frecuentes** + +**¿En qué formatos puedo guardar una nueva presentación?** + +Puede guardar en [PPTX, PPT y ODP](/slides/es/net/save-presentation/), y exportar a [PDF](/slides/es/net/convert-powerpoint-to-pdf/), [XPS](/slides/es/net/convert-powerpoint-to-xps/), [HTML](/slides/es/net/convert-powerpoint-to-html/), [SVG](/slides/es/net/convert-powerpoint-to-png/), y [imágenes](/slides/es/net/convert-powerpoint-to-png/), entre otros. + +**¿Puedo comenzar a partir de una plantilla (POTX/POTM) y guardarla como un PPTX normal?** + +Sí. Cargue la plantilla y guárdela en el formato deseado; los formatos POTX/POTM/PPTM y similares [son compatibles](/slides/es/net/supported-file-formats/). + +**¿Cómo controlo el tamaño/aspecto de la diapositiva al crear una presentación?** + +Establezca el [tamaño de la diapositiva](/slides/es/net/slide-size/) (incluidos los valores predefinidos como 4:3 y 16:9 o dimensiones personalizadas) y elija cómo debe escalar el contenido. + +**¿En qué unidades se miden los tamaños y coordenadas?** + +En puntos: 1 pulgada equivale a 72 unidades. + +**¿Cómo manejo presentaciones muy grandes (con muchos archivos multimedia) para reducir el uso de memoria?** + +Utilice [estrategias de gestión de BLOB](/slides/es/net/manage-blob/), limite el almacenamiento en memoria aprovechando archivos temporales y prefiera flujos de trabajo basados en archivos en lugar de flujos puramente en memoria. + +**¿Puedo crear/guardar presentaciones en paralelo?** + +No puede operar sobre la misma instancia de [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) desde [múltiples subprocesos](/slides/es/net/multithreading/). Ejecute instancias separadas y aisladas por subproceso o proceso. + +**¿Cómo elimino la marca de agua de prueba y las limitaciones?** + +[Aplique una licencia](/slides/es/net/licensing/) una vez por proceso. El XML de la licencia debe permanecer sin modificar, y la configuración de la licencia debe sincronizarse si participan varios subprocesos. + +**¿Puedo firmar digitalmente el PPTX que creo?** + +Sí. Las [firmas digitales](/slides/es/net/digital-signature-in-powerpoint/) (agregar y verificar) son compatibles con las presentaciones. + +**¿Se admiten macros (VBA) en presentaciones creadas?** -presentation.Save("PresentacionSalida.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +Sí. Puede [crear/editar proyectos VBA](/slides/es/net/presentation-via-vba/) y guardar archivos con macros como PPTM/PPSM. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/examine-presentation/_index.md b/es/net/developer-guide/manage-presentation/examine-presentation/_index.md index d82d391e8b..8ebbaea899 100644 --- a/es/net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/es/net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,5 +1,5 @@ --- -title: Examinar Presentación +title: Examinar presentación type: docs weight: 30 url: /es/net/examine-presentation/ @@ -7,7 +7,7 @@ keywords: - PowerPoint - presentación - formato de presentación -- propiedades de presentación +- propiedades de la presentación - propiedades del documento - obtener propiedades - leer propiedades @@ -18,23 +18,20 @@ keywords: - C# - Csharp - .NET -description: "Leer y modificar propiedades de presentación de PowerPoint en C# o .NET" +description: "Leer y modificar propiedades de presentaciones PowerPoint en C# o .NET" --- -Aspose.Slides para .NET te permite examinar una presentación para descubrir sus propiedades y comprender su comportamiento. +Aspose.Slides for .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/net/aspose.slides/presentationinfo) y [DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/) contienen las propiedades y métodos utilizados en las operaciones aquí. - {{% /alert %}} -## **Verificar un Formato de Presentación** - -Antes de trabajar en una presentación, es posible que desees averiguar en qué formato (PPT, PPTX, ODP y otros) se encuentra la presentación en ese momento. +## **Comprobar el formato de una presentación** -Puedes verificar el formato de una presentación sin cargarla. Mira este código en C#: +Antes de trabajar con una presentación, es posible que desee averiguar en qué formato (PPT, PPTX, ODP y otros) se encuentra en este momento. +Puede comprobar el formato de una presentación sin cargarla. Vea este código C#: ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); Console.WriteLine(info.LoadFormat); // PPTX @@ -46,53 +43,76 @@ IPresentationInfo info3 = PresentationFactory.Instance.GetPresentationInfo("pres Console.WriteLine(info3.LoadFormat); // ODP ``` -## **Obtener Propiedades de Presentación** -Este código en C# te muestra cómo obtener las propiedades de la presentación (información sobre la presentación): +## **Obtener propiedades de la presentación** +Este código C# le muestra cómo obtener las propiedades de la presentación (información sobre la presentación): ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); IDocumentProperties props = info.ReadDocumentProperties(); Console.WriteLine(props.CreatedTime); Console.WriteLine(props.Subject); Console.WriteLine(props.Title); -// .. +// .. ``` -Es posible que desees ver las [propiedades de la clase DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties). -## **Actualizar Propiedades de Presentación** +Es posible que desee ver las [propiedades bajo la clase DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties). -Aspose.Slides proporciona el método [PresentationInfo.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties) 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.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties) que 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: ```c# string fileName = "sample.pptx"; IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo(fileName); IDocumentProperties properties = info.ReadDocumentProperties(); -properties.Title = "Mi título"; +properties.Title = "My title"; properties.LastSavedTime = DateTime.Now; info.UpdateDocumentProperties(properties); info.WriteBindedPresentation(fileName); ``` -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) +Los resultados del cambio de las propiedades del documento se muestran a continuación. + +![Propiedades modificadas 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, es posible que encuentre útiles estos enlaces: + +- [Comprobar si una presentación está encriptada](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) +- [Comprobar si una presentación está protegida contra escritura (solo lectura)](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [Comprobar si una presentación está protegida con contraseña antes de cargarla](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) +- [Confirmar la contraseña utilizada para proteger una presentación](https://docs.aspose.com/slides/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 información de [fuentes incrustadas](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getembeddedfonts/) a nivel de presentación, luego compare esas entradas con el conjunto de [fuentes realmente utilizadas en el contenido](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getfonts/) para identificar cuáles 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/net/aspose.slides/slidecollection/) y examine la [bandera de visibilidad](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/) de cada diapositiva. + +**¿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 la diapositiva](https://reference.aspose.com/slides/net/aspose.slides/presentation/slidesize/) y la orientación actuales con los valores predeterminados; esto ayuda a anticipar el comportamiento en la impresión y exportación. + +**¿Existe una forma rápida de ver si los gráficos hacen referencia a fuentes de datos externas?** -## **Enlaces Útiles** +Sí. Recorra todos los [gráficos](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/), compruebe su [fuente de datos](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/datasourcetype/) y anote si los datos son internos o están vinculados, incluidos los enlaces rotos. -Para obtener más información sobre una presentación y sus atributos de seguridad, puede que encuentres útiles estos enlaces: +**¿Cómo puedo evaluar las diapositivas 'pesadas' que pueden ralentizar la renderización o la exportación a PDF?** -- [Comprobar si una Presentación está Encriptada](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) -- [Comprobar si una Presentación está Protegida contra Escritura (solo lectura)](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) -- [Comprobar si una Presentación está Protegida por Contraseña Antes de Cargarla](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [Confirmar la Contraseña Usada para Proteger una Presentación](https://docs.aspose.com/slides/net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). \ No newline at end of file +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 identificar posibles puntos críticos de rendimiento. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/import-presentation/_index.md b/es/net/developer-guide/manage-presentation/import-presentation/_index.md index 5758539a32..d28cea623e 100644 --- a/es/net/developer-guide/manage-presentation/import-presentation/_index.md +++ b/es/net/developer-guide/manage-presentation/import-presentation/_index.md @@ -1,27 +1,26 @@ --- title: Importar PowerPoint desde PDF o HTML -linktitle: Importar Presentación +linktitle: Importar presentación type: docs weight: 60 url: /es/net/import-presentation/ -keywords: "Importar PowerPoint, PDF a PowerPoint, HTML a PowerPoint, PDF a PPT, HTML a PPT, C#, Csharp, Aspose.Slides para .NET" +keywords: "Importar PowerPoint, PDF a PowerPoint, HTML a PowerPoint, PDF a PPT, HTML a PPT, C#, Csharp, Aspose.Slides for .NET" description: "Importar PowerPoint desde PDF o HTML. Convertir PDF a PowerPoint. Convertir HTML a PowerPoint" --- -Usando [**Aspose.Slides para .NET**](https://products.aspose.com/slides/net/), puedes importar presentaciones desde archivos en otros formatos. Aspose.Slides proporciona la clase [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) para permitirte importar presentaciones desde documentos PDF. +Usando [**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/), puedes importar presentaciones desde archivos en otros formatos. Aspose.Slides proporciona la clase [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) para permitirte importar presentaciones desde documentos PDF. ## **Importar PowerPoint desde PDF** -En este caso, puedes convertir un PDF a una presentación de PowerPoint. +En este caso, conviertes un PDF a una presentación PowerPoint. pdf-to-powerpoint -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). -2. Llama al método [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) y pasa el archivo PDF. -3. Usa el método [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) para guardar el archivo en el formato de PowerPoint. - -Este código C# demuestra la operación de PDF a PowerPoint: +1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +2. Llama al método [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) y pasa el archivo PDF. +3. Usa el método [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) para guardar el archivo en formato PowerPoint. +Este código C# muestra la operación de PDF a PowerPoint: ```c# using (Presentation pres = new Presentation()) { @@ -30,22 +29,20 @@ using (Presentation pres = new Presentation()) } ``` -{{% alert title="CONSEJO" color="primary" %}} - -Puede que desees consultar la aplicación web gratuita de **Aspose** [PDF a PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint) porque es una implementación en vivo del proceso descrito aquí. +{{% alert title="TIP" color="primary" %}} +Puede que quieras probar la aplicación web **Aspose free** [PDF to PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint) porque es una implementación en vivo del proceso descrito aquí. {{% /alert %}} ## **Importar PowerPoint desde HTML** -En este caso, puedes convertir un documento HTML a una presentación de PowerPoint. - -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). -2. Llama al método [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) y pasa el archivo HTML. -3. Usa el método [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) para guardar el archivo como un documento de PowerPoint. +En este caso, conviertes un documento HTML a una presentación PowerPoint. -Este código C# demuestra la operación de HTML a PowerPoint: +1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +2. Llama al método [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) y pasa el archivo HTML. +3. Usa el método [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) para guardar el archivo como documento PowerPoint. +Este código C# muestra la operación de HTML a PowerPoint: ```c# using (var presentation = new Presentation()) { @@ -58,13 +55,19 @@ using (var presentation = new Presentation()) } ``` -{{% alert title="Nota" color="warning" %}} -También puedes usar Aspose.Slides para convertir HTML a otros formatos de archivo populares: +## **FAQ** + +**¿Se conservan las tablas al importar un PDF y puede mejorarse su detección?** + +Se pueden detectar tablas durante la importación; [PdfImportOptions](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/) incluye un parámetro [DetectTables](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/detecttables/) que habilita el reconocimiento de tablas. La efectividad depende de la estructura del PDF. + +{{% alert title="Note" color="warning" %}} +También puedes usar Aspose.Slides para convertir HTML a otros formatos de archivo populares: -* [HTML a imagen](https://products.aspose.com/slides/net/conversion/html-to-image/) -* [HTML a JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) -* [HTML a XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) -* [HTML a TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) +* [HTML to image](https://products.aspose.com/slides/net/conversion/html-to-image/) +* [HTML to JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) +* [HTML to XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) +* [HTML to TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) {{% /alert %}} \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/manage-slide-show/_index.md b/es/net/developer-guide/manage-presentation/manage-slide-show/_index.md new file mode 100644 index 0000000000..4a8d1872e7 --- /dev/null +++ b/es/net/developer-guide/manage-presentation/manage-slide-show/_index.md @@ -0,0 +1,122 @@ +--- +title: Administrar presentación de diapositivas +type: docs +weight: 90 +url: /es/net/manage-slide-show/ +keywords: +- tipo de presentación +- presentado por un orador +- navegado por un individuo +- navegado en un quiosco +- opciones de presentación +- bucle continuo +- presentación sin narración +- presentación sin animación +- color del lápiz +- mostrar diapositivas +- presentación personalizada +- avanzar diapositivas +- manualmente +- usando sincronizaciones +- PowerPoint +- presentación +- C# +- .NET +- Aspose.Slides para .NET +description: "Administrar la configuración de la presentación de diapositivas en presentaciones de PowerPoint usando C#" +--- + +En Microsoft PowerPoint, la configuración de **Presentación de diapositivas** es una herramienta clave para preparar y entregar presentaciones profesionales. Una de las funciones más importantes en esta sección es **Configurar presentación**, que le permite adaptar su presentación a condiciones y audiencias específicas, garantizando flexibilidad y comodidad. Con esta función, puede seleccionar el tipo de presentación (p. ej., presentada por un orador, navegada por un individuo o navegada en un quiosco), habilitar o deshabilitar el bucle, elegir diapositivas específicas para mostrar y usar sincronizaciones. Este paso en la preparación es crucial para que su presentación sea más eficaz y profesional. + +`SlideShowSettings` es una propiedad de la clase [Presentación](https://reference.aspose.com/slides/net/aspose.slides/presentation/) , de tipo [SlideShowSettings](https://reference.aspose.com/slides/net/aspose.slides/presentation/slideshowsettings/), que permite gestionar la configuración de la presentación en un archivo PowerPoint. En este artículo, exploraremos cómo usar esta propiedad para configurar y controlar varios aspectos de la presentación. + +## **Seleccionar tipo de presentación** + +`SlideShowSettings.SlideShowType` define el tipo de presentación, que puede ser una instancia de las siguientes clases: [PresentedBySpeaker](https://reference.aspose.com/slides/net/aspose.slides/presentedbyspeaker/), [BrowsedByIndividual](https://reference.aspose.com/slides/net/aspose.slides/browsedbyindividual/), o [BrowsedAtKiosk](https://reference.aspose.com/slides/net/aspose.slides/browsedatkiosk/). Usar esta propiedad le permite adaptar la presentación a diferentes escenarios de uso, como quioscos automatizados o presentaciones manuales. + +El ejemplo de código a continuación crea una nueva presentación y establece el tipo de presentación en “Navegada por un individuo” sin mostrar la barra de desplazamiento. +```cs +using var presentation = new Presentation(); + +var showType = new BrowsedByIndividual +{ + ShowScrollbar = false +}; + +presentation.SlideShowSettings.SlideShowType = showType; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Habilitar opciones de presentación** + +`SlideShowSettings.Loop` determina si la presentación debe repetirse en bucle hasta que se detenga manualmente. Esto es útil para presentaciones automatizadas que necesitan ejecutarse de forma continua. `SlideShowSettings.ShowNarration` determina si las narraciones de voz deben reproducirse durante la presentación. Es útil para presentaciones automatizadas que contienen guías de voz para la audiencia. `SlideShowSettings.ShowAnimation` determina si las animaciones añadidas a los objetos de diapositiva deben reproducirse. Esto es útil para proporcionar el efecto visual completo de la presentación. + +El siguiente ejemplo de código crea una nueva presentación y repite la presentación en bucle. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.Loop = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Seleccionar diapositivas para mostrar** + +La propiedad `SlideShowSettings.Slides` le permite seleccionar un rango de diapositivas que se mostrarán durante la presentación. Esto es útil cuando necesita mostrar solo una parte de la presentación en lugar de todas las diapositivas. El siguiente ejemplo de código crea una nueva presentación y establece el rango de diapositivas para mostrarse desde la diapositiva `2` hasta la `9`. +```cs +using var presentation = new Presentation(); + +var slideRange = new SlidesRange +{ + Start = 2, + End = 9 +}; + +presentation.SlideShowSettings.Slides = slideRange; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Usar avance de diapositivas** + +La propiedad `SlideShowSettings.UseTimings` le permite habilitar o deshabilitar el uso de sincronizaciones preestablecidas para cada diapositiva. Esto es útil para mostrar automáticamente diapositivas con duraciones de visualización definidas previamente. El ejemplo de código a continuación crea una nueva presentación y desactiva el uso de sincronizaciones. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.UseTimings = false; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Mostrar controles de medios** + +La propiedad `SlideShowSettings.ShowMediaControls` determina si los controles de medios (como reproducir, pausar y detener) deben mostrarse durante la presentación cuando se reproduce contenido multimedia (p. ej., video o audio). Esto es útil cuando desea que el presentador controle la reproducción de los medios durante la presentación. + +El siguiente ejemplo de código crea una nueva presentación y habilita la visualización de los controles de medios. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.ShowMediaControls = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **FAQ** + +**¿Puedo guardar una presentación para que se abra directamente en modo presentación?** + +Sí. Guarde el archivo como PPSX o PPSM; estos formatos se inician directamente en modo presentación al abrirse en PowerPoint. En Aspose.Slides, elija el formato de guardado correspondiente [durante la exportación](/slides/es/net/save-presentation/). + +**¿Puedo excluir diapositivas individuales de la presentación sin eliminarlas del archivo?** + +Sí. Marque una diapositiva como [Oculta](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/). Las diapositivas ocultas permanecen en la presentación pero no se muestran durante la presentación. + +**¿Aspose.Slides puede reproducir una presentación o controlar una presentación en vivo en pantalla?** + +No. Aspose.Slides edita, analiza y convierte archivos de presentación; la reproducción real la gestiona una aplicación de visor como PowerPoint. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/merge-presentation/_index.md b/es/net/developer-guide/manage-presentation/merge-presentation/_index.md index 5893d5defe..cdf39ca5fc 100644 --- a/es/net/developer-guide/manage-presentation/merge-presentation/_index.md +++ b/es/net/developer-guide/manage-presentation/merge-presentation/_index.md @@ -1,72 +1,87 @@ --- -title: Combina Presentaciones de PowerPoint PPT, PPTX usando C# -linktitle: Combinar Presentación +title: Fusionar presentaciones PowerPoint de forma eficiente (PPT, PPTX) con C# +linktitle: Fusionar presentación type: docs weight: 40 url: /es/net/merge-presentation/ -keywords: "Combinar PowerPoint, PPTX, PPT, combinar PowerPoint, combinar presentación, combinar presentación, C#, Csharp, .NET" -description: "Combina o fusiona Presentaciones de PowerPoint en C# o .NET" +keywords: "Combinar PowerPoint, PPTX, PPT, combinar PowerPoint, fusionar presentación, combinar presentación, C#, Csharp, .NET" +description: "Aprenda a fusionar o combinar presentaciones PowerPoint en C# o .NET sin esfuerzo." --- -{{% alert title="Consejo" color="primary" %}} +## **Optimice la combinación de sus presentaciones** -Puede que desee consultar la aplicación **Merger gratuita en línea de Aspose** [Merger app](https://products.aspose.app/slides/merger). Permite a las personas combinar presentaciones de PowerPoint en el mismo formato (PPT a PPT, PPTX a PPTX, etc.) y combinar presentaciones en diferentes formatos (PPT a PPTX, PPTX a ODP, etc.). +Con [Aspose.Slides for .NET](https://products.aspose.com/slides/net/), combine presentaciones PowerPoint sin problemas mientras preserva estilos, diseños y todos los elementos. A diferencia de otras herramientas, Aspose.Slides combina presentaciones sin comprometer la calidad ni perder datos. Fusión completa de presentaciones, diapositivas específicas e incluso diferentes formatos de archivo (PPT a PPTX, etc.). -[![todo:image_alt_text](slides-merger.png)](https://products.aspose.app/slides/merger) +### **Funciones de combinación** + +- **Fusión completa de presentación:** Reúna todas las diapositivas en un solo archivo. +- **Fusión de diapositivas específicas:** Elija y combine diapositivas seleccionadas. +- **Fusión entre formatos:** Integre presentaciones de diferentes formatos, manteniendo la integridad. + +{{% alert title="Tip" color="primary" %}} + +¿Busca una herramienta **gratuita en línea** y rápida para **combinar presentaciones PowerPoint**? Pruebe el [**Aspose PowerPoint Merger**](https://products.aspose.app/slides/merger). + +- **Combine archivos PowerPoint fácilmente**: Combine múltiples presentaciones **PPT, PPTX, ODP** en un solo archivo. +- **Admite diferentes formatos**: Combine **PPT a PPTX**, **PPTX a ODP**, y más. +- **No requiere instalación**: Funciona directamente en su navegador, rápido y seguro. + +[![Merge PowerPoint Files Online](slides-merger.png)](https://products.aspose.app/slides/merger) + +¡Comience a combinar sus archivos PowerPoint con la **herramienta gratuita en línea de Aspose** hoy! {{% /alert %}} -## **Fusión de Presentaciones** +## **Fusión de presentaciones** -Cuando [fusionas una presentación con otra](https://products.aspose.com/slides/net/merger/ppt/), estás combinando efectivamente sus diapositivas en una sola presentación para obtener un archivo. +Cuando usted [fusiona una presentación con otra](https://products.aspose.com/slides/net/merger/ppt/), está combinando efectivamente sus diapositivas en una sola presentación para obtener un archivo. -{{% alert title="Información" color="info" %}} +{{% alert title="Info" color="info" %}} -La mayoría de los programas de presentación (PowerPoint u OpenOffice) carecen de funciones que permitan a los usuarios combinar presentaciones de esa manera. +La mayoría de los programas de presentación (PowerPoint u OpenOffice) carecen de funciones que permitan a los usuarios combinar presentaciones de esa manera. -[**Aspose.Slides para .NET**](https://products.aspose.com/slides/net/), sin embargo, permite fusionar presentaciones de diferentes maneras. Puedes fusionar presentaciones con todas sus formas, estilos, textos, formato, comentarios, animaciones, etc. sin tener que preocuparte por la pérdida de calidad o de datos. +[**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/) , sin embargo, le permite fusionar presentaciones de diferentes maneras. Puede fusionar presentaciones con todas sus formas, estilos, textos, formato, comentarios, animaciones, etc., sin preocuparse por la pérdida de calidad o datos. **Ver también** -[Clone Slides](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* +[Clonar diapositivas](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* {{% /alert %}} -### **Qué Puede Ser Fusionado** +### **Qué se puede fusionar** -Con Aspose.Slides, puedes fusionar +Con Aspose.Slides, puede fusionar -* presentaciones completas. Todas las diapositivas de las presentaciones terminan en una presentación -* diapositivas específicas. Las diapositivas seleccionadas terminan en una presentación -* presentaciones en un formato (PPT a PPT, PPTX a PPTX, etc.) y en diferentes formatos (PPT a PPTX, PPTX a ODP, etc.) entre sí. +* **presentaciones completas.** Todas las diapositivas de las presentaciones terminan en una sola presentación +* **diapositivas específicas.** Las diapositivas seleccionadas terminan en una sola presentación +* **presentaciones en un formato (PPT a PPT, PPTX a PPTX, etc.) y en diferentes formatos (PPT a PPTX, PPTX a ODP, etc.) a otra.** -{{% alert title="Nota" color="warning" %}} +{{% alert title="Note" color="warning" %}} -Además de presentaciones, Aspose.Slides te permite fusionar otros archivos: +Además de presentaciones, Aspose.Slides le permite combinar otros archivos: -* [Imágenes](https://products.aspose.com/slides/net/merger/image-to-image/), como [JPG a JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/) o [PNG a PNG](https://products.aspose.com/slides/net/merger/png-to-png/) -* Documentos, como [PDF a PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/) o [HTML a HTML](https://products.aspose.com/slides/net/merger/html-to-html/) -* Y dos archivos diferentes, como [imagen a PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/) o [JPG a PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/) o [TIFF a PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/). +* [Imágenes](https://products.aspose.com/slides/net/merger/image-to-image/), como [JPG a JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/) o [PNG a PNG](https://products.aspose.com/slides/net/merger/png-to-png/) +* Documentos, como [PDF a PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/) o [HTML a HTML](https://products.aspose.com/slides/net/merger/html-to-html/) +* Y dos archivos diferentes como [imagen a PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/) o [JPG a PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/) o [TIFF a PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/). {{% /alert %}} -### **Opciones de Fusión** - -Puedes aplicar opciones que determinan si +### **Opciones de fusión** -* cada diapositiva en la presentación de salida mantiene un estilo único -* se utiliza un estilo específico para todas las diapositivas en la presentación de salida. +Puede aplicar opciones que determinen si -Para fusionar presentaciones, Aspose.Slides proporciona métodos [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) (de la interfaz [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection)). Hay varias implementaciones de los métodos `AddClone` que definen los parámetros del proceso de fusión de presentaciones. Cada objeto Presentación tiene una colección [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides), por lo que puedes llamar al método `AddClone` desde la presentación a la que deseas fusionar diapositivas. +* cada diapositiva en la presentación de salida conserva un estilo único +* se utiliza un estilo específico para todas las diapositivas en la presentación de salida. -El método `AddClone` retorna un objeto `ISlide`, que es un clon de la diapositiva fuente. Las diapositivas en una presentación de salida son simplemente una copia de las diapositivas de la fuente. Por lo tanto, puedes realizar cambios en las diapositivas resultantes (por ejemplo, aplicar estilos o opciones de formato o diseños) sin preocuparte de que las presentaciones de origen se vean afectadas. +Para combinar presentaciones, Aspose.Slides ofrece los métodos [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) (de la interfaz [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection)). Existen varias implementaciones de los métodos `AddClone` que definen los parámetros del proceso de fusión de presentaciones. Cada objeto Presentation posee una colección [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides), por lo que puede llamar al método `AddClone` desde la presentación en la que desea fusionar diapositivas. -## **Combinar Presentaciones** +El método `AddClone` devuelve un objeto `ISlide`, que es una clonación de la diapositiva origen. Las diapositivas en la presentación resultante son simplemente una copia de las diapositivas de origen. Por lo tanto, puede modificar las diapositivas resultantes (por ejemplo, aplicar estilos, opciones de formato o diseños) sin preocuparse de que las presentaciones origen se vean afectadas. -Aspose.Slides proporciona el método [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) que te permite combinar diapositivas mientras las diapositivas mantienen sus diseños y estilos (parámetros predeterminados). +## **Combinar presentaciones** -Este código en C# te muestra cómo fusionar presentaciones: +Aspose.Slides proporciona el método [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) que permite combinar diapositivas mientras las diapositivas conservan sus diseños y estilos (parámetros predeterminados). +Este código C# muestra cómo combinar presentaciones: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -80,12 +95,12 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Fusionar Presentaciones con Maestro de Diapositivas** -Aspose.Slides proporciona el método [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2) que te permite combinar diapositivas mientras aplicas una plantilla de presentación de maestro de diapositivas. De esta manera, si es necesario, puedes cambiar el estilo de las diapositivas en la presentación de salida. +## **Combinar presentaciones con maestro de diapositivas** -Este código en C# demuestra la operación descrita: +Aspose.Slides ofrece el método [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2) que permite combinar diapositivas aplicando una plantilla de presentación maestra. De este modo, si es necesario, puede cambiar el estilo de las diapositivas en la presentación de salida. +Este código en C# muestra la operación descrita: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -99,35 +114,59 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -{{% alert title="Nota" color="warning" %}} -El diseño de la diapositiva para el maestro de diapositivas se determina automáticamente. Cuando no se puede determinar un diseño apropiado, si el parámetro booleano `allowCloneMissingLayout` del método `AddClone` está configurado como verdadero, se utiliza el diseño de la diapositiva fuente. De lo contrario, se lanzará una [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception). +{{% alert title="Note" color="warning" %}} + +El diseño de la diapositiva para el maestro se determina automáticamente. Cuando no se puede determinar un diseño apropiado, si el parámetro booleano `allowCloneMissingLayout` del método `AddClone` está configurado en true, se utiliza el diseño de la diapositiva de origen. De lo contrario, se lanzará una [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception). {{% /alert %}} -Si deseas que las diapositivas en la presentación de salida tengan un diseño de diapositiva diferente, utiliza el método [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1) en su lugar al fusionar. +Si desea que las diapositivas en la presentación de salida tengan un diseño de diapositiva diferente, utilice el método [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1) al fusionar. -## **Fusionar Diapositivas Específicas de Presentaciones** +## **Combinar diapositivas específicas de presentaciones** -Este código en C# te muestra cómo seleccionar y combinar diapositivas específicas de diferentes presentaciones para obtener una presentación de salida: +La combinación de diapositivas específicas de varias presentaciones es útil para crear paquetes de diapositivas personalizados. Aspose.Slides para .NET permite seleccionar e importar solo las diapositivas que necesita. La API conserva el formato, el diseño y la apariencia de las diapositivas originales. -```c# -using (Presentation pres1 = new Presentation("pres1.pptx"), - pres2 = new Presentation("pres2.pptx")) +El siguiente código C# crea una nueva presentación, agrega diapositivas de título de dos presentaciones diferentes y guarda el resultado en un archivo: +```cs +using (Presentation presentation = new Presentation()) +using (Presentation presentation1 = new Presentation("presentation1.pptx")) +using (Presentation presentation2 = new Presentation("presentation2.pptx")) { - foreach (ISlide slide in pres2.Slides) + presentation.Slides.RemoveAt(0); + + ISlide slide1 = GetTitleSlide(presentation1); + + if (slide1 != null) + presentation.Slides.AddClone(slide1); + + ISlide slide2 = GetTitleSlide(presentation2); + + if (slide2 != null) + presentation.Slides.AddClone(slide2); + + presentation.Save("combined.pptx", SaveFormat.Pptx); +} +``` + +```cs +static ISlide GetTitleSlide(IPresentation presentation) +{ + foreach (ISlide slide in presentation.Slides) { - pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]); + if (slide.LayoutSlide.LayoutType == SlideLayoutType.Title) + { + return slide; + } } - - pres1.Save("combined.pptx", SaveFormat.Pptx); + return null; } ``` -## **Fusionar Presentaciones Con Diseño de Diapositivas** -Este código en C# te muestra cómo combinar diapositivas de presentaciones mientras aplicas tu diseño de diapositivas preferido para obtener una presentación de salida: +## **Combinar presentaciones con diseño de diapositiva** +Este código C# muestra cómo combinar diapositivas de presentaciones aplicando el diseño de diapositiva que prefiera para obtener una única presentación de salida: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -141,18 +180,18 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Fusionar Presentaciones Con Tamaños de Diapositivas Diferentes** -{{% alert title="Nota" color="warning" %}} +## **Combinar presentaciones con tamaños de diapositiva diferentes** -No puedes fusionar presentaciones con diferentes tamaños de diapositivas. +{{% alert title="Note" color="warning" %}} -{{% /alert %}} +No se pueden combinar presentaciones con tamaños de diapositiva diferentes. -Para fusionar 2 presentaciones con diferentes tamaños de diapositivas, debes redimensionar una de las presentaciones para que su tamaño coincida con el de la otra presentación. +{{% /alert %}} -Este código de muestra demuestra la operación descrita: +Para combinar 2 presentaciones con tamaños de diapositiva diferentes, debe redimensionar una de ellas para que su tamaño coincida con el de la otra presentación. +Este código de ejemplo muestra la operación descrita: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -168,10 +207,10 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Fusionar Diapositivas a la Sección de Presentación** -Este código en C# te muestra cómo fusionar una diapositiva específica a una sección en una presentación: +## **Combinar diapositivas a una sección de presentación** +Este código C# muestra cómo combinar una diapositiva específica en una sección de una presentación: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -186,10 +225,29 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -La diapositiva se agrega al final de la sección. -{{% alert title="Consejo" color="primary" %}} +La diapositiva se agrega al final de la sección. + +{{% alert title="Tip" color="primary" %}} + +Aspose ofrece una aplicación web [GRATUITA de Collage](https://products.aspose.app/slides/collage). Con este servicio en línea, puede combinar [JPG a JPG](https://products.aspose.app/slides/collage/jpg) o imágenes PNG a PNG, crear [rejillas de fotos](https://products.aspose.app/slides/collage/photo-grid), y más. + +{{% /alert %}} + +## **FAQ** + +**¿Se conservan las notas del orador durante la fusión?** + +Sí. Al clonar diapositivas, Aspose.Slides conserva todos los elementos de la diapositiva, incluidas notas, formato y animaciones. + +**¿Se transfieren los comentarios y sus autores?** + +Los comentarios, como parte del contenido de la diapositiva, se copian con la diapositiva. Las etiquetas de autor de los comentarios se conservan como objetos de comentario en la presentación resultante. + +**¿Qué ocurre si la presentación origen está protegida con contraseña?** + +Debe [abrirla con la contraseña](/slides/es/net/password-protected-presentation/) mediante [LoadOptions.Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/); tras cargarla, esas diapositivas pueden clonarse de forma segura a un archivo de destino sin protección (o también protegido). -Aspose proporciona una [aplicación web GRATUITA de Collage](https://products.aspose.app/slides/collage). Utilizando este servicio en línea, puedes fusionar [JPG a JPG](https://products.aspose.app/slides/collage/jpg) o imágenes PNG a PNG, crear [rejillas de fotos](https://products.aspose.app/slides/collage/photo-grid), y más. +**¿Qué tan segura es la fusión respecto a subprocesos?** -{{% /alert %}} \ No newline at end of file +No utilice la misma instancia [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) desde [múltiples hilos](/slides/es/net/multithreading/). La regla recomendada es "un documento — un hilo"; diferentes archivos pueden procesarse en paralelo en hilos separados. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/open-presentation/_index.md b/es/net/developer-guide/manage-presentation/open-presentation/_index.md index e15a38fed6..0b3971de32 100644 --- a/es/net/developer-guide/manage-presentation/open-presentation/_index.md +++ b/es/net/developer-guide/manage-presentation/open-presentation/_index.md @@ -1,108 +1,127 @@ --- -title: Abrir Presentación en C# -linktitle: Abrir Presentación +title: Abrir una presentación en C# +linktitle: Abrir presentaciones type: docs weight: 20 url: /es/net/open-presentation/ -keywords: "Abrir PowerPoint, PPTX, PPT, Abrir Presentación, Cargar Presentación, C#, Csharp, .NET" -description: "Abrir o cargar Presentación PPT, PPTX, ODP en C# o .NET" +keywords: +- abrir PowerPoint +- abrir presentación +- abrir PPTX +- abrir PPT +- abrir ODP +- cargar presentación +- cargar PPTX +- cargar PPT +- cargar ODP +- presentación protegida +- presentación grande +- recurso externo +- objeto binario +- .NET +- C# +- Aspose.Slides +description: "Abra presentaciones PowerPoint (.pptx, .ppt) y OpenDocument (.odp) sin esfuerzo con Aspose.Slides para .NET: rápido, fiable y con todas las funciones." --- -Además de crear presentaciones de PowerPoint desde cero, Aspose.Slides te permite abrir presentaciones existentes. Después de cargar una presentación, puedes obtener información sobre la presentación, editar la presentación (el contenido en sus diapositivas), agregar nuevas diapositivas o eliminar las existentes, etc. +## **Descripción general** -## Abrir Presentación +Además de crear presentaciones de PowerPoint desde cero, Aspose.Slides también permite abrir presentaciones existentes. Después de cargar una presentación, puedes obtener información sobre ella, editar el contenido de las diapositivas, agregar nuevas diapositivas, eliminar las existentes y más. -Para abrir una presentación existente, simplemente tienes que instanciar la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) y pasar la ruta del archivo (a la presentación que quieres abrir) a su constructor. +## **Abrir presentaciones** -Este código C# te muestra cómo abrir una presentación y también averiguar cuántas diapositivas contiene: +Para abrir una presentación existente, instancia la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) y pasa la ruta del archivo a su constructor. -```c# -// Instancia la clase Presentation y pasa la ruta del archivo a su constructor -Presentation pres = new Presentation("OpenPresentation.pptx"); - -// Imprime el número total de diapositivas presentes en la presentación -System.Console.WriteLine(pres.Slides.Count.ToString()); +El siguiente ejemplo en C# muestra cómo abrir una presentación y obtener el recuento de diapositivas: +```cs +// Instanciar la clase Presentation y pasar una ruta de archivo a su constructor. +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + // Imprimir el número total de diapositivas en la presentación. + System.Console.WriteLine(presentation.Slides.Count); +} ``` -## **Abrir Presentación Protegida por Contraseña** -Cuando tengas que abrir una presentación protegida por contraseña, puedes pasar la contraseña a través de la propiedad [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) (de la clase [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/)) para desencriptar la presentación y cargar la presentación. Este código C# demuestra la operación: +## **Abrir presentaciones protegidas con contraseña** -```c# - LoadOptions loadOptions = new LoadOptions {Password = "TU_CONTRASEÑA"}; - using (Presentation presentation = new Presentation("pres.pptx", loadOptions)) - { - // Haz algo con la presentación desencriptada - } +Cuando necesites abrir una presentación protegida con contraseña, pasa la contraseña a través de la propiedad [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) de la clase [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) para descifrarla y cargarla. El siguiente código en C# demuestra esta operación: +```cs +LoadOptions loadOptions = new LoadOptions {Password = "YOUR_PASSWORD"}; +using (Presentation presentation = new Presentation("Sample.pptx", loadOptions)) +{ + // Realizar operaciones en la presentación descifrada. +} ``` -## Abrir Presentación Grande -Aspose.Slides proporciona opciones (la propiedad [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) en particular) bajo la clase [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) para permitirte cargar presentaciones grandes. +## **Abrir presentaciones grandes** -Este C# demuestra una operación en la que se carga una presentación grande (digamos 2GB de tamaño): +Aspose.Slides proporciona opciones—en particular la propiedad [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) de la clase [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/)—para ayudar a cargar presentaciones grandes. -```c# -const string pathToVeryLargePresentationFile = "veryLargePresentation.pptx"; +El siguiente código en C# demuestra la carga de una presentación grande (por ejemplo, 2 GB): +```cs +const string filePath = "LargePresentation.pptx"; LoadOptions loadOptions = new LoadOptions { - BlobManagementOptions = { - // Elijamos el comportamiento KeepLocked - el "veryLargePresentation.pptx" estará bloqueado durante - // la duración de la instancia de Presentation, pero no necesitamos cargarlo en memoria ni copiarlo en - // el archivo temporal + BlobManagementOptions = + { + // Elija el comportamiento KeepLocked: el archivo de presentación permanecerá bloqueado durante la vida de + // la instancia Presentation, pero no necesita cargarse en memoria ni copiarse a un archivo temporal. PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, + IsTemporaryFilesAllowed = true, + MaxBlobsBytesInMemory = 10 * 1024 * 1024 // 10 MB } }; -using (Presentation pres = new Presentation(pathToVeryLargePresentationFile, loadOptions)) +using (Presentation presentation = new Presentation(filePath, loadOptions)) { - // La presentación grande ha sido cargada y puede ser utilizada, pero el consumo de memoria sigue siendo bajo. + // La gran presentación ha sido cargada y puede usarse, mientras el consumo de memoria se mantiene bajo. - // Realiza cambios en la presentación. - pres.Slides[0].Name = "Presentación muy grande"; + // Realice cambios en la presentación. + presentation.Slides[0].Name = "Large presentation"; - // La presentación se guardará en otro archivo. El consumo de memoria se mantiene bajo durante la operación - pres.Save("veryLargePresentation-copy.pptx", SaveFormat.Pptx); + // Guarde la presentación en otro archivo. El consumo de memoria se mantiene bajo durante esta operación. + presentation.Save("LargePresentation-copy.pptx", SaveFormat.Pptx); - // ¡No se puede hacer eso! Se arrojará una excepción de IO, porque el archivo está bloqueado mientras los objetos pres - // no serán destruidos - File.Delete(pathToVeryLargePresentationFile); + // ¡No haga esto! Se lanzará una excepción de E/S porque el archivo está bloqueado hasta que se libere el objeto Presentation. + File.Delete(filePath); } -// Se puede hacer aquí, el archivo de origen no está bloqueado por el objeto pres -File.Delete(pathToVeryLargePresentationFile); +// Está bien hacerlo aquí. El archivo fuente ya no está bloqueado por el objeto Presentation. +File.Delete(filePath); ``` -{{% alert color="info" title="Info" %}} -Para sortear ciertas limitaciones al interactuar con flujos, Aspose.Slides puede copiar el contenido del flujo. Cargar una presentación grande a través de su flujo resultará en la copia del contenido de la presentación y causará una carga lenta. Por lo tanto, cuando tengas la intención de cargar una presentación grande, te recomendamos encarecidamente que uses la ruta del archivo de presentación y no su flujo. - -Cuando quieras crear una presentación que contenga objetos grandes (video, audio, imágenes grandes, etc.), puedes utilizar la [facilidad Blob](https://docs.aspose.com/slides/net/manage-blob/) para reducir el consumo de memoria. +{{% alert color="info" title="Info" %}} +Para evitar ciertas limitaciones al trabajar con flujos, Aspose.Slides puede copiar el contenido de un flujo. Cargar una presentación grande desde un flujo hace que la presentación se copie y puede ralentizar la carga. Por lo tanto, cuando necesites cargar una presentación grande, recomendamos encarecidamente usar la ruta del archivo de la presentación en lugar de un flujo. -{{%/alert %}} +Al crear una presentación que contenga objetos grandes (video, audio, imágenes de alta resolución, etc.), puedes usar la [gestión de BLOB](/slides/es/net/manage-blob/) para reducir el consumo de memoria. +{{%/alert %}} +## **Controlar recursos externos** -## Cargar Presentación -Aspose.Slides proporciona [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) con un único método para permitirte gestionar recursos externos. Este código C# te muestra cómo utilizar la interfaz `IResourceLoadingCallback`: +Aspose.Slides proporciona la interfaz [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) que permite gestionar recursos externos. El siguiente código en C# muestra cómo usar la interfaz `IResourceLoadingCallback`: +```cs +LoadOptions loadOptions = new LoadOptions(); +loadOptions.ResourceLoadingCallback = new ImageLoadingHandler(); -```c# -LoadOptions opts = new LoadOptions(); -opts.ResourceLoadingCallback = new ImageLoadingHandler(); -Presentation presentation = new Presentation("presentation.pptx", opts); +Presentation presentation = new Presentation("Sample.pptx", loadOptions); ``` -```c# +```cs public class ImageLoadingHandler : IResourceLoadingCallback { public ResourceLoadingAction ResourceLoading(IResourceLoadingArgs args) { if (args.OriginalUri.EndsWith(".jpg")) { - try // Carga la imagen de sustitución + try { - byte[] imageBytes = File.ReadAllBytes("c:\\aspose-logo.jpg"); - args.SetData(imageBytes); + // Cargar una imagen de sustitución. + byte[] imageData = File.ReadAllBytes("aspose-logo.jpg"); + args.SetData(imageData); return ResourceLoadingAction.UserProvided; } catch (Exception) @@ -112,53 +131,52 @@ public class ImageLoadingHandler : IResourceLoadingCallback } else if (args.OriginalUri.EndsWith(".png")) { - // Establece la url de sustitución + // Establecer una URL de sustitución. args.Uri = "http://www.google.com/images/logos/ps_logo2.png"; return ResourceLoadingAction.Default; } - // Salta todas las demás imágenes + // Omitir todas las demás imágenes. return ResourceLoadingAction.Skip; } } ``` -## Cargar Presentación Sin Objetos Binarios Incrustados - -La presentación de PowerPoint puede contener los siguientes tipos de objetos binarios incrustados: -- Proyecto VBA ([IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); -- Datos de objeto OLE incrustados ([IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); -- Datos binarios de Control ActiveX ([IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)); +## **Cargar presentaciones sin objetos binarios incrustados** -Utilizando la propiedad [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/) puedes cargar la presentación sin ningún objeto binario incrustado. +Una presentación de PowerPoint puede contener los siguientes tipos de objetos binarios incrustados: -Esta propiedad puede ser útil para eliminar contenido binario potencialmente malicioso. +- proyecto VBA (accesible mediante [IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); +- datos incrustados de objeto OLE (accesibles mediante [IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); +- datos binarios de control ActiveX (accesibles mediante [IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)). -El código C# demuestra cómo cargar y guardar una presentación sin contenido de malware: +Usando la propiedad [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/), puedes cargar una presentación sin ningún objeto binario incrustado. -```c# +Esta propiedad es útil para eliminar contenido binario potencialmente malicioso. El siguiente código en C# demuestra cómo cargar una presentación sin contenido binario incrustado: +```cs LoadOptions loadOptions = new LoadOptions() { DeleteEmbeddedBinaryObjects = true } -using (var pres = new Presentation("malware.ppt", loadOptions)) +using (Presentation presentation = new Presentation("malware.ppt", loadOptions)) { - pres.Save("clean.ppt", SaveFormat.Ppt); + // Realizar operaciones en la presentación. } ``` -

Abrir y Guardar Presentación

-Pasos: Abrir y Guardar Presentación en C# +## **Preguntas frecuentes** + +**¿Cómo puedo saber si un archivo está corrupto y no se puede abrir?** + +Obtendrás una excepción de validación de análisis/formato durante la carga. Estos errores a menudo indican una estructura ZIP no válida o registros de PowerPoint rotos. + +**¿Qué ocurre si faltan fuentes requeridas al abrir?** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) y pasa el archivo que deseas abrir. -2. Guarda la Presentación. +El archivo se abrirá, pero más adelante la [renderización/exportación](/slides/es/net/convert-presentation/) puede sustituir fuentes. [Configura sustituciones de fuentes](/slides/es/net/font-substitution/) o [agrega las fuentes requeridas](/slides/es/net/custom-font/) al entorno de ejecución. -```c# -// Carga cualquier presentación soportada e.g ppt, pptx, odp -Presentation presentation = new Presentation("Sample.odp"); +**¿Qué pasa con los medios incrustados (video/audio) al abrir?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +Se convierten en recursos de la presentación. Si los medios se referencian mediante rutas externas, asegúrate de que esas rutas sean accesibles en tu entorno; de lo contrario, la [renderización/exportación](/slides/es/net/convert-presentation/) puede omitir los medios. \ No newline at end of file diff --git a/es/net/developer-guide/manage-presentation/save-presentation/_index.md b/es/net/developer-guide/manage-presentation/save-presentation/_index.md index 4cbf82f97e..7eecb3105b 100644 --- a/es/net/developer-guide/manage-presentation/save-presentation/_index.md +++ b/es/net/developer-guide/manage-presentation/save-presentation/_index.md @@ -1,153 +1,201 @@ --- -title: Guardar Presentación en .NET -linktitle: Guardar Presentación +title: Guardar presentaciones en .NET +linktitle: Guardar presentaciones type: docs weight: 80 url: /es/net/save-presentation/ -keywords: "Guardar PowerPoint, PPT, PPTX, Guardar Presentación, archivo, flujo, C#, Csharp, .NET" -description: "Guardar Presentación de PowerPoint como archivo o flujo en C# o .NET" +keywords: +- guardar PowerPoint +- guardar OpenDocument +- guardar presentación +- guardar diapositiva +- guardar PPT +- guardar PPTX +- guardar ODP +- presentación a archivo +- presentación a flujo +- tipo de vista predefinido +- Formato Strict Office Open XML +- modo Zip64 +- actualizar miniatura +- progreso de guardado +- .NET +- C# +- Aspose.Slides +description: "Descubra cómo guardar presentaciones en .NET usando Aspose.Slides—exportar a PowerPoint u OpenDocument manteniendo diseños, fuentes y efectos." --- -## **Guardar Presentación** -Abrir una Presentación describió cómo usar la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) para abrir una presentación. Este artículo explica cómo crear y guardar presentaciones. -La clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) contiene el contenido de una presentación. Ya sea que estés creando una presentación desde cero o modificando una existente, al finalizar, querrás guardar la presentación. Con Aspose.Slides para .NET, se puede guardar como un **archivo** o **flujo**. Este artículo explica cómo guardar una presentación de diferentes maneras: +## **Descripción general** -### **Guardando Presentaciones en Archivos** -Guarda una presentación en archivos llamando al método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). Simplemente pasa el nombre del archivo y el formato de guardado al método [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index). Los ejemplos que siguen muestran cómo guardar una presentación con Aspose.Slides para .NET usando C#. +[Presentaciones abiertas en C#](/slides/es/net/open-presentation/) describió cómo usar la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) para abrir una presentación. Este artículo explica cómo crear y guardar presentaciones. La clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) contiene el contenido de una presentación. Ya sea que esté creando una presentación desde cero o modificando una existente, querrá guardarla cuando haya terminado. Con Aspose.Slides para .NET, puede guardar en un **archivo** o **flujo**. Este artículo explica las diferentes formas de guardar una presentación. -```c# -// Instanciar un objeto Presentation que representa un archivo PPT -Presentation presentation= new Presentation(); +## **Guardar presentaciones en archivos** -//...realiza algún trabajo aquí... +Guarde una presentación en un archivo llamando al método `Save` de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). Pase el nombre del archivo y el formato de guardado al método. El siguiente ejemplo muestra cómo guardar una presentación con Aspose.Slides. +```cs +// Instanciar la clase Presentation que representa un archivo de presentación. +using (Presentation presentation = new Presentation()) +{ + // Realizar algún trabajo aquí... -// Guarda tu presentación en un archivo -presentation.Save("Saved_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); + // Guardar la presentación en un archivo. + presentation.Save("Output.pptx", SaveFormat.Pptx); +} ``` -### **Guardando Presentaciones en Flujos** -Es posible guardar una presentación en un flujo pasando un flujo de salida al método Save de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). Hay muchos tipos de flujos a los que se puede guardar una presentación. En el ejemplo a continuación hemos creado un nuevo archivo de Presentación, agregamos texto en una forma y guardamos la presentación en el flujo. -```c# -// Instanciar un objeto Presentation que representa un archivo PPT +## **Guardar presentaciones en flujos** + +Puede guardar una presentación en un flujo pasando un flujo de salida al método `Save` de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). Una presentación puede escribirse en muchos tipos de flujo. En el ejemplo a continuación, creamos una nueva presentación y la guardamos en un flujo de archivo. +```cs +// Instanciar la clase Presentation que representa un archivo de presentación. using (Presentation presentation = new Presentation()) { + using (FileStream fileStream = new FileStream("Output.pptx", FileMode.Create)) + { + // Guardar la presentación en el flujo. + presentation.Save(fileStream, SaveFormat.Pptx); + } +} +``` - IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 200, 200); - // Agregar texto a la forma - shape.TextFrame.Text = "Esta demostración muestra cómo crear un archivo de PowerPoint y guardarlo en un flujo."; +## **Guardar presentaciones con un tipo de vista predefinido** - FileStream toStream = new FileStream("Save_As_Stream_out.pptx", FileMode.Create); - presentation.Save(toStream, Aspose.Slides.Export.SaveFormat.Pptx); - toStream.Close(); +Aspose.Slides le permite establecer la vista inicial que PowerPoint usa cuando la presentación generada se abre mediante la clase [ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/). Establezca la propiedad [LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/lastview/) a un valor de la enumeración [ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype/). +```cs +using (Presentation presentation = new Presentation()) +{ + presentation.ViewProperties.LastView = ViewType.SlideMasterView; + presentation.Save("SlideMasterView.pptx", SaveFormat.Pptx); } ``` -### **Guardando Presentaciones con Tipo de Vista Predefinido** -Aspose.Slides para .NET proporciona una facilidad para establecer el tipo de vista para la presentación generada cuando se abre en PowerPoint a través de la clase [ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties). La propiedad [LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/properties/lastview) se utiliza para establecer el tipo de vista utilizando el enumerador [ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype). -```csharp -using (Presentation pres = new Presentation()) +## **Guardar presentaciones en el formato Strict Office Open XML** + +Aspose.Slides permite guardar una presentación en el formato Strict Office Open XML. Use la clase [PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/) y establezca su propiedad de conformidad al guardar. Si establece `Conformance.Iso29500_2008_Strict`, el archivo de salida se guarda en el formato Strict Office Open XML. + +El ejemplo a continuación crea una presentación y la guarda en el formato Strict Office Open XML. +```cs +PptxOptions options = new PptxOptions() +{ + Conformance = Conformance.Iso29500_2008_Strict +}; + +// Instanciar la clase Presentation que representa un archivo de presentación. +using (Presentation presentation = new Presentation()) { - pres.ViewProperties.LastView = ViewType.SlideMasterView; - pres.Save("pres-will-open-SlideMasterView.pptx", SaveFormat.Pptx); + // Guardar la presentación en el formato Strict Office Open XML. + presentation.Save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options); } ``` -### **Guardando Presentaciones en Formato Estricto de Office Open XML** -Aspose.Slides te permite guardar la presentación en formato Estricto de Office Open XML. Para ello, proporciona la clase **[Aspose.Slides.Export.PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions)** donde puedes establecer la propiedad Conformance al guardar el archivo de presentación. Si estableces su valor como Conformance.Iso29500_2008_Strict, entonces el archivo de presentación de salida se guardará en formato Estricto de Office Open XML. -El siguiente código de muestra crea una presentación y la guarda en el formato Estricto de Office Open XML. Al llamar al método Save para la presentación, se pasa el objeto **[Aspose.Slides.Export.PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions)** junto con la propiedad **[Conformance](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/properties/conformance)** establecida como **[Conformance.Iso29500_2008_Strict](https://reference.aspose.com/slides/net/aspose.slides.export/conformance)**. +## **Guardar presentaciones en formato Office Open XML en modo Zip64** -```csharp - // Instanciar un objeto Presentation que representa un archivo de presentación - using (Presentation presentation = new Presentation()) - { - // Obtener la primera diapositiva - ISlide slide = presentation.Slides[0]; +Un archivo Office Open XML es un archivo ZIP que impone límites de 4 GB (2^32 bytes) al tamaño sin comprimir de cualquier archivo, al tamaño comprimido de cualquier archivo y al tamaño total del archivo, y también limita el archivo a 65 535 (2^16‑1) archivos. Las extensiones de formato ZIP64 elevan estos límites a 2^64. - // Agregar una forma automática de tipo línea - slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); +La propiedad [IPptxOptions.Zip64Mode](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/) le permite elegir cuándo usar extensiones de formato ZIP64 al guardar un archivo Office Open XML. - // Guardar la presentación en formato Estricto de Office Open XML - presentation.Save(dataDir + "NewPresentation_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx, - new PptxOptions() { Conformance = Conformance.Iso29500_2008_Strict }); +Esta propiedad proporciona los siguientes modos: + +- `IfNecessary` usa extensiones de formato ZIP64 solo si la presentación supera las limitaciones anteriores. Este es el modo predeterminado. +- `Never` nunca usa extensiones de formato ZIP64. +- `Always` siempre usa extensiones de formato ZIP64. - } +El siguiente código muestra cómo guardar una presentación como PPTX con extensiones de formato ZIP64 habilitadas: +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + presentation.Save("OutputZip64.pptx", SaveFormat.Pptx, new PptxOptions() + { + Zip64Mode = Zip64Mode.Always + }); +} ``` -### **Guardando Presentaciones en formato Office Open XML en modo Zip64** -Un archivo de Office Open XML es un archivo ZIP que tiene un límite de 4 GB (2^32 bytes) en el tamaño no comprimido de un archivo, el tamaño comprimido de un archivo y el tamaño total del archivo, así como un límite de 65,535 (2^16-1) archivos en el archivo. Las extensiones de formato ZIP64 incrementan los límites a 2^64. -La nueva propiedad **[IPptxOptions.Zip64Mode](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/)** te permite elegir cuándo usar extensiones de formato ZIP64 para el archivo de Office Open XML guardado. +{{% alert title="NOTA" color="warning" %}} -Esta propiedad proporciona los siguientes modos: +Al guardar con `Zip64Mode.Never`, se lanza una [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/) si la presentación no puede guardarse en formato ZIP32. -- [Zip64Mode.IfNecessary](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) significa que las extensiones de formato ZIP64 solo se usarán si la presentación excede las limitaciones anteriores. Este es el modo por defecto. -- [Zip64Mode.Never](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) significa que no se usarán extensiones de formato ZIP64. -- [Zip64Mode.Always](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) significa que siempre se usarán extensiones de formato ZIP64. +{{% /alert %}} + +## **Guardar presentaciones sin actualizar la miniatura** -El siguiente código C# demuestra cómo guardar la presentación en formato PPTX con extensiones de formato ZIP64: +La propiedad [PptxOptions.RefreshThumbnail](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/refreshthumbnail/) controla la generación de miniaturas al guardar una presentación en PPTX: -```c# -using (Presentation pres = new Presentation("Sample.pptx")) +- Si se establece en `true`, la miniatura se actualiza durante el guardado. Este es el valor predeterminado. +- Si se establece en `false`, se conserva la miniatura actual. Si la presentación no tiene miniatura, no se generará ninguna. + +En el código a continuación, la presentación se guarda en PPTX sin actualizar su miniatura. +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) { - pres.Save("Sample-zip64.pptx", SaveFormat.Pptx, new PptxOptions() + presentation.Save("Output.pptx", SaveFormat.Pptx, new PptxOptions() { - Zip64Mode = Zip64Mode.Always + RefreshThumbnail = false }); } ``` -{{% alert title="NOTA" color="warning" %}} -Guardar en modo Zip64Mode.Never lanzará una [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/) si la presentación no se puede guardar en formato ZIP32. +{{% alert title="Información" color="info" %}} + +Esta opción ayuda a reducir el tiempo necesario para guardar una presentación en formato PPTX. {{% /alert %}} -### **Guardando Actualizaciones de Progreso en Porcentaje** -Se ha añadido una nueva interfaz **[IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback)** a la interfaz **[ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions)** y a la clase abstracta **[SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions)**. La interfaz **IProgressCallback** representa un objeto de callback para guardar actualizaciones de progreso en porcentaje. +## **Actualizaciones del progreso de guardado en porcentaje** + +La interfaz [IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/) se usa a través de la propiedad `ProgressCallback` expuesta por la interfaz [ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions/) y la clase abstracta [SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/). Asigne una implementación de [IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/) a `ProgressCallback` para recibir actualizaciones del progreso de guardado como un porcentaje. -Los siguientes fragmentos de código muestran cómo usar la interfaz IProgressCallback: +Los fragmentos de código siguientes muestran cómo usar `IProgressCallback`. +```cs +ISaveOptions saveOptions = new PdfOptions(); +saveOptions.ProgressCallback = new ExportProgressHandler(); -```c# -using (Presentation presentation = new Presentation("ConvertToPDF.pptx")) +using (Presentation presentation = new Presentation("Sample.pptx")) { - ISaveOptions saveOptions = new PdfOptions(); - saveOptions.ProgressCallback = new ExportProgressHandler(); - presentation.Save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions); + presentation.Save("Output.pdf", SaveFormat.Pdf, saveOptions); } ``` -```c# +```cs class ExportProgressHandler : IProgressCallback { public void Reporting(double progressValue) { - // Usa el valor del porcentaje de progreso aquí + // Use el valor del porcentaje de progreso aquí. int progress = Convert.ToInt32(progressValue); - Console.WriteLine(progress + "% archivo convertido"); + + Console.WriteLine(progress + "% of the file has been converted."); } } ``` -{{% alert title="Info" color="info" %}} -Usando su propia API, Aspose desarrolló una [aplicación gratuita para dividir PowerPoint](https://products.aspose.app/slides/splitter) que permite a los usuarios dividir sus presentaciones en múltiples archivos. Esencialmente, la aplicación guarda las diapositivas seleccionadas de una presentación dada como nuevos archivos de PowerPoint (PPTX o PPT). +{{% alert title="Información" color="info" %}} + +Aspose ha desarrollado una [aplicación gratuita PowerPoint Splitter](https://products.aspose.app/slides/splitter) usando su propia API. La aplicación le permite dividir una presentación en varios archivos guardando diapositivas seleccionadas como nuevos archivos PPTX o PPT. {{% /alert %}} -

Abrir y Guardar Presentación

+## **Preguntas frecuentes** + +**¿Se admite el “guardado rápido” (guardado incremental) para que solo se escriban los cambios?** + +No. Cada guardado crea el archivo de destino completo; el “guardado rápido” incremental no está soportado. + +**¿Es seguro guardar la misma instancia de Presentation desde varios hilos?** + +No. Una instancia de [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) **no es segura para subprocesos** (/slides/es/net/multithreading/); guárdela desde un solo hilo. -Pasos: Abrir y Guardar Presentación en C# +**¿Qué ocurre con los hipervínculos y los archivos vinculados externamente al guardar?** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) con cualquier formato, es decir, PPT, PPTX, ODP, etc. -2. Guarda _Presentación_ en cualquier formato soportado por [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) +Los [hipervínculos](/slides/es/net/manage-hyperlinks/) se preservan. Los archivos vinculados externamente (p. ej., videos mediante rutas relativas) no se copian automáticamente; asegúrese de que las rutas referenciadas sigan siendo accesibles. -```c# -// Cargar cualquier archivo soportado en Presentation, por ejemplo ppt, pptx, odp, etc. -Presentation presentation = new Presentation("Sample.odp"); +**¿Puedo establecer/guardar metadatos del documento (Autor, Título, Empresa, Fecha)?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +Sí. Las [propiedades estándar del documento](/slides/es/net/presentation-properties/) son compatibles y se escribirán en el archivo al guardarlo. \ No newline at end of file diff --git a/es/net/developer-guide/modern-api/_index.md b/es/net/developer-guide/modern-api/_index.md index cf43ff9957..f50cee1d3c 100644 --- a/es/net/developer-guide/modern-api/_index.md +++ b/es/net/developer-guide/modern-api/_index.md @@ -1,15 +1,15 @@ --- -title: API Moderna +title: API moderna type: docs weight: 237 url: /es/net/modern-api/ -keywords: "CrossPlatform API Moderna System.Drawing" -description: "API Moderna" +keywords: "CrossPlatform API moderna System.Drawing" +description: "API moderna" --- -## Introducción +## **Introducción** -Históricamente, Aspose Slides tiene una dependencia de System.Drawing y tiene en la API pública las siguientes clases de allí: +Históricamente, Aspose Slides depende de System.Drawing y tiene en la API pública las siguientes clases de ese espacio: - [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) - [Image](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.image) - [Bitmap](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.bitmap) @@ -17,29 +17,28 @@ Históricamente, Aspose Slides tiene una dependencia de System.Drawing y tiene e A partir de la versión 24.4, esta API pública se declara obsoleta. -Dado que el soporte para System.Drawing en versiones .NET6 y superiores se ha eliminado para versiones que no son de Windows ([cambio importante](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only)), Slides ha implementado un enfoque de dos versiones de biblioteca: -- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) - soporte para .NET6+ para Windows, .NETStandard para Windows/Linux/MacOS, .NETFramework 2+ (Windows). - - tiene una dependencia de [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/). -- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) - versión para Windows/Linux/MacOS sin dependencias. +Dado que el soporte de System.Drawing en versiones .NET6 y superiores se elimina para versiones que no son Windows ([cambio de ruptura](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only)), Slides ha implementado un enfoque de dos versiones de biblioteca: +- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) – soporte para .NET6+ en Windows, .NETStandard para Windows/Linux/macOS, .NETFramework 2+ (Windows). + - depende de [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/). +- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) – versión Windows/Linux/macOS sin dependencias. -La inconveniencia de [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) es que implementa su propia versión de System.Drawing en el mismo espacio de nombres (para mantener la compatibilidad con versiones anteriores con la API pública). Así, cuando Aspose.Slides.NET6.CrossPlatform y System.Drawing de .NETFramework o paquete System.Drawing.Common se utilizan al mismo tiempo, ocurre un conflicto de nombres a menos que se use un alias. +El inconveniente de [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) es que implementa su propia versión de System.Drawing en el mismo espacio de nombres (para mantener compatibilidad con la API pública). Por lo tanto, cuando Aspose.Slides.NET6.CrossPlatform y System.Drawing del .NETFramework o el paquete System.Drawing.Common se usan al mismo tiempo, se produce un conflicto de nombres a menos que se utilice un alias. -Con el fin de eliminar dependencias de System.Drawing en el paquete principal Aspose.Slides.NET, añadimos lo que se denomina "API Moderna", es decir, la API que debe ser utilizada en lugar de la obsoleta, cuyas firmas contienen dependencias en los siguientes tipos de System.Drawing: Image y Bitmap. PrinterSettings y Graphics se declaran obsoletas y su soporte se elimina de la API pública de Slides. +Para eliminar las dependencias de System.Drawing en el paquete principal Aspose.Slides.NET, añadimos la llamada “API moderna”, es decir, la API que debe usarse en lugar de la obsoleta, cuyas firmas contienen dependencias de los siguientes tipos de System.Drawing: Image y Bitmap. PrinterSettings y Graphics se declaran obsoletos y su soporte se elimina de la API pública de Slides. -La eliminación de la API pública obsoleta con dependencias en System.Drawing estará en la versión 24.8. +La eliminación de la API pública obsoleta con dependencias de System.Drawing se realizará en la versión 24.8. -## API Moderna +## **API moderna** -Se añadieron las siguientes clases y enums a la API pública: +Se añadieron las siguientes clases y enumeraciones a la API pública: -- Aspose.Slides.IImage - representa la imagen raster o vectorial. -- Aspose.Slides.ImageFormat - representa el formato de archivo de la imagen. -- Aspose.Slides.Images - métodos para instanciar y trabajar con la interfaz IImage. +- Aspose.Slides.IImage – representa la imagen raster o vectorial. +- Aspose.Slides.ImageFormat – representa el formato de archivo de la imagen. +- Aspose.Slides.Images – métodos para instanciar y trabajar con la interfaz IImage. -Tenga en cuenta que IImage es desechable (implementa la interfaz IDisposable y su uso debe estar envuelto en using o liberado de otra manera conveniente). - -Un escenario típico de uso de la nueva API puede verse de la siguiente manera: +Tenga en cuenta que IImage es desechable (implementa la interfaz IDisposable y su uso debe envolver‑se en un using o liberarse de otra forma conveniente). +Un escenario típico de uso de la nueva API puede ser el siguiente: ``` csharp using (Presentation pres = new Presentation()) { @@ -47,11 +46,11 @@ using (Presentation pres = new Presentation()) // instanciar una instancia desechable de IImage desde el archivo en el disco. using (IImage image = Images.FromFile("image.png")) { - // crear una imagen de PowerPoint añadiendo una instancia de IImage a las imágenes de la presentación. + // crear una imagen de PowerPoint agregando una instancia de IImage a las imágenes de la presentación. ppImage = pres.Images.AddImage(image); } - // añadir una forma de imagen en la diapositiva #1 + // agregar una forma de imagen en la diapositiva #1 pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); // obtener una instancia de IImage que representa la diapositiva #1. @@ -63,14 +62,14 @@ using (Presentation pres = new Presentation()) } ``` -## Reemplazo de código antiguo con API Moderna -Para facilitar la transición, la interfaz de la nueva IImage repite las firmas separadas de las clases Image y Bitmap. En general, solo necesitará reemplazar la llamada al antiguo método utilizando System.Drawing con el nuevo. +## **Reemplazo del código antiguo con la API moderna** -### Obtener una miniatura de diapositiva +Para facilitar la transición, la interfaz del nuevo IImage repite las firmas separadas de las clases Image y Bitmap. En general, solo necesitará reemplazar la llamada al método antiguo que usa System.Drawing por la nueva. -Código utilizando una API obsoleta: +### **Obtención de una miniatura de diapositiva** +Código que usa una API obsoleta: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -78,8 +77,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -API Moderna: +API moderna: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -87,10 +86,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### Obtener una miniatura de forma -Código utilizando una API obsoleta: +### **Obtención de una miniatura de forma** +Código que usa una API obsoleta: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -98,8 +97,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -API Moderna: +API moderna: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -107,10 +106,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### Obtener una miniatura de presentación -Código utilizando una API obsoleta: +### **Obtención de una miniatura de presentación** +Código que usa una API obsoleta: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -133,8 +132,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -API Moderna: +API moderna: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -157,10 +156,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### Añadir una imagen a una presentación -Código utilizando una API obsoleta: +### **Añadir una imagen a una presentación** +Código que usa una API obsoleta: ``` csharp using (Presentation pres = new Presentation()) { @@ -174,8 +173,8 @@ using (Presentation pres = new Presentation()) } ``` -API Moderna: +API moderna: ``` csharp using (Presentation pres = new Presentation()) { @@ -188,92 +187,103 @@ using (Presentation pres = new Presentation()) pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); } ``` -## Métodos/propiedades que se eliminarán y su reemplazo en API Moderna -### Presentación -| Firma del Método | Firma del Método de Reemplazo | -|---------------------------------------------------|---------------------------------------------------------------| +## **Métodos/propiedades que se eliminarán y su sustitución en la API moderna** + +### **Presentación** +| Firma del método | Firma del método de reemplazo | +|------------------|------------------------------| | public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | | public Bitmap[] GetThumbnails(IRenderingOptions options, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_4) | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, int[] slides, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_2) | | public Bitmap[] GetThumbnails(IRenderingOptions options, Size imageSize) | [GetImages(IRenderingOptions options, Size imageSize)]() | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, Size imageSize) | [GetImages(IRenderingOptions options, int[] slides, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_3) | -| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | Se eliminará por completo | -| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | Se eliminará por completo | -| public void Print() | Se eliminará por completo | -| public void Print(PrinterSettings printerSettings) | Se eliminará por completo | -| public void Print(string printerName) | Se eliminará por completo | -| public void Print(PrinterSettings printerSettings, string presName) | Se eliminará por completo | - -### Forma -| Firma del Método | Firma del Método de Reemplazo | -|----------------------------------------------------------------------|-----------------------------------------------------------------| -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | +| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | Se eliminará completamente | +| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | Se eliminará completamente | +| public void Print() | Se eliminará completamente | +| public void Print(PrinterSettings printerSettings) | Se eliminará completamente | +| public void Print(string printerName) | Se eliminará completamente | +| public void Print(PrinterSettings printerSettings, string presName) | Se eliminará completamente | + +### **Forma** +| Firma del método | Firma del método de reemplazo | +|------------------|------------------------------| +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | | public Bitmap GetThumbnail(ShapeThumbnailBounds bounds, float scaleX, float scaleY) | [GetImage(ShapeThumbnailBounds bounds, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage_1) | -### Diapositiva -| Firma del Método | Firma del Método de Reemplazo | -|----------------------------------------------------------------------|-------------------------------------------------------------------| -| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | -| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | -| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | -| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | +### **Diapositiva** +| Firma del método | Firma del método de reemplazo | +|------------------|------------------------------| +| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | +| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | +| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | +| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | | public Bitmap GetThumbnail(IRenderingOptions options, float scaleX, float scaleY) | [GetImage(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_2) | -| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | Se eliminará por completo | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | Se eliminará por completo | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | Se eliminará por completo | - -#### Salida -| Firma del Método | Firma del Método de Reemplazo | -|-----------------------------------------------------------------|---------------------------------------------------------------| -| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | - -### ImageCollection -| Firma del Método | Firma del Método de Reemplazo | -|-------------------------------------------|----------------------------------------------| -| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | - -### ImageWrapperFactory -| Firma del Método | Firma del Método de Reemplazo | -|----------------------------------------------------------|---------------------------------------------------------| -| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | - -### PPImage -| Firma/Método | Firma del Método de Reemplazo | -|--------------------------------------|-----------------------------------------| -| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | -| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | - -### PatternFormat -| Firma del Método | Firma del Método de Reemplazo | -|-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | -| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | - -### IPatternFormatEffectiveData -| Firma del Método | Firma del Método de Reemplazo | -|-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | - -## El soporte para Aspose.Slides.NET6.CrossPlatform se descontinuará - -Tras el lanzamiento de [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) versión 24.8, el soporte para [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) se descontinuará. - -## El soporte de API para Graphics y PrinterSettings se descontinuará - -La clase [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) no es compatible con versiones multiplataforma de .NET6 y superiores. En Aspose Slides, se eliminará la parte de la API que la utiliza: +| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | Se eliminará completamente | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | Se eliminará completamente | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | Se eliminará completamente | + +### **Salida** +| Firma del método | Firma del método de reemplazo | +|------------------|------------------------------| +| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | + +### **ImageCollection** +| Firma del método | Firma del método de reemplazo | +|------------------|------------------------------| +| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | + +### **ImageWrapperFactory** +| Firma del método | Firma del método de reemplazo | +|------------------|------------------------------| +| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | + +### **PPImage** +| Firma del método/propiedad | Firma del método de reemplazo | +|----------------------------|------------------------------| +| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | +| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | + +### **PatternFormat** +| Firma del método | Firma del método de reemplazo | +|------------------|------------------------------| +| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | +| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | + +### **IPatternFormatEffectiveData** +| Firma del método | Firma del método de reemplazo | +|------------------|------------------------------| +| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | + +## **El soporte de API para Graphics y PrinterSettings será descontinuado** + +La clase [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) no tiene soporte para versiones multiplataforma de .NET6 y superiores. En Aspose Slides, la parte de la API que la utiliza será eliminada: [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide/) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) -- [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_5) +- [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertraphics/#rendertographics_5) -Además, se eliminará la parte de la API relacionada con la impresión: +También se eliminará la parte de la API relacionada con la impresión: -[Presentación](https://reference.aspose.com/slides/net/aspose.slides/presentation/): +[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): - [public void Presentation.Print](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print) - [public void Print(PrinterSettings printerSettings)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_1) - [public void Print(string printerName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_3) -- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) \ No newline at end of file +- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) + +# **Preguntas frecuentes** + +**¿Por qué se eliminó System.Drawing.Graphics?** + +El soporte para `Graphics` se elimina de la API pública para unificar el trabajo con renderizado e imágenes, eliminar dependencias específicas de la plataforma y pasar a un enfoque multiplataforma con [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/). Todos los métodos de renderizado a `Graphics` serán removidos. + +**¿Cuál es el beneficio práctico de IImage frente a Image/Bitmap?** + +[IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) unifica el trabajo con imágenes raster y vectoriales, simplifica el guardado en varios formatos mediante [ImageFormat](https://reference.aspose.com/slides/net/aspose.slides/imageformat/), reduce la dependencia de `System.Drawing` y hace que el código sea más portátil entre entornos. + +**¿Afectará la API moderna al rendimiento de generación de miniaturas?** + +Cambiar de `GetThumbnail` a `GetImage` no empeora los escenarios: los nuevos métodos proporcionan las mismas capacidades para producir imágenes con opciones y tamaños, manteniendo el soporte de opciones de renderizado. El beneficio o la pérdida específica dependen del caso, pero funcionalmente los reemplazos son equivalentes. \ No newline at end of file diff --git a/es/net/developer-guide/powerpoint-animation/_index.md b/es/net/developer-guide/powerpoint-animation/_index.md index 20ca7968cc..c018e24160 100644 --- a/es/net/developer-guide/powerpoint-animation/_index.md +++ b/es/net/developer-guide/powerpoint-animation/_index.md @@ -1,28 +1,55 @@ --- -title: Animación de PowerPoint +title: Mejorando presentaciones de PowerPoint con animaciones en C# +linktitle: Animación de PowerPoint type: docs weight: 150 url: /es/net/powerpoint-animation/ -keywords: "Animación, efectos de animación, animación de PowerPoint, línea de tiempo de animación, animación interactiva, animación de formas, gráfico animado, texto animado, presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Animación y efectos de presentación de PowerPoint en C# o .NET" +keywords: +- añadir animación +- actualizar animación +- cambiar animación +- eliminar animación +- gestionar animación +- controlar animación +- efecto de animación +- animación de PowerPoint +- línea de tiempo de animación +- animación interactiva +- animación personalizada +- animación de forma +- gráfico animado +- texto animado +- forma animada +- objeto OLE animado +- imagen animada +- tabla animada +- presentación de PowerPoint +- C# +- Csharp +- Aspose.Slides for .NET +description: "Explore las capacidades de Aspose.Slides for .NET al gestionar animaciones de PowerPoint. Esta visión general destaca las características clave y ofrece ideas para mejorar sus presentaciones." --- -Dado que las presentaciones están destinadas a presentar algo, siempre se considera su apariencia visual y comportamiento interactivo al crearlas. +## **Descripción general** -La **animación de PowerPoint** juega un papel importante para hacer que la presentación sea atractiva y llamativa para los espectadores. Aspose.Slides para .NET ofrece una amplia gama de opciones para agregar animación a la presentación de PowerPoint: +Dado que las presentaciones están diseñadas para presentar algo, su apariencia visual y comportamiento interactivo siempre se tienen en cuenta durante su creación. -- aplicar varios tipos de efectos de animación de PowerPoint a formas, gráficos, tablas, objetos OLE y otros elementos de la presentación. -- usar múltiples efectos de animación de PowerPoint en una forma. -- usar la línea de tiempo de animación para controlar los efectos de animación. -- crear animación personalizada. +**Animación de PowerPoint** juega un papel importante para que una presentación sea llamativa y atractiva para los espectadores. Aspose.Slides for .NET proporciona una amplia gama de opciones para agregar animaciones a presentaciones de PowerPoint: -En Aspose.Slides para .NET, se pueden aplicar varios efectos de animación a las formas. Dado que cada elemento en la diapositiva, incluyendo texto, imágenes, objeto OLE, tabla, etc., se considera como una forma, significa que podemos aplicar efectos de animación a cada elemento de una diapositiva. +- Aplicar varios tipos de efectos de animación de PowerPoint a formas, gráficos, tablas, objetos OLE y otros elementos de la presentación. +- Utilizar múltiples efectos de animación de PowerPoint en una sola forma. +- Utilizar la línea de tiempo de animación para controlar los efectos de animación. +- Crear animaciones personalizadas. -El **espacio de nombres Aspose.Slides.Animation** proporciona clases para trabajar con animaciones de PowerPoint. -## **Efectos de Animación** -Aspose.Slides soporta **más de 150 efectos de animación**, incluyendo efectos de animación básicos como Rebote, Efecto de Zoom y efectos de animación específicos como OLEObjectShow, OLEObjectOpen. Puedes encontrar una lista completa de efectos de animación en la enumeración [**EffectType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype). +En Aspose.Slides for .NET, se pueden aplicar varios efectos de animación a las formas. Dado que cada elemento de una diapositiva, incluido texto, imágenes, objetos OLE y tablas, se considera una forma, los efectos de animación pueden aplicarse a cualquier elemento de la diapositiva. -Además, estos efectos de animación se pueden utilizar en combinación con los siguientes: +[Aspose.Slides.Animation](https://reference.aspose.com/slides/net/aspose.slides.animation/) namespace proporciona clases para trabajar con animaciones de PowerPoint. + +## **Efectos de animación** + +Aspose.Slides admite **más de 150 efectos de animación**, incluidos efectos básicos como Bounce, PathFootball y Zoom, así como efectos específicos como OLEObjectShow y OLEObjectOpen. Puede encontrar una lista completa de efectos de animación en la enumeración [EffectType](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype). + +Además, estos efectos de animación pueden usarse en combinación con los siguientes: - [ColorEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/coloreffect) - [CommandEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/commandeffect) @@ -32,36 +59,59 @@ Además, estos efectos de animación se pueden utilizar en combinación con los - [RotationEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/rotationeffect) - [ScaleEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/scaleeffect) - [SetEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/seteffect) -## **Animación Personalizada** -Es posible crear tus propias **animaciones personalizadas** en Aspose.Slides. -Esto se puede lograr si combinas varios comportamientos en una nueva animación personalizada. -**Comportamiento** es una unidad básica de cualquier efecto de animación de PowerPoint. Todos los efectos de animación son en realidad un conjunto de comportamientos compuestos en una estrategia. Puedes combinar comportamientos en una animación personalizada una vez y reutilizarla en otras presentaciones. Si agregas un nuevo comportamiento a un efecto de animación estándar de PowerPoint, será otra animación personalizada. Por ejemplo, puedes agregar un comportamiento de repetición a una animación para hacer que se repita varias veces. +## **Animación personalizada** + +Es posible crear sus propias **animaciones personalizadas** en Aspose.Slides. Esto se puede lograr combinando varios comportamientos en una nueva animación personalizada. + +[Behaviour](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) es un bloque de construcción de cualquier efecto de animación de PowerPoint. Todos los efectos de animación son esencialmente un conjunto de comportamientos compuestos en una estrategia. Puede combinar comportamientos en una animación personalizada una vez y reutilizarla en otras presentaciones. Si agrega un nuevo comportamiento a un efecto de animación estándar de PowerPoint, se convertirá en otra animación personalizada. Por ejemplo, puede agregar un comportamiento de repetición a una animación para que se repita varias veces. + +[Animation Point](https://reference.aspose.com/slides/net/aspose.slides.animation/point) es un punto en el que se debe aplicar un comportamiento. + +## **Línea de tiempo de animación** + +[Sequence](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) es una colección de efectos de animación aplicados a una forma específica. + +[Timeline](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) es un conjunto de secuencias usadas en una diapositiva específica. Es un motor de animación introducido en PowerPoint 2002. En versiones anteriores de PowerPoint, agregar efectos de animación a presentaciones era complicado y solo se podía lograr con diversas soluciones alternativas. La línea de tiempo sustituye a la antigua clase AnimationSettings y ofrece un modelo de objetos más claro para las animaciones de PowerPoint. Una diapositiva solo puede tener una línea de tiempo de animación. + +## **Animación interactiva** + +[Trigger](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) le permite definir acciones del usuario (p. ej., una pulsación de botón) que iniciarán una animación específica. Los disparadores se introdujeron en la última versión de PowerPoint. -[**Punto de Animación**](https://reference.aspose.com/slides/net/aspose.slides.animation/point) es un punto donde se debe aplicar el comportamiento. -## **Línea de Tiempo de Animación** -[**Secuencia**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) es una colección de efectos de animación, aplicados a una forma concreta. +## **Animación de formas** -[**Línea de Tiempo**](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) es un conjunto de Secuencias utilizadas en una diapositiva concreta. Es un motor de animación representado desde PowerPoint 2002. En versiones anteriores de PowerPoint, era un desafío agregar efectos de animación a la presentación, lo que solo se podía lograr con diferentes soluciones alternativas. La línea de tiempo viene a reemplazar la antigua clase AnimationSettings y proporciona un modelo de objeto más claro para la animación de PowerPoint. Una diapositiva puede tener solo una línea de tiempo de animación. -## **Animación Interactiva** -[**Disparador**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) permite definir acciones del usuario (por ejemplo, clic en un botón), que harán que una cierta animación comience. Los disparadores se han añadido solo en la última versión de PowerPoint. -## **Animación de Formas** -Aspose.Slides permite aplicar animación a formas, que pueden ser en realidad texto, rectángulo, línea, marco, objeto OLE, etc. +Aspose.Slides le permite aplicar animaciones a las formas, que pueden incluir texto, rectángulos, líneas, marcos, objetos OLE y más. {{% alert color="primary" %}} -Lee más sobre [**Animación de Formas**](/slides/es/net/shape-animation/). +Leer más [**Acerca de la animación de formas**](/slides/es/net/shape-animation/). {{% /alert %}} -## **Gráficos Animados** -Para crear gráficos animados, debes usar todas las mismas clases que para las formas. Sin embargo, es posible usar la animación de PowerPoint solo en categorías de gráficos o series de gráficos. También puedes aplicar efectos de animación a un elemento de categoría o elemento de serie. +## **Gráficos animados** + +Para crear gráficos animados, debe usar las mismas clases que para las formas. Sin embargo, las animaciones de PowerPoint solo pueden aplicarse a categorías de gráfico o series de gráfico. También puede aplicar efectos de animación a un elemento de categoría o a un elemento de serie. {{% alert color="primary" %}} -Lee más sobre [**Gráficos Animados**](/slides/es/net/animated-charts/). +Leer más [**Acerca de los gráficos animados**](/slides/es/net/animated-charts/). {{% /alert %}} -## **Texto Animado** +## **Texto animado** + Además del texto animado, también es posible aplicar animación a un párrafo. {{% alert color="primary" %}} -Lee más sobre [**Texto Animado**](/slides/es/net/animated-text/). -{{% /alert %}} \ No newline at end of file +Leer más [**Acerca del texto animado**](/slides/es/net/animated-text/). +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Se conservarán las animaciones al exportar a PDF?** + +No. PDF es un formato estático, por lo que las animaciones y las [transiciones de diapositivas](/slides/es/net/slide-transition/) no se reproducen. Si necesita movimiento, exporte a [HTML5](/slides/es/net/export-to-html5/), [GIF animado](/slides/es/net/convert-powerpoint-to-animated-gif/), o [video](/slides/es/net/convert-powerpoint-to-video/) en su lugar. + +**¿Puedo convertir una presentación animada en un video y controlar la frecuencia de cuadros y el tamaño del cuadro?** + +Sí. Puede [renderizar la presentación como cuadros](/slides/es/net/convert-powerpoint-to-video/) y codificarlos en un video (por ejemplo, vía ffmpeg), eligiendo los FPS y la resolución. Las animaciones y las transiciones de diapositivas se reproducen durante el renderizado. + +**¿Se mantendrán las animaciones intactas al trabajar con ODP (no solo PPTX)?** + +PPT, PPTX y ODP son compatibles para [lectura](/slides/es/net/open-presentation/) y [escritura](/slides/es/net/save-presentation/), pero las diferencias de formato hacen que ciertos efectos puedan verse o comportarse ligeramente diferentes. Valide los casos críticos con muestras reales. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-comments/_index.md b/es/net/developer-guide/presentation-comments/_index.md index 9944cd2489..5fcb7dfece 100644 --- a/es/net/developer-guide/presentation-comments/_index.md +++ b/es/net/developer-guide/presentation-comments/_index.md @@ -1,72 +1,71 @@ --- -title: Comentarios de Presentación +title: Comentarios de la presentación type: docs weight: 100 url: /es/net/presentation-comments/ -keywords: "Comentarios, comentarios de PowerPoint, presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Añadir comentarios y respuestas en presentaciones de PowerPoint en C# o .NET" +keywords: "Comentarios, Comentarios de PowerPoint, Presentación de PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Agregar comentarios y respuestas en una presentación de PowerPoint en C# o .NET" --- -En PowerPoint, un comentario aparece como una nota o anotación en una diapositiva. Cuando se hace clic en un comentario, se revelan su contenido o mensajes. +En PowerPoint, un comentario aparece como una nota o anotación en una diapositiva. Cuando se hace clic en un comentario, su contenido o mensajes se revelan. -## **¿Por qué añadir comentarios a las presentaciones?** +## **¿Por qué agregar comentarios a las presentaciones?** -Es posible que desees utilizar comentarios para proporcionar retroalimentación o comunicarte con tus colegas al revisar presentaciones. +Es posible que desee usar comentarios para proporcionar retroalimentación o comunicarse con sus colegas al revisar presentaciones. -Para permitirte utilizar comentarios en presentaciones de PowerPoint, Aspose.Slides para .NET proporciona +Para permitirle usar comentarios en presentaciones de PowerPoint, Aspose.Slides para .NET proporciona -* La clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), que contiene las colecciones de autores (de la propiedad [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index)). Los autores añaden comentarios a las diapositivas. -* La interfaz [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection), que contiene la colección de comentarios para autores individuales. -* La clase [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment), que contiene información sobre los autores y sus comentarios: quién añadió el comentario, la hora en que se añadió el comentario, la posición del comentario, etc. -* La clase [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor), que contiene información sobre autores individuales: el nombre del autor, sus iniciales, comentarios asociados con el nombre del autor, etc. - -## **Añadir comentario en la diapositiva** -Este código C# te muestra cómo añadir un comentario a una diapositiva en una presentación de PowerPoint: +* La clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), que contiene las colecciones de autores (de la propiedad [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index)). Los autores añaden comentarios a las diapositivas. +* La interfaz [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection), que contiene la colección de comentarios para autores individuales. +* La clase [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment), que contiene información sobre los autores y sus comentarios: quién añadió el comentario, la hora en que se añadió, la posición del comentario, etc. +* La clase [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor), que contiene información sobre autores individuales: el nombre del autor, sus iniciales, los comentarios asociados al nombre del autor, etc. +## **Agregar comentario a la diapositiva** +Este código C# le muestra cómo agregar un comentario a una diapositiva en una presentación de PowerPoint: ```c# -// Instancia la clase Presentation -using (Presentation presentation = new Presentation()) -{ - // Añade una diapositiva vacía - presentation.Slides.AddEmptySlide(presentation.LayoutSlides[0]); + // Instancia la clase Presentation + using (Presentation presentation = new Presentation()) + { + // Agrega una diapositiva vacía + presentation.Slides.AddEmptySlide(presentation.LayoutSlides[0]); - // Añade un autor - ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Jawad", "MF"); + // Agrega un autor + ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Jawad", "MF"); - // Establece la posición para los comentarios - PointF point = new PointF(); - point.X = 0.2f; - point.Y = 0.2f; + // Establece la posición para los comentarios + PointF point = new PointF(); + point.X = 0.2f; + point.Y = 0.2f; - // Añade un comentario en la diapositiva para un autor en la diapositiva 1 - author.Comments.AddComment("Hola Jawad, este es un comentario de la diapositiva", presentation.Slides[0], point, DateTime.Now); + // Agrega un comentario de diapositiva para un autor en la diapositiva 1 + author.Comments.AddComment("Hello Jawad, this is slide comment", presentation.Slides[0], point, DateTime.Now); - // Añade un comentario en la diapositiva para un autor en la diapositiva 2 - author.Comments.AddComment("Hola Jawad, este es el segundo comentario de la diapositiva", presentation.Slides[1], point, DateTime.Now); + // Agrega un comentario de diapositiva para un autor en la diapositiva 2 + author.Comments.AddComment("Hello Jawad, this is second slide comment", presentation.Slides[1], point, DateTime.Now); - // Accede a ISlide 1 - ISlide slide = presentation.Slides[0]; + // Accede a ISlide 1 + ISlide slide = presentation.Slides[0]; - // Cuando se pasa null como argumento, se traen los comentarios de todos los autores a la diapositiva seleccionada - IComment[] Comments = slide.GetSlideComments(author); + // Cuando se pasa null como argumento, se traen los comentarios de todos los autores a la diapositiva seleccionada + IComment[] Comments = slide.GetSlideComments(author); - // Accede al comentario en el índice 0 para la diapositiva 1 - String str = Comments[0].Text; + // Accede al comentario en el índice 0 de la diapositiva 1 + String str = Comments[0].Text; - presentation.Save("Comments_out.pptx", SaveFormat.Pptx); + presentation.Save("Comments_out.pptx", SaveFormat.Pptx); - if (Comments.GetLength(0) > 0) - { - // Selecciona la colección de comentarios del autor en el índice 0 - ICommentCollection commentCollection = Comments[0].Author.Comments; - String Comment = commentCollection[0].Text; + if (Comments.GetLength(0) > 0) + { + // Selecciona la colección de comentarios del autor en el índice 0 + ICommentCollection commentCollection = Comments[0].Author.Comments; + String Comment = commentCollection[0].Text; + } } -} ``` -## **Acceder a los Comentarios de la Diapositiva** -Este código C# te muestra cómo acceder a un comentario existente en una diapositiva en una presentación de PowerPoint: +## **Acceder a los comentarios de la diapositiva** +Este código C# le muestra cómo acceder a un comentario existente en una diapositiva de una presentación de PowerPoint: ```c# // Instancia la clase Presentation using (Presentation presentation = new Presentation("Comments1.pptx")) @@ -77,41 +76,41 @@ using (Presentation presentation = new Presentation("Comments1.pptx")) foreach (var comment1 in author.Comments) { var comment = (Comment) comment1; - Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " tiene el comentario: " + comment.Text + " con Autor: " + comment.Author.Name + " publicado en la hora :" + comment.CreatedTime + "\n"); + Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " has comment: " + comment.Text + " with Author: " + comment.Author.Name + " posted on time :" + comment.CreatedTime + "\n"); } } } ``` -## **Responder Comentarios** -Un comentario padre es el comentario principal u original en una jerarquía de comentarios o respuestas. Usando la propiedad [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) (de la interfaz [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)), puedes establecer o obtener un comentario padre. -Este código C# te muestra cómo añadir comentarios y obtener respuestas a ellos: +## **Responder a los comentarios** +Un comentario principal es el comentario superior u original en una jerarquía de comentarios o respuestas. Usando la propiedad [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) (de la interfaz [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)), puede establecer o obtener un comentario principal. +Este código C# le muestra cómo agregar comentarios y obtener sus respuestas: ```c# using (Presentation pres = new Presentation()) { // Añade un comentario ICommentAuthor author1 = pres.CommentAuthors.AddAuthor("Author_1", "A.A."); - IComment comment1 = author1.Comments.AddComment("comentario1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment1 = author1.Comments.AddComment("comment1", pres.Slides[0], new PointF(10, 10), DateTime.Now); // Añade una respuesta al comentario1 ICommentAuthor author2 = pres.CommentAuthors.AddAuthor("Autror_2", "B.B."); - IComment reply1 = author2.Comments.AddComment("respuesta 1 para el comentario 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply1 = author2.Comments.AddComment("reply 1 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply1.ParentComment = comment1; // Añade otra respuesta al comentario1 - IComment reply2 = author2.Comments.AddComment("respuesta 2 para el comentario 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply2 = author2.Comments.AddComment("reply 2 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply2.ParentComment = comment1; // Añade una respuesta a una respuesta existente - IComment subReply = author1.Comments.AddComment("subrespuesta 3 para la respuesta 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment subReply = author1.Comments.AddComment("subreply 3 for reply 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); subReply.ParentComment = reply2; - IComment comment2 = author2.Comments.AddComment("comentario 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment comment3 = author2.Comments.AddComment("comentario 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment2 = author2.Comments.AddComment("comment 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment3 = author2.Comments.AddComment("comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment reply3 = author1.Comments.AddComment("respuesta 4 para el comentario 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply3 = author1.Comments.AddComment("reply 4 for comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply3.ParentComment = comment3; // Muestra la jerarquía de comentarios en la consola @@ -132,44 +131,44 @@ using (Presentation pres = new Presentation()) pres.Save("parent_comment.pptx",SaveFormat.Pptx); - // Elimina comment1 y todas las respuestas a él + // Elimina el comentario1 y todas sus respuestas comment1.Remove(); pres.Save("remove_comment.pptx", SaveFormat.Pptx); } ``` -{{% alert color="warning" title="Atención" %}} -* Cuando se utiliza el método [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) (de la interfaz [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)) para eliminar un comentario, las respuestas al comentario también se eliminan. -* Si la configuración de [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) resulta en una referencia circular, se lanzará [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception). +{{% alert color="warning" title="Attention" %}} -{{% /alert %}} +* Cuando se usa el método [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) (de la interfaz [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)), las respuestas al comentario también se eliminan. +* Si la configuración de [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) produce una referencia circular, se lanzará [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception). -## **Añadir Comentario Moderno** +{{% /alert %}} -En 2021, Microsoft introdujo *comentarios modernos* en PowerPoint. La función de comentarios modernos mejora significativamente la colaboración en PowerPoint. A través de los comentarios modernos, los usuarios de PowerPoint pueden resolver comentarios, anclar comentarios a objetos y textos, y participar en interacciones de manera mucho más fácil que antes. +## **Agregar comentario moderno** -En [Aspose Slides para .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/), implementamos soporte para comentarios modernos al agregar la clase [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment). Se añadieron los métodos [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) y [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) a la clase [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection). +En 2021, Microsoft introdujo los *comentarios modernos* en PowerPoint. La función de comentarios modernos mejora significativamente la colaboración en PowerPoint. Gracias a los comentarios modernos, los usuarios de PowerPoint pueden resolver comentarios, anclar comentarios a objetos y textos, y participar en interacciones de forma mucho más sencilla que antes. -Este código C# te muestra cómo añadir un comentario moderno a una diapositiva en una presentación de PowerPoint: +En [Aspose Slides for .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/), implementamos compatibilidad con comentarios modernos añadiendo la clase [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment). Se añadieron los métodos [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) y [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) a la clase [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection). +Este código C# le muestra cómo agregar un comentario moderno a una diapositiva en una presentación de PowerPoint: ```c# using (Presentation pres = new Presentation()) { - ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("Algún Autor", "SA"); - IModernComment modernComment = newAuthor.Comments.AddModernComment("Este es un comentario moderno", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); + ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("Some Author", "SA"); + IModernComment modernComment = newAuthor.Comments.AddModernComment("This is a modern comment", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## **Eliminar Comentario** -### **Eliminar Todos los Comentarios y Autores** +## **Eliminar comentario** -Este código C# te muestra cómo eliminar todos los comentarios y autores en una presentación: +### **Eliminar todos los comentarios y autores** +Este código C# le muestra cómo eliminar todos los comentarios y autores en una presentación: ```c# using (var presentation = new Presentation("example.pptx")) { @@ -186,27 +185,27 @@ using (var presentation = new Presentation("example.pptx")) } ``` -### **Eliminar Comentarios Específicos** -Este código C# te muestra cómo eliminar comentarios específicos en una diapositiva: +### **Eliminar comentarios específicos** +Este código C# le muestra cómo eliminar comentarios específicos en una diapositiva: ```c# using (var presentation = new Presentation()) { ISlide slide = presentation.Slides[0]; // agregar comentarios... - ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Autor", "A"); - author.Comments.AddComment("comentario 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); - author.Comments.AddComment("comentario 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); + ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Author", "A"); + author.Comments.AddComment("comment 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); + author.Comments.AddComment("comment 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); - // eliminar todos los comentarios que contienen el texto "comentario 1" + // eliminar todos los comentarios que contienen el texto "comment 1" foreach (ICommentAuthor commentAuthor in presentation.CommentAuthors) { List toRemove = new List(); foreach (IComment comment in slide.GetSlideComments(commentAuthor)) { - if (comment.Text == "comentario 1") + if (comment.Text == "comment 1") { toRemove.Add(comment); } @@ -220,4 +219,19 @@ using (var presentation = new Presentation()) presentation.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Aspose.Slides admite un estado como 'resuelto' para los comentarios modernos?** + +Sí. Los [comentarios modernos](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/) exponen una propiedad [Status](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/status/); puede leer y establecer el [estado del comentario](https://reference.aspose.com/slides/net/aspose.slides/moderncommentstatus/) (por ejemplo, marcarlo como resuelto), y este estado se guarda en el archivo y es reconocido por PowerPoint. + +**¿Se admiten discusiones en hilo (cadenas de respuestas) y existe un límite de anidamiento?** + +Sí. Cada comentario puede referenciar su [comentario principal](https://reference.aspose.com/slides/net/aspose.slides/comment/parentcomment/), lo que permite cadenas de respuestas arbitrarias. La API no declara un límite específico de profundidad de anidamiento. + +**¿En qué sistema de coordenadas se define la posición del marcador de comentario en una diapositiva?** + +La posición se almacena como un punto de coma flotante en el sistema de coordenadas de la diapositiva. Esto le permite colocar el marcador de comentario exactamente donde lo necesita. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-blob/_index.md b/es/net/developer-guide/presentation-content/manage-blob/_index.md index 455ced1736..759f48bee9 100644 --- a/es/net/developer-guide/presentation-content/manage-blob/_index.md +++ b/es/net/developer-guide/presentation-content/manage-blob/_index.md @@ -1,58 +1,57 @@ --- -title: Gestionar Blob +title: Administrar Blob type: docs weight: 10 url: /es/net/manage-blob/ keywords: "Agregar blob, Exportar blob, Agregar imagen como blob, Presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Agregar blob a la presentación de PowerPoint en C# o .NET. Exportar blob. Agregar imagen como blob" +description: "Agregar blob a una presentación de PowerPoint en C# o .NET. Exportar blob. Agregar imagen como blob" --- ## **Acerca de BLOB** -**BLOB** (**Objeto Binario Grande**) es generalmente un elemento 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 .NET te permite usar BLOBs para objetos de una manera que reduce el consumo de memoria cuando hay archivos grandes involucrados. +Aspose.Slides para .NET le permite usar BLOBs para objetos de manera que reduzca el consumo de memoria cuando se manejan archivos grandes. ## **Usar BLOB para Reducir el Consumo de Memoria** -### **Agregar Archivo Grande a una Presentación a través de BLOB** +### **Agregar Archivo Grande mediante BLOB a una Presentación** -[Aspose.Slides](/slides/es/net/) para .NET te 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 C# te muestra cómo agregar un archivo de video grande a través del proceso BLOB a una presentación: +[Aspose.Slides](/slides/es/net/) para .NET le 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# le muestra cómo agregar un archivo de video grande mediante el proceso BLOB a una presentación: ```c# const string pathToVeryLargeVideo = "veryLargeVideo.avi"; -// Crea una nueva presentación a la que se añadirá el video +// Crea una nueva presentación a la que se agregará el video using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToVeryLargeVideo, FileMode.Open)) { - // Vamos a agregar el video a la presentación - elegimos el comportamiento KeepLocked porque no - // tenemos intención de acceder al archivo "veryLargeVideo.avi". + // Agreguemos el video a la presentación - elegimos el comportamiento KeepLocked porque + //no pretendemos acceder al archivo "veryLargeVideo.avi" file. IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddVideoFrame(0, 0, 480, 270, video); // Guarda la presentación. Mientras se genera una presentación grande, el consumo de memoria - // se mantiene bajo a lo largo del ciclo de vida del objeto pres. + // permanece bajo durante el ciclo de vida del objeto pres pres.Save("presentationWithLargeVideo.pptx", SaveFormat.Pptx); } } ``` -### **Exportar Archivo Grande a través de BLOB desde la Presentación** -Aspose.Slides para .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, puede que necesites extraer un archivo multimedia grande de una presentación pero no quieras que el archivo se cargue en la memoria de tu computadora. Al exportar el archivo a través del proceso BLOB, mantienes el consumo de memoria bajo. -Este código en C# demuestra la operación descrita: +### **Exportar Archivo Grande mediante BLOB desde una Presentación** +Aspose.Slides para .NET le 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, 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 C# demuestra la operación descrita: ```c# const string hugePresentationWithAudiosAndVideosFile = @"Large Video File Test1.pptx"; LoadOptions loadOptions = new LoadOptions { BlobManagementOptions = { - // Bloquea el archivo fuente y NO lo carga en memoria + // Bloquea el archivo origen y NO lo carga en memoria PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, } }; @@ -60,19 +59,19 @@ LoadOptions loadOptions = new LoadOptions // Crea una instancia de Presentation, bloquea el archivo "hugePresentationWithAudiosAndVideos.pptx". using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosFile, loadOptions)) { - // Vamos a guardar cada video en un archivo. Para prevenir un alto uso de memoria, necesitamos un búfer que será utilizado - // para transferir los datos desde el flujo de video de la presentación a un flujo para un archivo de video recién creado. + // Guardemos cada video en un archivo. Para evitar un alto uso de memoria, necesitamos un buffer que se utilizará + // para transferir los datos del stream de video de la presentación a un stream para un archivo de video recién creado. byte[] buffer = new byte[8 * 1024]; - // Itera a través de los videos + // Recorre los videos for (var index = 0; index < pres.Videos.Count; index++) { IVideo video = pres.Videos[index]; - // 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 un arreglo de bytes que contiene un video completo, lo que luego - // causa que los bytes se carguen en memoria. Usamos video.GetStream, que devolverá un Stream - y NO - // requiere que carguemos todo el video en la memoria. + // Abre el stream de video de la presentación. Por favor, note que intencionalmente evitamos acceder a propiedades + // como video.BinaryData - porque esta propiedad devuelve un arreglo de bytes que contiene el video completo, lo que entonces + // provoca que los bytes se carguen en memoria. Usamos video.GetStream, que devolverá un Stream - y NO + // requiere que carguemos el video completo en la memoria. using (Stream presVideoStream = video.GetStream()) { using (FileStream outputFileStream = File.OpenWrite($"video{index}.avi")) @@ -85,44 +84,44 @@ using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosF } } - // El consumo de memoria se mantendrá bajo independientemente del tamaño del video o de la presentación, + // El consumo de memoria permanecerá bajo sin importar el tamaño del video o de la presentación, } - // Si es necesario, puedes aplicar los mismos pasos para archivos de audio. + // Si es necesario, puede aplicar los mismos pasos para archivos de audio. } ``` -### **Agregar Imagen como BLOB en la Presentación** -Con métodos de la interfaz [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) y la clase [**ImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/imagecollection), puedes agregar una imagen grande como un flujo para que sea tratada como un BLOB. -Este código en C# te muestra cómo agregar una imagen grande a través del proceso BLOB: +### **Agregar Imagen como BLOB en la Presentación** +Con los métodos de la interfaz [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) y la clase [**ImageCollection** ](https://reference.aspose.com/slides/net/aspose.slides/imagecollection) puede agregar una imagen grande como flujo para que se trate como un BLOB. +Este código C# le muestra cómo agregar una imagen grande mediante el proceso BLOB: ```c# string pathToLargeImage = "large_image.jpg"; -// crea una nueva presentación a la que se añadirá la imagen. +// crea una nueva presentación a la que se agregará la imagen. using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToLargeImage, FileMode.Open)) { - // Vamos a agregar la imagen a la presentación - elegimos el comportamiento KeepLocked porque no - // tenemos intención de acceder al archivo "largeImage.png". + // Agreguemos la imagen a la presentación - elegimos el comportamiento KeepLocked porque + // NO pretendemos acceder al archivo "largeImage.png" file. IPPImage img = pres.Images.AddImage(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, 300, 200, img); // Guarda la presentación. Mientras se genera una presentación grande, el consumo de memoria - // se mantiene bajo a lo largo del ciclo de vida del objeto pres. + // se mantiene bajo durante el ciclo de vida del objeto pres pres.Save("presentationWithLargeImage.pptx", SaveFormat.Pptx); } } ``` -## **Memoria y Presentaciones Grandes** -Típicamente, para cargar una presentación grande, las computadoras requieren una gran cantidad de 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 ser utilizado. +## **Memoria y Presentaciones Grandes** -Considera una gran presentación 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 C#: +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 C#: ```c# using (Presentation pres = new Presentation("large.pptx")) { @@ -130,12 +129,12 @@ using (Presentation pres = new Presentation("large.pptx")) } ``` -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 alrededor de 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 C# 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** +A través del proceso que involucra un BLOB, puede cargar una presentación grande usando poca memoria. Este código C# describe la implementación donde se usa el proceso BLOB para cargar un archivo de presentación grande (large.pptx): ```c# LoadOptions loadOptions = new LoadOptions { @@ -152,10 +151,10 @@ using (Presentation pres = new Presentation("large.pptx", loadOptions)) } ``` -### **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 utilizando `TempFilesRootPath`: +### **Cambiar la Carpeta de 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 `TempFilesRootPath`: ```c# LoadOptions loadOptions = new LoadOptions { @@ -168,8 +167,31 @@ LoadOptions loadOptions = new LoadOptions }; ``` + {{% alert title="Info" color="info" %}} -Cuando utilizas `TempFilesRootPath`, Aspose.Slides no crea automáticamente una carpeta para almacenar archivos temporales. Debes crear la carpeta manualmente. +Al usar `TempFilesRootPath`, Aspose.Slides no crea automáticamente una carpeta para almacenar archivos temporales. Debe **crear** la carpeta manualmente. + +{{% /alert %}} + +## **FAQ** + +**¿Qué datos en una presentación de Aspose.Slides se tratan como BLOB y están controlados por las opciones de BLOB?** + +Objetos binarios grandes como imágenes, audio y video se tratan como BLOB. El archivo completo de la presentación también implica la gestión 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 durante la carga de la presentación?** + +Utilice [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) con [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/). Allí establece el límite en memoria para BLOB, permite o no archivos temporales, elige la ruta raíz para los archivos temporales y selecciona el comportamiento de bloqueo de la fuente. + +**¿Los ajustes de BLOB afectan el rendimiento y cómo equilibrar velocidad vs memoria?** + +Sí. Mantener BLOB en memoria maximiza la velocidad pero incrementa el consumo de RAM; reducir el límite de memoria desvía más trabajo a archivos temporales, reduciendo la RAM a costa de I/O adicional. Ajuste el umbral [MaxBlobsBytesInMemory](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/maxblobsbytesinmemory/) para lograr el equilibrio adecuado para su carga de trabajo y entorno. + +**¿Ayudan las opciones de BLOB al abrir presentaciones extremadamente grandes (por ejemplo, varios gigabytes)?** + +Sí. [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/) están diseñadas para esos escenarios: habilitar archivos temporales y usar bloqueo de fuente puede reducir significativamente el uso máximo de RAM y estabilizar el procesamiento de decks muy grandes. + +**¿Puedo usar políticas de BLOB al cargar desde streams en lugar de archivos en disco?** -{{% /alert %}} \ No newline at end of file +Sí. Las mismas reglas se aplican a los streams: la instancia de la presentación puede poseer y bloquear el stream de entrada (según el modo de bloqueo elegido), y se usan 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/net/developer-guide/presentation-content/manage-hyperlinks/_index.md b/es/net/developer-guide/presentation-content/manage-hyperlinks/_index.md index 1e20b30d4f..3418daffed 100644 --- a/es/net/developer-guide/presentation-content/manage-hyperlinks/_index.md +++ b/es/net/developer-guide/presentation-content/manage-hyperlinks/_index.md @@ -1,83 +1,82 @@ --- -title: Administrar Hipervínculos +title: Administrar hipervínculos type: docs weight: 20 url: /es/net/manage-hyperlinks/ keywords: "Agregar hipervínculo, Presentación de PowerPoint, Hipervínculo de PowerPoint, hipervínculo de texto, hipervínculo de diapositiva, hipervínculo de forma, hipervínculo de imagen, hipervínculo de video, .NET, C#, Csharp" -description: "Agregar hipervínculo a una Presentación de PowerPoint en C# o .NET" +description: "Agregar un hipervínculo a una presentación de PowerPoint en C# o .NET" --- -Un hipervínculo es una referencia a un objeto, dato o lugar en algo. Estos son hipervínculos comunes en las Presentaciones de PowerPoint: +Un hipervínculo es una referencia a un objeto, datos o a un lugar en algo. Estos son hipervínculos comunes en presentaciones de PowerPoint: * Enlaces a sitios web dentro de textos, formas o medios * Enlaces a diapositivas -Aspose.Slides para .NET te permite realizar muchas tareas que involucran hipervínculos en presentaciones. +Aspose.Slides para .NET le permite realizar muchas tareas relacionadas con hipervínculos en presentaciones. {{% alert color="primary" %}} -Puede que desees probar el sencillo y [gratuito editor de PowerPoint en línea de Aspose.](https://products.aspose.app/slides/editor) +Puede que desee probar Aspose simple, [editor en línea gratuito de PowerPoint.](https://products.aspose.app/slides/editor) {{% /alert %}} -## **Agregar Hipervínculos URL** +## **Agregar hipervínculos URL** -### **Agregar Hipervínculos URL a Textos** - -Este código C# muestra cómo agregar un hipervínculo a un sitio web a un texto: +### **Agregar hipervínculos URL a textos** +Este código C# le muestra cómo agregar un hipervínculo a un sitio web en un texto: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50, false); shape1.AddTextFrame("Aspose: File Format APIs"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "Más del 70% de las compañías Fortune 100 confían en las APIs de Aspose"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; presentation.Save("presentation-out.pptx", SaveFormat.Pptx); } ``` -### **Agregar Hipervínculos URL a Formas o Marcos** -Este código de muestra en C# muestra cómo agregar un hipervínculo a un sitio web a una forma: +### **Agregar hipervínculos URL a formas o marcos** +Este código de ejemplo en C# le muestra cómo agregar un hipervínculo a un sitio web en una forma: ```c# using (Presentation pres = new Presentation()) { IShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50); shape.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape.HyperlinkClick.Tooltip = "Más del 70% de las compañías Fortune 100 confían en las APIs de Aspose"; + shape.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -### **Agregar Hipervínculos URL a Medios** -Aspose.Slides te permite agregar hipervínculos a imágenes, archivos de audio y video. +### **Agregar hipervínculos URL a medios** -Este código de muestra muestra cómo agregar un hipervínculo a una **imagen**: +Aspose.Slides le permite agregar hipervínculos a imágenes, audio y archivos de video. +Este código de ejemplo le muestra cómo agregar un hipervínculo a una **imagen**: ```c# using (Presentation pres = new Presentation()) { - // Agrega una imagen a la presentación + // Agrega imagen a la presentación IPPImage image = pres.Images.AddImage(File.ReadAllBytes("image.png")); - // Crea un marco de imagen en la diapositiva 1 basado en la imagen previamente agregada + // Crea un marco de imagen en la diapositiva 1 basado en la imagen agregada previamente IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, image); pictureFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - pictureFrame.HyperlinkClick.Tooltip = "Más del 70% de las compañías Fortune 100 confían en las APIs de Aspose"; + pictureFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -Este código de muestra muestra cómo agregar un hipervínculo a un **archivo de audio**: + Este código de ejemplo le muestra cómo agregar un hipervínculo a un **archivo de audio**: ```c# using (Presentation pres = new Presentation()) { @@ -85,14 +84,14 @@ using (Presentation pres = new Presentation()) IAudioFrame audioFrame = pres.Slides[0].Shapes.AddAudioFrameEmbedded(10, 10, 100, 100, audio); audioFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - audioFrame.HyperlinkClick.Tooltip = "Más del 70% de las compañías Fortune 100 confían en las APIs de Aspose"; + audioFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -Este código de muestra muestra cómo agregar un hipervínculo a un **video**: + Este código de ejemplo le muestra cómo agregar un hipervínculo a un **video**: ``` csharp using (Presentation pres = new Presentation()) { @@ -100,25 +99,25 @@ using (Presentation pres = new Presentation()) IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 100, 100, video); videoFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - videoFrame.HyperlinkClick.Tooltip = "Más del 70% de las compañías Fortune 100 confían en las APIs de Aspose"; + videoFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Consejo" color="primary" %}} -Puede que desees ver *[Administrar OLE](https://docs.aspose.com/slides/net/manage-ole/)*. +{{% alert title="Tip" color="primary" %}} -{{% /alert %}} +Puede que desee ver *[Administrar OLE](https://docs.aspose.com/slides/net/manage-ole/)*. +{{% /alert %}} -## **Usar Hipervínculos para Crear Índices** -Dado que los hipervínculos te permiten agregar referencias a objetos o lugares, puedes usarlos para crear un índice. +## **Usar hipervínculos para crear tabla de contenido** -Este código de muestra muestra cómo crear un índice con hipervínculos: +Dado que los hipervínculos le permiten agregar referencias a objetos o lugares, puede utilizarlos para crear una tabla de contenido. +Este código de ejemplo le muestra cómo crear una tabla de contenido con hipervínculos: ```c# using (var presentation = new Presentation()) { @@ -133,10 +132,10 @@ using (var presentation = new Presentation()) var paragraph = new Paragraph(); paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - paragraph.Text = "Título de la diapositiva 2 .......... "; + paragraph.Text = "Title of slide 2 .......... "; var linkPortion = new Portion(); - linkPortion.Text = "Página 2"; + linkPortion.Text = "Page 2"; linkPortion.PortionFormat.HyperlinkManager.SetInternalHyperlinkClick(secondSlide); paragraph.Portions.Add(linkPortion); @@ -146,41 +145,41 @@ using (var presentation = new Presentation()) } ``` -## **Formatear Hipervínculos** -### **Color** +## **Formato de hipervínculos** -Con la propiedad [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource) en la interfaz [IHyperlink](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink), puedes establecer el color para los hipervínculos y también obtener la información de color de los hipervínculos. La función se introdujo por primera vez en PowerPoint 2019, por lo que los cambios que involucran la propiedad no se aplican a versiones anteriores de PowerPoint. +### **Color** -Este código de muestra demuestra una operación donde se agregaron hipervínculos con diferentes colores a la misma diapositiva: +Con la propiedad [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource) en la interfaz [IHyperlink](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink), puede establecer el color para los hipervínculos y también obtener la información del color de los hipervínculos. La característica se introdujo por primera vez en PowerPoint 2019, por lo que los cambios relacionados con la propiedad no se aplican a versiones anteriores de PowerPoint. +Este código de ejemplo demuestra una operación donde se agregaron hipervínculos con diferentes colores a la misma diapositiva: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 450, 50, false); - shape1.AddTextFrame("Este es un ejemplo de hipervínculo coloreado."); + shape1.AddTextFrame("This is a sample of colored hyperlink."); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.ColorSource = HyperlinkColorSource.PortionFormat; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.FillType = FillType.Solid; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.SolidFillColor.Color = Color.Red; IAutoShape shape2 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 450, 50, false); - shape2.AddTextFrame("Este es un ejemplo de hipervínculo habitual."); + shape2.AddTextFrame("This is a sample of usual hyperlink."); shape2.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); presentation.Save("presentation-out-hyperlink.pptx", SaveFormat.Pptx); } ``` + ### **Sonido** -Aspose.Slides proporciona estas propiedades para permitirte enfatizar un hipervínculo con un sonido: +Aspose.Slides proporciona estas propiedades para permitirle enfatizar un hipervínculo con un sonido: - [IHyperlink.Sound](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/sound) - [IHyperlink.StopSoundOnClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/stopsoundonclick) -#### **Agregar Sonido a Hipervínculo** - -Este código C# muestra cómo establecer el hipervínculo que reproduce un sonido y detenerlo con otro hipervínculo: +#### **Agregar sonido al hipervínculo** +Este código C# le muestra cómo establecer el hipervínculo que reproduce un sonido y detenerlo con otro hipervínculo: ```c# using (Presentation pres = new Presentation()) { @@ -189,11 +188,11 @@ using (Presentation pres = new Presentation()) ISlide firstSlide = pres.Slides[0]; - // Agrega nueva forma con el hipervínculo a la siguiente diapositiva + // Agrega una nueva forma con el hipervínculo a la siguiente diapositiva IShape firstShape = firstSlide.Shapes.AddAutoShape(ShapeType.SoundButton, 100, 100, 100, 50); firstShape.HyperlinkClick = Hyperlink.NextSlide; - // Verifica el hipervínculo para "Sin Sonido" + // Verifica el hipervínculo para "Sin sonido" if (!firstShape.HyperlinkClick.StopSoundOnClick && firstShape.HyperlinkClick.Sound == null) { // Establece el hipervínculo que reproduce sonido @@ -203,21 +202,21 @@ using (Presentation pres = new Presentation()) // Agrega la diapositiva vacía ISlide secondSlide = pres.Slides.AddEmptySlide(firstSlide.LayoutSlide); - // Agrega nueva forma con el hipervínculo sin acción + // Agrega una nueva forma con el hipervínculo NoAction IShape secondShape = secondSlide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 100, 50); secondShape.HyperlinkClick = Hyperlink.NoAction; - // Establece la marca del hipervínculo "Detener sonido anterior" + // Establece la bandera "Detener sonido anterior" del hipervínculo secondShape.HyperlinkClick.StopSoundOnClick = true; pres.Save("hyperlink-sound.pptx", SaveFormat.Pptx); } ``` -#### **Extraer Sonido de Hipervínculo** -Este código C# muestra cómo extraer el sonido utilizado en un hipervínculo: +#### **Extraer sonido del hipervínculo** +Este código C# le muestra cómo extraer el sonido usado en un hipervínculo: ```c# using (Presentation pres = new Presentation("hyperlink-sound.pptx")) { @@ -228,18 +227,18 @@ using (Presentation pres = new Presentation("hyperlink-sound.pptx")) if (link.Sound != null) { - // Extrae el sonido del hipervínculo en un array de bytes + // Extrae el sonido del hipervínculo en un arreglo de bytes byte[] audioData = link.Sound.BinaryData; } } ``` -## **Eliminar Hipervínculos en Presentaciones** -### **Eliminar Hipervínculos de Textos** +## **Eliminar hipervínculos en presentaciones** -Este código C# muestra cómo eliminar el hipervínculo de un texto en una diapositiva de presentación: +### **Eliminar hipervínculos de textos** +Este código C# le muestra cómo eliminar el hipervínculo de un texto en una diapositiva de presentación: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -263,10 +262,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **Eliminar Hipervínculos de Formas o Marcos** -Este código C# muestra cómo eliminar el hipervínculo de una forma en una diapositiva de presentación: +### **Eliminar hipervínculos de formas o marcos** +Este código C# le muestra cómo eliminar el hipervínculo de una forma en una diapositiva de presentación: ``` csharp using (Presentation pres = new Presentation("demo.pptx")) { @@ -279,17 +278,17 @@ using (Presentation pres = new Presentation("demo.pptx")) } ``` -## **Hipervínculo Mutable** -La clase [Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink) es mutable. Con esta clase, puedes cambiar los valores de estas propiedades: +## **Hipervínculo mutable** + +La clase [Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink) es mutable. Con esta clase, puede cambiar los valores de estas propiedades: - [IHyperlink.TargetFrame](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/targetframe) - [IHyperlink.Tooltip](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/tooltip) - [IHyperlink.History](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/history) - [IHyperlink.HighlightClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/highlightclick) -El fragmento de código muestra cómo agregar un hipervínculo a una diapositiva y editar su tooltip más tarde: - +El fragmento de código muestra cómo agregar un hipervínculo a una diapositiva y editar su información sobre herramienta posteriormente: ```c# using (Presentation presentation = new Presentation()) { @@ -299,7 +298,7 @@ using (Presentation presentation = new Presentation()) shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "Más del 70% de las compañías Fortune 100 confían en las APIs de Aspose"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; @@ -307,9 +306,10 @@ using (Presentation presentation = new Presentation()) } ``` -## **Propiedades Admitidas en IHyperlinkQueries** -Puedes acceder a IHyperlinkQueries desde una presentación, diapositiva o texto para el cual se ha definido el hipervínculo. +## **Propiedades compatibles en IHyperlinkQueries** + +Puede acceder a IHyperlinkQueries desde una presentación, diapositiva o texto para el cual está definido el hipervínculo. - [IPresentation.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/properties/hyperlinkqueries) - [IBaseSlide.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ibaseslide/properties/hyperlinkqueries) @@ -320,4 +320,18 @@ La clase IHyperlinkQueries admite estos métodos y propiedades: - [IHyperlinkQueries.GetHyperlinkClicks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkclicks) - [IHyperlinkQueries.GetHyperlinkMouseOvers();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkmouseovers) - [IHyperlinkQueries.GetAnyHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/getanyhyperlinks) -- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) \ No newline at end of file +- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) + +## **FAQ** + +**¿Cómo puedo crear una navegación interna no solo a una diapositiva, sino a una "sección" o a la primera diapositiva de una sección?** + +Las secciones en PowerPoint son agrupaciones de diapositivas; la navegación técnicamente apunta a una diapositiva específica. Para "navegar a una sección", normalmente se enlaza a su primera diapositiva. + +**¿Puedo adjuntar un hipervínculo a los elementos de la diapositiva maestra para que funcione en todas las diapositivas?** + +Sí. Los elementos de la diapositiva maestra y de diseño admiten hipervínculos. Dichos enlaces aparecen en las diapositivas hijas y son clicables durante la presentación. + +**¿Se conservarán los hipervínculos al exportar a PDF, HTML, imágenes o video?** + +En [PDF](/slides/es/net/convert-powerpoint-to-pdf/) y [HTML](/slides/es/net/convert-powerpoint-to-html/), sí—los enlaces generalmente se conservan. Al exportar a [imágenes](/slides/es/net/convert-powerpoint-to-png/) y [video](/slides/es/net/convert-powerpoint-to-video/), la capacidad de hacer clic no se mantendrá debido a la naturaleza de esos formatos (fotogramas rasterizados/video no admiten hipervínculos). \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md b/es/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md index 295f68d139..cbc177e9cb 100644 --- a/es/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md +++ b/es/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md @@ -1,64 +1,74 @@ --- -title: Audio Frame - Insertar y extraer audio en PowerPoint usando C# -linktitle: Audio Frame +title: Gestionar audio en presentaciones usando C# +linktitle: Marco de audio type: docs weight: 10 url: /es/net/audio-frame/ -keywords: "imagen en miniatura de audio, Añadir audio, Marco de audio, Propiedades de audio, Extraer audio, C#, Csharp, Aspose.Slides para .NET" -description: "Añadir audio a la presentación de PowerPoint en C# o .NET" +keywords: +- audio +- marco de audio +- miniatura +- agregar audio +- propiedades de audio +- opciones de audio +- extraer audio +- .NET +- C# +- Aspose.Slides +description: "Crear y controlar marcos de audio en Aspose.Slides para .NET—ejemplos en C# para incrustar, recortar, reproducir en bucle y configurar la reproducción en presentaciones PPT, PPTX y ODP." --- -## **Crear marco de audio** -Aspose.Slides para .NET te permite añadir archivos de audio a las diapositivas. Los archivos de audio se incrustan en las diapositivas como marcos de audio. +## **Crear marcos de audio** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtén la referencia de una diapositiva a través de su índice. -3. Carga el flujo del archivo de audio que deseas incrustar en la diapositiva. -4. Añade el marco de audio incrustado (que contiene el archivo de audio) a la diapositiva. -5. Establece el [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) y el `Volume` expuestos por el objeto [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe). -6. Guarda la presentación modificada. +Aspose.Slides para .NET le permite agregar archivos de audio a las diapositivas. Los archivos de audio se incrustan en las diapositivas como marcos de audio. -Este código C# te muestra cómo añadir un marco de audio incrustado a una diapositiva: +1. Crear una instancia de la clase [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)class. +2. Obtener la referencia de una diapositiva mediante su índice. +3. Cargar el flujo del archivo de audio que desea incrustar en la diapositiva. +4. Añadir el marco de audio incrustado (que contiene el archivo de audio) a la diapositiva. +5. Establecer [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) y `Volume` expuestos por el objeto [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe). +6. Guardar la presentación modificada. +Este código C# le muestra cómo añadir un marco de audio incrustado a una diapositiva: ```c# -// Instancia una clase de presentación que representa un archivo de presentación -using (Presentation pres = new Presentation()) -{ - // Obtiene la primera diapositiva - ISlide sld = pres.Slides[0]; - - // Carga el archivo de sonido wav en el flujo - FileStream fstr = new FileStream("sampleaudio.wav", FileMode.Open, FileAccess.Read); - - // Añade el marco de audio - IAudioFrame audioFrame = sld.Shapes.AddAudioFrameEmbedded(50, 150, 100, 100, fstr); - - // Establece el modo de reproducción y el volumen del audio - audioFrame.PlayMode = AudioPlayModePreset.Auto; - audioFrame.Volume = AudioVolumeMode.Loud; - - // Escribe el archivo de PowerPoint en el disco - pres.Save("AudioFrameEmbed_out.pptx", SaveFormat.Pptx); -} + // Instancia una clase de presentación que representa un archivo de presentación + using (Presentation pres = new Presentation()) + { + // Obtiene la primera diapositiva + ISlide sld = pres.Slides[0]; + + // Carga el archivo de sonido wav en un flujo + FileStream fstr = new FileStream("sampleaudio.wav", FileMode.Open, FileAccess.Read); + + // Añade el marco de audio + IAudioFrame audioFrame = sld.Shapes.AddAudioFrameEmbedded(50, 150, 100, 100, fstr); + + // Establece el modo de reproducción y el volumen del audio + audioFrame.PlayMode = AudioPlayModePreset.Auto; + audioFrame.Volume = AudioVolumeMode.Loud; + + // Escribe el archivo PowerPoint en disco + pres.Save("AudioFrameEmbed_out.pptx", SaveFormat.Pptx); + } ``` -## **Cambiar la miniatura del marco de audio** -Cuando añades un archivo de audio a una presentación, el audio aparece como un marco con una imagen estándar por defecto (ve la imagen en la sección a continuación). Puedes cambiar la miniatura del marco de audio (establece tu imagen preferida). +## **Cambiar miniatura del marco de audio** -Este código C# te muestra cómo cambiar la miniatura o la imagen de vista previa de un marco de audio: +Cuando agrega un archivo de audio a una presentación, el audio aparece como un marco con una imagen predeterminada estándar (ver la imagen en la sección siguiente). Puede cambiar la miniatura del marco de audio (establecer su imagen preferida). +Este código C# le muestra cómo cambiar la miniatura o la imagen de vista previa de un marco de audio: ```c# using (var presentation = new Presentation()) { var slide = presentation.Slides[0]; - // Añade un marco de audio a la diapositiva con una posición y tamaño especificados. + // Agrega un marco de audio a la diapositiva con una posición y tamaño especificados. var audioStream = new FileStream("sample2.mp3", FileMode.Open, FileAccess.Read); var audioFrame = slide.Shapes.AddAudioFrameEmbedded(150, 100, 50, 50, audioStream); audioStream.Dispose(); - // Añade una imagen a los recursos de presentación. + // Agrega una imagen a los recursos de la presentación. var imageStream = File.OpenRead("eagle.jpeg"); var audioImage = presentation.Images.AddImage(imageStream); imageStream.Dispose(); @@ -66,89 +76,154 @@ using (var presentation = new Presentation()) // Establece la imagen para el marco de audio. audioFrame.PictureFormat.Picture.Image = audioImage; // <----- - // Guarda la presentación modificada en el disco + //Guarda la presentación modificada en disco presentation.Save("example_out.pptx", SaveFormat.Pptx); } ``` + ## **Cambiar opciones de reproducción de audio** -Aspose.Slides para .NET te permite cambiar opciones que controlan la reproducción o propiedades de un audio. Por ejemplo, puedes ajustar el volumen de un audio, establecer la reproducción en bucle o incluso ocultar el icono del audio. +Aspose.Slides para .NET le permite cambiar opciones que controlan la reproducción o las propiedades de un audio. Por ejemplo, puede ajustar el volumen del audio, establecer que el audio se reproduzca en bucle o incluso ocultar el ícono de audio. -El panel de **Opciones de audio** en Microsoft PowerPoint: +El panel **Audio Options** en Microsoft PowerPoint: ![example1_image](audio_frame_0.png) -Opciones de audio de PowerPoint que corresponden a las propiedades de [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe): +PowerPoint **Audio Options** que corresponden a las propiedades de Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe): -- El menú desplegable de opciones de audio **Inicio** coincide con la propiedad [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode) -- Las opciones de audio **Volumen** coinciden con la propiedad [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume) -- Las opciones de audio **Reproducir entre diapositivas** coinciden con la propiedad [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides) -- Las opciones de audio **Repetir hasta detener** coinciden con la propiedad [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode) -- Las opciones de audio **Ocultar durante la presentación** coinciden con la propiedad [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing) -- Las opciones de audio **Rebobinar después de reproducir** coinciden con la propiedad [AudioFrame.RewindAudio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio) +- **Start** el menú desplegable coincide con la propiedad [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode) +- **Volume** coincide con la propiedad [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume) +- **Play Across Slides** coincide con la propiedad [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides) +- **Loop until Stopped** coincide con la propiedad [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode) +- **Hide During Show** coincide con la propiedad [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing) +- **Rewind after Playing** coincide con la propiedad [AudioFrame.RewindAudio ](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio) -Así es como cambias las opciones de reproducción de audio: +Opciones de **Editing** de PowerPoint que corresponden a las propiedades de Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe): -1. [Crear](#create-audio-frame) o obtener el marco de audio. -2. Establece nuevos valores para las propiedades del marco de audio que deseas ajustar. -3. Guarda el archivo de PowerPoint modificado. +- **Fade In** coincide con la propiedad [AudioFrame.FadeInDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeinduration/) +- **Fade Out** coincide con la propiedad [AudioFrame.FadeOutDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeoutduration/) +- **Trim Audio Start Time** coincide con la propiedad [AudioFrame.TrimFromStart](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromstart/) +- **Trim Audio End Time** el valor equivale a la duración del audio menos el valor de la propiedad [AudioFrame.TrimFromEnd](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromend/) -Este código C# demuestra una operación en la que se ajustan las opciones de un audio: +El **Volume controll** de PowerPoint en el panel de control de audio corresponde a la propiedad [AudioFrame.VolumeValue](https://reference.aspose.com/slides/net/aspose.slides/audioframe/volumevalue/) . Permite cambiar el volumen del audio como porcentaje. + +Así es como cambia las opciones de reproducción de audio: + +1. [Crear](#create-audio-frame) o obtener el Marco de audio. +2. Establecer nuevos valores para las propiedades del Marco de audio que desea ajustar. +3. Guardar el archivo PowerPoint modificado. -```csharp +Este código C# demuestra una operación en la que se ajustan las opciones de un audio: +``` csharp using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) { // Obtiene la forma AudioFrame AudioFrame audioFrame = (AudioFrame)pres.Slides[0].Shapes[0]; - // Establece el modo de reproducción para que se reproduzca al hacer clic + // Establece el modo de reproducción para reproducir al hacer clic audioFrame.PlayMode = AudioPlayModePreset.OnClick; - // Establece el volumen en bajo + // Establece el volumen a Bajo audioFrame.Volume = AudioVolumeMode.Low; - // Establece el audio para reproducirse entre diapositivas + // Configura el audio para reproducirse a través de diapositivas audioFrame.PlayAcrossSlides = true; // Desactiva el bucle para el audio audioFrame.PlayLoopMode = false; - // Oculta el AudioFrame durante la presentación de diapositivas + // Oculta el AudioFrame durante la presentación audioFrame.HideAtShowing = true; // Rebobina el audio al inicio después de reproducir audioFrame.RewindAudio = true; - // Guarda el archivo de PowerPoint en el disco + // Guarda el archivo PowerPoint en disco pres.Save("AudioFrameEmbed_changed.pptx", SaveFormat.Pptx); } ``` + +Este ejemplo C# muestra cómo añadir un nuevo marco de audio con audio incrustado, recortarlo y establecer las duraciones de fundido: +```c# +using (Presentation pres = new Presentation()) +{ + ISlide slide = pres.Slides[0]; + + byte[] audioData = File.ReadAllBytes("sampleaudio.mp3"); + IAudio audio = pres.Audios.AddAudio(audioData); + IAudioFrame audioFrame = slide.Shapes.AddAudioFrameEmbedded(50, 50, 100, 100, audio); + + // Establece el desplazamiento inicial del recorte a 1.5 segundos + audioFrame.TrimFromStart = 1500f; + // Establece el desplazamiento final del recorte a 2 segundos + audioFrame.TrimFromEnd = 2000f; + + // Establece la duración del fundido de entrada a 200 ms + audioFrame.FadeInDuration = 200f; + // Establece la duración del fundido de salida a 500 ms + audioFrame.FadeOutDuration = 500f; + + pres.Save("AudioFrameTrimFade_out.pptx", SaveFormat.Pptx); +} +``` + + +El siguiente fragmento de código muestra cómo recuperar un marco de audio con audio incrustado y establecer su volumen al 85%: +```c# +using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) +{ + // Obtiene la forma del marco de audio + IAudioFrame audioFrame = (IAudioFrame)pres.Slides[0].Shapes[0]; + + // Establece el volumen del audio al 85% + audioFrame.VolumeValue = 85f; + + pres.Save("AudioFrameValue_out.pptx", SaveFormat.Pptx); +} +``` + + ## **Extraer audio** -Aspose.Slides para .NET te permite extraer el sonido utilizado en las transiciones de la presentación. Por ejemplo, puedes extraer el sonido utilizado en una diapositiva específica. -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) y carga la presentación que contiene el audio. -2. Obtén la referencia de la diapositiva relevante a través de su índice. -3. Accede a las transiciones de presentación para la diapositiva. -4. Extrae el sonido en datos de bytes. +Aspose.Slides para .NET le permite extraer el sonido utilizado en las transiciones de presentación de diapositivas. Por ejemplo, puede extraer el sonido usado en una diapositiva específica. -Este código C# te muestra cómo extraer el audio utilizado en una diapositiva: +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) y cargar la presentación que contiene el audio. +2. Obtener la referencia de la diapositiva correspondiente mediante su índice. +3. Acceder a las transiciones de la presentación para la diapositiva. +4. Extraer el sonido en datos de bytes. +Este código C# le muestra cómo extraer el audio usado en una diapositiva: ```c# string presName = "AudioSlide.pptx"; -// Instancia una clase de presentación que representa un archivo de presentación +// Instancia una clase Presentation que representa un archivo de presentación Presentation pres = new Presentation(presName); // Accede a la diapositiva ISlide slide = pres.Slides[0]; -// Obtiene los efectos de transición de presentación para la diapositiva +// Obtiene los efectos de transición de la presentación para la diapositiva ISlideShowTransition transition = slide.SlideShowTransition; -// Extrae el sonido en un arreglo de bytes +//Extrae el sonido en un arreglo de bytes byte[] audio = transition.Sound.BinaryData; -System.Console.WriteLine("Longitud: " + audio.Length); -``` \ No newline at end of file +System.Console.WriteLine("Length: " + audio.Length); +``` + + +## **Preguntas frecuentes** + +**¿Puedo reutilizar el mismo recurso de audio en varias diapositivas sin inflar el tamaño del archivo?** + +Sí. Añada el audio una vez a la presentación shared [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) y cree marcos de audio adicionales que hagan referencia a ese recurso existente. Esto evita duplicar los datos multimedia y mantiene el tamaño de la presentación bajo control. + +**¿Puedo reemplazar el sonido en un marco de audio existente sin recrear la forma?** + +Sí. Para un sonido vinculado, actualice la [link path](https://reference.aspose.com/slides/net/aspose.slides/audioframe/linkpathlong/) para que apunte al nuevo archivo. Para un sonido incrustado, reemplace el objeto [embedded audio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/embeddedaudio/) por otro de la presentación [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/). El formato del marco y la mayoría de los ajustes de reproducción permanecen intactos. + +**¿El recorte cambia los datos de audio subyacentes almacenados en la presentación?** + +No. El recorte sólo ajusta los límites de reproducción. Los bytes originales del audio permanecen sin modificaciones y accesibles a través del audio incrustado o la colección de audio de la presentación. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-media-files/flash/_index.md b/es/net/developer-guide/presentation-content/manage-media-files/flash/_index.md index 3326ac8941..b58b0c0269 100644 --- a/es/net/developer-guide/presentation-content/manage-media-files/flash/_index.md +++ b/es/net/developer-guide/presentation-content/manage-media-files/flash/_index.md @@ -3,13 +3,12 @@ title: Flash type: docs weight: 10 url: /es/net/flash/ -keywords: "Extraer flash, presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Extraer objeto flash de la presentación de PowerPoint en C# o .NET" +keywords: "Extraer flash, presentación PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Extraer objeto flash de una presentación PowerPoint en C# o .NET" --- -## **Extraer Objetos Flash de la Presentación** -Aspose.Slides para .NET proporciona una herramienta para extraer objetos flash de la presentación. Puedes acceder al control flash por nombre y extraerlo de la presentación, incluyendo almacenar los datos del objeto SWF. - +## **Extraer objetos Flash de la presentación** +Aspose.Slides for .NET provee una funcionalidad para extraer objetos flash de la presentación. Puede acceder al control flash por nombre y extraerlo de la presentación, incluyendo el almacenamiento de datos de objetos SWF. ```c# using (Presentation pres = new Presentation("withFlash.pptm")) { @@ -23,4 +22,23 @@ using (Presentation pres = new Presentation("withFlash.pptm")) } } } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Qué formatos de presentación son compatibles al extraer contenido Flash?** + +[Aspose.Slides admite](/slides/es/net/supported-file-formats/) los principales formatos de PowerPoint, como PPT y PPTX, ya que puede cargar estos contenedores y acceder a sus controles, incluidos los elementos ActiveX relacionados con Flash. + +**¿Puedo convertir una presentación con Flash a HTML5 y conservar la interactividad de Flash?** + +No. Aspose.Slides no ejecuta contenido SWF ni convierte su interactividad. Aunque la exportación a [HTML](/slides/es/net/convert-powerpoint-to-html/)/[HTML5](/slides/es/net/export-to-html5/) es compatible, Flash no se reproducirá en los navegadores modernos debido al fin de su soporte. La ruta recomendada es reemplazar Flash por alternativas como video o animaciones HTML5 antes de la exportación. + +**Desde una perspectiva de seguridad, ¿Aspose.Slides ejecuta archivos SWF al leer una presentación?** + +No. Aspose.Slides trata Flash como datos binarios incrustados en el archivo y no ejecuta contenido SWF durante el procesamiento. + +**¿Cómo debo manejar presentaciones que incluyen Flash junto con otros archivos incrustados mediante OLE?** + +Aspose.Slides admite [extraer objetos OLE incrustados](/slides/es/net/manage-ole/), por lo que puede procesar todo el contenido incrustado relacionado en una sola pasada, manejando controles Flash y otros documentos incrustados mediante OLE juntos. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-media-files/image/_index.md b/es/net/developer-guide/presentation-content/manage-media-files/image/_index.md index b5a2c4d2a9..78339d1c4b 100644 --- a/es/net/developer-guide/presentation-content/manage-media-files/image/_index.md +++ b/es/net/developer-guide/presentation-content/manage-media-files/image/_index.md @@ -3,23 +3,42 @@ title: Imagen type: docs weight: 10 url: /es/net/image/ -keywords: "Agregar imagen, Agregar foto, presentación de PowerPoint, EMF, SVG, C#, Csharp, Aspose.Slides para .NET" -description: "Agregar imagen a una diapositiva o presentación de PowerPoint en C# o .NET" +keywords: +- agregar imagen +- agregar foto +- agregar mapa de bits +- reemplazar imagen +- reemplazar foto +- desde web +- fondo +- agregar PNG +- agregar JPG +- agregar SVG +- agregar EMF +- agregar WMF +- agregar TIFF +- PowerPoint +- OpenDocument +- presentación +- .NET +- C# +- Aspose.Slides +description: "Optimiza la gestión de imágenes en PowerPoint y OpenDocument con Aspose.Slides para .NET, mejorando el rendimiento y automatizando tu flujo de trabajo." --- -## **Imágenes en Diapositivas de Presentaciones** +## **Imágenes en Diapositivas en Presentaciones** -Las imágenes hacen que las presentaciones sean más atractivas e interesantes. En Microsoft PowerPoint, puedes insertar imágenes desde un archivo, internet u otras ubicaciones en las diapositivas. De manera similar, Aspose.Slides te permite agregar imágenes a las diapositivas de tus presentaciones a través de diferentes procedimientos. +Las imágenes hacen que las presentaciones sean más atractivas e interesantes. En Microsoft PowerPoint, puedes insertar imágenes desde un archivo, internet u otras ubicaciones en las diapositivas. De manera similar, Aspose.Slides permite agregar imágenes a las diapositivas en tus presentaciones mediante diferentes procedimientos. -{{% alert title="Consejo" color="primary" %}} +{{% alert title="Consejo" color="primary" %}} -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. +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 permiten a las personas crear presentaciones rápidamente a partir de imágenes. {{% /alert %}} {{% alert title="Información" color="info" %}} -Si deseas agregar una imagen como un objeto de marco—especialmente si planeas usar opciones de formato estándar en ella para cambiar su tamaño, agregar efectos, etc.—consulta [Marco de Imagen](https://docs.aspose.com/slides/net/picture-frame/). +Si deseas agregar una imagen como objeto de marco—especialmente si planeas usar opciones de formato estándar en ella para cambiar su tamaño, agregar efectos, etc.—consulta [Picture Frame](https://docs.aspose.com/slides/net/picture-frame/). {{% /alert %}} @@ -29,12 +48,11 @@ Puedes manipular operaciones de entrada/salida que involucren imágenes y presen {{% /alert %}} -Aspose.Slides soporta operaciones con imágenes en estos formatos populares: JPEG, PNG, BMP, GIF y otros. +Aspose.Slides admite operaciones con imágenes en estos formatos populares: JPEG, PNG, BMP, GIF y otros. -## **Agregando Imágenes Almacenadas Localmente a Diapositivas** - -Puedes agregar una o varias imágenes en tu computadora a una diapositiva en una presentación. Este código de ejemplo en C# te muestra cómo agregar una imagen a una diapositiva: +## **Agregar Imágenes Almacenadas Localmente a Diapositivas** +Puedes agregar una o varias imágenes de tu computadora a una diapositiva en una presentación. Este código de ejemplo en C# muestra cómo agregar una imagen a una diapositiva: ```c# using (Presentation pres = new Presentation()) { @@ -46,12 +64,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Agregando Imágenes Desde la Web a Diapositivas** -Si la imagen que deseas agregar a una diapositiva no está disponible en tu computadora, puedes agregar la imagen directamente desde la web. +## **Agregar Imágenes Desde la Web a Diapositivas** -Este código de ejemplo te muestra cómo agregar una imagen de la web a una diapositiva en C#: +Si la imagen que deseas agregar a una diapositiva no está disponible en tu computadora, puedes agregarla directamente desde la web. +Este código de ejemplo muestra cómo agregar una imagen desde la web a una diapositiva en C#: ```c# using (Presentation pres = new Presentation()) { @@ -70,12 +88,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Agregando Imágenes a Diseños de Diapositiva** -Un diseño de diapositiva es la diapositiva superior que almacena y controla la información (tema, diseño, etc.) sobre todas las diapositivas que están bajo ella. Entonces, cuando agregas una imagen a un diseño de diapositiva, esa imagen aparece en cada diapositiva bajo ese diseño. +## **Agregar Imágenes a los Master de Diapositivas** -Este código de ejemplo en C# te muestra cómo agregar una imagen a un diseño de diapositiva: +Un maestro de diapositiva es la diapositiva principal que almacena y controla información (tema, diseño, etc.) sobre todas las diapositivas bajo él. Por lo tanto, cuando agregas una imagen a un maestro de diapositiva, esa imagen aparece en cada diapositiva bajo ese maestro. +Este código de ejemplo en C# muestra cómo agregar una imagen a un maestro de diapositiva: ```c# using (Presentation pres = new Presentation()) { @@ -89,25 +107,26 @@ using (Presentation pres = new Presentation()) } ``` -## **Agregando Imágenes como Fondo de Diapositiva** -Puedes decidir usar una imagen como el fondo de una diapositiva específica o varias diapositivas. En ese caso, debes consultar *[Configuración de Imágenes como Fondos para Diapositivas](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*. +## **Agregar Imágenes como Fondo de Diapositiva** + +Puede decidir usar una imagen como fondo para una diapositiva específica o varias diapositivas. En ese caso, debes consultar *[Setting Images as Backgrounds for Slides](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*. -## **Agregando SVG a Presentaciones** -Puedes agregar o insertar cualquier imagen en una presentación utilizando el método [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe) que pertenece a la interfaz [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +## **Agregar SVG a Presentaciones** +Puedes agregar o insertar cualquier imagen en una presentación usando el método [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe) que pertenece a la interfaz [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). Para crear un objeto de imagen basado en una imagen SVG, puedes hacerlo de esta manera: -1. Crear un objeto SvgImage para insertarlo en ImageShapeCollection. -2. Crear un objeto PPImage a partir de ISvgImage. -3. Crear un objeto PictureFrame utilizando la interfaz IPPImage. +1. Crear un objeto SvgImage para insertarlo en ImageShapeCollection +2. Crear un objeto PPImage a partir de ISvgImage +3. Crear un objeto PictureFrame usando la interfaz IPPImage -Este código de ejemplo te muestra cómo implementar los pasos anteriores para agregar una imagen SVG en una presentación: -``` csharp +Este código de ejemplo muestra cómo implementar los pasos anteriores para agregar una imagen SVG a una presentación: +```csharp // La ruta al directorio de documentos string dataDir = @"D:\Documents\"; -// Nombre del archivo SVG fuente +// Nombre del archivo SVG de origen string svgFileName = dataDir + "sample.svg"; // Nombre del archivo de presentación de salida @@ -128,26 +147,25 @@ using (var p = new Presentation()) // Crear un nuevo PictureFrame p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 200, 100, ppImage.Width, ppImage.Height, ppImage); - // Guardar presentación en formato PPTX + // Guardar la presentación en formato PPTX p.Save(outPptxPath, SaveFormat.Pptx); } ``` -## **Convirtiendo SVG a un Conjunto de Formas** -La conversión de SVG a un conjunto de formas en Aspose.Slides es similar a la funcionalidad de PowerPoint utilizada para trabajar con imágenes SVG: - -![Menú Emergente de PowerPoint](img_01_01.png) +## **Convertir SVG a un Conjunto de Formas** +La conversión de SVG a un conjunto de formas en Aspose.Slides es similar a la funcionalidad de PowerPoint utilizada para trabajar con imágenes SVG: -La funcionalidad es proporcionada por uno de los sobrecargas del método [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) de la interfaz [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) que toma un objeto [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) como primer argumento. +![PowerPoint Popup Menu](img_01_01.png) -Este código de ejemplo te muestra cómo usar el método descrito para convertir un archivo SVG a un conjunto de formas: +La funcionalidad la proporciona una de las sobrecargas del método [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) de la interfaz [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) que toma un objeto [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) como primer argumento. -``` csharp +Este código de ejemplo muestra cómo usar el método descrito para convertir un archivo SVG a un conjunto de formas: +```csharp // La ruta al directorio de documentos string dataDir = @"D:\Documents\"; -// Nombre del archivo SVG fuente +// Nombre del archivo SVG de origen string svgFileName = dataDir + "sample.svg"; // Nombre del archivo de presentación de salida @@ -162,22 +180,22 @@ using (IPresentation presentation = new Presentation()) // Crear objeto SvgImage ISvgImage svgImage = new SvgImage(svgContent); - // Obtener tamaño de diapositiva + // Obtener el tamaño de la diapositiva SizeF slideSize = presentation.SlideSize.Size; - // Convertir imagen SVG a grupo de formas escalándola al tamaño de la diapositiva + // Convertir la imagen SVG a un grupo de formas escalándola al tamaño de la diapositiva presentation.Slides[0].Shapes.AddGroupShape(svgImage, 0f, 0f, slideSize.Width, slideSize.Height); - // Guardar presentación en formato PPTX + // Guardar la presentación en formato PPTX presentation.Save(outPptxPath, SaveFormat.Pptx); } ``` -## **Agregando Imágenes como EMF en Diapositivas** -Aspose.Slides para .NET te permite generar imágenes EMF desde hojas de Excel y agregar las imágenes como EMF en diapositivas con Aspose.Cells.  -Este código de ejemplo te muestra cómo realizar la tarea descrita: +## **Agregar Imágenes como EMF en Diapositivas** +Aspose.Slides for .NET permite generar imágenes EMF a partir de hojas de Excel y agregar las imágenes como EMF en diapositivas con Aspose.Cells. +Este código de ejemplo muestra cómo realizar la tarea descrita: ``` csharp using (Workbook book = new Workbook(dataDir + "chart.xlsx")) { @@ -187,7 +205,7 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) options.VerticalResolution = 200; options.ImageFormat = System.Drawing.Imaging.ImageFormat.Emf; - //Guardar el libro en un flujo + //Guardar el libro de trabajo en el flujo SheetRender sr = new SheetRender(sheet, options); using (Presentation pres = new Presentation()) { @@ -210,8 +228,64 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) } ``` + +## **Reemplazar Imágenes en la Colección de Imágenes** + +Aspose.Slides permite reemplazar imágenes almacenadas en la colección de imágenes de una presentación (incluidas las usadas por formas de diapositivas). Esta sección muestra varios enfoques para actualizar imágenes en la colección. La API ofrece métodos sencillos para reemplazar una imagen usando datos de bytes sin procesar, una instancia [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) o otra imagen que ya exista en la colección. + +1. Cargar el archivo de presentación que contiene imágenes usando la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +2. Cargar una nueva imagen desde un archivo en un arreglo de bytes. +3. Reemplazar la imagen objetivo con la nueva imagen usando el arreglo de bytes. +4. En el segundo enfoque, cargar la imagen en un objeto [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) y reemplazar la imagen objetivo con ese objeto. +5. En el tercer enfoque, reemplazar la imagen objetivo con una imagen que ya exista en la colección de imágenes de la presentación. +Guardar la presentación modificada como un archivo PPTX. +```cs +// Instanciar la clase Presentation que representa un archivo de presentación. +using Presentation presentation = new Presentation("sample.pptx"); + +// La primera forma. +byte[] imageData = File.ReadAllBytes("image0.jpeg"); +IPPImage oldImage = presentation.Images[0]; +oldImage.ReplaceImage(imageData); + +// La segunda forma. +using IImage newImage = Images.FromFile("image1.png"); +oldImage = presentation.Images[1]; +oldImage.ReplaceImage(newImage); + +// La tercera forma. +oldImage = presentation.Images[2]; +oldImage.ReplaceImage(presentation.Images[3]); + +// Guardar la presentación en un archivo. +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + {{% alert title="Información" color="info" %}} -Usando el convertidor gratuito de Aspose [Texto a GIF](https://products.aspose.app/slides/text-to-gif), puedes animar fácilmente textos, crear GIFs a partir de textos, etc. +Usando el conversor GRATUITO de Aspose [Text to GIF](https://products.aspose.app/slides/text-to-gif) puedes animar fácilmente textos, crear GIFs a partir de textos, etc. + +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Se mantiene intacta la resolución original de la imagen después de la inserción?** + +Sí. Los píxeles originales se conservan, pero la apariencia final depende de cómo se escale la [picture](/slides/es/net/picture-frame/) en la diapositiva y de cualquier compresión aplicada al guardar. + +**¿Cuál es la mejor manera de reemplazar el mismo logotipo en docenas de diapositivas a la vez?** + +Coloca el logotipo en la diapositiva maestra o en una plantilla y reemplázalo en la colección de imágenes de la presentación; las actualizaciones se propagarán a todos los elementos que usen ese recurso. + +**¿Puede un SVG insertado convertirse en formas editables?** + +Sí. Puedes convertir un SVG en un grupo de formas, tras lo cual las partes individuales se vuelven editables con las propiedades estándar de forma. + +**¿Cómo puedo establecer una imagen como fondo para varias diapositivas a la vez?** + +[Asignar la imagen como fondo](/slides/es/net/presentation-background/) en la diapositiva maestra o en el diseño correspondiente; cualquier diapositiva que use esa maestra/diseño heredará el fondo. + +**¿Cómo evito que la presentación "infle" de tamaño debido a muchas imágenes?** -{{% /alert %}} \ No newline at end of file +Reutiliza un único recurso de imagen en lugar de duplicados, elige resoluciones razonables, aplica compresión al guardar y mantén los gráficos repetidos en la maestra cuando sea apropiado. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/es/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index 979ee78964..804d1bb861 100644 --- a/es/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/es/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -1,45 +1,46 @@ --- -title: Marco de Imagen +title: Marco de imagen type: docs weight: 10 url: /es/net/picture-frame/ -keywords: -- agregar marco de imagen -- crear marco de imagen -- agregar imagen -- crear imagen -- extraer imagen +keywords: +- marco de imagen +- agregar un marco de imagen +- crear un marco de imagen +- agregar una imagen +- crear una imagen +- extraer una imagen +- recortar una imagen - propiedad StretchOff -- formato de marco de imagen +- formateo de marco de imagen - propiedades del marco de imagen -- presentación de PowerPoint +- efecto de imagen +- relación de aspecto +- PowerPoint +- presentación - C# - Csharp -- Aspose.Slides para .NET -description: "Agrega un marco de imagen a la presentación de PowerPoint en C# o .NET" +- Aspose.Slides for .NET +description: "Agregar un marco de imagen a una presentación de PowerPoint en C# o .NET" --- -Un marco de imagen es una forma que contiene una imagen; es como una imagen en un marco. +Un marco de imagen es una forma que contiene una imagen—es como una foto en un marco. -Puedes agregar una imagen a una diapositiva a través de un marco de imagen. De esta manera, puedes dar formato a la imagen formateando el marco de imagen. - -{{% alert title="Consejo" color="primary" %}} - -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. +Puede agregar una imagen a una diapositiva a través de un marco de imagen. De esta manera, puede dar formato a la imagen formateando el marco de imagen. +{{% alert title="Tip" color="primary" %}} +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. {{% /alert %}} -## **Crear Marco de Imagen** - -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/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/net/aspose.slides/ippimage) agregando una imagen a la colección [IImages](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) asociada con el objeto de presentación que se utilizará para llenar la forma. -4. Especifica la anchura y la altura de la imagen. -5. Crea un [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) basado en la anchura 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 (contiene la imagen) a la diapositiva. -7. Escribe la presentación modificada como un archivo PPTX. +## **Crear marco de imagen** -Este código C# te muestra cómo crear un marco de imagen: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Obtenga la referencia de una diapositiva mediante su índice. +3. Cree un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) añadiendo una imagen a la [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) asociada con el objeto presentation que se utilizará para rellenar la forma. +4. Especifique el ancho y la altura de la imagen. +5. Cree un [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) basado en el ancho y la altura de la imagen mediante el método `AddPictureFrame` expuesto por el objeto shape asociado a la diapositiva referenciada. +6. Agregue un marco de imagen (que contiene la foto) a la diapositiva. +7. Guarde la presentación modificada como un archivo PPTX. ```c# // Instancia la clase Presentation que representa un archivo PPTX @@ -53,38 +54,33 @@ using (Presentation pres = new Presentation()) IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // Agrega un marco de imagen con la misma altura y anchura + // Agrega un marco de imagen con la misma altura y ancho IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // Aplica algún formato al marco de imagen + // Aplica algo de formato al marco de imagen pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; pictureFrame.LineFormat.Width = 20; pictureFrame.Rotation = 45; - // Escribe la presentación en un archivo PPTX + // Guarda la presentación en un archivo PPTX pres.Save("RectPicFrameFormat_out.pptx", 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. Puede que quieras ver estas páginas: convertir [imagen a JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); convertir [JPG a imagen](https://products.aspose.com/slides/net/conversion/jpg-to-image/); convertir [JPG a PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), convertir [PNG a JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); convertir [PNG a SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), convertir [SVG a PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). +{{% alert color="warning" %}} +Los marcos de imagen le permiten crear rápidamente diapositivas de presentación basadas en imágenes. Cuando combina un marco de imagen con las opciones de guardado de Aspose.Slides, puede manipular operaciones de entrada/salida para convertir imágenes de un formato a otro. Es posible que desee ver estas páginas: convertir [imagen a JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); convertir [JPG a imagen](https://products.aspose.com/slides/net/conversion/jpg-to-image/); convertir [JPG a PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), convertir [PNG a JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); convertir [PNG a SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), convertir [SVG a PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -## **Crear Marco de Imagen con Escala Relativa** - -Al alterar la escala relativa de una imagen, puedes crear un marco de imagen más complicado. +## **Crear marco de imagen con escala relativa** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/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/net/aspose.slides/ippimage) agregando una imagen a la colección [IImages](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) asociada con el objeto de presentación que se utilizará para llenar la forma. -5. Especifica la anchura y la altura relativas de la imagen en el marco de imagen. -6. Escribe la presentación modificada como un archivo PPTX. - -Este código C# te muestra cómo crear un marco de imagen con escala relativa: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Obtenga la referencia de una diapositiva mediante su índice. +3. Añada una imagen a la colección de imágenes de la presentación. +4. Cree un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) añadiendo una imagen a la [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) asociada con el objeto presentation que se utilizará para rellenar la forma. +5. Especifique el ancho y la altura relativos de la imagen en el marco de imagen. +6. Guarde la presentación modificada como un archivo PPTX. ```c# // Instancia la clase Presentation que representa un archivo PPTX @@ -98,7 +94,7 @@ using (Presentation presentation = new Presentation()) // Agrega un marco de imagen a la diapositiva IPictureFrame pictureFrame = presentation.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 100, 100, ppImage); - // Establece la escala relativa de la anchura y la altura + // Establece la escala relativa de ancho y alto pictureFrame.RelativeScaleHeight = 0.8f; pictureFrame.RelativeScaleWidth = 1.35f; @@ -107,10 +103,10 @@ using (Presentation presentation = new Presentation()) } ``` -## **Extraer Imagen del Marco de Imagen** -Puedes extraer imágenes de objetos [PictureFrame](https://reference.aspose.com/slides/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 rasterizadas de marcos de imagen** +Puede extraer imágenes rasterizadas de objetos [PictureFrame](https://reference.aspose.com/slides/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. ```c# using (var presentation = new Presentation("sample.pptx")) { @@ -125,12 +121,34 @@ using (var presentation = new Presentation("sample.pptx")) } ``` -## **Obtener Transparencia de la Imagen** -Aspose.Slides te permite obtener la transparencia de una imagen. Este código C# 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/net/aspose.slides/pictureframe/), Aspose.Slides para .NET le permite recuperar las imágenes vectoriales originales con total fidelidad. Recorriendo la colección de formas de la diapositiva, puede identificar cada [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/), comprobar si el [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) 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: +```cs +using var presentation = new Presentation("sample.pptx"); + +var slide = presentation.Slides[0]; +var shape = slide.Shapes[0]; + +if (shape is IPictureFrame pictureFrame) +{ + var svgImage = pictureFrame.PictureFormat.Picture.Image.SvgImage; + if (svgImage != null) + { + File.WriteAllText("output.svg", svgImage.SvgContent); + } +} +``` + + +## **Obtener la transparencia de la imagen** +Aspose.Slides permite obtener el efecto de transparencia aplicado a una imagen. Este código C# muestra la operación: ```c# -using (var presentation = new Presentation(folderPath + "Test.pptx")) +using (var presentation = new Presentation("Test.pptx")) { var pictureFrame = (IPictureFrame)presentation.Slides[0].Shapes[0]; var imageTransform = pictureFrame.PictureFormat.Picture.ImageTransform; @@ -139,31 +157,34 @@ using (var presentation = new Presentation(folderPath + "Test.pptx")) if (effect is IAlphaModulateFixed alphaModulateFixed) { var transparencyValue = 100 - alphaModulateFixed.Amount; - Console.WriteLine("Transparencia de la imagen: " + transparencyValue); + Console.WriteLine("Picture transparency: " + transparencyValue); } } } ``` -## **Formato de Marco de Imagen** -Aspose.Slides proporciona muchas opciones de formato que se pueden aplicar a un marco de imagen. Usando esas opciones, puedes alterar un marco de imagen para que coincida con requisitos específicos. +{{% alert color="primary" %}} +Todos los efectos aplicados a las imágenes se pueden encontrar en [Aspose.Slides.Effects](https://reference.aspose.com/slides/net/aspose.slides.effects/). +{{% /alert %}} -1. Crea una instancia de la clase [Presentation](http://www.aspose.com/api/net/slides/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/net/aspose.slides/ippimage) agregando una imagen a la colección [IImages](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) asociada con el objeto de presentación que se utilizará para llenar la forma. -4. Especifica la anchura y la altura de la imagen. -5. Crea un `PictureFrame` basado en la anchura y la altura de la imagen a través del método [AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe) expuesto por el objeto [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection) asociado con la diapositiva referenciada. -6. Agrega el marco de imagen (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 sentido horario. - * Un valor negativo rota la imagen en sentido antihorario. -10. Agrega el marco de imagen (contiene la imagen) a la diapositiva. -11. Escribe la presentación modificada como un archivo PPTX. +## **Formato de marco de imagen** -Este código C# demuestra el proceso de formateo del marco de imagen: +Aspose.Slides proporciona muchas opciones de formato que pueden aplicarse a un marco de imagen. Con esas opciones, puede modificar un marco de imagen para que cumpla requisitos específicos. + +1. Cree una instancia de la clase [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) . +2. Obtenga la referencia de una diapositiva mediante su índice. +3. Cree un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) añadiendo una imagen a la [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) asociada con el objeto presentation que se utilizará para rellenar la forma. +4. Especifique el ancho y la altura de la imagen. +5. Cree un `PictureFrame` basado en el ancho y la altura de la imagen mediante el método [AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe) expuesto por el objeto [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection) asociado a la diapositiva referenciada. +6. Agregue el marco de imagen (que contiene la foto) a la diapositiva. +7. Establezca el color de línea del marco de imagen. +8. Establezca el ancho de línea del marco de imagen. +9. Gire el marco de imagen asignándole un valor positivo o negativo. + * Un valor positivo gira la imagen en sentido horario. + * Un valor negativo gira la imagen en sentido antihorario. +10. Agregue el marco de imagen (que contiene la foto) a la diapositiva. +11. Guarde la presentación modificada como un archivo PPTX. ```c# // Instancia la clase Presentation que representa un archivo PPTX @@ -177,30 +198,29 @@ using (Presentation presentation = new Presentation()) IPPImage ppImage = presentation.Images.AddImage(image); image.Dispose(); - // Agrega un marco de imagen con la altura y la anchura equivalentes de la imagen + // Agrega un marco de imagen con la altura y el ancho equivalentes de la imagen IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // Aplica algún formato al marco de imagen + // Aplica formato al marco de imagen pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; pictureFrame.LineFormat.Width = 20; pictureFrame.Rotation = 45; - // Escribe la presentación en un archivo PPTX + // Guarda la presentación en un archivo PPTX presentation.Save("RectPicFrameFormat_out.pptx", SaveFormat.Pptx); } ``` -{{% alert 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 rejillas a partir de fotos](https://products.aspose.app/slides/collage/photo-grid), puedes utilizar este servicio. +{{% alert color="primary" %}} +Aspose desarrolló recientemente un [Collage Maker gratuito](https://products.aspose.app/slides/collage). Si alguna vez necesita [fusionar JPG/JPEG](https://products.aspose.app/slides/collage/jpg) o imágenes PNG, [crear cuadrículas a partir de fotos](https://products.aspose.app/slides/collage/photo-grid), puede usar este servicio. {{% /alert %}} -## **Agregar Imagen como Enlace** - -Para evitar tamaños grandes de presentación, puedes agregar imágenes (o videos) a través de enlaces en lugar de incrustar los archivos directamente en las presentaciones. Este código C# te muestra cómo agregar una imagen y un video en un marcador de posición: +## **Agregar imagen como enlace** +Para evitar tamaños de presentación grandes, puede agregar imágenes (o videos) mediante enlaces en lugar de incrustar los archivos directamente en las presentaciones. Este código C# muestra cómo agregar una imagen y un video en un marcador de posición: ```c# using (var presentation = new Presentation("input.pptx")) { @@ -251,10 +271,10 @@ using (var presentation = new Presentation("input.pptx")) } ``` -## **Recortar Imagen** -Este código C# te muestra cómo recortar una imagen existente en una diapositiva: +## **Recortar imagen** +Este código C# muestra cómo recortar una imagen existente en una diapositiva: ```c# using (Presentation presentation = new Presentation()) { @@ -263,7 +283,7 @@ using (Presentation presentation = new Presentation()) IPPImage newImage = presentation.Images.AddImage(image); image.Dispose(); - // Agrega un PictureFrame a una Diapositiva + // Agrega un PictureFrame a una diapositiva IPictureFrame picFrame = presentation.Slides[0].Shapes.AddPictureFrame( ShapeType.Rectangle, 100, 100, 420, 250, newImage); @@ -278,12 +298,12 @@ using (Presentation presentation = new Presentation()) } ``` -## Eliminar Áreas Recortadas de Imagen -Si deseas eliminar las áreas recortadas de una imagen contenida en un marco, puedes usar el método [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/). Este método devuelve la imagen recortada o la imagen original si el recorte no es necesario. +## **Eliminar áreas recortadas de la imagen** -Este código C# demuestra la operación: +Si desea eliminar las áreas recortadas de una imagen contenida en un marco, puede usar el método [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) . Este método devuelve la imagen recortada o la imagen original si el recorte no es necesario. +Este código C# demuestra la operación: ```c# using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) { @@ -300,20 +320,68 @@ using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) } ``` -{{% alert title="NOTA" color="warning" %}} -El método [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) agrega la imagen recortada a la colección de imágenes de la presentación. Si la imagen solo se usa en el [PictureFrame](https://reference.aspose.com/slides/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á. - -Este método convierte archivos WMF/EMF a una imagen rasterizada PNG en la operación de recorte. +{{% alert title="NOTE" color="warning" %}} +El método [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) 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/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á. +Este método convierte metarchivos WMF/EMF a imágenes PNG raster en la operación de recorte. {{% /alert %}} -## **Bloquear Relación de Aspecto** +## **Comprimir imagen** + +Puede comprimir una imagen en una presentación usando el método [`IPictureFillFormat.CompressImage`](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/compressimage/) . Este método reduce el tamaño de una imagen basándose en el tamaño de la forma y la resolución especificada, con la opción de eliminar áreas recortadas. + +Ajusta el tamaño y la resolución de la imagen de manera similar a la característica **Formato de imagen → Comprimir imágenes → Resolución** de PowerPoint. + +Los siguientes ejemplos en C# demuestran cómo comprimir una imagen en una presentación especificando una resolución objetivo y, opcionalmente, eliminando áreas recortadas: +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; -Si deseas que una forma que contiene una imagen mantenga su relación de aspecto incluso después de cambiar las dimensiones de la imagen, puedes usar la propiedad [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) para establecer la configuración *Bloquear Relación de Aspecto*. + // Obtiene el PictureFrame de la diapositiva + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; -Este código C# te muestra cómo bloquear la relación de aspecto de una forma: + // Comprime la imagen con una resolución objetivo de 150 DPI (resolución web) y elimina las áreas recortadas + bool result = picFrame.PictureFormat.CompressImage(true, PicturesCompression.Dpi150); + // Verifica el resultado de la compresión + if (result) + { + Console.WriteLine("Image successfully compressed."); + } + else + { + Console.WriteLine("Image compression failed or no changes were necessary."); + } +} +``` + + +O usando directamente un valor DPI personalizado: +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; + + // Comprime la imagen a 150 DPI (resolución web), eliminando áreas recortadas + bool result = picFrame.PictureFormat.CompressImage(true, 150f); +} +``` + + +{{% alert title="NOTE" color="warning" %}} +El método convierte la imagen a una resolución inferior según el tamaño de la forma y el DPI proporcionado. Las regiones recortadas también pueden eliminarse para optimizar el tamaño del archivo. +Si la imagen es un metarchivo (WMF/EMF) o SVG, la compresión no se aplicará. Además, la calidad JPEG se preserva o se reduce ligeramente según la resolución, de manera similar a cómo PowerPoint maneja JPEG de alta resolución. +{{% /alert %}} + +## **Bloquear proporción de aspecto** + +Si desea que una forma que contiene una imagen mantenga su proporción de aspecto incluso después de cambiar las dimensiones de la imagen, puede usar la propiedad [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) para establecer la configuración *Bloquear proporción de aspecto*. + +Este código C# muestra cómo bloquear la proporción de aspecto de una forma: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -326,35 +394,33 @@ using (Presentation pres = new Presentation("pres.pptx")) IPictureFrame pictureFrame = emptySlide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, presImage.Width, presImage.Height, presImage); - // Establece la forma para preservar la relación de aspecto al cambiar su tamaño + // Establece la forma para preservar la relación de aspecto al redimensionar pictureFrame.PictureFrameLock.AspectRatioLocked = true; } ``` -{{% alert title="NOTA" color="warning" %}} - -Esta configuración *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" %}} +Esta configuración *Bloquear proporción de aspecto* conserva solo la proporción de la forma y no la de la imagen que contiene. {{% /alert %}} -## **Usar Propiedad StretchOff** +## **Usar la propiedad StretchOff** -Usando las propiedades [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft), [StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop), [StretchOffsetRight,](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) y [StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) de la interfaz [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) y de la clase [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat), puedes especificar un rectángulo de relleno. +Usando las propiedades [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft), [StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop), [StretchOffsetRight](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) y [StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) de la interfaz [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) y la clase [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat), puede especificar un rectángulo de relleno. -Cuando se especifica un 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 está definido por un desplazamiento porcentual del borde correspondiente de la caja delimitadora de la forma. Un porcentaje positivo especifica un inseto, mientras que un porcentaje negativo especifica un outset. +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 del cuadro delimitador de la forma. Un porcentaje positivo indica una inserción mientras que un porcentaje negativo indica una expansión. -1. Crea una instancia de la clase [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/). -2. Obtén la referencia de una diapositiva a través de su índice. -3. Agrega una **AutoShape** de rectángulo. -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 fijada 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. - -Este código C# demuestra un proceso en el que se usa una propiedad StretchOff: +1. Cree una instancia de la clase [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) . +2. Obtenga la referencia de una diapositiva mediante su índice. +3. Añada un rectángulo `AutoShape`. +4. Cree una imagen. +5. Establezca el tipo de relleno de la forma. +6. Establezca el modo de relleno de imagen de la forma. +7. Agregue una imagen establecida para rellenar la forma. +8. Especifique los desplazamientos de la imagen desde el borde correspondiente del cuadro delimitador de la forma +9. Guarde la presentación modificada como un archivo PPTX. +Este código C# demuestra un proceso en el que se usa la propiedad StretchOff: ```c# using (Presentation pres = new Presentation()) { @@ -373,4 +439,23 @@ using (Presentation pres = new Presentation()) pres.Save("imageStretch.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Cómo puedo averiguar qué formatos de imagen son compatibles con PictureFrame?** + +Aspose.Slides admite tanto imágenes raster (PNG, JPEG, BMP, GIF, etc.) como imágenes vectoriales (por ejemplo, SVG) a través del objeto de imagen asignado a un [PictureFrame](https://reference.aspose.com/slides/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. + +**¿Cómo afectará la inserción de decenas de imágenes grandes al tamaño y rendimiento del PPTX?** + +Incrustar imágenes grandes incrementa el tamaño del archivo y el uso de memoria; enlazar imágenes ayuda a mantener reducido el tamaño de la presentación, pero requiere que los archivos externos permanezcan accesibles. Aspose.Slides permite agregar imágenes mediante enlace para reducir el tamaño del archivo. + +**¿Cómo puedo bloquear un objeto de imagen para que no se mueva o redimensione accidentalmente?** + +Utilice los [bloqueos de forma](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/pictureframelock/) para un [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) (por ejemplo, desactivar el movimiento o el redimensionado). El mecanismo de bloqueo se describe para formas en un artículo de [protección separado](/slides/es/net/applying-protection-to-presentation/) y es compatible con varios tipos de forma, incluido [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/). + +**¿Se preserva la fidelidad vectorial SVG al exportar una presentación a PDF/imágenes?** + +Aspose.Slides permite extraer un SVG de un [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) como el vector original. Al [exportar a PDF](/slides/es/net/convert-powerpoint-to-pdf/) o a [formatos raster](/slides/es/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/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/es/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index 6122f59de5..defa0e0473 100644 --- a/es/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/es/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -1,33 +1,32 @@ --- -title: Marco de Video +title: Marco de video type: docs weight: 10 url: /es/net/video-frame/ -keywords: "Agregar video, crear marco de video, extraer video, presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Agregar marco de video a una presentación de PowerPoint en C# o .NET" +keywords: "Agregar video, crear marco de video, extraer video, presentación PowerPoint, C#, Csharp, Aspose.Slides para .NET" +description: "Agregar marco de video a una presentación PowerPoint en C# o .NET" --- -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. +Un video bien colocado en una presentación puede hacer que tu mensaje sea más atractivo y aumentar los niveles de participación de la audiencia. -PowerPoint te permite agregar videos a una diapositiva en una presentación de dos maneras: +PowerPoint permite agregar videos a una diapositiva en una presentación de dos maneras: -* Agregar o incrustar un video local (almacenado en tu máquina) +* Agregar o incrustar un video local (almacenado en tu equipo) * Agregar un video en línea (de una fuente web como YouTube). -Para permitirte agregar videos (objetos de video) a una presentación, Aspose.Slides proporciona la interfaz [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/), la interfaz [IVideoFrame](https://reference.aspose.com/slides/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/net/aspose.slides/ivideo/) , la interfaz [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) , y otros tipos relevantes. -## **Crear Marco de Video Incrustado** +## **Crear marco de video incrustado** -Si el archivo de video que deseas agregar a tu diapositiva está almacenado localmente, puedes crear un marco de video para incrustar el video en tu presentación. +Si el archivo de video que deseas agregar a tu diapositiva está almacenado localmente, puedes crear un marco de video para incrustar el video en tu presentación. -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Obtén una referencia de la diapositiva a través de su índice. -1. Agrega un objeto [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) y pasa la ruta del archivo de video para incrustar el video con la presentación. -1. Agrega un objeto [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) para crear un marco para el video. -1. Guarda la presentación modificada. - -Este código C# te 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/net/aspose.slides/presentation)class. +1. Obtén la referencia de una diapositiva mediante su índice. +1. Agrega un objeto [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) y pasa la ruta del archivo de video para incrustar el video en la presentación. +1. Agrega un objeto [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) para crear un marco para el video. +1. Guarda la presentación modificada. +Este código C# muestra cómo agregar un video almacenado localmente a una presentación: ```c# // Instancia la clase Presentation using (Presentation pres = new Presentation("pres.pptx")) @@ -40,14 +39,14 @@ using (Presentation pres = new Presentation("pres.pptx")) // Obtiene la primera diapositiva y agrega un videoframe pres.Slides[0].Shapes.AddVideoFrame(10, 10, 150, 250, video); - // Guarda la presentación en el disco + // Guarda la presentación en disco pres.Save("pres-with-video.pptx", SaveFormat.Pptx); } } ``` -Alternativamente, puedes agregar un video pasando su ruta de archivo directamente al método [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/): -```csharp +Alternativamente, puedes agregar un video pasando su ruta de archivo directamente al método [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/): +``` csharp using (Presentation pres = new Presentation()) { ISlide sld = pres.Slides[0]; @@ -55,17 +54,18 @@ using (Presentation pres = new Presentation()) } ``` -## **Crear Marco de Video con Video de una 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) soporta videos de YouTube en las presentaciones. Si el video que deseas usar está disponible en línea (por ejemplo, en YouTube), puedes agregarlo a tu presentación a través de su enlace web. -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Obtén una referencia de la diapositiva a través de su índice. -1. Agrega un objeto [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) y pasa el enlace al video. -1. Establece una miniatura para el marco de video. -1. Guarda la presentación. -Este código C# te muestra cómo agregar un video de la web a una diapositiva en una presentación de PowerPoint: +## **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 deseas usar está disponible en línea (p. ej., en YouTube), puedes agregarlo a tu presentación mediante su enlace web. + +1. Crea una instancia de la clase [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)class +1. Obtén la referencia de una diapositiva mediante su índice. +1. Agrega un objeto [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) y pasa el enlace al video. +1. Establece una miniatura para el marco de video. +1. Guarda la presentación. +Este código C# muestra cómo agregar un video desde la web a una diapositiva en una presentación PowerPoint: ```c# public static void Run() { @@ -92,18 +92,18 @@ private static void AddVideoFromYouTube(Presentation pres, string videoId) } ``` -## **Extraer Video de una Diapositiva** -Además de agregar videos a las diapositivas, Aspose.Slides te permite extraer videos incrustados en presentaciones. -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) para cargar la presentación que contiene el video. +## **Extraer video de la diapositiva** +Además de agregar videos a las diapositivas, Aspose.Slides permite extraer videos incrustados en presentaciones. + +1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/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/net/aspose.slides/islide). -3. Itera a través de todos los objetos [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) para encontrar un [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe). +3. Itera a través de todos los objetos [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) para encontrar un [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe). 4. Guarda el video en el disco. -Este código C# te muestra cómo extraer el video de una diapositiva de presentación: - +Este código C# muestra cómo extraer el video de una diapositiva de presentación: ```c# -// Instancia un objeto Presentation que representa un archivo de presentación + // Instancia un objeto Presentation que representa un archivo de presentación Presentation presentation = new Presentation("Video.pptx"); // Itera a través de las diapositivas @@ -112,7 +112,7 @@ foreach (ISlide slide in presentation.Slides) // Itera a través de las formas foreach (IShape shape in presentation.Slides[0].Shapes) { - // Guarda el video en el disco una vez que se encuentra el VideoFrame que contiene el video + // Guarda el video en disco una vez que se encuentra un VideoFrame que contiene el video if (shape is VideoFrame) { IVideoFrame vf = shape as IVideoFrame; @@ -127,4 +127,23 @@ foreach (ISlide slide in presentation.Slides) } } } -``` \ 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/net/aspose.slides/videoframe/playmode/) (automático o al hacer clic) y el [bucle](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playloopmode/). Estas opciones están disponibles a través de las propiedades del objeto [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe/). + +**¿Agregar un video afecta el 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 del video](https://reference.aspose.com/slides/net/aspose.slides/videoframe/embeddedvideo/) dentro del marco mientras preservas la geometría de la forma; este es un escenario común 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/net/aspose.slides/video/contenttype/) que puedes leer y usar, por ejemplo al guardarlo en el disco. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-ole/_index.md b/es/net/developer-guide/presentation-content/manage-ole/_index.md index 9c12eca3f2..c7c64fb456 100644 --- a/es/net/developer-guide/presentation-content/manage-ole/_index.md +++ b/es/net/developer-guide/presentation-content/manage-ole/_index.md @@ -1,331 +1,344 @@ --- -title: Administrar OLE +title: Gestionar OLE en presentaciones con C# +linktitle: Gestionar OLE type: docs weight: 40 url: /es/net/manage-ole/ keywords: -- agregar OLE +- objeto OLE +- Vinculación y incrustación de objetos +- añadir OLE - incrustar OLE -- agregar un objeto -- incrustar un objeto -- incrustar un archivo +- añadir objeto +- incrustar objeto +- añadir archivo +- incrustar archivo - objeto vinculado -- Object Linking & Embedding -- objeto OLE -- PowerPoint +- archivo vinculado +- cambiar OLE +- icono OLE +- título OLE +- extraer OLE +- extraer objeto +- extraer archivo +- PowerPoint - presentación +- .NET - C# -- Csharp -- Aspose.Slides para .NET -description: Agregar objetos OLE a presentaciones de PowerPoint en C# o .NET +- Aspose.Slides +description: "Optimiza la gestión de objetos OLE en archivos PowerPoint y OpenDocument con Aspose.Slides para .NET. Inserta, actualiza y exporta contenido OLE sin problemas." --- {{% alert title="Info" color="info" %}} -OLE (Object Linking & Embedding) es una tecnología de Microsoft que permite que los datos y objetos creados en una aplicación sean colocados en otra aplicación a través de enlaces o incrustaciones. +OLE (Object Linking & Embedding) es una tecnología de Microsoft que permite que datos y objetos creados en una aplicación se coloquen en otra aplicación mediante enlace o incrustación. {{% /alert %}} -Considere un gráfico creado en MS Excel. El gráfico se coloca dentro de una diapositiva de PowerPoint. Ese gráfico de Excel se considera un objeto OLE. +Considere un gráfico creado en MS Excel. El gráfico se inserta luego en una diapositiva de PowerPoint. Ese gráfico de Excel se considera un objeto OLE. -- Un objeto OLE puede aparecer como un ícono. En este caso, cuando hace doble clic en el ícono, el gráfico se abre en su aplicación asociada (Excel), o se le pide que seleccione una aplicación para abrir o editar el objeto. -- Un objeto OLE puede mostrar contenidos reales, por ejemplo, los contenidos de un gráfico. En este caso, el gráfico se activa en PowerPoint, la interfaz del gráfico se carga y puede modificar los datos del gráfico dentro de la aplicación de PowerPoint. +- Un objeto OLE puede aparecer como un ícono. En este caso, al hacer doble clic en el ícono, el gráfico se abre en su aplicación asociada (Excel), o se le solicita al usuario que seleccione una aplicación para abrir o editar el objeto. +- Un objeto OLE puede mostrar su contenido real, como el contenido de un gráfico. En este caso, el gráfico se activa en PowerPoint, se carga la interfaz del gráfico y puede modificar los datos del gráfico dentro de PowerPoint. -[Aspose.Slides para .NET](https://products.aspose.com/slides/net/) le permite insertar objetos OLE en diapositivas como Marcos de Objetos OLE ([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)). +[Aspose.Slides for .NET](https://products.aspose.com/slides/net/) permite insertar objetos OLE en diapositivas como marcos de objetos OLE ([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)). -## **Agregar Marcos de Objetos OLE a Diapositivas** -Suponiendo que ya creó un gráfico en Microsoft Excel y desea incrustar ese gráfico en una diapositiva como un Marco de Objeto OLE utilizando Aspose.Slides para .NET, puede hacerlo de la siguiente manera: +## **Agregar marcos de objetos OLE a diapositivas** -1. Cree una instancia de la [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) clase. -2. Obtenga una referencia de la diapositiva a través de su índice. -3. Abra el archivo de Excel que contiene el objeto gráfico de Excel y guárdelo en `MemoryStream`. -4. Agregue el [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) a la diapositiva que contiene el arreglo de bytes y otra información sobre el objeto OLE. -5. Escriba la presentación modificada como un archivo PPTX. +Suponiendo que ya haya creado un gráfico en Microsoft Excel y quiera incrustarlo en una diapositiva como un marco de objeto OLE mediante Aspose.Slides for .NET, puede hacerlo de la siguiente manera: -En el ejemplo a continuación, agregamos un gráfico de un archivo de Excel a una diapositiva como un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) utilizando Aspose.Slides para .NET. -**Nota** que el constructor de [IOleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo) toma una extensión de objeto incrustable como segundo parámetro. Esta extensión permite que PowerPoint interprete correctamente el tipo de archivo y elija la aplicación adecuada para abrir este objeto OLE. +1. Crear una instancia de la [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) clase. +2. Obtener la referencia de una diapositiva mediante su índice. +3. Leer el archivo Excel como una matriz de bytes. +4. Añadir el [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) a la diapositiva con la matriz de bytes y otra información sobre el objeto OLE. +5. Guardar la presentación modificada como archivo PPTX. -``` csharp -// Instancia la clase Presentation que representa el archivo PPTX -using (Presentation pres = new Presentation()) +En el ejemplo a continuación, añadimos un gráfico de un archivo Excel a una diapositiva como un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) usando Aspose.Slides for .NET. +**Nota** que el constructor de [OleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides.dom.ole/oleembeddeddatainfo/) recibe una extensión de objeto incrustable como segundo parámetro. Esta extensión permite a PowerPoint interpretar correctamente el tipo de archivo y elegir la aplicación adecuada para abrir este objeto OLE. +```csharp +using (Presentation presentation = new Presentation()) { - // Accede a la primera diapositiva - ISlide sld = pres.Slides[0]; - - // Carga un archivo de excel en un stream - MemoryStream mstream = new MemoryStream(); - using (FileStream fs = new FileStream("book1.xlsx", FileMode.Open, FileAccess.Read)) - { - byte[] buf = new byte[4096]; - - while (true) - { - int bytesRead = fs.Read(buf, 0, buf.Length); - if (bytesRead <= 0) - break; - mstream.Write(buf, 0, bytesRead); - } - } + SizeF slideSize = presentation.SlideSize.Size; + ISlide slide = presentation.Slides[0]; - // Crea un objeto de datos para incrustar - IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(mstream.ToArray(), "xlsx"); + // Preparar los datos para el objeto OLE. + byte[] fileData = File.ReadAllBytes("book.xlsx"); + IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(fileData, "xlsx"); - // Agrega una forma de Marco de Objeto Ole - IOleObjectFrame oleObjectFrame = sld.Shapes.AddOleObjectFrame(0, 0, pres.SlideSize.Size.Width, - pres.SlideSize.Size.Height, dataInfo); + // Agregar el marco del objeto OLE a la diapositiva. + slide.Shapes.AddOleObjectFrame(0, 0, slideSize.Width, slideSize.Height, dataInfo); - //Escribe el archivo PPTX en el disco - pres.Save("OleEmbed_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -### Agregar Marcos de Objetos OLE Vinculados -Aspose.Slides para .NET le permite agregar un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) sin incrustar datos, sino solo con un enlace al archivo. -Este código C# le muestra cómo agregar un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) con un archivo de Excel vinculado a una diapositiva: +### **Agregar marcos de objetos OLE enlazados** -``` csharp -using (Presentation pres = new Presentation()) +Aspose.Slides for .NET permite añadir un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) sin incrustar datos, solo con un enlace al archivo. + +Este código C# muestra cómo agregar un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) con un archivo Excel enlazado a una diapositiva: +```csharp +using (Presentation presentation = new Presentation()) { - // Accede a la primera diapositiva - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // Agrega un Marco de Objeto Ole con un archivo de Excel vinculado - IOleObjectFrame oleObjectFrame = slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book1.xlsx"); + // Agregar un marco de objeto OLE con un archivo Excel vinculado. + slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book.xlsx"); - // Escribe el archivo PPTX en el disco - pres.Save("OleLinked_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Acceder a Marcos de Objetos OLE** -Si un objeto OLE ya está incrustado en una diapositiva, puede encontrar o acceder fácilmente a ese objeto de esta manera: - -1. Cree una instancia de la [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) clase. -2. Obtenga la referencia de la diapositiva utilizando su índice. -3. Acceda a la forma [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). - En nuestro ejemplo, utilizamos el PPTX creado anteriormente que tiene solo una forma en la primera diapositiva. A continuación, *convertimos* ese objeto en un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). Este fue el Marco de Objeto OLE deseado al que se accedió. -4. Una vez que se accede al Marco de Objeto OLE, puede realizar cualquier operación en él. -En el ejemplo a continuación, se accede a un Marco de Objeto OLE (un objeto gráfico de Excel incrustado en una diapositiva) y luego sus datos de archivo se escriben en un archivo de Excel: -``` csharp -// Carga el PPTX en un objeto de presentación -using (Presentation pres = new Presentation("AccessingOLEObjectFrame.pptx")) + +## **Acceder a los marcos de objetos OLE** + +Si un objeto OLE ya está incrustado en una diapositiva, puede encontrarlo o acceder a él fácilmente de esta forma: + +1. Cargar una presentación con el objeto OLE incrustado creando una instancia de la [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) clase. +2. Obtener la referencia de la diapositiva usando su índice. +3. Acceder a la forma [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). + En nuestro ejemplo, usamos el PPTX creado previamente que tiene solo una forma en la primera diapositiva. Luego *convertimos* ese objeto a un [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe). Este era el marco de objeto OLE deseado para acceder. +4. Una vez que se accede al marco de objeto OLE, puede realizar cualquier operación sobre él. + +En el ejemplo a continuación, se accede a un marco de objeto OLE (un objeto de gráfico Excel incrustado en una diapositiva) y a sus datos de archivo. +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) { - // Accede a la primera diapositiva - ISlide sld = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // Convierte la forma en OleObjectFrame - OleObjectFrame oleObjectFrame = sld.Shapes[0] as OleObjectFrame; + // Obtener la primera forma como un marco de objeto OLE. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // Lee el OLE Object y lo escribe en el disco - if (oleObjectFrame != null) + if (oleFrame != null) { - // Obtiene los datos de archivo incrustados - byte[] data = oleObjectFrame.EmbeddedData.EmbeddedFileData; - - // Obtiene la extensión del archivo incrustado - string fileExtention = oleObjectFrame.EmbeddedData.EmbeddedFileExtension; + // Obtener los datos del archivo incrustado. + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; - // Crea una ruta para guardar el archivo extraído - string extractedPath = "excelFromOLE_out" + fileExtention; + // Obtener la extensión del archivo incrustado. + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; - // Guarda los datos extraídos - using (FileStream fstr = new FileStream(extractedPath, FileMode.Create, FileAccess.Write)) - { - fstr.Write(data, 0, data.Length); - } + // ... } } ``` -### Acceder a las Propiedades de Marcos de Objetos OLE Vinculados -Aspose.Slides permite acceder a las propiedades de los Marcos de Objetos OLE vinculados. +### **Acceder a propiedades del marco de objeto OLE enlazado** + +Aspose.Slides permite acceder a las propiedades del marco de objeto OLE enlazado. -Este código C# le muestra cómo verificar si un objeto OLE está vinculado y luego obtener la ruta al archivo vinculado: +Este código C# muestra cómo comprobar si un objeto OLE está enlazado y luego obtener la ruta al archivo enlazado: ```csharp -using (Presentation pres = new Presentation("OleLinked.ppt")) +using (Presentation presentation = new Presentation("sample.ppt")) { - // Accede a la primera diapositiva - ISlide slide = pres.Slides[0]; - - // Obtiene la primera forma como Marco de Objeto Ole - OleObjectFrame oleObjectFrame = slide.Shapes[0] as OleObjectFrame; - - // Verifica si el objeto OLE está vinculado. - if (oleObjectFrame != null && oleObjectFrame.IsObjectLink) - { - // Imprime la ruta completa a un archivo vinculado - Console.WriteLine("El Marco de Objeto Ole está vinculado a: " + oleObjectFrame.LinkPathLong); - - // Imprime la ruta relativa a un archivo vinculado si está presente. - // Solo las presentaciones PPT pueden contener la ruta relativa. - string relativePath = oleObjectFrame.LinkPathRelative; - if (!string.IsNullOrEmpty(relativePath)) - { - Console.WriteLine("La ruta relativa del Marco de Objeto Ole: " + oleObjectFrame.LinkPathRelative); - } - } -} -``` -## **Cambiar los Datos del Objeto OLE** - -Si un objeto OLE ya está incrustado en una diapositiva, puede acceder fácilmente a ese objeto y modificar sus datos de esta manera: - -1. Abra la presentación deseada con el objeto OLE incrustado creando una instancia de la [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) clase. -2. Obtenga la referencia de la diapositiva a través de su índice. -3. Acceda a la forma [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). - En nuestro ejemplo, utilizamos el PPTX creado anteriormente que tiene una forma en la primera diapositiva. Luego, *convertimos* ese objeto en un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). Este fue el Marco de Objeto OLE deseado al que se accedió. -4. Una vez que se accede al Marco de Objeto OLE, puede realizar cualquier operación en él. -5. Cree el objeto Workbook y acceda a los Datos OLE. -6. Acceda a la Hoja de Cálculo deseada y modifique los datos. -7. Guarde el Workbook actualizado en streams. -8. Cambie los datos del objeto OLE desde los datos del stream. -En el ejemplo a continuación, se accede a un Marco de Objeto OLE (un objeto gráfico de Excel incrustado en una diapositiva) y luego se modifican sus datos de archivo para cambiar los datos del gráfico: -``` csharp -using (Presentation pres = new Presentation("ChangeOLEObjectData.pptx")) -{ - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - OleObjectFrame ole = null; + // Obtener la primera forma como un marco de objeto OLE. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // Recorre todas las formas para encontrar el marco Ole - foreach (IShape shape in slide.Shapes) + // Verificar si el objeto OLE está enlazado. + if (oleFrame != null && oleFrame.IsObjectLink) { - if (shape is OleObjectFrame) + // Imprimir la ruta completa al archivo enlazado. + Console.WriteLine("OLE object frame is linked to: " + oleFrame.LinkPathLong); + + // Imprimir la ruta relativa al archivo enlazado si está presente. + // Solo las presentaciones PPT pueden contener la ruta relativa. + if (!string.IsNullOrEmpty(oleFrame.LinkPathRelative)) { - ole = (OleObjectFrame)shape; + Console.WriteLine("OLE object frame relative path: " + oleFrame.LinkPathRelative); } } +} +``` + + +## **Cambiar datos del objeto OLE** + +{{% alert color="primary" %}} + +En esta sección, el ejemplo de código a continuación usa [Aspose.Cells for .NET](/cells/net/). + +{{% /alert %}} + +Si un objeto OLE ya está incrustado en una diapositiva, puede acceder fácilmente a ese objeto y modificar sus datos de esta forma: - if (ole != null) +1. Cargar una presentación con el objeto OLE incrustado creando una instancia de la [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) clase. +2. Obtener la referencia de la diapositiva mediante su índice. +3. Acceder a la forma [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). + En nuestro ejemplo, usamos el PPTX creado previamente que tiene una forma en la primera diapositiva. Luego *convertimos* ese objeto a un [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe). Este era el marco de objeto OLE deseado para acceder. +4. Una vez que se accede al marco de objeto OLE, puede realizar cualquier operación sobre él. +5. Crear un objeto `Workbook` y acceder a los datos OLE. +6. Acceder a la `Worksheet` deseada y modificar los datos. +7. Guardar el `Workbook` actualizado en un flujo. +8. Cambiar los datos del objeto OLE desde el flujo. + +En el ejemplo a continuación, se accede a un marco de objeto OLE (un objeto de gráfico Excel incrustado en una diapositiva) y se modifican sus datos de archivo para actualizar los datos del gráfico. +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + // Obtener la primera forma como un marco de objeto OLE. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; + + if (oleFrame != null) { - using (MemoryStream msln = new MemoryStream(ole.EmbeddedData.EmbeddedFileData)) + using (MemoryStream oleStream = new MemoryStream(oleFrame.EmbeddedData.EmbeddedFileData)) { - // Lee los datos del objeto en el Workbook - Workbook Wb = new Workbook(msln); + // Leer los datos del objeto OLE como un objeto Workbook. + Workbook workbook = new Workbook(oleStream); - using (MemoryStream msout = new MemoryStream()) + using (MemoryStream newOleStream = new MemoryStream()) { - // Modifica los datos del libro - Wb.Worksheets[0].Cells[0, 4].PutValue("E"); - Wb.Worksheets[0].Cells[1, 4].PutValue(12); - Wb.Worksheets[0].Cells[2, 4].PutValue(14); - Wb.Worksheets[0].Cells[3, 4].PutValue(15); - - OoxmlSaveOptions so1 = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); - Wb.Save(msout, so1); - - // Cambia los datos del objeto del marco Ole - IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(msout.ToArray(), ole.EmbeddedData.EmbeddedFileExtension); - ole.SetEmbeddedData(newData); + // Modificar los datos del libro de trabajo. + workbook.Worksheets[0].Cells[0, 4].PutValue("E"); + workbook.Worksheets[0].Cells[1, 4].PutValue(12); + workbook.Worksheets[0].Cells[2, 4].PutValue(14); + workbook.Worksheets[0].Cells[3, 4].PutValue(15); + + OoxmlSaveOptions fileOptions = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); + workbook.Save(newOleStream, fileOptions); + + // Cambiar los datos del objeto del marco OLE. + IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(newOleStream.ToArray(), oleFrame.EmbeddedData.EmbeddedFileExtension); + oleFrame.SetEmbeddedData(newData); } } } - pres.Save("OleEdit_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Incrustar Otros Tipos de Archivos en Diapositivas** -Además de gráficos de Excel, Aspose.Slides para .NET le permite incrustar otros tipos de archivos en diapositivas. Por ejemplo, puede insertar archivos HTML, PDF y ZIP como objetos en una diapositiva. Cuando un usuario hace doble clic en el objeto insertado, el objeto se lanza automáticamente en el programa relevante, o se dirige al usuario a seleccionar un programa apropiado para abrir el objeto. -Este código C# le muestra cómo incrustar HTML y ZIP en una diapositiva: +## **Incrustar otros tipos de archivo en diapositivas** +Además de gráficos de Excel, Aspose.Slides for .NET permite incrustar otros tipos de archivos en diapositivas. Por ejemplo, puede insertar archivos HTML, PDF y ZIP como objetos. Cuando el usuario hace doble clic en el objeto insertado, se abre automáticamente en el programa correspondiente, o se le solicita al usuario que seleccione un programa apropiado para abrirlo. + +Este código C# muestra cómo incrustar HTML y ZIP en una diapositiva: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - - byte[] htmlBytes = File.ReadAllBytes("embedOle.html"); - IOleEmbeddedDataInfo dataInfoHtml = new OleEmbeddedDataInfo(htmlBytes, "html"); - IOleObjectFrame oleFrameHtml = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, dataInfoHtml); - oleFrameHtml.IsObjectIcon = true; - - byte[] zipBytes = File.ReadAllBytes("embedOle.zip"); - IOleEmbeddedDataInfo dataInfoZip = new OleEmbeddedDataInfo(zipBytes, "zip"); - IOleObjectFrame oleFrameZip = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, dataInfoZip); - oleFrameZip.IsObjectIcon = true; - - pres.Save("embeddedOle.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + + byte[] htmlData = File.ReadAllBytes("sample.html"); + IOleEmbeddedDataInfo htmlDataInfo = new OleEmbeddedDataInfo(htmlData, "html"); + IOleObjectFrame htmlOleFrame = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, htmlDataInfo); + htmlOleFrame.IsObjectIcon = true; + + byte[] zipData = File.ReadAllBytes("sample.zip"); + IOleEmbeddedDataInfo zipDataInfo = new OleEmbeddedDataInfo(zipData, "zip"); + IOleObjectFrame zipOleFrame = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, zipDataInfo); + zipOleFrame.IsObjectIcon = true; + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Establecer Tipos de Archivos para Objetos Incrustados** -Al trabajar en presentaciones, es posible que deba reemplazar objetos OLE antiguos por unos nuevos. O puede que necesite reemplazar un objeto OLE no compatible por uno compatible. -Aspose.Slides para .NET le permite establecer el tipo de archivo para un objeto incrustado. De esta forma, puede cambiar los datos del marco OLE o su extensión. +## **Establecer tipos de archivo para objetos incrustados** -Este código C# le muestra cómo establecer el tipo de archivo para un objeto OLE incrustado: +Al trabajar con presentaciones, puede necesitar reemplazar objetos OLE antiguos por nuevos o sustituir un objeto OLE no compatible por uno compatible. Aspose.Slides for .NET permite establecer el tipo de archivo para un objeto incrustado, lo que le permite actualizar los datos del marco OLE o su extensión. +Este código C# muestra cómo establecer el tipo de archivo para un objeto OLE incrustado como `zip`: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; - Console.WriteLine($"La extensión de datos incrustados actual es: {oleObjectFrame.EmbeddedData.EmbeddedFileExtension}"); - - oleObjectFrame.SetEmbeddedData(new OleEmbeddedDataInfo(File.ReadAllBytes("embedOle.zip"), "zip")); - - pres.Save("embeddedChanged.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + + Console.WriteLine($"Current embedded file extension is: {fileExtension}"); + + // Cambiar el tipo de archivo a ZIP. + oleFrame.SetEmbeddedData(new OleEmbeddedDataInfo(fileData, "zip")); + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Establecer Imágenes de Íconos y Títulos para Objetos Incrustados** -Después de incrustar un objeto OLE, se agrega automáticamente una vista previa compuesta por una imagen de ícono y un título. La vista previa es lo que los usuarios ven antes de acceder o abrir el objeto OLE. -Si desea usar una imagen y texto específicos como elementos en la vista previa, puede establecer la imagen del ícono y el título utilizando Aspose.Slides para .NET. +## **Establecer imágenes de ícono y títulos para objetos incrustados** -Este código C# le muestra cómo establecer la imagen del ícono y el título para un objeto incrustado: +Después de incrustar un objeto OLE, se agrega automáticamente una vista previa que consiste en una imagen de ícono. Esta vista previa es lo que ven los usuarios antes de acceder o abrir el objeto OLE. Si desea usar una imagen y un texto específicos como elementos de la vista previa, puede establecer la imagen del ícono y el título mediante Aspose.Slides for .NET. +Este código C# muestra cómo establecer la imagen del ícono y el título para un objeto incrustado: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + // Agregar una imagen a los recursos de la presentación. + byte[] imageData = File.ReadAllBytes("image.png"); + IPPImage oleImage = presentation.Images.AddImage(imageData); - IPPImage oleImage = pres.Images.AddImage(File.ReadAllBytes("image.png")); - oleObjectFrame.SubstitutePictureTitle = "Mi título"; - oleObjectFrame.SubstitutePictureFormat.Picture.Image = oleImage; - oleObjectFrame.IsObjectIcon = false; + // Establecer un título y la imagen para la vista previa del OLE. + oleFrame.SubstitutePictureTitle = "My title"; + oleFrame.SubstitutePictureFormat.Picture.Image = oleImage; + oleFrame.IsObjectIcon = true; - pres.Save("embeddedOle-newImage.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Prevenir que un Marco de Objeto OLE sea Redimensionado y Reposicionado** -Después de agregar un objeto OLE vinculado a una diapositiva de presentación, al abrir la presentación en PowerPoint, es posible que vea un mensaje que le pide que actualice los enlaces. Hacer clic en el botón "Actualizar enlaces" puede cambiar el tamaño y la posición del marco del objeto OLE porque PowerPoint actualiza los datos del objeto OLE vinculado y actualiza la vista previa del objeto. Para evitar que PowerPoint solicite actualizar los datos del objeto, establezca la propiedad `UpdateAutomatic` de la interfaz [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/) en `false`: +## **Evitar que un marco de objeto OLE sea redimensionado y reposicionado** +Después de agregar un objeto OLE enlazado a una diapositiva de la presentación, al abrir la presentación en PowerPoint, puede aparecer un mensaje que le pide actualizar los enlaces. Al hacer clic en el botón "Update Links", el tamaño y la posición del marco del objeto OLE pueden cambiar porque PowerPoint actualiza los datos del objeto OLE enlazado y refresca la vista previa del objeto. Para evitar que PowerPoint solicite actualizar los datos del objeto, establezca la propiedad `UpdateAutomatic` de la interfaz [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/) en `false`: ```cs -oleObjectFrame.UpdateAutomatic = false; +oleFrame.UpdateAutomatic = false; ``` -## **Extracción de Archivos Incrustados** -Aspose.Slides para .NET le permite extraer los archivos incrustados en diapositivas como objetos OLE de esta manera: -1. Cree una instancia de la [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) clase que contenga el objeto OLE que desea extraer. -2. Recorra todas las formas en la presentación y acceda a la forma [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). -3. Acceda a los datos del archivo incrustado desde el Marco de Objeto OLE y escríbalo en el disco. -Este código C# le muestra cómo extraer un archivo incrustado en una diapositiva como un objeto OLE: +## **Extraer archivos incrustados** + +Aspose.Slides for .NET permite extraer los archivos incrustados en diapositivas como objetos OLE de la siguiente manera: +1. Crear una instancia de la [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) clase que contenga los objetos OLE que desea extraer. +2. Recorrer todas las formas de la presentación y acceder a las formas [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). +3. Acceder a los datos de los archivos incrustados desde los marcos de objetos OLE y escribirlos en disco. + +Este código C# muestra cómo extraer archivos incrustados en una diapositiva como objetos OLE: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - for (var index = 0; index < slide.Shapes.Count; index++) + for (int index = 0; index < slide.Shapes.Count; index++) { IShape shape = slide.Shapes[index]; - IOleObjectFrame oleFrame = shape as IOleObjectFrame; - + if (oleFrame != null) { - byte[] data = oleFrame.EmbeddedData.EmbeddedFileData; - string extension = oleFrame.EmbeddedData.EmbeddedFileExtension; - - File.WriteAllBytes($"oleFrame{index}{extension}", data); + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + + string filePath = $"OLE_object_{index}{fileExtension}"; + File.WriteAllBytes(filePath, fileData); } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Se renderizará el contenido OLE al exportar diapositivas a PDF/imagenes?** + +Lo que es visible en la diapositiva se renderiza: el ícono/imagen de sustitución (vista previa). El contenido OLE "en vivo" no se ejecuta durante el renderizado. Si es necesario, establezca su propia imagen de vista previa para asegurar la apariencia esperada en el PDF exportado. + +**¿Cómo puedo bloquear un objeto OLE en una diapositiva para que los usuarios no puedan moverlo/editarlo en PowerPoint?** + +Bloquee la forma: Aspose.Slides proporciona [bloqueos a nivel de forma](/slides/es/net/applying-protection-to-presentation/). No es encriptación, pero impide eficazmente ediciones y movimientos accidentales. + +**¿Por qué un objeto Excel enlazado "salta" o cambia de tamaño al abrir la presentación?** + +PowerPoint puede refrescar la vista previa del OLE enlazado. Para una apariencia estable, siga las prácticas de la [Solución de trabajo para el redimensionado de hojas de cálculo](/slides/es/net/working-solution-for-worksheet-resizing/): ajuste el marco al rango o escale el rango a un marco fijo y establezca una imagen de sustitución adecuada. + +**¿Se conservarán las rutas relativas de los objetos OLE enlazados en el formato PPTX?** + +En PPTX, la información de "ruta relativa" no está disponible; solo se guarda la ruta completa. Las rutas relativas se encuentran en el formato PPT más antiguo. Para portabilidad, prefiera rutas absolutas fiables/URIs accesibles o incruste los archivos. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-text/animated-text/_index.md b/es/net/developer-guide/presentation-content/manage-text/animated-text/_index.md index 0becbc0f5f..6b6c3aa64e 100644 --- a/es/net/developer-guide/presentation-content/manage-text/animated-text/_index.md +++ b/es/net/developer-guide/presentation-content/manage-text/animated-text/_index.md @@ -1,20 +1,19 @@ --- -title: Texto Animado +title: Texto animado type: docs weight: 60 url: /es/net/animated-text/ -keywords: "Texto animado, Efectos de animación, Presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Agregue texto animado y efectos a la presentación de PowerPoint en C# o .NET" +keywords: "Texto animado, Efectos de animación, Presentación de PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Añade texto animado y efectos a una presentación de PowerPoint en C# o .NET" --- -## Agregar Efectos de Animación a Párrafos - -Agregamos el [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) método a las clases [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) y [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence). Este método le permite agregar efectos de animación a un solo párrafo. Este código de muestra le muestra cómo agregar un efecto de animación a un solo párrafo: +## **Agregar efectos de animación a los párrafos** +Agregamos el método [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) a las clases [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) y [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence). Este método le permite añadir efectos de animación a un solo párrafo. El siguiente código de ejemplo muestra cómo añadir un efecto de animación a un solo párrafo: ```c# using (Presentation presentation = new Presentation(dataDir + "Presentation1.pptx")) { - // seleccionar párrafo para agregar efecto + // seleccionar párrafo para añadir efecto IAutoShape autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; @@ -27,13 +26,9 @@ using (Presentation presentation = new Presentation(dataDir + "Presentation1.ppt ``` +## **Obtener los efectos de animación en los párrafos** -## Obtener los Efectos de Animación en Párrafos - -Puede decidir averiguar los efectos de animación añadidos a un párrafo; por ejemplo, en un escenario, desea obtener los efectos de animación en un párrafo porque planea aplicar esos efectos a otro párrafo o forma. - -Aspose.Slides para .NET le permite obtener todos los efectos de animación aplicados a los párrafos contenidos en un marco de texto (forma). Este código de muestra le muestra cómo obtener los efectos de animación en un párrafo: - +Puede que desee averiguar los efectos de animación añadidos a un párrafo—por ejemplo, en un caso desea obtener los efectos de animación en un párrafo porque planea aplicar esos efectos a otro párrafo o forma. Aspose.Slides para .NET le permite obtener todos los efectos de animación aplicados a los párrafos contenidos en un marco de texto (forma). El siguiente código de ejemplo muestra cómo obtener los efectos de animación en un párrafo: ```c# using (Presentation pres = new Presentation("Test.pptx")) { @@ -45,7 +40,22 @@ using (Presentation pres = new Presentation("Test.pptx")) IEffect[] effects = sequence.GetEffectsByParagraph(paragraph); if (effects.Length > 0) - Console.WriteLine("El párrafo \"" + paragraph.Text + "\" tiene el efecto " + effects[0].Type + "."); + Console.WriteLine("Paragraph \"" + paragraph.Text + "\" has " + effects[0].Type + " effect."); } } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿En qué se diferencian las animaciones de texto de las transiciones de diapositiva, y pueden combinarse?** + +Las animaciones de texto controlan el comportamiento de los objetos a lo largo del tiempo en una diapositiva, mientras que las [transiciones](/slides/es/net/slide-transition/) controlan cómo cambian las diapositivas. Son independientes y pueden usarse juntas; el orden de reproducción lo determina la línea de tiempo de la animación y la configuración de la transición. + +**¿Se conservan las animaciones de texto al exportar a PDF o imágenes?** + +No. Los PDF y las imágenes rasterizadas son estáticas, por lo que verá un único estado de la diapositiva sin movimiento. Para conservar el movimiento, use la exportación a [video](/slides/es/net/convert-powerpoint-to-video/) o [HTML](/slides/es/net/export-to-html5/). + +**¿Funcionan las animaciones de texto en los diseños y la diapositiva maestra?** + +Los efectos aplicados a objetos de diseño/maestra se heredan en las diapositivas, pero su sincronización e interacción con las animaciones a nivel de diapositiva dependen de la secuencia final en la diapositiva. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md b/es/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md index 31331ce96c..d4d542c207 100644 --- a/es/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md +++ b/es/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md @@ -1,118 +1,153 @@ --- -title: Extraer Texto de Presentaciones +title: Extracción avanzada de texto de presentaciones en C# +linktitle: Extraer texto type: docs weight: 90 url: /es/net/extract-text-from-presentation/ -keywords: "Extraer texto de diaposiva, Extraer texto de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Extraer texto de una diapositiva o presentación de PowerPoint en C# o .NET" +keywords: +- extraer texto +- extraer texto de diapositiva +- extraer texto de presentación +- extraer texto de PowerPoint +- extraer texto de PPT +- extraer texto de PPTX +- extraer texto de ODP +- C# +- .NET +- Aspose.Slides +description: "Aprenda cómo extraer texto de presentaciones PowerPoint de forma rápida y sencilla usando Aspose.Slides para .NET. Siga nuestra guía simple, paso a paso, para ahorrar tiempo y acceder eficientemente al contenido de las diapositivas en sus aplicaciones." --- -{{% alert color="primary" %}} +## **Descripción general** -No es raro que los desarrolladores necesiten extraer el texto de una presentación. Para hacerlo, es necesario extraer el texto de todas las formas en todas las diapositivas de una presentación. Este artículo explica cómo extraer texto de presentaciones Microsoft PowerPoint PPTX utilizando Aspose.Slides. El texto se puede extraer de las siguientes maneras: +Extraer texto de presentaciones es una tarea común pero esencial para los desarrolladores que trabajan con contenido de diapositivas. Ya sea que estés manejando archivos de Microsoft PowerPoint en formato PPT o PPTX, o presentaciones OpenDocument (ODP), acceder y recuperar datos textuales puede ser crítico para análisis, automatización, indexación o propósitos de migración de contenido. -- [Extracción de texto de una diapositiva](/slides/es/net/extracting-text-from-the-presentation/) -- [Extracción de texto utilizando el método GetAllTextBoxes](/slides/es/net/extracting-text-from-the-presentation/) -- [Extracción de texto categorizada y rápida](/slides/es/net/extracting-text-from-the-presentation/) +Este artículo ofrece una guía completa sobre cómo extraer texto de manera eficiente de varios formatos de presentación, incluidos PPT, PPTX y ODP, usando Aspose.Slides para .NET. Aprenderás a iterar sistemáticamente a través de los elementos de la presentación para recuperar con precisión el contenido de texto que necesitas. -{{% /alert %}} -## **Extraer Texto de Diapositiva** -Aspose.Slides para .NET proporciona el espacio de nombres Aspose.Slides.Util que incluye la clase SlideUtil. Esta clase expone una serie de métodos estáticos sobrecargados para extraer todo el texto de una presentación o diapositiva. Para extraer el texto de una diapositiva en una presentación PPTX, usa el método estático sobrecargado [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextboxes) expuesto por la clase SlideUtil. Este método acepta el objeto Slide como parámetro. Al ejecutarse, el método Slide escanea todo el texto de la diapositiva pasada como parámetro y devuelve un arreglo de objetos TextFrame. Esto significa que cualquier formato de texto asociado con el texto está disponible. El siguiente fragmento de código extrae todo el texto de la primera diapositiva de la presentación: +## **Extraer texto de una diapositiva** -```c# -//Instanciar la clase Presentation que representa un archivo PPTX -Presentation pptxPresentation = new Presentation("demo.pptx"); +Aspose.Slides para .NET proporciona el espacio de nombres [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/) que incluye la clase [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/). Esta clase expone varios métodos estáticos sobrecargados para extraer todo el texto de una presentación o diapositiva. Para extraer texto de una diapositiva en una presentación, usa el método [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextboxes/). Este método acepta un objeto del tipo [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) como parámetro. Al ejecutarse, el método recorre toda la diapositiva en busca de texto y devuelve una matriz de objetos del tipo [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/), conservando cualquier formato de texto. -//Obtener un arreglo de objetos ITextFrame de todas las diapositivas en el PPTX -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +El siguiente fragmento de código extrae todo el texto de la primera diapositiva de la presentación: +```cs +int slideIndex = 0; -//Recorrer el arreglo de TextFrames -for (int i = 0; i < textFramesPPTX.Length; i++) +// Instanciar la clase Presentation que representa un archivo de presentación (PPT, PPTX, ODP, etc.). +using Presentation presentation = new Presentation("demo.pptx"); + +// Get a reference to the slide. +ISlide slide = presentation.Slides[slideIndex]; + +// Get an array of text frames from the slide. +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextBoxes(slide); + +// Loop through the array of the text frames. +for (int i = 0; i < textFrames.Length; i++) { - //Recorrer los párrafos en el ITextFrame actual - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) - { - //Recorrer las porciones en el IParagraph actual - foreach (IPortion port in para.Portions) - { - //Mostrar el texto en la porción actual - Console.WriteLine(port.Text); - - //Mostrar la altura de la fuente del texto - Console.WriteLine(port.PortionFormat.FontHeight); - - //Mostrar el nombre de la fuente del texto - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } - } + // Recorrer los párrafos en el marco de texto actual. + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // Recorrer las porciones de texto en el párrafo actual. + foreach (IPortion portion in paragraph.Portions) + { + // Mostrar el texto en la porción de texto actual. + Console.WriteLine(portion.Text); + + // Mostrar la altura de la fuente del texto. + Console.WriteLine(portion.PortionFormat.FontHeight); + + // Mostrar el nombre de la fuente del texto. + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } } ``` -## **Extraer Texto de Presentación** -Para escanear el texto de toda la presentación, usa el método estático [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextframes) expuesto por la clase SlideUtil. Toma dos parámetros: -1. Primero, un objeto Presentation que representa la presentación PPTX de la cual se está extrayendo el texto. -1. Segundo, un valor booleano que determina si la diapositiva maestra debe ser incluida cuando se escanea el texto de la presentación. - El método devuelve un arreglo de objetos TextFrame, completo con información de formato de texto. El código a continuación escanea el texto y la información de formato de una presentación, incluyendo las diapositivas maestras. +## **Extraer texto de una presentación** -```c# -//Instanciar la clase Presentation que representa un archivo PPTX -Presentation pptxPresentation = new Presentation("demo.pptx"); +Para escanear texto de toda la presentación, usa el método estático [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextframes/) expuesto por la clase [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/). Acepta dos parámetros: -//Obtener un arreglo de objetos ITextFrame de todas las diapositivas en el PPTX -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +1. Primero, un objeto [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) que representa una presentación de PowerPoint o OpenDocument de la cual se extraerá el texto. +1. Segundo, un valor `Boolean` que indica si las diapositivas maestras deben incluirse al escanear el texto de la presentación. -//Recorrer el arreglo de TextFrames -for (int i = 0; i < textFramesPPTX.Length; i++) +El método devuelve una matriz de objetos del tipo [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/), incluyendo información de formato del texto. El código a continuación escanea el texto y los detalles de formato de una presentación, incluidas las diapositivas maestras. +```cs +// Instanciar la clase Presentation que representa un archivo de presentación (PPT, PPTX, ODP, etc.). +using Presentation presentation = new Presentation("demo.pptx"); - //Recorrer los párrafos en el ITextFrame actual - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) +// Obtener una matriz de marcos de texto de todas las diapositivas de la presentación. +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(presentation, true); + +// Recorrer la matriz de marcos de texto. +for (int i = 0; i < textFrames.Length; i++) +{ + // Recorrer los párrafos del marco de texto actual. + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // Recorrer las porciones de texto del párrafo actual. + foreach (IPortion portion in paragraph.Portions) + { + // Mostrar el texto de la porción de texto actual. + Console.WriteLine(portion.Text); + + // Mostrar la altura de la fuente del texto. + Console.WriteLine(portion.PortionFormat.FontHeight); + + // Mostrar el nombre de la fuente del texto. + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } +} +``` - //Recorrer las porciones en el IParagraph actual - foreach (IPortion port in para.Portions) - { - //Mostrar el texto en la porción actual - Console.WriteLine(port.Text); - //Mostrar la altura de la fuente del texto - Console.WriteLine(port.PortionFormat.FontHeight); +## **Extracción de texto categorizada y rápida** - //Mostrar el nombre de la fuente del texto - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } +La clase [PresentationFactory](https://reference.aspose.com/slides/net/aspose.slides/presentationfactory/) también proporciona métodos estáticos para extraer todo el texto de presentaciones: +``` cs +IPresentationText GetPresentationText(string file, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode, ILoadOptions options); ``` -## **Extracción de Texto Rápida y Categorizada** -Se ha agregado el nuevo método estático GetPresentationText a la clase Presentation. Hay dos sobrecargas para este método: -``` csharp -PresentationText GetPresentationText(Stream stream) -PresentationText GetPresentationText(Stream stream, ExtractionMode mode) +El argumento enum [TextExtractionArrangingMode](https://reference.aspose.com/slides/net/aspose.slides/textextractionarrangingmode/) indica el modo para organizar el resultado de la extracción de texto y puede establecerse en los siguientes valores: + +- `Unarranged` - El texto crudo sin considerar su posición en la diapositiva. +- `Arranged` - El texto se organiza en el mismo orden que en la diapositiva. + +El modo sin organizar (`Unarranged`) puede usarse cuando la velocidad es crítica; es más rápido que el modo organizado. + +[IPresentationText](https://reference.aspose.com/slides/net/aspose.slides/ipresentationtext/) representa el texto crudo extraído de la presentación. Contiene la propiedad [SlidesText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) del espacio de nombres [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/), que devuelve una matriz de objetos del tipo [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/). Cada objeto representa el texto en la diapositiva correspondiente. El objeto del tipo [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) tiene las siguientes propiedades: + +- `Text` - El texto dentro de las formas de la diapositiva. +- `MasterText` - El texto dentro de las formas de la diapositiva maestra asociada a esta diapositiva. +- `LayoutText` - El texto dentro de las formas de la diapositiva de diseño asociada a esta diapositiva. +- `NotesText` - El texto dentro de las formas de la diapositiva de notas asociada a esta diapositiva. +- `CommentsText` - El texto dentro de los comentarios asociados a esta diapositiva. +```cs +IPresentationText text = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); +Console.WriteLine(text.SlidesText[0].Text); +Console.WriteLine(text.SlidesText[0].LayoutText); +Console.WriteLine(text.SlidesText[0].MasterText); +Console.WriteLine(text.SlidesText[0].NotesText); +Console.WriteLine(text.SlidesText[0].CommentsText); ``` -El argumento de enumeración ExtractionMode indica el modo para organizar la salida del resultado de texto y puede configurarse a los siguientes valores: -Desorganizado - El texto sin respetar la posición en la diapositiva -Organizado - El texto está posicionado en el mismo orden que en la diapositiva -El modo desorganizado puede usarse cuando la velocidad es crítica, es más rápido que el modo organizado. +## **Preguntas frecuentes** + +**¿Qué tan rápido procesa Aspose.Slides presentaciones grandes durante la extracción de texto?** -PresentationText representa el texto crudo extraído de la presentación. Contiene una propiedad SlidesText del espacio de nombres Aspose.Slides.Util que devuelve un arreglo de objetos ISlideText. Cada objeto representa el texto en la diapositiva correspondiente. Los objetos ISlideText tienen las siguientes propiedades: +Aspose.Slides está optimizado para alto rendimiento y procesa de manera eficiente incluso presentaciones grandes, lo que lo hace adecuado para escenarios de procesamiento en tiempo real o por lotes. -ISlideText.Text - El texto en las formas de la diapositiva -ISlideText.MasterText - El texto en las formas de la página maestra para esta diapositiva -ISlideText.LayoutText - El texto en las formas de la página de diseño para esta diapositiva -ISlideText.NotesText - El texto en las formas de la página de notas para esta diapositiva +**¿Puede Aspose.Slides extraer texto de tablas y gráficos dentro de las presentaciones?** -También hay una clase SlideText que implementa la interfaz ISlideText. +Sí, Aspose.Slides admite plenamente la extracción de texto de tablas, gráficos y otros elementos complejos de la diapositiva, lo que le permite acceder y analizar todo el contenido textual fácilmente. -La nueva API se puede usar así: +**¿Necesito una licencia especial de Aspose.Slides para extraer texto de presentaciones?** -```c# -IPresentationText text1 = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); -Console.WriteLine(text1.SlidesText[0].Text); -Console.WriteLine(text1.SlidesText[0].LayoutText); -Console.WriteLine(text1.SlidesText[0].MasterText); -Console.WriteLine(text1.SlidesText[0].NotesText); -``` \ No newline at end of file +Puedes extraer texto usando la versión de prueba gratuita de Aspose.Slides, aunque tendrá ciertas limitaciones, como procesar solo un número limitado de diapositivas. Para un uso sin restricciones y manejar presentaciones más grandes, se recomienda adquirir una licencia completa. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md b/es/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md index a3ce0a0821..8090b1542e 100644 --- a/es/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md +++ b/es/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md @@ -1,42 +1,56 @@ --- -title: Administrar Configuraciones de Autofit +title: Mejora tus presentaciones con AutoFit en C# +linktitle: Gestionar ajustes de AutoFit type: docs weight: 30 url: /es/net/manage-autofit-settings/ -keywords: "Textbox, Autofit, presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Establecer las configuraciones de autofit para el cuadro de texto en PowerPoint en C# o .NET" +keywords: +- cuadro de texto +- ajuste automático +- no ajuste automático +- ajustar texto +- reducir texto +- envolver texto +- redimensionar forma +- PowerPoint +- presentación +- C# +- .NET +- Aspose.Slides +description: "Aprende a gestionar los ajustes de AutoFit en Aspose.Slides para .NET para optimizar la visualización del texto en tus presentaciones de PowerPoint y OpenDocument y mejorar la legibilidad del contenido." --- -Por defecto, cuando agregas un cuadro de texto, Microsoft PowerPoint utiliza la configuración de **Redimensionar forma para ajustar texto** para el cuadro de texto; automáticamente redimensiona el cuadro de texto para asegurarse de que su texto siempre quepa en él. +## **Descripción general** -![textbox-in-powerpoint](textbox-in-powerpoint.png) +De forma predeterminada, cuando añades un cuadro de texto, Microsoft PowerPoint usa la configuración **Redimensionar forma para ajustarse al texto** del cuadro de texto: redimensiona automáticamente el cuadro para que su texto siempre quepa en él. -* Cuando el texto en el cuadro de texto se vuelve más largo o más grande, PowerPoint automáticamente agranda el cuadro de texto—incrementa su altura—para permitir que contenga más texto. -* Cuando el texto en el cuadro de texto se vuelve más corto o más pequeño, PowerPoint automáticamente reduce el cuadro de texto—disminuye su altura—para eliminar el espacio redundante. +![Un cuadro de texto en PowerPoint](textbox-in-powerpoint.png) -En PowerPoint, estos son los 4 parámetros u opciones importantes que controlan el comportamiento de autofit para un cuadro de texto: +* Cuando el texto del cuadro de texto se vuelve más largo o más grande, PowerPoint aumenta automáticamente el cuadro—incrementando su altura—para permitir que contenga más texto. +* Cuando el texto del cuadro de texto se vuelve más corto o más pequeño, PowerPoint reduce automáticamente el cuadro—disminuyendo su altura—para eliminar el espacio redundante. -* **No Autofit** -* **Reducir texto en desbordamiento** -* **Redimensionar forma para ajustar texto** -* **Ajustar texto en la forma.** +En PowerPoint, estos son los cuatro parámetros u opciones importantes que controlan el comportamiento de ajuste automático para un cuadro de texto: -![autofit-options-powerpoint](autofit-options-powerpoint.png) +* **No ajustar automáticamente** +* **Reducir texto en desbordamiento** +* **Redimensionar forma para ajustarse al texto** +* **Ajustar texto en la forma** -Aspose.Slides para .NET proporciona opciones similares—algunas propiedades bajo la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)—que te permiten controlar el comportamiento de autofit para cuadros de texto en presentaciones. +![Opciones de ajuste automático en PowerPoint](autofit-options-powerpoint.png) -## **Redimensionar Forma para Ajustar Texto** +Aspose.Slides for .NET ofrece opciones similares—propiedades bajo la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)—que le permiten controlar el comportamiento de ajuste automático para cuadros de texto en presentaciones. -Si deseas que el texto en un cuadro siempre quepa en ese cuadro después de realizar cambios en el texto, debes utilizar la opción **Redimensionar forma para ajustar texto**. Para especificar esta configuración, establece la propiedad [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (de la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) a `Shape`. +## **Redimensionar forma para ajustarse al texto** -![alwaysfit-setting-powerpoint](alwaysfit-setting-powerpoint.png) +Si deseas que el texto en un cuadro siempre quepa dentro de ese cuadro después de realizar cambios, debes usar la opción **Redimensionar forma para ajustarse al texto**. Para especificar esta configuración, establece la propiedad `AutofitType` de la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) en `Shape`. -Este código en C# te muestra cómo especificar que un texto debe siempre ajustarse a su cuadro en una presentación de PowerPoint: +![Redimensionar forma para ajustarse al texto](alwaysfit-setting-powerpoint.png) +Este código C# muestra cómo especificar que el texto debe siempre caber en su cuadro en una presentación de PowerPoint: ```c# - using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -47,24 +61,24 @@ Este código en C# te muestra cómo especificar que un texto debe siempre ajusta ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Shape; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -Si el texto se vuelve más largo o más grande, el cuadro de texto se redimensionará automáticamente (aumento en altura) para asegurar que todo el texto quepa en él. Si el texto se vuelve más corto, ocurre lo contrario. -## **No Autofit** +Si el texto se vuelve más largo o más grande, el cuadro de texto se redimensionará automáticamente (aumentará su altura) para asegurar que todo el texto quepa en él. Si el texto se vuelve más corto, ocurre lo contrario. -Si deseas que un cuadro de texto o forma mantenga sus dimensiones sin importar los cambios realizados en el texto que contiene, debes utilizar la opción **No Autofit**. Para especificar esta configuración, establece la propiedad [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (de la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) a `None`. +## **No ajustar automáticamente** -![donotautofit-setting-powerpoint](donotautofit-setting-powerpoint.png) +Si deseas que un cuadro de texto o forma mantenga sus dimensiones sin importar los cambios realizados en el texto que contiene, debes usar la opción **No ajustar automáticamente**. Para especificar esta configuración, establece la propiedad `AutofitType` de la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) en `None`. -Este código en C# te muestra cómo especificar que un cuadro de texto debe siempre mantener sus dimensiones en una presentación de PowerPoint: +!["Do not Autofit" setting in PowerPoint](donotautofit-setting-powerpoint.png) +Este código C# muestra cómo especificar que un cuadro de texto debe siempre conservar sus dimensiones en una presentación de PowerPoint: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -75,24 +89,24 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.None; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -Cuando el texto se vuelve demasiado largo para su cuadro, se desborda. -## **Reducir Texto en Desbordamiento** +Cuando el texto se vuelve demasiado largo para su cuadro, se desborda. -Si un texto se vuelve demasiado largo para su cuadro, a través de la opción **Reducir texto en desbordamiento**, puedes especificar que el tamaño y el espaciado del texto deben reducirse para que quepan en su cuadro. Para especificar esta configuración, establece la propiedad [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (de la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) a `Normal`. +## **Reducir texto en desbordamiento** -![shrinktextonoverflow-setting-powerpoint](shrinktextonoverflow-setting-powerpoint.png) +Si el texto se vuelve demasiado largo para su cuadro, mediante la opción **Reducir texto en desbordamiento** puedes especificar que el tamaño y el espaciado del texto deben reducirse para que quepan en su cuadro. Para especificar esta configuración, establece la propiedad `AutofitType` de la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) en `Normal`. -Este código en C# te muestra cómo especificar que un texto debe comprimirse en desbordamiento en una presentación de PowerPoint: +!["Shrink text on overflow" setting in PowerPoint](shrinktextonoverflow-setting-powerpoint.png) +Este código C# muestra cómo especificar que el texto debe reducirse en caso de desbordamiento en una presentación de PowerPoint: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -103,26 +117,26 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Normal; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Información" color="info" %}} -Cuando se utiliza la opción **Reducir texto en desbordamiento**, la configuración se aplica solo cuando el texto se vuelve demasiado largo para su cuadro. +{{% alert title="Info" color="info" %}} -{{% /alert %}} +Al usar la opción **Reducir texto en desbordamiento**, la configuración se aplica solo cuando el texto se vuelve demasiado largo para su cuadro. -## **Ajustar Texto** +{{% /alert %}} -Si deseas que el texto en una forma se ajuste dentro de esa forma cuando el texto exceda el borde de la forma (solo ancho), debes utilizar el parámetro **Ajustar texto en la forma**. Para especificar esta configuración, debes establecer la propiedad [WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/wraptext) (de la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) a `true`. +## **Ajustar texto** -Este código en C# te muestra cómo usar la configuración Ajustar Texto en una presentación de PowerPoint: +Si deseas que el texto en una forma se ajuste dentro de esa forma cuando el texto supera el borde de la forma (solo en anchura), debes usar el parámetro **Ajustar texto en la forma**. Para especificar esta configuración, debes establecer la propiedad `WrapText` de la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) en `NullableBool.True`. +Este código C# muestra cómo utilizar la configuración Ajustar Texto en una presentación de PowerPoint: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -133,12 +147,27 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.WrapText = NullableBool.True; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Nota" color="warning" %}} -Si estableces la propiedad `WrapText` como `False` para una forma, cuando el texto dentro de la forma se vuelva más largo que el ancho de la forma, el texto se extiende más allá de los bordes de la forma en una sola línea. +{{% alert title="Note" color="warning" %}} + +Si estableces la propiedad `WrapText` en `NullableBool.False` para una forma, cuando el texto dentro de la forma se vuelve más largo que el ancho de la forma, el texto se extiende más allá de los bordes de la forma en una sola línea. + +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Los márgenes internos del marco de texto afectan el AutoFit?** + +Sí. El relleno (márgenes internos) reduce el área utilizable para el texto, por lo que AutoFit se activa antes—reduciendo la fuente o redimensionando la forma más pronto. Revisa y ajusta los márgenes antes de afinar AutoFit. + +**¿Cómo interactúa AutoFit con los saltos de línea manuales y suaves?** + +Los saltos forzados permanecen en su lugar, y AutoFit adapta el tamaño de fuente y el espaciado a su alrededor. Eliminar saltos innecesarios suele reducir la agresividad con la que AutoFit necesita reducir el texto. + +**¿Cambiar la fuente del tema o activar la sustitución de fuentes afecta los resultados de AutoFit?** -{{% /alert %}} \ No newline at end of file +Sí. Sustituir a una fuente con métricas de glifos diferentes cambia el ancho/alto del texto, lo que puede alterar el tamaño final de la fuente y el ajuste de líneas. Después de cualquier cambio o sustitución de fuente, vuelve a comprobar las diapositivas. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md b/es/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md index 2d403ebcf8..7da9608e95 100644 --- a/es/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md +++ b/es/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md @@ -1,59 +1,58 @@ --- -title: Administrar Listas con Viñetas y Numeradas +title: Administrar listas con viñetas y numeradas type: docs weight: 70 url: /es/net/manage-bullet-and-numbered-lists -keywords: "Viñetas, Listas con viñetas, Números, Listas numeradas, Viñetas de imagen, viñetas multinivel, Presentación de PowerPoint, C#, Csharp, Aspose.Slides for .NET" -description: "Crea listas con viñetas y numeradas en una presentación de PowerPoint en C# o .NET" +keywords: "Viñetas, Listas con viñetas, Números, Listas numeradas, Viñetas con imagen, Viñetas multinivel, Presentación PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Crear listas con viñetas y numeradas en una presentación PowerPoint con C# o .NET" --- -En **Microsoft PowerPoint**, puedes crear listas con viñetas y numeradas de la misma manera que lo haces en Word y otros editores de texto. **Aspose.Slides for .NET** también te permite usar viñetas y números en las diapositivas de tus presentaciones. +En **Microsoft PowerPoint**, puedes crear listas con viñetas y numeradas de la misma manera que lo haces en Word y otros editores de texto. **Aspose.Slides for .NET** también permite usar viñetas y números en diapositivas de tus presentaciones. -### ¿Por qué usar listas con viñetas? +## **¿Por qué usar listas con viñetas?** -Las listas con viñetas te ayudan a organizar y presentar información de manera rápida y eficiente. +Las listas con viñetas te ayudan a organizar y presentar información de forma rápida y eficiente. -**Ejemplo de Lista con Viñetas** +**Ejemplo de lista con viñetas** En la mayoría de los casos, una lista con viñetas cumple estas tres funciones principales: -- llama la atención de tus lectores o espectadores sobre información importante -- permite a tus lectores o espectadores escanear fácilmente los puntos clave +- atrae la atención de tus lectores o espectadores a información importante +- permite que tus lectores o espectadores escaneen fácilmente los puntos clave - comunica y entrega detalles importantes de manera eficiente. -### ¿Por qué usar listas numeradas? +## **¿Por qué usar listas numeradas?** -Las listas numeradas también ayudan a organizar y presentar información. Idealmente, deberías usar números (en lugar de viñetas) cuando el orden de las entradas (por ejemplo, *paso 1, paso 2*, etc.) es importante o cuando se debe hacer referencia a una entrada (por ejemplo, *ver paso 3*). +Las listas numeradas también ayudan a organizar y presentar información. Idealmente, debes usar números (en lugar de viñetas) cuando el orden de los elementos (por ejemplo, *paso 1, paso 2*, etc.) es importante o cuando un elemento debe ser referenciado (por ejemplo, *ver paso 3*). -**Ejemplo de Lista Numerada** +**Ejemplo de lista numerada** -Este es un resumen de los pasos (paso 1 a paso 15) en el procedimiento de **Creación de Viñetas** a continuación: +Este es un resumen de los pasos (paso 1 al paso 15) en el procedimiento **Creating Bullets** a continuación: -1. Crea una instancia de la clase de presentación. -2. Realiza varias tareas (paso 3 a paso 14). +1. Crea una instancia de la clase Presentation. +2. Realiza varias tareas (paso 3 al paso 14). 3. Guarda la presentación. -## Creando Viñetas +## **Creando viñetas** Para crear una lista con viñetas, sigue estos pasos: 1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accede a la diapositiva (en la que deseas agregar una lista con viñetas) en la colección de diapositivas a través del objeto [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). -3. Agrega una [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) en la diapositiva seleccionada. -4. Accede al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forma agregada. +2. Accede a la diapositiva (en la que deseas agregar una lista con viñetas) en la colección de diapositivas mediante el objeto [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). +3. Añade un [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) en la diapositiva seleccionada. +4. Accede al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forma añadida. 5. Elimina el párrafo predeterminado en el [TextFrame](). -6. Crea la primera instancia de párrafo utilizando la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). -8. Establece el tipo de viñeta como Símbolo y luego establece el carácter de la viñeta. +6. Crea la primera instancia de párrafo usando la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). +8. Establece el tipo de viñeta a Símbolo y luego define el carácter de viñeta. 9. Establece el texto del párrafo. -10. Establece la sangría del párrafo para configurar la viñeta. +10. Establece la sangría del párrafo para definir la viñeta. 11. Establece el color de la viñeta. 12. Establece la altura de la viñeta. -13. Agrega el párrafo creado a la colección de párrafos del [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -14. Agrega el segundo párrafo y repite los pasos 7-12. +13. Añade el párrafo creado en la colección de párrafos del [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +14. Añade el segundo párrafo y repite los pasos 7-12. 15. Guarda la presentación. Este código de ejemplo en C#—una implementación de los pasos anteriores—te muestra cómo crear una lista con viñetas en una diapositiva: - ```c# using (Presentation pres = new Presentation()) { @@ -69,48 +68,48 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; paragraph.ParagraphFormat.Bullet.Color.Color = Color.Red; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "Mi texto"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); // ... - + pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## Creando Viñetas de Imagen -Aspose.Slides for .NET te permite cambiar las viñetas en listas con viñetas. Puedes reemplazar las viñetas con símbolos o imágenes personalizadas. Si deseas agregar interés visual a una lista o llamar aún más la atención a las entradas de una lista, puedes usar tu propia imagen como viñeta. +## **Creando viñetas con imágenes** - {{% alert color="primary" %}} +Aspose.Slides for .NET te permite cambiar las viñetas en listas con viñetas. Puedes reemplazar las viñetas con símbolos o imágenes personalizados. Si deseas añadir interés visual a una lista o atraer aún más atención a los elementos de una lista, puedes usar tu propia imagen como viñeta. -Idealmente, si tienes intención de reemplazar el símbolo de viñeta regular por una imagen, querrás seleccionar una imagen gráfica simple con un fondo transparente. Tales imágenes funcionan mejor como símbolos de viñeta personalizados. +{{% alert color="primary" %}} -En cualquier caso, la imagen que elijas se reducirá a un tamaño muy pequeño, por lo que te recomendamos encarecidamente seleccionar una imagen que se vea bien (como reemplazo del símbolo de viñeta) en una lista. +Idealmente, si deseas reemplazar el símbolo de viñeta regular por una imagen, deberías seleccionar una imagen gráfica simple con fondo transparente. Estas imágenes funcionan mejor como símbolos de viñeta personalizados. + +En cualquier caso, la imagen que elijas se reducirá a un tamaño muy pequeño, por lo que recomendamos encarecidamente seleccionar una imagen que se vea bien (como reemplazo del símbolo de viñeta) en una lista. {{% /alert %}} -Para crear una viñeta de imagen, sigue estos pasos: +Para crear una viñeta con imagen, sigue estos pasos: 1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accede a la diapositiva deseada en la colección de diapositivas utilizando el objeto [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). -3. Agrega una [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) en la diapositiva seleccionada. -4. Accede al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forma agregada. +2. Accede a la diapositiva deseada en la colección de diapositivas usando el objeto [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). +3. Añade un [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) en la diapositiva seleccionada. +4. Accede al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forma añadida. 5. Elimina el párrafo predeterminado en el [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. Crea la primera instancia de párrafo utilizando la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). -7. Carga la imagen desde el disco y agrégala a [Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images) y luego utiliza la instancia [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) que se devolvió desde el método [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index). -8. Establece el tipo de viñeta como Imagen y luego establece la imagen. +6. Crea la primera instancia de párrafo usando la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). +7. Carga la imagen desde el disco y añádela a [Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images) y luego utiliza la instancia [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) que fue devuelta por el método [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index). +8. Establece el tipo de viñeta a Imagen y luego asigna la imagen. 9. Establece el texto del párrafo. -10. Establece la sangría del párrafo para configurar la viñeta. +10. Establece la sangría del párrafo para definir la viñeta. 11. Establece el color de la viñeta. 12. Establece la altura de las viñetas. -13. Agrega el párrafo creado a la colección de párrafos del [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -14. Agrega el segundo párrafo y repite los pasos 7-13. +13. Añade el párrafo creado en la colección de párrafos del [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +14. Añade el segundo párrafo y repite los pasos 7-13. 15. Guarda la presentación. -Este código C# te muestra cómo crear una viñeta de imagen en una diapositiva: - +Este código C# te muestra cómo crear una viñeta con imagen en una diapositiva: ```c# using (Presentation pres = new Presentation()) { @@ -126,34 +125,34 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.Picture.Image = image; paragraph.ParagraphFormat.Indent = 15; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "Mi texto"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); // ... - + pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## Creando Viñetas Multinivel -Para crear una lista con viñetas que contenga elementos en diferentes niveles—listas adicionales bajo la lista principal con viñetas—sigue estos pasos: +## **Creando viñetas multinivel** + +Para crear una lista con viñetas que contenga elementos en diferentes niveles—listas adicionales bajo la lista principal—sigue estos pasos: 1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accede a la diapositiva deseada en la colección de diapositivas utilizando el objeto [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). -3. Agrega una [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) en la diapositiva seleccionada. -4. Accede al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forma agregada. +2. Accede a la diapositiva deseada en la colección de diapositivas usando el objeto [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). +3. Añade un [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) en la diapositiva seleccionada. +4. Accede al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forma añadida. 5. Elimina el párrafo predeterminado en el [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. Crea la primera instancia de párrafo utilizando la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) y con la profundidad establecida en 0. -7. Crea la segunda instancia de párrafo utilizando la clase Paragraph y la profundidad establecida en 1. -8. Crea la tercera instancia de párrafo utilizando la clase Paragraph y la profundidad establecida en 2. -9. Crea la cuarta instancia de párrafo utilizando la clase Paragraph y la profundidad establecida en 3. -10. Agrega los párrafos creados a la colección de párrafos del [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +6. Crea la primera instancia de párrafo usando la clase [Paragraph] y con la profundidad establecida en 0. +7. Crea la segunda instancia de párrafo usando la clase Paragraph y con la profundidad establecida en 1. +8. Crea la tercera instancia de párrafo usando la clase Paragraph y con la profundidad establecida en 2. +9. Crea la cuarta instancia de párrafo usando la clase Paragraph y con la profundidad establecida en 3. +10. Añade los párrafos creados en la colección de párrafos del [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). 11. Guarda la presentación. -Este código, que es una implementación de los pasos anteriores, te muestra cómo crear una lista con viñetas multinivel en C#: - +Este código, que es una implementación de los pasos anteriores, te muestra cómo crear una lista de viñetas multinivel en C#: ```c# using (Presentation pres = new Presentation()) { @@ -164,32 +163,32 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Depth = 0; - paragraph.Text = "Mi texto Profundidad 0"; + paragraph.Text = "My text Depth 0"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); paragraph2.ParagraphFormat.Depth = 0; - paragraph2.Text = "Mi texto Profundidad 1"; + paragraph2.Text = "My text Depth 1"; textFrame.Paragraphs.Add(paragraph2); Paragraph paragraph3 = new Paragraph(); paragraph3.ParagraphFormat.Depth = 2; - paragraph3.Text = "Mi texto Profundidad 2"; + paragraph3.Text = "My text Depth 2"; textFrame.Paragraphs.Add(paragraph3); Paragraph paragraph4 = new Paragraph(); paragraph4.ParagraphFormat.Depth = 3; - paragraph4.Text = "Mi texto Profundidad 3"; + paragraph4.Text = "My text Depth 3"; textFrame.Paragraphs.Add(paragraph4); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## Creando Números -Este código C# te muestra cómo crear una lista numerada en una diapositiva: +## **Creando números** +Este código C# te muestra cómo crear una lista numerada en una diapositiva: ```c# using (Presentation pres = new Presentation()) { @@ -200,16 +199,31 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph.Text = "Mi texto 1"; + paragraph.Text = "My text 1"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph2.Text = "Mi texto 2"; + paragraph2.Text = "My text 2"; textFrame.Paragraphs.Add(paragraph2); // ... pres.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Se pueden exportar las listas con viñetas y numeradas creadas con Aspose.Slides a otros formatos como PDF o imágenes?** + +Sí, Aspose.Slides preserva completamente el formato y la estructura de las listas con viñetas y numeradas cuando las presentaciones se exportan a formatos como PDF, imágenes y otros, garantizando resultados consistentes. + +**¿Es posible importar listas con viñetas o numeradas desde presentaciones existentes?** + +Sí, Aspose.Slides permite importar y editar listas con viñetas o numeradas de presentaciones existentes preservando su formato y apariencia originales. + +**¿Aspose.Slides admite listas con viñetas y numeradas en presentaciones creadas en varios idiomas?** + +Sí, Aspose.Slides admite completamente presentaciones multilingües, lo que permite crear listas con viñetas y numeradas en cualquier idioma, incluido el uso de caracteres especiales o no latinos. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md b/es/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md index 8d6752feb2..4d8ba5f740 100644 --- a/es/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md +++ b/es/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md @@ -1,46 +1,52 @@ --- -title: Administrar párrafos de PowerPoint en C# +title: Administrar párrafo de PowerPoint en C# type: docs weight: 40 url: /es/net/manage-paragraph/ -keywords: -- agregar párrafo +keywords: +- agregar texto +- agregar párrafos +- gestionar texto - gestionar párrafos - sangría de párrafo -- propiedades del párrafo -- texto HTML -- exportar texto del párrafo +- viñeta de párrafo +- lista numerada +- propiedades de párrafo +- importar HTML +- texto a HTML +- párrafo a HTML +- párrafos a imágenes +- exportar párrafos - presentación de PowerPoint - C# - Csharp - Aspose.Slides para .NET -description: "Crear y gestionar párrafos, texto, sangrías y propiedades en presentaciones de PowerPoint en C# o .NET" +description: "Crear párrafos y gestionar las propiedades de los párrafos en presentaciones de PowerPoint en C# o .NET" --- -Aspose.Slides proporciona todas las interfaces y clases que necesita para trabajar con textos, párrafos y porciones de PowerPoint en C#. +Aspose.Slides proporciona todas las interfaces y clases que necesita para trabajar con textos, párrafos y fragmentos de PowerPoint en C#. -* Aspose.Slides proporciona la interfaz [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) para permitirle agregar objetos que representan un párrafo. Un objeto `ITextFame` puede tener uno o varios párrafos (cada párrafo se crea a través de un retorno de carro). -* Aspose.Slides proporciona la interfaz [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) para permitirle agregar objetos que representan porciones. Un objeto `IParagraph` puede tener una o varias porciones (colección de objetos iPortions). -* Aspose.Slides proporciona la interfaz [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) para permitirle agregar objetos que representan textos y sus propiedades de formato. +* Aspose.Slides proporciona la interfaz [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) para permitirle agregar objetos que representan un párrafo. Un objeto `ITextFame` puede tener uno o varios párrafos (cada párrafo se crea mediante un retorno de carro). +* Aspose.Slides proporciona la interfaz [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) para permitirle agregar objetos que representan fragmentos. Un objeto `IParagraph` puede tener uno o varios fragmentos (colección de objetos iPortions). +* Aspose.Slides proporciona la interfaz [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) para permitirle agregar objetos que representan textos y sus propiedades de formato. -Un objeto `IParagraph` es capaz de manejar textos con diferentes propiedades de formato a través de sus objetos `IPortion` subyacentes. +Un objeto `IParagraph` es capaz de manejar textos con diferentes propiedades de formato mediante sus objetos subyacentes `IPortion`. -## **Agregar múltiples párrafos que contienen múltiples porciones** +## **Agregar varios párrafos que contienen varios fragmentos** -Estos pasos le muestran cómo agregar un marco de texto que contenga 3 párrafos y cada párrafo contenga 3 porciones: +Estos pasos le muestran cómo agregar un marco de texto que contiene 3 párrafos y cada párrafo contiene 3 fragmentos: 1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Acceda a la referencia de la diapositiva relevante a través de su índice. -3. Agregue un Rectángulo [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) a la diapositiva. -4. Obtenga el ITextFrame asociado con el [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). -5. Cree dos objetos [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) y agréguelo a la colección `IParagraphs` del [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +2. Acceda a la referencia de la diapositiva correspondiente mediante su índice. +3. Agregue un rectángulo [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) a la diapositiva. +4. Obtenga el ITextFrame asociado al [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +5. Cree dos objetos [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) y agréguelos a la colección `IParagraphs` del [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). 6. Cree tres objetos [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) para cada nuevo `IParagraph` (dos objetos Portion para el párrafo predeterminado) y agregue cada objeto `IPortion` a la colección IPortion de cada `IParagraph`. -7. Establezca algún texto para cada porción. -8. Aplique sus características de formato preferidas a cada porción utilizando las propiedades de formato expuestas por el objeto `IPortion`. +7. Establezca algún texto para cada fragmento. +8. Aplique sus características de formato preferidas a cada fragmento usando las propiedades de formato expuestas por el objeto `IPortion`. 9. Guarde la presentación modificada. -Este código C# es una implementación de los pasos para agregar párrafos que contienen porciones: - +Este código C# es una implementación de los pasos para agregar párrafos que contienen fragmentos: ```c# // Instancia una clase Presentation que representa un archivo PPTX using (Presentation pres = new Presentation()) @@ -48,13 +54,13 @@ using (Presentation pres = new Presentation()) // Accede a la primera diapositiva ISlide slide = pres.Slides[0]; - // Agrega un Rectángulo IAutoShape + // Agrega un IAutoShape de tipo Rectángulo IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 150, 300, 150); // Accede al TextFrame del AutoShape ITextFrame tf = ashp.TextFrame; - // Crea Párrafos y Porciones con diferentes formatos de texto + // Crea párrafos y fragmentos con diferentes formatos de texto IParagraph para0 = tf.Paragraphs[0]; IPortion port01 = new Portion(); IPortion port02 = new Portion(); @@ -100,30 +106,29 @@ using (Presentation pres = new Presentation()) } // Guarda la presentación modificada pres.Save("multiParaPort_out.pptx", SaveFormat.Pptx); - +} ``` -## **Gestionar Viñetas de Párrafo** -Las listas con viñetas ayudan a organizar y presentar información de manera rápida y eficiente. Los párrafos con viñetas son siempre más fáciles de leer y entender. +## **Administrar viñetas de párrafo** +Las listas con viñetas le ayudan a organizar y presentar información de forma rápida y eficiente. Los párrafos con viñetas siempre son más fáciles de leer y comprender. 1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Acceda a la referencia de la diapositiva relevante a través de su índice. -3. Agregue un [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) a la diapositiva seleccionada. -4. Acceda al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) del autoshape. +2. Acceda a la referencia de la diapositiva correspondiente mediante su índice. +3. Agregue una [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) a la diapositiva seleccionada. +4. Acceda al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) de la autoshape. 5. Elimine el párrafo predeterminado en el `TextFrame`. -6. Cree la instancia del primer párrafo utilizando la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). -8. Establezca el `Type` de la viñeta del párrafo en `Symbol` y establezca el carácter de la viñeta. +6. Cree la primera instancia de párrafo usando la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). +8. Establezca el `Type` de viñeta para el párrafo en `Symbol` y establezca el carácter de viñeta. 9. Establezca el `Text` del párrafo. -10. Establezca la `Indent` del párrafo para la viñeta. +10. Establezca el `Indent` del párrafo para la viñeta. 11. Establezca un color para la viñeta. -12. Establezca una altura para la viñeta. +12. Establezca la altura de la viñeta. 13. Agregue el nuevo párrafo a la colección de párrafos del `TextFrame`. -14. Agregue el segundo párrafo y repita el proceso indicado en los pasos 7 a 13. +14. Agregue el segundo párrafo y repita el proceso dado en los pasos 7 a 13. 15. Guarde la presentación. Este código C# le muestra cómo agregar una viñeta de párrafo: - ```c# // Instancia una clase Presentation que representa un archivo PPTX using (Presentation pres = new Presentation()) @@ -133,7 +138,7 @@ using (Presentation pres = new Presentation()) ISlide slide = pres.Slides[0]; - // Agrega y accede a Autoshape + // Añade y accede al Autoshape IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); // Accede al marco de texto del autoshape @@ -145,12 +150,12 @@ using (Presentation pres = new Presentation()) // Crea un párrafo Paragraph para = new Paragraph(); - // Establece un estilo y símbolo de viñeta para el párrafo + // Establece el estilo de viñeta y símbolo del párrafo para.ParagraphFormat.Bullet.Type = BulletType.Symbol; para.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); - // Establece un texto para el párrafo - para.Text = "Bienvenido a Aspose.Slides"; + // Establece el texto del párrafo + para.Text = "Welcome to Aspose.Slides"; // Establece la sangría de la viñeta para.ParagraphFormat.Indent = 25; @@ -158,35 +163,35 @@ using (Presentation pres = new Presentation()) // Establece el color de la viñeta para.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; para.ParagraphFormat.Bullet.Color.Color = Color.Black; - para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // establece IsBulletHardColor en verdadero para usar el color de viñeta propio + para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // establecer IsBulletHardColor en true para usar el propio color de viñeta // Establece la altura de la viñeta para.ParagraphFormat.Bullet.Height = 100; - // Agrega el párrafo al marco de texto + // Añade el párrafo al marco de texto txtFrm.Paragraphs.Add(para); - // Crea un segundo párrafo + // Crea el segundo párrafo Paragraph para2 = new Paragraph(); - // Establece el tipo y estilo de la viñeta del párrafo + // Establece el tipo y estilo de viñeta del párrafo para2.ParagraphFormat.Bullet.Type = BulletType.Numbered; para2.ParagraphFormat.Bullet.NumberedBulletStyle = NumberedBulletStyle.BulletCircleNumWDBlackPlain; // Agrega el texto del párrafo - para2.Text = "Esta es una viñeta numerada"; + para2.Text = "This is numbered bullet"; // Establece la sangría de la viñeta para2.ParagraphFormat.Indent = 25; para2.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; para2.ParagraphFormat.Bullet.Color.Color = Color.Black; - para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // establece IsBulletHardColor en verdadero para usar el color de viñeta propio + para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // establecer IsBulletHardColor en true para usar el propio color de viñeta // Establece la altura de la viñeta para2.ParagraphFormat.Bullet.Height = 100; - // Agrega el párrafo al marco de texto + // Añade el párrafo al marco de texto txtFrm.Paragraphs.Add(para2); @@ -197,27 +202,26 @@ using (Presentation pres = new Presentation()) ``` -## **Gestionar Viñetas con Imágenes** -Las listas con viñetas ayudan a organizar y presentar información de manera rápida y eficiente. Los párrafos con imágenes son fáciles de leer y entender. +## **Administrar viñetas de imagen** +Las listas con viñetas le ayudan a organizar y presentar información de forma rápida y eficiente. Los párrafos con viñetas de imagen son fáciles de leer y comprender. 1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Acceda a la referencia de la diapositiva relevante a través de su índice. -3. Agregue un [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) a la diapositiva. -4. Acceda al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) del autoshape. +2. Acceda a la referencia de la diapositiva correspondiente mediante su índice. +3. Agregue una [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) a la diapositiva. +4. Acceda al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) de la autoshape. 5. Elimine el párrafo predeterminado en el `TextFrame`. -6. Cree la instancia del primer párrafo utilizando la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). +6. Cree la primera instancia de párrafo usando la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). 7. Cargue la imagen en [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/). -8. Establezca el tipo de viñeta en [Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) y establezca la imagen. +8. Establezca el tipo de viñeta a [Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) y establezca la imagen. 9. Establezca el `Text` del párrafo. -10. Establezca la `Indent` del párrafo para la viñeta. +10. Establezca el `Indent` del párrafo para la viñeta. 11. Establezca un color para la viñeta. -12. Establezca una altura para la viñeta. +12. Establezca la altura de la viñeta. 13. Agregue el nuevo párrafo a la colección de párrafos del `TextFrame`. -14. Agregue el segundo párrafo y repita el proceso según los pasos anteriores. +14. Agregue el segundo párrafo y repita el proceso basado en los pasos anteriores. 15. Guarde la presentación modificada. -Este código C# le muestra cómo agregar y gestionar viñetas con imágenes: - +Este código C# le muestra cómo agregar y administrar viñetas de imagen: ```c# // Instancia una clase Presentation que representa un archivo PPTX Presentation presentation = new Presentation(); @@ -225,12 +229,12 @@ Presentation presentation = new Presentation(); // Accede a la primera diapositiva ISlide slide = presentation.Slides[0]; -// Instancia la imagen para las viñetas +// Instancia la imagen para viñetas IImage image = Images.FromFile("bullets.png"); IPPImage ippxImage = presentation.Images.AddImage(image); image.Dispose(); -// Agrega y accede a Autoshape +// Agrega y accede al Autoshape IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); // Accede al marco de texto del autoshape @@ -241,9 +245,9 @@ textFrame.Paragraphs.RemoveAt(0); // Crea un nuevo párrafo Paragraph paragraph = new Paragraph(); -paragraph.Text = "Bienvenido a Aspose.Slides"; +paragraph.Text = "Welcome to Aspose.Slides"; -// Establece el estilo y la imagen de la viñeta +// Establece el estilo de viñeta del párrafo y la imagen paragraph.ParagraphFormat.Bullet.Type = BulletType.Picture; paragraph.ParagraphFormat.Bullet.Picture.Image = ippxImage; @@ -253,116 +257,114 @@ paragraph.ParagraphFormat.Bullet.Height = 100; // Agrega el párrafo al marco de texto textFrame.Paragraphs.Add(paragraph); -// Escribe la presentación como archivo PPTX +// Guarda la presentación como archivo PPTX presentation.Save("ParagraphPictureBulletsPPTX_out.pptx", SaveFormat.Pptx); -// Escribe la presentación como archivo PPT +// Guarda la presentación como archivo PPT presentation.Save("ParagraphPictureBulletsPPT_out.ppt", SaveFormat.Ppt); ``` -## **Gestionar Viñetas Multinivel** -Las listas con viñetas ayudan a organizar y presentar información de manera rápida y eficiente. Las viñetas multinivel son fáciles de leer y entender. +## **Administrar viñetas multinivel** +Las listas con viñetas le ayudan a organizar y presentar información de forma rápida y eficiente. Las viñetas multinivel son fáciles de leer y comprender. -1. Cree una instancia de la clase [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Acceda a la referencia de la diapositiva relevante a través de su índice. -3. Agregue un [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) en la nueva diapositiva. -4. Acceda al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) del autoshape. +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) . +2. Acceda a la referencia de la diapositiva correspondiente mediante su índice. +3. Agregue una [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) en la nueva diapositiva. +4. Acceda al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) de la autoshape. 5. Elimine el párrafo predeterminado en el `TextFrame`. -6. Cree la instancia del primer párrafo a través de la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) y establezca la profundidad en 0. -7. Cree la instancia del segundo párrafo a través de la clase `Paragraph` y establezca la profundidad en 1. -8. Cree la instancia del tercer párrafo a través de la clase `Paragraph` y establezca la profundidad en 2. -9. Cree la instancia del cuarto párrafo a través de la clase `Paragraph` y establezca la profundidad en 3. +6. Cree la primera instancia de párrafo a través de la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) y establezca la profundidad en 0. +7. Cree la segunda instancia de párrafo a través de la clase `Paragraph` y establezca la profundidad en 1. +8. Cree la tercera instancia de párrafo a través de la clase `Paragraph` y establezca la profundidad en 2. +9. Cree la cuarta instancia de párrafo a través de la clase `Paragraph` y establezca la profundidad en 3. 10. Agregue los nuevos párrafos a la colección de párrafos del `TextFrame`. 11. Guarde la presentación modificada. -Este código C# le muestra cómo agregar y gestionar viñetas multinivel: - +Este código C# le muestra cómo agregar y administrar viñetas multinivel: ```c# -// Instancia una clase Presentation que representa un archivo PPTX -using (Presentation pres = new Presentation()) -{ - - // Accede a la primera diapositiva - ISlide slide = pres.Slides[0]; - - // Agrega y accede a Autoshape - IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - - // Accede al marco de texto del autoshape creado - ITextFrame text = aShp.AddTextFrame(""); - - // Limpia el párrafo predeterminado - text.Paragraphs.Clear(); - - // Agrega el primer párrafo - IParagraph para1 = new Paragraph(); - para1.Text = "Contenido"; - para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; - para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); - para1.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; - para1.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Establece el nivel de la viñeta - para1.ParagraphFormat.Depth = 0; - - // Agrega el segundo párrafo - IParagraph para2 = new Paragraph(); - para2.Text = "Segundo Nivel"; - para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; - para2.ParagraphFormat.Bullet.Char = '-'; - para2.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; - para2.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Establece el nivel de la viñeta - para2.ParagraphFormat.Depth = 1; - - // Agrega el tercer párrafo - IParagraph para3 = new Paragraph(); - para3.Text = "Tercer Nivel"; - para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; - para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); - para3.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; - para3.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Establece el nivel de la viñeta - para3.ParagraphFormat.Depth = 2; - - // Agrega el cuarto párrafo - IParagraph para4 = new Paragraph(); - para4.Text = "Cuarto Nivel"; - para4.ParagraphFormat.Bullet.Type = BulletType.Symbol; - para4.ParagraphFormat.Bullet.Char = '-'; - para4.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; - para4.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Establece el nivel de la viñeta - para4.ParagraphFormat.Depth = 3; - - // Agrega párrafos a la colección - text.Paragraphs.Add(para1); - text.Paragraphs.Add(para2); - text.Paragraphs.Add(para3); - text.Paragraphs.Add(para4); - - // Escribe la presentación como archivo PPTX - pres.Save("MultilevelBullet.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -} + // Instancia una clase Presentation que representa un archivo PPTX + using (Presentation pres = new Presentation()) + { + + // Accede a la primera diapositiva + ISlide slide = pres.Slides[0]; + + // Agrega y accede al Autoshape + IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); + + // Accede al marco de texto del Autoshape creado + ITextFrame text = aShp.AddTextFrame(""); + + // Borra el párrafo predeterminado + text.Paragraphs.Clear(); + + // Agrega el primer párrafo + IParagraph para1 = new Paragraph(); + para1.Text = "Content"; + para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; + para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); + para1.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + para1.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + // Establece el nivel de viñeta + para1.ParagraphFormat.Depth = 0; + + // Agrega el segundo párrafo + IParagraph para2 = new Paragraph(); + para2.Text = "Second Level"; + para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; + para2.ParagraphFormat.Bullet.Char = '-'; + para2.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + para2.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + // Establece el nivel de viñeta + para2.ParagraphFormat.Depth = 1; + + // Agrega el tercer párrafo + IParagraph para3 = new Paragraph(); + para3.Text = "Third Level"; + para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; + para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); + para3.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + para3.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + // Establece el nivel de viñeta + para3.ParagraphFormat.Depth = 2; + + // Agrega el cuarto párrafo + IParagraph para4 = new Paragraph(); + para4.Text = "Fourth Level"; + para4.ParagraphFormat.Bullet.Type = BulletType.Symbol; + para4.ParagraphFormat.Bullet.Char = '-'; + para4.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + para4.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + // Establece el nivel de viñeta + para4.ParagraphFormat.Depth = 3; + + // Agrega los párrafos a la colección + text.Paragraphs.Add(para1); + text.Paragraphs.Add(para2); + text.Paragraphs.Add(para3); + text.Paragraphs.Add(para4); + + // Guarda la presentación como archivo PPTX + pres.Save("MultilevelBullet.pptx", Aspose.Slides.Export.SaveFormat.Pptx); + } ``` -## **Gestionar Párrafos con Lista Numerada Personalizada** -La interfaz [IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) proporciona la propiedad [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) y otras que le permiten gestionar párrafos con numeración o formato personalizado. +## **Administrar párrafo con lista numerada personalizada** +La interfaz [IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) proporciona la propiedad [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) y otras que le permiten administrar párrafos con numeración o formato personalizado. -1. Cree una instancia de la clase [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) . 2. Acceda a la diapositiva que contiene el párrafo. -3. Agregue un [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) a la diapositiva. -4. Acceda al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) del autoshape. +3. Agregue una [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) a la diapositiva. +4. Acceda al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) de la autoshape. 5. Elimine el párrafo predeterminado en el `TextFrame`. -6. Cree la instancia del primer párrafo a través de la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) y establezca [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) en 2. -7. Cree la instancia del segundo párrafo a través de la clase `Paragraph` y establezca `NumberedBulletStartWith` en 3. -8. Cree la instancia del tercer párrafo a través de la clase `Paragraph` y establezca `NumberedBulletStartWith` en 7. +6. Cree la primera instancia de párrafo a través de la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) y establezca [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) en 2. +7. Cree la segunda instancia de párrafo a través de la clase `Paragraph` y establezca `NumberedBulletStartWith` en 3. +8. Cree la tercera instancia de párrafo a través de la clase `Paragraph` y establezca `NumberedBulletStartWith` en 7. 9. Agregue los nuevos párrafos a la colección de párrafos del `TextFrame`. 10. Guarde la presentación modificada. -Este código C# le muestra cómo agregar y gestionar párrafos con numeración o formato personalizado: - +Este código C# le muestra cómo agregar y administrar párrafos con numeración o formato personalizado: ```c# using (var presentation = new Presentation()) { @@ -371,24 +373,24 @@ using (var presentation = new Presentation()) // Accede al marco de texto del autoshape creado ITextFrame textFrame = shape.TextFrame; - // Elimina el párrafo existente predeterminado + // Elimina el párrafo predeterminado existente textFrame.Paragraphs.RemoveAt(0); - // Primer lista - var paragraph1 = new Paragraph { Text = "viñeta 2" }; + // Primera lista + var paragraph1 = new Paragraph { Text = "bullet 2" }; paragraph1.ParagraphFormat.Depth = 4; paragraph1.ParagraphFormat.Bullet.NumberedBulletStartWith = 2; paragraph1.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph1); - var paragraph2 = new Paragraph { Text = "viñeta 3" }; + var paragraph2 = new Paragraph { Text = "bullet 3" }; paragraph2.ParagraphFormat.Depth = 4; paragraph2.ParagraphFormat.Bullet.NumberedBulletStartWith = 3; paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph2); - var paragraph5 = new Paragraph { Text = "viñeta 7" }; + var paragraph5 = new Paragraph { Text = "bullet 7" }; paragraph5.ParagraphFormat.Depth = 4; paragraph5.ParagraphFormat.Bullet.NumberedBulletStartWith = 7; paragraph5.ParagraphFormat.Bullet.Type = BulletType.Numbered; @@ -399,40 +401,39 @@ using (var presentation = new Presentation()) ``` -## **Establecer Sangría del Párrafo** +## **Establecer sangría de párrafo** 1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Acceda a la referencia de la diapositiva relevante a través de su índice. -1. Agregue un [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) rectangular a la diapositiva. -1. Agregue un [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) con tres párrafos al autoshape rectangular. -1. Oculte las líneas del rectángulo. +1. Acceda a la referencia de la diapositiva correspondiente mediante su índice. +1. Agregue una forma rectangular [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) a la diapositiva. +1. Agregue un [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) con tres párrafos a la forma rectangular. +1. Oculte las líneas de la forma rectangular. 1. Establezca la sangría para cada [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) a través de su propiedad BulletOffset. 1. Escriba la presentación modificada como un archivo PPT. Este código C# le muestra cómo establecer una sangría de párrafo: - ```c# -// Instancia la clase Presentation +// Instanciar la clase Presentation Presentation pres = new Presentation(); -// Obtiene la primera diapositiva +// Obtener la primera diapositiva ISlide sld = pres.Slides[0]; -// Agrega una forma rectangular +// Agregar una forma rectangular IAutoShape rect = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 500, 150); -// Agrega un TextFrame al Rectángulo -ITextFrame tf = rect.AddTextFrame("Esta es la primera línea \rEsta es la segunda línea \rEsta es la tercera línea"); +// Agregar TextFrame al rectángulo +ITextFrame tf = rect.AddTextFrame("This is first line \rThis is second line \rThis is third line"); -// Ajusta el texto para que se ajuste a la forma +// Configurar el texto para que se ajuste a la forma tf.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// Oculta las líneas del Rectángulo +// Ocultar las líneas del rectángulo rect.LineFormat.FillFormat.FillType = FillType.Solid; -// Obtiene el primer párrafo en el TextFrame y establece su sangría +// Obtener el primer párrafo en el TextFrame y establecer su sangría IParagraph para1 = tf.Paragraphs[0]; -// Establece el estilo y símbolo de viñeta del párrafo +// Establecer el estilo de viñeta del párrafo y el símbolo para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.Alignment = TextAlignment.Left; @@ -440,7 +441,7 @@ para1.ParagraphFormat.Alignment = TextAlignment.Left; para1.ParagraphFormat.Depth = 2; para1.ParagraphFormat.Indent = 30; -// Obtiene el segundo párrafo en el TextFrame y establece su sangría +// Obtener el segundo párrafo en el TextFrame y establecer su sangría IParagraph para2 = tf.Paragraphs[1]; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -448,7 +449,7 @@ para2.ParagraphFormat.Alignment = TextAlignment.Left; para2.ParagraphFormat.Depth = 2; para2.ParagraphFormat.Indent = 40; -// Obtiene el tercer párrafo en el TextFrame y establece su sangría +// Obtener el tercer párrafo en el TextFrame y establecer su sangría IParagraph para3 = tf.Paragraphs[2]; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -456,14 +457,14 @@ para3.ParagraphFormat.Alignment = TextAlignment.Left; para3.ParagraphFormat.Depth = 2; para3.ParagraphFormat.Indent = 50; -// Escribe la presentación en el disco +// Guardar la presentación en disco pres.Save("InOutDent_out.pptx", SaveFormat.Pptx); ``` -## **Establecer Sangría Colgante para el Párrafo** -Este código C# le muestra cómo establecer la sangría colgante para un párrafo: +## **Establecer sangría colgante para párrafo** +Este código C# le muestra cómo establecer la sangría colgante para un párrafo: ```c# using (Presentation pres = new Presentation()) { @@ -471,15 +472,15 @@ using (Presentation pres = new Presentation()) Paragraph para1 = new Paragraph { - Text = "Ejemplo" + Text = "Example" }; Paragraph para2 = new Paragraph { - Text = "Establecer Sangría Colgante para el Párrafo" + Text = "Set Hanging Indent for Paragraph" }; Paragraph para3 = new Paragraph { - Text = "Este código C# le muestra cómo establecer la sangría colgante para un párrafo: " + Text = "This C# code shows you how to set the hanging indent for a paragraph: " }; para2.ParagraphFormat.MarginLeft = 10f; @@ -493,28 +494,28 @@ using (Presentation pres = new Presentation()) } ``` -## **Gestionar Propiedades de Fin del Párrafo para el Párrafo** -1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) . -1. Obtenga la referencia para la diapositiva que contiene el párrafo a través de su posición. -1. Agregue un [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) rectangular a la diapositiva. -1. Agregue un [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) con dos párrafos al Rectángulo. -1. Establezca la `FontHeight` y el tipo de fuente para los párrafos. -1. Establezca las propiedades de Fin para los párrafos. -1. Escriba la presentación modificada como un archivo PPTX. +## **Administrar propiedades de ejecución final de párrafo** -Este código C# le muestra cómo establecer las propiedades de Fin para los párrafos en PowerPoint: +1. Cree una instancia de [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. +1. Obtenga la referencia de la diapositiva que contiene el párrafo a través de su posición. +1. Agregue una forma rectangular [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) a la diapositiva. +1. Agregue un [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) con dos párrafos a la forma rectangular. +1. Establezca el `FontHeight` y el tipo de fuente para los párrafos. +1. Establezca las propiedades End para los párrafos. +1. Escriba la presentación modificada como un archivo PPTX. +Este código C# le muestra cómo establecer las propiedades End para los párrafos en PowerPoint: ```c# using (Presentation pres = new Presentation("Test.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 200, 250); Paragraph para1 = new Paragraph(); - para1.Portions.Add(new Portion("Texto de ejemplo")); + para1.Portions.Add(new Portion("Sample text")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("Texto de ejemplo 2")); + para2.Portions.Add(new Portion("Sample text 2")); PortionFormat endParagraphPortionFormat = new PortionFormat(); endParagraphPortionFormat.FontHeight = 48; endParagraphPortionFormat.LatinFont = new FontData("Times New Roman"); @@ -528,63 +529,61 @@ using (Presentation pres = new Presentation("Test.pptx")) ``` -## **Importar Texto HTML en Párrafos** -Aspose.Slides proporciona un soporte mejorado para importar texto HTML en párrafos. +## **Importar texto HTML en párrafos** +Aspose.Slides proporciona soporte mejorado para importar texto HTML en párrafos. 1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Acceda a la referencia de la diapositiva relevante a través de su índice. -3. Agregue un [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) a la diapositiva. -4. Agregue y acceda a `autoshape` [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/). +2. Acceda a la referencia de la diapositiva correspondiente mediante su índice. +3. Agregue una [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) a la diapositiva. +4. Agregue y acceda al [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) de la autoshape. 5. Elimine el párrafo predeterminado en el `ITextFrame`. 6. Lea el archivo HTML fuente en un TextReader. -7. Cree la instancia del primer párrafo a través de la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). -8. Agregue el contenido del archivo HTML en el TextReader leído a la [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) del TextFrame. +7. Cree la primera instancia de párrafo a través de la clase [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). +8. Agregue el contenido del archivo HTML leído por el TextReader al [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) del TextFrame. 9. Guarde la presentación modificada. Este código C# es una implementación de los pasos para importar textos HTML en párrafos: - ```c# -// Crea una instancia de presentación vacía -using (Presentation pres = new Presentation()) -{ - // Accede a la primera diapositiva predeterminada de la presentación - ISlide slide = pres.Slides[0]; + // Crea una instancia de presentación vacía + using (Presentation pres = new Presentation()) + { + // Accede a la primera diapositiva predeterminada de la presentación + ISlide slide = pres.Slides[0]; - // Agrega un AutoShape para albergar el contenido HTML - IAutoShape ashape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, pres.SlideSize.Size.Width - 20, pres.SlideSize.Size.Height - 10); + // Agrega el AutoShape para contener el contenido HTML + IAutoShape ashape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, pres.SlideSize.Size.Width - 20, pres.SlideSize.Size.Height - 10); - ashape.FillFormat.FillType = FillType.NoFill; + ashape.FillFormat.FillType = FillType.NoFill; - // Agrega un marco de texto a la forma - ashape.AddTextFrame(""); + // Agrega un marco de texto a la forma + ashape.AddTextFrame(""); - // Limpia todos los párrafos en el marco de texto agregado - ashape.TextFrame.Paragraphs.Clear(); + // Borra todos los párrafos en el marco de texto agregado + ashape.TextFrame.Paragraphs.Clear(); - // Carga el archivo HTML utilizando un lector de flujo - TextReader tr = new StreamReader("file.html"); + // Carga el archivo HTML usando un lector de flujo + TextReader tr = new StreamReader("file.html"); - // Agrega el texto del lector de flujo HTML en el marco de texto - ashape.TextFrame.Paragraphs.AddFromHtml(tr.ReadToEnd()); + // Agrega el texto del lector de flujo HTML al marco de texto + ashape.TextFrame.Paragraphs.AddFromHtml(tr.ReadToEnd()); - // Guarda la Presentación - pres.Save("output_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -} + // Guarda la presentación + pres.Save("output_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); + } ``` -## **Exportar Texto de Párrafos a HTML** -Aspose.Slides proporciona un soporte mejorado para exportar textos (contenidos en párrafos) a HTML. +## **Exportar texto de párrafos a HTML** +Aspose.Slides proporciona soporte mejorado para exportar textos (contenidos en párrafos) a HTML. 1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) y cargue la presentación deseada. -2. Acceda a la referencia de la diapositiva relevante a través de su índice. +2. Acceda a la referencia de la diapositiva correspondiente mediante su índice. 3. Acceda a la forma que contiene el texto que se exportará a HTML. 4. Acceda al [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) de la forma. -5. Cree una instancia de `StreamWriter` y agregue el nuevo archivo HTML. +5. Cree una instancia de `StreamWriter` y añada el nuevo archivo HTML. 6. Proporcione un índice inicial a StreamWriter y exporte sus párrafos preferidos. Este código C# le muestra cómo exportar textos de párrafos de PowerPoint a HTML: - ```c# // Carga el archivo de presentación using (Presentation pres = new Presentation("ExportingHTMLText.pptx")) @@ -601,9 +600,119 @@ using (Presentation pres = new Presentation("ExportingHTMLText.pptx")) StreamWriter sw = new StreamWriter("output_out.html", false, Encoding.UTF8); - // Escribe datos de párrafos en HTML especificando el índice inicial del párrafo y la cantidad de párrafos a copiar + // Escribe los datos de los párrafos a HTML especificando el índice inicial del párrafo y el número de párrafos a copiar sw.Write(ashape.TextFrame.Paragraphs.ExportToHtml(0, ashape.TextFrame.Paragraphs.Count, null)); sw.Close(); } -``` \ No newline at end of file +``` + + +## **Guardar un párrafo como imagen** + +En esta sección, exploraremos dos ejemplos que demuestran cómo guardar un párrafo de texto, representado por la interfaz [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/), como una imagen. Ambos ejemplos incluyen la obtención de la imagen de una forma que contiene el párrafo usando los métodos `GetImage` de la interfaz [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/), el cálculo de los límites del párrafo dentro de la forma y la exportación como una imagen bitmap. Estos enfoques le permiten extraer partes específicas del texto de presentaciones PowerPoint y guardarlas como imágenes separadas, lo que puede ser útil para su uso posterior en varios escenarios. + +Supongamos que tenemos un archivo de presentación llamado sample.pptx con una diapositiva, donde la primera forma es un cuadro de texto que contiene tres párrafos. + +![The text box with three paragraphs](paragraph_to_image_input.png) + +**Example 1** + +En este ejemplo, obtenemos el segundo párrafo como imagen. Para ello, extraemos la imagen de la forma de la primera diapositiva de la presentación y luego calculamos los límites del segundo párrafo en el marco de texto de la forma. El párrafo se vuelve a dibujar en una nueva imagen bitmap, que se guarda en formato PNG. Este método es especialmente útil cuando necesita guardar un párrafo específico como una imagen separada preservando las dimensiones y el formato exactos del texto. +```csharp +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap. +using var shapeImage = firstShape.GetImage(); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +El resultado: + +![The paragraph image](paragraph_to_image_output.png) + +**Example 2** + +En este ejemplo, ampliamos el enfoque anterior añadiendo factores de escala a la imagen del párrafo. La forma se extrae de la presentación y se guarda como una imagen con un factor de escala de `2`. Esto permite una salida de mayor resolución al exportar el párrafo. Los límites del párrafo se calculan considerando la escala. La escala puede ser particularmente útil cuando se necesita una imagen más detallada, por ejemplo, para materiales impresos de alta calidad. +```csharp +var imageScaleX = 2f; +var imageScaleY = imageScaleX; + +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap with scaling. +using var shapeImage = firstShape.GetImage(ShapeThumbnailBounds.Shape, imageScaleX, imageScaleY); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); +paragraphRectangle.X *= imageScaleX; +paragraphRectangle.Y *= imageScaleY; +paragraphRectangle.Width *= imageScaleX; +paragraphRectangle.Height *= imageScaleY; + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +## **FAQ** + +**Can I completely disable line wrapping inside a text frame?** + +Yes. Use the text frame’s wrapping setting ([WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/wraptext/)) to turn wrapping off so lines won’t break at the frame’s edges. + +**How can I get the exact on-slide bounds of a specific paragraph?** + +You can retrieve the paragraph’s (and even a single portion’s) bounding rectangle to know its precise position and size on the slide. + +**Where is paragraph alignment (left/right/center/justify) controlled?** + +[Alignment](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/alignment/) is a paragraph-level setting in [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/); it applies to the whole paragraph regardless of individual portion formatting. + +**Can I set a spell-check language for just part of a paragraph (e.g., one word)?** + +Yes. The language is set at the portion level ([PortionFormat.LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/)), so multiple languages can coexist within a single paragraph. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md b/es/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md index fcff8aa535..951a220d09 100644 --- a/es/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md +++ b/es/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md @@ -1,41 +1,40 @@ --- -title: Administrar Placeholder +title: Administrar marcador de posición type: docs weight: 10 url: /es/net/manage-placeholder/ -keywords: "Placeholder, Texto del placeholder, Texto de aviso, Presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Cambiar el texto del placeholder y el texto de aviso en presentaciones de PowerPoint en C# o .NET" +keywords: "Marcador de posición, Texto del marcador de posición, Texto de sugerencia, Presentación de PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Cambiar el texto del marcador de posición y el texto de sugerencia en presentaciones de PowerPoint en C# o .NET" --- -## **Cambiar Texto en Placeholder** -Usando [Aspose.Slides para .NET](/slides/es/net/), puedes encontrar y modificar placeholders en las diapositivas de presentaciones. Aspose.Slides te permite realizar cambios en el texto de un placeholder. +## **Cambiar texto en marcador de posición** +Usando [Aspose.Slides for .NET](/slides/es/net/), puede encontrar y modificar marcadores de posición en diapositivas de presentaciones. Aspose.Slides le permite hacer cambios en el texto de un marcador de posición. -**Prerequisito**: Necesitas una presentación que contenga un placeholder. Puedes crear una presentación así en la aplicación estándar de Microsoft PowerPoint. +**Prerequisito**: necesita una presentación que contenga un marcador de posición. Puede crear dicha presentación en la aplicación estándar Microsoft PowerPoint. -Así es como usas Aspose.Slides para reemplazar el texto en el placeholder en esa presentación: +Así es como usa Aspose.Slides para reemplazar el texto en el marcador de posición de esa presentación: -1. Instancia la clase [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation) y pasa la presentación como argumento. -2. Obtén una referencia a la diapositiva a través de su índice. -3. Itera a través de las formas para encontrar el placeholder. -4. Convierte el shape del placeholder a un [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) y cambia el texto usando el [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/) asociado con el [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). -5. Guarda la presentación modificada. - -Este código en C# muestra cómo cambiar el texto en un placeholder: +1. Instanciar la clase [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation) y pasar la presentación como argumento. +2. Obtener una referencia a la diapositiva mediante su índice. +3. Recorrer las formas para encontrar el marcador de posición. +4. Convertir el tipo de la forma del marcador de posición a un [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) y cambiar el texto usando el [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/) asociado al [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). +5. Guardar la presentación modificada. +Este código C# muestra cómo cambiar el texto en un marcador de posición: ```c# -// Instancia una clase Presentation +// Instancia la clase Presentation using (Presentation pres = new Presentation("ReplacingText.pptx")) { // Accede a la primera diapositiva ISlide sld = pres.Slides[0]; - // Itera a través de las formas para encontrar el placeholder + // Itera a través de las formas para encontrar el marcador de posición foreach (IShape shp in sld.Shapes) if (shp.Placeholder != null) { - // Cambia el texto en cada placeholder - ((IAutoShape)shp).TextFrame.Text = "Este es un Placeholder"; + // Cambia el texto en cada marcador de posición + ((IAutoShape)shp).TextFrame.Text = "This is a Placeholder"; } // Guarda la presentación en disco @@ -44,11 +43,11 @@ using (Presentation pres = new Presentation("ReplacingText.pptx")) ``` -## **Establecer Texto de Aviso en Placeholder** -Las disposiciones estándar y predefinidas contienen textos de aviso de placeholder como ***Haz clic para agregar un título*** o ***Haz clic para agregar un subtítulo***. Usando Aspose.Slides, puedes insertar tus textos de aviso preferidos en disposiciones de placeholder. -Este código en C# te muestra cómo establecer el texto de aviso en un placeholder: +## **Establecer texto de sugerencia en marcador de posición** +Los diseños estándar y preconstruidos contienen textos de sugerencia de marcador de posición como ***Haga clic para agregar un título*** o ***Haga clic para agregar un subtítulo***. Usando Aspose.Slides, puede insertar sus textos de sugerencia preferidos en los diseños de marcadores de posición. +Este código C# le muestra cómo establecer el texto de sugerencia en un marcador de posición: ```c# using (Presentation pres = new Presentation("Presentation2.pptx")) { @@ -58,18 +57,18 @@ using (Presentation pres = new Presentation("Presentation2.pptx")) if (shape.Placeholder != null && shape is AutoShape) { string text = ""; - if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPoint muestra "Haz clic para agregar título" + if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPoint muestra "Haga clic para agregar título" { - text = "Agregar Título"; + text = "Add Title"; } else if (shape.Placeholder.Type == PlaceholderType.Subtitle) // Agrega subtítulo { - text = "Agregar Subtítulo"; + text = "Add Subtitle"; } ((IAutoShape)shape).TextFrame.Text = text; - Console.WriteLine($"Placeholder con texto: {text}"); + Console.WriteLine($"Placeholder with text: {text}"); } } @@ -77,12 +76,12 @@ using (Presentation pres = new Presentation("Presentation2.pptx")) } ``` -## **Establecer Transparencia de Imagen de Placeholder** -Aspose.Slides te permite establecer la transparencia de la imagen de fondo en un placeholder de texto. Al ajustar la transparencia de la imagen en dicho marco, puedes hacer que el texto o la imagen resalten (dependiendo de los colores del texto y de la imagen). +## **Establecer transparencia de imagen en marcador de posición** -Este código en C# te muestra cómo establecer la transparencia para un fondo de imagen (dentro de una forma): +Aspose.Slides le permite establecer la transparencia de la imagen de fondo en un marcador de posición de texto. Ajustando la transparencia de la imagen en dicho marco, puede hacer que el texto o la imagen resalten (según los colores del texto y de la imagen). +Este código C# le muestra cómo establecer la transparencia para el fondo de una imagen (dentro de una forma): ```c# using (var presentation = new Presentation()) { @@ -93,4 +92,19 @@ using (var presentation = new Presentation()) autoShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; autoShape.FillFormat.PictureFillFormat.Picture.ImageTransform.AddAlphaModulateFixedEffect(75); } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Qué es un marcador de posición base y en qué se diferencia de una forma local en una diapositiva?** + +Un marcador de posición base es la forma original en un diseño o maestro del que la forma de la diapositiva hereda—el tipo, la posición y parte del formato provienen de él. Una forma local es independiente; si no hay un marcador de posición base, la herencia no se aplica. + +**¿Cómo puedo actualizar todos los títulos o subtítulos en una presentación sin iterar sobre cada diapositiva?** + +Edite el marcador de posición correspondiente en el diseño o el maestro. Las diapositivas basadas en esos diseños/maestro heredarán automáticamente el cambio. + +**¿Cómo controlo los marcadores de posición estándar de encabezado/pie de página—fecha y hora, número de diapositiva y texto del pie?** + +Utilice los administradores HeaderFooter en el ámbito apropiado (diapositivas normales, diseños, maestro, notas/folletos) para activar o desactivar esos marcadores de posición y establecer su contenido. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md b/es/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md index 8dc822cfe9..136f77c27e 100644 --- a/es/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md +++ b/es/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md @@ -1,46 +1,55 @@ --- -title: Gestionar TextBox +title: Gestionar cuadro de texto type: docs weight: 20 url: /es/net/manage-textbox/ -keywords: "Textbox, Marco de texto, Agregar textbox, Textbox con hiperenlace, C#, Csharp, Aspose.Slides para .NET" -description: "Agregar un textbox o marco de texto a presentaciones de PowerPoint en C# o .NET" +keywords: +- cuadro de texto +- marco de texto +- añadir texto +- actualizar texto +- cuadro de texto con hipervínculo +- PowerPoint +- presentación +- C# +- Csharp +- Aspose.Slides for .NET +description: "Gestiona un cuadro de texto o marco de texto en presentaciones de PowerPoint usando C# o .NET" --- -Los textos en las diapositivas generalmente existen en cuadros de texto o formas. Por lo tanto, para agregar texto a una diapositiva, primero debes agregar un textbox y luego poner algún texto dentro del textbox. +Los textos en las diapositivas normalmente se encuentran en cuadros de texto o formas. Por lo tanto, para agregar texto a una diapositiva, debe agregar primero un cuadro de texto y luego colocar texto dentro del cuadro. -Para permitirte agregar una forma que pueda contener texto, Aspose.Slides para .NET proporciona la interfaz [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape). +Para permitirle agregar una forma que pueda contener texto, Aspose.Slides for .NET proporciona la interfaz [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape). -{{% alert title="Nota" color="warning" %}} +{{% alert title="Note" color="warning" %}} -Aspose.Slides también proporciona la interfaz [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) para permitirte agregar formas a las diapositivas. Sin embargo, no todas las formas añadidas a través de la interfaz `IShape` pueden contener texto. Las formas añadidas a través de la interfaz [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) generalmente contienen texto. +Aspose.Slides también proporciona la interfaz [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) para permitirle agregar formas a las diapositivas. Sin embargo, no todas las formas añadidas a través de la interfaz `IShape` pueden contener texto. Las formas añadidas a través de la interfaz [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) normalmente contienen texto. -Por lo tanto, al tratar con una forma existente a la que deseas agregar texto, es posible que desees verificar y confirmar que fue convertida a través de la interfaz `IAutoShape`. Solo entonces podrás trabajar con [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe), que es una propiedad bajo `IAutoShape`. Consulta la sección [Actualizar Texto](https://docs.aspose.com/slides/net/manage-textbox/#update-text) en esta página. +Por lo tanto, cuando trabaje con una forma existente a la que desea añadir texto, quizá quiera verificar y confirmar que fue convertida mediante la interfaz `IAutoShape`. Sólo entonces podrá trabajar con [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe), que es una propiedad de `IAutoShape`. Consulte la sección [Update Text](https://docs.aspose.com/slides/net/manage-textbox/#update-text) en esta página. {{% /alert %}} -## **Crear Cuadro de Texto en Diapositiva** +## **Create Text Box on Slide** -1. Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtén la referencia de la primera diapositiva a través de su índice. -3. Agrega un objeto [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) con [ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype) configurado como `Rectangle` en una posición especificada en la diapositiva y obtén la referencia del objeto `IAutoShape` recién agregado. -4. Agrega una propiedad `TextFrame` al objeto `IAutoShape` que contendrá un texto. En el ejemplo a continuación, agregamos este texto: *Aspose TextBox* -5. Finalmente, escribe el archivo PPTX a través del objeto `Presentation`. - -Este código C#—una implementación de los pasos anteriores—te muestra cómo agregar texto a una diapositiva: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Obtenga la referencia de la primera diapositiva mediante su índice. +3. Añada un objeto [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) con [ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype) configurado como `Rectangle` en una posición especificada de la diapositiva y obtenga la referencia del nuevo objeto `IAutoShape`. +4. Agregue la propiedad `TextFrame` al objeto `IAutoShape` que contendrá un texto. En el ejemplo a continuación, agregamos este texto: *Aspose TextBox* +5. Finalmente, escriba el archivo PPTX mediante el objeto `Presentation`. +Este código C#—una implementación de los pasos anteriores—le muestra cómo agregar texto a una diapositiva: ```c# // Instancia PresentationEx using (Presentation pres = new Presentation()) { - // Obtiene la primera diapositiva en la presentación + // Obtiene la primera diapositiva de la presentación ISlide sld = pres.Slides[0]; - // Agrega un AutoShape con el tipo configurado como Rectangle + // Añade una AutoShape con tipo Rectangle IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - // Agrega TextFrame al Rectangle + // Añade TextFrame al rectángulo ashp.AddTextFrame(" "); // Accede al marco de texto @@ -60,52 +69,81 @@ using (Presentation pres = new Presentation()) } ``` -## **Verificar Forma de Cuadro de Texto** -Aspose.Slides proporciona la propiedad [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) (de la clase [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)) para permitirte examinar formas y encontrar cuadros de texto. +## **Check for Text Box Shape** -![Cuadro de texto y forma](istextbox.png) +Aspose.Slides proporciona la propiedad [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) de la interfaz [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) que le permite examinar formas e identificar cuadros de texto. -Este código C# te muestra cómo verificar si una forma fue creada como un cuadro de texto: +![Cuadro de texto y forma](istextbox.png) +Este código C# le muestra cómo comprobar si una forma se creó como un cuadro de texto: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - Aspose.Slides.LowCode.ForEach.Shape(pres, (shape, slide, index) => + Aspose.Slides.LowCode.ForEach.Shape(presentation, (shape, slide, index) => { - if (shape is AutoShape autoShape) + if (shape is IAutoShape autoShape) { - Console.WriteLine(autoShape.IsTextBox ? "la forma es un cuadro de texto" : "la forma es un texto no cuadro"); + Console.WriteLine(autoShape.IsTextBox ? "shape is a text box" : "shape is not a text box"); } }); } ``` -## **Agregar Columna en Cuadro de Texto** -Aspose.Slides proporciona las propiedades [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) y [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) (de la interfaz [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) y la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) para permitirte agregar columnas a los cuadros de texto. Puedes especificar el número de columnas en un cuadro de texto y luego especificar el espaciado en puntos entre columnas. +Tenga en cuenta que si simplemente añade una auto‑forma usando el método `AddAutoShape` de la interfaz [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/), la propiedad `IsTextBox` de la auto‑forma devolverá `false`. Sin embargo, después de agregar texto a la auto‑forma mediante el método `AddTextFrame` o la propiedad `Text`, la propiedad `IsTextBox` devuelve `true`. +```cs +using (Presentation presentation = new Presentation()) +{ + ISlide slide = presentation.Slides[0]; + + IAutoShape shape1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 100, 40); + // shape1.IsTextBox es falso + shape1.AddTextFrame("shape 1"); + // shape1.IsTextBox es verdadero + + IAutoShape shape2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 110, 100, 40); + // shape2.IsTextBox es falso + shape2.TextFrame.Text = "shape 2"; + // shape2.IsTextBox es verdadero + + IAutoShape shape3 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 210, 100, 40); + // shape3.IsTextBox es falso + shape3.AddTextFrame(""); + // shape3.IsTextBox es falso + + IAutoShape shape4 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 310, 100, 40); + // shape4.IsTextBox es falso + shape4.TextFrame.Text = ""; + // shape4.IsTextBox es falso +} +``` + + +## **Add Column in Text Box** -Este código en C# demuestra la operación descrita: +Aspose.Slides ofrece las propiedades [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) y [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) (de la interfaz [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) y la clase [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) para permitirle añadir columnas a los cuadros de texto. Puede especificar el número de columnas en un cuadro de texto y luego establecer el espacio en puntos entre columnas. +Este código en C# demuestra la operación descrita: ```c# using (Presentation presentation = new Presentation()) { - // Obtiene la primera diapositiva en la presentación + // Obtiene la primera diapositiva de la presentación ISlide slide = presentation.Slides[0]; - // Agrega un AutoShape con el tipo configurado como Rectangle + // Añade una AutoShape con el tipo configurado como Rectangle IAutoShape aShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 300, 300); - // Agrega TextFrame al Rectangle - aShape.AddTextFrame("Todas estas columnas están limitadas a estar dentro de un único contenedor de texto -- " + - "puedes agregar o eliminar texto y el nuevo o restante texto se ajusta automáticamente " + - "para fluir dentro del contenedor. No puedes hacer que el texto fluya de un contenedor " + - "a otro, sin embargo -- te dijimos que las opciones de columnas de PowerPoint para texto son limitadas!"); + // Añade TextFrame al rectángulo + aShape.AddTextFrame("All these columns are limited to be within a single text container -- " + + "you can add or delete text and the new or remaining text automatically adjusts " + + "itself to flow within the container. You cannot have text flow from one container " + + "to other though -- we told you PowerPoint's column options for text are limited!"); - // Obtiene el formato de texto de TextFrame + // Obtiene el formato de texto del TextFrame ITextFrameFormat format = aShape.TextFrame.TextFrameFormat; - // Especifica el número de columnas en TextFrame + // Especifica el número de columnas en el TextFrame format.ColumnCount = 3; // Especifica el espaciado entre columnas @@ -116,11 +154,12 @@ using (Presentation presentation = new Presentation()) } ``` -## **Agregar Columna en Marco de Texto** -Aspose.Slides para .NET proporciona la propiedad [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) (de la interfaz [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat)) que permite agregar columnas en marcos de texto. A través de esta propiedad, puedes especificar tu número preferido de columnas en un marco de texto. -Este código C# te muestra cómo agregar una columna dentro de un marco de texto: +## **Add Column in Text Frame** +Aspose.Slides for .NET proporciona la propiedad [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) de la interfaz [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) que permite añadir columnas en marcos de texto. Mediante esta propiedad, puede especificar el número deseado de columnas en un marco de texto. + +Este código C# le muestra cómo añadir una columna dentro de un marco de texto: ```c# string outPptxFileName = "ColumnsTest.pptx"; using (Presentation pres = new Presentation()) @@ -129,10 +168,10 @@ using (Presentation pres = new Presentation()) TextFrameFormat format = (TextFrameFormat)shape1.TextFrame.TextFrameFormat; format.ColumnCount = 2; - shape1.TextFrame.Text = "Todas estas columnas están forzadas a permanecer dentro de un único contenedor de texto -- " + - "puedes agregar o eliminar texto - y el nuevo o restante texto se ajusta automáticamente " + - "para permanecer dentro del contenedor. No puedes hacer que el texto se derrame de un contenedor " + - "a otro, sin embargo -- porque las opciones de columnas de PowerPoint para texto son limitadas!"; + shape1.TextFrame.Text = "All these columns are forced to stay within a single text container -- " + + "you can add or delete text - and the new or remaining text automatically adjusts " + + "itself to stay within the container. You cannot have text spill over from one container " + + "to other, though -- because PowerPoint's column options for text are limited!"; pres.Save(outPptxFileName, SaveFormat.Pptx); using (Presentation test = new Presentation(outPptxFileName)) @@ -162,12 +201,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Actualizar Texto** -Aspose.Slides te permite cambiar o actualizar el texto contenido en un cuadro de texto o todos los textos contenidos en una presentación. +## **Update Text** -Este código C# demuestra una operación donde todos los textos en una presentación son actualizados o cambiados: +Aspose.Slides le permite cambiar o actualizar el texto contenido en un cuadro de texto o todos los textos contenidos en una presentación. +Este código C# demuestra una operación en la que se actualizan o cambian todos los textos de una presentación: ```c# using(Presentation pres = new Presentation("text.pptx")) { @@ -175,7 +214,7 @@ using(Presentation pres = new Presentation("text.pptx")) { foreach (IShape shape in slide.Shapes) { - if (shape is IAutoShape autoShape) //Verifica si la forma admite el marco de texto (IAutoShape). + if (shape is IAutoShape autoShape) //Comprueba si la forma admite un marco de texto (IAutoShape). { foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) //Itera a través de los párrafos en el marco de texto { @@ -194,25 +233,25 @@ using(Presentation pres = new Presentation("text.pptx")) } ``` -## **Agregar Cuadro de Texto con Hiperenlace** -Puedes insertar un enlace dentro de un cuadro de texto. Cuando se hace clic en el cuadro de texto, los usuarios serán dirigidos a abrir el enlace. +## **Add Text Box with Hyperlink** -1. Crea una instancia de la clase `Presentation`. -2. Obtén la referencia de la primera diapositiva a través de su índice. -3. Agrega un objeto `AutoShape` con `ShapeType` configurado como `Rectangle` en una posición especificada en la diapositiva y obtén una referencia del objeto AutoShape recién agregado. -4. Agrega un `TextFrame` al objeto `AutoShape` que contiene *Aspose TextBox* como su texto predeterminado. -5. Instancia la clase `IHyperlinkManager`. -6. Asigna el objeto `IHyperlinkManager` a la propiedad [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick) asociada con la porción preferida de tu `TextFrame`. -7. Finalmente, escribe el archivo PPTX a través del objeto `Presentation`. +Puede insertar un enlace dentro de un cuadro de texto. Cuando se hace clic en el cuadro de texto, los usuarios son dirigidos a abrir el enlace. -Este código C#—una implementación de los pasos anteriores—te muestra cómo agregar un cuadro de texto con un hiperenlace a una diapositiva: +1. Cree una instancia de la clase `Presentation`. +2. Obtenga la referencia de la primera diapositiva mediante su índice. +3. Añada un objeto `AutoShape` con `ShapeType` configurado como `Rectangle` en una posición especificada de la diapositiva y obtenga la referencia del nuevo objeto AutoShape. +4. Agregue un `TextFrame` al objeto `AutoShape` que contenga *Aspose TextBox* como texto predeterminado. +5. Instancie la clase `IHyperlinkManager`. +6. Asigne el objeto `IHyperlinkManager` a la propiedad [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick) asociada con la parte preferida de su `TextFrame`. +7. Finalmente, guarde el archivo PPTX mediante el objeto `Presentation`. +Este código C#—una implementación de los pasos anteriores—le muestra cómo agregar un cuadro de texto con un hipervínculo a una diapositiva: ```c# // Instancia una clase Presentation que representa un PPTX Presentation pptxPresentation = new Presentation(); -// Obtiene la primera diapositiva en la presentación +// Obtiene la primera diapositiva de la presentación ISlide slide = pptxPresentation.Slides[0]; // Agrega un objeto AutoShape con el tipo configurado como Rectangle @@ -226,13 +265,24 @@ pptxAutoShape.AddTextFrame(""); ITextFrame ITextFrame = pptxAutoShape.TextFrame; -// Agrega algo de texto al marco +// Agrega texto al marco ITextFrame.Paragraphs[0].Portions[0].Text = "Aspose.Slides"; -// Establece el hiperenlace para el texto de la porción +// Establece el hipervínculo para el texto de la porción IHyperlinkManager HypMan = ITextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkManager; HypMan.SetExternalHyperlinkClick("http://www.aspose.com"); // Guarda la presentación PPTX pptxPresentation.Save("hLinkPPTX_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Cuál es la diferencia entre un cuadro de texto y un marcador de posición de texto al trabajar con diapositivas maestras?** + +Un [placeholder](/slides/es/net/manage-placeholder/) hereda estilo/posición de la [master](https://reference.aspose.com/slides/net/aspose.slides/masterslide/) y puede ser sobrescrito en los [layouts](https://reference.aspose.com/slides/net/aspose.slides/layoutslide/), mientras que un cuadro de texto normal es un objeto independiente en una diapositiva específica y no cambia al cambiar de layout. + +**¿Cómo puedo realizar un reemplazo masivo de texto en toda la presentación sin afectar el texto dentro de gráficos, tablas y SmartArt?** + +Limite la iteración a auto‑formas que tengan marcos de texto y excluya los objetos incrustados ([charts](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/), [tables](https://reference.aspose.com/slides/net/aspose.slides/table/), [SmartArt](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartart/)) recorriendo sus colecciones por separado o omitiendo esos tipos de objetos. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md b/es/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md index 430edf288a..89baab90b8 100644 --- a/es/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md +++ b/es/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md @@ -1,28 +1,43 @@ --- -title: Localización de Presentaciones +title: Localización de la presentación type: docs weight: 100 url: /es/net/presentation-localization/ -keywords: "Cambiar idioma, Revisa ortografía, Comprobar ortografía, Corrector ortográfico, Presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Cambiar o verificar el idioma en una presentación de PowerPoint. Comprobar ortografía en C# o .NET" +keywords: "Cambiar idioma, Corrector ortográfico, Revisión ortográfica, Corrector de ortografía, Presentación PowerPoint, C#, Csharp, Aspose.Slides para .NET" +description: "Cambiar o comprobar el idioma en una presentación PowerPoint. Corrector ortográfico de texto en C# o .NET" --- -## **Cambiar Idioma para el Texto de la Presentación y de las Formas** -- Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -- Obtener la referencia de una diapositiva utilizando su índice. -- Agregar una AutoShape de tipo Rectángulo a la diapositiva. -- Agregar algún texto al TextFrame. -- Establecer el Id de Idioma al texto. -- Escribir la presentación como un archivo PPTX. -La implementación de los pasos anteriores se demuestra a continuación en un ejemplo. +## **Cambiar el idioma del texto de la presentación y de la forma** +- Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +- Obtenga la referencia de una diapositiva usando su índice. +- Agregue una AutoShape de tipo Rectángulo a la diapositiva. +- Añada texto al TextFrame. +- Establezca el Language Id al texto. +- Guarde la presentación como un archivo PPTX. +La implementación de los pasos anteriores se muestra a continuación en un ejemplo. ```c# using (Presentation pres = new Presentation("test0.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); - shape.AddTextFrame("Texto para aplicar el idioma del corrector ortográfico"); + shape.AddTextFrame("Text to apply spellcheck language"); shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId = "en-EN"; pres.Save("test1.pptx",Aspose.Slides.Export.SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿language_id activa la traducción automática de texto?** + +No. [language_id](https://reference.aspose.com/slides/net/aspose.slides/portionformat/languageid/) en Aspose.Slides almacena el idioma para la corrección ortográfica y la revisión gramatical, pero no traduce ni cambia el contenido del texto. Es metadatos que PowerPoint reconoce para la revisión. + +**¿language_id afecta la hyphenation y los saltos de línea durante la renderización?** + +En Aspose.Slides, [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) se utiliza para la revisión. La calidad de la hyphenation y el ajuste de líneas dependen principalmente de la disponibilidad de [proper fonts](/slides/es/net/powerpoint-fonts/) y de la configuración de diseño/saltos de línea para el sistema de escritura. Para garantizar una renderización correcta, haga que las fuentes requeridas estén disponibles, configure las [font substitution rules](/slides/es/net/font-substitution/) y/o [embed fonts](/slides/es/net/embedded-font/) en la presentación. + +**¿Puedo establecer diferentes idiomas dentro de un solo párrafo?** + +Sí. [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) se aplica a nivel de porción de texto, por lo que un solo párrafo puede mezclar varios idiomas con configuraciones de revisión distintas. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md b/es/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md index 270391b293..36e82b1f29 100644 --- a/es/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md +++ b/es/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md @@ -1,78 +1,114 @@ --- -title: Superíndice y Subíndice +title: Gestionar superíndice y subíndice en C# +linktitle: Superíndice y Subíndice type: docs weight: 80 url: /es/net/superscript-and-subscript/ -keywords: "Superíndice, Subíndice, Agregar texto en superíndice, Agregar texto en subíndice, Presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Agregar texto en superíndice y subíndice a presentaciones de PowerPoint en C# o .NET" +keywords: +- superíndice +- subíndice +- agregar superíndice +- agregar subíndice +- PowerPoint +- OpenDocument +- presentación +- C# +- Csharp +- Aspose.Slides +description: "Domine el superíndice y el subíndice en Aspose.Slides para .NET y eleve sus presentaciones con un formato de texto profesional para lograr el máximo impacto." --- -## **Gestionar Texto en Superíndice y Subíndice** -Puedes agregar texto en superíndice y subíndice dentro de cualquier porción de un párrafo. Para agregar texto en superíndice o subíndice en el marco de texto de Aspose.Slides, se deben utilizar las propiedades **de Escapement** de la clase PortionFormat. +## **Descripción general** -Esta propiedad devuelve o establece el texto en superíndice o subíndice (valor de -100% (subíndice) a 100% (superíndice). Por ejemplo: +Aspose.Slides for .NET ofrece funciones para integrar texto en superíndice y subíndice en sus presentaciones de PowerPoint (PPT, PPTX) y OpenDocument (ODP). Ya sea que necesite resaltar fórmulas químicas, ecuaciones matemáticas o anotar contenido con notas al pie, estas opciones de formato especial ayudan a mantener la claridad y precisión. En este artículo, aprenderá cómo aplicar de forma fluida los estilos de superíndice y subíndice y garantizar resultados profesionales en cada diapositiva. -- Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -- Obtener la referencia de una diapositiva utilizando su índice. -- Agregar una IAutoShape de tipo Rectángulo a la diapositiva. -- Acceder al ITextFrame asociado con el IAutoShape. -- Limpiar los párrafos existentes. -- Crear un nuevo objeto de párrafo para contener el texto en superíndice y agregarlo a la colección IParagraphs del ITextFrame. -- Crear un nuevo objeto de porción. -- Establecer la propiedad Escapement para la porción entre 0 y 100 para agregar superíndice. (0 significa sin superíndice). -- Establecer algún texto para la Porción y luego agregarlo a la colección de porciones del párrafo. -- Crear un nuevo objeto de párrafo para contener el texto en subíndice y agregarlo a la colección IParagraphs del ITextFrame. -- Crear un nuevo objeto de porción. -- Establecer la propiedad Escapement para la porción entre 0 y -100 para agregar subíndice. (0 significa sin subíndice). -- Establecer algún texto para la Porción y luego agregarlo a la colección de porciones del párrafo. -- Guardar la presentación como un archivo PPTX. +## **Agregar texto en superíndice y subíndice** -La implementación de los pasos anteriores se da a continuación. +Puede agregar texto en superíndice y subíndice dentro de cualquier párrafo de una presentación. Para lograrlo con Aspose.Slides, debe usar la propiedad `Escapement` de la clase [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) . +Esta propiedad permite establecer texto en superíndice o subíndice, con valores que van desde -100 % (subíndice) hasta 100 % (superíndice). + +Pasos de implementación: + +1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) . +1. Obtener una referencia a una diapositiva mediante su índice. +1. Agregar un [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) de tipo `Rectangle` a la diapositiva. +1. Acceder al [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) asociado con el [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) . +1. Eliminar los párrafos existentes. +1. Crear un nuevo [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) para texto en superíndice y agregarlo a la colección de párrafos del [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) . +1. Crear un nuevo objeto de porción de texto. +1. Establecer la propiedad `Escapement` de la porción de texto entre 0 y 100 para aplicar superíndice (0 significa sin superíndice). +1. Asignar texto a la [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) y agregarlo a la colección de porciones del párrafo. +1. Crear otro [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) para texto en subíndice y agregarlo a la colección de párrafos. +1. Crear un nuevo objeto de porción de texto. +1. Establecer la propiedad `Escapement` de la porción de texto entre 0 y -100 para aplicar subíndice (0 significa sin subíndice). +1. Asignar texto a la [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) y agregarlo a la colección de porciones del párrafo. +1. Guardar la presentación como un archivo PPTX. + +El siguiente código C# implementa estos pasos: ```c# -using (Presentation presentation = new Presentation("test.pptx")) +using (Presentation presentation = new Presentation()) { - // Obtener diapositiva + // Obtener la primera diapositiva. ISlide slide = presentation.Slides[0]; - // Crear cuadro de texto + // Crear un cuadro de texto. IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 200, 100); ITextFrame textFrame = shape.TextFrame; + textFrame.Paragraphs.Clear(); - // Crear párrafo para texto en superíndice + // Crear un párrafo para texto en superíndice. IParagraph superPar = new Paragraph(); - // Crear porción con texto normal + // Crear una porción de texto con texto normal. IPortion portion1 = new Portion(); - portion1.Text = "SlideTitle"; + portion1.Text = "MyProduct"; superPar.Portions.Add(portion1); - // Crear porción con texto en superíndice + // Crear una porción de texto con superíndice. IPortion superPortion = new Portion(); superPortion.PortionFormat.Escapement = 30; superPortion.Text = "TM"; superPar.Portions.Add(superPortion); - // Crear párrafo para texto en subíndice + // Crear un párrafo para texto en subíndice. IParagraph paragraph2 = new Paragraph(); - // Crear porción con texto normal + // Crear una porción de texto con texto normal. IPortion portion2 = new Portion(); portion2.Text = "a"; paragraph2.Portions.Add(portion2); - // Crear porción con texto en subíndice + // Crear una porción de texto con subíndice. IPortion subPortion = new Portion(); subPortion.PortionFormat.Escapement = -25; subPortion.Text = "i"; paragraph2.Portions.Add(subPortion); - // Agregar párrafos al cuadro de texto + // Añadir los párrafos al cuadro de texto. textFrame.Paragraphs.Add(superPar); textFrame.Paragraphs.Add(paragraph2); - presentation.Save("TestOut.pptx", SaveFormat.Pptx); - System.Diagnostics.Process.Start("TestOut.pptx"); - } -``` \ No newline at end of file + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +El resultado: + +![Superíndice y subíndice](superscript_and_subscript.png) + +## **Preguntas frecuentes** + +**¿Se conserva el superíndice y subíndice al exportar a PDF u otros formatos?** + +Sí, Aspose.Slides for .NET mantiene correctamente el formato de superíndice y subíndice al exportar presentaciones a PDF, PPT/PPTX, imágenes y otros formatos compatibles. El formato especializado permanece intacto en todos los archivos de salida. + +**¿Se pueden combinar el superíndice y subíndice con otros estilos de formato como negrita o cursiva?** + +Sí, Aspose.Slides permite mezclar varios estilos de texto dentro de una sola porción. Puede habilitar negrita, cursiva, subrayado y, simultáneamente, aplicar superíndice o subíndice configurando las propiedades correspondientes en [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) . + +**¿El formato de superíndice y subíndice funciona para texto dentro de tablas, gráficos o SmartArt?** + +Sí, Aspose.Slides for .NET admite el formato dentro de la mayoría de los objetos, incluidas tablas y elementos de gráficos. Al trabajar con SmartArt, necesita acceder a los elementos apropiados (como [SmartArtNode](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartartnode/)) y sus contenedores de texto, y luego configurar las propiedades de [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) de manera similar. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md b/es/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md index f3d92ea856..3b3b8c79e8 100644 --- a/es/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md +++ b/es/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md @@ -1,657 +1,519 @@ --- -title: Formato de Texto -linktitle: Formato de Texto +title: Formatear texto de PowerPoint en C# +linktitle: Formato de texto type: docs weight: 50 url: /es/net/text-formatting/ keywords: - resaltar texto - expresión regular -- alinear párrafos de texto -- transparencia del texto -- propiedades de fuente de párrafo -- familia de fuentes +- alinear párrafo +- estilo de texto +- fondo de texto +- transparencia de texto +- espaciado entre caracteres +- propiedades de fuente +- familia de fuente - rotación de texto -- rotación de ángulo personalizado +- ángulo de rotación - marco de texto -- espaciado de línea -- propiedad de ajuste automático +- interlineado +- propiedad autofit - ancla del marco de texto - tabulación de texto -- estilo de texto predeterminado +- idioma predeterminado +- PowerPoint +- OpenDocument +- presentación - C# -- Aspose.Slides para .NET -description: "Gestionar y manipular las propiedades del texto y del marco de texto en C#" +- Aspose.Slides +description: "Aprenda a dar formato y estilo al texto en presentaciones PowerPoint y OpenDocument usando Aspose.Slides para .NET. Personalice fuentes, colores, alineación y más con potentes ejemplos de código en C#." --- -## Descripción General +## **Descripción general** -Este artículo describe cómo **trabajar con el formato de texto de presentaciones de PowerPoint usando C#**, por ejemplo, resaltar texto, aplicar una expresión regular, alinear párrafos de texto, establecer la transparencia del texto, cambiar las propiedades de la fuente del párrafo, usar familias de fuentes, establecer una rotación de texto, personalizar una rotación de ángulo, gestionar un marco de texto, establecer un espaciado de línea, usar la propiedad de ajuste automático, establecer un ancla del marco de texto, cambiar la tabulación del texto. El artículo cubre estos temas. +Este artículo presenta cómo administrar y dar formato al texto en presentaciones PowerPoint y OpenDocument usando Aspose.Slides para .NET. Aprenderá a aplicar características de formato de texto como selección de fuente, tamaño, color, resaltado, color de fondo, espaciado y alineación. Además, cubre el trabajo con marcos de texto, párrafos, formato y opciones avanzadas de diseño como rotación personalizada y comportamientos de ajuste automático. -## **Resaltar Texto** -Se ha añadido un nuevo método HighlightText a la interfaz ITextFrame y a la clase TextFrame. +Ya sea que esté generando presentaciones programáticamente o personalizando contenido existente, estos ejemplos le ayudarán a crear diseños de texto claros y profesionales que realzan sus diapositivas y mejoran la legibilidad. -Permite resaltar una parte del texto con color de fondo usando una muestra de texto, similar a la herramienta de color de resaltado de texto en PowerPoint 2019. +En los ejemplos a continuación, utilizaremos un archivo llamado "sample.pptx", que contiene un solo cuadro de texto en la primera diapositiva con el siguiente texto: -1. Instanciar la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) con el archivo de entrada. - - El archivo de entrada puede ser PPT, PPTX, ODP, etc. -3. Acceder a su diapositiva usando la colección [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/) -4. Acceder a la forma usando la colección [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) como [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). -5. Resaltar el texto usando el método [TextFrame.Highlight()](https://reference.aspose.com/slides/net/aspose.slides/textframe/highlighttext/#highlighttext). -6. Guardar la presentación en el formato de salida deseado, es decir, PPT, PPTX u ODP, etc. +![Sample text](sample_text.png) -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("title", Color.LightBlue); // resaltando todas las palabras 'importante' -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("to", Color.Violet, new TextHighlightingOptions() -{ - WholeWordsOnly = true -}); // resaltando todas las ocurrencias separadas de 'el' -presentation.Save("SomePresentation-out2.pptx", SaveFormat.Pptx); -``` +## **Resaltar texto** -{{% alert color="primary" %}} +El método [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/) permite resaltar una parte del texto con un color de fondo basado en una muestra de texto coincidente. -Aspose proporciona un simple [servicio de edición de PowerPoint en línea gratuito](https://products.aspose.app/slides/editor) +Para usar este método, siga estos pasos: -{{% /alert %}} +1. Instancie la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) con un archivo de entrada (PPT, PPTX, ODP, etc.). +2. Acceda a la diapositiva deseada mediante la colección [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/). +3. Acceda a la forma objetivo de la colección [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) y conviértala a [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +4. Resalte el texto deseado usando el método [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/) proporcionando el texto de muestra y el color. +5. Guarde la presentación en el formato de salida que desee (por ejemplo, PPT, PPTX, ODP). -## **Resaltar Texto usando Expresión Regular** -Se ha añadido un nuevo método HighlightRegex a la interfaz ITextFrame y a la clase TextFrame. +El ejemplo de código a continuación resalta todas las apariciones de los caracteres **"try"** y la palabra completa **"to"**. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + // Obtenga la primera forma de la primera diapositiva. + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; + + // Resalte la palabra "try" en la forma. + shape.TextFrame.HighlightText("try", Color.LightBlue); -Permite resaltar una parte del texto con color de fondo usando regex, similar a la herramienta de color de resaltado de texto en PowerPoint 2019. + var searchOptions = new TextSearchOptions() + { + WholeWordsOnly = true + }; -El fragmento de código a continuación muestra cómo usar esta función: + // Resalte la palabra "to" en la forma. + shape.TextFrame.HighlightText("to", Color.Violet, searchOptions, null); -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -TextHighlightingOptions options = new TextHighlightingOptions(); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightRegex(@"\b[^\s]{5,}\b", Color.Blue, options); // resaltando todas las palabras con 10 símbolos o más -presentation.Save("SomePresentation-out.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text.pptx", SaveFormat.Pptx); +} ``` -## **Establecer Color de Fondo del Texto** -Aspose.Slides permite especificar su color preferido para el fondo de un texto. +El resultado: -Este código C# le muestra cómo establecer el color de fondo para un texto completo: +![The highlighted text](highlighted_text.png) -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Negro"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Rojo "); - - var portion3 = new Portion("Negro"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +{{% alert color="primary" %}} +Aspose ofrece un [EDITOR DE POWERPOINT EN LÍNEA GRATUITO](https://products.aspose.app/slides/editor). +{{% /alert %}} -using (Presentation pres = new Presentation("text.pptx")) +## **Resaltar texto usando expresiones regulares** + +Aspose.Slides para .NET le permite buscar y resaltar partes específicas de texto en diapositivas PowerPoint usando expresiones regulares. Esta característica es especialmente útil cuando necesita enfatizar dinámicamente palabras clave, patrones o contenido generado por datos. El método [ITextFrame.HighlightRegex](https://docs.aspose.com/slides/net/text-formatting/) le permite resaltar partes de texto con un color de fondo usando una expresión regular. + +El ejemplo de código a continuación resalta todas las palabras que contienen **siete o más caracteres**: +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; - foreach (IPortion portion in autoShape.TextFrame.Paragraphs[0].Portions) - { - portion.PortionFormat.HighlightColor.Color = Color.Blue; - } + // Resalte todas las palabras con siete o más caracteres. + shape.TextFrame.HighlightRegex(@"\b[^\s]{7,}\b", Color.Yellow, null); - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text_using_regex.pptx", SaveFormat.Pptx); } ``` -Este código C# le muestra cómo establecer el color de fondo para solo una porción de un texto: -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Negro"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Rojo "); - - var portion3 = new Portion("Negro"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +El resultado: + +![The highlighted text using the regular expression](highlighted_text_using_regex.png) -using (Presentation pres = new Presentation("text.pptx")) +## **Establecer color de fondo del texto** + +Aspose.Slides para .NET le permite aplicar colores de fondo a párrafos completos o a porciones de texto individuales en diapositivas PowerPoint. Esta funcionalidad es útil cuando desea resaltar palabras o frases específicas, llamar la atención sobre mensajes clave o mejorar el atractivo visual de sus presentaciones. + +El siguiente ejemplo de código muestra cómo establecer el color de fondo para el **párrafo completo**: +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - IPortion redPortion = autoShape.TextFrame.Paragraphs[0].Portions - .First(p => p.Text.Contains("Rojo")); + // Establezca el color de resaltado para todo el párrafo. + paragraph.ParagraphFormat.DefaultPortionFormat.HighlightColor.Color = Color.LightGray; - redPortion.PortionFormat.HighlightColor.Color = Color.Red; - - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("gray_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Alinear Párrafos de Texto** - -El formato de texto es uno de los elementos clave al crear cualquier tipo de documentos o presentaciones. Sabemos que Aspose.Slides para .NET admite la adición de texto a las diapositivas, pero en este tema, veremos cómo podemos controlar la alineación de los párrafos de texto en una diapositiva. Siga los pasos a continuación para alinear los párrafos de texto usando Aspose.Slides para .NET: -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtener la referencia de una diapositiva utilizando su índice. -3. Acceder a las formas de marcador de posición presentes en la diapositiva y convertirlas a AutoShape. -4. Obtener el párrafo (que necesita ser alineado) del TextFrame expuesto por AutoShape. -5. Alinear el párrafo. Un párrafo se puede alinear a la derecha, izquierda, centro y justificar. -6. Escribir la presentación modificada como un archivo PPTX. +El resultado: -La implementación de los pasos anteriores se da a continuación. +![The gray paragraph](gray_paragraph.png) -```c# -// Instanciar un objeto Presentation que representa un archivo PPTX -using (Presentation pres = new Presentation("ParagraphsAlignment.pptx")) +El ejemplo de código a continuación demuestra cómo establecer el color de fondo para **porciones de texto con fuente en negrita**: +```cs +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Accediendo a la primera diapositiva - ISlide slide = pres.Slides[0]; - - // Accediendo al primer y segundo marcador de posición en la diapositiva y convirtiéndolo a AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; - - // Cambiar el texto en ambos marcadores de posición - tf1.Text = "Alinear al Centro por Aspose"; - tf2.Text = "Alinear al Centro por Aspose"; - - // Obtener el primer párrafo de los marcadores de posición - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - - // Alinear el párrafo de texto al centro - para1.ParagraphFormat.Alignment = TextAlignment.Center; - para2.ParagraphFormat.Alignment = TextAlignment.Center; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Establezca el color de resaltado para la porción de texto. + portion.PortionFormat.HighlightColor.Color = Color.LightGray; + } + } - // Escribir la presentación como un archivo PPTX - pres.Save("Centeralign_out.pptx", SaveFormat.Pptx); + presentation.Save("gray_text_portions.pptx", SaveFormat.Pptx); } ``` -## **Establecer Transparencia para el Texto** -Este artículo demuestra cómo establecer la propiedad de transparencia en cualquier forma de texto usando Aspose.Slides para .NET. Para establecer la transparencia en el texto. Siga los pasos a continuación: -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtener la referencia de una diapositiva. -3. Establecer el color de sombra. -4. Escribir la presentación como un archivo PPTX. +El resultado: -La implementación de los pasos anteriores se da a continuación. +![The gray text portions](gray_text_portions.png) -```c# -using (Presentation pres = new Presentation("transparency.pptx")) -{ - IAutoShape shape = (IAutoShape)pres.Slides[0].Shapes[0]; - IEffectFormat effects = shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.EffectFormat; +## **Alinear párrafos de texto** - IOuterShadow outerShadowEffect = effects.OuterShadowEffect; +La alineación del texto es un aspecto clave del formato de diapositivas que afecta tanto la legibilidad como el atractivo visual. En Aspose.Slides para .NET, puede controlar con precisión la alineación de los párrafos dentro de los marcos de texto, garantizando que su contenido se presente de forma coherente, ya sea centrado, alineado a la izquierda, a la derecha o justificado. Esta sección explica cómo aplicar y personalizar la alineación del texto en sus presentaciones PowerPoint. - Color shadowColor = outerShadowEffect.ShadowColor.Color; - Console.WriteLine($"{shadowColor} - la transparencia es: {((float)shadowColor.A / byte.MaxValue) * 100}"); +El siguiente ejemplo de código muestra cómo alinear el párrafo al **centro**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // establecer transparencia al cero por ciento - outerShadowEffect.ShadowColor.Color = Color.FromArgb(255, shadowColor); + // Establecer la alineación del párrafo al centro. + paragraph.ParagraphFormat.Alignment = TextAlignment.Center; - pres.Save("transparency-2.pptx", SaveFormat.Pptx); + presentation.Save("aligned_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Establecer Espaciado de Caracteres para Texto** -Aspose.Slides permite establecer el espacio entre letras en un cuadro de texto. De esta manera, se puede ajustar la densidad visual de una línea o bloque de texto expandiendo o condensando el espaciado entre caracteres. +El resultado: -Este código C# le muestra cómo expandir el espaciado para una línea de texto y condensar el espaciado para otra línea: +![The aligned paragraph](aligned_paragraph.png) -```c# -var presentation = new Presentation("in.pptx"); +## **Establecer transparencia para el texto** -var textBox1 = (IAutoShape) presentation.Slides[0].Shapes[0]; -var textBox2 = (IAutoShape) presentation.Slides[0].Shapes[1]; +Ajustar la transparencia del texto le permite crear efectos visuales sutiles y mejorar la estética de las diapositivas. Aspose.Slides para .NET permite establecer el nivel de transparencia de párrafos y porciones de texto, facilitando la mezcla del texto con fondos o el énfasis en elementos específicos. Esta sección muestra cómo aplicar configuraciones de transparencia al texto en sus presentaciones. + +El ejemplo de código a continuación muestra cómo aplicar transparencia al **párrafo completo**: +```cs +int alpha = 50; + +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -textBox1.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = 20; // expandir -textBox2.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = -2; // condensar + // Establecer el color de relleno del texto a color transparente. + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); -presentation.Save("out.pptx", SaveFormat.Pptx); + presentation.Save("transparent_paragraph.pptx", SaveFormat.Pptx); +} ``` -## **Gestionar Propiedades de Fuente de Párrafo** -Las presentaciones suelen contener tanto texto como imágenes. El texto puede ser formateado de diversas maneras, ya sea para resaltar secciones y palabras específicas, o para ajustarse a estilos corporativos. El formato de texto ayuda a los usuarios a variar la apariencia y el estilo del contenido de la presentación. Este artículo muestra cómo usar Aspose.Slides para .NET para configurar las propiedades de fuente de los párrafos de texto en las diapositivas. Para gestionar las propiedades de fuente de un párrafo usando Aspose.Slides para .NET: +El resultado: -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtener la referencia de una diapositiva usando su índice. -3. Acceder a las formas de marcador de posición en la diapositiva y convertirlas a AutoShape. -4. Obtener el párrafo del TextFrame expuesto por AutoShape. -5. Justificar el párrafo. -6. Acceder a la porción de texto de un párrafo. -7. Definir la fuente usando FontData y establecer la fuente de la porción de texto en consecuencia. - 1. Establecer la fuente en negrita. - 1. Establecer la fuente en cursiva. -8. Establecer el color de fuente usando el FillFormat expuesto por el objeto de Porción. -9. Escribir la presentación modificada en un archivo [PPTX](https://docs.fileformat.com/presentation/pptx/). +![The transparent paragraph](transparent_paragraph.png) -La implementación de los pasos anteriores se da a continuación. Toma una presentación sin adornos y formatea las fuentes en una de las diapositivas. +El siguiente ejemplo de código muestra cómo aplicar transparencia a **porciones de texto con fuente en negrita**: +```cs +int alpha = 50; -```c# -// Instanciar un objeto Presentation que representa un archivo PPTX -using (Presentation pres = new Presentation("FontProperties.pptx")) +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Accediendo a una diapositiva usando su posición en la diapositiva - ISlide slide = pres.Slides[0]; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Establecer la transparencia de la porción de texto. + portion.PortionFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); + } + } - // Accediendo al primer y segundo marcador de posición en la diapositiva y convirtiéndolo a AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; + presentation.Save("transparent_text_portions.pptx", SaveFormat.Pptx); +} +``` - // Accediendo al primer párrafo - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - // Accediendo a la primera porción - IPortion port1 = para1.Portions[0]; - IPortion port2 = para2.Portions[0]; +El resultado: - // Definir nuevas fuentes - FontData fd1 = new FontData("Elephant"); - FontData fd2 = new FontData("Castellar"); +![The transparent text portions](transparent_text_portions.png) - // Asignar nuevas fuentes a la porción - port1.PortionFormat.LatinFont = fd1; - port2.PortionFormat.LatinFont = fd2; +## **Establecer espaciado entre caracteres para el texto** - // Establecer la fuente en Negrita - port1.PortionFormat.FontBold = NullableBool.True; - port2.PortionFormat.FontBold = NullableBool.True; +Aspose.Slides le permite establecer el espaciado entre letras en un cuadro de texto. Esto le permite ajustar la densidad visual de una línea o bloque de texto al expandir o condensar el espacio entre caracteres. - // Establecer la fuente en Cursiva - port1.PortionFormat.FontItalic = NullableBool.True; - port2.PortionFormat.FontItalic = NullableBool.True; +El siguiente código C# muestra cómo expandir el espaciado entre caracteres en el **párrafo completo**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Establecer el color de la fuente - port1.PortionFormat.FillFormat.FillType = FillType.Solid; - port1.PortionFormat.FillFormat.SolidFillColor.Color = Color.Purple; - port2.PortionFormat.FillFormat.FillType = FillType.Solid; - port2.PortionFormat.FillFormat.SolidFillColor.Color = Color.Peru; + // Nota: Use valores negativos para comprimir el espaciado entre caracteres. + paragraph.ParagraphFormat.DefaultPortionFormat.Spacing = 3; // Expandir el espaciado entre caracteres. - // Escribir el PPTX en el disco - pres.Save("WelcomeFont_out.pptx", SaveFormat.Pptx); + presentation.Save("character_spacing_in_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Gestionar Familia de Fuentes de Texto** -Una Porción se utiliza para contener texto con un estilo de formato similar en un párrafo. Este artículo muestra cómo usar Aspose.Slides para .NET para crear un cuadro de texto con algo de texto y luego definir una fuente particular y varias otras propiedades de la categoría de familia de fuentes. Para crear un cuadro de texto y establecer las propiedades de fuente del texto en él: - -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtener la referencia de una diapositiva usando su índice. -3. Agregar un AutoShape del tipo Rectángulo a la diapositiva. -4. Eliminar el estilo de relleno asociado con el AutoShape. -5. Acceder al TextFrame del AutoShape. -6. Agregar algo de texto al TextFrame. -7. Acceder al objeto Porción asociado con el TextFrame. -8. Definir la fuente que se utilizará para la Porción. -9. Establecer otras propiedades de fuente como negrita, cursiva, subrayado, color y altura utilizando las propiedades relevantes expuestas por el objeto Porción. -10. Escribir la presentación modificada como un archivo PPTX. - -La implementación de los pasos anteriores se da a continuación. - -```c# -// Instanciar una Presentación -using (Presentation presentation = new Presentation()) -{ - - // Obtener la primera diapositiva - ISlide sld = presentation.Slides[0]; - // Agregar un AutoShape del tipo Rectángulo - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); +El resultado: - // Eliminar cualquier estilo de relleno asociado con el AutoShape - ashp.FillFormat.FillType = FillType.NoFill; +![The character spacing in the paragraph](character_spacing_in_paragraph.png) - // Acceder al TextFrame asociado con el AutoShape - ITextFrame tf = ashp.TextFrame; - tf.Text = "Cuadro de Texto de Aspose"; +El ejemplo de código a continuación muestra cómo expandir el espaciado entre caracteres en **porciones de texto con fuente en negrita**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Acceder a la Porción asociada con el TextFrame - IPortion port = tf.Paragraphs[0].Portions[0]; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Nota: Use valores negativos para comprimir el espaciado entre caracteres. + portion.PortionFormat.Spacing = 3; // Expandir el espaciado entre caracteres. + } + } - // Establecer la Fuente para la Porción - port.PortionFormat.LatinFont = new FontData("Times New Roman"); + presentation.Save("character_spacing_in_text_portions.pptx", SaveFormat.Pptx); +} +``` - // Establecer la propiedad Negrita de la Fuente - port.PortionFormat.FontBold = NullableBool.True; - // Establecer la propiedad Cursiva de la Fuente - port.PortionFormat.FontItalic = NullableBool.True; +El resultado: - // Establecer la propiedad Subrayado de la Fuente - port.PortionFormat.FontUnderline = TextUnderlineType.Single; +![The character spacing in the text portions](character_spacing_in_text_portions.png) - // Establecer la Altura de la Fuente - port.PortionFormat.FontHeight = 25; +## **Administrar propiedades de fuente del texto** - // Establecer el color de la Fuente - port.PortionFormat.FillFormat.FillType = FillType.Solid; - port.PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; +Aspose.Slides para .NET le permite afinar la configuración de fuentes tanto a nivel de párrafo como para porciones de texto individuales, garantizando consistencia visual y cumpliendo con los requisitos de diseño de su presentación. Puede definir estilos de fuente, tamaños y otras opciones de formato para párrafos completos, lo que le brinda mayor control sobre la apariencia del texto. Esta sección demuestra cómo administrar propiedades de fuente para párrafos de texto en una diapositiva. - // Escribir el PPTX en disco - presentation.Save("SetTextFontProperties_out.pptx", SaveFormat.Pptx); -} -``` +El siguiente código establece la fuente y el estilo de texto para el párrafo completo: aplica tamaño de fuente, negrita, cursiva, subrayado punteado y la fuente Times New Roman a todas las porciones del párrafo. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -## **Establecer Tamaño de Fuente para Texto** + // Establecer las propiedades de fuente del párrafo. + paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 12; + paragraph.ParagraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontItalic = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontUnderline = TextUnderlineType.Dotted; + paragraph.ParagraphFormat.DefaultPortionFormat.LatinFont = new FontData("Times New Roman"); -Aspose.Slides permite elegir su tamaño de fuente preferido para el texto existente en un párrafo y otros textos que puedan añadirse al párrafo más adelante. + presentation.Save("font_properties_for_paragraph.pptx", SaveFormat.Pptx); +} +``` -Este C# le muestra cómo establecer el tamaño de fuente para textos contenidos en un párrafo: -```c# -var presentation = new Presentation("example.pptx"); +El resultado: -// Obtener la primera forma, por ejemplo. -var shape = presentation.Slides[0].Shapes[0]; +![The font properties for the paragraph](font_properties_for_paragraph.png) -if (shape is IAutoShape autoShape) +El ejemplo de código a continuación aplica propiedades similares a **porciones de texto con fuente en negrita**: +```cs +using (var presentation = new Presentation("sample.pptx")) { - // Obtener el primer párrafo, por ejemplo. + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Establecer el tamaño de fuente predeterminado a 20 pt para todas las porciones de texto en el párrafo. - paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 20; - - // Establecer el tamaño de fuente a 20 pt para las porciones de texto actuales en el párrafo. foreach (var portion in paragraph.Portions) { - portion.PortionFormat.FontHeight = 20; + if (portion.PortionFormat.GetEffective().FontBold) + { + // Establecer las propiedades de fuente para la porción de texto. + portion.PortionFormat.FontHeight = 13; + portion.PortionFormat.FontItalic = NullableBool.True; + portion.PortionFormat.FontUnderline = TextUnderlineType.Dotted; + portion.PortionFormat.LatinFont = new FontData("Times New Roman"); + } } -} -presentation.Save("output.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_text_portions.pptx", SaveFormat.Pptx); +} ``` -## **Establecer Rotación de Texto** -Aspose.Slides para .NET permite a los desarrolladores rotar el texto. El texto puede configurarse para aparecer como Horizontal, Vertical, Vertical270, WordArtVertical, EastAsianVertical, MongolianVertical o WordArtVerticalRightToLeft. Para rotar el texto de cualquier TextFrame, siga los pasos a continuación: +El resultado: -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Acceder a la primera diapositiva. -3. Agregar cualquier forma a la diapositiva. -4. Acceder al TextFrame. -5. Rotar el texto. -6. Guardar el archivo en disco. +![The font properties for text portions](font_properties_for_text_portions.png) -```c# -// Crear una instancia de la clase Presentation -Presentation presentation = new Presentation(); +## **Establecer rotación del texto** -// Obtener la primera diapositiva -ISlide slide = presentation.Slides[0]; +Rotar el texto puede mejorar el diseño de sus diapositivas y ayudar a enfatizar contenido específico. Con Aspose.Slides para .NET, puede aplicar fácilmente rotación al texto dentro de formas, ajustando el ángulo para que coincida con su diseño. Esta sección demuestra cómo establecer y controlar la rotación del texto para lograr el efecto visual deseado. -// Agregar un AutoShape del tipo Rectángulo -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); - -// Agregar TextFrame al Rectángulo -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; - -// Accediendo al marco de texto -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; - -// Crear el objeto Párrafo para el marco de texto -IParagraph para = txtFrame.Paragraphs[0]; +El siguiente ejemplo de código establece la orientación del texto en la forma a `Vertical270`, que rota el texto **90 grados en sentido antihorario**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Crear objeto Porción para el párrafo -IPortion portion = para.Portions[0]; -portion.Text = "Un zorro marrón rápido salta sobre el perro perezoso. Un zorro marrón rápido salta sobre el perro perezoso."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; -// Guardar presentación -presentation.Save("RotateText_out.pptx", SaveFormat.Pptx); + presentation.Save("text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **Establecer Ángulo de Rotación Personalizado para TextFrame** -Aspose.Slides para .NET ahora admite, establecer un ángulo de rotación personalizado para el text frame. En este tema, veremos con un ejemplo cómo establecer la propiedad RotationAngle en Aspose.Slides. La nueva propiedad RotationAngle se ha añadido a las interfaces IChartTextBlockFormat y ITextFrameFormat, y permite establecer el ángulo de rotación personalizado para el text frame. Para establecer la propiedad RotationAngle, siga los pasos a continuación: - -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Agregar un gráfico en la diapositiva. -3. Establecer la propiedad RotationAngle. -4. Escribir la presentación como un archivo PPTX. -En el ejemplo dado a continuación, establecemos la propiedad RotationAngle. +El resultado: -```c# -// Crear una instancia de la clase Presentation -Presentation presentation = new Presentation(); +![The text rotation](text_rotation.png) -IChart chart = presentation.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 300); +## **Establecer rotación personalizada para marcos de texto** -IChartSeries series = chart.ChartData.Series[0]; +Establecer un ángulo de rotación personalizado para un `TextFrame` le permite posicionar el texto en ángulos precisos, habilitando diseños de diapositivas más creativos y flexibles. Aspose.Slides para .NET brinda control total sobre la rotación de los marcos de texto, facilitando alinear el texto con otros elementos de la diapositiva. Esta sección le guía para aplicar un ángulo de rotación específico a un `TextFrame`. -series.Labels.DefaultDataLabelFormat.ShowValue = true; -series.Labels.DefaultDataLabelFormat.TextFormat.TextBlockFormat.RotationAngle = 65; +El ejemplo de código a continuación rota el marco de texto 3 grados en el sentido de las agujas del reloj dentro de la forma: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -chart.HasTitle = true; -chart.ChartTitle.AddTextFrameForOverriding("Título personalizado").TextFrameFormat.RotationAngle = -30; + autoShape.TextFrame.TextFrameFormat.RotationAngle = 3; -// Guardar presentación -presentation.Save("textframe-rotation_out.pptx", SaveFormat.Pptx); + presentation.Save("custom_text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **Espaciado de Línea de Párrafo** -Aspose.Slides proporciona propiedades ([SpaceAfter](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spaceafter), [SpaceBefore](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacebefore), y [SpaceWithin](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacewithin)) bajo la clase [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/) que le permiten gestionar el espaciado de línea para un párrafo. Las tres propiedades se utilizan de esta manera: -* Para especificar el espaciado de línea para un párrafo en porcentaje, use un valor positivo. -* Para especificar el espaciado de línea para un párrafo en puntos, use un valor negativo. +El resultado: -Por ejemplo, puede aplicar un espaciado de línea de 16pt para un párrafo estableciendo la propiedad `SpaceBefore` a -16. +![The custom text rotation](custom_text_rotation.png) -Así es como se especifica el espaciado de línea para un párrafo específico: +## **Establecer interlineado de párrafos** -1. Cargar una presentación que contenga un AutoShape con algo de texto en él. -2. Obtener la referencia de una diapositiva a través de su índice. -3. Acceder al TextFrame. -4. Acceder al Párrafo. -5. Establecer las propiedades del Párrafo. -6. Guardar la presentación. +Aspose.Slides proporciona las propiedades `SpaceAfter`, `SpaceBefore` y `SpaceWithin` bajo la clase [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/), lo que le permite gestionar el interlineado de un párrafo. Estas propiedades se utilizan de la siguiente manera: -Este código C# le muestra cómo especificar el espaciado de línea para un párrafo: +* Use un valor positivo para especificar el interlineado como un porcentaje de la altura de la línea. +* Use un valor negativo para especificar el interlineado en puntos. -```c# -// Crear una instancia de la clase Presentation -Presentation presentation = new Presentation("Fonts.pptx"); - -// Obtener la referencia de una diapositiva mediante su índice -ISlide sld = presentation.Slides[0]; - -// Acceder al TextFrame -ITextFrame tf1 = ((IAutoShape)sld.Shapes[0]).TextFrame; +El siguiente ejemplo de código muestra cómo especificar el interlineado dentro del párrafo: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// Acceder al Párrafo -IParagraph para1 = tf1.Paragraphs[0]; + paragraph.ParagraphFormat.SpaceWithin = 200; -// Establecer propiedades del Párrafo -para1.ParagraphFormat.SpaceWithin = 80; -para1.ParagraphFormat.SpaceBefore = 40; -para1.ParagraphFormat.SpaceAfter = 40; -// Guardar presentación -presentation.Save("LineSpacing_out.pptx", SaveFormat.Pptx); + presentation.Save("line_spacing.pptx", SaveFormat.Pptx); +} ``` -## **Establecer la Propiedad AutofitType para TextFrame** -En este tema, exploraremos las diferentes propiedades de formato del marco de texto. Este artículo cubre cómo establecer la propiedad AutofitType del marco de texto, anclar el texto y rotar el texto en la presentación. Aspose.Slides para .NET permite a los desarrolladores establecer la propiedad AutofitType de cualquier marco de texto. AutofitType puede establecerse en Normal o Shape. Si se establece en Normal, la forma permanecerá igual mientras que el texto se ajustará sin cambiar la forma en sí, mientras que si AutofitType se establece en Shape, la forma será modificada de tal manera que solo el texto requerido esté contenido en ella. Para establecer la propiedad AutofitType de un marco de texto, siga los pasos a continuación: - -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Acceder a la primera diapositiva. -3. Agregar cualquier forma a la diapositiva. -4. Acceder al TextFrame. -5. Establecer el AutofitType del TextFrame. -6. Guardar el archivo en disco. - -```c# -// Crear una instancia de la clase Presentation -Presentation presentation = new Presentation(); -// Acceder a la primera diapositiva -ISlide slide = presentation.Slides[0]; +El resultado: -// Agregar un AutoShape del tipo Rectángulo -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); +![The line spacing within the paragraph](line_spacing.png) -// Agregar TextFrame al Rectángulo -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; +## **Establecer tipo de ajuste automático para marcos de texto** -// Accediendo al marco de texto -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; - -// Crear el objeto Párrafo para el marco de texto -IParagraph para = txtFrame.Paragraphs[0]; +La propiedad AutoFitType determina cómo se comporta el texto cuando supera los límites de su contenedor. Aspose.Slides para .NET le permite controlar si el texto debe encogerse para ajustarse, desbordarse o redimensionar la forma automáticamente. Esta sección demuestra cómo establecer el `AutofitType` para un `TextFrame` y gestionar eficazmente el diseño del texto dentro de las formas. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Crear objeto Porción para el párrafo -IPortion portion = para.Portions[0]; -portion.Text = "Un zorro marrón rápido salta sobre el perro perezoso. Un zorro marrón rápido salta sobre el perro perezoso."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// Guardar presentación -presentation.Save("formatText_out.pptx", SaveFormat.Pptx); + presentation.Save("autofit_type.pptx", SaveFormat.Pptx); +} ``` -## **Establecer Ancla de TextFrame** -Aspose.Slides para .NET permite a los desarrolladores anclar cualquier TextFrame. TextAnchorType especifica dónde se coloca ese texto en la forma. TextAnchorType puede establecerse en Top, Center, Bottom, Justified o Distributed. Para establecer el ancla de cualquier TextFrame, siga los pasos a continuación: -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Acceder a la primera diapositiva. -3. Agregar cualquier forma a la diapositiva. -4. Acceder al TextFrame. -5. Establecer el TextAnchorType del TextFrame. -6. Guardar el archivo en disco. +## **Establecer ancla de los marcos de texto** -```c# -// Crear una instancia de la clase Presentation -Presentation presentation = new Presentation(); +El anclaje define cómo se posiciona verticalmente el texto dentro de una forma. Con Aspose.Slides para .NET, puede establecer el tipo de ancla de un `TextFrame` para alinear el texto en la parte superior, media o inferior de la forma. Esta sección muestra cómo ajustar la configuración de ancla para lograr la alineación vertical deseada del contenido de texto. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Obtener la primera diapositiva -ISlide slide = presentation.Slides[0]; + autoShape.TextFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; -// Agregar un AutoShape del tipo Rectángulo -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); + presentation.Save("text_anchor.pptx", SaveFormat.Pptx); +} +``` -// Agregar TextFrame al Rectángulo -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; -// Accediendo al marco de texto -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; +## **Establecer tabulación del texto** -// Crear el objeto Párrafo para el marco de texto -IParagraph para = txtFrame.Paragraphs[0]; +La tabulación ayuda a organizar el texto en diseños bien estructurados al añadir espaciado coherente entre los elementos de contenido. Aspose.Slides para .NET admite la configuración de tabuladores personalizados dentro de los párrafos de texto, lo que permite un control preciso sobre la posición del texto. Esta sección muestra cómo configurar la tabulación del texto para mejorar la alineación y el formato. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// Crear objeto Porción para el párrafo -IPortion portion = para.Portions[0]; -portion.Text = "Un zorro marrón rápido salta sobre el perro perezoso. Un zorro marrón rápido salta sobre el perro perezoso."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.ParagraphFormat.DefaultTabSize = 100; + paragraph.ParagraphFormat.Tabs.Add(30, TabAlignment.Left); -// Guardar presentación -presentation.Save("AnchorText_out.pptx", SaveFormat.Pptx); + presentation.Save("paragraph_tabs.pptx", SaveFormat.Pptx); +} ``` -## **Establecer Tabulación de Texto** -- La propiedad EffectiveTabs.ExplicitTabCount (2 en nuestro caso) es igual a Tabs.Count. -- La colección EffectiveTabs incluye todas las tabulaciones (de la colección Tabs y las tabulaciones predeterminadas). -- La propiedad EffectiveTabs.ExplicitTabCount (2 en nuestro caso) es igual a Tabs.Count. -- La propiedad EffectiveTabs.DefaultTabSize (294) muestra la distancia entre las tabulaciones predeterminadas (3 y 4 en nuestro ejemplo). -- EffectiveTabs.GetTabByIndex(index) con index = 0 devolverá la primera tabulación explícita (Posición = 731), index = 1 - segunda tabulación (Posición = 1241). Si intenta obtener la siguiente tabulación con index = 2, devolverá la primera tabulación predeterminada (Posición = 1470) y etc. -- EffectiveTabs.GetTabAfterPosition(pos) se utiliza para obtener la siguiente tabulación después de algún texto. Por ejemplo, tienes el texto: "¡Helloworld!". Para renderizar tal texto debes saber dónde comenzar a dibujar "¡world!". Al principio, debes calcular la longitud de "Hola" en píxeles y llamar a GetTabAfterPosition con ese valor. Obtendrás la posición de la siguiente tabulación para dibujar "¡world!". -## **Establecer Idioma de Corrección** +El resultado: + +![The paragraph tabs](paragraph_tabs.png) -Aspose.Slides proporciona la propiedad [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) (expuesta por la clase [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/)) para permitirle establecer el idioma de corrección para un documento de PowerPoint. El idioma de corrección es el idioma para el cual se revisan las ortografías y gramáticas en PowerPoint. +## **Establecer idioma de revisión** -Este código C# le muestra cómo establecer el idioma de corrección para un PowerPoint: +Aspose.Slides ofrece la propiedad `LanguageId` de la clase [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/), que permite establecer el idioma de revisión para un documento PowerPoint. El idioma de revisión determina el idioma utilizado para la verificación ortográfica y gramatical en PowerPoint. -```c# -using (Presentation pres = new Presentation(pptxFileName)) +El siguiente ejemplo de código muestra cómo establecer el idioma de revisión para una porción de texto: +```cs +using (var presentation = new Presentation("presentation.pptx")) { - AutoShape autoShape = (AutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; - IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; paragraph.Portions.Clear(); - Portion newPortion = new Portion(); + var font = new FontData("SimSun"); - IFontData font = new FontData("SimSun"); - IPortionFormat portionFormat = newPortion.PortionFormat; - portionFormat.ComplexScriptFont = font; - portionFormat.EastAsianFont = font; - portionFormat.LatinFont = font; + var textPortion = new Portion(); + textPortion.PortionFormat.ComplexScriptFont = font; + textPortion.PortionFormat.EastAsianFont = font; + textPortion.PortionFormat.LatinFont = font; - portionFormat.LanguageId = "zh-CN"; // establecer el Id de un idioma de corrección - - newPortion.Text = "1。"; - paragraph.Portions.Add(newPortion); + // Establecer el Id de un idioma de revisión. + textPortion.PortionFormat.LanguageId = "zh-CN"; + + textPortion.Text = "1。"; + paragraph.Portions.Add(textPortion); + + presentation.Save("proofing_language.pptx", SaveFormat.Pptx); } ``` -## **Establecer Idioma Predeterminado** -Este código C# le muestra cómo establecer el idioma predeterminado para toda una presentación de PowerPoint: +## **Establecer idioma predeterminado** -```c# -LoadOptions loadOptions = new LoadOptions(); +Especificar el idioma predeterminado para el texto garantiza la corrección ortográfica, la guionización y el comportamiento de texto a voz adecuados en PowerPoint. Aspose.Slides para .NET le permite establecer el idioma a nivel de porción de texto o de párrafo. Esta sección muestra cómo definir el idioma predeterminado para el texto de su presentación. +```cs +var loadOptions = new LoadOptions(); loadOptions.DefaultTextLanguage = "en-US"; -using (Presentation pres = new Presentation(loadOptions)) + +using (var presentation = new Presentation(loadOptions)) { - // Agrega una nueva forma rectangular con texto - IAutoShape shp = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 50); - shp.TextFrame.Text = "Nuevo Texto"; - - // Comprueba el idioma de la primera porción - Console.WriteLine(shp.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId); + var slide = presentation.Slides[0]; + + // Agregar una nueva forma rectangular con texto. + var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 150, 50); + shape.TextFrame.Text = "Sample text"; + + // Verificar el idioma de la primera porción. + var portion = shape.TextFrame.Paragraphs[0].Portions[0]; + Console.WriteLine(portion.PortionFormat.LanguageId); } ``` -## **Establecer Estilo de Texto Predeterminado** -Si necesita aplicar el mismo formato de texto predeterminado a todos los elementos de texto de una presentación de una vez, puede utilizar la propiedad `DefaultTextStyle` de la interfaz [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) y establecer el formato preferido. El siguiente ejemplo de código muestra cómo establecer la fuente predeterminada en negrita (14 pt) para el texto en todas las diapositivas en una nueva presentación. +## **Establecer estilo de texto predeterminado** + +Si necesita aplicar el mismo formato de texto predeterminado a todos los elementos de texto en una presentación de una sola vez, puede usar la propiedad `DefaultTextStyle` de la interfaz [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) y definir el formato que prefiera. -```c# -using (Presentation presentation = new Presentation()) +El siguiente ejemplo de código muestra cómo establecer una fuente negrita predeterminada con tamaño de 14 pt para todo el texto en todas las diapositivas de una nueva presentación. +```cs +using (var presentation = new Presentation()) { // Obtener el formato de párrafo de nivel superior. - IParagraphFormat paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); + var paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); if (paragraphFormat != null) { @@ -659,6 +521,51 @@ using (Presentation presentation = new Presentation()) paragraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; } - presentation.Save("DefaultTextStyle.pptx", SaveFormat.Pptx); + presentation.Save("default_text_style.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Extraer texto con el efecto de mayúsculas** + +En PowerPoint, aplicar el efecto de fuente **All Caps** hace que el texto aparezca en mayúsculas en la diapositiva aunque originalmente se haya escrito en minúsculas. Cuando recupera una porción de texto con Aspose.Slides, la biblioteca devuelve el texto tal como se ingresó. Para manejar esto, verifique [TextCapType](https://reference.aspose.com/slides/net/aspose.slides/textcaptype/)—si indica `All`, simplemente convierta la cadena devuelta a mayúsculas para que su salida coincida con lo que los usuarios ven en la diapositiva. + +Supongamos que tenemos el siguiente cuadro de texto en la primera diapositiva del archivo sample2.pptx. + +![The All Caps effect](all_caps_effect.png) + + El ejemplo de código a continuación muestra cómo extraer el texto con el efecto **All Caps** aplicado: +```cs +using (var presentation = new Presentation("sample2.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var textPortion = autoShape.TextFrame.Paragraphs[0].Portions[0]; + + Console.WriteLine($"Original text: {textPortion.Text}"); + + var textFormat = textPortion.PortionFormat.GetEffective(); + if (textFormat.TextCapType == TextCapType.All) + { + var text = textPortion.Text.ToUpper(); + Console.WriteLine($"All-Caps effect: {text}"); + } +} +``` + + +Salida: +```text +Original text: Hello, Aspose! +All-Caps effect: HELLO, ASPOSE! +``` + + +## **FAQ** + +**¿Cómo modificar texto en una tabla de una diapositiva?** + +Para modificar texto en una tabla de una diapositiva, debe usar el objeto [ITable](https://reference.aspose.com/slides/net/aspose.slides/itable/). Puede iterar a través de todas las celdas de la tabla y cambiar el texto en cada celda accediendo a sus propiedades `TextFrame` y `ParagraphFormat`. + +**¿Cómo aplicar color degradado al texto en una diapositiva de PowerPoint?** + +Para aplicar color degradado al texto, use la propiedad `FillFormat` en [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/). Establezca `FilFormat` a `Gradient`, donde podrá definir los colores de inicio y fin del degradado, junto con otras propiedades como dirección y transparencia para crear el efecto degradado en el texto. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/manage-text/wordart/_index.md b/es/net/developer-guide/presentation-content/manage-text/wordart/_index.md index d5af760644..9c2f2977ad 100644 --- a/es/net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/es/net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,372 +1,257 @@ --- -title: WordArt +title: Crear y aplicar efectos de WordArt en C# +linktitle: WordArt type: docs weight: 110 url: /es/net/wordart/ -keywords: "WordArt, Word Art, Crear WordArt, plantilla de WordArt, efectos de WordArt, efectos de sombra, efectos de visualización, efectos de brillo, transformaciones de WordArt, efectos 3D, efectos de sombra exterior, efectos de sombra interior, C#, Csharp, Aspose.Slides para .NET" -description: "Agrega, manipula y gestiona WordArt y efectos en presentaciones de PowerPoint en C# o Aspose.Slides para .NET" +keywords: +- WordArt +- crear WordArt +- plantilla WordArt +- efecto WordArt +- efecto de sombra +- efecto de visualización +- efecto de brillo +- transformación WordArt +- efecto 3D +- efecto de sombra externa +- efecto de sombra interna +- C# +- Csharp +- .NET +- Aspose.Slides +description: "Aprenda cómo crear y personalizar efectos de WordArt en Aspose.Slides para .NET. Esta guía paso a paso ayuda a los desarrolladores a mejorar presentaciones con texto elegante y profesional en C#." --- -## **¿Qué es WordArt?** -WordArt o Word Art es una característica que te permite aplicar efectos a los textos para hacer que se destaquen. Con WordArt, por ejemplo, puedes contornear un texto o rellenarlo con un color (o degradado), agregarle efectos 3D, etc. También puedes distorsionar, doblar y estirar la forma de un texto. +## **Visión general** -{{% alert color="primary" %}} - -WordArt te permite tratar un texto como si fuera un objeto gráfico. WordArt consiste en efectos o modificaciones especiales realizadas a los textos para hacerlos 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 aplican a un texto o su forma. - -**WordArt en Aspose.Slides** - -En Aspose.Slides para .NET 20.10, implementamos soporte para WordArt y realizamos mejoras a la función en versiones posteriores de Aspose.Slides para .NET. - -Con Aspose.Slides para .NET, puedes crear fácilmente tu propia plantilla de WordArt (un efecto o combinación de efectos) en C# y aplicarla a los textos. +Los efectos de WordArt le permiten añadir texto visualmente atractivo y estilizado a sus presentaciones de PowerPoint. Con Aspose.Slides para .NET, los desarrolladores pueden crear, personalizar y gestionar WordArt de forma programática, tal como en Microsoft PowerPoint, sin necesidad de tener Office instalado. Este artículo ofrece una visión general de cómo trabajar con WordArt en .NET, incluyendo cómo aplicar transformaciones de texto, estilos de relleno, contornos, sombras y otras opciones de formato para que el contenido de su presentación sea más expresivo y atractivo. WordArt le permite tratar el texto como un objeto gráfico. Consiste en efectos o modificaciones especiales aplicadas al texto para hacerlo más atractivo o llamativo. -## Creando una Plantilla de WordArt Simple y Aplicándola a un Texto +## **Crear una plantilla simple de WordArt y aplicarla al texto** -**Usando Aspose.Slides** +En esta sección, exploraremos cómo crear una plantilla simple de WordArt y aplicarla al texto usando Aspose.Slides para .NET. WordArt ofrece una forma sencilla de mejorar la apariencia del texto con efectos y estilos visuales impactantes. Al aprender los pasos básicos para crear y usar WordArt, podrá adaptar fácilmente estas técnicas a cualquier proyecto, haciendo sus presentaciones más vibrantes y memorables. -Primero, creamos un texto simple usando este código C#: - -``` csharp -using (Presentation pres = new Presentation()) +Primero, creamos un texto simple utilizando el siguiente código C#: +```cs +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); + ISlide slide = presentation.Slides[0]; + + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 400, 200); ITextFrame textFrame = autoShape.TextFrame; - Portion portion = (Portion)textFrame.Paragraphs[0].Portions[0]; + IPortion portion = textFrame.Paragraphs[0].Portions[0]; portion.Text = "Aspose.Slides"; } ``` -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: - -``` csharp -FontData fontData = new FontData("Arial Black"); -portion.PortionFormat.LatinFont = fontData; -portion.PortionFormat.FontHeight = 36; -``` - -**Usando Microsoft PowerPoint** - -Ve 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 los ajustes para un nuevo WordArt. -Estos son algunos de los parámetros u opciones disponibles: - -![todo:image_alt_text](image-20200930114015-3.png) - -**Usando Aspose.Slides** - -Aquí, aplicamos el color de patrón SmallGrid al texto y agregamos un borde negro de 1 de ancho al texto usando este código: - -``` csharp -portion.PortionFormat.FillFormat.FillType = FillType.Pattern; -portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; -portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; -portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; - -portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +Ahora, establecemos la altura de fuente del texto a un valor mayor para que el efecto sea más visible mediante el siguiente código: +```cs + portion.PortionFormat.LatinFont = new FontData("Arial Black"); + portion.PortionFormat.FontHeight = 36; ``` -El texto resultante: -![todo:image_alt_text](image-20200930114108-4.png) +Aquí, aplicamos el relleno de patrón SmallGrid al texto y añadimos un contorno negro de grosor 1 mediante el siguiente código: +```cs + portion.PortionFormat.FillFormat.FillType = FillType.Pattern; + portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; + portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; + portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; + + portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +``` -## Aplicando Otros Efectos de WordArt -**Usando Microsoft PowerPoint** +El texto resultante: -Desde la interfaz del programa, puedes aplicar estos efectos a un texto, bloque de texto, forma o elemento similar: +![La plantilla simple de WordArt](WordArt_template.png) -![todo:image_alt_text](image-20200930114129-5.png) +## **Aplicar otros efectos de WordArt** -Por ejemplo, los efectos de Sombra, Reflexión y Brillo se pueden aplicar a un texto; los efectos de Formato 3D y Rotación 3D se pueden aplicar a un bloque de texto; la propiedad de Bordes Suaves se puede aplicar a un Objeto de Forma (aún tiene un efecto cuando no se establece la propiedad de Formato 3D). +Además de las transformaciones básicas, Aspose.Slides para .NET le permite aplicar una variedad de efectos avanzados de WordArt para mejorar la apariencia de su texto. Estos incluyen contornos, rellenos, sombras, reflejos y efectos de brillo. Al combinar estas características, puede crear estilos de texto llamativos que destaquen en sus presentaciones. Esta sección muestra cómo aplicar estos efectos de forma programática usando ejemplos de código simples y claros. -### Aplicando Efectos de Sombra +### **Aplicar efectos de sombra externa** -Aquí, pretendemos establecer las propiedades relacionadas solo con un texto. Aplicamos el efecto de sombra a un texto usando este código en C#: +Los efectos de sombra externa hacen que el texto destaque al añadir una sombra detrás de su contorno, creando una sensación de profundidad y separación del fondo. Aspose.Slides para .NET le permite aplicar y personalizar fácilmente sombras externas en el texto de WordArt. En esta sección, aprenderá a configurar el color de la sombra, la dirección, la distancia, el radio de difuminado y más para lograr el impacto visual deseado. -``` csharp -portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 65; -portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4.73; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 2; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 30; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); +El siguiente fragmento de código C# aplica un efecto de sombra al texto creado anteriormente. +```cs + portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 30; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 20; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); ``` -Aspose.Slides API soporta tres tipos de sombras: OuterShadow, InnerShadow y PresetShadow. - -Con PresetShadow, puedes aplicar una sombra a un texto (usando valores preestablecidos). - -**Usando Microsoft PowerPoint** -En PowerPoint, puedes 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. +El texto resultante: -**Notas:** +![El efecto de sombra externa](outer_shadow_effect.png) -- Cuando se utilizan juntos OuterShadow y PresetShadow, solo se aplica el efecto de OuterShadow. -- Si se utilizan simultáneamente OuterShadow y 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. +{{% alert color="primary" %}} +- Cuando OuterShadow y PresetShadow se usan juntos, solo se aplica el efecto OuterShadow. +- Si OuterShadow e InnerShadow se usan simultáneamente, el efecto resultante depende de la versión de PowerPoint. Por ejemplo, en PowerPoint 2013 el efecto se duplica, mientras que en PowerPoint 2007 solo se aplica el efecto OuterShadow. +{{% /alert %}} + +### **Aplicar efectos de reflejo** + +En esta sección, exploraremos cómo aplicar efectos de reflejo en sus diapositivas usando Aspose.Slides para .NET. Los efectos de reflejo pueden ser una forma eficaz de dar a su texto o formas un aspecto elegante y moderno, ayudando a que los elementos clave destaquen y añadiendo profundidad a su presentación. Al comprender el proceso de aplicación y personalización de estos efectos, podrá adaptarlos fácilmente a sus necesidades de diseño y requisitos de marca. + +Añada un efecto de reflejo al texto usando este ejemplo de código C#: +```cs + portion.PortionFormat.EffectFormat.EnableReflectionEffect(); + portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; + portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; + portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; +``` -### Aplicando Visualización a Textos -Agregamos visualización al texto a través de este código de muestra en C#: +El texto resultante: -``` csharp -portion.PortionFormat.EffectFormat.EnableReflectionEffect(); -portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; -portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; -portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; -``` +![El efecto de reflejo](reflection_effect.png) -### Aplicando Efecto de Brillo a Textos +### **Aplicar efectos de brillo** -Aplicamos el efecto de brillo al texto para que brille o se destaque usando este código: +En esta sección, exploraremos cómo aplicar un efecto de brillo al texto usando Aspose.Slides para .NET. El efecto de brillo puede hacer que su texto destaque con un contorno luminoso, mejorando el atractivo visual de sus diapositivas. Al ajustar configuraciones como el color y la intensidad, podrá adaptar fácilmente el brillo a sus necesidades de diseño y marca, asegurando que los puntos clave de su presentación capturen la atención de la audiencia. -``` csharp -portion.PortionFormat.EffectFormat.EnableGlowEffect(); -portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; -portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); -portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; +Aplique un efecto de brillo al texto para que brille o destaque mediante el siguiente código: +```cs + portion.PortionFormat.EffectFormat.EnableGlowEffect(); + portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; + portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); + portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; ``` -El resultado de la operación: -![todo:image_alt_text](image-20200930114621-7.png) +El texto resultante: -{{% alert color="primary" %}} +![El efecto de brillo](glow_effect.png) -Puedes cambiar los parámetros para la sombra, visualización y brillo. Las propiedades de los efectos se establecen en cada porción del texto por separado. +### **Aplicar transformaciones de WordArt** -{{% /alert %}} +En esta sección, exploraremos cómo usar transformaciones en WordArt con Aspose.Slides para .NET. Las transformaciones le permiten doblar, estirar o deformar el texto, creando efectos únicos y visualmente impactantes. Al dominar estas técnicas, podrá adaptar fácilmente las formas y estilos del texto a su marca o visión creativa, garantizando una presentación atractiva y pulida. -### Usando Transformaciones en WordArt - -Utilizamos la propiedad Transform (inherente en todo el bloque de texto) a través de este código: -``` csharp -textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; +Utilice la propiedad `Transform` (que se aplica a todo el bloque de texto) con el siguiente código: +```cs + textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; ``` -El resultado: - -![todo:image_alt_text](image-20200930114712-8.png) -{{% alert color="primary" %}} +El texto resultante: -Tanto Microsoft PowerPoint como Aspose.Slides para .NET proporcionan una cierta cantidad de tipos de transformación predefinidos. +![La transformación de WordArt](transform_effect.png) +{{% alert color="primary" %}} +Aspose.Slides para .NET proporciona un conjunto de [tipos de transformación](https://reference.aspose.com/slides/net/aspose.slides/textshapetype/) predefinidos. {{% /alert %}} -**Usando PowerPoint** - -Para acceder a los tipos de transformación predefinidos, ve a: **Formato** -> **Efecto de Texto** -> **Transformar** +### **Aplicar efectos 3D a formas y texto** -**Usando Aspose.Slides** +Crear visuales realistas y llamativos puede mejorar significativamente el impacto de sus presentaciones. En esta sección, exploraremos cómo aplicar efectos tridimensionales (3D) a las formas usando Aspose.Slides para .NET. Al manipular parámetros como profundidad, ángulo e iluminación, podrá generar impresionantes transformaciones 3D que captarán de inmediato la atención de su audiencia. Ya sea que busque resaltados sutiles o ilusiones dramáticas, estas funciones ofrecen formas flexibles de elevar su diseño y transmitir ideas de manera más cautivadora. -Para seleccionar un tipo de transformación, utiliza el enum TextShapeType. +Utilice el siguiente código de ejemplo para aplicar un efecto 3D a la forma: +```cs + autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelBottom.Height = 10.5; + autoShape.ThreeDFormat.BevelBottom.Width = 10.5; -### Aplicando efectos 3D a Textos y Formas + autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelTop.Height = 12.5; + autoShape.ThreeDFormat.BevelTop.Width = 11; -Establecemos un efecto 3D a una forma de texto utilizando este código de muestra: + autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + autoShape.ThreeDFormat.ExtrusionHeight = 6; -``` csharp -autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelBottom.Height = 10.5; -autoShape.ThreeDFormat.BevelBottom.Width = 10.5; + autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; + autoShape.ThreeDFormat.ContourWidth = 1.5; -autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelTop.Height = 12.5; -autoShape.ThreeDFormat.BevelTop.Width = 11; + autoShape.ThreeDFormat.Depth = 3; -autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -autoShape.ThreeDFormat.ExtrusionHeight = 6; + autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; -autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; -autoShape.ThreeDFormat.ContourWidth = 1.5; + autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -autoShape.ThreeDFormat.Depth = 3; - -autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; - -autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); - -autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -El texto resultante y su forma: -![todo:image_alt_text](image-20200930114816-9.png) +La forma resultante: -Aplicamos un efecto 3D al texto con este código C#: +![El efecto 3D de la forma](shape_3D_effect.png) -``` csharp -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; +Utilice el siguiente código de ejemplo para aplicar un efecto 3D al texto: +```cs + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; -textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; -textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; + textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; + textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; -textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; + textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; -textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; + textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); + textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -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 y las interacciones entre efectos se basan en ciertas reglas. +El texto resultante: -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 sobre la cual se colocó el objeto. +![El efecto 3D del texto](text_3D_effect.png) -- Cuando la escena está configurada tanto para la figura como para el texto, la escena de la figura tiene mayor prioridad: la escena del texto se ignora. -- 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. +{{% alert color="primary" %}} +La aplicación de efectos 3D al texto o a sus formas —y la interacción entre estos efectos— está regida por reglas específicas. Considere una escena que involucre tanto un texto como la forma que contiene ese texto. Un efecto 3D incluye la representación 3D del objeto y la escena en la que se coloca. -Las descripciones están conectadas a las propiedades [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/lightrig) y [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/camera). +- Si se establece una escena tanto para la forma como para el texto, la escena de la forma tiene prioridad y la escena del texto se ignora. +- Si la forma no tiene su propia escena pero posee una representación 3D, se utiliza la escena del texto. +- Si la forma no tiene ningún efecto 3D, se trata como plana, y el efecto 3D se aplica solo al texto. +Estos comportamientos están relacionados con las propiedades [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/lightrig/) y [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/camera/). {{% /alert %}} -## **Aplicar Efectos de Sombra Exterior a Textos** -Aspose.Slides para .NET proporciona las clases [**IOuterShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/ioutershadow) y [**IInnerShadow**](https://reference.aspose.com/slides/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/net/aspose.slides/presentation). -2. Obtén la referencia de una diapositiva usando su índice. -3. Agrega 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 C#—una implementación de los pasos anteriores—te muestra cómo aplicar el efecto de sombra exterior a un texto: - -```c# -using (Presentation pres = new Presentation()) -{ - - // Obtener referencia de la diapositiva - ISlide sld = pres.Slides[0]; - - // Agregar una AutoShape de tipo Rectángulo - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - - // Agregar TextFrame al rectángulo - ashp.AddTextFrame("Aspose TextBox"); - - // Deshabilitar el relleno de la forma en caso de que queramos obtener la sombra del texto - ashp.FillFormat.FillType = FillType.NoFill; - - // Agregar sombra exterior y establecer todos los parámetros necesarios - ashp.EffectFormat.EnableOuterShadowEffect(); - IOuterShadow shadow = ashp.EffectFormat.OuterShadowEffect; - shadow.BlurRadius = 4.0; - shadow.Direction = 45; - shadow.Distance = 3; - shadow.RectangleAlign = RectangleAlignment.TopLeft; - shadow.ShadowColor.PresetColor = PresetColor.Black; - - // Escribir la presentación en disco - pres.Save("pres_out.pptx", SaveFormat.Pptx); -} -``` - - -## **Aplicar Efecto de Sombra Interior a Formas** -Sigue estos pasos: - -1. Crea una instancia de la [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtén una referencia de la diapositiva. -3. Agrega una AutoShape del 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/) . +## **Preguntas frecuentes** -Este código de muestra (basado en los pasos anteriores) te muestra cómo agregar un conector entre dos formas en C#: +**¿Puedo usar efectos de WordArt con diferentes fuentes o escrituras (p. ej., árabe, chino)?** -```c# -using(Presentation presentation = new Presentation()) -{ - // Obtener referencia de una diapositiva - ISlide slide = presentation.Slides[0]; +Sí, Aspose.Slides para .NET admite Unicode y funciona con todas las fuentes y escrituras principales. Los efectos de WordArt como sombra, relleno y contorno pueden aplicarse independientemente del idioma, aunque la disponibilidad de fuentes y la representación pueden depender de las fuentes del sistema. - // Agregar una AutoShape de tipo Rectángulo - IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 400, 300); - ashp.FillFormat.FillType = FillType.NoFill; +**¿Puedo aplicar efectos de WordArt a elementos de la diapositiva maestra?** - // Agregar TextFrame al rectángulo - ashp.AddTextFrame("Aspose TextBox"); - IPortion port = ashp.TextFrame.Paragraphs[0].Portions[0]; - IPortionFormat pf = port.PortionFormat; - pf.FontHeight = 50; +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. - // Habilitar InnerShadowEffect - IEffectFormat ef = pf.EffectFormat; - ef.EnableInnerShadowEffect(); +**¿Los efectos de WordArt afectan el tamaño del archivo de la presentación?** - // Establecer todos los parámetros necesarios - ef.InnerShadowEffect.BlurRadius = 8.0; - ef.InnerShadowEffect.Direction = 90.0F; - ef.InnerShadowEffect.Distance = 6.0; - ef.InnerShadowEffect.ShadowColor.B = 189; +Ligeramente. Los efectos de WordArt como sombras, brillos y rellenos degradados pueden aumentar ligeramente el tamaño del archivo debido a los metadatos de formato añadidos, pero la diferencia suele ser insignificante. - // Establecer ColorType como Esquema - ef.InnerShadowEffect.ShadowColor.ColorType = ColorType.Scheme; +**¿Puedo previsualizar el resultado de los efectos de WordArt sin guardar la presentación?** - // Establecer Color del Esquema - ef.InnerShadowEffect.ShadowColor.SchemeColor = SchemeColor.Accent1; - - // Guardar Presentación - presentation.Save("WordArt_out.pptx", SaveFormat.Pptx); -} -``` \ No newline at end of file +Sí, puede renderizar diapositivas que contienen WordArt a imágenes (p. ej., PNG, JPEG) utilizando el método `GetImage` de las interfaces [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/) o [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/). 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/net/developer-guide/presentation-content/manage-zoom/_index.md b/es/net/developer-guide/presentation-content/manage-zoom/_index.md index 7b3bbe1b5a..c4fc182c97 100644 --- a/es/net/developer-guide/presentation-content/manage-zoom/_index.md +++ b/es/net/developer-guide/presentation-content/manage-zoom/_index.md @@ -3,53 +3,52 @@ title: Administrar Zoom type: docs weight: 60 url: /es/net/manage-zoom/ -keywords: +keywords: - zoom - marco de zoom - agregar zoom - formatear marco de zoom -- resumen de zoom -- presentación de PowerPoint +- zoom de resumen +- presentación PowerPoint - C# - Csharp - Aspose.Slides para .NET -description: "Agregue zoom o marcos de zoom a presentaciones de PowerPoint en C# o .NET" +description: "Agregar zoom o marcos de zoom a presentaciones PowerPoint en C# o .NET" --- -## **Descripción General** -Los zooms en PowerPoint te permiten saltar a y desde diapositivas específicas, secciones y porciones de una presentación. Cuando estás presentando, esta capacidad para navegar rápidamente a través del contenido puede resultar muy útil. +## **Descripción general** +Los Zoom en PowerPoint le permiten saltar a y desde diapositivas específicas, secciones y partes de una presentación. Cuando está presentando, esta capacidad de navegar rápidamente por el contenido puede resultar muy útil. ![overview_image](overview.png) -* Para resumir una presentación completa en una sola diapositiva, utiliza un [Resumen de Zoom](#Summary-Zoom). -* Para mostrar solo diapositivas seleccionadas, utiliza un [Zoom de Diapositiva](#Slide-Zoom). -* Para mostrar solo una sección, utiliza un [Zoom de Sección](#Section-Zoom). +* Para resumir una presentación completa en una sola diapositiva, use un [Summary Zoom](#Summary-Zoom). +* Para mostrar solo diapositivas seleccionadas, use un [Slide Zoom](#Slide-Zoom). +* Para mostrar sólo una sección, use un [Section Zoom](#Section-Zoom). -## **Zoom de Diapositiva** -Un zoom de diapositiva puede hacer que tu presentación sea más dinámica, permitiéndote navegar libremente entre diapositivas en cualquier orden que elijas sin interrumpir el flujo de tu presentación. Los zooms de diapositiva son excelentes para presentaciones breves sin muchas secciones, pero aún puedes usarlos en diferentes escenarios de presentación. +## **Slide Zoom** +Un slide zoom puede hacer su presentación más dinámica, permitiéndole navegar libremente entre diapositivas en cualquier orden que elija sin interrumpir el flujo de su presentación. Los slide zooms son ideales para presentaciones cortas sin muchas secciones, pero aún puede utilizarlos en diferentes escenarios de presentación. -Los zooms de diapositiva te ayudan a profundizar en múltiples piezas de información mientras sientes que estás en un solo lienzo. +Los slide zooms le ayudan a profundizar en múltiples piezas de información mientras siente que está en un solo lienzo. ![overview_image](slidezoomsel.png) -Para objetos de zoom de diapositiva, Aspose.Slides proporciona la enumeración [ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype), la interfaz [IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe) y algunos métodos bajo la interfaz [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +Para los objetos slide zoom, Aspose.Slides proporciona la enumeración [ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype), la interfaz [IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe) y algunos métodos bajo la interfaz [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -### **Creación de Marcos de Zoom** +### **Creación de marcos de zoom** -Puedes agregar un marco de zoom en una diapositiva de la siguiente manera: +Puede agregar un marco de zoom en una diapositiva de esta manera: -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Crear nuevas diapositivas a las que planeas vincular los marcos de zoom. -3. Agregar un texto de identificación y un fondo a las diapositivas creadas. -4. Agregar marcos de zoom (que contienen las referencias a las diapositivas creadas) a la primera diapositiva. -5. Escribir la presentación modificada como un archivo PPTX. - -Este código C# te muestra cómo crear un marco de zoom en una diapositiva: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Cree nuevas diapositivas a las que pretende enlazar los marcos de zoom. +3. Agregue un texto de identificación y un fondo a las diapositivas creadas. +4. Agregue marcos de zoom (que contengan referencias a las diapositivas creadas) a la primera diapositiva. +5. Guarde la presentación modificada como un archivo PPTX. +Este código C# le muestra cómo crear un marco de zoom en una diapositiva: ``` csharp using (Presentation pres = new Presentation()) { - //Agrega nuevas diapositivas a la presentación + //Añade nuevas diapositivas a la presentación ISlide slide2 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); ISlide slide3 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -60,7 +59,7 @@ using (Presentation pres = new Presentation()) // Crea un cuadro de texto para la segunda diapositiva IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Segunda Diapositiva"; + autoshape.TextFrame.Text = "Second Slide"; // Crea un fondo para la tercera diapositiva slide3.Background.Type = BackgroundType.OwnBackground; @@ -69,9 +68,9 @@ using (Presentation pres = new Presentation()) // Crea un cuadro de texto para la tercera diapositiva autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Tercera Diapositiva"; + autoshape.TextFrame.Text = "Trird Slide"; - //Agrega objetos ZoomFrame + //Añade objetos ZoomFrame pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); @@ -79,21 +78,21 @@ using (Presentation pres = new Presentation()) pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Creación de Marcos de Zoom con Imágenes Personalizadas** -Con Aspose.Slides para .NET, puedes crear un marco de zoom con una imagen de vista previa de diapositiva diferente de la siguiente manera: -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Crear una nueva diapositiva a la que planeas vincular el marco de zoom. -3. Agregar un texto de identificación y un fondo a la diapositiva. -4. Crear un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) agregando una imagen a la colección de Imágenes asociada con el objeto [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) que se utilizará para llenar el marco. -5. Agregar marcos de zoom (que contienen la referencia a la diapositiva creada) a la primera diapositiva. -6. Escribir la presentación modificada como un archivo PPTX. -Este código C# te muestra cómo crear un marco de zoom con una imagen diferente: +### **Creación de marcos de zoom con imágenes personalizadas** +Con Aspose.Slides para .NET, puede crear un marco de zoom con una imagen de vista previa de diapositiva diferente de esta manera: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Cree una nueva diapositiva a la que pretende enlazar el marco de zoom. +3. Agregue un texto de identificación y un fondo a la diapositiva. +4. Cree un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) añadiendo una imagen a la colección Images asociada al objeto [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) que se utilizará para rellenar el marco. +5. Agregue marcos de zoom (que contengan la referencia a la diapositiva creada) a la primera diapositiva. +6. Guarde la presentación modificada como un archivo PPTX. +Este código C# le muestra cómo crear un marco de zoom con una imagen diferente: ``` csharp using (Presentation pres = new Presentation()) { - //Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); // Crea un fondo para la segunda diapositiva @@ -103,41 +102,41 @@ using (Presentation pres = new Presentation()) // Crea un cuadro de texto para la tercera diapositiva IAutoShape autoshape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Segunda Diapositiva"; + autoshape.TextFrame.Text = "Second Slide"; - // Crea una nueva imagen para el objeto de zoom + // Crea una nueva imagen para el objeto zoom IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // Agrega el objeto ZoomFrame + //Añade el objeto ZoomFrame pres.Slides[0].Shapes.AddZoomFrame(20, 20, 300, 200, slide, ppImage); // Guarda la presentación pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Formateo de Marcos de Zoom** -En las secciones anteriores, te mostramos cómo crear marcos de zoom simples. Para crear marcos de zoom más complicados, debes alterar el formato de un marco simple. Hay varias opciones de formato que puedes aplicar a un marco de zoom. -Puedes controlar el formato de un marco de zoom en una diapositiva de la siguiente manera: +### **Formato de marcos de zoom** +En las secciones anteriores le mostramos cómo crear marcos de zoom simples. Para crear marcos de zoom más complejos, debe modificar el formato de un marco sencillo. Existen varias opciones de formato que puede aplicar a un marco de zoom. -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Crear nuevas diapositivas a las que planeas vincular el marco de zoom. -3. Agregar algún texto de identificación y un fondo a las diapositivas creadas. -4. Agregar marcos de zoom (que contienen las referencias a las diapositivas creadas) a la primera diapositiva. -5. Crear un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) agregando una imagen a la colección de Imágenes asociada con el objeto [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) que se utilizará para llenar el marco. -6. Establecer una imagen personalizada para el primer objeto de marco de zoom. -7. Cambiar el formato de línea para el segundo objeto de marco de zoom. -8. Eliminar el fondo de una imagen del segundo objeto de marco de zoom. -9. Escribir la presentación modificada como un archivo PPTX. +Puede controlar el formato de un marco de zoom en una diapositiva de esta manera: -Este código C# te muestra cómo cambiar el formato de un marco de zoom en una diapositiva: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Cree nuevas diapositivas a las que pretende enlazar el marco de zoom. +3. Agregue algún texto de identificación y un fondo a las diapositivas creadas. +4. Agregue marcos de zoom (que contengan referencias a las diapositivas creadas) a la primera diapositiva. +5. Cree un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) añadiendo una imagen a la colección Images asociada al objeto [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) que se utilizará para rellenar el marco. +6. Establezca una imagen personalizada para el primer objeto de marco de zoom. +7. Cambie el formato de línea para el segundo objeto de marco de zoom. +8. Elimine el fondo de la imagen del segundo objeto de marco de zoom. +5. Guarde la presentación modificada como un archivo PPTX. +Este código C# le muestra cómo cambiar el formato de un marco de zoom en una diapositiva: ``` csharp using (Presentation pres = new Presentation()) { - //Agrega nuevas diapositivas a la presentación + //Añade nuevas diapositivas a la presentación ISlide slide2 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); ISlide slide3 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -148,7 +147,7 @@ using (Presentation pres = new Presentation()) // Crea un cuadro de texto para la segunda diapositiva IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Segunda Diapositiva"; + autoshape.TextFrame.Text = "Second Slide"; // Crea un fondo para la tercera diapositiva slide3.Background.Type = BackgroundType.OwnBackground; @@ -157,13 +156,13 @@ using (Presentation pres = new Presentation()) // Crea un cuadro de texto para la tercera diapositiva autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Tercera Diapositiva"; + autoshape.TextFrame.Text = "Trird Slide"; - // Agrega objetos ZoomFrame + //Añade objetos ZoomFrame IZoomFrame zoomFrame1 = pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); IZoomFrame zoomFrame2 = pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); - // Crea una nueva imagen para el objeto de zoom + // Crea una nueva imagen para el objeto zoom IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); @@ -177,7 +176,7 @@ using (Presentation pres = new Presentation()) zoomFrame2.LineFormat.FillFormat.SolidFillColor.Color = Color.HotPink; zoomFrame2.LineFormat.DashStyle = LineDashStyle.DashDot; - // Configuración para no mostrar el fondo para el objeto zoomFrame2 + // Configuración para no mostrar fondo del objeto zoomFrame2 zoomFrame2.ShowBackground = false; // Guarda la presentación @@ -185,122 +184,122 @@ using (Presentation pres = new Presentation()) } ``` -## **Zoom de Sección** -Un zoom de sección es un enlace a una sección en tu presentación. Puedes usar los zooms de sección para volver a secciones que realmente deseas enfatizar. O puedes usarlos para destacar cómo ciertas piezas de tu presentación se conectan. +## **Zoom de sección** -![overview_image](seczoomsel.png) +Un zoom de sección es un enlace a una sección de su presentación. Puede usar los zooms de sección para volver a secciones que desea enfatizar realmente. O bien puede usarlos para resaltar cómo ciertas partes de su presentación se conectan. -Para objetos de zoom de sección, Aspose.Slides proporciona la interfaz [ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe) y algunos métodos bajo la interfaz [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +![overview_image](seczoomsel.png) -### **Creación de Marcos de Zoom de Sección** +Para los objetos zoom de sección, Aspose.Slides proporciona la interfaz [ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe) y algunos métodos bajo la interfaz [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -Puedes agregar un marco de zoom de sección a una diapositiva de la siguiente manera: +### **Creación de marcos de zoom de sección** -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Crear una nueva diapositiva. -3. Agregar un fondo de identificación a la diapositiva creada. -4. Crear una nueva sección a la que planeas vincular el marco de zoom. -5. Agregar un marco de zoom de sección (que contiene referencias a la sección creada) a la primera diapositiva. -6. Escribir la presentación modificada como un archivo PPTX. +Puede agregar un marco de zoom de sección a una diapositiva de esta manera: -Este código C# te muestra cómo crear un marco de zoom en una diapositiva: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Cree una nueva diapositiva. +3. Agregue un fondo de identificación a la diapositiva creada. +4. Cree una nueva sección a la que pretende enlazar el marco de zoom. +5. Agregue un marco de zoom de sección (que contenga referencias a la sección creada) a la primera diapositiva. +6. Guarde la presentación modificada como un archivo PPTX. +Este código C# le muestra cómo crear un marco de zoom en una diapositiva: ``` csharp using (Presentation pres = new Presentation()) { - //Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - pres.Sections.AddSection("Sección 1", slide); + // Añade una nueva sección a la presentación + pres.Sections.AddSection("Section 1", slide); - // Agrega un objeto SectionZoomFrame + // Añade un objeto SectionZoomFrame ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); // Guarda la presentación pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Creación de Marcos de Zoom de Sección con Imágenes Personalizadas** -Usando Aspose.Slides para .NET, puedes crear un marco de zoom de sección con una imagen de vista previa de diapositiva diferente de la siguiente manera: +### **Creación de marcos de zoom de sección con imágenes personalizadas** -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Crear una nueva diapositiva. -3. Agregar un fondo de identificación a la diapositiva creada. -4. Crear una nueva sección a la que planeas vincular el marco de zoom. -5. Crear un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) agregando una imagen a la colección de Imágenes asociada con el objeto [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) que se utilizará para llenar el marco. -5. Agregar un marco de zoom de sección (containing una referencia a la sección creada) a la primera diapositiva. -6. Escribir la presentación modificada como un archivo PPTX. +Usando Aspose.Slides para .NET, puede crear un marco de zoom de sección con una imagen de vista previa de diapositiva diferente de esta manera: -Este código C# te muestra cómo crear un marco de zoom con una imagen diferente: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Cree una nueva diapositiva. +3. Agregue un fondo de identificación a la diapositiva creada. +4. Cree una nueva sección a la que pretende enlazar el marco de zoom. +5. Cree un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) añadiendo una imagen a la colección Images asociada al objeto [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) que se utilizará para rellenar el marco. +5. Agregue un marco de zoom de sección (que contenga una referencia a la sección creada) a la primera diapositiva. +6. Guarde la presentación modificada como un archivo PPTX. +Este código C# le muestra cómo crear un marco de zoom con una imagen diferente: ``` csharp using (Presentation pres = new Presentation()) { - //Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - pres.Sections.AddSection("Sección 1", slide); + // Añade una nueva sección a la presentación + pres.Sections.AddSection("Section 1", slide); - // Crea una nueva imagen para el objeto de zoom + // Crea una nueva imagen para el objeto zoom IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // Agrega objeto SectionZoomFrame + // Añade un objeto SectionZoomFrame ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1], ppImage); // Guarda la presentación pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Formateo de Marcos de Zoom de Sección** -Para crear marcos de zoom de sección más complicados, debes alterar el formato de un marco simple. Hay varias opciones de formato que puedes aplicar a un marco de zoom de sección. +### **Formato de marcos de zoom de sección** -Puedes controlar el formato de un marco de zoom de sección en una diapositiva de la siguiente manera: +Para crear marcos de zoom de sección más complicados, debe modificar el formato de un marco sencillo. Existen varias opciones de formato que puede aplicar a un marco de zoom de sección. -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Crear una nueva diapositiva. -3. Agregar un fondo de identificación a la diapositiva creada. -4. Crear una nueva sección a la que planeas vincular el marco de zoom. -5. Agregar un marco de zoom de sección (que contiene referencias a la sección creada) a la primera diapositiva. -6. Cambiar el tamaño y la posición del objeto de zoom de sección creado. -7. Crear un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) agregando una imagen a la colección de imágenes asociada con el objeto [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) que se utilizará para llenar el marco. -8. Establecer una imagen personalizada para el objeto de marco de zoom de sección creado. -9. Establecer la capacidad de *volver a la diapositiva original desde la sección vinculada*. -10. Eliminar el fondo de una imagen del objeto de marco de zoom de sección. -11. Cambiar el formato de línea para el segundo objeto de marco de zoom. -12. Cambiar la duración de la transición. -13. Escribir la presentación modificada como un archivo PPTX. +Puede controlar el formato de un marco de zoom de sección en una diapositiva de esta manera: -Este código C# te muestra cómo cambiar el formato de un marco de zoom de sección: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Cree una nueva diapositiva. +3. Agregue un fondo de identificación a la diapositiva creada. +4. Cree una nueva sección a la que pretende enlazar el marco de zoom. +5. Agregue un marco de zoom de sección (que contenga referencias a la sección creada) a la primera diapositiva. +6. Cambie el tamaño y la posición del objeto de zoom de sección creado. +7. Cree un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) añadiendo una imagen a la colección Images asociada al objeto [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) que se utilizará para rellenar el marco. +8. Establezca una imagen personalizada para el objeto de marco de zoom de sección creado. +9. Establezca la capacidad de *volver a la diapositiva original desde la sección enlazada*. +10. Elimine el fondo de la imagen del objeto de marco de zoom de sección. +11. Cambie el formato de línea para el segundo objeto de marco de zoom. +12. Cambie la duración de la transición. +13. Guarde la presentación modificada como un archivo PPTX. +Este código C# le muestra cómo cambiar el formato de un marco de zoom de sección: ``` csharp using (Presentation pres = new Presentation()) { - //Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - pres.Sections.AddSection("Sección 1", slide); + // Añade una nueva sección a la presentación + pres.Sections.AddSection("Section 1", slide); - // Agrega objeto SectionZoomFrame + // Añade objeto SectionZoomFrame ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); - // Formateo para SectionZoomFrame + // Formateo del SectionZoomFrame sectionZoomFrame.X = 100; sectionZoomFrame.Y = 300; sectionZoomFrame.Width = 100; @@ -327,65 +326,66 @@ using (Presentation pres = new Presentation()) } ``` -## **Resumen de Zoom** -Un resumen de zoom es como una página de destino donde se muestran todas las piezas de tu presentación a la vez. Cuando estás presentando, puedes usar el zoom para ir de un lugar en tu presentación a otro en cualquier orden que desees. Puedes ser creativo, avanzar, o volver a visitar partes de tu presentación sin interrumpir el flujo de tu presentación. -![overview_image](sumzoomsel.png) +## **Zoom de resumen** -Para objetos de resumen de zoom, Aspose.Slides proporciona las interfaces [ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe), [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection), y [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) y algunos métodos bajo la interfaz [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +Un zoom de resumen es como una página de inicio donde todas las piezas de su presentación se muestran a la vez. Cuando está presentando, puede usar el zoom para pasar de un lugar de su presentación a otro en cualquier orden que desee. Puede ser creativo, avanzar rápidamente o volver a visitar partes de su presentación sin interrumpir el flujo de la misma. -### **Creación de Resumen de Zoom** +![overview_image](sumzoomsel.png) + +Para los objetos zoom de resumen, Aspose.Slides proporciona las interfaces [ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe), [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection) y [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) y algunos métodos bajo la interfaz [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -Puedes agregar un marco de resumen de zoom a una diapositiva de la siguiente manera: +### **Creación de zoom de resumen** -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Crear nuevas diapositivas con un fondo de identificación y nuevas secciones para las diapositivas creadas. -3. Agregar el marco de resumen de zoom a la primera diapositiva. -4. Escribir la presentación modificada como un archivo PPTX. +Puede agregar un marco de zoom de resumen a una diapositiva de esta manera: -Este código C# te muestra cómo crear un marco de resumen de zoom en una diapositiva: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Cree nuevas diapositivas con fondo de identificación y nuevas secciones para las diapositivas creadas. +3. Agregue el marco de zoom de resumen a la primera diapositiva. +4. Guarde la presentación modificada como un archivo PPTX. +Este código C# le muestra cómo crear un marco de zoom de resumen en una diapositiva: ``` csharp using (Presentation pres = new Presentation()) { - //Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - pres.Sections.AddSection("Sección 1", slide); + // Añade una nueva sección a la presentación + pres.Sections.AddSection("Section 1", slide); - // Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - pres.Sections.AddSection("Sección 2", slide); + // Añade una nueva sección a la presentación + pres.Sections.AddSection("Section 2", slide); - // Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Chartreuse; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - pres.Sections.AddSection("Sección 3", slide); + // Añade una nueva sección a la presentación + pres.Sections.AddSection("Section 3", slide); - // Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.DarkGreen; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - pres.Sections.AddSection("Sección 4", slide); + // Añade una nueva sección a la presentación + pres.Sections.AddSection("Section 4", slide); - // Agrega un objeto SummaryZoomFrame + // Añade un objeto SummaryZoomFrame ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); // Guarda la presentación @@ -393,57 +393,57 @@ using (Presentation pres = new Presentation()) } ``` -### **Agregar y Eliminar Secciones del Resumen de Zoom** -Todas las secciones en un marco de resumen de zoom están representadas por objetos [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection), que se almacenan en el objeto [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection). Puedes agregar o eliminar un objeto de sección de resumen de zoom a través de la interfaz [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) de la siguiente manera: +### **Agregar y eliminar secciones de zoom de resumen** -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Crear nuevas diapositivas con un fondo de identificación y nuevas secciones para las diapositivas creadas. -3. Agregar un marco de resumen de zoom en la primera diapositiva. -4. Agregar una nueva diapositiva y sección a la presentación. -5. Agregar la sección creada al marco de resumen de zoom. -6. Eliminar la primera sección del marco de resumen de zoom. -7. Escribir la presentación modificada como un archivo PPTX. +Todas las secciones en un marco de zoom de resumen están representadas por objetos [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection), que se almacenan en el objeto [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection). Puede agregar o eliminar un objeto de sección de zoom de resumen a través de la interfaz [ISummaryZoomSectionCollection] de esta manera: -Este código C# te muestra cómo agregar y eliminar secciones en un marco de resumen de zoom: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Cree nuevas diapositivas con fondo de identificación y nuevas secciones para las diapositivas creadas. +3. Agregue un marco de zoom de resumen a la primera diapositiva. +4. Agregue una nueva diapositiva y sección a la presentación. +5. Agregue la sección creada al marco de zoom de resumen. +6. Elimine la primera sección del marco de zoom de resumen. +7. Guarde la presentación modificada como un archivo PPTX. +Este código C# le muestra cómo agregar y eliminar secciones en un marco de zoom de resumen: ``` csharp using (Presentation pres = new Presentation()) { - //Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - pres.Sections.AddSection("Sección 1", slide); + // Añade una nueva sección a la presentación + pres.Sections.AddSection("Section 1", slide); - //Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - pres.Sections.AddSection("Sección 2", slide); + // Añade una nueva sección a la presentación + pres.Sections.AddSection("Section 2", slide); - // Agrega objeto SummaryZoomFrame + // Añade un objeto SummaryZoomFrame ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); - //Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Chartreuse; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - ISection section3 = pres.Sections.AddSection("Sección 3", slide); + // Añade una nueva sección a la presentación + ISection section3 = pres.Sections.AddSection("Section 3", slide); - // Agrega una sección al Resumen Zoom + // Añade una sección al Summary Zoom summaryZoomFrame.SummaryZoomCollection.AddSummaryZoomSection(section3); - // Elimina la sección del Resumen Zoom + // Elimina la sección del Summary Zoom summaryZoomFrame.SummaryZoomCollection.RemoveSummaryZoomSection(pres.Sections[1]); // Guarda la presentación @@ -451,47 +451,47 @@ using (Presentation pres = new Presentation()) } ``` -### **Formateo de Secciones del Resumen de Zoom** -Para crear objetos de sección de resumen de zoom más complicados, debes alterar el formato de un marco simple. Hay varias opciones de formato que puedes aplicar a un objeto de sección de resumen de zoom. +### **Formato de secciones de zoom de resumen** -Puedes controlar el formato de un objeto de sección de resumen de zoom en un marco de resumen de zoom de esta manera: +Para crear objetos de sección de zoom de resumen más complicados, debe modificar el formato de un marco sencillo. Existen varias opciones de formato que puede aplicar a un objeto de sección de zoom de resumen. -1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Crear nuevas diapositivas con un fondo de identificación y nuevas secciones para las diapositivas creadas. -3. Agregar un marco de resumen de zoom a la primera diapositiva. -4. Obtener un objeto de sección de resumen de zoom para el primer objeto de la `ISummaryZoomSectionCollection`. -5. Crear un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) agregando una imagen a la colección de imágenes asociada con el objeto [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) que se utilizará para llenar el marco. -6. Establecer una imagen personalizada para el objeto de marco de zoom de sección creado. -7. Establecer la capacidad de *volver a la diapositiva original desde la sección vinculada*. -8. Cambiar el formato de línea para el segundo objeto de marco de zoom. -9. Cambiar la duración de la transición. -10. Escribir la presentación modificada como un archivo PPTX. +Puede controlar el formato de un objeto de sección de zoom de resumen en un marco de zoom de resumen de esta manera: -Este código C# te muestra cómo cambiar el formato para un objeto de sección de resumen de zoom: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Cree nuevas diapositivas con fondo de identificación y nuevas secciones para las diapositivas creadas. +3. Agregue un marco de zoom de resumen a la primera diapositiva. +4. Obtenga un objeto de sección de zoom de resumen para el primer objeto de la `ISummaryZoomSectionCollection`. +7. Cree un objeto [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) añadiendo una imagen a la colección images asociada al objeto [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) que se utilizará para rellenar el marco. +8. Establezca una imagen personalizada para el objeto de marco de sección de zoom creado. +9. Establezca la capacidad de *volver a la diapositiva original desde la sección enlazada*. +11. Cambie el formato de línea para el segundo objeto de marco de zoom. +12. Cambie la duración de la transición. +13. Guarde la presentación modificada como un archivo PPTX. +Este código C# le muestra cómo cambiar el formato de un objeto de sección de zoom de resumen: ``` csharp using (Presentation pres = new Presentation()) { - //Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - pres.Sections.AddSection("Sección 1", slide); + // Añade una nueva sección a la presentación + pres.Sections.AddSection("Section 1", slide); - //Agrega una nueva diapositiva a la presentación + //Añade una nueva diapositiva a la presentación slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // Agrega una nueva sección a la presentación - pres.Sections.AddSection("Sección 2", slide); + // Añade una nueva sección a la presentación + pres.Sections.AddSection("Section 2", slide); - // Agrega un objeto SummaryZoomFrame + // Añade un objeto SummaryZoomFrame ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); // Obtiene el primer objeto SummaryZoomSection @@ -501,7 +501,7 @@ using (Presentation pres = new Presentation()) IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // Formateo para el objeto SummaryZoomSection + // Formato para el objeto SummaryZoomSection summarySection.ZoomImage = ppImage; summarySection.ReturnToParent = false; @@ -515,4 +515,19 @@ using (Presentation pres = new Presentation()) // Guarda la presentación pres.Save("presentation.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Puedo controlar el retorno a la diapositiva “principal” después de mostrar el objetivo?** + +Sí. El [Zoom frame](https://reference.aspose.com/slides/net/aspose.slides/zoomframe/) o [section](https://reference.aspose.com/slides/net/aspose.slides/sectionzoomframe/) tiene un comportamiento `ReturnToParent` que, cuando está habilitado, envía a los espectadores de vuelta a la diapositiva originaria después de visitar el contenido objetivo. + +**¿Puedo ajustar la “velocidad” o duración de la transición del Zoom?** + +Sí. Zoom permite establecer una `TransitionDuration` para que pueda controlar cuánto tiempo dura la animación de salto. + +**¿Existen límites en la cantidad de objetos Zoom que una presentación puede contener?** + +No hay un límite estricto de API documentado. Los límites prácticos dependen de la complejidad general de la presentación y del rendimiento del visor. Puede agregar muchos marcos de Zoom, pero considere el tamaño del archivo y el tiempo de renderizado. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md b/es/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md index 5ab429bf67..84d096d592 100644 --- a/es/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md +++ b/es/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md @@ -1,30 +1,27 @@ --- -title: Gestionando Etiquetas y Datos Personalizados +title: Administrar etiquetas y datos personalizados type: docs weight: 300 url: /es/net/managing-tags-and-custom-data -keywords: "Etiquetas, Datos personalizados, Valor para etiquetas, Agregar etiquetas, Presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Agregue etiquetas y datos personalizados a presentaciones de PowerPoint en C# o .NET" +keywords: "Etiquetas, Datos personalizados, Valor de las etiquetas, Añadir etiquetas, Presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" +description: "Añadir etiquetas y datos personalizados a presentaciones de PowerPoint en C# o .NET" --- -## Almacenamiento de Datos en Archivos de Presentación +## **Almacenamiento de datos en archivos de presentación** -Los archivos PPTX—elementos con la extensión .pptx—se almacenan en el formato PresentationML, que es parte de la especificación Office Open XML. El formato Office Open XML define la estructura para los datos contenidos en las presentaciones. +Los archivos PPTX—elementos con la extensión .pptx—se almacenan en el formato PresentationML, que es parte de la especificación Office Open XML. El formato Office Open XML define la estructura de los datos contenidos en las presentaciones. -Con una *diapositiva* siendo uno de los elementos en las presentaciones, una *parte de diapositiva* contiene el contenido de una sola diapositiva. Se permite que una parte de diapositiva tenga relaciones explícitas con muchas partes—como Etiquetas Definidas por el Usuario—definidas por ISO/IEC 29500. +Con una *diapositiva* siendo uno de los elementos en las presentaciones, una *parte de diapositiva* contiene el contenido de una única diapositiva. A una parte de diapositiva se le permite tener relaciones explícitas con muchas partes—como etiquetas definidas por el usuario—definidas por ISO/IEC 29500. -Los datos personalizados (específicos de una presentación) o del usuario pueden existir como etiquetas ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection)) y CustomXmlParts ([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection)). +Los datos personalizados (específicos de una presentación) o del usuario pueden existir como etiquetas ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection)) y CustomXmlParts ([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection)). {{% alert color="primary" %}} - -Las etiquetas son esencialmente pares de valores de clave de cadena. - +Las etiquetas son esencialmente pares de cadena‑clave. {{% /alert %}} -## Obteniendo los Valores para Etiquetas - -En las diapositivas, una etiqueta corresponde a la propiedad IDocumentProperties.Keywords. Este código de muestra te muestra cómo obtener el valor de una etiqueta con Aspose.Slides para .NET para [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation): +## **Obtener los valores de las etiquetas** +En las diapositivas, una etiqueta corresponde a la propiedad IDocumentProperties.Keywords. Este fragmento de código muestra cómo obtener el valor de una etiqueta con Aspose.Slides para .NET para [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation): ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,17 +29,17 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Agregando Etiquetas a Presentaciones -Aspose.Slides te permite agregar etiquetas a presentaciones. Una etiqueta típicamente consiste en dos elementos: +## **Agregar etiquetas a presentaciones** + +Aspose.Slides le permite agregar etiquetas a presentaciones. Una etiqueta normalmente consta de dos elementos: - el nombre de una propiedad personalizada - `MyTag` - el valor de la propiedad personalizada - `My Tag Value` -Si necesitas clasificar algunas presentaciones basándote en una regla o propiedad específica, entonces puedes beneficiarte de agregar etiquetas a esas presentaciones. Por ejemplo, si deseas categorizar o agrupar todas las presentaciones de países de América del Norte, puedes crear una etiqueta de América del Norte y luego asignar los países relevantes (EE. UU., México y Canadá) como los valores. - -Este código de muestra te muestra cómo agregar una etiqueta a una [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) usando Aspose.Slides para .NET: +Si necesita clasificar algunas presentaciones basándose en una regla o propiedad específica, puede beneficiarse de agregar etiquetas a esas presentaciones. Por ejemplo, si desea agrupar o categorizar todas las presentaciones de países de América del Norte, puede crear una etiqueta “North American” y luego asignar los países relevantes (EE. UU., México y Canadá) como valores. +Este fragmento de código muestra cómo agregar una etiqueta a una [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) usando Aspose.Slides para .NET: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -51,8 +48,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Las etiquetas también se pueden establecer para [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide): +Las etiquetas también pueden establecerse para [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide): ```csharp using(Presentation pres = new Presentation()) { @@ -61,8 +58,8 @@ using(Presentation pres = new Presentation()) } ``` -O para cualquier [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape) individual: +O cualquier [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape) individual: ```csharp using(Presentation pres = new Presentation()) { @@ -71,4 +68,19 @@ using(Presentation pres = new Presentation()) shape.TextFrame.Text = "My text"; shape.CustomData.Tags["tag"] = "value"; } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Puedo eliminar todas las etiquetas de una presentación, diapositiva o forma en una sola operación?** + +Sí. La [tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) admite una operación [clear](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/clear/) que elimina todos los pares de clave‑valor a la vez. + +**¿Cómo elimino una sola etiqueta por su nombre sin iterar sobre toda la colección?** + +Utilice la operación [Remove(name)](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/remove/) en la [TagCollection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) para borrar la etiqueta por su clave. + +**¿Cómo puedo obtener la lista completa de nombres de etiquetas para análisis o filtrado?** + +Utilice [GetNamesOfTags](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/getnamesoftags/) en la [tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/); devuelve una matriz con todos los nombres de etiquetas. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md b/es/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md index 108e6b57e3..7350a4367c 100644 --- a/es/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md +++ b/es/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md @@ -1,29 +1,28 @@ --- -title: Gráficos Animados +title: Gráficos animados type: docs weight: 80 url: /es/net/animated-charts/ -keywords: "Gráficos, Series de Gráficos, Animación Presentación PowerPoint, PPTX, PPT, C#, Csharp, Aspose.Slides para .NET" -description: "Series de gráficos y animaciones en PowerPoint en C# o .NET" +keywords: "Gráficos, Series de gráficos, Animación de presentación de PowerPoint, PPTX, PPT, C#, Csharp, Aspose.Slides for .NET" +description: "Series de gráficos y animaciones de PowerPoint en C# o .NET" --- -Aspose.Slides para .NET admite la animación de los elementos del gráfico. **Series**, **Categorías**, **Elementos de Series**, **Elementos de Categorías** se pueden animar con el método [**ISequence**.**AddEffect**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect) y dos enums [**EffectChartMajorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype) y [**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype). +Aspose.Slides para .NET admite la animación de los elementos del gráfico. **Series**, **Categorías**, **Elementos de Series**, **Elementos de Categorías** pueden animarse con el método [**ISequence**.**AddEffect**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect) y dos enumeraciones [**EffectChartMajorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype) y [**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype). ## **Animación de Series de Gráficos** -Si desea animar una serie de gráficos, escriba el código de acuerdo con los pasos que se enumeran a continuación: +Si desea animar una serie de gráfico, escriba el código según los pasos enumerados a continuación: -1. Cargar una presentación. -1. Obtener referencia del objeto gráfico. -1. Animar la serie. -1. Guardar el archivo de presentación en el disco. - -En el ejemplo que se presenta a continuación, hemos animado series de gráficos. +1. Cargue una presentación. +1. Obtenga la referencia del objeto de gráfico. +1. Anime la serie. +1. Guarde el archivo de la presentación en disco. +En el ejemplo a continuación, animamos la serie del gráfico. ```c# // Instanciar la clase Presentation que representa un archivo de presentación using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // Obtener referencia del objeto gráfico + // Obtener la referencia del objeto de gráfico var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; @@ -48,26 +47,25 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) EffectChartMajorGroupingType.BySeries, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // Guardar la presentación modificada en el disco + // Guardar la presentación modificada en disco presentation.Save("AnimatingSeries_out.pptx", SaveFormat.Pptx); } ``` ## **Animación de Categorías de Gráficos** -Si desea animar una serie de gráficos, escriba el código de acuerdo con los pasos que se enumeran a continuación: - -1. Cargar una presentación. -1. Obtener referencia del objeto gráfico. -1. Animar la Categoría. -1. Guardar el archivo de presentación en el disco. +Si desea animar una serie de gráfico, escriba el código según los pasos enumerados a continuación: -En el ejemplo que se presenta a continuación, hemos animado la categoría de gráficos. +1. Cargue una presentación. +1. Obtenga la referencia del objeto de gráfico. +1. Anime la categoría. +1. Guarde el archivo de la presentación en disco. +En el ejemplo a continuación, animamos la categoría del gráfico. ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // Obtener referencia del objeto gráfico + // Obtener la referencia del objeto de gráfico var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; @@ -89,32 +87,31 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // Guardar el archivo de presentación en el disco + // Guardar el archivo de presentación en disco presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx); } ``` -## **Animación en Elementos de Series** -Si desea animar elementos de series, escriba el código de acuerdo con los pasos que se enumeran a continuación: +## **Animación en Elementos de Serie** +Si desea animar los elementos de la serie, escriba el código según los pasos enumerados a continuación: -1. Cargar una presentación. -1. Obtener referencia del objeto gráfico. -1. Animar los elementos de las series. -1. Guardar el archivo de presentación en el disco. - -En el ejemplo que se presenta a continuación, hemos animado los elementos de las series. +1. Cargue una presentación. +1. Obtenga la referencia del objeto de gráfico. +1. Anime los elementos de la serie. +1. Guarde el archivo de la presentación en disco. +En el ejemplo a continuación, hemos animado los elementos de la serie. ```c# // Cargar una presentación using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // Obtener referencia del objeto gráfico + // Obtener la referencia del objeto de gráfico var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; - // Animar elementos de las series + // Animar los elementos de la serie slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); @@ -132,25 +129,25 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // Guardar el archivo de presentación en el disco + // Guardar el archivo de presentación en disco presentation.Save("AnimatingSeriesElements_out.pptx", SaveFormat.Pptx); +} ``` ## **Animación en Elementos de Categoría** -Si desea animar los elementos de categorías, escriba el código de acuerdo con los pasos que se enumeran a continuación: +Si desea animar los elementos de las categorías, escriba el código según los pasos enumerados a continuación: -1. Cargar una presentación. -1. Obtener referencia del objeto gráfico. -1. Animar los elementos de las categorías. -1. Guardar el archivo de presentación en el disco. - -En el ejemplo que se presenta a continuación, hemos animado los elementos de las categorías. +1. Cargue una presentación. +1. Obtenga la referencia del objeto de gráfico. +1. Anime los elementos de las categorías. +1. Guarde el archivo de la presentación en disco. +En el ejemplo a continuación, hemos animado los elementos de las categorías. ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // Obtener referencia del objeto gráfico + // Obtener la referencia del objeto del gráfico var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; @@ -172,7 +169,25 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // Guardar el archivo de presentación en el disco + // Guardar el archivo de presentación en disco presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Se admiten diferentes tipos de efecto (p. ej., entrada, énfasis, salida) para los gráficos como para las formas normales?** +Sí. Un gráfico se trata como una forma, por lo que admite los tipos estándar de efectos de animación, incluidos entrada, énfasis y salida, con control total a través de la línea de tiempo de la diapositiva y las secuencias de animación. + +**¿Puedo combinar la animación de gráficos con transiciones de diapositivas?** +Sí. [Transitions](/slides/es/net/slide-transition/) se aplican a la diapositiva, mientras que los efectos de animación se aplican a los objetos de la diapositiva. Puede usar ambos juntos en la misma presentación y controlarlos de forma independiente. + +**¿Se conservan las animaciones de los gráficos al guardar en PPTX?** +Sí. Cuando [save to PPTX](/slides/es/net/save-presentation/), todos los efectos de animación y su orden se conservan porque forman parte del modelo de animación nativo de la presentación. + +**¿Puedo leer animaciones de gráficos existentes de una presentación y modificarlas?** +Sí. La [API](https://reference.aspose.com/slides/net/aspose.slides.animation/) proporciona acceso a la línea de tiempo de la diapositiva, secuencias y efectos, lo que permite inspeccionar animaciones de gráficos existentes y ajustarlas sin recrear todo desde cero. + +**¿Puedo producir un video que incluya animaciones de gráficos usando Aspose.Slides?** +Sí. Puede [export a presentation to video](/slides/es/net/convert-powerpoint-to-video/) conservando las animaciones, configurando los tiempos y otras opciones de exportación para que el clip resultante refleje la reproducción animada. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md index 4a4325874e..625456679a 100644 --- a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md +++ b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md @@ -1,15 +1,14 @@ --- -title: Cálculos de Gráficos +title: Cálculos de gráficos type: docs weight: 50 url: /es/net/chart-calculations/ -keywords: "Cálculos de gráficos, elementos de gráfico, posición de elemento, valores de gráfico C#, Csharp, Aspose.Slides para .NET" +keywords: "Cálculos de gráficos, elementos del gráfico, posición de elementos, valores de gráficos C#, Csharp, Aspose.Slides for .NET" description: "Cálculos y valores de gráficos de PowerPoint en C# o .NET" --- -## **Calcular Valores Reales de los Elementos del Gráfico** -Aspose.Slides para .NET proporciona una API simple para obtener estas propiedades. Esto te ayudará a calcular los valores reales de los elementos del gráfico. Los valores reales incluyen la posición de los elementos que implementan la interfaz IActualLayout (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) y los valores reales de los ejes (IAxis.ActualMaxValue, IAxis.ActualMinValue, IAxis.ActualMajorUnit, IAxis.ActualMinorUnit, IAxis.ActualMajorUnitScale, IAxis.ActualMinorUnitScale). - +## **Calcular valores reales de los elementos del gráfico** +Aspose.Slides for .NET proporciona una API simple para obtener estas propiedades. Esto le ayudará a calcular los valores reales de los elementos del gráfico. Los valores reales incluyen la posición de los elementos que implementan la interfaz IActualLayout (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) y los valores reales de los ejes (IAxis.ActualMaxValue, IAxis.ActualMinValue, IAxis.ActualMajorUnit, IAxis.ActualMinorUnit, IAxis.ActualMajorUnitScale, IAxis.ActualMinorUnitScale). ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -26,12 +25,10 @@ using (Presentation pres = new Presentation("test.pptx")) ``` - -## **Calcular la Posición Actual de los Elementos Parent del Gráfico** -Aspose.Slides para .NET proporciona una API simple para obtener estas propiedades. Las propiedades de IActualLayout proporcionan información sobre la posición actual del elemento parent del gráfico. Es necesario llamar al método IChart.ValidateChartLayout() previamente para llenar las propiedades con valores reales. - +## **Calcular posición real de los elementos del gráfico padre** +Aspose.Slides for .NET proporciona una API simple para obtener estas propiedades. Las propiedades de IActualLayout proporcionan información sobre la posición real del elemento de gráfico principal. Es necesario llamar al método IChart.ValidateChartLayout() previamente para rellenar las propiedades con valores reales. ```c# -// Creando una presentación vacía +// Creando presentación vacía using (Presentation pres = new Presentation()) { Chart chart = (Chart)pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 500, 350); @@ -45,29 +42,27 @@ using (Presentation pres = new Presentation()) ``` - -## **Ocultar Información del Gráfico** -Este tema te ayuda a entender cómo ocultar información del gráfico. Usando Aspose.Slides para .NET puedes ocultar **Título, Eje Vertical, Eje Horizontal** y **Líneas de Cuadrícula** del gráfico. El siguiente ejemplo de código muestra cómo usar estas propiedades. - +## **Ocultar información del gráfico** +Este tema le ayuda a comprender cómo ocultar información del gráfico. Con Aspose.Slides for .NET puede ocultar **Título, Eje vertical, Eje horizontal** y **Líneas de cuadrícula** del gráfico. El siguiente ejemplo de código muestra cómo usar estas propiedades. ```c# using (Presentation pres = new Presentation()) { ISlide slide = pres.Slides[0]; IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 140, 118, 320, 370); - // Ocultando el Título del gráfico + //Ocultando el título del gráfico chart.HasTitle = false; - // Ocultando el eje de Valores + ///Ocultando el eje de valores chart.Axes.VerticalAxis.IsVisible = false; - // Visibilidad del Eje de Categoría + //Visibilidad del eje de categorías chart.Axes.HorizontalAxis.IsVisible = false; - // Ocultando la Leyenda + //Ocultando la leyenda chart.HasLegend = false; - // Ocultando Líneas de Cuadrícula Mayores + //Ocultando las líneas de cuadrícula principales chart.Axes.HorizontalAxis.MajorGridLinesFormat.Line.FillFormat.FillType = FillType.NoFill; for (int i = 0; i < chart.ChartData.Series.Count; i++) @@ -82,11 +77,26 @@ using (Presentation pres = new Presentation()) series.Labels.DefaultDataLabelFormat.Position = LegendDataLabelPosition.Top; series.Marker.Size = 15; - // Estableciendo el color de la línea de la serie + //Estableciendo el color de la línea de la serie series.Format.Line.FillFormat.FillType = FillType.Solid; series.Format.Line.FillFormat.SolidFillColor.Color = Color.Purple; series.Format.Line.DashStyle = LineDashStyle.Solid; pres.Save("HideInformationFromChart.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Los libros de Excel externos funcionan como fuente de datos y cómo afecta eso a la recalculación?** + +Sí. Un gráfico puede referenciar un libro de trabajo externo: cuando conecta o actualiza la fuente externa, las fórmulas y los valores se toman de ese libro, y el gráfico refleja las actualizaciones durante las operaciones de apertura/edición. La API le permite [especificar el libro de trabajo externo](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/) la ruta y administrar los datos vinculados. + +**¿Puedo calcular y mostrar líneas de tendencia sin implementar yo mismo la regresión?** + +Sí. Las [líneas de tendencia](/slides/es/net/trend-line/) (lineales, exponenciales y otras) son añadidas y actualizadas por Aspose.Slides; sus parámetros se recalculan automáticamente a partir de los datos de la serie, por lo que no necesita implementar sus propios cálculos. + +**Si una presentación tiene varios gráficos con enlaces externos, ¿puedo controlar qué libro de trabajo utiliza cada gráfico para los valores calculados?** + +Sí. Cada gráfico puede apuntar a su propio [libro de trabajo externo](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/), o puede crear/reemplazar un libro de trabajo externo por gráfico de forma independiente de los demás. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md index 450fabb4fc..0b2a2c243c 100644 --- a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md +++ b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md @@ -1,14 +1,13 @@ --- -title: Llamadas +title: Llamada type: docs url: /es/net/callout/ -keywords: "Llamada de gráfico, etiqueta de datos de gráfico, C#, Csharp, Aspose.Slides para .NET" +keywords: "Llamada de gráfico, etiqueta de datos del gráfico, C#, Csharp, Aspose.Slides for .NET" description: "Llamadas y etiquetas de datos de gráficos de PowerPoint en C# o .NET" --- -## **Uso de Llamadas** -Se ha agregado la nueva propiedad **ShowLabelAsDataCallout** a la clase **DataLabelFormat** y a la interfaz **IDataLabelFormat**, que determina si la etiqueta de datos del gráfico especificado se mostrará como llamada de datos o como etiqueta de datos. En el ejemplo dado a continuación, hemos configurado las Llamadas. - +## **Uso de Callouts** +Se ha añadido la nueva propiedad **ShowLabelAsDataCallout** a la clase **DataLabelFormat** y a la interfaz **IDataLabelFormat**, que determina si la etiqueta de datos del gráfico especificado se mostrará como un llamado de datos o como una etiqueta de datos. En el ejemplo que sigue, hemos configurado los Callouts. ```c# using (Presentation presentation = new Presentation()) { @@ -21,10 +20,8 @@ using (Presentation presentation = new Presentation()) ``` - -## **Establecer Llamadas para Gráfico de Dona** -Aspose.Slides para .NET proporciona soporte para establecer la forma de llamada de etiqueta de datos de la serie para un gráfico de Dona. A continuación se presenta un ejemplo de muestra. - +## **Establecer Callout para Gráfico de Dona** +Aspose.Slides for .NET ofrece soporte para establecer la forma de llamado de etiqueta de datos de serie para un gráfico de dona. A continuación se muestra un ejemplo. ```c# Presentation pres = new Presentation("testc.pptx"); ISlide slide = pres.Slides[0]; @@ -36,7 +33,7 @@ chart.HasLegend = false; int seriesIndex = 0; while (seriesIndex < 15) { - IChartSeries series = chart.ChartData.Series.Add(workBook.GetCell(0, 0, seriesIndex + 1, "SERIE " + seriesIndex), chart.Type); + IChartSeries series = chart.ChartData.Series.Add(workBook.GetCell(0, 0, seriesIndex + 1, "SERIES " + seriesIndex), chart.Type); series.Explosion = 0; series.ParentSeriesGroup.DoughnutHoleSize = (byte)20; series.ParentSeriesGroup.FirstSliceAngle = 351; @@ -45,7 +42,7 @@ while (seriesIndex < 15) int categoryIndex = 0; while (categoryIndex < 15) { - chart.ChartData.Categories.Add(workBook.GetCell(0, categoryIndex + 1, 0, "CATEGORÍA " + categoryIndex)); + chart.ChartData.Categories.Add(workBook.GetCell(0, categoryIndex + 1, 0, "CATEGORY " + categoryIndex)); int i = 0; while (i < chart.ChartData.Series.Count) { @@ -82,4 +79,15 @@ while (categoryIndex < 15) categoryIndex++; } pres.Save("chart.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Se conservan los callouts al convertir una presentación a PDF, HTML5, SVG o imágenes?** + +Sí. Los callouts forman parte del renderizado del gráfico, por lo que al exportar a [PDF](/slides/es/net/convert-powerpoint-to-pdf/), [HTML5](/slides/es/net/export-to-html5/), [SVG](/slides/es/net/render-a-slide-as-an-svg-image/) o [imágenes raster](/slides/es/net/convert-powerpoint-to-png/), se conservan junto con el formato de la diapositiva. + +**¿Los tipos de letra personalizados funcionan en los callouts y se puede preservar su apariencia al exportar?** + +Sí. Aspose.Slides admite [incrustar fuentes](/slides/es/net/embedded-font/) en la presentación y controla la incrustación de fuentes durante exportaciones como [PDF](/slides/es/net/convert-powerpoint-to-pdf/), garantizando que los callouts tengan el mismo aspecto en diferentes sistemas. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index 54b5d75297..40a9b18aba 100644 --- a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,27 +1,25 @@ --- -title: Eje de Gráfico +title: Eje del gráfico type: docs url: /es/net/chart-axis/ -keywords: "Eje de Gráfico de PowerPoint, Gráficos de Presentación, C#, .NET, Manipular Eje de Gráfico, Datos de Gráfico" -description: "Editar el eje de gráfico de PowerPoint en C# o .NET" +keywords: "Eje de gráfico de PowerPoint, Gráficos de presentación, C#, .NET, Manipular eje de gráfico, Datos del gráfico" +description: "Editar el eje del gráfico de PowerPoint en C# o .NET" --- +## **Obteniendo los valores máximos en el eje vertical de los gráficos** +Aspose.Slides for .NET le permite obtener los valores mínimo y máximo en un eje vertical. Siga estos pasos: -## **Obteniendo los Valores Máximos en el Eje Vertical en Gráficos** -Aspose.Slides para .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/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 C#: +1. Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/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 del eje. +1. Obtenga el valor mínimo real del 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—le muestra cómo obtener los valores requeridos en C#: ```c# using (Presentation pres = new Presentation()) { @@ -40,18 +38,17 @@ using (Presentation pres = new Presentation()) ``` -## **Intercambiando los Datos entre Ejes** -Aspose.Slides te 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 en C# te muestra cómo realizar la tarea de intercambio de datos entre ejes en un gráfico: +## **Intercambiando los datos entre ejes** +Aspose.Slides le permite intercambiar rápidamente los datos entre los ejes: los datos representados en el eje vertical (eje y) se trasladan al eje horizontal (eje x) y viceversa. +Este código C# le muestra cómo realizar la tarea de intercambio de datos entre ejes en un gráfico: ```c# -// Crea una presentación vacía + // Crea una presentación vacía using (Presentation pres = new Presentation()) { IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 400, 300); - // Intercambia filas y columnas + //Intercambia filas y columnas chart.ChartData.SwitchRowColumn(); // Guarda la presentación @@ -59,10 +56,10 @@ using (Presentation pres = new Presentation()) } ``` -## **Desactivando el Eje Vertical para Gráficos de Líneas** -Este código en C# 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 C# le muestra cómo ocultar el eje vertical en un gráfico de líneas: ```c# using (Presentation pres = new Presentation()) { @@ -73,10 +70,10 @@ using (Presentation pres = new Presentation()) } ``` -## **Desactivando 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 le muestra cómo ocultar el eje horizontal en un gráfico de líneas: ```c# using (Presentation pres = new Presentation()) { @@ -87,10 +84,10 @@ using (Presentation pres = new Presentation()) } ``` -## **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 C# demuestra la operación: +## **Cambiar el eje de categoría** +Usando la propiedad **CategoryAxisType**, puede especificar el tipo de eje de categoría que prefiera (**date** o **text**). Este código en C# demonstra la operación: ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -103,9 +100,9 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) } ``` -## **Estableciendo el Formato de Fecha para el Valor del Eje de Categoría** -Aspose.Slides para .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 en C#: +## **Establecer el formato de fecha para el valor del eje de categoría** +Aspose.Slides for .NET le permite establecer el formato de fecha para un valor del eje de categoría. La operación se muestra en este código C#: ```c# using (Presentation pres = new Presentation()) { @@ -134,9 +131,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Estableciendo el Ángulo de Rotación para el Título del Eje del Gráfico** -Aspose.Slides para .NET te permite establecer el ángulo de rotación para un título de eje de gráfico. Este código en C# demuestra la operación: +## **Establecer el ángulo de rotación del título del eje del gráfico** +Aspose.Slides for .NET le permite establecer el ángulo de rotación para el título del eje de un gráfico. Este código C# demuestra la operación: ```c# using (Presentation pres = new Presentation()) { @@ -148,9 +145,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Estableciendo la Posición del Eje en un Eje de Categoría o Valor** -Aspose.Slides para .NET te permite establecer la posición del eje en un eje de categoría o valor. Este código en C# muestra cómo realizar la tarea: +## **Establecer la posición del eje en un eje de categoría o de valor** +Aspose.Slides for .NET le permite establecer la posición del eje en un eje de categoría o de valor. Este código C# muestra cómo realizar la tarea: ```c# using (Presentation pres = new Presentation()) { @@ -161,9 +158,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Habilitando la Etiqueta de Unidad de Visualización en el Eje de Valor del Gráfico** -Aspose.Slides para .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 C# demuestra la operación: +## **Habilitar la etiqueta de unidad de visualización en el eje de valores del gráfico** +Aspose.Slides for .NET le permite configurar un gráfico para que muestre una etiqueta de unidad en su eje de valores. Este código C# demuestra la operación: ```c# using (Presentation pres = new Presentation(dataDir+"Test.pptx")) { @@ -171,4 +168,15 @@ using (Presentation pres = new Presentation(dataDir+"Test.pptx")) chart.Axes.VerticalAxis.DisplayUnit = DisplayUnitType.Millions; pres.Save("Result.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**¿Cómo establezco el valor en el que un eje cruza al otro (cruce de ejes)?** + +Los ejes ofrecen una [configuración de cruce](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/crosstype/): 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 respecto al eje (junto, fuera, dentro)?** + +Establezca la [posición de la etiqueta](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/majortickmark/) 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/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md index 23515a8612..2bf4785539 100644 --- a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md +++ b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md @@ -1,17 +1,16 @@ --- -title: Etiqueta de Datos de Gráfico +title: Etiqueta de datos del gráfico type: docs url: /es/net/chart-data-label/ -keywords: "Etiqueta de datos de gráfico, distancia de etiqueta, C#, Csharp, Aspose.Slides para .NET" -description: "Establecer etiqueta de datos de gráfico de PowerPoint y distancia en C# o .NET" +keywords: "Etiqueta de datos del gráfico,distancia de etiqueta, C#, Csharp, Aspose.Slides for .NET" +description: "Establecer etiqueta de datos del gráfico de PowerPoint y distancia en C# o .NET" --- Las etiquetas de datos en un gráfico muestran detalles sobre las series de datos del gráfico o puntos de datos individuales. Permiten a los lectores identificar rápidamente las series de datos y también hacen que los gráficos sean más fáciles de entender. -## **Establecer Precisión de los Datos en Etiquetas de Datos de Gráfico** - -Este código C# muestra cómo establecer la precisión de los datos en una etiqueta de datos de gráfico: +## **Establecer la precisión de los datos en las etiquetas de datos del gráfico** +Este código C# le muestra cómo establecer la precisión de los datos en una etiqueta de datos del gráfico: ```c# using (Presentation pres = new Presentation()) { @@ -23,9 +22,10 @@ using (Presentation pres = new Presentation()) } ``` -## **Mostrar Porcentaje como Etiquetas** -Aspose.Slides para .NET te permite establecer etiquetas de porcentaje en gráficos mostrados. Este código C# demuestra la operación: +## **Mostrar porcentaje como etiquetas** + +Aspose.Slides for .NET le permite establecer etiquetas de porcentaje en los gráficos mostrados. Este código C# demuestra la operación: ```c# // Crea una instancia de la clase Presentation Presentation presentation = new Presentation(); @@ -76,9 +76,10 @@ for (int x = 0; x < chart.ChartData.Series.Count; x++) presentation.Save("DisplayPercentageAsLabels_out.pptx", SaveFormat.Pptx); ``` -## **Establecer Signo de Porcentaje con Etiquetas de Datos de Gráfico** -Este código C# muestra cómo establecer el signo de porcentaje para una etiqueta de datos de gráfico: +## **Establecer el signo de porcentaje en las etiquetas de datos del gráfico** + +Este código C# le muestra cómo establecer el signo de porcentaje para una etiqueta de datos del gráfico: ```c# // Crea una instancia de la clase Presentation Presentation presentation = new Presentation(); @@ -89,7 +90,7 @@ ISlide slide = presentation.Slides[0]; // Crea el gráfico PercentsStackedColumn en una diapositiva IChart chart = slide.Shapes.AddChart(ChartType.PercentsStackedColumn, 20, 20, 500, 400); -// Establece el NumberFormatLinkedToSource como falso +// Establece NumberFormatLinkedToSource a false chart.Axes.VerticalAxis.IsNumberFormatLinkedToSource = false; chart.Axes.VerticalAxis.NumberFormat = "0.00%"; @@ -99,7 +100,7 @@ int defaultWorksheetIndex = 0; // Obtiene la hoja de cálculo de datos del gráfico IChartDataWorkbook workbook = chart.ChartData.ChartDataWorkbook; -// Agrega nuevas series +// Agrega una nueva serie IChartSeries series = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 1, "Reds"), chart.Type); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 1, 0.30)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 1, 0.50)); @@ -119,14 +120,14 @@ series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.FillTyp series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.White; series.Labels.DefaultDataLabelFormat.ShowValue = true; -// Agrega nuevas series +// Agrega una nueva serie IChartSeries series2 = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 2, "Blues"), chart.Type); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 2, 0.70)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 2, 0.50)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 3, 2, 0.20)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 4, 2, 0.35)); -// Establece el tipo y color de relleno +// Establece el tipo de relleno y el color series2.Format.Fill.FillType = FillType.Solid; series2.Format.Fill.SolidFillColor.Color = Color.Blue; series2.Labels.DefaultDataLabelFormat.ShowValue = true; @@ -136,13 +137,14 @@ series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FontHeight = 10; series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.FillType = FillType.Solid; series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.White; -// Escribe la presentación en el disco +// Escribe la presentación en disco presentation.Save("SetDataLabelsPercentageSign_out.pptx", SaveFormat.Pptx); ``` -## **Establecer Distancia de Etiqueta Desde el Eje** -Este código C# muestra cómo establecer la distancia de la etiqueta desde un eje de categoría cuando se trata de un gráfico trazado desde ejes: +## **Establecer la distancia de la etiqueta desde el eje** + +Este código C# le muestra cómo establecer la distancia de la etiqueta desde un eje de categorías cuando se trabaja con un gráfico trazado a partir de ejes: ```c# // Crea una instancia de la clase Presentation Presentation presentation = new Presentation(); @@ -156,16 +158,16 @@ IChart ch = sld.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 300); // Establece la distancia de la etiqueta desde un eje ch.Axes.HorizontalAxis.LabelOffset = 500; -// Escribe la presentación en el disco +// Guarda la presentación en disco presentation.Save("SetCategoryAxisLabelDistance_out.pptx", SaveFormat.Pptx); ``` -## **Ajustar Ubicación de Etiqueta** -Cuando creas un gráfico que no depende de ningún eje, como un gráfico de sectores, las etiquetas de datos del gráfico pueden terminar demasiado cerca de su borde. En tal caso, debes ajustar la ubicación de la etiqueta de datos para que las líneas de líder se muestren claramente. +## **Ajustar la ubicación de la etiqueta** -Este código C# muestra cómo ajustar la ubicación de la etiqueta en un gráfico de sectores: +Cuando crea un gráfico que no depende de ningún eje, como un gráfico de pastel, las etiquetas de datos del gráfico pueden quedar demasiado cerca de su borde. En tal caso, debe ajustar la ubicación de la etiqueta de datos para que las líneas de guía se muestren claramente. +Este código C# le muestra cómo ajustar la ubicación de la etiqueta en un gráfico de pastel: ```c# using (Presentation pres = new Presentation()) { @@ -183,4 +185,19 @@ using (Presentation pres = new Presentation()) } ``` -![pie-chart-adjusted-label](pie-chart-adjusted-label.png) \ No newline at end of file + +![gráfico-de-pastel-etiqueta-ajustada](pie-chart-adjusted-label.png) + +## **Preguntas frecuentes** + +**¿Cómo puedo evitar que las etiquetas de datos se superpongan en gráficos densos?** + +Combine la colocación automática de etiquetas, líneas de guía y un tamaño de fuente reducido; si es necesario, oculte algunos campos (por ejemplo, la categoría) o muestre etiquetas solo para los puntos extremos/clave. + +**¿Cómo puedo desactivar las etiquetas solo para valores cero, negativos o vacíos?** + +Filtre los puntos de datos antes de habilitar las etiquetas y desactive la visualización para valores de 0, valores negativos o valores ausentes según una regla definida. + +**¿Cómo puedo asegurar un estilo de etiqueta consistente al exportar a PDF/imagenes?** + +Establezca explícitamente las fuentes (familia, tamaño) y verifique que la fuente esté disponible en el lado de renderizado para evitar sustituciones. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index c663fa1f49..dc505322a5 100644 --- a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,5 +1,5 @@ --- -title: Marcador de Datos de Gráfico +title: Marcador de datos del gráfico type: docs url: /es/net/chart-data-marker/ keywords: @@ -8,21 +8,19 @@ keywords: - presentación - C# - Csharp -- Aspose.Slides para .NET +- Aspose.Slides for .NET description: "Establecer opciones de marcador de gráfico en presentaciones de PowerPoint en C# o .NET" --- -## **Establecer Opciones de Marcador de Gráfico** -Los marcadores se pueden establecer en puntos de datos de gráficos dentro de series particulares. Para establecer opciones de marcador de gráfico, siga los pasos a continuación: +## **Establecer opciones de marcadores del gráfico** +Los marcadores pueden establecerse en los puntos de datos del gráfico dentro de series específicas. Para establecer opciones de marcadores del gráfico, siga los pasos a continuación: - Instanciar la clase [Presentation](https://reference.aspose.com/slides/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 disco. - -En el ejemplo dado a continuación, hemos establecido las opciones de marcador de gráfico a nivel de puntos de datos. +- Guardar la presentación en disco. ```c# // Crear una instancia de la clase Presentation @@ -30,20 +28,20 @@ using Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; -// Crear el gráfico predeterminado +// Creating the default chart IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 0, 0, 400, 400); // Obtener el índice de la hoja de datos de gráfico predeterminada int defaultWorksheetIndex = 0; -// Obtener la hoja de datos de gráfico +// Obtener la hoja de datos del gráfico IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook; -// Eliminar las series de demostración +// Eliminar la serie de demostración chart.ChartData.Series.Clear(); -// Agregar nuevas series -chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Serie 1"), chart.Type); +// Añadir nueva serie +chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type); // Establecer la imagen using IImage image1 = Images.FromFile("aspose-logo.jpg"); @@ -53,10 +51,10 @@ IPPImage imgx1 = presentation.Images.AddImage(image1); using IImage image2 = Images.FromFile("Tulips.jpg"); IPPImage imgx2 = presentation.Images.AddImage(image2); -// Tomar la primera serie de gráfico +// Tomar la primera serie del gráfico IChartSeries series = chart.ChartData.Series[0]; -// Agregar un nuevo punto (1:3) allí. +// Añadir nuevo punto (1:3) allí. IChartDataPoint point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, (double)4.5)); point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx1; @@ -73,9 +71,20 @@ point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorkshee point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx2; -// Cambiar el marcador de la serie de gráfico +// Cambiar el marcador de la serie del gráfico series.Marker.Size = 15; -// Escribir la presentación en disco +// Guardar la presentación en disco presentation.Save("MarkOptions_out.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Qué formas de marcador están disponibles de forma predeterminada?** + +Están disponibles formas estándar (círculo, cuadrado, rombo, triángulo, etc.); la lista está definida por la enumeración [MarkerStyleType](https://reference.aspose.com/slides/net/aspose.slides.charts/markerstyletype/). Si necesita una forma no estándar, use 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/net/convert-powerpoint-to-png/) o al guardar [formas como SVG](/slides/es/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/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md index a0c6602e3b..147a4389c9 100644 --- a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md +++ b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md @@ -1,22 +1,21 @@ --- -title: Tabla de Datos del Gráfico +title: Tabla de datos del gráfico type: docs url: /es/net/chart-data-table/ keywords: "Propiedades de fuente, tabla de datos del gráfico, presentación de PowerPoint, C#, Csharp, Aspose.Slides for .NET" description: "Establecer propiedades de fuente para la tabla de datos del gráfico en presentaciones de PowerPoint en C# o .NET" --- -## **Establecer Propiedades de Fuente para la Tabla de Datos del Gráfico** -Aspose.Slides for .NET proporciona soporte para cambiar el color de las categorías en el color de una serie. +## **Establecer propiedades de fuente para la tabla de datos del gráfico** +Aspose.Slides para .NET proporciona soporte para cambiar el color de las categorías en el color de una serie. -1. Instanciar un objeto de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Instanciar el objeto de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 1. Agregar un gráfico en la diapositiva. 1. Establecer la tabla del gráfico. 1. Establecer la altura de la fuente. 1. Guardar la presentación modificada. - A continuación se presenta un ejemplo de muestra. - +A continuación se muestra un ejemplo de muestra. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -29,4 +28,23 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Puedo mostrar pequeñas claves de leyenda junto a los valores en la tabla de datos del gráfico?** + +Sí. La tabla de datos admite [claves de leyenda](https://reference.aspose.com/slides/net/aspose.slides.charts/datatable/showlegendkey/), y puedes activarlas o desactivarlas. + +**¿Se conservará la tabla de datos al exportar la presentación a PDF, HTML o imágenes?** + +Sí. Aspose.Slides renderiza el gráfico como parte de la diapositiva, por lo que el exportado [PDF](/slides/es/net/convert-powerpoint-to-pdf/)/[HTML](/slides/es/net/convert-powerpoint-to-html/)/[imagen](/slides/es/net/convert-powerpoint-to-png/) incluye el gráfico con su tabla de datos. + +**¿Se admiten tablas de datos para gráficos que provienen de un archivo de plantilla?** + +Sí. Para cualquier gráfico cargado desde una presentación o plantilla existente, puedes comprobar y cambiar si una tabla de datos [is shown](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/) usando las propiedades del gráfico. + +**¿Cómo puedo encontrar rápidamente qué gráficos en un archivo tienen la tabla de datos habilitada?** + +Inspecciona la propiedad de cada gráfico que indica si la tabla de datos [is shown](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/) y recorre las diapositivas para identificar los gráficos donde está habilitada. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index be42c06be2..8ed0b9e026 100644 --- a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,22 +1,21 @@ --- -title: Leyenda del Gráfico +title: Leyenda del gráfico type: docs url: /es/net/chart-legend/ -keywords: "Leyenda del gráfico, tamaño de fuente de la leyenda, presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Establecer la posición y el tamaño de fuente para la leyenda del gráfico en presentaciones de PowerPoint en C# o .NET" +keywords: "Leyenda de gráfico, tamaño de fuente de la leyenda, presentación de PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Establecer la posición y el tamaño de fuente de la leyenda del gráfico en presentaciones de PowerPoint en C# o .NET" --- -## **Posicionamiento de la Leyenda** -Para establecer las propiedades de la leyenda. Por favor, siga los pasos a continuación: +## **Posicionamiento de la leyenda** +Para establecer las propiedades de la leyenda. Siga los pasos a continuación: -- Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/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. - -En el ejemplo dado a continuación, hemos establecido la posición y el tamaño para la leyenda del gráfico. +- Cree una instancia de la clase [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +- Obtenga una referencia de la diapositiva. +- Agregue un gráfico en la diapositiva. +- Establezca las propiedades de la leyenda. +- Guarde la presentación como un archivo PPTX. +En el ejemplo a continuación, hemos establecido la posición y el tamaño de la leyenda del gráfico. ```c# // Crear una instancia de la clase Presentation Presentation presentation = new Presentation(); @@ -27,28 +26,26 @@ ISlide slide = presentation.Slides[0]; // Agregar un gráfico de columnas agrupadas en la diapositiva IChart chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 500); -// Establecer las propiedades de la leyenda +// Establecer propiedades de la leyenda chart.Legend.X = 50 / chart.Width; chart.Legend.Y = 50 / chart.Height; chart.Legend.Width = 100 / chart.Width; chart.Legend.Height = 100 / chart.Height; -// Escribir la presentación en disco +// Guardar la presentación en disco presentation.Save("Legend_out.pptx", SaveFormat.Pptx); ``` +## **Establecer tamaño de fuente de la leyenda** +Aspose.Slides for .NET permite a los desarrolladores establecer el tamaño de fuente de la leyenda. Siga los pasos a continuación: -## **Establecer el Tamaño de Fuente de la Leyenda** -Aspose.Slides para .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 disco. - +- Instancie la clase `Presentation`. +- Cree el gráfico predeterminado. +- Establezca el tamaño de fuente. +- Establezca el valor mínimo del eje. +- Establezca el valor máximo del eje. +- Guarde la presentación en disco. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -65,17 +62,16 @@ using (Presentation pres = new Presentation("test.pptx")) ``` -## **Establecer el Tamaño de Fuente de la Leyenda Individual** -Aspose.Slides para .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: - -- 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 disco. +## **Establecer tamaño de fuente de la leyenda individual** +Aspose.Slides for .NET permite a los desarrolladores establecer el tamaño de fuente de las entradas individuales de la leyenda. Siga los pasos a continuación: +- Instancie la clase `Presentation`. +- Cree el gráfico predeterminado. +- Acceda a la entrada de la leyenda. +- Establezca el tamaño de fuente. +- Establezca el valor mínimo del eje. +- Establezca el valor máximo del eje. +- Guarde la presentación en disco. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -85,9 +81,24 @@ using (Presentation pres = new Presentation("test.pptx")) tf.PortionFormat.FontBold = NullableBool.True; tf.PortionFormat.FontHeight = 20; tf.PortionFormat.FontItalic = NullableBool.True; - tf.PortionFormat.FillFormat.FillType = FillType.Solid; + tf.PortionFormat.FillFormat.FillType = FillType.Solid; ; tf.PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿Puedo habilitar la leyenda para que el gráfico asigne automáticamente espacio para ella en lugar de superponerla?** + +Sí. Use el modo sin superposición ([Overlay](https://reference.aspose.com/slides/net/aspose.slides.charts/legend/overlay/) = `false`); en este caso, el área del gráfico se reducirá 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 establezca colores/rellenos/fuentes explícitos para la leyenda o su texto. Entonces heredarán del tema y se actualizarán correctamente cuando el diseño cambie. \ No newline at end of file diff --git a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index 30e8070257..f1514a71b7 100644 --- a/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/es/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,23 +1,22 @@ --- -title: Área de Trazado del Gráfico +title: Área de trazado del gráfico type: docs url: /es/net/chart-plot-area/ -keywords: "Área de Trazado del Gráfico presentación de PowerPoint, C#, Csharp, Aspose.Slides para .NET" -description: "Obtenga el ancho, alto del área de trazado del gráfico. Establezca el modo de diseño. Presentación de PowerPoint en C# o .NET" +keywords: "Área de trazado del gráfico presentación PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Obtener ancho y alto del área de trazado del gráfico. Establecer modo de diseño. Presentación PowerPoint en C# o .NET" --- -## **Obtener Ancho, Alto del Área de Trazado del Gráfico** -Aspose.Slides para .NET proporciona una API simple para.  +## **Obtener ancho y alto del área de trazado del gráfico** +Aspose.Slides para .NET proporciona una API sencilla para . -1. Cree una instancia de la [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) clase. +1. Cree una instancia de la clase [Presentación](https://reference.aspose.com/slides/net/aspose.slides/presentation). 1. Acceda a la primera diapositiva. -1. Agregue un gráfico con datos predeterminados. -1. Llame al método IChart.ValidateChartLayout() antes de obtener los valores reales. -1. Obtiene la ubicación X real (izquierda) del elemento del gráfico en relación con la esquina superior izquierda del gráfico. -1. Obtiene la parte superior real del elemento del gráfico en relación con la esquina superior izquierda del gráfico. +1. Añada un gráfico con datos predeterminados. +1. Llame al método IChart.ValidateChartLayout() antes para obtener los valores reales. +1. Obtiene la ubicación X real (izquierda) del elemento del gráfico, relativa a la esquina superior izquierda del gráfico. +1. Obtiene la parte superior real del elemento del gráfico, relativa a la esquina superior izquierda del gráfico. 1. Obtiene el ancho real del elemento del gráfico. 1. Obtiene la altura real del elemento del gráfico. - ```c# using (Presentation pres = new Presentation("test.Pptx")) { @@ -29,22 +28,19 @@ using (Presentation pres = new Presentation("test.Pptx")) double w = chart.PlotArea.ActualWidth; double h = chart.PlotArea.ActualHeight; - // Guardar presentación con gráfico + // Guardar presentación con el gráfico pres.Save("Chart_out.pptx", SaveFormat.Pptx); } ``` +## **Establecer modo de diseño del área de trazado del gráfico** +Aspose.Slides para .NET proporciona una API sencilla 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** y **IChartPlotArea**. Si el diseño del área de trazado se define manualmente, esta propiedad indica si el diseño del área de trazado se basa en su interior (sin incluir ejes y etiquetas de ejes) o en su exterior (incluyendo ejes y etiquetas de ejes). 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 de Trazado del Gráfico** -Aspose.Slides para .NET proporciona una API simple para establecer el modo de diseño del área de trazado del gráfico. La propiedad **LayoutTargetType** se ha agregado a las clases **ChartPlotArea** y **IChartPlotArea**. Si el diseño del área de trazado se define manualmente, esta propiedad especifica si se debe diseñar el área de trazado por su interior (sin incluir los ejes y las etiquetas de los ejes) o por su exterior (incluyendo los ejes y las etiquetas de los ejes). Hay dos valores posibles que se definen en el enum **LayoutTargetType**. - -- **LayoutTargetType.Inner** - especifica que el tamaño del área de trazado determinara 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 determinara el tamaño del área de trazado, las marcas de graduación 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. ```c# using (Presentation presentation = new Presentation()) { @@ -58,4 +54,23 @@ using (Presentation presentation = new Presentation()) presentation.Save("SetLayoutMode_outer.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Preguntas frecuentes** + +**¿En qué unidades se devuelven ActualX, ActualY, ActualWidth y ActualHeight?** + +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 de dibujo de 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 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 usan las fracciones que usted establece. + +**¿Por qué cambió la posición del Área de trazado después de añadir/mover la leyenda?** + +La leyenda se coloca en el área del gráfico fuera del Área de trazado, pero afecta al diseño y al 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/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..282fadd554 --- /dev/null +++ b/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,199 @@ +--- +title: "Generación automatizada de PowerPoint en .NET: cree presentaciones dinámicas fácilmente" +linktitle: Automatización de la generación de PowerPoint +type: docs +weight: 20 +url: /es/net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plataformas cloud +- automatizar generación de PowerPoint +- generar presentaciones programáticamente +- automatización de PowerPoint +- creación dinámica de diapositivas +- informes empresariales automáticos +- automatización PPT +- presentación .NET +- C# +- Aspose.Slides +description: "Automatice la creación de diapositivas en plataformas cloud con Aspose.Slides para .NET—genere, edite y convierta archivos PowerPoint y OpenDocument de forma rápida y confiable." +--- + +## **Introducción** + +Crear presentaciones de PowerPoint manualmente puede ser una tarea que consume mucho tiempo y resulta repetitiva, especialmente cuando el contenido se basa en datos dinámicos que cambian con frecuencia. Ya sea generando informes empresariales semanales, preparando material educativo o produciendo presentaciones de ventas listas para el cliente, la automatización puede ahorrar innumerables horas y garantizar la consistencia entre equipos. + +Para los desarrolladores .NET, automatizar la creación de presentaciones de PowerPoint abre posibilidades poderosas. Puedes integrar la generación de diapositivas en portales web, herramientas de escritorio, servicios de backend o plataformas en la nube para convertir datos de forma dinámica en presentaciones profesionales y con la marca de la empresa, bajo demanda. + +En este artículo exploraremos los casos de uso más comunes para la generación automatizada de PowerPoint en aplicaciones .NET (incluidas implementaciones en plataformas cloud) y por qué se está convirtiendo en una característica esencial en soluciones modernas. Desde extraer datos empresariales en tiempo real hasta convertir texto o imágenes en diapositivas, el objetivo es transformar contenido bruto en formatos visuales estructurados que tu audiencia pueda entender al instante. + +## **Casos de uso comunes para la automatización de PowerPoint en .NET** + +Automatizar la generación de PowerPoint es especialmente útil en escenarios donde el contenido de la presentación necesita ser ensamblado dinámicamente, personalizado o actualizado con frecuencia. Algunos de los casos de uso reales más comunes incluyen: + +- **Informes empresariales y paneles** + Generar resúmenes de ventas, indicadores clave o informes de desempeño financiero extrayendo datos en vivo de bases de datos o APIs. + +- **Presentaciones de ventas y marketing personalizadas** + Crear automáticamente presentaciones de propuesta específicas para cada cliente usando datos de CRM o formularios, garantizando rapidez y consistencia de marca. + +- **Contenido educativo** + Convertir material de aprendizaje, cuestionarios o resúmenes de cursos en presentaciones estructuradas para plataformas de e‑learning. + +- **Información impulsada por datos e IA** + Utilizar procesamiento de lenguaje natural o motores analíticos para transformar datos crudos o textos extensos en presentaciones resumidas. + +- **Diapositivas basadas en medios** + Armar presentaciones a partir de imágenes cargadas, capturas de pantalla anotadas o fotogramas de video con descripciones de apoyo. + +- **Conversión de documentos** + Convertir automáticamente documentos Word, PDFs o entradas de formularios en presentaciones visuales con mínima intervención manual. + +- **Herramientas para desarrolladores y técnicas** + Crear demos técnicos, resúmenes de documentación o registros de cambios en formato de diapositiva directamente desde código o contenido markdown. + +Al automatizar estos flujos de trabajo, las organizaciones pueden escalar la creación de contenido, mantener la consistencia y liberar tiempo para actividades más estratégicas. + +## **Vamos a programar** + +Para este ejemplo, hemos elegido **[Aspose.Slides for .NET](https://products.aspose.com/slides/net)** para demostrar la automatización de PowerPoint debido a su conjunto de funciones completo y su facilidad de uso al trabajar programáticamente con presentaciones. + +A diferencia de bibliotecas de bajo nivel como el **[Open XML SDK](https://github.com/dotnet/Open-XML-SDK)**, que obligan a los desarrolladores a trabajar directamente con la estructura Open XML (lo que a menudo resulta en código verboso y menos legible), Aspose.Slides ofrece una API de alto nivel. Abstrae la complejidad, permitiendo a los desarrolladores centrarse en la lógica de la presentación —como diseño, formato y enlace de datos— sin necesidad de comprender en detalle el formato de archivo de PowerPoint. + +Aunque Aspose.Slides es una biblioteca comercial, ofrece una versión de [prueba gratuita](https://releases.aspose.com/slides/net/) que es totalmente capaz de ejecutar los ejemplos proporcionados en este artículo. Para propósitos de demostrar ideas, probar funciones o crear una prueba de concepto como la que cubrimos aquí, la prueba es más que suficiente. Esto la convierte en una opción conveniente para experimentar con la generación automatizada de PowerPoint sin necesidad de comprometer una licencia de inmediato. +Para quienes buscan alternativas de código abierto o libres de licencia, bibliotecas como Open XML SDK o [NPOI](https://github.com/dotnetcore/NPOI) son dignas de consideración, aunque a menudo requieren más código y un conocimiento más profundo del formato subyacente. + +Bien, repasemos paso a paso la construcción de una presentación de muestra usando contenido del mundo real. + +Asegúrate de haber añadido una referencia al paquete NuGet Aspose.Slides antes de comenzar: +```sh +dotnet add package Aspose.Slides.NET +``` + + +### **Crear una diapositiva de título** + +Comenzaremos creando una nueva presentación y añadiendo una diapositiva de título con un encabezado principal y subtítulo. +```cs +using var presentation = new Presentation(); + +var slide0 = presentation.Slides[0]; +slide0.LayoutSlide = presentation.LayoutSlides.GetByType(SlideLayoutType.Title); + +var titleShape = slide0.Shapes[0] as IAutoShape; +var subtitleShape = slide0.Shapes[1] as IAutoShape; + +titleShape.TextFrame.Text = "Quarterly Business Review – Q1 2025"; +subtitleShape.TextFrame.Text = "Prepared for Executive Team"; +``` + + +![La diapositiva de título](slide_0.png) + +### **Añadir una diapositiva con un gráfico de columnas** + +A continuación, crearemos una diapositiva que muestre el rendimiento de ventas regionales como un gráfico de columnas. +```cs +var layoutSlide1 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide1 = presentation.Slides.AddEmptySlide(layoutSlide1); + +var chart = slide1.Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.Legend.Position = LegendPositionType.Bottom; +chart.HasTitle = true; +chart.ChartTitle.AddTextFrameForOverriding("Data from January – March 2025"); +chart.ChartTitle.Overlay = false; + +var workbook = chart.ChartData.ChartDataWorkbook; +var worksheetIndex = 0; + +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 1, 0, "North America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 2, 0, "Europe")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 4, 0, "Latin America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 5, 0, "Middle East")); + +var series = chart.ChartData.Series.Add(workbook.GetCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.Type); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 1, 1, 480)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 2, 1, 365)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 3, 1, 290)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 4, 1, 150)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 5, 1, 120)); +``` + + +![La diapositiva con el gráfico](slide_1.png) + +### **Añadir una diapositiva con una tabla** + +Ahora añadiremos una diapositiva que presente métricas clave de desempeño en formato de tabla. +```cs +var layoutSlide2 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide2 = presentation.Slides.AddEmptySlide(layoutSlide2); + +var columnWidths = new double[] { 200, 100 }; +var rowHeights = new double[] { 40, 40, 40, 40, 40 }; + +var table = slide2.Shapes.AddTable(200, 200, columnWidths, rowHeights); +table[0, 0].TextFrame.Text = "Metric"; +table[1, 0].TextFrame.Text = "Value"; +table[0, 1].TextFrame.Text = "Total Revenue"; +table[1, 1].TextFrame.Text = "$1.4M"; +table[0, 2].TextFrame.Text = "Gross Margin"; +table[1, 2].TextFrame.Text = "54%"; +table[0, 3].TextFrame.Text = "New Customers"; +table[1, 3].TextFrame.Text = "340"; +table[0, 4].TextFrame.Text = "Customer Retention"; +table[1, 4].TextFrame.Text = "87%"; +``` + + +![La diapositiva con la tabla](slide_2.png) + +### **Añadir una diapositiva de resumen con viñetas** + +Por último, incluiremos un resumen y plan de acción usando una lista simple con viñetas. +```cs +IParagraph CreateBulletParagraph(string text) +{ + var paragraph = new Paragraph(); + paragraph.ParagraphFormat.Bullet.Type = BulletType.Symbol; + paragraph.ParagraphFormat.Indent = 15; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.Text = text; + return paragraph; +} +``` + +```cs +var layoutSlide3 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide3 = presentation.Slides.AddEmptySlide(layoutSlide3); + +var bulletList = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.FillFormat.FillType = FillType.NoFill; +bulletList.LineFormat.FillFormat.FillType = FillType.NoFill; + +bulletList.TextFrame.Paragraphs.Clear(); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Schedule follow-up review in early July")); +``` + + +![La diapositiva con el texto](slide_3.png) + +### **Guardar la presentación** + +Finalmente, guardamos la presentación en disco: +```cs +presentation.Save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Conclusión** + +Automatizar la generación de PowerPoint en aplicaciones .NET ofrece claros beneficios al ahorrar tiempo y reducir el esfuerzo manual. Al integrar contenido dinámico como gráficos, tablas y texto, los desarrolladores pueden producir rápidamente presentaciones consistentes y profesionales —ideales para informes empresariales, reuniones con clientes o contenido educativo. + +En este artículo, hemos demostrado cómo automatizar la creación de una presentación desde cero, incluyendo la adición de una diapositiva de título, gráficos y tablas. Este enfoque puede aplicarse a diversos casos de uso donde se necesiten presentaciones automatizadas y basadas en datos. + +Al aprovechar las herramientas adecuadas, los desarrolladores .NET pueden automatizar eficientemente la creación de PowerPoint, mejorando la productividad y garantizando la consistencia en todas las presentaciones. \ No newline at end of file diff --git a/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/es/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..9542c73ae1 --- /dev/null +++ b/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "Automatización de generación de PowerPoint en JavaScript: Crear presentaciones dinámicas fácilmente" +linktitle: Generación automatizada de PowerPoint +type: docs +weight: 20 +url: /es/nodejs-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plataformas en la nube +- automatizar la generación de PowerPoint +- generar presentaciones programáticamente +- automatización de PowerPoint +- creación dinámica de diapositivas +- informes empresariales automatizados +- automatización de PPT +- presentación en JavaScript +- Node.js +- JavaScript +- Aspose.Slides +description: "Automatiza la creación de diapositivas en plataformas en la nube con Aspose.Slides para Node.js—genera, edita y convierte archivos PowerPoint y OpenDocument de forma rápida y fiable." +--- + +## **Introducción** + +Crear presentaciones de PowerPoint manualmente puede ser una tarea que consume tiempo y es repetitiva, sobre todo cuando el contenido se basa en datos dinámicos que cambian con frecuencia. Ya sea generando informes empresariales semanales, ensamblando material educativo o produciendo presentaciones de ventas listas para el cliente, la automatización puede ahorrar innumerables horas y garantizar la consistencia entre equipos. + +Para los desarrolladores de Node.js, automatizar la creación de presentaciones de PowerPoint abre poderosas posibilidades. Puedes integrar la generación de diapositivas en portales web, herramientas de escritorio, servicios backend o plataformas en la nube para convertir datos de forma dinámica en presentaciones profesionales y con marca, bajo demanda. + +En este artículo, exploraremos los casos de uso comunes de la generación automática de PowerPoint en aplicaciones Node.js (incluidas las implementaciones en plataformas en la nube) y por qué se está convirtiendo en una característica esencial en las soluciones modernas. Desde extraer datos empresariales en tiempo real hasta convertir texto o imágenes en diapositivas, el objetivo es transformar contenido bruto en formatos visuales estructurados que tu audiencia pueda comprender al instante. + +## **Casos de uso comunes para la automatización de PowerPoint en JavaScript** + +La generación automática de PowerPoint es especialmente útil en escenarios donde el contenido de la presentación necesita ser ensamblado dinámicamente, personalizado o actualizado con frecuencia. Algunos de los casos de uso reales más comunes incluyen: + +- **Informes y paneles de negocio** + Genera resúmenes de ventas, KPIs o informes de rendimiento financiero extrayendo datos en tiempo real de bases de datos o API. + +- **Presentaciones de ventas y marketing personalizadas** + Crea automáticamente presentaciones de pitch específicas para cada cliente usando datos de CRM o formularios, garantizando una entrega rápida y consistencia de marca. + +- **Contenido educativo** + Convierte material de aprendizaje, cuestionarios o resúmenes de cursos en presentaciones de diapositivas estructuradas para plataformas de e‑learning. + +- **Información alimentada por datos e IA** + Utiliza procesamiento de lenguaje natural o motores analíticos para transformar datos sin procesar o textos extensos en presentaciones resumidas. + +- **Diapositivas basadas en medios** + Ensambla presentaciones a partir de imágenes subidas, capturas de pantalla anotadas o fotogramas clave de video con descripciones de apoyo. + +- **Conversión de documentos** + Convierte automáticamente documentos Word, PDFs o entradas de formularios en presentaciones visuales con un esfuerzo manual mínimo. + +- **Herramientas para desarrolladores y técnicas** + Crea demostraciones técnicas, resúmenes de documentación o registros de cambios en formato de diapositiva directamente desde código o contenido markdown. + +Al automatizar estos flujos de trabajo, las organizaciones pueden escalar la creación de contenido, mantener la consistencia y liberar tiempo para tareas más estratégicas. + +## **Vamos a codificar** + +Para este ejemplo, hemos elegido **[Aspose.Slides for Node.js](https://products.aspose.com/slides/nodejs-java/)** para demostrar la automatización de PowerPoint debido a su conjunto de funcionalidades completo y su facilidad de uso al trabajar con presentaciones de forma programática. + +A diferencia de las bibliotecas de bajo nivel, que requieren que los desarrolladores trabajen directamente con la estructura Open XML (lo que a menudo resulta en código verboso y menos legible), Aspose.Slides proporciona una API de nivel superior. Abstrae la complejidad, permitiendo a los desarrolladores centrarse en la lógica de la presentación —como el diseño, el formato y el enlace de datos— sin necesidad de entender en detalle el formato de archivo de PowerPoint. + +Aunque Aspose.Slides es una biblioteca comercial, ofrece una versión de [prueba gratuita](https://releases.aspose.com/slides/nodejs-java/) que es completamente capaz de ejecutar los ejemplos proporcionados en este artículo. Con el fin de demostrar ideas, probar funcionalidades o crear una prueba de concepto como la que cubrimos aquí, la prueba es más que suficiente. Esto lo convierte en una opción conveniente para experimentar con la generación automática de PowerPoint sin necesidad de comprometerse con una licencia de inmediato. + +Bien, repasemos cómo crear una presentación de ejemplo usando contenido del mundo real. + +### **Crear una diapositiva de título** + +Comenzaremos creando una nueva presentación y añadiendo una diapositiva de título con un encabezado principal y subtítulo. +```js +let presentation = new aspose.slides.Presentation(); + +let slide0 = presentation.getSlides().get_Item(0); + +let layoutSlide = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Title)); +slide0.setLayoutSlide(layoutSlide); + +let titleShape = slide0.getShapes().get_Item(0); +let subtitleShape = slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![La diapositiva de título](slide_0.png) + +### **Añadir una diapositiva con un gráfico de columnas** + +A continuación, crearemos una diapositiva que muestra el rendimiento de ventas regionales como un gráfico de columnas. +```js +let layoutSlide1 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +let chart = slide1.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(aspose.slides.LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +let workbook = chart.getChartData().getChartDataWorkbook(); +let worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +let series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![La diapositiva con el gráfico](slide_1.png) + +### **Añadir una diapositiva con una tabla** + +Ahora añadiremos una diapositiva que presenta métricas clave de desempeño en formato de tabla. +```js +let layoutSlide2 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +let columnWidths = java.newArray("double", [200, 100]); +let rowHeights = java.newArray("double", [40, 40, 40, 40, 40]); + +let table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![La diapositiva con la tabla](slide_2.png) + +### **Añadir una diapositiva de resumen con viñetas** + +Por último, incluiremos un resumen y plan de acción usando una lista simple de viñetas. +```js +function createBulletParagraph(text) { + let paragraph = new aspose.slides.Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(java.newByte(aspose.slides.BulletType.Symbol)); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid)); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLACK")); + paragraph.setText(text); + return paragraph; +} +``` + +```js +let layoutSlide3 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +let bulletList = slide3.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); +bulletList.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![La diapositiva con el texto](slide_3.png) + +### **Guardar la presentación** + +Finalmente, guardamos la presentación en disco: +```js +presentation.save("presentation.pptx", aspose.slides.SaveFormat.Pptx); +``` + + +## **Conclusión** + +Automatizar la generación de PowerPoint en aplicaciones Node.js ofrece claros beneficios al ahorrar tiempo y reducir el esfuerzo manual. Al integrar contenido dinámico como gráficos, tablas y texto, los desarrolladores pueden producir rápidamente presentaciones consistentes y profesionales, ideales para informes empresariales, reuniones con clientes o contenido educativo. + +En este artículo, hemos demostrado cómo automatizar la creación de una presentación desde cero, incluyendo la adición de una diapositiva de título, gráficos y tablas. Este enfoque puede aplicarse en varios casos de uso donde se necesiten presentaciones automatizadas y basadas en datos. + +Al aprovechar las herramientas adecuadas, los desarrolladores de Node.js pueden automatizar eficientemente la creación de PowerPoint, mejorando la productividad y asegurando la consistencia en todas las presentaciones. \ No newline at end of file diff --git a/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/es/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..42120b7a25 --- /dev/null +++ b/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Automatización de la generación de PowerPoint en PHP: cree presentaciones dinámicas fácilmente" +linktitle: Automatización de la generación de PowerPoint +type: docs +weight: 20 +url: /es/php-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plataformas en la nube +- automatizar generación de PowerPoint +- generar presentaciones programáticamente +- automatización de PowerPoint +- creación dinámica de diapositivas +- informes empresariales automatizados +- automatización PPT +- presentación PHP +- PHP +- Aspose.Slides +description: "Automatice la creación de diapositivas en plataformas en la nube con Aspose.Slides para PHP: genere, edite y convierta archivos PowerPoint y OpenDocument de forma rápida y fiable." +--- + +## **Introducción** + +Crear presentaciones de PowerPoint manualmente puede ser una tarea que consume mucho tiempo y es repetitiva, especialmente cuando el contenido se basa en datos dinámicos que cambian con frecuencia. Ya sea generando informes comerciales semanales, reuniendo material educativo o produciendo presentaciones de ventas listas para el cliente, la automatización puede ahorrar innumerables horas y garantizar la consistencia entre los equipos. + +Para desarrolladores PHP, automatizar la creación de presentaciones PowerPoint abre poderosas posibilidades. Puedes integrar la generación de diapositivas en portales web, herramientas de escritorio, servicios backend o plataformas en la nube para convertir datos dinámicamente en presentaciones profesionales y con la marca, bajo demanda. + +En este artículo, exploraremos los casos de uso comunes para la generación automática de PowerPoint en aplicaciones PHP (incluyendo implementaciones en plataformas en la nube) y por qué se está convirtiendo en una característica esencial en soluciones modernas. Desde extraer datos empresariales en tiempo real hasta convertir texto o imágenes en diapositivas, el objetivo es transformar contenido bruto en formatos visuales estructurados que tu audiencia pueda comprender al instante. + +## **Casos de uso comunes para la automatización de PowerPoint en PHP** + +Automatizar la generación de PowerPoint es especialmente útil en escenarios donde el contenido de la presentación necesita ser ensamblado dinámicamente, personalizado o actualizado con frecuencia. Algunos de los casos de uso del mundo real más comunes incluyen: + +- **Informes de negocio y paneles** + Genera resúmenes de ventas, KPIs o informes de desempeño financiero extrayendo datos en tiempo real de bases de datos o APIs. + +- **Presentaciones de ventas y marketing personalizadas** + Crea automáticamente presentaciones de propuestas específicas para cada cliente usando datos de CRM o formularios, garantizando una entrega rápida y consistencia de marca. + +- **Contenido educativo** + Convierte material de aprendizaje, cuestionarios o resúmenes de cursos en presentaciones estructuradas para plataformas de e‑learning. + +- **Perspectivas impulsadas por datos e IA** + Utiliza procesamiento de lenguaje natural o motores de análisis para transformar datos sin procesar o textos extensos en presentaciones resumidas. + +- **Diapositivas basadas en medios** + Ensambla presentaciones a partir de imágenes subidas, capturas de pantalla anotadas o fotogramas clave de video con descripciones de apoyo. + +- **Conversión de documentos** + Convierte automáticamente documentos Word, PDFs o entradas de formularios en presentaciones visuales con un esfuerzo manual mínimo. + +- **Herramientas para desarrolladores y técnicas** + Crea demos técnicas, resúmenes de documentación o registros de cambios en formato de diapositiva directamente desde código o contenido markdown. + +Al automatizar estos flujos de trabajo, las organizaciones pueden escalar la creación de contenido, mantener la consistencia y liberar tiempo para actividades más estratégicas. + +## **Vamos a codificar** + +Para este ejemplo, hemos elegido **[Aspose.Slides for PHP](https://products.aspose.com/slides/php-java/)** para demostrar la automatización de PowerPoint debido a su conjunto de funciones integral y facilidad de uso al trabajar con presentaciones programáticamente. + +A diferencia de las bibliotecas de bajo nivel, que requieren que los desarrolladores trabajen directamente con la estructura Open XML (a menudo resultando en código verboso y menos legible), Aspose.Slides ofrece una API de alto nivel. Abstrae la complejidad, permitiendo a los desarrolladores centrarse en la lógica de la presentación—como la disposición, el formato y el enlace de datos—sin necesidad de entender en detalle el formato de archivo de PowerPoint. + +Aunque Aspose.Slides es una biblioteca comercial, ofrece una versión de [prueba gratuita](https://releases.aspose.com/slides/php-java/) que es completamente capaz de ejecutar los ejemplos proporcionados en este artículo. Con el fin de demostrar ideas, probar funciones o crear una prueba de concepto como la que presentamos aquí, la prueba es más que suficiente. Esto lo convierte en una opción conveniente para experimentar con la generación automática de PowerPoint sin necesidad de comprometerse con una licencia de forma anticipada. + +Bien, recorramos la creación de una presentación de muestra usando contenido del mundo real. + +### **Crear una diapositiva de título** + +Comenzaremos creando una nueva presentación y añadiendo una diapositiva de título con un encabezado principal y subtítulo. +```php +$presentation = new Presentation(); + +$slide0 = $presentation->getSlides()->get_Item(0); + +$layoutSlide = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Title); +$slide0->setLayoutSlide($layoutSlide); + +$titleShape = $slide0->getShapes()->get_Item(0); +$subtitleShape = $slide0->getShapes()->get_Item(1); + +$titleShape->getTextFrame()->setText("Quarterly Business Review – Q1 2025"); +$subtitleShape->getTextFrame()->setText("Prepared for Executive Team"); +``` + + +![La diapositiva de título](slide_0.png) + +### **Agregar una diapositiva con un gráfico de columnas** + +A continuación, crearemos una diapositiva que muestra el desempeño de ventas regionales como un gráfico de columnas. +```php +$layoutSlide1 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide1 = $presentation->getSlides()->addEmptySlide($layoutSlide1); + +$chart = $slide1->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +$chart->getLegend()->setPosition(LegendPositionType::Bottom); +$chart->setTitle(true); +$chart->getChartTitle()->addTextFrameForOverriding("Data from January – March 2025"); +$chart->getChartTitle()->setOverlay(false); + +$workbook = $chart->getChartData()->getChartDataWorkbook(); +$worksheetIndex = 0; + +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 1, 0, "North America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 2, 0, "Europe")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 3, 0, "Asia Pacific")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 4, 0, "Latin America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 5, 0, "Middle East")); + +$series = $chart->getChartData()->getSeries()->add($workbook->getCell($worksheetIndex, 0, 1, "Sales (\$K)"), $chart->getType()); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 1, 1, 480)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 2, 1, 365)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 3, 1, 290)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 4, 1, 150)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 5, 1, 120)); +``` + + +![La diapositiva con el gráfico](slide_1.png) + +### **Agregar una diapositiva con una tabla** + +Ahora añadiremos una diapositiva que presenta métricas clave de desempeño en formato de tabla. +```php +$layoutSlide2 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide2 = $presentation->getSlides()->addEmptySlide($layoutSlide2); + +$columnWidths = [200, 100]; +$rowHeights = [40, 40, 40, 40, 40]; + +$table = $slide2->getShapes()->addTable(200, 200, $columnWidths, $rowHeights); +$table->getColumns()->get_Item(0)->get_Item(0)->getTextFrame()->setText("Metric"); +$table->getColumns()->get_Item(1)->get_Item(0)->getTextFrame()->setText("Value"); +$table->getColumns()->get_Item(0)->get_Item(1)->getTextFrame()->setText("Total Revenue"); +$table->getColumns()->get_Item(1)->get_Item(1)->getTextFrame()->setText("\$1.4M"); +$table->getColumns()->get_Item(0)->get_Item(2)->getTextFrame()->setText("Gross Margin"); +$table->getColumns()->get_Item(1)->get_Item(2)->getTextFrame()->setText("54%"); +$table->getColumns()->get_Item(0)->get_Item(3)->getTextFrame()->setText("New Customers"); +$table->getColumns()->get_Item(1)->get_Item(3)->getTextFrame()->setText("340"); +$table->getColumns()->get_Item(0)->get_Item(4)->getTextFrame()->setText("Customer Retention"); +$table->getColumns()->get_Item(1)->get_Item(4)->getTextFrame()->setText("87%"); +``` + + +![La diapositiva con la tabla](slide_2.png) + +### **Agregar una diapositiva de resumen con viñetas** + +Finalmente, incluiremos un resumen y plan de acción usando una lista simple de viñetas. +```php +function createBulletParagraph($text) { + $paragraph = new Paragraph(); + $paragraph->getParagraphFormat()->getBullet()->setType(BulletType::Symbol); + $paragraph->getParagraphFormat()->setIndent(15); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK); + $paragraph->setText($text); + return $paragraph; +} +``` + +```php +$layoutSlide3 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide3 = $presentation->getSlides()->addEmptySlide($layoutSlide3); + +$bulletList = $slide3->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +$bulletList->getFillFormat()->setFillType(FillType::NoFill); +$bulletList->getLineFormat()->getFillFormat()->setFillType(FillType::NoFill); + +$bulletList->getTextFrame()->getParagraphs()->clear(); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Prepare new campaign strategy for Q2")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![La diapositiva con el texto](slide_3.png) + +### **Guardar la presentación** + +Finalmente, guardamos la presentación en disco: +```php +$presentation->save("presentation.pptx", SaveFormat::Pptx); +``` + + +## **Conclusión** + +Automatizar la generación de PowerPoint en aplicaciones PHP ofrece claros beneficios al ahorrar tiempo y reducir el esfuerzo manual. Al integrar contenido dinámico como gráficos, tablas y texto, los desarrolladores pueden producir rápidamente presentaciones consistentes y profesionales—ideales para informes de negocio, reuniones con clientes o contenido educativo. + +En este artículo, hemos demostrado cómo automatizar la creación de una presentación desde cero, incluyendo la adición de una diapositiva de título, gráficos y tablas. Este enfoque puede aplicarse a diversos casos de uso donde se necesitan presentaciones automatizadas y basadas en datos. + +Al aprovechar las herramientas adecuadas, los desarrolladores PHP pueden automatizar eficientemente la creación de PowerPoint, mejorando la productividad y garantizando la consistencia en las presentaciones. \ No newline at end of file diff --git a/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/es/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index fd5e4eadb3..0d77c028e0 100644 --- a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -22,12 +22,12 @@ keywords: - guardar PPTX como HTML - Python - Aspose.Slides -description: "Convertir presentaciones de PowerPoint a HTML responsivo en Python. Preservar el diseño, los enlaces y las imágenes con la guía de conversión de Aspose.Slides para obtener resultados rápidos y perfectos." +description: "Convierta presentaciones de PowerPoint a HTML responsivo en Python. Preservar el diseño, los enlaces y las imágenes con la guía de conversión de Aspose.Slides para obtener resultados rápidos y sin errores." --- -## **Visión general** +## **Descripción general** -Este artículo explica cómo convertir una presentación de PowerPoint a formato HTML usando Python. Cubre los siguientes temas. +Este artículo explica cómo convertir una presentación de PowerPoint al formato HTML usando Python. Cubre los siguientes temas. - Convertir PowerPoint a HTML en Python - Convertir PPT a HTML en Python @@ -35,28 +35,27 @@ Este artículo explica cómo convertir una presentación de PowerPoint a formato - Convertir ODP a HTML en Python - Convertir diapositiva de PowerPoint a HTML en Python -## **Python PowerPoint a HTML** +## **PowerPoint con Python a HTML** -Para ver el código de ejemplo en Python que convierte PowerPoint a HTML, consulte la sección a continuación, es decir, [Convert PowerPoint to HTML](#convert-powerpoint-to-html). El código puede cargar varios formatos como PPT, PPTX y ODP en el objeto Presentation y guardarlo en formato HTML. +Para obtener código de muestra en Python que convierta PowerPoint a HTML, consulte la sección a continuación, es decir, [Convertir PowerPoint a HTML](#convert-powerpoint-to-html). El código puede cargar varios formatos como PPT, PPTX y ODP en el objeto Presentation y guardarlo en formato HTML. ## **Acerca de la conversión de PowerPoint a HTML** +Usando [**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/), las aplicaciones y los desarrolladores pueden convertir una presentación de PowerPoint a HTML: **PPTX a HTML** o **PPT a HTML**. -Usando [**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/), las aplicaciones y los desarrolladores pueden convertir una presentación de PowerPoint a HTML: **PPTX a HTML** o **PPT a HTML**. - -**Aspose.Slides** proporciona muchas opciones (principalmente de la clase [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) ) que definen el proceso de conversión de PowerPoint a HTML: +Aspose.Slides proporciona muchas opciones (principalmente de la clase [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/)) que definen el proceso de conversión de PowerPoint a HTML: * Convertir una presentación completa de PowerPoint a HTML. * Convertir una diapositiva específica de una presentación de PowerPoint a HTML. * Convertir los medios de la presentación (imágenes, videos, etc.) a HTML. -* Convertir una presentación de PowerPoint a HTML responsivo. -* Convertir una presentación de PowerPoint a HTML con notas del presentador incluidas o excluidas. -* Convertir una presentación de PowerPoint a HTML con comentarios incluidos o excluidos. -* Convertir una presentación de PowerPoint a HTML con fuentes originales o incrustadas. -* Convertir una presentación de PowerPoint a HTML usando el nuevo estilo CSS. +* Convertir una presentación de PowerPoint a HTML responsivo. +* Convertir una presentación de PowerPoint a HTML con notas del presentador incluidas o excluidas. +* Convertir una presentación de PowerPoint a HTML con comentarios incluidos o excluidos. +* Convertir una presentación de PowerPoint a HTML con fuentes originales o incrustadas. +* Convertir una presentación de PowerPoint a HTML utilizando el nuevo estilo CSS. {{% alert color="primary" %}} -Usando su propia API, Aspose desarrolló conversores gratuitos de [presentación a HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html): [PPT a HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX a HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP a HTML](https://products.aspose.app/slides/conversion/odp-to-html), etc. +Usando su propia API, Aspose desarrolló convertidores gratuitos de [presentación a HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html): [PPT a HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX a HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP a HTML](https://products.aspose.app/slides/conversion/odp-to-html), etc. [![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) @@ -76,12 +75,12 @@ Además de los procesos de conversión descritos aquí, Aspose.Slides también s {{% /alert %}} ## **Convertir PowerPoint a HTML** - Usando Aspose.Slides, puede convertir una presentación completa de PowerPoint a HTML de esta manera: 1. Crear una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 2. Utilizar el método [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) para guardar el objeto como un archivo HTML. +Este código le muestra cómo convertir un PowerPoint a HTML en Python: ```python import aspose.slides as slides @@ -100,8 +99,7 @@ pres.save("ConvertWholePresentationToHTML_out.html", slides.export.SaveFormat.HT ## **Convertir PowerPoint a HTML responsivo** -Aspose.Slides proporciona la clase [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) que le permite generar archivos HTML responsivos. Este código muestra cómo convertir una presentación de PowerPoint a HTML responsivo en python: - +Aspose.Slides proporciona la clase [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) que le permite generar archivos HTML responsivos. Este código le muestra cómo convertir una presentación de PowerPoint a HTML responsivo en Python: ```py # Instanciar un objeto Presentation que representa un archivo de presentación import aspose.slides as slides @@ -119,8 +117,7 @@ pres.save("ConvertPresentationToResponsiveHTML_out.html", slides.export.SaveForm ## **Convertir PowerPoint a HTML con notas** -Este código muestra cómo convertir un PowerPoint a HTML con notas en python: - +Este código le muestra cómo convertir un PowerPoint a HTML con notas en Python: ```py import aspose.slides as slides @@ -135,12 +132,11 @@ pres.save("Output.html", slides.export.SaveFormat.HTML, opt) ## **Convertir PowerPoint a HTML con fuentes originales** -Aspose.Slides proporciona la clase [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) que permite incrustar todas las fuentes en una presentación al convertirla a HTML. +Aspose.Slides proporciona la clase [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) que le permite incrustar todas las fuentes de una presentación al convertirla a HTML. -Para evitar que se incrusten ciertas fuentes, puede pasar una matriz de nombres de fuentes a un constructor parametrizado de la clase [EmbedAllFontsHtmlController]. Fuentes populares, como Calibri o Arial, cuando se usan en una presentación, no necesitan ser incrustadas porque la mayoría de los sistemas ya las contienen. Cuando esas fuentes se incrustan, el documento HTML resultante se vuelve innecesariamente grande. - -La clase [EmbedAllFontsHtmlController] soporta herencia y proporciona el método `WriteFont`, que está destinado a ser sobrescrito. +Para evitar que ciertas fuentes se incrusten, puede pasar una matriz de nombres de fuentes a un constructor parametrizado de la clase [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/). Las fuentes populares, como Calibri o Arial, cuando se usan en una presentación, no necesitan ser incrustadas porque la mayoría de los sistemas ya las contienen. Cuando esas fuentes se incrustan, el documento HTML resultante se vuelve innecesariamente grande. +La clase [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) admite herencia y proporciona el método `WriteFont`, que está destinado a ser sobrescrito. ```py import aspose.slides as slides @@ -158,39 +154,33 @@ pres.save("input-PFDinDisplayPro-Regular-installed.html", slides.export.SaveForm ## **Convertir diapositiva a HTML** -Convertir una diapositiva de presentación independiente a HTML. Para ello use el mismo método [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) expuesto por la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) que se utiliza para convertir toda la presentación PPT(X) en un documento HTML. La clase [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) también puede usarse para establecer opciones de conversión adicionales: - +Convertir una diapositiva de presentación separada a HTML. Para ello use el mismo método [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) expuesto por la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) que se usa para convertir toda la presentación PPT(X) en un documento HTML. La clase [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) también puede usarse para establecer opciones de conversión adicionales: ```py # [TODO[not_supported_yet]: implementación de python de la interfaz .net] ``` -## **Guardar CSS e imágenes al exportar a HTML** - -Usando nuevos archivos de estilo CSS, puede cambiar fácilmente el estilo del archivo HTML resultante del proceso de conversión de PowerPoint a HTML. -El código python en este ejemplo muestra cómo usar métodos sobrescribibles para crear un documento HTML personalizado con un enlace a un archivo CSS: +## **Guardar CSS e imágenes al exportar a HTML** +Usando nuevos archivos de estilo CSS, puede cambiar fácilmente el estilo del archivo HTML resultante del proceso de conversión de PowerPoint a HTML. +El código Python en este ejemplo le muestra cómo usar métodos sobrescribibles para crear un documento HTML personalizado con un enlace a un archivo CSS: ```py -# [TODO[not_supported_yet]: implementación de python de interfaces .net] +# [TODO[not_supported_yet]: implementación de interfaces .net en python] ``` -## **Enlazar todas las fuentes al convertir la presentación a HTML** - -Si no desea incrustar fuentes (para evitar aumentar el tamaño del HTML resultante), puede enlazar todas las fuentes implementando su propia versión de `LinkAllFontsHtmlController`. - -Este código python muestra cómo convertir un PowerPoint a HTML mientras enlaza todas las fuentes y excluye "Calibri" y "Arial" (ya que ya existen en el sistema): +## **Vincular todas las fuentes al convertir la presentación a HTML** +Si no desea incrustar fuentes (para evitar aumentar el tamaño del HTML resultante), puede vincular todas las fuentes implementando su propia versión de `LinkAllFontsHtmlController`. +Este código Python le muestra cómo convertir un PowerPoint a HTML mientras vincula todas las fuentes y excluye "Calibri" y "Arial" (ya que existen en el sistema): ```py -# [TODO[not_supported_yet]: implementación de python de interfaces .net] +# [TODO[not_supported_yet]: implementación en python de interfaces .net] ``` -## **Compatibilidad con la propiedad responsiva de SVG** - -El siguiente ejemplo de código muestra cómo exportar una presentación PPT(X) a HTML con el diseño responsivo: - +## **Compatibilidad con la propiedad SVG responsiva** +El ejemplo de código a continuación muestra cómo exportar una presentación PPT(X) a HTML con diseño responsivo: ```py presentation = slides.Presentation("SomePresentation.pptx") @@ -201,15 +191,16 @@ presentation.save("SomePresentation-out.html", slides.export.SaveFormat.HTML, sa ``` -## **Exportar archivos multimedia a archivo HTML** -Usando Aspose.Slides para python, puede exportar archivos multimedia de esta forma: +## **Exportar archivos multimedia a archivo HTML** +Usando Aspose.Slides para Python, puede exportar archivos multimedia de esta manera: -1. Crear una instancia de la clase [Presentation]. +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. -3. Agregar un video a la diapositiva. +3. Añadir un video a la diapositiva. 4. Guardar la presentación como un archivo HTML. +Este código Python le muestra cómo añadir un video a la presentación y luego guardarla como HTML: ```py import aspose.slides as slides @@ -232,44 +223,44 @@ presentation.save(path + "ExportMediaFiles_out.html", slides.export.SaveFormat.H ``` -## Preguntas frecuentes +## **FAQ** -### **¿Cómo puedo convertir una presentación de PowerPoint a HTML usando Python?** +**¿Cómo puedo convertir una presentación de PowerPoint a HTML usando Python?** -Puede usar la biblioteca Aspose.Slides for Python via .NET para cargar archivos PPT, PPTX o ODP y convertirlos a HTML usando el método `save()` con `SaveFormat.HTML`. +Puede usar la biblioteca Aspose.Slides for Python via .NET para cargar archivos PPT, PPTX o ODP y convertirlos a HTML utilizando el método `save()` con `SaveFormat.HTML`. -### **¿Aspose.Slides admite convertir diapositivas individuales de PowerPoint a HTML?** +**¿Aspose.Slides admite la conversión de diapositivas individuales de PowerPoint a HTML?** -Sí, Aspose.Slides le permite convertir tanto la presentación completa como diapositivas específicas a HTML configurando `HtmlOptions` adecuadamente. +Sí, Aspose.Slides permite convertir tanto la presentación completa como diapositivas específicas a HTML configurando `HtmlOptions` según sea necesario. -### **¿Puedo generar HTML responsivo a partir de presentaciones de PowerPoint?** +**¿Puedo generar HTML responsivo a partir de presentaciones de PowerPoint?** Sí, con la clase `ResponsiveHtmlController` puede exportar su presentación a un diseño HTML responsivo que se adapta a diferentes tamaños de pantalla. -### **¿Es posible incluir notas del presentador o comentarios en el HTML exportado?** +**¿Es posible incluir notas del presentador o comentarios en el HTML exportado?** Sí, puede configurar `HtmlOptions` para incluir o excluir notas del presentador y comentarios al exportar presentaciones de PowerPoint a HTML. -### **¿Puedo incrustar fuentes al convertir una presentación a HTML?** +**¿Puedo incrustar fuentes al convertir una presentación a HTML?** -Sí, Aspose.Slides proporciona la clase `EmbedAllFontsHtmlController`, que le permite incrustar fuentes o excluir ciertas fuentes para reducir el tamaño del archivo de salida. +Sí, Aspose.Slides proporciona la clase `EmbedAllFontsHtmlController`, que permite incrustar fuentes o excluir ciertas fuentes para reducir el tamaño del archivo de salida. -### **¿La conversión de PowerPoint a HTML admite archivos multimedia como videos y audio?** +**¿La conversión de PowerPoint a HTML admite archivos multimedia como videos y audio?** -Sí, Aspose.Slides permite exportar contenido multimedia incrustado en las diapositivas a HTML usando `VideoPlayerHtmlController` y clases de configuración relacionadas. +Sí, Aspose.Slides permite exportar contenido multimedia incrustado en diapositivas a HTML mediante `VideoPlayerHtmlController` y clases de configuración relacionadas. -### **¿Qué formatos de archivo son compatibles para la conversión a HTML?** +**¿Qué formatos de archivo son compatibles para la conversión a HTML?** -Aspose.Slides soporta la conversión de los formatos de presentación PPT, PPTX y ODP a HTML. También permite guardar el contenido de diapositivas como SVG y exportar recursos multimedia. +Aspose.Slides admite la conversión de los formatos de presentación PPT, PPTX y ODP a HTML. También permite guardar contenido de diapositivas como SVG y exportar activos multimedia. -### **¿Puedo evitar incrustar fuentes para reducir el tamaño del HTML resultante?** +**¿Puedo evitar incrustar fuentes para reducir el tamaño del HTML resultante?** -Sí, puede enlazar fuentes del sistema comúnmente disponibles como Arial o Calibri en lugar de incrustarlas, usando una implementación personalizada de `HtmlController`. +Sí, puede vincular fuentes del sistema comunes como Arial o Calibri en lugar de incrustarlas, mediante una implementación personalizada del `HtmlController`. -### **¿Existe una herramienta en línea para convertir PowerPoint a HTML?** +**¿Existe una herramienta en línea para convertir PowerPoint a HTML?** -Sí, puede probar las herramientas web gratuitas de Aspose como [PPT a HTML](https://products.aspose.app/slides/conversion/ppt-to-html) o [PPTX a HTML](https://products.aspose.app/slides/conversion/pptx-to-html) para convertir presentaciones directamente en su navegador sin escribir código. +Sí, puede probar las herramientas web gratuitas de Aspose, como [PPT a HTML](https://products.aspose.app/slides/conversion/ppt-to-html) o [PPTX a HTML](https://products.aspose.app/slides/conversion/pptx-to-html) para convertir presentaciones directamente en su navegador sin escribir código. -### **¿Puedo usar estilos CSS personalizados en el archivo HTML exportado?** +**¿Puedo usar estilos CSS personalizados en el archivo HTML exportado?** -Sí, Aspose.Slides permite enlazar a archivos CSS externos durante la conversión, lo que le permite personalizar totalmente la apariencia del contenido HTML resultante. \ No newline at end of file +Sí, Aspose.Slides permite enlazar archivos CSS externos durante la conversión, lo que le permite personalizar completamente la apariencia del contenido HTML resultante. diff --git a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index e2317c2029..539ae08675 100644 --- a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -5,106 +5,104 @@ type: docs weight: 40 url: /es/python-net/convert-powerpoint-to-pdf/ keywords: - - convertir PowerPoint - - presentación - - PowerPoint a PDF - - PPT a PDF - - PPTX a PDF - - guardar PowerPoint como PDF - - PDF/A1a - - PDF/A1b - - PDF/UA - - Python - - Aspose.Slides -description: "Guía paso a paso para convertir PPT y PPTX a PDFs de alta calidad y compatibles con WCAG en Python con Aspose.Slides: incluye protección con contraseña, selección de diapositivas y control de la calidad de imagen." +- convertir PowerPoint +- presentación +- PowerPoint a PDF +- PPT a PDF +- PPTX a PDF +- guardar PowerPoint como PDF +- PDF/A1a +- PDF/A1b +- PDF/UA +- Python +- Aspose.Slides para Python +description: "Guía paso a paso para convertir PPT, PPTX y ODP a PDFs de alta calidad y compatibles con WCAG en Python con Aspose.Slides - incluye protección con contraseña, selección de diapositivas y control de calidad de imagen." +showReadingTime: true --- -## **Descripción general** +## **Visión general** -Convertir documentos de PowerPoint al formato PDF ofrece varias ventajas, incluyendo asegurar la compatibilidad entre diferentes dispositivos y preservar el diseño y la formateo de tu presentación. Este artículo te muestra cómo convertir presentaciones a documentos PDF, usar varias opciones para controlar la calidad de imagen, incluir diapositivas ocultas, proteger documentos PDF con contraseña, detectar sustituciones de fuentes, seleccionar diapositivas para conversión y aplicar estándares de cumplimiento a los documentos de salida. +Convertir presentaciones de PowerPoint (PPT, PPTX, ODP) a formato PDF en Python ofrece varias ventajas, entre ellas garantizar la compatibilidad entre diferentes dispositivos y preservar el diseño y formato de la presentación. Esta guía muestra cómo convertir presentaciones a documentos PDF, utilizar diversas opciones para controlar la calidad de imagen, incluir diapositivas ocultas, proteger con contraseña los documentos PDF, detectar sustituciones de fuentes, seleccionar diapositivas específicas para la conversión y aplicar normas de cumplimiento a los documentos resultantes. ## **Conversiones de PowerPoint a PDF** -Usando Aspose.Slides, puedes convertir presentaciones en estos formatos a PDF: +Con Aspose.Slides, puedes convertir presentaciones en estos formatos a PDF: -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -Para convertir una presentación a PDF en Python, simplemente debes pasar el nombre del archivo como un argumento en la clase [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) y luego guardar la presentación como un PDF usando un método [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods). La clase [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) expone el método [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) que se utiliza comúnmente para convertir una presentación a PDF. +Para convertir una presentación a PDF en Python, solo tienes que pasar el nombre del archivo como argumento en la clase [Presentación](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) y luego guardar la presentación como PDF usando el método [Guardar](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods). La clase [Presentación](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) expone el método [Guardar](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) que se utiliza típicamente para convertir una presentación a PDF. -{{% alert title="NOTA" color="warning" %}} +{{% alert title="NOTA" color="warning" %}} -Aspose.Slides para Python escribe directamente la información de la API y el número de versión en los documentos de salida. Por ejemplo, cuando convierte una presentación a PDF, Aspose.Slides para Python llena el campo de Aplicación con el valor '*Aspose.Slides*' y el campo de Productor PDF con un valor en la forma '*Aspose.Slides v XX.XX*'. **Nota** que no puedes instruir a Aspose.Slides para Python para cambiar o eliminar esta información de los documentos de salida. +Aspose.Slides para Python escribe directamente la información de la API y el número de versión en los documentos de salida. Por ejemplo, cuando convierte una presentación a PDF, Aspose.Slides para Python rellena el campo Aplicación con el valor '*Aspose.Slides*' y el campo Productor de PDF con un valor en forma '*Aspose.Slides v XX.XX*'. **Nota** que no puedes instruir a Aspose.Slides para Python para que cambie o elimine esta información de los documentos de salida. {{% /alert %}} -Aspose.Slides permite convertir: +Aspose.Slides te permite convertir: -* una presentación completa a PDF -* diapositivas específicas en una presentación a PDF -* una presentación +* Presentaciones completas a PDF +* Diapositivas específicas de una presentación a PDF -Aspose.Slides exporta presentaciones a PDF de una manera que hace que el contenido de los PDFs resultantes sea muy similar al de las presentaciones originales. Estos elementos y atributos conocidos suelen renderizarse correctamente en conversiones de presentación a PDF: +Aspose.Slides exporta presentaciones a PDF, garantizando que el contenido de los PDFs resultantes coincida estrechamente con las presentaciones originales. Los elementos y atributos se reproducen con precisión en la conversión, incluidos: -* imágenes -* cuadros de texto y otras formas -* textos y su formato -* párrafos y su formato -* hiperenlaces -* encabezados y pies de página -* viñetas -* tablas +* Imágenes +* Cuadros de texto y formas +* Formato de texto +* Formato de párrafo +* Hipervínculos +* Encabezados y pies de página +* Viñetas +* Tablas ## **Convertir PowerPoint a PDF** -La operación estándar de conversión de PowerPoint a PDF se ejecuta usando opciones predeterminadas. En este caso, Aspose.Slides intenta convertir la presentación proporcionada a PDF usando configuraciones óptimas en los niveles de calidad máximos. Este código Python te muestra cómo convertir un PowerPoint a PDF: +La operación estándar de conversión de PowerPoint a PDF se ejecuta con opciones predeterminadas. En este caso, Aspose.Slides intenta convertir la presentación proporcionada a PDF usando configuraciones óptimas en los niveles máximos de calidad. Este código Python muestra cómo convertir un PowerPoint a PDF: _Pasos: Conversiones de PowerPoint a PDF en Python_ El siguiente código de ejemplo explica estas conversiones usando Python a través de .NET -- Pasos: Convertir PowerPoint a PDF usando Python a través de .NET -- Pasos: Convertir PPT a PDF usando Python a través de .NET -- Pasos: Convertir PPTX a PDF usando Python a través de .NET -- Pasos: Convertir ODP a PDF usando Python a través de .NET -- Pasos: Convertir PPS a PDF usando Python a través de .NET - -_Pasos de Código:_ - -- Crea una instancia de la clase [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) y proporciona el archivo de PowerPoint. - * _.ppt_ extensión para cargar **PPT** archivo dentro de la clase _Presentation_. - * _.pptx_ extensión para cargar **PPTX** archivo dentro de la clase _Presentation_. - * _.odp_ extensión para cargar **ODP** archivo dentro de la clase _Presentation_. - * _.pps_ extensión para cargar **PPS** archivo dentro de la clase _Presentation_. -- Guarda la _Presentation_ en formato **PDF** llamando al método **Save** y usando la enumeración **SaveFormat.PDF**. - - +- Pasos: Convertir PowerPoint a PDF usando Python vía .NET +- Pasos: Convertir PPT a PDF usando Python vía .NET +- Pasos: Convertir PPTX a PDF usando Python vía .NET +- Pasos: Convertir ODP a PDF usando Python vía .NET +- Pasos: Convertir PPS a PDF usando Python vía .NET + +_Pasos de código:_ + +- Crear una instancia de la clase [Presentación](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) y proporcionarle el archivo PowerPoint. + * Extensión _.ppt_ para cargar el archivo **PPT** dentro de la clase _Presentación_. + * Extensión _.pptx_ para cargar el archivo **PPTX** dentro de la clase _Presentación_. + * Extensión _.odp_ para cargar el archivo **ODP** dentro de la clase _Presentación_. + * Extensión _.pps_ para cargar el archivo **PPS** dentro de la clase _Presentación_. +- Guardar la _Presentación_ en formato **PDF** llamando al método **Guardar** y usando la enumeración **SaveFormat.PDF**. ```python import aspose.slides as slides -# Instancia una clase Presentation que representa un archivo de PowerPoint +# Instancia una clase Presentation que representa un archivo PowerPoint presentation = slides.Presentation("PowerPoint.ppt") -# Guarda la presentación como un PDF -presentation.save("PPT-a-PDF.pdf", slides.export.SaveFormat.PDF) +# Guarda la presentación como PDF +presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF) ``` -{{% alert color="primary" %}} -Aspose proporciona un [**convertidor de PowerPoint a PDF**](https://products.aspose.app/slides/conversion/ppt-to-pdf) en línea gratuito que demuestra el proceso de conversión de presentación a PDF. Para una implementación en vivo del procedimiento descrito aquí, puedes hacer una prueba con el convertidor. +{{% alert color="primary" %}} + +Aspose ofrece un [**convertidor gratuito de PowerPoint a PDF**](https://products.aspose.app/slides/conversion/ppt-to-pdf) en línea que muestra el proceso de conversión de presentación a PDF. Para una implementación en vivo del procedimiento descrito aquí, puedes probar el convertidor. {{% /alert %}} -## Convertir PowerPoint a PDF con Opciones +## **Convertir PowerPoint a PDF con Opciones** -Aspose.Slides proporciona opciones personalizadas—propiedades bajo la clase [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)—que te permiten personalizar el PDF (resultado del proceso de conversión), bloquear el PDF con una contraseña, o incluso especificar cómo debe ir el proceso de conversión. +Aspose.Slides proporciona opciones personalizadas —propiedades bajo la clase [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)— que te permiten personalizar el PDF (resultado del proceso de conversión), bloquear el PDF con una contraseña o incluso especificar cómo debe realizarse la conversión. ### **Convertir PowerPoint a PDF con Opciones Personalizadas** -Usando opciones de conversión personalizadas, puedes establecer tu configuración de calidad preferida para imágenes rasterizadas, especificar cómo deben manejarse los metafiles, establecer un nivel de compresión para textos, establecer DPI para imágenes, etc. - -El siguiente ejemplo de código demuestra una operación en la que se convierte una presentación de PowerPoint a PDF con varias opciones personalizadas: +Usando opciones de conversión personalizadas, puedes establecer tu configuración de calidad preferida para imágenes rasterizadas, especificar cómo se deben manejar los metarchivos, establecer un nivel de compresión para textos, definir DPI para imágenes, etc. +El ejemplo de código a continuación muestra una operación en la que una presentación de PowerPoint se convierte a PDF con varias opciones personalizadas: ```python import aspose.slides as slides @@ -117,7 +115,7 @@ pdf_options.jpeg_quality = 90 # Establece DPI para imágenes pdf_options.sufficient_resolution = 300 -# Establece el comportamiento para metafiles +# Establece el comportamiento de los metafiles pdf_options.save_metafiles_as_png = True # Establece el nivel de compresión de texto para contenido textual @@ -126,135 +124,138 @@ pdf_options.text_compression = slides.export.PdfTextCompression.FLATE # Define el modo de cumplimiento del PDF pdf_options.compliance = slides.export.PdfCompliance.PDF15 -# Instancia la clase Presentation que representa un documento de PowerPoint +# Instancia la clase Presentation que representa un documento PowerPoint with slides.Presentation("PowerPoint.pptx") as presentation: - # Guarda la presentación como un documento PDF - presentation.save("PowerPoint-a-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options) + # Guarda la presentación como documento PDF + presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options) ``` -### **Convertir PowerPoint a PDF con Diapositivas Ocultas** -Si una presentación contiene diapositivas ocultas, puedes usar una opción personalizada—la propiedad `show_hidden_slides` de la clase [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)—para instruir a Aspose.Slides a incluir las diapositivas ocultas como páginas en el PDF resultante. +### **Convertir PowerPoint a PDF con Diapositivas Ocultas** -Este código Python te muestra cómo convertir una presentación de PowerPoint a PDF con las diapositivas ocultas incluidas: +Si una presentación contiene diapositivas ocultas, puedes usar una opción personalizada —la propiedad `show_hidden_slides` de la clase [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)— para indicar a Aspose.Slides que incluya las diapositivas ocultas como páginas en el PDF resultante. +Este código Python muestra cómo convertir una presentación de PowerPoint a PDF con diapositivas ocultas incluidas: ```python import aspose.slides as slides -# Instancia una clase Presentation que representa un archivo de PowerPoint +# Instancia una clase Presentation que representa un archivo PowerPoint presentation = slides.Presentation("PowerPoint.pptx") # Instancia la clase PdfOptions pdfOptions = slides.export.PdfOptions() -# Agrega diapositivas ocultas +# Añade diapositivas ocultas pdfOptions.show_hidden_slides = True -# Guarda la presentación como un PDF -presentation.save("PowerPoint-a-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) +# Guarda la presentación como PDF +presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### **Convertir PowerPoint a PDF Protegido con Contraseña** -Este código Python te muestra cómo convertir un PowerPoint a un PDF protegido con contraseña (usando parámetros de protección de la clase [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)): +### **Convertir PowerPoint a PDF Protegido con Contraseña** +Este código Python muestra cómo convertir un PowerPoint a un PDF protegido con contraseña (usando parámetros de protección de la clase [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)): ```python import aspose.slides as slides -# Instancia un objeto Presentation que representa un archivo de PowerPoint +# Instancia un objeto Presentation que representa un archivo PowerPoint presentation = slides.Presentation("PowerPoint.pptx") # Instancia la clase PdfOptions pdfOptions = slides.export.PdfOptions() -# Establece la contraseña del PDF y permisos de acceso -pdfOptions.password = "contraseña" +# Establece la contraseña del PDF y los permisos de acceso +pdfOptions.password = "password" pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT -# Guarda la presentación como un PDF -presentation.save("PPTX-a-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) +# Guarda la presentación como PDF +presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### Detectar Sustituciones de Fuentes** -Aspose.Slides proporciona la propiedad `warning_callback` bajo la clase [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/) para permitirte detectar sustituciones de fuentes en un proceso de conversión de presentación a PDF. +### **Detectar Sustituciones de Fuentes** -Este código Python te muestra cómo detectar sustituciones de fuentes: +Aspose.Slides proporciona la propiedad `warning_callback` bajo la clase [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/) para permitirte detectar sustituciones de fuentes en el proceso de conversión de presentación a PDF. +Este código Python muestra cómo detectar sustituciones de fuentes: ```python -[TODO[SLIDESPYNET-91]: los callbacks no son compatibles por ahora] +[TODO[SLIDESPYNET-91]: callbacks are not supported for now] ``` -{{% alert color="primary" %}} -Para obtener más información sobre sustituciones de fuentes, consulta el artículo sobre [Sustitución de Fuentes](https://docs.aspose.com/slides/python-net/font-substitution/). +{{% alert color="primary" %}} + +Para más información sobre sustitución de fuentes, consulta el artículo [Sustitución de fuentes](https://docs.aspose.com/slides/python-net/font-substitution/). {{% /alert %}} ## **Convertir Diapositivas Seleccionadas en PowerPoint a PDF** -Este código Python te muestra cómo convertir diapositivas específicas en una presentación de PowerPoint a PDF: - +Este código Python muestra cómo convertir diapositivas específicas de una presentación de PowerPoint a PDF: ```python import aspose.slides as slides -# Instancia un objeto Presentation que representa un archivo de PowerPoint +# Instancia un objeto Presentation que representa un archivo PowerPoint presentation = slides.Presentation("PowerPoint.pptx") -# Establece un arreglo de posiciones de diapositivas +# Establece una matriz de posiciones de diapositivas slides_array = [ 1, 3 ] -# Guarda la presentación como un PDF -presentation.save("PPTX-a-PDF.pdf", slides_array, slides.export.SaveFormat.PDF) +# Guarda la presentación como PDF +presentation.save("PPTX-to-PDF.pdf", slides_array, slides.export.SaveFormat.PDF) ``` -## **Convertir PowerPoint a PDF con Tamaño de Diapositiva Personalizado** -Este código Python te muestra cómo convertir un PowerPoint cuando su tamaño de diapositiva está especificado a un PDF: +## **Convertir PowerPoint a PDF con Tamaño de Diapositiva Personalizado** +Este código Python muestra cómo convertir un PowerPoint cuando su tamaño de diapositiva está especificado a PDF: ```python import aspose.slides as slides -# Instancia un objeto Presentation que representa un archivo de PowerPoint -presentation = slides.Presentation("DiapositivasSeleccionadas.pptx") -auxPresentation = slides.Presentation() +slide_width = 612 +slide_height = 792 -slide = presentation.slides[0] +# Instanciar la clase Presentation que representa un archivo PowerPoint o OpenDocument. +with slides.Presentation("SelectedSlides.pptx") as presentation: -auxPresentation.slides.insert_clone(0, slide) + # Crear una nueva presentación con un tamaño de diapositiva ajustado. + with slides.Presentation() as resized_presentation: -# Establece el tipo y tamaño de la diapositiva -auxPresentation.slide_size.set_size(612, 792, slides.SlideSizeScaleType.ENSURE_FIT) + # Establecer el tamaño de diapositiva personalizado. + resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT) -pdfOptions = slides.export.PdfOptions() -pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL + # Clonar la primera diapositiva de la presentación original. + slide = presentation.slides[0] + resized_presentation.slides.insert_clone(0, slide) -auxPresentation.save("PDFnotas_salida.pdf", slides.export.SaveFormat.PDF, pdfOptions) + # Guardar la presentación redimensionada en un PDF con notas. + resized_presentation.save("PDF_with_notes.pdf", slides.export.SaveFormat.PDF) ``` -## **Convertir PowerPoint a PDF en Vista de Diapositivas de Notas** -Este código Python te muestra cómo convertir un PowerPoint a PDF notas: +## **Convertir PowerPoint a PDF en Vista de Notas de Diapositiva** +Este código Python muestra cómo convertir un PowerPoint a PDF con notas: ```python import aspose.slides as slides -# Instancia una clase Presentation que representa un archivo de PowerPoint -presentation = slides.Presentation("ArchivoNotas.pptx") +# Instancia una clase Presentation que representa un archivo PowerPoint +presentation = slides.Presentation("NotesFile.pptx") pdfOptions = slides.export.PdfOptions() pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL -# Guarda la presentación a PDF notas -presentation.Save("Pdf_Notas_salida.tiff", slides.export.SaveFormat.PDF, pdfOptions) +# Guarda la presentación con notas en PDF +presentation.Save("Pdf_Notes_out.tiff", slides.export.SaveFormat.PDF, pdfOptions) ``` -## **Estándares de Accesibilidad y Cumplimiento para PDF** -Aspose.Slides te permite usar un procedimiento de conversión que cumple con las [Directrices de Accesibilidad para el Contenido Web (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Puedes exportar un documento de PowerPoint a PDF usando cualquiera de estos estándares de cumplimiento: **PDF/A1a**, **PDF/A1b** y **PDF/UA**. +## **Accesibilidad y Normas de Cumplimiento para PDF** -Este código Python demuestra una operación de conversión de PowerPoint a PDF en la que se obtienen múltiples PDFs basados en diferentes estándares de cumplimiento: +Aspose.Slides te permite usar un procedimiento de conversión que cumple con las [Directrices de Accesibilidad de Contenido Web (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Puedes exportar un documento PowerPoint a PDF usando cualquiera de estas normas de cumplimiento: **PDF/A1a**, **PDF/A1b** y **PDF/UA**. +Este código Python muestra una operación de conversión de PowerPoint a PDF en la que se obtienen varios PDFs basados en diferentes normas de cumplimiento: ```python import aspose.slides as slides @@ -263,17 +264,58 @@ pres = slides.Presentation("pres.pptx") options = slides.export.PdfOptions() options.compliance = slides.export.PdfCompliance.PDF_A1A -pres.save("pres-a1a-cumplimiento.pdf", slides.export.SaveFormat.PDF, options) +pres.save("pres-a1a-compliance.pdf", slides.export.SaveFormat.PDF, options) options.compliance = slides.export.PdfCompliance.PDF_A1B -pres.save("pres-a1b-cumplimiento.pdf", slides.export.SaveFormat.PDF, options) +pres.save("pres-a1b-compliance.pdf", slides.export.SaveFormat.PDF, options) options.compliance = slides.export.PdfCompliance.PDF_UA -pres.save("pres-ua-cumplimiento.pdf", slides.export.SaveFormat.PDF, options) +pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options) ``` + {{% alert title="Nota" color="warning" %}} -El soporte de Aspose.Slides para operaciones de conversión de PDF se extiende a permitirte convertir PDF a los formatos de archivo más populares. Puedes hacer conversiones de [PDF a HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/), [PDF a imagen](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/), [PDF a JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/), y [PDF a PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/). Otras operaciones de conversión de PDF a formatos especializados—[PDF a SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/), [PDF a TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/), y [PDF a XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/)—también están soportadas. +El soporte de Aspose.Slides para operaciones de conversión a PDF se extiende a permitirte convertir PDF a los formatos de archivo más populares. Puedes realizar conversiones de [PDF a HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/), [PDF a imagen](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/), [PDF a JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/), y [PDF a PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/). Otras operaciones de conversión a formatos especializados—[PDF a SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/), [PDF a TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/), y [PDF a XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/)—también son compatibles. + +{{% /alert %}} + +## **Preguntas frecuentes** + +**¿Puede Aspose.Slides para Python eliminar la información de la aplicación del PDF?** + +No, Aspose.Slides para Python incluye automáticamente la información de la API y el número de versión en el PDF de salida. Esta información no puede modificarse ni eliminarse. + +**¿Cómo incluyo solo diapositivas específicas en la conversión a PDF?** + +Puedes especificar los índices de diapositivas que deseas convertir pasando una matriz de posiciones de diapositivas al método `save`. + +**¿Es posible proteger el PDF con contraseña durante la conversión?** + +Sí, puedes establecer una contraseña y definir permisos de acceso usando la clase `PdfOptions` antes de guardar la presentación como PDF. + +**¿Aspose.Slides admite la conversión de PDF a otros formatos?** + +Sí, Aspose.Slides admite la conversión de PDFs a formatos como HTML, formatos de imagen (JPG, PNG), SVG, TIFF y XML. + +**¿Cómo puedo asegurar que mi PDF cumpla con las normas de accesibilidad?** + +Establece la propiedad `compliance` en `PdfOptions` a normas como `PDF_A1A`, `PDF_A1B` o `PDF_UA` para garantizar el cumplimiento con las directrices de accesibilidad. + +**¿Puedo incluir diapositivas ocultas en el PDF resultante?** + +Sí, configurando la propiedad `show_hidden_slides` en `PdfOptions` a `True`, las diapositivas ocultas se incluirán en el PDF. + +**¿Cómo ajusto la calidad y resolución de imagen durante la conversión?** + +Utiliza las propiedades `jpeg_quality` y `sufficient_resolution` en `PdfOptions` para controlar la calidad y resolución de las imágenes en el PDF resultante. + +**¿Aspose.Slides maneja automáticamente las sustituciones de fuentes?** + +Aspose.Slides detecta sustituciones de fuentes durante la conversión, y puedes gestionarlas usando la propiedad `warning_callback` en `SaveOptions` (actualmente con limitaciones). + +## **Recursos adicionales** -{{% /alert %}} \ No newline at end of file +- [Documentación de Aspose.Slides para .NET](https://docs.aspose.com/slides/python-net/) +- [Referencia de API de Aspose.Slides](https://reference.aspose.com/slides/python-net/) +- [Convertidores en línea gratuitos de Aspose](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index ddb9bc238f..5f94dd7e2b 100644 --- a/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/es/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -11,18 +11,18 @@ keywords: - presentación - Python - Aspose.Slides -description: "Convierta presentaciones PPT heredadas a PPTX modernas rápidamente en Python con Aspose.Slides — tutorial claro, ejemplos de código gratuitos, sin dependencia de Microsoft Office." +description: "Convierta presentaciones PPT heredadas a PPTX modernos rápidamente en Python con Aspose.Slides — tutorial claro, ejemplos de código gratuitos, sin dependencia de Microsoft Office." --- -## **Descripción general** +## **Visión general** -Este artículo explica cómo convertir una presentación de PowerPoint en formato PPT a formato PPTX usando Python y una aplicación en línea de conversión de PPT a PPTX. El tema que se cubre a continuación es: +Este artículo explica cómo convertir una presentación de PowerPoint en formato PPT a formato PPTX utilizando Python y una aplicación en línea de conversión de PPT a PPTX. El tema siguiente se cubre: - Convertir PPT a PPTX con Python ## **Python Convertir PPT a PPTX** -Para el código de ejemplo en Python que convierte PPT a PPTX, consulte la sección a continuación, es decir, [Convertir PPT a PPTX](#convert-ppt-to-pptx). Simplemente carga el archivo PPT y lo guarda en formato PPTX. Al especificar diferentes formatos de guardado, también puede guardar un archivo PPT en muchos otros formatos como PDF, XPS, ODP, HTML, etc., como se discute en estos artículos: +Para obtener código de ejemplo en Python para convertir PPT a PPTX, consulte la sección a continuación, es decir, [Convertir PPT a PPTX](#convert-ppt-to-pptx). Simplemente carga el archivo PPT y lo guarda en formato PPTX. Al especificar diferentes formatos de guardado, también puede guardar un archivo PPT en muchos otros formatos como PDF, XPS, ODP, HTML, etc., como se discute en estos artículos: - [Python Convertir PPT a PDF](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-pdf/) - [Python Convertir PPT a XPS](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/) @@ -32,30 +32,30 @@ Para el código de ejemplo en Python que convierte PPT a PPTX, consulte la secci ## **Acerca de la conversión de PPT a PPTX** -Convierta el formato PPT antiguo a PPTX con la API Aspose.Slides. Si necesita convertir miles de presentaciones PPT a formato PPTX, la mejor solución es hacerlo programáticamente. Con la API Aspose.Slides, es posible hacerlo en solo unas pocas líneas de código. La API admite compatibilidad total para convertir una presentación PPT a PPTX, y es posible: +Convierta el formato PPT antiguo a PPTX con Aspose.Slides API. Si necesita convertir miles de presentaciones PPT a formato PPTX, la mejor solución es hacerlo programáticamente. Con Aspose.Slides API, es posible hacerlo en solo unas pocas líneas de código. La API admite compatibilidad total para convertir una presentación PPT a PPTX, y es posible: -- Convertir estructuras complejas de maestros, diseños y diapositivas. +- Convertir estructuras complejas de masters, diseños y diapositivas. - Convertir una presentación con gráficos. - Convertir una presentación con formas agrupadas, autoformas (como rectángulos y elipses) y formas con geometría personalizada. -- Convertir una presentación que tenga texturas y estilos de relleno de imagen para autoformas. -- Convertir una presentación con marcadores de posición, marcos de texto y contenedores de texto. +- Convertir una presentación que tiene texturas y estilos de relleno de imagen para autoformas. +- Convertir una presentación con marcadores de posición, marcos de texto y portadores de texto. {{% alert color="primary" %}} -Eche un vistazo a la aplicación **Aspose.Slides PPT to PPTX Conversion**: +Eche un vistazo a la aplicación [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) : [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -Esta aplicación está construida sobre la **API Aspose.Slides**, por lo que podrá ver un ejemplo en vivo de las capacidades básicas de conversión de PPT a PPTX. Aspose.Slides Conversion es una aplicación web que le permite arrastrar un archivo de presentación en formato PPT y descargarlo convertido a PPTX. +Esta aplicación está construida sobre la **Aspose.Slides API**, por lo que puede ver un ejemplo en vivo de las capacidades básicas de conversión de PPT a PPTX. Aspose.Slides Conversion es una aplicación web que le permite arrastrar un archivo de presentación en formato PPT y descargarlo convertido a PPTX. -Encuentre otros ejemplos en vivo de **Aspose.Slides Conversion**. +Encuentre otros ejemplos en vivo de [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) . {{% /alert %}} ## **Convertir PPT a PPTX** -Para convertir un PPT a PPTX, simplemente pase el nombre del archivo y el formato de guardado al método [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) de la clase [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). El ejemplo de código Python a continuación convierte una presentación de PPT a PPTX usando opciones predeterminadas. +Para convertir un PPT a PPTX, simplemente pase el nombre del archivo y el formato de guardado al método [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) de la clase [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). El ejemplo de código Python a continuación convierte una presentación de PPT a PPTX utilizando las opciones predeterminadas. ```python import aspose.slides as slides @@ -67,38 +67,34 @@ pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` -Lea más sobre los formatos de presentación **PPT vs PPTX** y cómo **Aspose.Slides admite la conversión de PPT a PPTX**. +Lea más sobre los formatos de presentación [**PPT vs PPTX**](/slides/es/python-net/ppt-vs-pptx/) y cómo [**Aspose.Slides soporta la conversión de PPT a PPTX**](/slides/es/python-net/convert-ppt-to-pptx/). -## Preguntas frecuentes +## **Preguntas frecuentes** -### **¿Cuál es la diferencia entre los formatos PPT y PPTX?** +**¿Cuál es la diferencia entre los formatos PPT y PPTX?** -PPT es el formato binario antiguo utilizado por Microsoft PowerPoint, mientras que PPTX es el formato basado en XML introducido con Microsoft Office 2007. Los archivos PPTX ofrecen mejor rendimiento, menor tamaño de archivo y una recuperación de datos mejorada. +PPT es el formato de archivo binario más antiguo utilizado por Microsoft PowerPoint, mientras que PPTX es el formato basado en XML más reciente introducido con Microsoft Office 2007. Los archivos PPTX ofrecen mejor rendimiento, tamaño de archivo reducido y recuperación de datos mejorada. -### **¿Puedo convertir PPT a PPTX usando Python?** +**¿Puedo convertir PPT a PPTX usando Python?** -Sí, utilizando la biblioteca Aspose.Slides para Python mediante .NET, puede cargar fácilmente un archivo PPT y guardarlo en formato PPTX con solo unas pocas líneas de código. +Sí, utilizando la biblioteca Aspose.Slides para Python a través de .NET, puede cargar fácilmente un archivo PPT y guardarlo en formato PPTX con solo unas pocas líneas de código. -### **¿Es necesario Aspose.Slides para Python mediante .NET para la conversión de PPT a PPTX?** +**¿Aspose.Slides admite la conversión por lotes de varios archivos PPT a PPTX?** -Sí, la API Aspose.Slides proporciona los métodos y clases necesarios para convertir, manipular y guardar presentaciones de PowerPoint programáticamente sin depender de Microsoft PowerPoint. +Sí, puede usar Aspose.Slides en un bucle para convertir varios archivos PPT a PPTX de forma programática, lo que lo hace adecuado para escenarios de conversión por lotes. -### **¿Aspose.Slides admite la conversión por lotes de varios archivos PPT a PPTX?** - -Sí, puede usar Aspose.Slides en un bucle para convertir múltiples archivos PPT a PPTX programáticamente, lo que lo hace adecuado para escenarios de conversión por lotes. - -### **¿Se preservarán el contenido y el formato después de la conversión?** +**¿Se mantendrán el contenido y el formato después de la conversión?** Aspose.Slides mantiene una alta fidelidad al convertir presentaciones. Los diseños de diapositivas, animaciones, formas, gráficos y otros elementos de diseño se conservan durante la conversión de PPT a PPTX. -### **¿Puedo convertir otros formatos como PDF o HTML desde archivos PPT?** +**¿Puedo convertir otros formatos como PDF o HTML a partir de archivos PPT?** Sí, Aspose.Slides admite la conversión de archivos PPT a varios formatos, incluidos PDF, XPS, HTML, ODP y formatos de imagen como PNG y JPEG. -### **¿Es posible convertir PPT a PPTX sin tener Microsoft PowerPoint instalado?** +**¿Es posible convertir PPT a PPTX sin tener Microsoft PowerPoint instalado?** -Sí, Aspose.Slides para Python mediante .NET es una API independiente y no requiere Microsoft PowerPoint ni ningún software de terceros para realizar la conversión. +Sí, Aspose.Slides para Python a través de .NET es una API independiente y no requiere Microsoft PowerPoint ni ningún software de terceros para realizar la conversión. -### **¿Existe una herramienta en línea disponible para la conversión de PPT a PPTX?** +**¿Existe una herramienta en línea disponible para la conversión de PPT a PPTX?** -Sí, puede usar la aplicación web gratuita **Aspose.Slides PPT to PPTX Converter** (https://products.aspose.app/slides/conversion/ppt-to-pptx) para realizar la conversión directamente en su navegador sin escribir código. \ No newline at end of file +Sí, puede usar la aplicación web gratuita [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) para realizar la conversión directamente en su navegador sin escribir código. diff --git a/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..2f89b670cd --- /dev/null +++ b/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "Generación automatizada de presentaciones PowerPoint en Python: cree presentaciones dinámicas fácilmente" +linktitle: Generación automatizada de PowerPoint +type: docs +weight: 20 +url: /es/python-net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plataformas en la nube +- automatizar generación de PowerPoint +- generar presentaciones programáticamente +- automatización de PowerPoint +- creación dinámica de diapositivas +- informes empresariales automatizados +- automatización PPT +- presentación Python +- Python +- Aspose.Slides +description: "Automatice la creación de diapositivas en plataformas en la nube con Aspose.Slides para Python: genere, edite y convierta archivos PowerPoint y OpenDocument rápida y confiablemente." +--- + +## **Introducción** + +Crear presentaciones de PowerPoint manualmente puede ser una tarea que consume tiempo y es repetitiva, especialmente cuando el contenido se basa en datos dinámicos que cambian con frecuencia. Ya sea generando informes empresariales semanales, reuniendo material educativo o produciendo presentaciones de ventas listas para el cliente, la automatización puede ahorrar innumerables horas y garantizar coherencia entre equipos. + +Para los desarrolladores de Python, automatizar la creación de presentaciones de PowerPoint abre poderosas posibilidades. Puede integrar la generación de diapositivas en portales web, herramientas de escritorio, servicios de backend o plataformas en la nube para convertir datos dinámicamente en presentaciones profesionales y con marca, bajo demanda. + +En este artículo exploraremos los casos de uso comunes para la generación automatizada de PowerPoint en aplicaciones Python (incluyendo implementaciones en plataformas en la nube) y por qué se está convirtiendo en una característica esencial en las soluciones modernas. Desde extraer datos empresariales en tiempo real hasta convertir texto o imágenes en diapositivas, el objetivo es transformar contenido bruto en formatos visuales estructurados que su audiencia pueda comprender al instante. + +## **Casos de uso comunes para la automatización de PowerPoint en Python** + +La generación automatizada de PowerPoint es especialmente útil en escenarios donde el contenido de la presentación debe ensamblarse dinámicamente, personalizarse o actualizarse con frecuencia. Algunos de los casos de uso reales más comunes incluyen: + +- **Informes y paneles de negocio** + Generar resúmenes de ventas, KPIs o informes de rendimiento financiero extrayendo datos en vivo de bases de datos o API. + +- **Presentaciones de ventas y marketing personalizadas** + Crear automáticamente presentaciones de pitch específicas para cada cliente usando datos de CRM o formularios, garantizando rapidez y consistencia de marca. + +- **Contenido educativo** + Convertir material de aprendizaje, cuestionarios o resúmenes de cursos en presentaciones estructuradas para plataformas de e‑learning. + +- **Información impulsada por datos e IA** + Utilizar procesamiento de lenguaje natural o motores analíticos para transformar datos crudos o textos extensos en presentaciones resumidas. + +- **Diapositivas basadas en medios** + Armar presentaciones a partir de imágenes subidas, capturas de pantalla anotadas o fotogramas de video con descripciones de apoyo. + +- **Conversión de documentos** + Convertir automáticamente documentos Word, PDFs o entradas de formularios en presentaciones visuales con mínimo esfuerzo manual. + +- **Herramientas para desarrolladores y técnicas** + Crear demos técnicas, vistas generales de documentación o registros de cambios en formato de diapositivas directamente desde código o contenido markdown. + +Al automatizar estos flujos de trabajo, las organizaciones pueden escalar la creación de contenido, mantener la consistencia y liberar tiempo para trabajo más estratégico. + +## **Vamos a programar** + +Para este ejemplo, hemos elegido **[Aspose.Slides for Python](https://products.aspose.com/slides/python-net/)** para demostrar la automatización de PowerPoint debido a su conjunto de funciones exhaustivo y facilidad de uso al trabajar programáticamente con presentaciones. + +A diferencia de las bibliotecas de bajo nivel, que obligan a los desarrolladores a trabajar directamente con la estructura Open XML (lo que suele generar código verboso y menos legible), Aspose.Slides ofrece una API de alto nivel. Abstrae la complejidad, permitiendo a los desarrolladores centrarse en la lógica de la presentación—como diseño, formato y enlace de datos—sin necesidad de comprender a fondo el formato de archivo de PowerPoint. + +Aunque Aspose.Slides es una biblioteca comercial, ofrece una [prueba gratuita](https://releases.aspose.com/slides/python-net/) que es totalmente capaz de ejecutar los ejemplos proporcionados en este artículo. Para el propósito de demostrar ideas, probar funciones o construir una prueba de concepto como la que cubrimos aquí, la versión de prueba es más que suficiente. Esto la convierte en una opción conveniente para experimentar con la generación automatizada de PowerPoint sin necesidad de adquirir una licencia de inmediato. + +Bien, repasemos la creación de una presentación de ejemplo usando contenido del mundo real. + +### **Crear una diapositiva de título** + +Comenzaremos creando una nueva presentación y añadiendo una diapositiva de título con un encabezado principal y subtítulo. +```py +import aspose.slides as slides +import aspose.slides.charts as charts +import aspose.pydrawing as draw + +with slides.Presentation() as presentation: + + slide_0 = presentation.slides[0] + slide_0.layout_slide = presentation.layout_slides.get_by_type(slides.SlideLayoutType.TITLE) + + title_shape = slide_0.shapes[0] + subtitle_shape = slide_0.shapes[1] + + title_shape.text_frame.text = "Quarterly Business Review – Q1 2025" + subtitle_shape.text_frame.text = "Prepared for Executive Team" +``` + + +![La diapositiva de título](slide_0.png) + +### **Añadir una diapositiva con un gráfico de columnas** + +A continuación, crearemos una diapositiva que muestre el rendimiento de ventas regional como un gráfico de columnas. +```py +layout_slide_1 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_1 = presentation.slides.add_empty_slide(layout_slide_1) + +chart = slide_1.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350, False) +chart.legend.position = charts.LegendPositionType.BOTTOM +chart.has_title = True +chart.chart_title.add_text_frame_for_overriding("Data from January – March 2025") +chart.chart_title.overlay = False + +workbook = chart.chart_data.chart_data_workbook +worksheet_index = 0 + +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 1, 0, "North America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 2, 0, "Europe")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 3, 0, "Asia Pacific")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 4, 0, "Latin America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 5, 0, "Middle East")) + +series = chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 1, "Sales ($K)"), chart.type) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 1, 480)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 1, 365)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 1, 290)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 4, 1, 150)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 5, 1, 120)) +``` + + +![La diapositiva con el gráfico](slide_1.png) + +### **Añadir una diapositiva con una tabla** + +Ahora añadiremos una diapositiva que presente métricas clave de rendimiento en formato de tabla. +```py +layout_slide_2 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_2 = presentation.slides.add_empty_slide(layout_slide_2) + +column_widths = [200, 100] +row_heights = [40, 40, 40, 40, 40] + +table = slide_2.shapes.add_table(200, 200, column_widths, row_heights) +table.columns[0][0].text_frame.text = "Metric" +table.columns[1][0].text_frame.text = "Value" +table.columns[0][1].text_frame.text = "Total Revenue" +table.columns[1][1].text_frame.text = "$1.4M" +table.columns[0][2].text_frame.text = "Gross Margin" +table.columns[1][2].text_frame.text = "54%" +table.columns[0][3].text_frame.text = "New Customers" +table.columns[1][3].text_frame.text = "340" +table.columns[0][4].text_frame.text = "Customer Retention" +table.columns[1][4].text_frame.text = "87%" +``` + + +![La diapositiva con la tabla](slide_2.png) + +### **Añadir una diapositiva de resumen con viñetas** + +Por último, incluiremos un resumen y plan de acción usando una lista simple de viñetas. +```py +def create_bullet_paragraph(text): + paragraph = slides.Paragraph() + paragraph.paragraph_format.bullet.type = slides.BulletType.SYMBOL + paragraph.paragraph_format.indent = 15 + paragraph.paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID + paragraph.paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.black + paragraph.text = text + return paragraph +``` + +```py +layout_slide_3 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_3 = presentation.slides.add_empty_slide(layout_slide_3) + +bullet_list = slide_3.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 50, 600, 200) +bullet_list.fill_format.fill_type = slides.FillType.NO_FILL +bullet_list.line_format.fill_format.fill_type = slides.FillType.NO_FILL + +bullet_list.text_frame.paragraphs.clear() +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Strong performance in North America; growth opportunity in Asia Pacific")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Improve marketing outreach in underperforming regions")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Prepare new campaign strategy for Q2")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Schedule follow-up review in early July")) +``` + + +![La diapositiva con el texto](slide_3.png) + +### **Guardar la presentación** + +Finalmente, guardamos la presentación en disco: +```py +presentation.save("presentation.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **Conclusión** + +Automatizar la generación de PowerPoint en aplicaciones Python ofrece claros beneficios al ahorrar tiempo y reducir el esfuerzo manual. Al integrar contenido dinámico como gráficos, tablas y texto, los desarrolladores pueden producir rápidamente presentaciones consistentes y profesionales—ideales para informes empresariales, reuniones con clientes o contenido educativo. + +En este artículo, hemos demostrado cómo automatizar la creación de una presentación desde cero, incluyendo la adición de una diapositiva de título, gráficos y tablas. Este enfoque puede aplicarse a diversos casos de uso donde se necesiten presentaciones automatizadas y basadas en datos. + +Al aprovechar las herramientas adecuadas, los desarrolladores de Python pueden automatizar eficientemente la creación de PowerPoint, mejorando la productividad y garantizando la coherencia entre presentaciones. \ No newline at end of file diff --git a/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/es/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..cc062d1824 --- /dev/null +++ b/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Automatiser la génération de PowerPoint sur Android : créer facilement des présentations dynamiques" +linktitle: Automatiser la génération de PowerPoint +type: docs +weight: 20 +url: /fr/androidjava/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plateformes cloud +- automatiser la génération de PowerPoint +- générer des présentations de façon programmatique +- automatisation PowerPoint +- création dynamique de diapositives +- rapports d'entreprise automatisés +- automatisation PPT +- présentation Android +- Java +- Aspose.Slides +description: "Automatisez la création de diapositives sur les plateformes cloud avec Aspose.Slides for Android — générez, éditez et convertissez rapidement et de manière fiable les fichiers PowerPoint et OpenDocument." +--- + +## **Introduction** + +Créer des présentations PowerPoint manuellement peut être une tâche chronophage et répétitive—surtout lorsque le contenu provient de données dynamiques qui changent fréquemment. Que ce soit pour générer des rapports d’affaires hebdomadaires, assembler du matériel pédagogique ou produire des présentations commerciales prêtes pour le client, l’automatisation peut faire gagner d’innombrables heures et garantir la cohérence entre les équipes. + +Pour les développeurs Android, automatiser la création de présentations PowerPoint ouvre de puissantes possibilités. Vous pouvez intégrer la génération de diapositives dans des portails web, des outils de bureau, des services back‑end ou des plateformes cloud afin de convertir dynamiquement des données en présentations professionnelles et personnalisées—à la demande. + +Dans cet article, nous explorerons les cas d’usage courants de la génération automatisée de PowerPoint dans les applications Android (y compris les déploiements sur des plateformes cloud) et pourquoi cela devient une fonctionnalité essentielle dans les solutions modernes. De l’extraction de données d’entreprise en temps réel à la conversion de texte ou d’images en diapositives, l’objectif est de transformer du contenu brut en formats visuels structurés que votre audience comprend instantanément. + +## **Cas d’utilisation courants de l’automatisation PowerPoint sur Android** + +L’automatisation de la génération PowerPoint est particulièrement utile dans les scénarios où le contenu d’une présentation doit être assemblé dynamiquement, personnalisé ou fréquemment mis à jour. Parmi les cas d’usage réels les plus fréquents figurent : + +- **Rapports d’entreprise et tableaux de bord** + Générer des résumés de ventes, des KPI ou des rapports de performance financière en extrayant des données en direct depuis des bases de données ou des API. + +- **Présentations commerciales et marketing personnalisées** + Créer automatiquement des pitch decks spécifiques à chaque client à partir de données CRM ou de formulaires, assurant rapidité et cohérence de la marque. + +- **Contenu éducatif** + Convertir du matériel d’apprentissage, des questionnaires ou des résumés de cours en présentations structurées pour des plateformes d‑e‑learning. + +- **Insights alimentés par les données et l’IA** + Utiliser le traitement du langage naturel ou des moteurs analytiques pour transformer des données brutes ou des textes longs en présentations résumées. + +- **Diapositives basées sur les médias** + Composer des présentations à partir d’images téléchargées, de captures d’écran annotées ou de cadres clés vidéo avec des descriptions d’accompagnement. + +- **Conversion de documents** + Convertir automatiquement des documents Word, des PDF ou des entrées de formulaire en présentations visuelles avec un effort manuel minimal. + +- **Outils pour développeurs et techniciens** + Créer des démos techniques, des aperçus de documentation ou des changelogs sous forme de diapositives directement depuis du code ou du markdown. + +En automatisant ces flux de travail, les organisations peuvent augmenter leur capacité de création de contenu, maintenir la cohérence et libérer du temps pour des activités plus stratégiques. + +## **Passons au code** + +Pour cet exemple, nous avons choisi **[Aspose.Slides for Android](https://products.aspose.com/slides/android-java/)** afin de démontrer l’automatisation PowerPoint grâce à son ensemble complet de fonctionnalités et à sa facilité d’utilisation lorsqu’on travaille avec des présentations de manière programmatique. + +Contrairement aux bibliothèques de bas niveau, qui obligent les développeurs à manipuler directement la structure Open XML (souvent source de code verbeux et difficile à lire), Aspose.Slides propose une API de haut niveau. Elle masque la complexité, permettant aux développeurs de se concentrer sur la logique de la présentation—telle que la mise en page, le formatage et la liaison des données—sans devoir maîtriser le format de fichier PowerPoint en détail. + +Bien qu’Aspose.Slides soit une bibliothèque commerciale, elle propose une version d’[essai gratuit](https://releases.aspose.com/slides/androidjava/) pleinement capable d’exécuter les exemples présentés dans cet article. Pour illustrer des idées, tester des fonctionnalités ou réaliser une preuve de concept comme celle que nous couvrons ici, l’essai est largement suffisant. Ainsi, c’est une option pratique pour expérimenter l’automatisation PowerPoint sans devoir acquérir immédiatement une licence. + +Passons maintenant à la création d’une présentation d’exemple en utilisant du contenu réel. + +### **Créer une diapositive titre** + +Nous commençons par créer une nouvelle présentation et ajouter une diapositive titre avec un titre principal et un sous‑titre. +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![The title slide](slide_0.png) + +### **Ajouter une diapositive avec un graphique en colonnes** + +Ensuite, nous créons une diapositive affichant les performances de ventes régionales sous forme de graphique en colonnes. +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![The slide with the chart](slide_1.png) + +### **Ajouter une diapositive avec un tableau** + +Nous ajoutons maintenant une diapositive présentant les principaux indicateurs de performance sous forme de tableau. +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![The slide with the table](slide_2.png) + +### **Ajouter une diapositive de synthèse avec des puces** + +Enfin, nous incluons une diapositive de synthèse et de plan d’action à l’aide d’une simple liste à puces. +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![The slide with the text](slide_3.png) + +### **Enregistrer la présentation** + +Enfin, nous enregistrons la présentation sur le disque : +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Conclusion** + +L’automatisation de la génération PowerPoint dans les applications Android offre des avantages clairs en termes d’économie de temps et de réduction des efforts manuels. En intégrant du contenu dynamique tel que des graphiques, des tableaux et du texte, les développeurs peuvent rapidement produire des présentations cohérentes et professionnelles—idéales pour les rapports d’affaires, les réunions clients ou le contenu éducatif. + +Dans cet article, nous avons démontré comment automatiser la création d’une présentation à partir de zéro, en ajoutant une diapositive titre, des graphiques et des tableaux. Cette approche peut être appliquée à de nombreux cas d’usage où des présentations automatisées et pilotées par les données sont requises. + +En tirant parti des bons outils, les développeurs Android peuvent automatiser efficacement la création de PowerPoint, améliorant ainsi la productivité et assurant la cohérence des présentations. \ No newline at end of file diff --git a/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/fr/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..cfd8fbd159 --- /dev/null +++ b/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Automatisation de la génération de PowerPoint en C++: créez facilement des présentations dynamiques" +linktitle: Automatisation de la génération de PowerPoint +type: docs +weight: 20 +url: /fr/cpp/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plateformes cloud +- automatiser la génération de PowerPoint +- générer des présentations programmatiquement +- automatisation de PowerPoint +- création dynamique de diapositives +- rapports d'entreprise automatisés +- automatisation PPT +- présentation C++ +- C++ +- Aspose.Slides +description: "Automatisez la création de diapositives sur les plateformes cloud avec Aspose.Slides pour C++—générez, modifiez et convertissez rapidement et de manière fiable les fichiers PowerPoint et OpenDocument." +--- + +## **Introduction** + +Créer des présentations PowerPoint manuellement peut être une tâche chronophage et répétitive—surtout lorsque le contenu repose sur des données dynamiques qui changent fréquemment. Qu'il s'agisse de générer des rapports d'activité hebdomadaires, d'assembler du matériel pédagogique ou de produire des présentations commerciales prêtes pour les clients, l'automatisation peut faire gagner d'innombrables heures et garantir la cohérence entre les équipes. + +Pour les développeurs C++, automatiser la création de présentations PowerPoint ouvre de puissantes possibilités. Vous pouvez intégrer la génération de diapositives dans des portails web, des outils de bureau, des services back‑end ou des plateformes cloud afin de convertir dynamiquement les données en présentations professionnelles et brandées—à la demande. + +Dans cet article, nous explorerons les cas d’utilisation courants de la génération automatisée de PowerPoint dans les applications C++ (y compris les déploiements sur les plateformes cloud) et pourquoi cela devient une fonctionnalité essentielle des solutions modernes. De l'extraction de données commerciales en temps réel à la conversion de texte ou d'images en diapositives, l'objectif est de transformer un contenu brut en formats visuels structurés que votre audience peut comprendre instantanément. + +## **Cas d’utilisation courants de l’automatisation PowerPoint en C++** + +L’automatisation de la génération de PowerPoint est particulièrement utile dans les scénarios où le contenu des présentations doit être assemblé dynamiquement, personnalisé ou mis à jour fréquemment. Voici quelques-uns des cas d’utilisation réels les plus courants : + +- **Rapports d’entreprise et tableaux de bord** + Générer des résumés de ventes, des indicateurs clés de performance ou des rapports de performance financière en extrayant des données en direct depuis des bases de données ou des API. + +- **Présentations commerciales et marketing personnalisées** + Créer automatiquement des présentations de pitch spécifiques à chaque client à l’aide des données CRM ou de formulaires, assurant une rapidité d’exécution et une cohérence de la marque. + +- **Contenu éducatif** + Convertir du matériel d’apprentissage, des quiz ou des résumés de cours en présentations structurées pour les plateformes d‑e‑learning. + +- **Insights alimentés par les données et l’IA** + Utiliser le traitement du langage naturel ou des moteurs d’analyse pour transformer des données brutes ou des textes longs en présentations résumées. + +- **Diapositives basées sur les médias** + Assembler des présentations à partir d’images téléchargées, de captures d’écran annotées ou d’images clés vidéo accompagnées de descriptions. + +- **Conversion de documents** + Convertir automatiquement des documents Word, des PDF ou des saisies de formulaires en présentations visuelles avec un effort manuel minimal. + +- **Outils pour développeurs et techniques** + Créer des démonstrations techniques, des aperçus de documentation ou des journaux de modifications au format diapositive directement à partir du code ou du contenu markdown. + +En automatisant ces flux de travail, les organisations peuvent mettre à l’échelle la création de contenu, maintenir la cohérence et libérer du temps pour des activités plus stratégiques. + +## **Passons au code** + +Pour cet exemple, nous avons choisi **[Aspose.Slides for C++](https://products.aspose.com/slides/cpp/)** pour illustrer l’automatisation PowerPoint grâce à son ensemble complet de fonctionnalités et sa facilité d’utilisation lors de la manipulation de présentations de manière programmatique. + +Contrairement aux bibliothèques de bas niveau, qui obligent les développeurs à travailler directement avec la structure Open XML (engendrant souvent un code verbeux et difficile à lire), Aspose.Slides propose une API de haut niveau. Elle masque la complexité, permettant aux développeurs de se concentrer sur la logique de la présentation—telle que la mise en page, le formatage et la liaison de données—sans avoir besoin de comprendre en détail le format de fichier PowerPoint. + +Bien qu’Aspose.Slides soit une bibliothèque commerciale, elle propose une version d’[essai gratuit](https://releases.aspose.com/slides/cpp/) capable d’exécuter pleinement les exemples présentés dans cet article. Dans le but de démontrer des concepts, de tester des fonctionnalités ou de créer une preuve de concept comme celle que nous abordons ici, l’essai est largement suffisant. Cela en fait une option pratique pour expérimenter l’automatisation de PowerPoint sans devoir acquérir immédiatement une licence. + +Ok, parcourons la création d’une présentation d’exemple en utilisant du contenu réel. + +### **Créer une diapositive titre** + +Nous commencerons par créer une nouvelle présentation et ajouter une diapositive titre avec un titre principal et un sous‑titre. +```cpp +auto presentation = MakeObject(); + +auto slide0 = presentation->get_Slide(0); + +auto layoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Title); +slide0->set_LayoutSlide(layoutSlide); + +auto titleShape = ExplicitCast(slide0->get_Shape(0)); +auto subtitleShape = ExplicitCast(slide0->get_Shape(1)); + +titleShape->get_TextFrame()->set_Text(u"Quarterly Business Review – Q1 2025"); +subtitleShape->get_TextFrame()->set_Text(u"Prepared for Executive Team"); +``` + + +![Diapositive titre](slide_0.png) + +### **Ajouter une diapositive avec un diagramme à colonnes** + +Ensuite, nous créerons une diapositive affichant la performance des ventes régionales sous forme de diagramme à colonnes. +```cpp +auto layoutSlide1 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide1 = presentation->get_Slides()->AddEmptySlide(layoutSlide1); + +auto chart = slide1->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +chart->get_Legend()->set_Position(LegendPositionType::Bottom); +chart->set_HasTitle(true); +chart->get_ChartTitle()->AddTextFrameForOverriding(u"Data from January – March 2025"); +chart->get_ChartTitle()->set_Overlay(false); + +auto workbook = chart->get_ChartData()->get_ChartDataWorkbook(); +auto worksheetIndex = 0; + +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 1, 0, ObjectExt::Box(u"North America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 2, 0, ObjectExt::Box(u"Europe"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 3, 0, ObjectExt::Box(u"Asia Pacific"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 4, 0, ObjectExt::Box(u"Latin America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 5, 0, ObjectExt::Box(u"Middle East"))); + +auto series = chart->get_ChartData()->get_Series()->Add(workbook->GetCell(worksheetIndex, 0, 1, ObjectExt::Box(u"Sales ($K)")), chart->get_Type()); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 1, 1, ObjectExt::Box(480))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 2, 1, ObjectExt::Box(365))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 3, 1, ObjectExt::Box(290))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 4, 1, ObjectExt::Box(150))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 5, 1, ObjectExt::Box(120))); +``` + + +![Diapositive avec le graphique](slide_1.png) + +### **Ajouter une diapositive avec un tableau** + +Nous allons maintenant ajouter une diapositive présentant les indicateurs de performance clés sous forme de tableau. +```cpp +auto layoutSlide2 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide2 = presentation->get_Slides()->AddEmptySlide(layoutSlide2); + +auto columnWidths = MakeArray({ 200, 100 }); +auto rowHeights = MakeArray({ 40, 40, 40, 40, 40 }); + +auto table = slide2->get_Shapes()->AddTable(200, 200, columnWidths, rowHeights); +table->get_Column(0)->idx_get(0)->get_TextFrame()->set_Text(u"Metric"); +table->get_Column(1)->idx_get(0)->get_TextFrame()->set_Text(u"Value"); +table->get_Column(0)->idx_get(1)->get_TextFrame()->set_Text(u"Total Revenue"); +table->get_Column(1)->idx_get(1)->get_TextFrame()->set_Text(u"$1.4M"); +table->get_Column(0)->idx_get(2)->get_TextFrame()->set_Text(u"Gross Margin"); +table->get_Column(1)->idx_get(2)->get_TextFrame()->set_Text(u"54%"); +table->get_Column(0)->idx_get(3)->get_TextFrame()->set_Text(u"New Customers"); +table->get_Column(1)->idx_get(3)->get_TextFrame()->set_Text(u"340"); +table->get_Column(0)->idx_get(4)->get_TextFrame()->set_Text(u"Customer Retention"); +table->get_Column(1)->idx_get(4)->get_TextFrame()->set_Text(u"87%"); +``` + + +![Diapositive avec le tableau](slide_2.png) + +### **Ajouter une diapositive récapitulative avec puces** + +Enfin, nous inclurons un résumé et un plan d’action à l’aide d’une simple liste à puces. +```cpp +static SharedPtr CreateBulletParagraph(String text) { + auto paragraph = MakeObject(); + paragraph->get_ParagraphFormat()->get_Bullet()->set_Type(BulletType::Symbol); + paragraph->get_ParagraphFormat()->set_Indent(15); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->set_FillType(FillType::Solid); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Black()); + paragraph->set_Text(text); + return paragraph; +} +``` + +```cpp +auto layoutSlide3 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide3 = presentation->get_Slides()->AddEmptySlide(layoutSlide3); + +auto bulletList = slide3->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +bulletList->get_FillFormat()->set_FillType(FillType::NoFill); +bulletList->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill); + +bulletList->get_TextFrame()->get_Paragraphs()->Clear(); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Improve marketing outreach in underperforming regions")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Prepare new campaign strategy for Q2")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Schedule follow-up review in early July")); +``` + + +![Diapositive avec le texte](slide_3.png) + +### **Enregistrer la présentation** + +Enfin, nous enregistrons la présentation sur le disque : +```java +presentation->Save(u"presentation.pptx", SaveFormat::Pptx); +``` + + +## **Conclusion** + +L’automatisation de la génération de PowerPoint dans les applications C++ offre des avantages évidents en termes d’économie de temps et de réduction des efforts manuels. En intégrant du contenu dynamique tel que des graphiques, des tableaux et du texte, les développeurs peuvent rapidement produire des présentations cohérentes et professionnelles—idéales pour les rapports d’entreprise, les réunions avec les clients ou le contenu éducatif. + +Dans cet article, nous avons démontré comment automatiser la création d’une présentation à partir de zéro, y compris l’ajout d’une diapositive titre, de graphiques et de tableaux. Cette approche peut être appliquée à de nombreux cas d’utilisation où des présentations automatisées et basées sur les données sont nécessaires. + +En exploitant les bons outils, les développeurs C++ peuvent automatiser efficacement la création de PowerPoint, améliorant ainsi la productivité et garantissant la cohérence des présentations. \ No newline at end of file diff --git a/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/fr/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..cc16ee76a9 --- /dev/null +++ b/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,191 @@ +--- +title: "Automatisation de la génération de PowerPoint en Java : Créez facilement des présentations dynamiques" +linktitle: Automatisation de la génération de PowerPoint +type: docs +weight: 20 +url: /fr/java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plateformes cloud +- automatiser la génération de PowerPoint +- générer des présentations par programmation +- automatisation PowerPoint +- création dynamique de diapositives +- rapports d'entreprise automatisés +- automatisation PPT +- présentation Java +- Java +- Aspose.Slides +description: "Automatisez la création de diapositives sur les plateformes cloud avec Aspose.Slides for Java—générez, modifiez et convertissez rapidement et de façon fiable les fichiers PowerPoint et OpenDocument." +--- + +## **Introduction** + +Créer des présentations PowerPoint manuellement peut être une tâche chronophage et répétitive—surtout lorsque le contenu repose sur des données dynamiques qui changent fréquemment. Que ce soit pour générer des rapports d'affaires hebdomadaires, assembler du matériel pédagogique ou produire des présentations commerciales prêtes pour les clients, l'automatisation peut faire gagner d'innombrables heures et assurer la cohérence entre les équipes. + +Pour les développeurs Java, automatiser la création de présentations PowerPoint ouvre de puissantes possibilités. Vous pouvez intégrer la génération de diapositives dans des portails Web, des outils de bureau, des services backend ou des plateformes cloud pour convertir dynamiquement des données en présentations professionnelles et brandées—à la demande. + +Dans cet article, nous explorerons les cas d’utilisation courants de la génération automatisée de PowerPoint dans les applications Java (y compris les déploiements sur des plateformes cloud) et pourquoi cela devient une fonction essentielle dans les solutions modernes. De l'extraction de données commerciales en temps réel à la conversion de texte ou d'images en diapositives, l'objectif est de transformer du contenu brut en formats visuels structurés que votre public comprend instantanément. + +## **Cas d'utilisation courants de l'automatisation PowerPoint en Java** + +- **Rapports d'affaires et tableaux de bord** + Générer des résumés de ventes, des KPI ou des rapports de performance financière en extrayant des données en temps réel depuis des bases de données ou des API. + +- **Présentations de vente et de marketing personnalisées** + Créer automatiquement des présentations de pitch spécifiques à chaque client à l'aide de données CRM ou de formulaires, garantissant une rapidité d'exécution et une cohérence de la marque. + +- **Contenu éducatif** + Convertir du matériel d'apprentissage, des questionnaires ou des résumés de cours en présentations structurées pour les plateformes d'e‑learning. + +- **Analyses basées sur les données et l'IA** + Utiliser le traitement du langage naturel ou des moteurs d'analyse pour transformer des données brutes ou des textes longs en présentations résumées. + +- **Diapositives basées sur les médias** + Assembler des présentations à partir d'images téléchargées, de captures d'écran annotées ou de cadres clés vidéo avec des descriptions d'appui. + +- **Conversion de documents** + Convertir automatiquement des documents Word, des PDF ou des saisies de formulaires en présentations visuelles avec un effort manuel minimal. + +- **Outils pour développeurs et techniques** + Créer des démonstrations technologiques, des aperçus de documentation ou des journaux de modifications au format diapositive directement à partir du code ou du contenu markdown. + +En automatisant ces flux de travail, les organisations peuvent augmenter l'échelle de leur création de contenu, maintenir la cohérence et libérer du temps pour des tâches plus stratégiques. + +## **Passons au code** + +Pour cet exemple, nous avons choisi **[Aspose.Slides for Java](https://products.aspose.com/slides/java/)** pour démontrer l'automatisation PowerPoint en raison de son ensemble complet de fonctionnalités et de sa facilité d'utilisation lors de la manipulation programmatique de présentations. + +Contrairement aux bibliothèques de bas niveau, qui obligent les développeurs à travailler directement avec la structure Open XML (souvent conduisant à du code verbeux et moins lisible), Aspose.Slides fournit une API de haut niveau. Elle abstrait la complexité, permettant aux développeurs de se concentrer sur la logique de présentation—comme la mise en page, le formatage et la liaison de données—sans avoir besoin de comprendre en détail le format de fichier PowerPoint. + +Bien qu'Aspose.Slides soit une bibliothèque commerciale, elle propose une version d'[essai gratuit](https://releases.aspose.com/slides/java/) capable d'exécuter pleinement les exemples fournis dans cet article. Pour le but de démontrer des idées, tester des fonctionnalités ou créer une preuve de concept comme celle que nous couvrons ici, l'essai est largement suffisant. Cela en fait une option pratique pour expérimenter l'automatisation PowerPoint sans devoir souscrire immédiatement à une licence. + +Ok, parcourons la création d'une présentation d'exemple en utilisant du contenu réel. + +### **Créer une diapositive de titre** + +Nous commencerons par créer une nouvelle présentation et ajouter une diapositive de titre avec un en-tête principal et un sous-titre. +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![La diapositive de titre](slide_0.png) + +### **Ajouter une diapositive avec un diagramme en colonnes** + +Ensuite, nous créerons une diapositive affichant la performance des ventes régionales sous forme de diagramme en colonnes. +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![La diapositive avec le diagramme](slide_1.png) + +### **Ajouter une diapositive avec un tableau** + +Nous allons maintenant ajouter une diapositive présentant les indicateurs clés de performance au format tableau. +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![La diapositive avec le tableau](slide_2.png) + +### **Ajouter une diapositive de synthèse avec des puces** + +Enfin, nous inclurons une synthèse et un plan d'action à l'aide d'une simple liste à puces. +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![La diapositive avec le texte](slide_3.png) + +### **Enregistrer la présentation** + +Enfin, nous enregistrons la présentation sur le disque : +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Conclusion** + +Automatiser la génération de PowerPoint dans les applications Java offre des avantages évidents en termes de gain de temps et de réduction des efforts manuels. En intégrant du contenu dynamique tel que des graphiques, des tableaux et du texte, les développeurs peuvent produire rapidement des présentations cohérentes et professionnelles—idéales pour les rapports d'affaires, les réunions clients ou le contenu éducatif. + +Dans cet article, nous avons démontré comment automatiser la création d'une présentation à partir de zéro, en ajoutant une diapositive de titre, des graphiques et des tableaux. Cette approche peut être appliquée à divers cas d'utilisation où des présentations automatisées et guidées par les données sont nécessaires. + +En exploitant les bons outils, les développeurs Java peuvent automatiser efficacement la création de PowerPoint, améliorant la productivité et assurant la cohérence des présentations. \ No newline at end of file diff --git a/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/fr/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/fr/net/developer-guide/3d-presentation/_index.md b/fr/net/developer-guide/3d-presentation/_index.md index 3057c88544..ca77aa7c4b 100644 --- a/fr/net/developer-guide/3d-presentation/_index.md +++ b/fr/net/developer-guide/3d-presentation/_index.md @@ -19,37 +19,24 @@ keywords: description: "Présentation PowerPoint 3D en C# ou .NET" --- - -## Aperçu -Comment créez-vous généralement une présentation PowerPoint 3D ? -Microsoft PowerPoint permet de créer des présentations 3D en ajoutant des modèles 3D, en appliquant des effets 3D sur des formes, -en créant du texte 3D, en téléchargeant des graphiques 3D dans une présentation, et en créant des animations 3D PowerPoint. - -Créer des effets 3D a un grand impact sur l'amélioration de votre présentation en une présentation 3D, et peut être la mise en œuvre la plus simple d'une présentation 3D. -Depuis la version 20.9 d'Aspose.Slides, un **moteur 3D multiplateforme** a été ajouté. Le nouveau moteur 3D permet -d'exporter et de rasteriser des formes et du texte avec des effets 3D. Dans les versions précédentes, -les formes de diapositives avec des effets 3D appliqués étaient rendues plates. Mais, il est maintenant possible de -rendre des formes avec un **3D complet**. -De plus, il est maintenant possible de créer des formes avec des effets 3D via l'API publique des diapositives. - -Dans l'API Aspose.Slides, pour faire en sorte qu'une forme devienne une forme 3D PowerPoint, utilisez la propriété [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat), -qui hérite des fonctionnalités de l'interface [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat) : -- [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) -et [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop) : définir le biseau de la forme, définir le type de biseau (par exemple, Angle, Cercle, Bord doux), définir la hauteur et la largeur du biseau. -- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera) : est utilisé pour imiter les mouvements de la caméra autour de l'objet. En d'autres termes, en réglant la rotation de la caméra, le zoom et d'autres propriétés - vous pouvez divertir vos -formes comme avec le modèle 3D dans PowerPoint. -- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) -et [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth) : définir les propriétés de contour pour faire en sorte que la forme ressemble à une forme 3D PowerPoint. -- [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth), -[ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) -et [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) : sont utilisés pour rendre la forme tridimensionnelle, ce qui signifie convertir une forme 2D en une forme 3D, -en réglant sa profondeur ou en l'extrudant. -- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig) : peut créer un effet de lumière sur une forme 3D. La logique de cette propriété est similaire à celle de la caméra, vous pouvez régler la rotation de la lumière -par rapport à la forme 3D et choisir le type de lumière. -- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material) : définir le type de matériau de la forme 3D peut apporter un effet plus vivant. La propriété fournit un ensemble de matériaux prédéfinis, tels que : -Métal, Plastique, Poudre, Mat, etc. - -Toutes les fonctionnalités 3D peuvent être appliquées à la fois aux formes et au texte. Voyons comment accéder aux propriétés mentionnées ci-dessus et les examiner en détail étape par étape : +## **Aperçu** +Comment créez‑vous habituellement une présentation PowerPoint 3D ? +Microsoft PowerPoint permet de créer des présentations 3D en ajoutant des modèles 3D, en appliquant des effets 3D aux formes, en créant du texte 3D, en téléchargeant des graphiques 3D dans la présentation, en créant des animations 3D PowerPoint. + +Créer des effets 3D a un impact majeur sur l’amélioration de votre présentation en une présentation 3D, et peut être la mise en œuvre la plus simple d’une présentation 3D. +Depuis la version 20.9 d’Aspose.Slides, un nouveau **moteur 3D multiplateforme** a été ajouté. Le nouveau moteur 3D permet d’exporter et de rasteriser les formes et le texte avec des effets 3D. +Dans les versions précédentes, les formes Slides avec des effets 3D appliqués étaient rendues à plat. Mais il est maintenant possible de rendre les formes avec un **3D complet**. +De plus, il est maintenant possible de créer des formes avec des effets 3D via l’API publique Slides. + +Dans l’API Aspose.Slides, pour transformer une forme en forme PowerPoint 3D, utilisez la propriété [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat) qui hérite des fonctionnalités de l’interface [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat) : +- [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) et [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop) : définissez le chanfrein de la forme, spécifiez le type de chanfrein (p. ex. Angle, Cercle, SoftRound), définissez la hauteur et la largeur du chanfrein. +- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera) : est utilisée pour imiter les mouvements de caméra autour de l’objet. En d’autres termes, en réglant la rotation, le zoom et d’autres propriétés de la caméra, vous pouvez animer vos formes comme avec le modèle 3D dans PowerPoint. +- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) et [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth) : définissez les propriétés de contour pour que la forme ressemble à une forme PowerPoint 3D. +- [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth), [ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) et [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) : sont utilisées pour rendre la forme tridimensionnelle, c’est‑à‑dire convertir une forme 2D en forme 3D, en réglant sa profondeur ou en l’extrudant. +- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig) : permet de créer un effet de lumière sur une forme 3D. Le fonctionnement de cette propriété est proche de Camera, vous pouvez régler la rotation de la lumière par rapport à la forme 3D et choisir le type de lumière. +- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material) : définir le type de matériau de la forme 3D peut lui apporter un effet plus réaliste. La propriété propose un ensemble de matériaux prédéfinis, tels que : Metal, Plastique, Poudre, Mat, etc. + +Toutes les fonctionnalités 3D peuvent être appliquées aux formes et au texte. Voyons comment accéder aux propriétés mentionnées ci‑dessus, puis examinons‑les en détail étape par étape : ``` csharp const float imageScale = 2; @@ -78,17 +65,17 @@ using (Presentation presentation = new Presentation()) } ``` -La miniature rendue ressemble à ceci : + +La vignette rendue ressemble à ceci : ![todo:image_alt_text](img_01_01.png) -## Rotation 3D -Il est possible de faire pivoter les formes 3D PowerPoint dans un plan 3D, ce qui apporte plus d'interactivité. Pour faire pivoter une forme 3D dans PowerPoint, vous utilisez généralement le menu suivant : +## **Rotation 3D** +Il est possible de faire pivoter les formes PowerPoint 3D dans le plan 3D, ce qui apporte plus d’interactivité. Pour faire pivoter une forme 3D dans PowerPoint, vous utilisez généralement le menu suivant : ![todo:image_alt_text](img_02_01.png) -Dans l'API Aspose.Slides, la rotation des formes 3D peut être gérée en utilisant la propriété [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera) : - +Dans l’API Aspose.Slides, la rotation d’une forme 3D peut être gérée à l’aide de la propriété [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera) : ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); @@ -100,10 +87,9 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -## Profondeur 3D et extrusion -Pour apporter la troisième dimension à votre forme et en faire une forme 3D, utilisez les propriétés [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) -et [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) : +## **Profondeur 3D et Extrusion** +Pour ajouter la troisième dimension à votre forme et en faire une forme 3D, utilisez les propriétés [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) et [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) : ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); @@ -117,14 +103,13 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -En général, vous utilisez le menu Profondeur dans PowerPoint pour définir la profondeur d'une forme 3D PowerPoint : - -![todo:image_alt_text](img_02_02.png) +En général, vous utilisez le menu Profondeur dans PowerPoint pour définir la profondeur d’une forme PowerPoint 3D : -## Dégradé 3D -Un dégradé peut être utilisé pour remplir la couleur d'une forme PowerPoint 3D. Créons une forme avec une couleur de dégradé et appliquons un effet 3D dessus : +![todo:image_alt_text](img_02_02.png) +## **Dégradé 3D** +Le dégradé peut être utilisé pour remplir la couleur d’une forme PowerPoint 3D. Créons une forme avec un remplissage en dégradé et appliquons‑lui un effet 3D : ``` csharp const float imageScale = 2; @@ -133,7 +118,7 @@ using (Presentation presentation = new Presentation()) ISlide slide = presentation.Slides[0]; IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); - shape.TextFrame.Text = "Dégradé 3D"; + shape.TextFrame.Text = "3D Gradient"; shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 64; shape.FillFormat.FillType = FillType.Gradient; @@ -154,11 +139,12 @@ using (Presentation presentation = new Presentation()) } ``` + Et voici le résultat : ![todo:image_alt_text](img_02_03.png) -En plus d'une couleur de remplissage dégradée, il est possible de remplir des formes avec une image : +En plus d’un remplissage en dégradé, il est possible de remplir les formes avec une image : ``` csharp byte[] imageData = File.ReadAllBytes("image.jpg"); IPPImage image = presentation.Images.AddImage(imageData); @@ -166,7 +152,7 @@ IPPImage image = presentation.Images.AddImage(imageData); shape.FillFormat.FillType = FillType.Picture; shape.FillFormat.PictureFillFormat.Picture.Image = image; shape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; -// ... configurer 3D : shape.ThreeDFormat.Camera, shape.ThreeDFormat.LightRig, shape.ThreeDFormat.Extrusion* propriétés +// ... configurer 3D : shape.ThreeDFormat.Camera, shape.ThreeDFormat.LightRig, shape.ThreeDFormat.Extrusion* properties using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -174,13 +160,13 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -Voici comment cela ressemble : -![todo:image_alt_text](img_02_04.png) +Voici à quoi cela ressemble : -## Texte 3D (WordArt) -Aspose.Slides permet également d'appliquer un effet 3D au texte. Pour créer un texte 3D, vous pouvez utiliser l'effet de transformation WordArt : +![todo:image_alt_text](img_02_04.png) +## **Texte 3D (WordArt)** +Aspose.Slides permet également d’appliquer le 3D au texte. Pour créer un texte 3D, il est possible d’utiliser l’effet de transformation WordArt : ``` csharp const float imageScale = 2; @@ -191,7 +177,7 @@ using (Presentation presentation = new Presentation()) IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); shape.FillFormat.FillType = FillType.NoFill; shape.LineFormat.FillFormat.FillType = FillType.NoFill; - shape.TextFrame.Text = "Texte 3D"; + shape.TextFrame.Text = "3D Text"; Portion portion = (Portion)shape.TextFrame.Paragraphs[0].Portions[0]; portion.PortionFormat.FillFormat.FillType = FillType.Pattern; @@ -202,7 +188,7 @@ using (Presentation presentation = new Presentation()) shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 128; ITextFrameFormat textFrameFormat = shape.TextFrame.TextFrameFormat; - // définir l'effet de transformation WordArt "Arc vers le haut" + // définir l'effet de transformation WordArt "Arch Up" textFrameFormat.Transform = TextShapeType.ArchUp; textFrameFormat.ThreeDFormat.ExtrusionHeight = 3.5f; @@ -223,16 +209,18 @@ using (Presentation presentation = new Presentation()) } ``` + Voici le résultat : ![todo:image_alt_text](img_02_05.png) +## **FAQ** + +**Les effets 3D seront‑ils conservés lors de l’exportation d’une présentation vers des images/PDF/HTML ?** +Oui. Le moteur 3D de Slides rend les effets 3D lors de l’exportation vers les formats pris en charge ([images](/slides/fr/net/convert-powerpoint-to-png/), [PDF](/slides/fr/net/convert-powerpoint-to-pdf/), [HTML](/slides/fr/net/convert-powerpoint-to-html/), etc.). -## Non pris en charge - À venir -Les fonctionnalités 3D PowerPoint suivantes ne sont pas encore prises en charge : -- Biseau -- Matériau -- Contour -- Éclairage +**Puis‑je récupérer les valeurs « effectives » (finales) des paramètres 3D qui tiennent compte des thèmes, de l’héritage, etc. ?** +Oui. Slides fournit des API pour [lire les valeurs effectives](/slides/fr/net/shape-effective-properties/) (y compris pour le 3D — éclairage, chanfreins, etc.) afin que vous puissiez voir les paramètres finaux appliqués. -Nous continuons d'améliorer notre moteur 3D, et ces fonctionnalités sont sujettes à une mise en œuvre ultérieure. \ No newline at end of file +**Les effets 3D fonctionnent‑ils lors de la conversion d’une présentation en vidéo ?** +Oui. Lors de la [génération de frames pour la vidéo](/slides/fr/net/convert-powerpoint-to-video/), les effets 3D sont rendus de la même manière que pour les [images exportées](/slides/fr/net/convert-powerpoint-to-png/). \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/_index.md index 319c0a51fd..0ba32d28bb 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -1,43 +1,74 @@ --- -title: Convertir Présentation +title: Convertir la présentation type: docs weight: 70 url: /fr/net/convert-presentation/ --- -## **Conversion de PPT en PPTX** -### **À propos de la conversion de PPT en PPTX** +## **Conversion PPT en PPTX** +### **À propos de la conversion PPT en PPTX** Aspose.Slides prend désormais en charge la conversion de PPT en PPTX. ### **Convertir PPT en PPTX avec Aspose.Slides** -Aspose.Slides pour .NET fournit un support partiel pour la conversion des présentations au format de fichier document PPT en présentations au format de fichier PPTX. Comme le support de la fonctionnalité de conversion de présentation mentionnée vient d'être introduit dans Aspose.Slides pour .NET, il a actuellement des capacités limitées et fonctionne uniquement pour des présentations simples. Le principal avantage que la bibliothèque API Aspose.Slides pour .NET offre pour convertir une présentation PPT au format PPTX est la facilité d'utilisation de l'API pour atteindre l'objectif souhaité. Veuillez procéder à ce [lien](/slides/fr/net/convert-presentation/) vers la section de snippets 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 des présentations au format PPT en présentations au format PPTX. +Aspose.Slides for .NET offre un support partiel de la conversion de présentations au format de fichier PPT en présentations au format de fichier PPTX. Comme ce support a été introduit récemment dans Aspose.Slides for .NET, il possède actuellement des capacités limitées et ne fonctionne que pour les présentations simples. Le principal avantage fourni par la bibliothèque API Aspose.Slides for .NET pour convertir une présentation PPT au format PPTX est la facilité d’utilisation de l’API pour atteindre le résultat souhaité. Veuillez accéder à ce [lien](/slides/fr/net/convert-presentation/) vers la section des extraits de code pour plus de détails. La section suivante illustre clairement quelles fonctionnalités sont prises en charge et lesquelles ne le sont pas lors de la conversion de présentations au format PPT vers le format PPTX. {{% alert color="primary" %}} -Lisez-en plus [**Comment convertir PPT en PPTX**](/slides/fr/net/convert-ppt-to-pptx/). +En savoir plus [**Comment convertir PPT en PPTX**](/slides/fr/net/convert-ppt-to-pptx/). {{% /alert %}} ## **Conversion de présentation en PDF** -### **À propos de PDF** -Le [Format de Document Portable](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 telle sorte que leur apparence visuelle ne dépende pas de la plateforme sur laquelle il est visualisé. -### **PDF dans Aspose.Slides pour .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 permettre que l'apparence visuelle du contenu du document ne dépende pas de la plateforme sur laquelle il est visualisé. +### **À propos du PDF** +Le [Portable Document Format](https://en.wikipedia.org/wiki/PDF) est un format de fichier créé par Adobe Systems pour l'échange de documents entre différentes organisations. L’objectif de ce format était de permettre que le contenu des documents puisse être représenté de telle manière que son apparence visuelle ne dépende pas de la plateforme sur laquelle il est affiché. +### **PDF dans Aspose.Slides for .NET** +[PDF](https://docs.fileformat.com/pdf/) est un format de fichier créé par Adobe Systems pour l'échange de documents entre différentes organisations. L’objectif de ce format était de permettre que l’apparence visuelle du contenu du document ne dépende pas de la plateforme sur laquelle il est affiché. -Tout document de présentation pouvant être chargé dans Aspose.Slides pour .NET peut être converti en document PDF. Vous pouvez exporter les documents de présentation en PDF directement en utilisant uniquement le composant Aspose.Slides pour .NET. Vous n'avez besoin d'aucune autre bibliothèque tierce ou composant Aspose.PDF à cet effet. +Tout document de présentation pouvant être chargé dans Aspose.Slides for .NET peut être converti en document PDF. Vous pouvez exporter directement les documents de présentation en PDF à l’aide du composant Aspose.Slides for .NET uniquement. Vous n’avez besoin d’aucune autre bibliothèque tierce ou du composant Aspose.PDF à cette fin. {{% alert color="primary" %}} -Lisez-en plus [**Comment convertir une présentation en PDF**](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-pdf/). +En savoir plus [**Comment convertir une présentation en PDF**](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-pdf/). {{% /alert %}} ## **Conversion de présentation en XPS** ### **À propos de XPS** -La [Spécification de Parsing XML](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) est un langage de description de page et un format de document fixe initialement développé par Microsoft. Comme PDF, XPS est un format de document à mise en page fixe conçu pour préserver la fidélité du document et fournir une apparence de document indépendante de tout appareil. -### **Convertir la présentation en XPS avec Aspose.Slides** -Tout document de présentation pouvant être chargé par Aspose.Slides pour .NET peut être converti en format XPS. Aspose.Slides pour .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 noter qu'Aspose.Slides pour .NET génère directement le XPS sans dépendre des classes Windows Presentation Foundation (WPF) qui sont regroupées avec .NET Framework 3.5, ce qui permet à Aspose.Slides pour .NET de produire des documents XPS sur des machines exécutant des versions antérieures à la version 3.5 de .NET Framework. Vous pouvez en apprendre davantage sur l'exportation des documents de présentation en documents XPS via Aspose.Slides pour .NET dans [ce sujet](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). +Le [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, XPS est un format de document à mise en page fixe conçu pour préserver la fidélité du document et offrir une apparence indépendante du dispositif. +### **Convertir une présentation en XPS avec Aspose.Slides** +Tout document de présentation pouvant être chargé par Aspose.Slides for .NET peut être converti au format XPS. Aspose.Slides for .NET utilise le moteur de mise en page et de rendu à haute fidélité pour produire des sorties au format de document XPS à mise en page fixe. Il convient de mentionner qu’Aspose.Slides for .NET génère directement les fichiers XPS sans dépendre des classes Windows Presentation Foundation (WPF) incluses avec .NET Framework 3.5, ce qui permet à Aspose.Slides for .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 via Aspose.Slides for .NET dans [cette rubrique](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). {{% alert color="primary" %}} -Lisez-en plus [**Comment convertir une présentation en XPS**](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) +En savoir plus [**Comment convertir une présentation en XPS**.](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) {{% /alert %}} + ## **Conversion de présentation en TIFF** ### **À propos de TIFF** -Le [Format de Fichier d'Image Étiquetée](https://en.wikipedia.org/wiki/TIFF) qui est connu pour stocker plusieurs images dans un seul document a été initialement créé par Aldus. Ce format est largement pris en charge par les applications de numérisation, de télécopie et d'autres applications de manipulation d'images. -### **Convertir la 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 .NET sans nécessiter de composant tiers. De plus, vous pouvez définir optionnellement la taille des images dans le document TIFF résultant. Vous pouvez trouver des informations sur l'exportation des documents de présentation en documents TIFF via Aspose.Slides pour .NET dans [ce sujet](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-tiff/). +Le [Tagged Image File Format](https://en.wikipedia.org/wiki/TIFF), connu pour stocker plusieurs images dans un même 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 manipulations d’images. +### **Convertir une présentation en TIFF avec Aspose.Slides** +Tout document pouvant être chargé dans Aspose.Slides for .NET peut également être converti directement en document TIFF par Aspose.Slides for .NET, éliminant ainsi le besoin d’un composant tiers. De plus, vous pouvez éventuellement définir la taille des images dans le document TIFF résultant. Vous trouverez des informations sur l’exportation des documents de présentation vers des documents TIFF via Aspose.Slides for .NET dans [cette rubrique](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-tiff/). {{% alert color="primary" %}} -Lisez-en plus [**Comment convertir une présentation en TIFF**](/slides/fr/net/convert-powerpoint-to-tiff/) -{{% /alert %}} \ No newline at end of file +En savoir plus [**Comment convertir une présentation en TIFF**.](/slides/fr/net/convert-powerpoint-to-tiff/) +{{% /alert %}} + +## **FAQ** + +**Puis-je inclure les diapositives masquées lors de l’exportation vers 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/net/aspose.slides.export/pdfoptions/showhiddenslides/)/[XPS](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/) . + +**La sauvegarde au format PDF/A (pour l’archivage) est‑elle prise en charge ?** + +Oui, les niveaux de conformité PDF/A [sont disponibles](https://reference.aspose.com/slides/net/aspose.slides.export/pdfcompliance/) (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 remplacées ?** + +Il existe des options flexibles : vous pouvez [intégrer tous les glyphes ou uniquement les sous‑ensembles utilisés](/slides/fr/net/embedded-font/), spécifier une [police de remplacement](/slides/fr/net/fallback-font/), et [contrôler le comportement](/slides/fr/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/net/aspose.slides.export/pdfoptions/jpegquality/), la [compression du texte](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/textcompression/), ainsi qu’un seuil de [résolution suffisante](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/sufficientresolution/) pour les images, plus un mode qui sélectionne la [meilleure compression pour les images](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/bestimagescompressionratio/) . + +**Puis‑je n’exporter qu’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 pris en charge ?** + +Il est acceptable de traiter différentes présentations en parallèle dans des processus séparés. Important : le même [objet presentation](/reference.aspose.com/slides/net/aspose.slides/presentation/) ne doit pas être chargé ou enregistré depuis [plusieurs threads](/slides/fr/net/multithreading/) . + +**Existe‑t‑il des risques lors de l’application de la licence depuis différents threads ?** + +Oui, les appels de [license‑setting](/slides/fr/net/licensing/) ne sont pas thread‑safe et nécessitent une synchronisation. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md index 9aa8f5b961..5ef6099992 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md @@ -1,53 +1,85 @@ --- -title: Convertir OpenOffice ODP +title: Convertir les présentations OpenDocument (ODP) en C# +linktitle: Convertir OpenDocument type: docs weight: 10 url: /fr/net/convert-openoffice-odp/ -keywords: "Convertir ODP en PDF, ODP en PPT, ODP en PPTX, ODP en XPS, ODP en HTML, ODP en TIFF" -description: "Convertir ODP en PDF, ODP en PPT, ODP en PPTX, ODP en HTML et d'autres formats avec Aspose.Slides." +keywords: +- convertir ODP +- ODP en image +- ODP en GIF +- ODP en HTML +- ODP en JPG +- ODP en MD +- ODP en PDF +- ODP en PNG +- ODP en PPT +- ODP en PPTX +- ODP en TIFF +- ODP en vidéo +- ODP en Word +- ODP en XPS +description: "Aspose.Slides pour .NET vous permet de convertir ODP en PDF, HTML et formats d'image en toute simplicité. Accélérez vos applications .NET avec une conversion de présentations rapide et précise." --- -[**Aspose.Slides API**](https://products.aspose.com/slides/net/) vous permet de convertir des présentations OpenOffice ODP en plusieurs formats. L'API utilisée pour convertir des fichiers ODP en d'autres formats de document est la même que celle utilisée pour les opérations de conversion PowerPoint (PPT et PPTX). +## **Aperçu** -Ces exemples vous montrent comment convertir des documents ODP en d'autres formats (il suffit de changer le fichier ODP source) : +Aspose.Slides for .NET fournit une API robuste pour convertir des présentations OpenDocument (ODP) en divers autres formats. En suivant une approche similaire à celle utilisée pour les fichiers PowerPoint (PPT et PPTX), les développeurs peuvent facilement exporter des documents ODP vers des formats tels que HTML, PDF, TIFF, JPG, XPS, et plus encore. + +Ces exemples montrent comment convertir des documents ODP vers d’autres formats (il suffit de changer la source pour un fichier ODP) : - [Convertir ODP en HTML](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-html/) - [Convertir ODP en PDF](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-pdf/) - [Convertir ODP en TIFF](/slides/fr/net/convert-powerpoint-to-tiff/) -- [Convertir ODP en SWF Flash](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-swf-flash/) -- [Convertir ODP en XPS](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) -- [Convertir ODP en PDF avec des notes](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-pdf-with-notes/) -- [Convertir ODP en TIFF avec des notes](/slides/fr/net/convert-powerpoint-ppt-and-pptx-to-tiff-with-notes/) - -Par exemple, si vous devez convertir une présentation ODP en PDF, cela peut se faire de cette manière : - -```csharp -using (Presentation pres = new Presentation("pres.odp")) +- [Convertir ODP en SWF](/slides/fr/net/convert-powerpoint-to-swf-flash/) +- [Convertir ODP en XPS](/slides/fr/net/convert-powerpoint-to-xps/) +- [Convertir ODP en PDF avec notes](/slides/fr/net/convert-powerpoint-to-pdf-with-notes/) +- [Convertir ODP en TIFF avec notes](/slides/fr/net/convert-powerpoint-to-tiff-with-notes/) + +Par exemple, convertir une présentation ODP en PDF ne nécessite que quelques lignes de code en C# : +```cs +using (Presentation presentation = new Presentation("presentation.odp")) { - pres.Save("pres.pdf", SaveFormat.Pdf); + presentation.Save("presentation.pdf", SaveFormat.Pdf); } ``` +## **Présentations OpenDocument dans différentes applications** -## Présentation OpenDocument dans différentes applications - -Lorsque un fichier de présentation OpenDocument est ouvert dans PowerPoint, il peut manquer de mise en forme par rapport à celle qu'il avait dans l'application d'origine où il a été créé, car l'application de présentation OpenDocument et l'application PowerPoint offrent des fonctionnalités et options différentes. +Lorsqu’un fichier de présentation OpenDocument (ODP) est ouvert dans PowerPoint, il peut ne pas conserver la mise en forme d’origine de l’application dans laquelle il a été créé. Cela se produit parce que l’application de présentation OpenDocument et l’application PowerPoint offrent des fonctionnalités et des comportements de rendu différents. Voici quelques-unes des différences : -- Dans PowerPoint, tous les tableaux sont généralement chargés en dernier et superposés à d'autres formes (quel que soit l'agencement des formes sur la diapositive ODP). -- Le remplissage d'image pour les tableaux ODP n'est pas pris en charge dans PowerPoint. -- La rotation verticale du texte (270, empilé) et l'alignement distribué ne sont pas pris en charge dans LibreOffice/OpenOffice Impress. -- Le remplissage d'image, le remplissage dégradé et le remplissage de motif pour le texte ne sont pas pris en charge dans LibreOffice/OpenOffice Impress. -MS PowerPoint et LibreOffice/OpenOffice Impress gèrent également les listes différemment. Un fichier ODP créé dans PowerPoint ne s'ouvrira pas correctement dans LibreOffice/OpenOffice et vice versa. +- Dans PowerPoint, les tableaux sont généralement rendus en dernier et peuvent se superposer à d’autres formes, quel que soit leur ordre sur la diapositive ODP. +- Le remplissage d’image pour les tableaux ODP n’est pas pris en charge dans PowerPoint. +- La rotation verticale du texte (270°, empilé) et l’alignement distribué ne sont pas pris en charge dans LibreOffice/OpenOffice Impress. +- Le remplissage d’image, le remplissage en dégradé et le remplissage en motif pour le texte ne sont pas pris en charge dans LibreOffice/OpenOffice Impress. + +MS PowerPoint et LibreOffice/OpenOffice Impress gèrent également les listes différemment. Un fichier ODP créé dans PowerPoint peut ne pas s’afficher correctement dans LibreOffice/OpenOffice Impress, et inversement. + +L’image ci-dessous montre comment une liste apparaît lorsqu’elle est créée dans LibreOffice Impress : + +![ODP list example](odp-list-example.png) + +Aspose.Slides enregistre les listes ODP de manière à garantir qu’elles sont affichées correctement dans LibreOffice/OpenOffice Impress. + +[En savoir plus sur le format OpenDocument et PowerPoint](https://support.microsoft.com/en-us/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0). + +## **FAQ** + +**Que se passe-t-il si la mise en forme de mon fichier ODP change après la conversion ?** + +ODP et PowerPoint utilisent des modèles de présentation différents, et certains éléments—comme les tableaux, les polices personnalisées ou les styles de remplissage—peuvent ne pas être rendus exactement de la même manière. Il est recommandé de vérifier la sortie et d’ajuster la mise en page ou la mise en forme dans le code si nécessaire. -Cette image montre la vue de la liste créée dans LibreOffice Impress : +**Dois-je installer OpenOffice ou LibreOffice pour utiliser la conversion ODP ?** -![odp-list-example](odp-list-example.png) +Non, Aspose.Slides for .NET est une bibliothèque autonome et ne nécessite pas l’installation d’OpenOffice ou de LibreOffice sur votre système. +**Puis-je personnaliser le format de sortie lors de la conversion ODP (par ex., définir des options PDF) ?** +Oui, Aspose.Slides offre de nombreuses options pour personnaliser la sortie. Par exemple, lors de l’enregistrement en PDF, vous pouvez contrôler la compression, la qualité des images, le rendu du texte, et plus encore via la classe [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/). -**Aspose.Slides** enregistre les listes ODP pour s'assurer qu'elles s'affichent correctement dans LibreOffice/OpenOffice Impress. +**Aspose.Slides convient-il au traitement ODP côté serveur ou dans le cloud ?** -[En savoir plus sur le format OpenDocument et PowerPoint](https://support.microsoft.com/en-gb/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0/). \ No newline at end of file +Absolument. Aspose.Slides for .NET est conçu pour fonctionner à la fois sur des postes de travail et sur des environnements serveur, y compris les plateformes cloud telles qu’Azure, AWS et les conteneurs Docker, sans aucune dépendance UI. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md index 4eec328c87..9f79a89c11 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md @@ -4,31 +4,50 @@ linktitle: Convertir ODP en PPTX type: docs weight: 10 url: /fr/net/convert-odp-to-pptx/ -keywords: "Convertir OpenOffice Presentation, ODP, ODP en PPTX, C#, Csharp, .NET" -description: "Convertir OpenOffice ODP en présentation PowerPoint PPTX en C# ou .NET" +keywords: "Convertir présentation OpenOffice, ODP, ODP en PPTX, C#, Csharp, .NET" +description: "Convertir ODP OpenOffice en présentation PowerPoint PPTX en C# ou .NET" --- -## Aperçu +## **Vue d'ensemble** Cet article explique les sujets suivants. - [C# Convertir ODP en PPTX](#csharp-odp-to-pptx) - [C# Convertir ODP en PowerPoint](#csharp-odp-to-powerpoint) -## Conversion C# ODP en PPTX +## **Conversion ODP en PPTX** -Aspose.Slides pour .NET propose la classe Presentation qui représente un fichier de présentation. [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) peut maintenant également accéder à ODP via le constructeur Presentation lorsque l'objet est instancié. L'exemple suivant montre comment convertir une présentation ODP en présentation PPTX. +Aspose.Slides for .NET offre la classe Presentation qui représente un fichier de présentation. La classe [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) peut désormais également accéder aux ODP via le constructeur Presentation lorsqu l'objet est instancié. L'exemple suivant montre comment convertir une présentation ODP en présentation PPTX. Étapes : Convertir ODP en PPTX en C# | Étapes : Convertir ODP en PowerPoint en C# - ```c# // Ouvrir le fichier ODP Presentation pres = new Presentation("AccessOpenDoc.odp"); -// Sauvegarder la présentation ODP au format PPTX +// Enregistrer la présentation ODP au format PPTX pres.Save("AccessOpenDoc_out.pptx", SaveFormat.Pptx); ``` + ## **Exemple en direct** -Vous pouvez visiter [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) application web, qui est construite avec **Aspose.Slides API.** L'application démontre comment la conversion ODP en PPTX peut être implémentée avec l'API Aspose.Slides. \ No newline at end of file + +Vous pouvez visiter l'application web [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) qui est construite avec **Aspose.Slides API**. L'application démontre comment la conversion ODP en PPTX peut être implémentée avec Aspose.Slides API. + +## **FAQ** + +**Dois-je installer Microsoft PowerPoint ou LibreOffice pour convertir ODP en PPTX ?** + +Non. Aspose.Slides fonctionne de manière autonome et ne nécessite aucune application tierce pour lire ou écrire des ODP/PPTX. + +**Les diapositives maîtres, les mises en page et les thèmes sont-ils conservés lors de la conversion ?** + +Oui. La bibliothèque utilise un modèle d'objet de présentation complet et conserve la structure, y compris les diapositives maîtres et les mises en page, de sorte que le design reste correct après la conversion. + +**Puis-je convertir des fichiers ODP protégés par mot de passe ?** + +Oui. Aspose.Slides prend en charge la détection de la protection, l'ouverture et le traitement des [présentations protégées](/slides/fr/net/password-protected-presentation/) (y compris les ODP) lorsque vous fournissez le mot de passe, ainsi que la configuration du chiffrement et l'accès aux propriétés du document. + +**Aspose.Slides convient-il aux services de conversion cloud ou basés sur REST ?** + +Oui. Vous pouvez utiliser la bibliothèque locale dans votre propre backend ou [Aspose.Slides Cloud](https://products.aspose.cloud/slides/family/) (REST API) ; les deux options prennent en charge la conversion ODP → PPTX. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md new file mode 100644 index 0000000000..15cc8e9493 --- /dev/null +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md @@ -0,0 +1,67 @@ +--- +title: Convertir des présentations en mode Handout en C# +type: docs +weight: 150 +url: /fr/net/convert-powerpoint-in-Handout-mode/ +keywords: +- convertir PowerPoint +- mode de distribution +- document de distribution +- PowerPoint +- PPT +- PPTX +- présentation +- C# +- Csharp +- .NET +- Aspose.Slides +description: "Convertir des présentations en mode Handout en C#" +--- + +## **Exportation en mode Handout** + +Aspose.Slides offre la possibilité de convertir des présentations en différents formats, y compris la création de feuilles de travail pour l’impression en mode Handout. Ce mode vous permet de configurer la façon dont plusieurs diapositives apparaissent sur une même page, ce qui est utile pour les conférences, séminaires et autres événements. Vous pouvez activer ce mode en définissant la propriété `SlidesLayoutOptions` dans les interfaces [IPdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ipdfoptions/), [IRenderingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/irenderingoptions/), [IHtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ihtmloptions/) et [ITiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/itiffoptions/). + +Pour configurer le mode Handout, utilisez l’objet [HandoutLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/handoutlayoutingoptions/), qui détermine combien de diapositives sont placées sur une page et d’autres paramètres d’affichage. + +Ci-dessous un exemple de code montrant comment convertir une présentation en PDF en mode Handout. +```c# +// Charger une présentation. +using var presentation = new Presentation("sample.pptx"); + +// Set the export options. +var pdfOptions = new PdfOptions +{ + SlidesLayoutOptions = new HandoutLayoutingOptions + { + Handout = HandoutType.Handouts4Horizontal, // 4 diapositives sur une page horizontalement + PrintSlideNumbers = true, // imprimer les numéros de diapositives + PrintFrameSlide = true, // imprimer un cadre autour des diapositives + PrintComments = false // aucun commentaire + } +}; + +// Export the presentation to PDF with the chosen layout. +presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); +``` + + +{{% alert color="warning" %}} + +Gardez à l’esprit que la propriété `SlidesLayoutOptions` n’est disponible que pour certains formats de sortie, tels que PDF, HTML, TIFF, et lors du rendu en tant qu’images. + +{{% /alert %}} + +## **FAQ** + +**Quel est le nombre maximal de vignettes de diapositives par page en mode Handout ?** + +Aspose.Slides prend en charge les [préréglages](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) jusqu’à 9 vignettes par page avec un ordre horizontal ou vertical : 1, 2, 3, 4 (horizontal/vertical), 6 (horizontal/vertical) et 9 (horizontal/vertical). + +**Puis‑je définir une grille personnalisée, comme 5 ou 8 diapositives par page ?** + +Non. Le nombre et l’ordre des vignettes sont contrôlés strictement par l’énumération [HandoutType](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) ; les dispositions arbitraires ne sont pas prises en charge. + +**Puis‑je inclure des diapositives masquées dans la sortie Handout ?** + +Oui. Activez l’option `ShowHiddenSlides` dans les paramètres d’exportation du format cible, tel que [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions/) ou [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index 001053d836..24653c056a 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -4,13 +4,12 @@ type: docs weight: 65 url: /fr/net/convert-powerpoint-to-animated-gif/ keywords: "Convertir PowerPoint, PPT, PPTX, GIF animé, PPT en GIF animé, PPTX en GIF animé C#, Csharp, .NET, 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 C# ou .NET" +description: "Convertir une présentation PowerPoint en GIF animé: PPT en GIF, PPTX en GIF en C# ou .NET" --- -## Conversion des présentations en GIF animé avec les paramètres par défaut ## - -Ce code d'exemple en C# 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 C# montre comment convertir une présentation en GIF animé en utilisant les paramètres standard : ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -18,31 +17,43 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Le GIF animé sera créé avec des paramètres par défaut. -{{% alert title="ASTUCE" 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/net/aspose.slides.export/gifoptions). Voir le code d'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/net/aspose.slides.export/gifoptions). Voir le code d'exemple ci-dessous. {{% /alert %}} -## Conversion 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é en utilisant des paramètres personnalisés en C# : +## **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é en utilisant des paramètres personnalisés en C# : ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { pres.Save("pres.gif", SaveFormat.Gif, new GifOptions { - FrameSize = new Size(960, 720), // la taille du GIF résultant - DefaultDelay = 2000, // combien de temps chaque diapositive sera affichée avant de passer à la suivante - TransitionFps = 35 // augmenter les FPS pour une meilleure qualité d'animation de transition + FrameSize = new Size(960, 720), // la taille du GIF généré + DefaultDelay = 2000, // durée d'affichage de chaque diapositive avant de passer à la suivante + TransitionFps = 35 // augmenter le FPS pour améliorer la qualité de l'animation de transition }); } ``` + {{% alert title="Info" color="info" %}} -Vous pouvez également consulter un convertisseur GRATUIT [Text to GIF](https://products.aspose.app/slides/text-to-gif) développé par Aspose. +Vous voudrez peut-être découvrir un convertisseur GRATUIT [Text to GIF](https://products.aspose.app/slides/text-to-gif) développé par Aspose. + +{{% /alert %}} + +## **FAQ** + +**Et si les polices utilisées dans la présentation ne sont pas installées sur le système ?** + +Installez les polices manquantes ou [configurez les polices de secours](/slides/fr/net/powerpoint-fonts/). Aspose.Slides les remplacera, mais l'apparence peut différer. Pour le branding, 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/net/watermark/) à la diapositive maîtresse ou aux diapositives individuelles avant l'exportation — le filigrane apparaîtra sur chaque image. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index d77ea3cb3a..01136435cb 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -1,190 +1,205 @@ --- -title: Convertir PowerPoint en HTML en C# .NET +title: Convertir des présentations PowerPoint en HTML avec C# linktitle: Convertir PowerPoint en HTML type: docs weight: 30 url: /fr/net/convert-powerpoint-to-html/ -keywords: "C# PowerPoint en HTML, C# PPT en HTML, C# ODP en HTML, C# Diapositive en HTML, Convertir Présentation PowerPoint, PPTX, PPT, PPT en HTML, PPTX en HTML, PowerPoint en HTML, Enregistrer PowerPoint en tant que HTML, Enregistrer PPT en tant que HTML, Enregistrer PPTX en tant que HTML, C#, Csharp, .NET, Aspose.Slides, exportation HTML" -description: "Convertir PowerPoint HTML : Enregistrer PPTX ou PPT en tant que HTML. Enregistrer des diapositives en tant que HTML" +keywords: +- PowerPoint en HTML +- présentation en HTML +- diapositive en HTML +- PPT en HTML +- PPTX en HTML +- ODP en HTML +- convertir une présentation PowerPoint +- conversion PowerPoint +- conversion de présentation +- conversion HTML +- enregistrer PowerPoint en HTML +- enregistrer la présentation en HTML +- enregistrer la diapositive en HTML +- enregistrer PPT en HTML +- enregistrer PPTX en HTML +- exportation HTML +- C# +- .NET +- Aspose.Slides +description: "Apprenez comment convertir les présentations PowerPoint et OpenDocument en HTML à l’aide d’Aspose.Slides pour .NET. Ce guide fournit des instructions, des exemples de code et des bonnes pratiques pour convertir les diapositives en un format adapté au Web." --- -## **Aperçu** +## **Vue d'ensemble** -Cet article explique comment convertir une Présentation PowerPoint au format HTML en utilisant C#. Il couvre les sujets suivants. +Améliorez votre flux de travail en convertissant des présentations PowerPoint et OpenDocument en HTML avec Aspose.Slides for .NET. Ce guide propose des instructions détaillées, des exemples de code robustes et des méthodes testées pour garantir un processus de conversion fiable et efficace, optimisé pour la visualisation sur le Web. -- [Convertir PowerPoint en HTML en C#](#convert-powerpoint-to-html) -- [Convertir PPT en HTML en C#](#convert-powerpoint-to-html) -- [Convertir PPTX en HTML en C#](#convert-powerpoint-to-html) -- [Convertir ODP en HTML en C#](#convert-powerpoint-to-html) -- [Convertir Diapositive PowerPoint en HTML en C#](#convert-slide-to-html) +Aspose.Slides offre de nombreuses options—principalement de la classe [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions)—qui définissent le processus de conversion du format PowerPoint (ou OpenDocument) vers HTML : -## **C# PowerPoint en HTML** +* Convertir une présentation PowerPoint entière en HTML. +* Convertir une diapositive spécifique d’une présentation PowerPoint en HTML. +* Convertir les médias de la présentation (images, vidéos, etc.) en HTML. +* Convertir une présentation PowerPoint en HTML réactif. +* Convertir une présentation PowerPoint en HTML avec les notes du présentateur incluses ou exclues. +* Convertir une présentation PowerPoint en HTML avec les commentaires inclus ou exclus. +* Convertir une présentation PowerPoint en HTML avec les polices originales ou incorporées. +* Convertir une présentation PowerPoint en HTML en utilisant le nouveau style CSS. -Pour le code d'exemple C# pour convertir PowerPoint en HTML, veuillez consulter la section ci-dessous c'est-à-dire [Convertir PowerPoint en HTML](#convert-powerpoint-to-html). Le code peut charger plusieurs formats comme PPT, PPTX et ODP dans l'objet Présentation et l'enregistrer au format HTML. +## **Convertir une présentation en HTML** -## **À propos de la conversion PowerPoint en HTML** -En utilisant [**Aspose.Slides pour .NET**](https://products.aspose.com/slides/net/), les applications et les développeurs peuvent convertir une présentation PowerPoint en HTML : **PPTX en HTML** ou **PPT en HTML**. +Avec Aspose.Slides, vous pouvez convertir une présentation PowerPoint ou OpenDocument complète en HTML comme suit : -**Aspose.Slides** fournit de nombreuses options (principalement de la classe [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions)) qui définissent le processus de conversion de PowerPoint en HTML : - -* Convertir l'ensemble d'une présentation PowerPoint en HTML. -* Convertir une diapositive spécifique dans une présentation PowerPoint en HTML. -* Convertir les médias de présentation (images, vidéos, etc.) en HTML. -* Convertir une présentation PowerPoint en HTML réactif. -* Convertir une présentation PowerPoint en HTML avec des notes de conférencier incluses ou exclues. -* Convertir une présentation PowerPoint en HTML avec des commentaires inclus ou exclus. -* Convertir une présentation PowerPoint en HTML avec des polices originales ou intégrées. -* Convertir une présentation PowerPoint en HTML en utilisant le nouveau style CSS. - -{{% alert color="primary" %}} - -En utilisant sa propre API, Aspose a développé des convertisseurs gratuits [présentation en HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) : [PPT en HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX en HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP en HTML](https://products.aspose.app/slides/conversion/odp-to-html), etc. - -[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) - -Vous pouvez consulter d'autres [convertisseurs gratuits d'Aspose](https://products.aspose.app/slides/conversion). - -{{% /alert %}} - -{{% alert title="Note" color="warning" %}} - -Outre les processus de conversion décrits ici, Aspose.Slides prend également en charge ces opérations de conversion ayant trait au format HTML : - -* [HTML en image](https://products.aspose.com/slides/net/conversion/html-to-image/) -* [HTML en JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) -* [HTML en XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) -* [HTML en TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) - -{{% /alert %}} - - -## **Convertir PowerPoint en HTML** -En utilisant Aspose.Slides, vous pouvez convertir une présentation PowerPoint entière en HTML de cette façon : - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Utilisez la méthode [Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) pour enregistrer l'objet en tant que fichier HTML. - -Ce code vous montre comment convertir un PowerPoint en HTML en C# : +1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Utiliser la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) pour enregistrer l’objet sous forme de fichier HTML. +Ce code montre comment convertir une présentation PowerPoint en HTML en C# : ```c# -// Instancie un objet de présentation qui représente un fichier de présentation e.g. PPT, PPTX, ODP etc. -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) + // Instanciez la classe Presentation qui représente un fichier de présentation (par ex., PPT, PPTX, ODP, etc.). +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions htmlOpt = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOpt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; - - htmlOpt.HtmlFormatter = HtmlFormatter.CreateDocumentFormatter("", false); - - // Enregistre la présentation en tant que HTML - presentation.Save("ConvertWholePresentationToHTML_out.html", SaveFormat.Html, htmlOpt); + // Enregistrez la présentation au format HTML. + presentation.Save("output.html", SaveFormat.Html); } ``` -## **Convertir PowerPoint en HTML réactif** -Aspose.Slides fournit la classe [ResponsiveHtmlController ](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller) qui vous permet de générer des fichiers HTML réactifs. Ce code vous montre comment convertir une présentation PowerPoint en HTML réactif en C# : +## **Convertir une présentation en HTML réactif** +Aspose.Slides fournit la classe [ResponsiveHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller) qui permet de générer des fichiers HTML réactifs. Ce code démontre comment convertir une présentation PowerPoint en HTML réactif en C# : ```c# -// Instancie un objet Presentation qui représente un fichier de présentation -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// Instanciez la classe Presentation qui représente un fichier de présentation. +using (Presentation presentation = new Presentation("presentation.pptx")) { ResponsiveHtmlController controller = new ResponsiveHtmlController(); - HtmlOptions htmlOptions = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) }; - // Enregistre la présentation en tant que HTML - presentation.Save("ConvertPresentationToResponsiveHTML_out.html", SaveFormat.Html, htmlOptions); + HtmlOptions htmlOptions = new HtmlOptions + { + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) + }; + + // Enregistrez la présentation au format HTML. + presentation.Save("responsive.html", SaveFormat.Html, htmlOptions); } ``` -## **Convertir PowerPoint en HTML avec notes** -Ce code vous montre comment convertir un PowerPoint en HTML avec des notes en C# : +## **Convertir une présentation en HTML avec notes du présentateur** + +Lors de la conversion d’une présentation PowerPoint ou OpenDocument en HTML avec les notes du présentateur, il est essentiel de conserver l’essence complète du document original. Ce processus garantit que non seulement les éléments visuels des diapositives sont correctement reproduits, mais que les notes du présentateur sont également préservées, enrichissant le contenu d’un contexte et d’insights supplémentaires. + +Imaginons que nous disposions d’une présentation PowerPoint contenant la diapositive suivante : + +![Une diapositive de présentation avec notes du présentateur](slide_with_notes.png) + +Ce code montre comment convertir une présentation PowerPoint en HTML avec notes du présentateur en C# : ```c# -using (Presentation pres = new Presentation("Presentation.pptx")) +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions opt = new HtmlOptions(); + // Définir les options pour les notes du présentateur. + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - INotesCommentsLayoutingOptions options = opt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + // Définir les options pour le document HTML de sortie. + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions + }; - // Enregistre les pages de notes - pres.Save("Output.html", SaveFormat.Html, opt); + // Enregistrer la présentation en HTML avec les notes du présentateur. + presentation.Save("slide_with_notes.html", SaveFormat.Html, htmlOptions); } ``` -## **Convertir PowerPoint en HTML avec polices originales** -Aspose.Slides fournit la classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) qui permet d'intégrer toutes les polices dans une présentation lors de la conversion de la présentation en HTML. +Le résultat : + +![Un document HTML avec la diapositive et les notes du présentateur](HTML_with_notes.png) + +## **Convertir une présentation en HTML avec polices originales** -Pour empêcher certaines polices d'être intégrées, vous pouvez passer un tableau de noms de polices à un constructeur paramétré de la classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller). Des polices populaires, telles que Calibri ou Arial, lorsqu'elles sont utilisées dans une présentation, n'ont pas à être intégrées car la plupart des systèmes contiennent déjà de telles polices. Lorsque ces polices sont intégrées, le document HTML résultant devient inutilement volumineux. +Aspose.Slides fournit la classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) qui permet d’incorporer toutes les polices d’une présentation lors de sa conversion en HTML. -La classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) prend en charge l'héritage et fournit la méthode [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont) qui est destinée à être écrasée. +Pour empêcher l’incorporation de certaines polices, vous pouvez transmettre un tableau de noms de polices à un constructeur paramétré de la classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller). Les polices courantes, telles que Calibri ou Arial, n’ont pas besoin d’être incorporées car la plupart des systèmes les possèdent déjà. Les incorporer augmenterait inutilement la taille du document HTML résultant. +La classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) supporte l’héritage et fournit la méthode [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont), qui est destinée à être surchargée. ```c# -using (Presentation pres = new Presentation("input.pptx")) +using (Presentation presentation = new Presentation("input.pptx")) { - // Exclut les polices de présentation par défaut - string[] fontNameExcludeList = { "Calibri", "Arial" }; + // Exclure les polices par défaut de la présentation. + string[] excludeFonts = { "Calibri", "Arial" }; - EmbedAllFontsHtmlController embedFontsController = new EmbedAllFontsHtmlController(fontNameExcludeList); + EmbedAllFontsHtmlController fontController = new EmbedAllFontsHtmlController(excludeFonts); - HtmlOptions htmlOptionsEmbed = new HtmlOptions + HtmlOptions htmlOptions = new HtmlOptions { - HtmlFormatter = HtmlFormatter.CreateCustomFormatter(embedFontsController) + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(fontController) }; - pres.Save("input-PFDinDisplayPro-Regular-installed.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("embedded_fonts.html", SaveFormat.Html, htmlOptions); } ``` -## **Convertir PowerPoint en HTML avec images de haute qualité** -Par défaut, lorsque vous convertissez PowerPoint en HTML, Aspose.Slides génère un petit HTML avec des images à 72 DPI et des zones recadrées supprimées. Pour obtenir des fichiers HTML avec des images de haute qualité, vous devez définir la propriété `PicturesCompression` (de la classe `HtmlOptions`) sur 96 (c'est-à-dire, `PicturesCompression.Dpi96`) ou des [valeurs supérieures](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression). +## **Convertir une présentation en HTML avec images haute qualité** -Ce code C# vous montre comment convertir une présentation PowerPoint en HTML tout en obtenant des images de haute qualité à 150 DPI (c'est-à-dire `PicturesCompression.Dpi150`) : +Par défaut, lorsqu’on convertit une présentation PowerPoint en HTML, Aspose.Slides produit un petit fichier HTML avec des images à 72 DPI et supprime les zones recadrées. Pour obtenir des fichiers HTML contenant des images de meilleure qualité, vous devez définir la propriété `PicturesCompression` (de la classe `HtmlOptions`) à 96 (c’est‑à‑dire `PicturesCompression.Dpi96`) ou à une valeur supérieure, comme indiqué dans [cette référence](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression). +Ce code C# montre comment convertir une présentation PowerPoint en HTML tout en obtenant des images haute qualité à 150 DPI (c’est‑à‑dire `PicturesCompression.Dpi150`) : ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - PicturesCompression = PicturesCompression.Dpi150 -}; -pres.Save("OutputDoc-dpi150.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + PicturesCompression = PicturesCompression.Dpi150 + }; + + presentation.Save("output_dpi_150.html", SaveFormat.Html, htmlOptions); +} ``` -Ce code en C# vous montre comment générer du HTML avec des images de pleine qualité : +Ce code C# vous montre comment convertir une présentation PowerPoint en HTML sans supprimer les zones recadrées : ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - DeletePicturesCroppedAreas = false -}; -pres.Save("Outputdoc-noCrop.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + DeletePicturesCroppedAreas = false + }; + + presentation.Save("output_no_crop.html", SaveFormat.Html, htmlOptions); +} ``` -## **Convertir Diapositive en HTML** -Pour convertir une diapositive spécifique dans un PowerPoint en HTML, vous devez instancier la même classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) (utilisée pour convertir des présentations entières en HTML) et ensuite utiliser la méthode [Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) pour enregistrer le fichier en tant que HTML. La classe [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions**) peut être utilisée pour spécifier des options de conversion supplémentaires : -Ce code C# vous montre comment convertir une diapositive dans une présentation PowerPoint en HTML : +## **Convertir une diapositive de présentation en HTML** +Pour convertir une diapositive spécifique d’une présentation PowerPoint en HTML, il faut instancier la même classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) (utilisée pour la conversion de présentations entières) puis utiliser la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) pour enregistrer le fichier au format HTML. La classe [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) peut être utilisée pour spécifier des options de conversion supplémentaires. + +Ce code C# montre comment convertir une diapositive avec notes du présentateur en HTML : ```c# public static void Run() { - using (Presentation presentation = new Presentation("Individual-Slide.pptx")) + using (Presentation presentation = new Presentation("sample.pptx")) { - HtmlOptions htmlOptions = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()); + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions, + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()) + }; - // Enregistre le fichier for (int i = 0; i < presentation.Slides.Count; i++) - presentation.Save("Diapositive Individuelle" + (i + 1) + "_out.html", new[] { i + 1 }, SaveFormat.Html, htmlOptions); + { + int slideIndex = i + 1; + + // Enregistrer la diapositive dans un fichier HTML. + string fileName = $"output_slide_{slideIndex}.html"; + presentation.Save(fileName, new[] { slideIndex }, SaveFormat.Html, htmlOptions); + } } } @@ -218,27 +233,28 @@ public class CustomFormattingController : IHtmlFormattingController ``` -## **Enregistrer CSS et Images lors de l'exportation en HTML** -À l'aide de nouveaux fichiers de style CSS, vous pouvez facilement modifier le style du fichier HTML résultant du processus de conversion PowerPoint en HTML. +## **Enregistrer le CSS et les images lors de l'exportation en HTML** -Le code C# dans cet exemple vous montre comment utiliser des méthodes surchargées pour créer un document HTML personnalisé avec un lien vers un fichier CSS : +En utilisant les nouveaux fichiers de style CSS, vous pouvez modifier facilement l’apparence du fichier HTML généré à partir du processus de conversion PowerPoint‑vers‑HTML. +Le code C# de cet exemple montre comment utiliser des méthodes sur‑régisables pour créer un document HTML personnalisé incluant un lien vers un fichier CSS : ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { CustomHeaderAndFontsController htmlController = new CustomHeaderAndFontsController("styles.css"); + HtmlOptions options = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(htmlController), }; - pres.Save("pres.html", SaveFormat.Html, options); + presentation.Save("pres.html", SaveFormat.Html, options); } ``` ```c# public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController { - // Modèle d'en-tête personnalisé + // Modèle d'en-tête personnalisé. const string Header = "\n" + "\n" + "\n" + @@ -247,7 +263,6 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController "\n" + ""; - private readonly string m_cssFileName; public CustomHeaderAndFontsController(string cssFileName) @@ -263,27 +278,24 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController public override void WriteAllFonts(IHtmlGenerator generator, IPresentation presentation) { - generator.AddHtml(""); + generator.AddHtml(""); base.WriteAllFonts(generator, presentation); } } ``` -## **Lier toutes les polices lors de la conversion de la présentation en HTML** -Si vous ne voulez pas intégrer les polices (pour éviter d'augmenter la taille du HTML résultant), vous pouvez lier toutes les polices en implémentant votre propre version de `LinkAllFontsHtmlController`. +## **Lier toutes les polices lors de la conversion d'une présentation en HTML** -Ce code C# vous montre comment convertir un PowerPoint en HTML tout en liant toutes les polices et en excluant "Calibri" et "Arial" (puisqu'elles existent déjà dans le système) : +Si vous ne souhaitez pas incorporer les polices (pour éviter d’augmenter la taille du HTML résultant), vous pouvez les lier toutes en implémentant votre propre version de `LinkAllFontsHtmlController`. +Ce code C# montre comment convertir une présentation PowerPoint en HTML tout en liant toutes les polices et en excluant « Calibri » et « Arial » (puisqu’elles sont déjà installées sur le système) : ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { - // Exclut les polices de présentation par défaut + // Exclure les polices par défaut de la présentation. string[] fontNameExcludeList = { "Calibri", "Arial" }; - Paragraph para = new Paragraph(); - ITextFrame txt; - LinkAllFontsHtmlController linkcont = new LinkAllFontsHtmlController(fontNameExcludeList, @"C:\Windows\Fonts\");; HtmlOptions htmlOptionsEmbed = new HtmlOptions @@ -291,12 +303,12 @@ using (Presentation pres = new Presentation("pres.pptx")) HtmlFormatter = HtmlFormatter.CreateCustomFormatter(linkcont) }; - pres.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); } ``` -Ce code C# montre comment `LinkAllFontsHtmlController` est implémenté : +Ce code C# montre comment le `LinkAllFontsHtmlController` est implémenté : ```c# public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController { @@ -319,7 +331,7 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController try { string fontName = substitutedFont == null ? originalFont.FontName : substitutedFont.FontName; - string path = fontName + ".woff"; // Une certaine sanitisation du chemin peut être nécessaire + string path = fontName + ".woff"; // Un nettoyage du chemin peut être nécessaire. File.WriteAllBytes(Path.Combine(m_basePath, path), fontData); @@ -339,30 +351,36 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController } ``` -## **Convertir PowerPoint en HTML réactif** -Ce code C# vous montre comment convertir une présentation PowerPoint en HTML réactif : +## **Convertir une présentation avec des images SVG en HTML réactif** + +Ce code C# montre comment convertir une présentation PowerPoint en HTML réactif : ```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -HtmlOptions saveOptions = new HtmlOptions(); -saveOptions.SvgResponsiveLayout = true; -presentation.Save("SomePresentation-out.html", SaveFormat.Html, saveOptions); +using (Presentation presentation = new Presentation("Presentation.pptx")) +{ + HtmlOptions saveOptions = new HtmlOptions + { + SvgResponsiveLayout = true + }; + + presentation.Save("SvgResponsiveLayout-out.html", SaveFormat.Html, saveOptions); +} ``` -## **Exporter des fichiers multimédias en HTML** -En utilisant Aspose.Slides pour .NET, vous pouvez exporter des fichiers multimédias de cette manière : +## **Exporter les fichiers multimédia en HTML** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Obtenez une référence à la diapositive. -1. Ajoutez une vidéo à la diapositive. -1. Écrivez la présentation en tant que fichier HTML. +Avec Aspose.Slides for .NET, vous pouvez exporter les fichiers multimédia comme suit : -Ce code C# vous montre comment ajouter une vidéo à la présentation puis l'enregistrer en tant que HTML : +1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Obtenir une référence à la diapositive. +1. Ajouter une vidéo à la diapositive. +1. Écrire la présentation sous forme de fichier HTML. +Ce code C# montre comment ajouter une vidéo à la présentation puis l’enregistrer en HTML : ```c# -// Charge une présentation -using (Presentation pres = new Presentation()) +// Créer une nouvelle présentation. +using (Presentation presentation = new Presentation()) { string path = "C:/out/"; const string fileName = "ExportMediaFiles_out.html"; @@ -370,22 +388,58 @@ using (Presentation pres = new Presentation()) using (FileStream fileStream = new FileStream("my_video.avi", FileMode.Open, FileAccess.Read)) { - IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); + IVideo video = presentation.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; slide.Shapes.AddVideoFrame(10, 10, 100, 100, video); } VideoPlayerHtmlController controller = new VideoPlayerHtmlController(path, fileName, baseUri); - // Définit les options HTML + // Définir les options HTML. HtmlOptions htmlOptions = new HtmlOptions(controller); SVGOptions svgOptions = new SVGOptions(controller); htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller); htmlOptions.SlideImageFormat = SlideImageFormat.Svg(svgOptions); - // Enregistre le fichier - pres.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); + // Enregistrer la présentation dans un fichier HTML. + presentation.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); } -``` \ No newline at end of file +``` + + +{{% alert color="primary" %}} + +Aspose a développé des convertisseurs gratuits [presentation to HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) : [PPT to HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX to HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP to HTML](https://products.aspose.app/slides/conversion/odp-to-html), etc. + +[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) + +Découvrez les autres [convertisseurs gratuits d’Aspose](https://products.aspose.app/slides/conversion). + +{{% /alert %}} + +{{% alert title="Note" color="warning" %}} + +En plus des processus de conversion décrits ici, Aspose.Slides prend également en charge les opérations de conversion suivantes impliquant le format HTML : + +* [HTML to image](https://products.aspose.com/slides/net/conversion/html-to-image/) +* [HTML to JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) +* [HTML to XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) +* [HTML to TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) + +{{% /alert %}} + +## **FAQ** + +**Quelle est la performance d’Aspose.Slides lors de la conversion de plusieurs présentations en HTML ?** + +La performance dépend de la taille et de la complexité des présentations. Aspose.Slides est très efficace et évolutif pour les opérations par lots. Pour obtenir des performances optimales lors de la conversion d’un grand nombre de présentations, il est recommandé d’utiliser le multithreading ou le traitement parallèle dès que possible. + +**Aspose.Slides prend‑il en charge l’exportation des hyperliens vers HTML ?** + +Oui, Aspose.Slides prend pleinement en charge l’exportation des hyperliens intégrés vers HTML. Lorsque vous convertissez des présentations au format HTML, les hyperliens sont conservés automatiquement et restent cliquables. + +**Existe‑t‑il une limite au nombre de diapositives lors de la conversion de présentations en HTML ?** + +Il n’y a aucune limite au nombre de diapositives avec Aspose.Slides. Vous pouvez convertir des présentations de toute taille. Cependant, pour des présentations contenant un très grand nombre de diapositives, la performance peut dépendre des ressources disponibles sur votre serveur ou votre système. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md index b88dc947b7..b06b5421b6 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md @@ -1,107 +1,94 @@ --- -title: Convertir PowerPoint en JPG en C# -linktitle: Convertir PowerPoint PPT en JPG +title: Convertir PPT, PPTX et ODP en JPG en C# +linktitle: Convertir les diapositives en images JPG type: docs weight: 60 url: /fr/net/convert-powerpoint-to-jpg/ -keywords: -- Convertir une présentation PowerPoint -- JPG -- JPEG +keywords: +- convertir PowerPoint en JPG +- convertir présentation en JPG +- convertir diapositive en JPG +- convertir PPT en JPG +- convertir PPTX en JPG +- convertir ODP en JPG - PowerPoint en JPG -- PowerPoint en JPEG +- présentation en JPG +- diapositive en JPG - PPT en JPG - PPTX en JPG +- ODP en JPG +- convertir PowerPoint en JPEG +- convertir présentation en JPEG +- convertir diapositive en JPEG +- convertir PPT en JPEG +- convertir PPTX en JPEG +- convertir ODP en JPEG +- PowerPoint en JPEG +- présentation en JPEG +- diapositive en JPEG - PPT en JPEG - PPTX en JPEG +- ODP en JPEG - C# - Csharp - .NET - Aspose.Slides -description: "Convertir PowerPoint en JPG en C# ou .NET. Enregistrer une diapositive comme image JPG" +description: "Découvrez comment transformer vos diapositives provenant de présentations PowerPoint et OpenDocument en images JPEG de haute qualité en seulement quelques lignes de code. Optimisez les présentations pour le web, le partage et l'archivage. Lisez le guide complet dès maintenant !" --- -## **Aperçu** - -Cet article explique comment convertir une présentation PowerPoint au format JPG en utilisant C#. Il couvre les sujets suivants : - -- [C# Convertir PowerPoint en JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Convertir PPT en JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Convertir PPTX en JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Convertir ODP en JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Convertir une diapositive PowerPoint en image](#convert-powerpoint-pptpptx-to-jpg) - -## **C# PowerPoint en JPG** - -Pour le code d'exemple en C# pour convertir PowerPoint en JPG, veuillez consulter la section ci-dessous, c'est-à-dire [Convertir PowerPoint en JPG](#convert-powerpoint-pptpptx-to-jpg). Le code peut charger plusieurs formats comme PPT, PPTX et ODP dans un objet Présentation, puis enregistrer sa miniature de diapositive au format JPG. Les autres conversions PowerPoint en image qui sont assez similaires telles que PNG, BMP, TIFF et SVG sont abordées dans ces articles. - -- [C# PowerPoint en PNG](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -- [C# PowerPoint en BMP](#convert-powerpoint-pptpptx-to-jpg) -- [C# PowerPoint en TIFF](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) -- [C# PowerPoint en SVG](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) - -## **À propos de la conversion PowerPoint en JPG** -Avec [**Aspose.Slides .NET API**](https://products.aspose.com/slides/net/), vous pouvez convertir une présentation PowerPoint PPT ou PPTX en image JPG. Il est également possible de convertir PPT/PPTX en BMP, PNG ou SVG. Grâce à cette fonctionnalité, il est facile de mettre en œuvre votre propre visualiseur de présentation, de créer la miniature pour chaque diapositive. Cela peut être utile si vous souhaitez protéger les diapositives de présentation contre le copyright, ou démontrer la présentation en mode lecture seule. Aspose.Slides permet de convertir l'ensemble de la présentation ou une certaine diapositive en formats d'image. - -{{% alert color="primary" %}} +## **Vue d'ensemble** -Pour voir comment Aspose.Slides convertit PowerPoint en images JPG, vous pouvez essayer ces convertisseurs en ligne gratuits : PowerPoint [PPTX en JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) et [PPT en JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg). +La conversion des présentations PowerPoint et OpenDocument en images JPG facilite le partage des diapositives, optimise les performances et permet d’intégrer le contenu dans des sites Web ou des applications. Aspose.Slides for .NET vous permet de transformer les fichiers PPTX, PPT et ODP en images JPEG de haute qualité. Ce guide explique les différentes méthodes de conversion. -{{% /alert %}} +Grâce à ces fonctionnalités, il est facile de mettre en œuvre votre propre visualiseur de présentations et de créer une miniature pour chaque diapositive. Cela peut être utile si vous souhaitez protéger les diapositives contre la copie ou présenter la présentation en mode lecture seule. Aspose.Slides vous permet de convertir l’ensemble de la présentation ou une diapositive spécifique en formats d’image. -![todo:image_alt_text](ppt-to-jpg.png) +## **Convertir les diapositives de présentation en images JPG** -## **Convertir PowerPoint PPT/PPTX en JPG** -Voici les étapes pour convertir PPT/PPTX en JPG : +Voici les étapes pour convertir un fichier PPT, PPTX ou ODP en JPG : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez l'objet diapositive de type [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) à partir de la collection [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides). -3. Créez la miniature de chaque diapositive, puis convertissez-la en JPG. La méthode [**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) est utilisée pour obtenir une miniature d'une diapositive, elle retourne un objet [Bitmap](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.bitmap?view=netframework-4.8) en résultat. La méthode [GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) doit être appelée depuis la diapositive nécessaire de type [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide), les échelles de la miniature résultante sont passées dans la méthode. -4. Après avoir obtenu la miniature de la diapositive, appelez la méthode [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8) depuis l'objet miniature. Passez le nom de fichier résultant et le format d'image en paramètre.  +1. Obtenez l’objet diapositive de type [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) depuis la collection [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides). +1. Créez une image de la diapositive en utilisant la méthode [ISlide.GetImage(float, float)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5). +1. Appelez la méthode [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3) sur l’objet image. Passez le nom du fichier de sortie et le format d’image en tant qu’arguments. {{% alert color="primary" %}} -**Remarque** : La conversion PPT/PPTX en JPG diffère de la conversion vers d'autres types dans l'API Aspose.Slides .NET. Pour d'autres types, vous utilisez généralement la méthode [**IPresentation.SaveMethod(String, SaveFormat, ISaveOptions)** ](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5), mais ici vous devez utiliser la méthode [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8). +**Remarque :** La conversion de PPT, PPTX ou ODP en JPG diffère de la conversion vers d’autres formats dans l’API Aspose.Slides .NET. Pour d’autres formats, vous utilisez généralement la méthode [IPresentation.Save(String, SaveFormat, ISaveOptions)](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/save/#save_5). Cependant, pour la conversion en JPG, vous devez utiliser la méthode [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3). {{% /alert %}} - ```c# -const int imageScale = 1; +int scaleX = 1; +int scaleY = scaleX; -using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt")) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.ppt")) { - foreach (ISlide slide in pres.Slides) + foreach (ISlide slide in presentation.Slides) { - // Crée une image à échelle complète - using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) + // Créer une image de la diapositive à l'échelle spécifiée. + using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) { - // Enregistre l'image sur le disque au format JPEG - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // Enregistrer l'image sur le disque au format JPEG. + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } } ``` -## **Convertir PowerPoint PPT/PPTX en JPG avec des dimensions personnalisées** -Pour changer la dimension de la miniature résultante et de l'image JPG, vous pouvez définir les valeurs *ScaleX* et *ScaleY* en les passant dans la méthode [**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) : -```c# -using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx")) -{ - // Définit les dimensions - int desiredX = 1200; - int desiredY = 800; +## **Convertir les diapositives en JPG avec des dimensions personnalisées** - // Obtient les valeurs mises à l'échelle de X et Y - float scaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX; - float scaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY; +Pour modifier les dimensions des images JPG générées, vous pouvez définir la taille de l’image en la passant à la méthode [ISlide.GetImage(Size)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_6). Cela vous permet de créer des images avec des valeurs de largeur et de hauteur spécifiques, assurant que le résultat correspond à vos exigences en matière de résolution et de ratio d’aspect. Cette flexibilité est particulièrement utile lors de la génération d’images pour des applications Web, des rapports ou de la documentation, où des dimensions d’image précises sont requises. +```c# +Size imageSize = new Size(1200, 800); - foreach (ISlide slide in pres.Slides) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.pptx")) +{ + foreach (ISlide slide in presentation.Slides) { - // Crée une image à échelle complète - using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) + // Créer une image de diapositive avec la taille spécifiée. + using (IImage thumbnail = slide.GetImage(imageSize)) { - // Enregistre l'image sur le disque au format JPEG - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // Enregistrer l'image sur le disque au format JPEG. + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } @@ -109,42 +96,78 @@ using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx")) ``` -## **Rendre les commentaires lors de la sauvegarde de la présentation en image** -Aspose.Slides pour .NET fournit une fonctionnalité qui vous permet de rendre les commentaires dans les diapositives d'une présentation lorsque vous convertissez ces diapositives en images. Ce code C# démontre l'opération : +## **Rendre les commentaires lors de l’enregistrement des diapositives en images** + +Aspose.Slides for .NET offre une fonctionnalité qui vous permet de rendre les commentaires sur les diapositives d’une présentation lors de leur conversion en images JPG. Cette fonctionnalité est particulièrement utile pour préserver les annotations, retours ou discussions ajoutés par les collaborateurs dans les présentations PowerPoint. En activant cette option, vous vous assurez que les commentaires sont visibles dans les images générées, facilitant la révision et le partage des retours sans avoir à ouvrir le fichier de présentation original. + +Supposons que nous ayons un fichier de présentation, "sample.pptx", contenant une diapositive avec des commentaires : +![Diapositive avec commentaires](slide_with_comments.png) + +Le code C# suivant convertit la diapositive en image JPG tout en conservant les commentaires : ```c# -using (Presentation presentation = new Presentation("test.pptx")) +int scaleX = 2; +int scaleY = scaleX; + +using (Presentation presentation = new Presentation("sample.pptx")) { IRenderingOptions options = new RenderingOptions { + // Définir les options pour les commentaires de la diapositive. SlidesLayoutOptions = new NotesCommentsLayoutingOptions { - NotesPosition = NotesPositions.BottomTruncated, - CommentsAreaColor = Color.Red, + CommentsPosition = CommentsPositions.Right, CommentsAreaWidth = 200, - CommentsPosition = CommentsPositions.Right + CommentsAreaColor = Color.DarkOrange } }; - using (IImage image = presentation.Slides[0].GetImage(options)) + // Convertir la première diapositive en image. + using (IImage image = presentation.Slides[0].GetImage(options, scaleX, scaleY)) { - image.Save("OutPresBitmap.png", ImageFormat.Png); + image.Save("Slide_1.jpg", ImageFormat.Jpeg); } - - System.Diagnostics.Process.Start("OutPresBitmap.png"); } ``` -{{% alert title="Astuce" color="primary" %}} -Aspose propose une [application web Collage GRATUITE](https://products.aspose.app/slides/collage). En utilisant ce service en ligne, vous pouvez fusionner [JPG en JPG](https://products.aspose.app/slides/collage/jpg) ou des images PNG en PNG, créer des [grilles photo](https://products.aspose.app/slides/collage/photo-grid), et ainsi de suite. +Le résultat : + +![L’image JPG avec commentaires](image_with_comments.png) + +## **Voir aussi** + +Voir d’autres options de conversion de PPT, PPTX ou ODP en images, comme : + +- [Convertir PowerPoint en GIF](/slides/fr/net/convert-powerpoint-to-animated-gif/) +- [Convertir PowerPoint en PNG](/slides/fr/net/convert-powerpoint-to-png/) +- [Convertir PowerPoint en TIFF](/slides/fr/net/convert-powerpoint-to-tiff/) +- [Convertir PowerPoint en SVG](/slides/fr/net/render-a-slide-as-an-svg-image/) -En utilisant les mêmes principes décrits dans cet article, vous pouvez convertir des images d'un format à un autre. Pour plus d'informations, consultez ces pages : convertir [image en JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/) ; convertir [JPG en image](https://products.aspose.com/slides/net/conversion/jpg-to-image/) ; convertir [JPG en PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), convertir [PNG en JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/) ; convertir [PNG en SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), convertir [SVG en PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). +{{% alert color="primary" %}} +Pour voir comment Aspose.Slides convertit PowerPoint en images JPG, essayez ces convertisseurs en ligne gratuits : PowerPoint [PPTX en JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) et [PPT en JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg). +{{% /alert %}} + +![Convertisseur gratuit en ligne PPTX en JPG](ppt-to-jpg.png) + +{{% alert title="Tip" color="primary" %}} + +Aspose propose une [application Web COLLAGE GRATUITE](https://products.aspose.app/slides/collage). En utilisant ce service en ligne, vous pouvez fusionner des images [JPG en JPG](https://products.aspose.app/slides/collage/jpg) ou PNG en PNG, créer des [grilles de photos](https://products.aspose.app/slides/collage/photo-grid), etc. + +En appliquant les mêmes principes décrits dans cet article, vous pouvez convertir des images d’un format à un autre. Pour plus d’informations, consultez ces pages : convertir [image en JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); convertir [JPG en image](https://products.aspose.com/slides/net/conversion/jpg-to-image/); convertir [JPG en PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), convertir [PNG en JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); convertir [PNG en SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), convertir [SVG en PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -## **Voir aussi** +## **FAQ** + +**Cette méthode prend-elle en charge la conversion par lots ?** + +Oui, Aspose.Slides permet la conversion par lots de plusieurs diapositives en JPG en une seule opération. + +**La conversion prend‑elle en charge SmartArt, les graphiques et d’autres objets complexes ?** + +Oui, Aspose.Slides rend tout le contenu, y compris SmartArt, graphiques, tableaux, formes, etc. Cependant, la précision du rendu peut varier légèrement par rapport à PowerPoint, en particulier avec des polices personnalisées ou manquantes. -Voir d'autres options pour convertir PPT/PPTX en image telles que : +**Existe‑t‑il des limitations quant au nombre de diapositives pouvant être traitées ?** -- [Conversion PPT/PPTX en SVG](/slides/fr/net/render-a-slide-as-an-svg-image/). \ No newline at end of file +Aspose.Slides n’impose aucune limite stricte au nombre de diapositives que vous pouvez traiter. Cependant, vous pouvez rencontrer des erreurs de mémoire insuffisante lorsque vous travaillez avec de grandes présentations ou des images haute résolution. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md index 32bb9cb9f9..09bee655de 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md @@ -9,23 +9,22 @@ description: "Convertir PowerPoint en Markdown en C#" {{% alert color="info" %}} -Le support de la conversion de PowerPoint en markdown a été implémenté dans [Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/). +La prise en charge de la conversion de PowerPoint en markdown a été implémentée dans [Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/). {{% /alert %}} {{% alert color="warning" %}} -L'exportation de PowerPoint en markdown est **sans images** par défaut. Si vous souhaitez exporter un document PowerPoint contenant des images, vous devez définir `ExportType = MarkdownExportType.Visual` et définir le BasePath où les images référencées dans le document markdown seront enregistrées. +L'exportation de PowerPoint vers markdown se fait **sans images** par défaut. Si vous souhaitez exporter un document PowerPoint contenant des images, vous devez définir `ExportType = MarkdownExportType.Visual` et définir le BasePath où les images référencées dans le document markdown seront enregistrées. {{% /alert %}} ## **Convertir PowerPoint en Markdown** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) pour représenter un objet de présentation. +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) pour représenter un objet présentation. 2. Utilisez la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) pour enregistrer l'objet en tant que fichier markdown. -Ce code C# vous montre comment convertir PowerPoint en markdown : - +Ce code C# vous montre comment convertir PowerPoint en markdown: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -33,12 +32,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Convertir PowerPoint en Markdown Flavor -Aspose.Slides vous permet de convertir PowerPoint en markdown (contenant une syntaxe de base), CommonMark, markdown version GitHub, Trello, XWiki, GitLab, et 17 autres versions de markdown. +## **Convertir PowerPoint en variante Markdown** -Ce code C# vous montre comment convertir PowerPoint en CommonMark : +Aspose.Slides vous permet de convertir PowerPoint en markdown (contenant la syntaxe de base), CommonMark, markdown au format GitHub, Trello, XWiki, GitLab et 17 autres variantes markdown. +Ce code C# vous montre comment convertir PowerPoint en CommonMark : ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -49,16 +48,16 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Les 23 versions de markdown prises en charge sont [listées sous l'énumération Flavor](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) de la classe [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/). -## **Convertir une Présentation contenant des Images en Markdown** +Les 23 variantes markdown supportées sont [référencées dans l’énumération Flavor](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) de la classe [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/). -La classe [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) fournit des propriétés et des énumérations qui vous permettent d'utiliser certaines options ou paramètres pour le fichier markdown résultant. L'énumération [MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/) peut par exemple être définie sur des valeurs qui déterminent comment les images sont rendues ou gérées : `Sequential`, `TextOnly`, `Visual`. +## **Convertir une présentation contenant des images en Markdown** -### **Convertir des Images Séquentiellement** +La classe [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) fournit des propriétés et des énumérations qui vous permettent d’utiliser certaines options ou paramètres pour le fichier markdown résultant. L’énumération [MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/), par exemple, peut être définie sur des valeurs qui déterminent comment les images sont rendues ou gérées : `Sequential`, `TextOnly`, `Visual`. -Si vous souhaitez que les images apparaissent individuellement les unes après les autres dans le markdown résultant, vous devez choisir l'option séquentielle. Ce code C# vous montre comment convertir une présentation contenant des images en markdown : +### **Convertir les images séquentiellement** +Si vous voulez que les images apparaissent individuellement les unes après les autres dans le markdown résultant, vous devez choisir l’option séquentielle. Ce code C# vous montre comment convertir une présentation contenant des images en markdown : ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -75,12 +74,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **Convertir des Images Visuellement** -Si vous souhaitez que les images apparaissent ensemble dans le markdown résultant, vous devez choisir l'option visuelle. Dans ce cas, les images seront enregistrées dans le répertoire actuel de l'application (et un chemin relatif sera construit pour elles dans le document markdown), ou vous pouvez spécifier votre chemin et nom de dossier préférés. +### **Convertir les images visuellement** -Ce code C# illustre l'opération : +Si vous voulez que les images apparaissent ensemble dans le markdown résultant, vous devez choisir l’option visuelle. Dans ce cas, les images seront enregistrées dans le répertoire courant de l’application (et un chemin relatif sera créé pour elles dans le document markdown), ou vous pouvez spécifier le chemin et le nom de dossier de votre choix. +Ce code C# démontre l’opération : ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -92,4 +91,19 @@ using (Presentation pres = new Presentation("pres.pptx")) BasePath = outPath }); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Les hyperliens survivent-ils à l’exportation vers Markdown ?** + +Oui. Les [hyperliens](/slides/fr/net/manage-hyperlinks/) du texte sont conservés en tant que liens Markdown standard. Les [transitions](/slides/fr/net/slide-transition/) et les [animations](/slides/fr/net/powerpoint-animation/) des diapositives ne sont pas converties. + +**Puis-je accélérer la conversion en l’exécutant sur plusieurs threads ?** + +Vous pouvez paralléliser sur plusieurs fichiers, mais [ne partagez pas](/slides/fr/net/multithreading/) la même instance de [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) entre les threads. Utilisez des instances/processus distincts par fichier pour éviter les conflits. + +**Que se passe-t-il avec les images — où sont‑elles enregistrées et les chemins sont‑ils relatifs ?** + +[Images](/slides/fr/net/image/) sont exportées vers un dossier dédié, et le fichier Markdown les référence avec des chemins relatifs par défaut. Vous pouvez configurer le chemin de sortie de base et le nom du dossier d’actifs pour maintenir une structure de référentiel prévisible. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index 9236d02a34..8b284466ec 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,16 +1,21 @@ --- -title: Convertir PowerPoint en PDF en C# -linktitle: Convertir PowerPoint en PDF +title: Convertir PPT et PPTX en PDF en C# [Fonctionnalités avancées incluses] +linktitle: Convertir PPT et PPTX en PDF type: docs weight: 40 url: /fr/net/convert-powerpoint-to-pdf/ keywords: - convertir PowerPoint -- présentation +- convertir présentation - PowerPoint en PDF +- présentation en PDF - PPT en PDF +- convertir PPT en PDF - PPTX en PDF -- enregistrer PowerPoint en tant que PDF +- convertir PPTX en PDF +- ODP en PDF +- convertir ODP en PDF +- enregistrer PowerPoint au format PDF - PDF/A1a - PDF/A1b - PDF/UA @@ -18,172 +23,175 @@ keywords: - Csharp - .NET - Aspose.Slides pour .NET -description: "Convertir des présentations PowerPoint en PDF en C# ou .NET. Enregistrez PowerPoint en tant que PDF avec conformité ou normes d'accessibilité." +description: "Apprenez comment convertir des présentations PPT, PPTX et ODP en PDF en C# ou .NET à l’aide d’Aspose.Slides. Mettez en œuvre des fonctionnalités avancées telles que la protection par mot de passe, les normes de conformité et les options personnalisées pour des documents PDF de haute qualité et accessibles." --- ## **Aperçu** -La conversion de documents PowerPoint en format PDF offre plusieurs avantages, notamment la garantie de compatibilité entre différents appareils et la préservation de la mise en page et du format de votre présentation. Cet article vous montre comment convertir des présentations en documents PDF, utiliser diverses options pour contrôler la qualité de l'image, inclure des diapositives cachées, protéger par mot de passe des documents PDF, détecter les substitutions de polices, sélectionner des diapositives pour la conversion et appliquer les normes de conformité aux documents de sortie. +Convertir des présentations PowerPoint (PPT, PPTX, ODP, etc.) au format PDF en C# offre plusieurs avantages, notamment la compatibilité sur différents appareils et la préservation de la mise en page et du formatage de votre présentation. Ce guide montre comment convertir des présentations en documents PDF, utiliser diverses options pour contrôler la qualité des images, inclure les diapositives cachées, protéger les fichiers PDF par mot de passe, détecter les substitutions de polices, sélectionner des diapositives spécifiques pour la conversion et appliquer des normes de conformité aux documents de sortie. -## **Conversions PowerPoint en PDF** +## **Conversions PowerPoint vers PDF** -À l'aide d'Aspose.Slides, vous pouvez convertir des présentations dans ces formats en PDF : +Avec Aspose.Slides, vous pouvez convertir des présentations dans les formats suivants en PDF : -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -Pour convertir une présentation en PDF, il vous suffit de passer le nom du fichier en argument dans la classe [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) puis de sauvegarder la présentation en tant que PDF à l'aide d'une méthode [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/). La classe [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) expose la méthode [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/#presentationsave-method-5-of-9) qui est généralement utilisée pour convertir une présentation en PDF. +Pour convertir une présentation en PDF, transmettez le nom du fichier en argument à la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) puis enregistrez la présentation au format PDF à l'aide de la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/). La classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) expose la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) qui est généralement utilisée pour convertir une présentation en PDF. -{{% alert title="REMARQUE" color="warning" %}} +{{% alert title="NOTE" color="warning" %}} -Aspose.Slides pour .NET écrit directement les informations API et le numéro de version dans les documents de sortie. Par exemple, lorsqu'il convertit une présentation en PDF, Aspose.Slides pour .NET remplit le champ Application avec la valeur '*Aspose.Slides*' et le champ PDF Producer avec une valeur sous la forme '*Aspose.Slides v XX.XX*'. **Notez** que vous ne pouvez pas demander à Aspose.Slides pour .NET de modifier ou de supprimer ces informations des documents de sortie. +Aspose.Slides for .NET insère ses informations d'API et le numéro de version dans les documents de sortie. Par exemple, lors de la conversion d'une présentation en PDF, Aspose.Slides remplit le champ Application avec "*Aspose.Slides*" et le champ PDF Producer avec une valeur sous la forme "*Aspose.Slides v XX.XX*". **Remarque** que vous ne pouvez pas demander à Aspose.Slides de modifier ou de supprimer ces informations des documents de sortie. {{% /alert %}} Aspose.Slides vous permet de convertir : -* une présentation entière en PDF -* des diapositives spécifiques d'une présentation en PDF -* une présentation +* Présentations entières en PDF +* Diapositives spécifiques d’une présentation en PDF -Aspose.Slides exporte des présentations en PDF d'une manière qui rend le contenu des PDFs résultants très similaire à celui des présentations originales. Ces éléments et attributs connus sont souvent rendus correctement lors des conversions de présentation en PDF : +Aspose.Slides exporte les présentations au format PDF, garantissant que les PDF résultants correspondent étroitement aux présentations originales. Les éléments et attributs sont rendus avec précision lors de la conversion, notamment : -* images -* zones de texte et autres formes -* textes et leur formatage -* paragraphes et leur formatage -* hyperliens -* en-têtes et pieds de page -* puces -* tableaux +* Images +* Zones de texte et formes +* Mise en forme du texte +* Mise en forme des paragraphes +* Hyperliens +* En-têtes et pieds de page +* Puces +* Tableaux ## **Convertir PowerPoint en PDF** -L'opération standard de conversion PowerPoint en PDF est exécutée en utilisant les options par défaut. Dans ce cas, Aspose.Slides essaie de convertir la présentation fournie en PDF en utilisant des paramètres optimaux aux niveaux de qualité maximum. - -Ce code C# vous montre comment convertir un PowerPoint (PPT, PPTX, ODP) en PDF : +Le processus de conversion standard de PowerPoint en PDF utilise les options par défaut. Dans ce cas, Aspose.Slides essaie de convertir la présentation fournie en PDF en utilisant des paramètres optimaux au niveau de qualité maximale. +```csharp ```c# -// Instancie une classe Presentation qui représente un fichier PowerPoint, cela pourrait être PPT, PPTX, ODP etc. -Presentation presentation = new Presentation("PowerPoint.ppt"); +// Instancier la classe Presentation qui représente un fichier PowerPoint ou OpenDocument. +using var presentation = new Presentation("PowerPoint.ppt"); -// Sauvegarde la présentation en tant que PDF +// Enregistrer la présentation au format PDF. presentation.Save("PDF-result.pdf", SaveFormat.Pdf); ``` +``` + {{% alert color="primary" %}} -Aspose propose un [**convertisseur PowerPoint en PDF en ligne gratuit**](https://products.aspose.app/slides/conversion/ppt-to-pdf) qui démontre le processus de conversion de présentation en PDF. Pour une mise en œuvre en direct de la procédure décrite ici, vous pouvez faire un test avec le convertisseur. +Aspose propose un **convertisseur PowerPoint en PDF** gratuit en ligne (https://products.aspose.app/slides/conversion/ppt-to-pdf) qui montre le processus de conversion de présentation en PDF. Vous pouvez effectuer un test avec ce convertisseur pour voir une implémentation en direct de la procédure décrite ici. {{% /alert %}} ## **Convertir PowerPoint en PDF avec Options** -Aspose.Slides propose des options personnalisées—propriétés sous la classe [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)—qui vous permettent de personnaliser le PDF (résultant du processus de conversion), de verrouiller le PDF avec un mot de passe ou même de spécifier comment le processus de conversion doit se dérouler. - -### **Convertir PowerPoint en PDF avec Options Personnalisées** +Aspose.Slides fournit des options personnalisées — propriétés de la classe [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) — qui vous permettent de personnaliser le PDF résultant, de le verrouiller avec un mot de passe ou de spécifier comment le processus de conversion doit se dérouler. -En utilisant des options de conversion personnalisées, vous pouvez définir votre paramètre de qualité préféré pour les images raster, spécifier comment les mét fichiers doivent être traités, définir un niveau de compression pour les textes, définir une résolution DPI pour les images, etc. +### **Convertir PowerPoint en PDF avec des Options Personnalisées** -L'exemple de code ci-dessous démontre une opération dans laquelle une présentation PowerPoint est convertie en PDF avec plusieurs options personnalisées : +En utilisant des options de conversion personnalisées, vous pouvez définir votre paramètre de qualité préféré pour les images raster, spécifier comment les métafichiers doivent être traités, définir un niveau de compression pour le texte, configurer le DPI des images, etc. +```csharp ```c# -// Instancie la classe PdfOptions -PdfOptions pdfOptions = new PdfOptions +// Instancier la classe PdfOptions. +var pdfOptions = new PdfOptions { - // Définit la qualité pour les images JPG + // Définir la qualité des images JPG. JpegQuality = 90, - // Définit DPI pour les images + // Définir le DPI des images. SufficientResolution = 300, - // Définit le comportement pour les mét fichiers + // Définir le comportement des métafichiers. SaveMetafilesAsPng = true, - // Définit le niveau de compression pour le contenu textuel + // Définir le niveau de compression du texte pour le contenu textuel. TextCompression = PdfTextCompression.Flate, - // Définit le mode de conformité PDF + // Définir le mode de conformité PDF. Compliance = PdfCompliance.Pdf15 }; -// Instancie la classe Presentation qui représente un document PowerPoint -using (Presentation presentation = new Presentation("PowerPoint.pptx")) -{ - // Sauvegarde la présentation en tant que document PDF - presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); -} +// Instancier la classe Presentation qui représente un fichier PowerPoint ou OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); + +// Enregistrer la présentation en tant que document PDF. +presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **Convertir PowerPoint en PDF avec Diapositives Cachées** +``` -Si une présentation contient des diapositives cachées, vous pouvez utiliser une option personnalisée—la propriété [`ShowHiddenSlides`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) de la classe [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)—pour indiquer à Aspose.Slides d'inclure les diapositives cachées comme pages dans le PDF résultant. +### **Convertir PowerPoint en PDF avec Diapositives Cachées** -Ce code C# vous montre comment convertir une présentation PowerPoint en PDF en incluant les diapositives cachées : +Si une présentation contient des diapositives cachées, vous pouvez utiliser la propriété [ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) de la classe [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) pour inclure les diapositives cachées comme pages dans le PDF résultant. +```csharp ```c# -// Instancie une classe Presentation qui représente un fichier PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Instancier la classe Presentation qui représente un fichier PowerPoint ou OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -// Instancie la classe PdfOptions -PdfOptions pdfOptions = new PdfOptions(); +// Instancier la classe PdfOptions. +var pdfOptions = new PdfOptions(); -// Ajoute les diapositives cachées +// Ajouter les diapositives cachées. pdfOptions.ShowHiddenSlides = true; -// Sauvegarde la présentation en tant que PDF +// Enregistrer la présentation en PDF. presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` +``` + ### **Convertir PowerPoint en PDF Protégé par Mot de Passe** -Ce code C# vous montre comment convertir un PowerPoint en un PDF protégé par mot de passe (en utilisant les paramètres de protection de la classe [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)) : +Ce code C# montre comment convertir une présentation PowerPoint en PDF protégé par mot de passe en utilisant les paramètres de protection de la classe [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) : +```csharp ```c# -// Instancie un objet Presentation qui représente un fichier PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Instancier la classe Presentation qui représente un fichier PowerPoint ou OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -/// Instancie la classe PdfOptions -PdfOptions pdfOptions = new PdfOptions(); +// Instancier la classe PdfOptions. +var pdfOptions = new PdfOptions(); -// Définit le mot de passe PDF et les autorisations d'accès +// Définir un mot de passe PDF et les autorisations d'accès. pdfOptions.Password = "password"; pdfOptions.AccessPermissions = PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint; -// Sauvegarde la présentation en tant que PDF +// Enregistrer la présentation en PDF. presentation.Save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **Détecter les Substitutions de Polices** +``` -Aspose.Slides fournit la propriété [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) sous la classe [SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/) pour vous permettre de détecter les substitutions de polices dans un processus de conversion de présentation en PDF. +### **Détecter les Substitutions de Polices** -Ce code C# vous montre comment détecter les substitutions de polices : xxx +Aspose.Slides fournit la propriété [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) de la classe [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) qui vous permet de détecter les substitutions de polices pendant le processus de conversion de présentation en PDF. +```csharp ```c# public static void Main() { - LoadOptions loadOptions = new LoadOptions(); - FontSubstSendsWarningCallback warningCallback = new FontSubstSendsWarningCallback(); - loadOptions.WarningCallback = warningCallback; + // Instancier la classe Presentation qui représente un fichier PowerPoint ou OpenDocument. + using var presentation = new Presentation("sample.pptx"); - using (Presentation pres = new Presentation("pres.pptx", loadOptions)) - { - } + // Définir le rappel d'avertissement dans les options PDF. + var pdfOptions = new PdfOptions(); + pdfOptions.WarningCallback = new FontSubstitutionHandler(); + + // Enregistrer la présentation au format PDF. + presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); } -private class FontSubstSendsWarningCallback : IWarningCallback +// Implémentation du rappel d'avertissement. +private class FontSubstitutionHandler : IWarningCallback { public ReturnAction Warning(IWarningInfo warning) { - if (warning.WarningType == WarningType.CompatibilityIssue) - return ReturnAction.Continue; - if (warning.WarningType == WarningType.DataLoss && warning.Description.StartsWith("Font will be substituted")) { - Console.WriteLine($"Avertir sur la substitution de police: {warning.Description}"); + Console.WriteLine($"Font substitution warning: {warning.Description}"); } return ReturnAction.Continue; @@ -191,97 +199,144 @@ private class FontSubstSendsWarningCallback : IWarningCallback } ``` +``` + {{% alert color="primary" %}} -Pour plus d'informations sur l'obtention de rappels pour les substitutions de polices dans un processus de rendu, consultez [Obtenir des rappels d'avertissement pour les substitutions de polices](https://docs.aspose.com/slides/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/). +Pour plus d'informations sur la réception de callbacks pour les substitutions de polices pendant le rendu, consultez [Getting Warning Callbacks for Fonts Substitution](/slides/fr/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/). -Pour plus d'informations sur la substitution de polices, consultez l'article [Substitution de polices](https://docs.aspose.com/slides/net/font-substitution/). +Pour plus d'informations sur la substitution de polices, consultez l'article [Font Substitution](/slides/fr/net/font-substitution/). {{% /alert %}} -## **Convertir des Diapositives Sélectionnées dans PowerPoint en PDF** +## **Convertir des Diapositives Sélectionnées de PowerPoint en PDF** -Ce code C# vous montre comment convertir des diapositives spécifiques d'une présentation PowerPoint en PDF : +Ce code C# montre comment convertir uniquement des diapositives spécifiques d’une présentation PowerPoint en PDF : +```csharp ```c# -// Instancie un objet Presentation qui représente un fichier PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Instancier la classe Presentation qui représente un fichier PowerPoint ou OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -// Définit un tableau de positions de diapositives +// Définir le tableau des numéros de diapositives. int[] slides = { 1, 3 }; -// Sauvegarde la présentation en tant que PDF +// Enregistrer la présentation au format PDF. presentation.Save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf); ``` -## **Convertir PowerPoint en PDF avec Taille de Diapositive Personnalisée** +``` + +## **Convertir PowerPoint en PDF avec une Taille de Diapositive Personnalisée** -Ce code C# vous montre comment convertir un PowerPoint lorsque sa taille de diapositive est spécifiée en PDF : +Ce code C# montre comment convertir une présentation PowerPoint en PDF avec une taille de diapositive spécifiée : +```csharp ```c# -// Instancie un objet Presentation qui représente un fichier PowerPoint -Presentation presentation = new Presentation("SelectedSlides.pptx"); -Presentation auxPresentation = new Presentation(); +var slideWidth = 612; +var slideHeight = 792; -ISlide slide = presentation.Slides[0]; -auxPresentation.Slides.InsertClone(0, slide); +// Load a PowerPoint presentation. +using var presentation = new Presentation("SelectedSlides.pptx"); -// Définit le type et la taille de la diapositive -// auxPresentation.SlideSize.SetSize(presentation.SlideSize.Size.Width, presentation.SlideSize.Size.Height,SlideSizeScaleType.EnsureFit); -auxPresentation.SlideSize.SetSize(612F, 792F,SlideSizeScaleType.EnsureFit); +// Create a new presentation with an adjusted slide size. +using var resizedPresentation = new Presentation(); -PdfOptions pdfOptions = new PdfOptions(); -INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; -options.NotesPosition = NotesPositions.BottomFull; +// Set the custom slide size. +resizedPresentation.SlideSize.SetSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit); -auxPresentation.Save("PDFnotes_out.pdf", SaveFormat.Pdf, pdfOptions); +// Clone the first slide from the original presentation. +var slide = presentation.Slides[0]; +resizedPresentation.Slides.InsertClone(0, slide); + +// Save the resized presentation to a PDF with notes. +resizedPresentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf); ``` -## **Convertir PowerPoint en PDF en Vue des Notes** +``` -Ce code C# vous montre comment convertir un PowerPoint en PDF notes : +## **Convertir PowerPoint en PDF avec les Notes de Diapositives** +Ce code C# montre comment convertir une présentation PowerPoint en PDF incluant les notes : + +```csharp ```c# -// Instancie une classe Presentation qui représente un fichier PowerPoint -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// Charger une présentation PowerPoint. +using var presentation = new Presentation("NotesFile.pptx"); + +// Configurer les options PDF avec la disposition des notes. +var pdfOptions = new PdfOptions { - PdfOptions pdfOptions = new PdfOptions(); - INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + } +}; + +// Enregistrer la présentation en PDF avec notes. +presentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions); +``` - // Sauvegarde la présentation en tant que PDF notes - presentation.Save("Pdf_Notes_out.tiff", SaveFormat.Pdf, pdfOptions); -} ``` -## **Normes d'Accessibilité et de Conformité pour le PDF** +## **Accessibilité et Normes de Conformité pour le PDF** -Aspose.Slides vous permet d'utiliser une procédure de conversion qui respecte les [Directives d'accessibilité du contenu Web (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Vous pouvez exporter un document PowerPoint en PDF en utilisant ces normes de conformité : **PDF/A1a**, **PDF/A1b**, et **PDF/UA**. +Aspose.Slides vous permet d’utiliser une procédure de conversion conforme aux [Web Content Accessibility Guidelines (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Vous pouvez exporter un document PowerPoint en PDF en respectant l’une de ces normes de conformité : **PDF/A1a**, **PDF/A1b** et **PDF/UA**. -Ce code C# démontre une opération de conversion PowerPoint en PDF dans laquelle plusieurs PDFs basés sur différentes normes de conformité sont obtenus : +Ce code C# montre un processus de conversion PowerPoint‑to‑PDF qui génère plusieurs PDF selon différentes normes de conformité : +```csharp ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using var presentation = new Presentation("pres.pptx"); + +presentation.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions { - pres.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1a - }); - - pres.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1b - }); - - pres.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfUa - }); -} + Compliance = PdfCompliance.PdfA1a +}); + +presentation.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfA1b +}); + +presentation.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfUa +}); +``` + ``` {{% alert title="Note" color="warning" %}} -Le support d'Aspose.Slides pour les opérations de conversion PDF s'étend à permettre de convertir le PDF dans les formats de fichiers les plus populaires. Vous pouvez faire des conversions [PDF en HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/), [PDF en image](https://products.aspose.com/slides/net/conversion/pdf-to-image/), [PDF en JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/), et [PDF en PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/). D'autres opérations de conversion PDF vers des formats spécialisés—[PDF en SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/), [PDF en TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/), et [PDF en XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/)—sont également prises en charge. +Aspose.Slides prend en charge les opérations de conversion PDF, vous permettant de convertir des fichiers PDF vers des formats de fichier populaires. Vous pouvez réaliser les conversions [PDF to HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/), [PDF to image](https://products.aspose.com/slides/net/conversion/pdf-to-image/), [PDF to JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/), et [PDF to PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/). D’autres conversions PDF vers des formats spécialisés — [PDF to SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/), [PDF to TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/), et [PDF to XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/)\— sont également prises en charge. + +{{% /alert %}} + +## **FAQ** + +**Puis-je convertir plusieurs fichiers PowerPoint en PDF en masse ?** + +Oui, Aspose.Slides prend en charge la conversion en lot de plusieurs fichiers PPT ou PPTX en PDF. Vous pouvez parcourir vos fichiers et appliquer le processus de conversion de manière programmatique. + +**Est-il possible de protéger le PDF converti par mot de passe ?** + +Absolument. Utilisez la classe [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) pour définir un mot de passe et spécifier les autorisations d’accès lors du processus de conversion. + +**Comment inclure les diapositives cachées dans le PDF ?** + +Définissez la propriété `ShowHiddenSlides` de la classe [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) sur `true` pour inclure les diapositives cachées dans le PDF résultant. + +**Aspose.Slides peut-il maintenir une haute qualité d'image dans le PDF ?** + +Oui, vous pouvez contrôler la qualité des images en définissant des propriétés telles que `JpegQuality` et `SufficientResolution` dans la classe [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) afin d’assurer des images de haute qualité dans votre PDF. + +**Aspose.Slides prend-il en charge les normes de conformité PDF/A ?** + +Oui, Aspose.Slides vous permet d’exporter des PDFs conformes à différentes normes, notamment PDF/A1a, PDF/A1b et PDF/UA, garantissant que vos documents répondent aux exigences d’accessibilité et d’archivage. + +## **Ressources Supplémentaires** -{{% /alert %}} \ No newline at end of file +- [Documentation Aspose.Slides pour .NET](/slides/fr/net/) +- [Référence API Aspose.Slides pour .NET](https://reference.aspose.com/slides/net/) +- [Convertisseurs en ligne gratuits Aspose](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md index 9c36f59432..be3940903f 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md @@ -16,47 +16,46 @@ keywords: - C# - Csharp - Aspose.Slides pour .NET -description: Convertir une présentation PowerPoint en PNG en C#. Convertir PPT en PNG en C#. Convertir PPTX en PNG en C#. Convertir ODP en PNG en C# +description: Convertir une présentation PowerPoint en PNG avec C#. Convertir PPT en PNG avec C#. Convertir PPTX en PNG avec C#. Convertir ODP en PNG avec C# --- -## **Aperçu** +## **Vue d'ensemble** -Cet article explique comment convertir une présentation PowerPoint au format PNG en utilisant C#. Il couvre les sujets suivants. +Cet article explique comment convertir une présentation PowerPoint au format PNG à l'aide de C#. Il couvre les sujets suivants. -- [Convertir PowerPoint en PNG en C#](#convertir-powerpoint-en-png-en-c#) -- [Convertir PPT en PNG en C#](#convertir-powerpoint-en-png-en-c#) -- [Convertir PPTX en PNG en C#](#convertir-powerpoint-en-png-en-c#) -- [Convertir ODP en PNG en C#](#convertir-powerpoint-en-png-en-c#) -- [Convertir une diapositive PowerPoint en image en C#](#convertir-powerpoint-en-png-en-c#) +- [Convertir PowerPoint en PNG avec C#](#convert-powerpoint-to-png) +- [Convertir PPT en PNG avec C#](#convert-powerpoint-to-png) +- [Convertir PPTX en PNG avec C#](#convert-powerpoint-to-png) +- [Convertir ODP en PNG avec C#](#convert-powerpoint-to-png) +- [Convertir une diapositive PowerPoint en image avec C#](#convert-powerpoint-to-png) -## **C# PowerPoint en PNG** +## **PowerPoint C# vers PNG** -Pour le code d'exemple C# afin de convertir PowerPoint en PNG, veuillez consulter la section ci-dessous c'est-à-dire [Convertir PowerPoint en PNG](#convertir-powerpoint-en-png-en-c#). Le code peut charger un certain nombre de formats comme PPT, PPTX et ODP dans l'objet Presentation, puis enregistrer la miniature de sa diapositive au format PNG. Les autres conversions PowerPoint en image qui sont assez similaires comme JPG, BMP, TIFF et SVG sont discutées dans ces articles. +Pour le code d'exemple C# permettant de convertir PowerPoint en PNG, consultez la section ci‑dessous, à savoir [Convertir PowerPoint en PNG](#convert-powerpoint-to-png). Le code peut charger de nombreux formats comme PPT, PPTX et ODP dans l'objet Presentation, puis enregistrer la vignette de chaque diapositive au format PNG. Les autres conversions PowerPoint vers image, similaires, comme JPG, BMP, TIFF et SVG sont présentées dans les articles suivants. -- [C# PowerPoint en JPG](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) -- [C# PowerPoint en BMP](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) -- [C# PowerPoint en TIFF](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) -- [C# PowerPoint en SVG](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) +- [C# PowerPoint vers JPG](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) +- [C# PowerPoint vers BMP](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) +- [C# PowerPoint vers TIFF](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) +- [C# PowerPoint vers SVG](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) ## **À propos de la conversion PowerPoint en PNG** -Le format PNG (Portable Network Graphics) n'est pas aussi populaire que le JPEG (Joint Photographic Experts Group), mais il reste très populaire. +Le format PNG (Portable Network Graphics) n'est pas aussi répandu que le JPEG (Joint Photographic Experts Group), mais il reste très populaire. -**Cas d'utilisation :** Lorsque vous avez une image complexe et que la taille n'est pas un problème, le PNG est un meilleur format d'image que le JPEG. +**Cas d'utilisation :** lorsqu'une image est complexe et que la taille n’est pas un problème, le PNG constitue un meilleur format que le JPEG. -{{% alert title="Astuce" color="primary" %}} Vous voudrez peut-être consulter les **Convertisseurs PowerPoint en PNG** gratuits d'Aspose : [PPTX en PNG](https://products.aspose.app/slides/conversion/pptx-to-png) et [PPT en PNG](https://products.aspose.app/slides/conversion/ppt-to-png). Ce sont une mise en œuvre en direct du processus décrit sur cette page. {{% /alert %}} +{{% alert title="Tip" color="primary" %}} Vous pouvez essayer les convertisseurs gratuits Aspose **PowerPoint vers PNG** : [PPTX en PNG](https://products.aspose.app/slides/conversion/pptx-to-png) et [PPT en PNG](https://products.aspose.app/slides/conversion/ppt-to-png). Ils représentent une implémentation fonctionnelle du processus décrit sur cette page. {{% /alert %}} ## **Convertir PowerPoint en PNG** Suivez ces étapes : 1. Instancier la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez l'objet diapositive de la collection [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) sous l'interface [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). -3. Utilisez une méthode [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/) pour obtenir la miniature de chaque diapositive. -4. Utilisez la méthode [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) pour enregistrer la miniature de la diapositive au format PNG. - -Ce code C# vous montre comment convertir une présentation PowerPoint en PNG. L'objet Presentation peut charger PPT, PPTX, ODP, etc., puis chaque diapositive de l'objet présentation est convertie en format PNG ou dans d'autres formats d'image. +2. Obtenir l'objet diapositive à partir de la collection [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) via l'interface [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). +3. Utiliser la méthode [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/) pour récupérer la vignette de chaque diapositive. +4. Utiliser la méthode [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) pour enregistrer la vignette au format PNG. +Ce code C# montre comment convertir une présentation PowerPoint en PNG. L'objet Presentation peut charger PPT, PPTX, ODP, etc., puis chaque diapositive est convertie au format PNG ou vers d’autres formats d’image. ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -72,12 +71,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## **Convertir PowerPoint en PNG avec des dimensions personnalisées** -Si vous souhaitez obtenir des fichiers PNG autour d'une certaine échelle, vous pouvez définir les valeurs pour `desiredX` et `desiredY`, qui déterminent les dimensions de la miniature résultante. +## **Convertir PowerPoint en PNG avec des dimensions personnalisées** -Ce code en C# démontre l'opération décrite : +Si vous souhaitez obtenir des fichiers PNG selon une certaine échelle, vous pouvez définir les valeurs de `desiredX` et `desiredY`, qui déterminent les dimensions de la vignette résultante. +Ce code C# démontre l'opération décrite : ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -95,12 +94,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## **Convertir PowerPoint en PNG avec une taille personnalisée** -Si vous souhaitez obtenir des fichiers PNG autour d'une certaine taille, vous pouvez passer vos arguments préférés `width` et `height` pour `imageSize`. +## **Convertir PowerPoint en PNG avec une taille personnalisée** -Ce code vous montre comment convertir un PowerPoint en PNG tout en spécifiant la taille pour les images : +Si vous désirez obtenir des fichiers PNG d’une taille précise, vous pouvez fournir vos arguments préférés `width` et `height` pour `imageSize`. +Ce code montre comment convertir un PowerPoint en PNG tout en spécifiant la taille des images : ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -115,4 +114,19 @@ using (Presentation pres = new Presentation("pres.pptx")) } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Comment exporter uniquement une forme spécifique (par exemple, un graphique ou une image) au lieu de toute la diapositive ?** + +Aspose.Slides prend en charge [la génération de vignettes pour des formes individuelles](/slides/fr/net/create-shape-thumbnails/) ; vous pouvez rendre une forme en image PNG. + +**La conversion parallèle est‑elle prise en charge sur un serveur ?** + +Oui, mais [ne partagez pas](/slides/fr/net/multithreading/) une même instance de présentation entre plusieurs threads. Utilisez une instance distincte par thread ou processus. + +**Quelles sont les limitations de la version d'évaluation lors de l'exportation en PNG ?** + +Le mode d’évaluation ajoute un filigrane aux images générées et impose [d'autres restrictions](/slides/fr/net/licensing/) jusqu’à l’application d’une licence. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md index 1152b7ab19..82192cdfab 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md @@ -7,21 +7,42 @@ keywords: "Convertir PowerPoint, Présentation, PowerPoint en SWF, SWF flash PPT description: "Convertir une présentation PowerPoint en SWF Flash en C# ou .NET" --- -La méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) exposée par la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) peut être utilisée pour convertir l'ensemble de la présentation en un document SWF. Vous pouvez également inclure des commentaires dans le SWF généré en utilisant la classe [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) et l'interface [INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions). L'exemple suivant montre comment convertir une présentation en document SWF en utilisant les options fournies par la classe SWFOptions. +## **Convertir des présentations en Flash** +La méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) exposée par la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) peut être utilisée pour convertir l'ensemble de la présentation en document SWF. Vous pouvez également inclure des commentaires dans le SWF généré en utilisant la classe [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) et l'interface [INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions). L'exemple suivant montre comment convertir une présentation en document SWF en utilisant les options fournies par la classe SWFOptions. ```c# -// Instancier un objet Presentation qui représente un fichier de présentation +// Instancie un objet Presentation qui représente un fichier de présentation using (Presentation presentation = new Presentation("HelloWorld.pptx")) { SwfOptions swfOptions = new SwfOptions(); swfOptions.ViewerIncluded = false; + INotesCommentsLayoutingOptions notesOptions = swfOptions.NotesCommentsLayouting; notesOptions.NotesPosition = NotesPositions.BottomFull; - // Sauvegarder la présentation et les pages de notes + // Enregistrement de la présentation et des pages de notes presentation.Save("SaveAsSwf_out.swf", SaveFormat.Swf, swfOptions); swfOptions.ViewerIncluded = true; presentation.Save("SaveNotes_out.swf", SaveFormat.Swf, swfOptions); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Puis-je inclure des diapositives masquées dans le SWF ?** + +Oui. Activez l'option [ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/showhiddenslides/) dans [SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/). Par défaut, les diapositives masquées ne sont pas exportées. + +**Comment puis‑je contrôler la compression et la taille finale du SWF ?** + +Utilisez le drapeau [Compressed](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/compressed/) (activé par défaut) et ajustez [JpegQuality](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/jpegquality/) pour équilibrer la taille du fichier et la fidélité de l'image. + +**À quoi sert « ViewerIncluded » et quand faut‑il le désactiver ?** + +[ViewerIncluded](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/viewerincluded/) ajoute une interface de lecteur intégrée (contrôles de navigation, panneaux, recherche). Désactivez‑le si vous prévoyez d'utiliser votre propre lecteur ou si vous avez besoin d'un cadre SWF minimal sans interface. + +**Que se passe‑t‑il si une police source est absente sur la machine d'exportation ?** + +Aspose.Slides remplacera la police que vous spécifiez via [DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/) dans [SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/) afin d'éviter un repli non intentionnel. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index 8ca6a30b6a..ed29916429 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,25 +1,93 @@ --- -title: Convertir PowerPoint en TIFF avec des notes +title: Convertir PowerPoint en TIFF avec notes en C# +linktitle: PowerPoint en TIFF avec notes type: docs weight: 100 url: /fr/net/convert-powerpoint-to-tiff-with-notes/ -keywords: "Convertir PowerPoint en TIFF avec des notes" -description: "Convertir PowerPoint en TIFF avec des notes dans Aspose.Slides." +keywords: +- convertir PowerPoint en TIFF +- convertir une présentation en TIFF +- convertir une diapositive en TIFF +- convertir PPT en TIFF +- convertir PPTX en TIFF +- convertir ODP en TIFF +- PowerPoint en TIFF +- présentation en TIFF +- diapositive en TIFF +- PPT en TIFF +- PPTX en TIFF +- ODP en TIFF +- PowerPoint avec notes +- présentation avec notes +- diapositive avec notes +- PPT avec notes +- PPTX avec notes +- ODP avec notes +- TIFF avec notes +- C# +- .NET +- Aspose.Slides +description: "Convertir les présentations PowerPoint et OpenDocument en TIFF avec notes à l'aide d'Aspose.Slides pour .NET. Apprenez comment exporter des diapositives avec notes du présentateur efficacement." --- -{{% alert title="Astuce" color="primary" %}} +## **Vue d'ensemble** -Vous voudrez peut-être consulter le [convertisseur GRATUIT de PowerPoint en Poster](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) d'Aspose. +Aspose.Slides pour .NET offre une solution simple pour convertir des présentations PowerPoint et OpenDocument (PPT, PPTX et ODP) avec notes au format TIFF. Ce format est largement utilisé pour le stockage d’images de 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 Notes de la diapo. Le processus de conversion est simple et efficace, utilisant la méthode `Save` de la classe [Presentation](https://reference.aspose.com/slides/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 au format TIFF avec notes à l’aide d’Aspose.Slides pour .NET implique les étapes suivantes : + +1. Instancier la classe [Presentation](https://reference.aspose.com/slides/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/net/aspose.slides.export/notescommentslayoutingoptions/) pour spécifier comment les notes et les commentaires doivent être affichés. +3. Enregistrer la présentation au format TIFF : transmettre les options configurées à la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index). + +Supposons que nous ayons un fichier "speaker_notes.pptx" avec la diapositive suivante : + +![La diapositive de présentation avec notes du présentateur](slide_with_notes.png) -TIFF est l'un des nombreux formats d'image largement utilisés que Aspose.Slides pour .NET prend en charge pour convertir une présentation PowerPoint PPT et PPTX avec des notes en images. Vous pouvez également générer des miniatures de diapositives dans la vue des diapositives de notes. La méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) exposée par la classe Presentation peut être utilisée pour convertir l'ensemble de la présentation en vue de diapositives de notes en TIFF. Sauvegarder une présentation Microsoft PowerPoint en notes TIFF avec Aspose.Slides pour .NET est un processus en deux lignes. Vous ouvrez simplement la présentation et l'enregistrez en notes TIFF. Vous pouvez également générer une miniatures de diapositives dans la vue des diapositives 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 des diapositives de notes, comme montré ci-dessous : +L’extrait de code ci‑dessous montre comment convertir la présentation en une image TIFF dans la vue Notes de la diapo en utilisant la propriété [SlidesLayoutOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/). ```c# -// Instancier un objet Presentation qui représente un fichier de présentation -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// Instancier la classe Presentation qui représente un fichier de présentation. +using (Presentation presentation = new Presentation("speaker_notes.pptx")) { - // Sauvegarder la présentation en notes TIFF - presentation.Save("Notes_In_Tiff_out.tiff", SaveFormat.Tiff); + // Configurer les options TIFF avec la mise en page des notes. + TiffOptions tiffOptions = new TiffOptions + { + DpiX = 300, + DpiY = 300, + + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull // Afficher les notes sous la diapositive. + } + }; + + // Enregistrer la présentation en TIFF avec les notes du présentateur. + presentation.Save("TIFF_with_notes.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +Le résultat : + +![L’image TIFF avec notes du présentateur](TIFF_with_notes.png) + +{{% alert title="Tip" color="primary" %}} +Découvrez le [Convertisseur gratuit PowerPoint vers Poster d’Aspose](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +{{% /alert %}} + +## **FAQ** + +**Puis‑je contrôler la position de la zone de notes dans le TIFF résultant ?** + +Oui. Utilisez les [paramètres de mise en page des notes](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/) pour choisir parmi des options telles que `None`, `BottomTruncated` ou `BottomFull`, qui respectivement masquent les notes, les ajustent sur une seule page ou permettent qu’elles s’étendent sur des pages supplémentaires. + +**Comment réduire la taille d’un fichier TIFF avec notes sans perte de qualité visible ?** + +Choisissez une [compression efficace](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) (par ex. `LZW` ou `RLE`), définissez un DPI raisonnable et, si cela convient, utilisez un [format de pixel](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) 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/net/aspose.slides.export/tiffoptions/imagesize/) peut également aider sans nuire de façon perceptible à la lisibilité. + +**La police des notes influence‑t‑elle le résultat si les polices d’origine sont absentes du système ?** + +Oui. Les polices manquantes déclenchent la [substitution](/slides/fr/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/net/custom-font/) ou définissez une [police de secours](/slides/fr/net/fallback-font/) par défaut afin que les types de caractères prévus soient utilisés. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md index f140ed7237..4a600ce171 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md @@ -1,121 +1,159 @@ --- -title: Convertir PowerPoint en TIFF +title: Convertir des présentations PowerPoint en TIFF avec C# +titlelink: PowerPoint vers TIFF type: docs weight: 90 url: /fr/net/convert-powerpoint-to-tiff/ -keywords: "Convertir la présentation PowerPoint, PowerPoint en TIFF, PPT en TIFF, PPTX en TIFF, C#, Csharp, .NET, Aspose.Slides" -description: "Convertir une présentation PowerPoint en TIFF en C# ou .NET." - +keywords: +- convertir PowerPoint +- convertir OpenDocument +- convertir présentation +- convertir diapositive +- PowerPoint en TIFF +- OpenDocument en TIFF +- présentation en TIFF +- diapositive en TIFF +- PPT en TIFF +- PPTX en TIFF +- ODP en TIFF +- C# +- .NET +- Aspose.Slides +description: "Apprenez comment convertir facilement les présentations PowerPoint (PPT, PPTX) et OpenDocument (ODP) en images TIFF de haute qualité à l'aide d'Aspose.Slides pour .NET. Guide étape par étape avec des exemples de code inclus." --- -TIFF (**Tagged Image File Format**) est un format d'image bitmap sans perte et de haute qualité. Les professionnels utilisent TIFF pour leurs besoins en design, photographie et publication assistée par ordinateur. Par exemple, si vous souhaitez préserver les calques et les paramètres de votre design ou image, vous voudrez peut-être enregistrer votre travail sous forme de fichier image TIFF. - -Aspose.Slides vous permet de convertir les diapositives de PowerPoint directement en TIFF. +## **Vue d'ensemble** -{{% alert title="Astuce" color="primary" %}} +TIFF (**Tagged Image File Format**) est un format d'image matricielle sans perte largement utilisé, connu pour sa qualité exceptionnelle et la préservation détaillée des graphiques. Les concepteurs, photographes et éditeurs de bureau choisissent souvent le TIFF pour conserver les calques, la précision des couleurs et les paramètres originaux de leurs images. -Vous voudrez peut-être consulter le [convertisseur GRATUIT PowerPoint en Poster](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) d'Aspose. +Avec Aspose.Slides, vous pouvez convertir sans effort vos diapositives PowerPoint (PPT, PPTX) et diapositives OpenDocument (ODP) directement en images TIFF de haute qualité, garantissant que vos présentations conservent une fidélité visuelle maximale. -{{% /alert %}} +## **Convertir une présentation en TIFF** -## **Convertir PowerPoint en TIFF** +En utilisant la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) fournie par la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/), vous pouvez rapidement convertir une présentation PowerPoint complète en TIFF. Les images TIFF résultantes correspondent à la taille de diapositive par défaut. -En utilisant la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) exposée par la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/), vous pouvez rapidement convertir une présentation PowerPoint entière en TIFF. Les images TIFF résultantes correspondent à la taille par défaut des diapositives. - -Ce code C# montre comment convertir PowerPoint en TIFF : - -```c# -// Instancie un objet Presentation représentant un fichier de présentation -using (Presentation presentation = new Presentation("DemoFile.pptx")) +Ce code C# montre comment convertir une présentation PowerPoint en TIFF : +```cs +// Instanciez la classe Presentation qui représente un fichier de présentation (PPT, PPTX, ODP, etc.). +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - // Enregistre la présentation en tant que TIFF - presentation.Save("Tiffoutput_out.tiff", SaveFormat.Tiff); + // Enregistrez la présentation au format TIFF. + presentation.Save("Output.tiff", SaveFormat.Tiff); } ``` -## **Convertir PowerPoint en TIFF Noir et Blanc** -Dans Aspose.Slides 23.10, Aspose.Slides a ajouté une nouvelle propriété ([BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/)) à la classe [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) pour vous permettre de spécifier l'algorithme à suivre lors de la conversion d'une diapositive ou d'une image colorée en TIFF noir et blanc. Notez que ce paramètre n'est appliqué que lorsque la propriété [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) est définie sur `CCITT4` ou `CCITT3`. +## **Convertir une présentation en TIFF noir et blanc** + +La propriété [BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/) dans la classe [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) vous permet de spécifier l’algorithme utilisé lors de la conversion d’une diapositive ou d’une image couleur en TIFF noir et blanc. Notez que ce paramètre s’applique uniquement lorsque la propriété [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) est définie sur `CCITT4` ou `CCITT3`. -Ce code C# montre comment convertir une diapositive ou une image colorée en TIFF noir et blanc : +Supposons que nous ayons un fichier "sample.pptx" avec la diapositive suivante : -```c# -var tiffOptions = new TiffOptions +![Une diapositive de présentation](slide_black_and_white.png) + +Ce code C# montre comment convertir la diapositive couleur en TIFF noir et blanc : +```cs +TiffOptions tiffOptions = new TiffOptions { CompressionType = TiffCompressionTypes.CCITT4, BwConversionMode = BlackWhiteConversionMode.Dithering }; -using var presentation = new Presentation("sample.pptx"); -presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +using (Presentation presentation = new Presentation("sample.pptx")) +{ + presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +} ``` -## **Convertir PowerPoint en TIFF avec Taille Personnalisée** -Si vous avez besoin d'une image TIFF avec des dimensions définies, vous pouvez définir vos figures préférées grâce aux propriétés fournies sous [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). En utilisant la propriété [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/), par exemple, vous pouvez définir une taille pour l'image résultante. +Le résultat : -Ce code C# montre comment convertir PowerPoint en images TIFF avec taille personnalisée : +![TIFF noir et blanc](TIFF_black_and_white.png) -```c# -// Instancie un objet Presentation représentant un fichier de présentation -using (Presentation pres = new Presentation("Convert_Tiff_Custom.pptx")) -{ - // Instancie la classe TiffOptions - TiffOptions opts = new TiffOptions(); +## **Convertir une présentation en TIFF avec une taille personnalisée** - // Définit le type de compression - opts.CompressionType = TiffCompressionTypes.Default; +Si vous avez besoin d’une image TIFF avec des dimensions spécifiques, vous pouvez définir les valeurs souhaitées à l’aide des propriétés disponibles dans [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). Par exemple, la propriété [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) vous permet de définir la taille de l’image résultante. - INotesCommentsLayoutingOptions notesOptions = opts.NotesCommentsLayouting; - notesOptions.NotesPosition = NotesPositions.BottomFull; - // Types de compression - - // Défaut - Spécifie le schéma de compression par défaut (LZW). - // Aucune - Spécifie aucune compression. - // CCITT3 - // CCITT4 - // LZW - // RLE +Ce code C# montre comment convertir une présentation PowerPoint en images TIFF avec une taille personnalisée : +```cs +// Instanciez la classe Presentation qui représente un fichier de présentation (PPT, PPTX, ODP, etc.). +using (Presentation presentation = new Presentation("sample.pptx")) +{ + TiffOptions tiffOptions = new TiffOptions(); + + // Définir le type de compression. + tiffOptions.CompressionType = TiffCompressionTypes.Default; + /* + Types de compression : + Default - Spécifie le schéma de compression par défaut (LZW). + None - Indique aucune compression. + CCITT3 + CCITT4 + LZW + RLE + */ // La profondeur dépend du type de compression et ne peut pas être définie manuellement. - // L'unité de résolution est toujours égale à "2" (points par pouce) - // Définit le DPI de l'image - opts.DpiX = 200; - opts.DpiY = 100; + // Définir le DPI de l'image. + tiffOptions.DpiX = 200; + tiffOptions.DpiY = 200; - // Définit la taille de l'image - opts.ImageSize = new Size(1728, 1078); + // Définir la taille de l'image. + tiffOptions.ImageSize = new Size(1728, 1078); - // Enregistre la présentation en TIFF avec la taille spécifiée - pres.Save("TiffWithCustomSize_out.tiff", SaveFormat.Tiff, opts); + tiffOptions.SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; + + // Enregistrer la présentation au format TIFF avec la taille spécifiée. + presentation.Save("custom_size.tiff", SaveFormat.Tiff, tiffOptions); } ``` -## **Convertir PowerPoint en TIFF avec Format de Pixel Image Personnalisé** - -En utilisant la propriété [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) sous la classe [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions), vous pouvez spécifier votre format de pixel préféré pour l'image TIFF résultante. +## **Convertir une présentation en TIFF avec un format de pixel d'image personnalisé** -Ce code C# montre comment convertir PowerPoint en image TIFF avec un format de pixel personnalisé : +En utilisant la propriété [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) de la classe [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions), vous pouvez spécifier le format de pixel préféré pour l’image TIFF résultante. -```c# -// Instancie un objet Presentation représentant un fichier de présentation -using (Presentation presentation = new Presentation("DemoFile.pptx")) +Ce code C# montre comment convertir une présentation PowerPoint en image TIFF avec un format de pixel personnalisé : +```cs +// Instanciez la classe Presentation qui représente un fichier de présentation (PPT, PPTX, ODP, etc.). +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - TiffOptions options = new TiffOptions(); + TiffOptions tiffOptions = new TiffOptions(); - options.PixelFormat = ImagePixelFormat.Format8bppIndexed; + tiffOptions.PixelFormat = ImagePixelFormat.Format8bppIndexed; /* ImagePixelFormat contient les valeurs suivantes (comme indiqué dans la documentation) : - Format1bppIndexed; // 1 bit par pixel, indexé. - Format4bppIndexed; // 4 bits par pixel, indexé. - Format8bppIndexed; // 8 bits par pixel, indexé. - Format24bppRgb; // 24 bits par pixel, RVB. - Format32bppArgb; // 32 bits par pixel, ARGB. + Format1bppIndexed - 1 bit par pixel, indexé. + Format4bppIndexed - 4 bits par pixel, indexé. + Format8bppIndexed - 8 bits par pixel, indexé. + Format24bppRgb - 24 bits par pixel, RGB. + Format32bppArgb - 32 bits par pixel, ARGB. */ - // Enregistre la présentation en TIFF avec la taille d'image spécifiée - presentation.Save("Tiff_With_Custom_Image_Pixel_Format_out.tiff", SaveFormat.Tiff, options); + // Enregistrez la présentation au format TIFF avec la taille d'image spécifiée. + presentation.Save("Custom_Image_Pixel_Format.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +{{% alert title="Astuce" color="primary" %}} +Découvrez le [convertisseur gratuit PowerPoint vers affiche](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) d'Aspose. +{{% /alert %}} + +## **FAQ** + +**Puis-je convertir une diapositive individuelle au lieu de toute la présentation PowerPoint en TIFF ?** + +Oui. Aspose.Slides vous permet de convertir séparément des diapositives individuelles de présentations PowerPoint et OpenDocument en images TIFF. + +**Existe-t-il une limite au nombre de diapositives lors de la conversion d’une présentation en TIFF ?** + +Non, Aspose.Slides n’impose aucune restriction sur le nombre de diapositives. Vous pouvez convertir des présentations de toute taille au format TIFF. + +**Les animations et les effets de transition PowerPoint sont-ils conservés lors de la conversion des diapositives en TIFF ?** + +Non, le TIFF est un format d’image statique. Ainsi, les animations et les effets de transition ne sont pas conservés ; seules des captures statiques des diapositives sont exportées. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md index 6c72174ba9..496d309b7b 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md @@ -1,60 +1,98 @@ --- -title: Convertir PowerPoint en Vidéo +title: Convertir les présentations PowerPoint en vidéo en C# +linktitle: PowerPoint en vidéo type: docs weight: 130 url: /fr/net/convert-powerpoint-to-video/ -keywords: "Convertir PowerPoint, PPT, PPTX, Présentation, Vidéo, MP4, PPT en vidéo, PPT en MP4, C#, Csharp, .NET, Aspose.Slides" -description: "Convertir PowerPoint en Vidéo en C# ou .NET " +keywords: +- PowerPoint en vidéo +- convertir PowerPoint en vidéo +- présentation en vidéo +- convertir présentation en vidéo +- PPT en vidéo +- convertir PPT en vidéo +- PPTX en vidéo +- convertir PPTX en vidéo +- ODP en vidéo +- convertir ODP en vidéo +- PowerPoint en MP4 +- convertir PowerPoint en MP4 +- présentation en MP4 +- convertir présentation en MP4 +- PPT en MP4 +- convertir PPT en MP4 +- PPTX en MP4 +- convertir PPTX en MP4 +- conversion PowerPoint en vidéo +- conversion présentation en vidéo +- conversion PPT en vidéo +- conversion PPTX en vidéo +- conversion ODP en vidéo +- conversion vidéo C# +- PowerPoint +- .NET +- C# +- Aspose.Slides +description: "Apprenez à convertir les présentations PowerPoint et OpenDocument en vidéo en utilisant C#. Découvrez des exemples de code et des techniques d'automatisation pour rationaliser votre flux de travail." --- -En convertissant votre présentation PowerPoint en vidéo, vous obtenez +## **Aperçu** -* **Augmentation de l'accessibilité :** Tous les dispositifs (quelle que soit la plateforme) sont équipés par défaut de lecteurs vidéo par rapport aux applications d'ouverture de présentation, ce qui facilite l'ouverture ou la lecture des vidéos pour les utilisateurs. -* **Plus de portée :** Grâce aux vidéos, vous pouvez atteindre un large public et le cibler avec des informations qui pourraient autrement sembler ennuyeuses dans une présentation. La plupart des enquêtes et des statistiques suggèrent que les gens regardent et consomment des vidéos plus que d'autres formes de contenu, et ils préfèrent généralement ce type de contenu. +En convertissant votre présentation PowerPoint ou OpenDocument en vidéo, vous obtenez : -{{% alert color="primary" %}} +**Accessibilité accrue :** Tous les appareils, quelle que soit la plateforme, sont équipés de lecteurs vidéo par défaut, ce qui facilite l'ouverture ou la lecture des vidéos par rapport aux applications de présentation traditionnelles. -Vous voudrez peut-être consulter notre [**Convertisseur PowerPoint en Vidéo en Ligne**](https://products.aspose.app/slides/conversion/ppt-to-word) car il s'agit d'une mise en œuvre en direct et efficace du processus décrit ici. +**Portée plus large :** Les vidéos vous permettent d'atteindre un public plus vaste et de présenter l'information sous un format plus attrayant. Les sondages et les statistiques indiquent que les gens préfèrent regarder et consommer du contenu vidéo plutôt que d'autres formes, rendant votre message plus percutant. +{{% alert color="primary" %}} +Découvrez notre [**Convertisseur en ligne PowerPoint en Vidéo**](https://products.aspose.app/slides/video) car il offre une implémentation en direct et efficace du processus décrit ici. {{% /alert %}} -## **Conversion de PowerPoint en Vidéo avec Aspose.Slides** - -Dans [Aspose.Slides 22.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-22-11-release-notes/), nous avons implémenté la prise en charge de la conversion de présentation en vidéo. +Dans Aspose.Slides for .NET, nous avons implémenté la prise en charge de la conversion des présentations en vidéo. -* Utilisez Aspose.Slides pour générer un ensemble d'images (à partir des diapositives de présentation) correspondant à un certain FPS (images par seconde) -* Utilisez un utilitaire tiers comme FFMpegCore (ffmpeg) pour créer une vidéo basée sur les images. +* Utilisez Aspose.Slides for .NET pour générer des images à partir des diapositives de la présentation à une fréquence d'images spécifiée (FPS). +* Puis, utilisez un utilitaire tiers comme ffmpeg pour assembler ces images en une vidéo. -### **Convertir PowerPoint en Vidéo** +## **Convertir une présentation PowerPoint en vidéo** -1. Utilisez la commande dotnet add package pour ajouter Aspose.Slides et la bibliothèque FFMpegCore à votre projet : +1. Utilisez la commande `dotnet add package` pour ajouter Aspose.Slides et la bibliothèque FFMpegCore à votre projet : * exécutez `dotnet add package Aspose.Slides.NET --version 22.11.0` * exécutez `dotnet add package FFMpegCore --version 4.8.0` -2. Téléchargez ffmpeg [ici](https://ffmpeg.org/download.html). -3. FFMpegCore nécessite que vous spécifiiez le chemin vers le ffmpeg téléchargé (par exemple, extrait dans "C:\tools\ffmpeg") : `GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );` -4. Exécutez le code de conversion PowerPoint en vidéo. +2. Téléchargez ffmpeg depuis [ici](https://ffmpeg.org/download.html). +3. FFMpegCore nécessite que vous spécifiiez le chemin vers le ffmpeg téléchargé (par ex., extrait dans "C:\tools\ffmpeg") : +```cs + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); +``` -Ce code C# vous montre comment convertir une présentation (contenant une figure et deux effets d'animation) en vidéo : +4. Exécutez le code de conversion PowerPoint‑en‑vidéo. +Ce code C# montre comment convertir une présentation (contenant une forme et deux effets d’animation) en vidéo : ```c# using System.Collections.Generic; using Aspose.Slides; -using FFMpegCore; // Utilisera les binaires FFmpeg que nous avons extraits dans "c:\tools\ffmpeg" auparavant +using FFMpegCore; // utilisera les binaires FFmpeg que nous avons extraits vers C:\tools\ffmpeg auparavant. using Aspose.Slides.Animation; -using (Presentation presentation = new Presentation()) +using (Presentation presentation = new Presentation()) { - // Ajoute une forme de sourire et l'anime - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // Ajoutez une forme de sourire puis animez‑la. + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; - const int Fps = 33; - List frames = new List(); + const int Fps = 33; + List frames = new List(); - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) { player.FrameTick += (sender, args) => @@ -66,46 +104,41 @@ using (Presentation presentation = new Presentation()) animationsGenerator.Run(presentation.Slides); } - // Configure le dossier des binaires ffmpeg. Voir cette page : https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // Convertit les images en vidéo webm - FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // Configurez le dossier des binaires ffmpeg. Voir cette page : https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // Convertissez les images en vidéo webm. + FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` -## **Effets Vidéo** -Vous pouvez appliquer des animations aux objets sur les diapositives et utiliser des transitions entre les diapositives. +## **Effets vidéo** -{{% alert color="primary" %}} - -Vous pourriez vouloir voir ces articles : [Animation PowerPoint](https://docs.aspose.com/slides/net/powerpoint-animation/), [Animation de Forme](https://docs.aspose.com/slides/net/shape-animation/), et [Effet de Forme](https://docs.aspose.com/slides/net/shape-effect/). +Lors de la conversion d’une présentation PowerPoint en vidéo avec Aspose.Slides for .NET, vous pouvez appliquer divers effets vidéo pour améliorer la qualité visuelle du résultat. Ces effets vous permettent de contrôler l’apparence des diapositives dans la vidéo finale en ajoutant des transitions fluides, des animations et d’autres éléments visuels. Cette section explique les options d’effets vidéo disponibles et montre comment les appliquer. +{{% alert color="primary" %}} +Voir : +- [Améliorer les présentations PowerPoint avec des animations en C#](https://docs.aspose.com/slides/net/powerpoint-animation/) +- [Animation de forme](https://docs.aspose.com/slides/net/shape-animation/) +- [Appliquer des effets de forme dans PowerPoint avec C#](https://docs.aspose.com/slides/net/shape-effect/) {{% /alert %}} -Les animations et transitions rendent les diaporamas plus engageants et intéressants — et ils font la même chose pour les vidéos. Ajoutons une autre diapositive et une transition au code de la présentation précédente : - +Les animations et les transitions rendent les diaporamas plus attrayants et intéressants — et il en va de même pour les vidéos. Ajoutons une autre diapositive et une transition au code de la présentation précédente : ```c# -// Ajoute une forme de sourire et l'anime - +// Ajouter une forme de sourire et l'animer. // ... -// Ajoute une nouvelle diapositive et une transition animée - +// Ajouter une nouvelle diapositive et une transition animée. ISlide newSlide = presentation.Slides.AddEmptySlide(presentation.Slides[0].LayoutSlide); - newSlide.Background.Type = BackgroundType.OwnBackground; - newSlide.Background.FillFormat.FillType = FillType.Solid; - newSlide.Background.FillFormat.SolidFillColor.Color = Color.Indigo; - newSlide.SlideShowTransition.Type = TransitionType.Push; ``` -Aspose.Slides prend également en charge l'animation des textes. Donc nous animons des paragraphes sur des objets, qui apparaîtront les uns après les autres (avec un délai fixé à une seconde) : +Aspose.Slides prend également en charge les animations de texte. Dans cet exemple, nous animons les paragraphes sur des objets afin qu’ils apparaissent les uns après les autres, avec un délai d’une seconde entre chaque : ```c# using System.Collections.Generic; using Aspose.Slides.Export; @@ -115,41 +148,44 @@ using Aspose.Slides.Animation; using (Presentation presentation = new Presentation()) { - // Ajoute du texte et des animations - IAutoShape autoShape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); + ISlide slide = presentation.Slides[0]; + + // Ajouter du texte et des animations. + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); Paragraph para1 = new Paragraph(); para1.Portions.Add(new Portion("Aspose Slides for .NET")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("convertir la Présentation PowerPoint avec du texte en vidéo")); + para2.Portions.Add(new Portion("Convert a PowerPoint presentation with text to video")); Paragraph para3 = new Paragraph(); - para3.Portions.Add(new Portion("paragraphe par paragraphe")); + para3.Portions.Add(new Portion("paragraph by paragraph")); autoShape.TextFrame.Paragraphs.Add(para1); autoShape.TextFrame.Paragraphs.Add(para2); autoShape.TextFrame.Paragraphs.Add(para3); autoShape.TextFrame.Paragraphs.Add(new Paragraph()); - IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect1 = slide.Timeline.MainSequence.AddEffect( + para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect2 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect2 = slide.Timeline.MainSequence.AddEffect( + para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect3 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect3 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect4 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect4 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - effect.Timing.TriggerDelayTime = 1f; + effect1.Timing.TriggerDelayTime = 1f; effect2.Timing.TriggerDelayTime = 1f; effect3.Timing.TriggerDelayTime = 1f; effect4.Timing.TriggerDelayTime = 1f; - // Convertit les images en vidéo const int Fps = 33; List frames = new List(); - - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) - { player.FrameTick += (sender, args) => { @@ -157,34 +193,42 @@ using (Presentation presentation = new Presentation()) args.GetFrame().Save(frame); frames.Add(frame); }; + animationsGenerator.Run(presentation.Slides); } - // Configure le dossier des binaires ffmpeg. Voir cette page : https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // Convertit les images en vidéo webm - FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // Configurer le dossier des binaires ffmpeg. Voir cette page : https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // Convertir les images en vidéo webm. + FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` -## **Classes de Conversion Vidéo** -Pour vous permettre d'effectuer des tâches de conversion de PowerPoint en vidéo, Aspose.Slides fournit les classes [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) et [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). +## **Classes de conversion vidéo** -PresentationAnimationsGenerator vous permet de définir la taille du cadre pour la vidéo (qui sera créée plus tard) via son constructeur. Si vous passez une instance de la présentation, `Presentation.SlideSize` sera utilisée et elle génère des animations que [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) utilise. +Pour activer les tâches de conversion PowerPoint → vidéo, Aspose.Slides for .NET fournit les classes [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) et [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). -Lorsque les animations sont générées, un événement `NewAnimation` est généré pour chaque animation suivante, qui a le paramètre [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/). Ce dernier est une classe qui représente un lecteur pour une animation séparée. +`PresentationAnimationsGenerator` vous permet de définir la taille du cadre pour la vidéo (qui sera créée ultérieurement) et la valeur FPS (images par seconde) via son constructeur. Si vous transmettez une instance d’une présentation, son `Presentation.SlideSize` sera utilisé et il génère les animations que `PresentationPlayer` utilise. -Pour travailler avec [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/), les propriétés [Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/) (la durée totale de l'animation) et la méthode [SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/) sont utilisées. Chaque position d'animation est définie dans la plage *0 à duration* et ensuite la méthode `GetFrame` retournera un Bitmap correspondant à l'état de l'animation à ce moment-là. +Lorsque les animations sont générées, un événement `NewAnimation` est déclenché pour chaque animation successive, incluant un paramètre [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/). Cette classe représente un lecteur pour une animation individuelle. +Pour travailler avec [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/), vous utilisez la propriété [Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/) (qui donne la durée totale de l’animation) et la méthode [SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/). Chaque position d’animation est définie dans l’intervalle *0 à duration*, et la méthode `GetFrame` renvoie alors un Bitmap représentant l’état de l’animation à ce moment précis. ```c# using (Presentation presentation = new Presentation()) { - // Ajoute une forme de sourire et l'anime - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // Ajouter une forme de sourire et l'animer. + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; @@ -192,21 +236,21 @@ using (Presentation presentation = new Presentation()) { animationsGenerator.NewAnimation += animationPlayer => { - Console.WriteLine($"Durée totale de l'animation : {animationPlayer.Duration}"); - - animationPlayer.SetTimePosition(0); // état initial de l'animation - Bitmap bitmap = animationPlayer.GetFrame(); // bitmap de l'état initial de l'animation + Console.WriteLine($"Total animation duration: {animationPlayer.Duration}"); + + animationPlayer.SetTimePosition(0); // L'état initial de l'animation. + Bitmap bitmap = animationPlayer.GetFrame(); // Le bitmap de l'état initial de l'animation. - animationPlayer.SetTimePosition(animationPlayer.Duration); // état final de l'animation - Bitmap lastBitmap = animationPlayer.GetFrame(); // dernière image de l'animation + animationPlayer.SetTimePosition(animationPlayer.Duration); // L'état final de l'animation. + Bitmap lastBitmap = animationPlayer.GetFrame(); // La dernière image de l'animation. lastBitmap.Save("last.png"); }; } } ``` -Pour faire jouer toutes les animations d'une présentation en même temps, la classe [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) est utilisée. Cette classe prend une instance de [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) et le FPS pour les effets dans son constructeur, puis appelle l'événement `FrameTick` pour toutes les animations afin de les jouer : +Pour faire jouer toutes les animations d’une présentation simultanément, on utilise la classe [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). Cette classe accepte une instance de [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) et une valeur FPS pour les effets dans son constructeur, puis déclenche l’événement `FrameTick` pour toutes les animations afin de les jouer : ```c# using (Presentation presentation = new Presentation("animated.pptx")) { @@ -222,137 +266,154 @@ using (Presentation presentation = new Presentation("animated.pptx")) } ``` -Puis les images générées peuvent être compilées pour produire une vidéo. Voir la section [Convertir PowerPoint en Vidéo](https://docs.aspose.com/slides/net/convert-powerpoint-to-video/#convert-powerpoint-to-video). -## **Animations et Effets Supportés** +Ensuite, les images générées peuvent être assemblées pour produire une vidéo. Voir la section [Convertir une présentation PowerPoint en vidéo](/slides/fr/net/convert-powerpoint-to-video/#convert-a-powerpoint-presentation-to-video). + +## **Animations et effets pris en charge** +Lors de la conversion d’une présentation PowerPoint en vidéo avec Aspose.Slides for .NET, il est important de connaître les animations et effets pris en charge dans le résultat. Aspose.Slides prend en charge un large éventail d’effets d’entrée, de sortie et d’accentuation courants tels que fondu, glissement, zoom et rotation. Cependant, certaines animations avancées ou personnalisées peuvent ne pas être entièrement préservées ou apparaître différemment dans la vidéo finale. Cette section répertorie les animations et effets pris en charge. -**Entrée**: +**Entrée** : -| Type d'Animation | Aspose.Slides | PowerPoint | +| Type d'animation | Aspose.Slides | PowerPoint | |---|---|---| -| **Apparaître** | ![non supporté](x.png) | ![supporté](v.png) | -| **Fondu** | ![supporté](v.png) | ![supporté](v.png) | -| **Entrée en Vol** | ![supporté](v.png) | ![supporté](v.png) | -| **Entrée Flottante** | ![supporté](v.png) | ![supporté](v.png) | -| **Division** | ![supporté](v.png) | ![supporté](v.png) | -| **Essuyer** | ![supporté](v.png) | ![supporté](v.png) | -| **Forme** | ![supporté](v.png) | ![supporté](v.png) | -| **Roue** | ![supporté](v.png) | ![supporté](v.png) | -| **Barres Aléatoires** | ![supporté](v.png) | ![supporté](v.png) | -| **Grandir et Tourner** | ![non supporté](x.png) | ![supporté](v.png) | -| **Zoom** | ![supporté](v.png) | ![supporté](v.png) | -| **Rotation** | ![supporté](v.png) | ![supporté](v.png) | -| **Rebond** | ![supporté](v.png) | ![supporté](v.png) | - - -**Accentuation**: - -| Type d'Animation | Aspose.Slides | PowerPoint | +| **Appear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly In** | ![supported](v.png) | ![supported](v.png) | +| **Float In** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Grow & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | + +**Accentuation** : + +| Type d'animation | Aspose.Slides | PowerPoint | |---|---|---| -| **Pulsation** | ![non supporté](x.png) | ![supporté](v.png) | -| **Pulsation de Couleur** | ![non supporté](x.png) | ![supporté](v.png) | -| **Balancer** | ![supporté](v.png) | ![supporté](v.png) | -| **Rotation** | ![supporté](v.png) | ![supporté](v.png) | -| **Grandir/Rétrécir** | ![non supporté](x.png) | ![supporté](v.png) | -| **Désaturer** | ![non supporté](x.png) | ![supporté](v.png) | -| **Assombrir** | ![non supporté](x.png) | ![supporté](v.png) | -| **Éclaircir** | ![non supporté](x.png) | ![supporté](v.png) | -| **Transparence** | ![non supporté](x.png) | ![supporté](v.png) | -| **Couleur de l'Objet** | ![non supporté](x.png) | ![supporté](v.png) | -| **Couleur Complémentaire** | ![non supporté](x.png) | ![supporté](v.png) | -| **Couleur de Ligne** | ![non supporté](x.png) | ![supporté](v.png) | -| **Couleur de Remplissage** | ![non supporté](x.png) | ![supporté](v.png) | - -**Sortie**: - -| Type d'Animation | Aspose.Slides | PowerPoint | +| **Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Color Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Teeter** | ![supported](v.png) | ![supported](v.png) | +| **Spin** | ![supported](v.png) | ![supported](v.png) | +| **Grow/Shrink** | ![not supported](x.png) | ![supported](v.png) | +| **Desaturate** | ![not supported](x.png) | ![supported](v.png) | +| **Darken** | ![not supported](x.png) | ![supported](v.png) | +| **Lighten** | ![not supported](x.png) | ![supported](v.png) | +| **Transparency** | ![not supported](x.png) | ![supported](v.png) | +| **Object Color** | ![not supported](x.png) | ![supported](v.png) | +| **Complementary Color** | ![not supported](x.png) | ![supported](v.png) | +| **Line Color** | ![not supported](x.png) | ![supported](v.png) | +| **Fill Color** | ![not supported](x.png) | ![supported](v.png) | + +**Sortie** : + +| Type d'animation | Aspose.Slides | PowerPoint | |---|---|---| -| **Disparaître** | ![non supporté](x.png) | ![supporté](v.png) | -| **Fondu** | ![supporté](v.png) | ![supporté](v.png) | -| **Sortie en Vol** | ![supporté](v.png) | ![supporté](v.png) | -| **Sortie Flottante** | ![supporté](v.png) | ![supporté](v.png) | -| **Division** | ![supporté](v.png) | ![supporté](v.png) | -| **Essuyer** | ![supporté](v.png) | ![supporté](v.png) | -| **Forme** | ![supporté](v.png) | ![supporté](v.png) | -| **Barres Aléatoires** | ![supporté](v.png) | ![supporté](v.png) | -| **Réduire et Tourner** | ![non supporté](x.png) | ![supporté](v.png) | -| **Zoom** | ![supporté](v.png) | ![supporté](v.png) | -| **Rotation** | ![supporté](v.png) | ![supporté](v.png) | -| **Rebond** | ![supporté](v.png) | ![supporté](v.png) | - -**Chemins de Mouvement :** - -| Type d'Animation | Aspose.Slides | PowerPoint | +| **Disappear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly Out** | ![supported](v.png) | ![supported](v.png) | +| **Float Out** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shrink & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | + +**Chemins de mouvement** : + +| Type d'animation | Aspose.Slides | PowerPoint | |---|---|---| -| **Lignes** | ![supporté](v.png) | ![supporté](v.png) | -| **Arcs** | ![supporté](v.png) | ![supporté](v.png) | -| **Virages** | ![supporté](v.png) | ![supporté](v.png) | -| **Formes** | ![supporté](v.png) | ![supporté](v.png) | -| **Boucles** | ![supporté](v.png) | ![supporté](v.png) | -| **Chemin Personnalisé** | ![supporté](v.png) | ![supporté](v.png) | +| **Lines** | ![supported](v.png) | ![supported](v.png) | +| **Arcs** | ![supported](v.png) | ![supported](v.png) | +| **Turns** | ![supported](v.png) | ![supported](v.png) | +| **Shapes** | ![supported](v.png) | ![supported](v.png) | +| **Loops** | ![supported](v.png) | ![supported](v.png) | +| **Custom Path** | ![supported](v.png) | ![supported](v.png) | -## **Effets de Transition de Diapositive Supportés** +## **Effets de transition de diapositive pris en charge** -**Subtils**: +Les effets de transition de diapositive jouent un rôle important pour créer des changements fluides et visuellement attrayants entre les diapositives d’une vidéo. Aspose.Slides for .NET prend en charge une variété d’effets de transition couramment utilisés afin de préserver le flux et le style de votre présentation d’origine. Cette section souligne les effets de transition pris en charge lors du processus de conversion. -| Type d'Animation | Aspose.Slides | PowerPoint | +**Subtil** : + +| Type d'animation | Aspose.Slides | PowerPoint | |---|---|---| -| **Morphose** | ![non supporté](x.png) | ![supporté](v.png) | -| **Fondu** | ![supporté](v.png) | ![supporté](v.png) | -| **Pousser** | ![supporté](v.png) | ![supporté](v.png) | -| **Tirer** | ![supporté](v.png) | ![supporté](v.png) | -| **Essuyer** | ![supporté](v.png) | ![supporté](v.png) | -| **Division** | ![supporté](v.png) | ![supporté](v.png) | -| **Révéler** | ![non supporté](x.png) | ![supporté](v.png) | -| **Barres Aléatoires** | ![supporté](v.png) | ![supporté](v.png) | -| **Forme** | ![non supporté](x.png) | ![supporté](v.png) | -| **Dévoiler** | ![non supporté](x.png) | ![supporté](v.png) | -| **Couverture** | ![supporté](v.png) | ![supporté](v.png) | -| **Clignoter** | ![supporté](v.png) | ![supporté](v.png) | -| **Bandes** | ![supporté](v.png) | ![supporté](v.png) | - -**Excitant**: - -| Type d'Animation | Aspose.Slides | PowerPoint | +| **Morph** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Push** | ![supported](v.png) | ![supported](v.png) | +| **Pull** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Reveal** | ![not supported](x.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![not supported](x.png) | ![supported](v.png) | +| **Uncover** | ![not supported](x.png) | ![supported](v.png) | +| **Cover** | ![supported](v.png) | ![supported](v.png) | +| **Flash** | ![supported](v.png) | ![supported](v.png) | +| **Strips** | ![supported](v.png) | ![supported](v.png) | + +**Excitant** : + +| Type d'animation | Aspose.Slides | PowerPoint | |---|---|---| -| **Tomber** | ![non supporté](x.png) | ![supporté](v.png) | -| **Draper** | ![non supporté](x.png) | ![supporté](v.png) | -| **Rideaux** | ![non supporté](x.png) | ![supporté](v.png) | -| **Vent** | ![non supporté](x.png) | ![supporté](v.png) | -| **Prestige** | ![non supporté](x.png) | ![supporté](v.png) | -| **Fracture** | ![non supporté](x.png) | ![supporté](v.png) | -| **Écraser** | ![non supporté](x.png) | ![supporté](v.png) | -| **Peler** | ![non supporté](x.png) | ![supporté](v.png) | -| **Pliage de Page** | ![non supporté](x.png) | ![supporté](v.png) | -| **Avion** | ![non supporté](x.png) | ![supporté](v.png) | -| **Origami** | ![non supporté](x.png) | ![supporté](v.png) | -| **Dissoudre** | ![supporté](v.png) | ![supporté](v.png) | -| **Damier** | ![non supporté](x.png) | ![supporté](v.png) | -| **Rideaux** | ![non supporté](x.png) | ![supporté](v.png) | -| **Horloge** | ![supporté](v.png) | ![supporté](v.png) | -| **Vague** | ![non supporté](x.png) | ![supporté](v.png) | -| **Rayon de miel** | ![non supporté](x.png) | ![supporté](v.png) | -| **Paillettes** | ![non supporté](x.png) | ![supporté](v.png) | -| **Vortex** | ![non supporté](x.png) | ![supporté](v.png) | -| **Déchirer** | ![non supporté](x.png) | ![supporté](v.png) | -| **Changer** | ![non supporté](x.png) | ![supporté](v.png) | -| **Retourner** | ![non supporté](x.png) | ![supporté](v.png) | -| **Galerie** | ![non supporté](x.png) | ![supporté](v.png) | -| **Cube** | ![non supporté](x.png) | ![supporté](v.png) | -| **Portes** | ![non supporté](x.png) | ![supporté](v.png) | -| **Boîte** | ![non supporté](x.png) | ![supporté](v.png) | -| **Peigne** | ![non supporté](x.png) | ![supporté](v.png) | -| **Zoom** | ![supporté](v.png) | ![supporté](v.png) | -| **Aléatoire** | ![non supporté](x.png) | ![supporté](v.png) | - -**Contenu Dynamique**: - -| Type d'Animation | Aspose.Slides | PowerPoint | +| **Fall Over** | ![not supported](x.png) | ![supported](v.png) | +| **Drape** | ![not supported](x.png) | ![supported](v.png) | +| **Curtains** | ![not supported](x.png) | ![supported](v.png) | +| **Wind** | ![not supported](x.png) | ![supported](v.png) | +| **Prestige** | ![not supported](x.png) | ![supported](v.png) | +| **Fracture** | ![not supported](x.png) | ![supported](v.png) | +| **Crush** | ![not supported](x.png) | ![supported](v.png) | +| **Peel Off** | ![not supported](x.png) | ![supported](v.png) | +| **Page Curl** | ![not supported](x.png) | ![supported](v.png) | +| **Airplane** | ![not supported](x.png) | ![supported](v.png) | +| **Origami** | ![not supported](x.png) | ![supported](v.png) | +| **Dissolve** | ![supported](v.png) | ![supported](v.png) | +| **Checkerboard** | ![not supported](x.png) | ![supported](v.png) | +| **Blinds** | ![not supported](x.png) | ![supported](v.png) | +| **Clock** | ![supported](v.png) | ![supported](v.png) | +| **Ripple** | ![not supported](x.png) | ![supported](v.png) | +| **Honeycomb** | ![not supported](x.png) | ![supported](v.png) | +| **Glitter** | ![not supported](x.png) | ![supported](v.png) | +| **Vortex** | ![not supported](x.png) | ![supported](v.png) | +| **Shred** | ![not supported](x/png) | ![supported](v.png) | +| **Switch** | ![not supported](x.png) | ![supported](v.png) | +| **Flip** | ![not supported](x.png) | ![supported](v.png) | +| **Gallery** | ![not supported](x.png) | ![supported](v.png) | +| **Cube** | ![not supported](x.png) | ![supported](v.png) | +| **Doors** | ![not supported](x.png) | ![supported](v.png) | +| **Box** | ![not supported](x.png) | ![supported](v.png) | +| **Comb** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Random** | ![not supported](x.png) | ![supported](v.png) | + +**Contenu dynamique** : + +| Type d'animation | Aspose.Slides | PowerPoint | |---|---|---| -| **Panoramique** | ![non supporté](x.png) | ![supporté](v.png) | -| **Grande Roue** | ![supporté](v.png) | ![supporté](v.png) | -| **Convoyeur** | ![non supporté](x.png) | ![supporté](v.png) | -| **Rotation** | ![non supporté](x.png) | ![supporté](v.png) | -| **Orbite** | ![non supporté](x.png) | ![supporté](v.png) | -| **Volée à Travers** | ![supporté](v.png) | ![supporté](v.png) | \ No newline at end of file +| **Pan** | ![not supported](x.png) | ![supported](v.png) | +| **Ferris Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Conveyor** | ![not supported](x.png) | ![supported](v.png) | +| **Rotate** | ![not supported](x.png) | ![supported](v.png) | +| **Orbit** | ![not supported](x.png) | ![supported](v.png) | +| **Fly Through** | ![supported](v.png) | ![supported](v.png) | + +## **FAQ** + +**Est‑il possible de convertir des présentations protégées par mot de passe ?** + +Oui, Aspose.Slides for .NET permet de travailler avec des présentations protégées par mot de passe. Lors du traitement de ces fichiers, vous devez fournir le mot de passe correct afin que la bibliothèque puisse accéder au contenu de la présentation. + +**Aspose.Slides for .NET prend‑il en charge une utilisation dans des solutions cloud ?** + +Oui, Aspose.Slides for .NET peut être intégré aux applications et services cloud. La bibliothèque est conçue pour fonctionner dans des environnements serveur, garantissant des performances élevées et une évolutivité pour le traitement par lots de fichiers. + +**Existe‑t‑il des limitations de taille pour les présentations lors de la conversion ?** + +Aspose.Slides for .NET est capable de gérer des présentations de taille pratiquement illimitée. Cependant, avec des fichiers très volumineux, des ressources système supplémentaires peuvent être nécessaires, et il est parfois recommandé d’optimiser la présentation pour améliorer les performances. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md index 30d026bf04..46d1e20db8 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md @@ -1,85 +1,123 @@ --- -title: Convertir PowerPoint en Word +title: Convertir des présentations PowerPoint en documents Word en C# +linktitle: Convertir PowerPoint en Word type: docs weight: 110 url: /fr/net/convert-powerpoint-to-word/ keywords: -- Convertir PowerPoint -- PPT -- PPTX -- Présentation -- Word -- DOCX -- DOC +- PowerPoint en DOCX +- OpenDocument en DOCX +- présentation en DOCX +- diapositive en DOCX +- PPT en DOCX - PPTX en DOCX +- ODP en DOCX +- PowerPoint en DOC +- OpenDocument en DOC +- présentation en DOC +- diapositive en DOC - PPT en DOC - PPTX en DOC -- PPT en DOCX +- ODP en DOC +- PowerPoint en Word +- OpenDocument en Word +- présentation en Word +- diapositive en Word +- PPT en Word +- PPTX en Word +- ODP en Word +- convertir PowerPoint +- convertir OpenDocument +- convertir présentation +- convertir diapositive +- convertir PPT +- convertir PPTX +- convertir ODP - C# -- Csharp - .NET - Aspose.Slides -description: "Convertir une présentation PowerPoint en Word en C# ou .NET" +description: "Apprenez comment convertir facilement des présentations PowerPoint et OpenDocument en documents Word à l'aide d'Aspose.Slides pour .NET. Notre guide étape par étape avec du code C# d'exemple fournit la solution aux développeurs souhaitant optimiser leurs flux de travail documentaires." --- -Si vous prévoyez d'utiliser du contenu textuel ou des informations provenant d'une présentation (PPT ou PPTX) de nouvelles manières, vous pourriez bénéficier de la conversion de la présentation en Word (DOC ou DOCX). - -* Comparé à Microsoft PowerPoint, l'application Microsoft Word est mieux équipée en outils ou fonctionnalités pour le contenu. -* En plus des fonctions d'édition dans Word, vous pourriez également bénéficier de fonctionnalités de collaboration, d'impression et de partage améliorées. +## **Vue d'ensemble** -{{% alert color="primary" %}} - -Vous voudrez peut-être essayer notre [**Convertisseur en ligne de présentation à Word**](https://products.aspose.app/slides/conversion/ppt-to-word) pour voir ce que vous pourriez gagner en travaillant avec du contenu textuel provenant des diapositives. - -{{% /alert %}} +Cet article fournit une solution aux développeurs pour convertir les présentations PowerPoint et OpenDocument en documents Word en utilisant Aspose.Slides for .NET et Aspose.Words for .NET. Le guide étape par étape vous accompagne à chaque étape du processus de conversion. -### **Aspose.Slides et Aspose.Words** +## **Convertir une présentation en document Word** -Pour convertir un fichier PowerPoint (PPTX ou PPT) en Word (DOCX ou DOC), vous avez besoin à la fois de [Aspose.Slides pour .NET](https://products.aspose.com/slides/net/) et de [Aspose.Words pour .NET](https://products.aspose.com/words/net/). +Suivez les instructions ci‑dessous pour convertir une présentation PowerPoint ou OpenDocument en document Word : -En tant qu'API autonome, [Aspose.Slides](https://products.aspose.app/slides) pour .NET fournit des fonctions qui vous permettent d'extraire des textes des présentations. +1. Instancier la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) et charger un fichier de présentation. +2. Instancier les classes [Document](https://reference.aspose.com/words/net/aspose.words/document/) et [DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/) pour créer un document Word. +3. Définir la taille de la page du document Word pour qu’elle corresponde à celle de la présentation à l’aide de la propriété [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/). +4. Définir les marges du document Word à l’aide de la propriété [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/). +5. Parcourir toutes les diapositives de la présentation à l’aide de la propriété [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/) : + - Générer une image de diapositive à l’aide de la méthode `GetImage` de l’interface [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) et l’enregistrer dans un flux mémoire. + - Ajouter l’image de diapositive au document Word à l’aide de la méthode `InsertImage` de la classe [DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/). +6. Enregistrer le document Word dans un fichier. -[Aspose.Words](https://docs.aspose.com/words/net/) est une API avancée de traitement de documents qui permet aux applications de générer, modifier, convertir, rendre, imprimer des fichiers et effectuer d'autres tâches avec des documents sans utiliser Microsoft Word. +Supposons que nous ayons une présentation "sample.pptx" qui ressemble à ceci : -## **Convertir PowerPoint en Word** +![Présentation PowerPoint](PowerPoint.png) -1. Ajoutez ces espaces de noms à votre fichier program.cs : +L’exemple de code C# suivant montre comment convertir la présentation PowerPoint en document Word : +```cs +// Charger un fichier de présentation. +using var presentation = new Presentation("sample.pptx"); -```c# -using Aspose.Slides; -using Aspose.Words; -using System.IO; -``` +// Créer les objets Document et DocumentBuilder. +var document = new Document(); +var builder = new DocumentBuilder(document); -2. Utilisez ce petit extrait de code pour convertir le PowerPoint en Word : +// Définir la taille de la page dans le document Word. +var slideSize = presentation.SlideSize.Size; +builder.PageSetup.PageWidth = slideSize.Width; +builder.PageSetup.PageHeight = slideSize.Height; -```c# -using var presentation = new Presentation("sample.pptx"); +// Définir les marges dans le document Word. +builder.PageSetup.LeftMargin = 0; +builder.PageSetup.RightMargin = 0; +builder.PageSetup.TopMargin = 0; +builder.PageSetup.BottomMargin = 0; -var doc = new Document(); -var builder = new DocumentBuilder(doc); +const float scaleX = 2, scaleY = 2; +// Parcourir toutes les diapositives de la présentation. foreach (var slide in presentation.Slides) { - // génère une image de la diapositive et l'enregistre dans un flux mémoire - using var image = slide.GetImage(1, 1); + // Générer une image de diapositive et l’enregistrer dans un flux mémoire. + using var image = slide.GetImage(scaleX, scaleY); using var imageStream = new MemoryStream(); image.Save(imageStream, ImageFormat.Png); + // Ajouter l’image de diapositive au document Word. imageStream.Seek(0, SeekOrigin.Begin); - builder.InsertImage(imageStream.ToArray()); - - // insère les textes de la diapositive - foreach (var shape in slide.Shapes) - { - if (shape is AutoShape autoShape) - { - builder.Writeln(autoShape.TextFrame.Text); - } - } + builder.InsertImage(imageStream.ToArray(), builder.PageSetup.PageWidth, builder.PageSetup.PageHeight); builder.InsertBreak(BreakType.PageBreak); } -doc.Save("output.docx"); -``` \ No newline at end of file +// Enregistrer le document Word dans un fichier. +document.Save("output.docx"); +``` + + +Le résultat : + +![Document Word](Word.png) + +{{% alert color="primary" %}} + +Essayez notre [**Convertisseur PPT en Word en ligne**](https://products.aspose.app/slides/conversion/ppt-to-word) pour voir ce que vous pouvez gagner en convertissant des présentations PowerPoint et OpenDocument en documents Word. + +{{% /alert %}} + +## **FAQ** + +**Quels composants doivent être installés pour convertir les présentations PowerPoint et OpenDocument en documents Word ?** + +Vous devez simplement ajouter les packages NuGet respectifs pour [Aspose.Slides for .NET](https://www.nuget.org/packages/Aspose.Slides.NET) et [Aspose.Words for .NET](https://www.nuget.org/packages/Aspose.Words/) à votre projet C#. Les deux bibliothèques fonctionnent comme des API autonomes et il n’est pas nécessaire d’installer Microsoft Office. + +**Tous les formats de présentation PowerPoint et OpenDocument sont-ils pris en charge ?** + +Aspose.Slides for .NET [prend en charge tous les formats de présentation](/slides/fr/net/supported-file-formats/), y compris PPT, PPTX, ODP et d’autres types de fichiers courants. Cela garantit que vous pouvez travailler avec des présentations créées dans diverses versions de Microsoft PowerPoint. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md index a83cebd009..7b4c4eef2e 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md @@ -1,79 +1,86 @@ --- -title: Convertir PowerPoint en XPS +title: Convertir PowerPoint en XPS type: docs weight: 70 url: /fr/net/convert-powerpoint-to-xps -keywords: "Convertir Présentation PowerPoint, PowerPoint en XPS, PPT en XPS, PPTX en XPS, Conversion, C#, Csharp, .NET, Aspose.Slides" -description: "Convertir la présentation PowerPoint en XPS en C# ou .NET." +keywords: "Convertir la présentation PowerPoint, PowerPoint en XPS, PPT en XPS, PPTX en XPS, Conversion, C#, Csharp, .NET, Aspose.Slides" +description: "Convertir une présentation PowerPoint en XPS en C# ou .NET." --- ## **À propos de XPS** -Microsoft a développé [XPS](https://docs.fileformat.com/page-description-language/xps/) comme une alternative au [PDF](https://docs.fileformat.com/pdf/). Il vous permet d'imprimer du contenu en produisant un fichier très similaire à un PDF. Le format XPS est basé sur XML. La mise en page ou la structure d'un fichier XPS reste la même sur tous les systèmes d'exploitation et toutes les imprimantes. +Microsoft a développé [XPS](https://docs.fileformat.com/page-description-language/xps/) comme une alternative à [PDF](https://docs.fileformat.com/pdf/). Il vous permet d'imprimer du contenu en générant un fichier très similaire à un PDF. Le format XPS est basé sur XML. La mise en page ou la structure d'un fichier XPS reste la même sur tous les systèmes d'exploitation et imprimantes. -## Quand utiliser le format Microsoft XPS +## **Quand utiliser le format Microsoft XPS** {{% alert color="primary" %}} -Pour voir comment Aspose.Slides convertit une présentation PPT ou PPTX en format XPS, vous pouvez consulter [cette application de conversion en ligne gratuite](https://products.aspose.app/slides/conversion). +Pour voir comment Aspose.Slides convertit une présentation PPT ou PPTX au format XPS, vous pouvez consulter cette application de conversion en ligne gratuite. {{% /alert %}} -Si vous souhaitez réduire les coûts de stockage, vous pouvez convertir votre présentation Microsoft PowerPoint en format XPS. De cette manière, vous trouverez plus facile de sauvegarder, partager et imprimer vos documents. +Si vous souhaitez réduire les coûts de stockage, vous pouvez convertir votre présentation Microsoft PowerPoint au format XPS. Ainsi, il vous sera plus facile d'enregistrer, de partager et d'imprimer vos documents. -Microsoft continue à mettre en œuvre un fort soutien pour XPS dans Windows (même dans Windows 10), donc vous pouvez envisager de sauvegarder des fichiers dans ce format. Si vous utilisez Windows 8.1, Windows 8, Windows 7 et Windows Vista, alors XPS pourrait en fait être votre meilleure option pour certaines opérations. +Microsoft continue à assurer une prise en charge solide de XPS sous Windows (même sous Windows 10), vous pouvez donc envisager d’enregistrer les fichiers dans ce format. Si vous travaillez avec Windows 8.1, Windows 8, Windows 7 et Windows Vista, XPS pourrait en fait être votre meilleure option pour certaines opérations. -- **Windows 8** utilise le format OXPS (Open XPS) pour les fichiers XPS. OXPS est une version standardisée du format XPS original. Windows 8 offre un meilleur support pour les fichiers XPS que pour les fichiers PDF. - - **XPS :** Visionneuse/lecteur XPS intégré et fonctionnalité d'impression vers XPS disponible. - - **PDF** : Lecteur PDF disponible mais pas de fonctionnalité d'impression vers PDF. +- **Windows 8** utilise le format OXPS (Open XPS) pour les fichiers XPS. OXPS est une version standardisée du format XPS original. Windows 8 offre une meilleure prise en charge des fichiers XPS que des fichiers PDF. + - **XPS :** Visionneuse/lecteur XPS intégré et fonctionnalité d’impression vers XPS disponible. + - **PDF :** Lecteur PDF disponible mais aucune fonctionnalité d’impression vers PDF. -- **Windows 7 et Windows Vista** utilisent le format XPS original. Ces systèmes d'exploitation offrent également un meilleur support pour les fichiers XPS que pour les PDF. - - **XPS :** Visionneuse XPS intégrée et fonctionnalité d'impression vers XPS disponible. - - **PDF :** Pas de lecteur PDF. Pas de fonctionnalité d'impression vers PDF. +- **Windows 7 et Windows Vista** utilisent le format XPS original. Ces systèmes d'exploitation offrent également une meilleure prise en charge des fichiers XPS que des PDF. + - **XPS :** Visionneuse XPS intégrée et fonctionnalité d’impression vers XPS disponible. + - **PDF :** Aucun lecteur PDF. Aucune fonctionnalité d’impression vers PDF. -|

**Entrée PPT(X):

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**Sortie XPS:

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| +|

**Entrée PPT(X):**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**Sortie XPS:**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| | :- | :- | +Microsoft a finalement implémenté la prise en charge des impressions en PDF grâce à la fonction Imprimer en PDF sous Windows 10. Auparavant, les utilisateurs devaient imprimer les documents via le format XPS. +## **Conversion XPS avec Aspose.Slides** -Microsoft a finalement mis en œuvre le support des opérations d'impression en PDF grâce à la fonctionnalité Imprimer en PDF dans Windows 10. Auparavant, les utilisateurs étaient censés imprimer des documents via le format XPS. - -## Conversion XPS avec Aspose.Slides - -Dans [**Aspose.Slides**](https://products.aspose.com/slides/net/) pour .NET, vous pouvez utiliser la méthode [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) exposée par la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) pour convertir l'ensemble de la présentation en document XPS. - -Lors de la conversion d'une présentation en XPS, vous devez enregistrer la présentation en utilisant l'un de ces paramètres : +Dans **Aspose.Slides** pour .NET, vous pouvez utiliser la méthode [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) exposée par la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) pour convertir l'intégralité de la présentation en document XPS. +Lors de la conversion d'une présentation au format XPS, vous devez enregistrer la présentation en utilisant l'une de ces configurations : - Paramètres par défaut (sans [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) - Paramètres personnalisés (avec [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) -### **Conversion de Présentations en XPS en Utilisant les Paramètres par Défaut** - -Ce code exemple en C# vous montre comment convertir une présentation en document XPS en utilisant des paramètres standard : +### **Conversion de présentations en XPS avec les paramètres par défaut** +Cet exemple de code en C# montre comment convertir une présentation en document XPS en utilisant les paramètres standard : ```c# -// Instancier un objet Presentation représentant un fichier de présentation +// Instancier un objet Presentation qui représente un fichier de présentation using (Presentation pres = new Presentation("Convert_XPS.pptx")) { - // Sauvegarder la présentation dans un document XPS + // Enregistrement de la présentation au format XPS pres.Save("XPS_Output_Without_XPSOption_out.xps", SaveFormat.Xps); } ``` -### **Conversion de Présentations en XPS en Utilisant des Paramètres Personnalisés** -Ce code exemple vous montre comment convertir une présentation en document XPS en utilisant des paramètres personnalisés en C# : +### **Conversion de présentations en XPS avec des paramètres personnalisés** +Cet exemple de code montre comment convertir une présentation en document XPS en utilisant des paramètres personnalisés en C# : ```c# -// Instancier un objet Presentation représentant un fichier de présentation +// Instancier un objet Presentation qui représente un fichier de présentation using (Presentation pres = new Presentation("Convert_XPS_Options.pptx")) { // Instancier la classe TiffOptions XpsOptions options = new XpsOptions(); - // Sauvegarder les MetaFiles en tant que PNG + // Enregistrer les MetaFiles en PNG options.SaveMetafilesAsPng = true; - // Sauvegarder la présentation dans un document XPS + // Enregistrer la présentation au format XPS pres.Save("XPS_With_Options_out.xps", SaveFormat.Xps, options); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Puis‑je enregistrer le XPS dans un flux au lieu d’un fichier ?** + +Oui—Aspose.Slides vous permet d’exporter directement vers un flux, ce qui est idéal pour les API web, les pipelines côté serveur, ou tout scénario où vous devez envoyer le XPS sans toucher au système de fichiers. + +**Les diapositives masquées sont transférées vers le XPS et puis‑je les exclure ?** + +Par défaut, seules les diapositives normales (visibles) sont rendues. Vous pouvez [inclure ou exclure les diapositives masquées](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/) via les [paramètres d'exportation](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/) avant d’enregistrer en XPS, garantissant que la sortie contient exactement les pages souhaitées. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index 3c47b7234a..f7921659b3 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -4,19 +4,19 @@ linktitle: Convertir PPT en PPTX type: docs weight: 20 url: /fr/net/convert-ppt-to-pptx/ -keywords: "C# Convertir PPT en PPTX, Convertir Présentation PowerPoint, PPT en PPTX, C#, Csharp, .NET, Aspose.Slides" -description: "Convertir PowerPoint PPT en PPTX en C# ou .NET" +keywords: "C# Convertir PPT en PPTX, Convertir présentation PowerPoint, PPT en PPTX, C#, Csharp, .NET, Aspose.Slides" +description: "Convertir un fichier PowerPoint PPT en PPTX en C# ou .NET" --- -## **Aperçu** +## **Vue d'ensemble** -Cet article explique comment convertir une présentation PowerPoint au format PPT en format PPTX en utilisant C# et avec une application de conversion en ligne PPT en PPTX. Les sujets suivants sont abordés. +Cet article explique comment convertir une présentation PowerPoint au format PPT en format PPTX en utilisant C# et une application en ligne de conversion PPT vers PPTX. Les sujets suivants sont abordés. -- [Convertir PPT en PPTX en C#](#convertir-ppt-en-pptx) +- [Convertir PPT en PPTX en C#](#convert-ppt-to-pptx) ## **C# Convertir PPT en PPTX** -Pour un exemple de code C# pour convertir PPT en PPTX, veuillez consulter la section ci-dessous i.e. [Convertir PPT en PPTX](#convertir-ppt-en-pptx). Il suffit de charger le fichier PPT et de l'enregistrer au format PPTX. En spécifiant différents formats de sauvegarde, vous pouvez également enregistrer le fichier PPT dans de nombreux autres formats comme PDF, XPS, ODP, HTML, etc. comme discuté dans ces articles. +Pour le code d'exemple C# permettant de convertir PPT en PPTX, veuillez consulter la section ci-dessous, à savoir [Convertir PPT en PPTX](#convert-ppt-to-pptx). Il charge simplement le fichier PPT et l'enregistre au format PPTX. En spécifiant différents formats d'enregistrement, vous pouvez également enregistrer le fichier PPT dans de nombreux autres formats tels que PDF, XPS, ODP, HTML, etc., comme discuté dans ces articles. - [C# Convertir PPT en PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) - [C# Convertir PPT en XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) @@ -25,36 +25,68 @@ Pour un exemple de code C# pour convertir PPT en PPTX, veuillez consulter la sec - [C# Convertir PPT en Image](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) ## **À propos de la conversion PPT en PPTX** -Convertissez l'ancien format PPT en PPTX avec l'API Aspose.Slides. Si vous devez convertir des milliers de présentations PPT en format PPTX, la meilleure solution est de le faire par programme. Avec l'API Aspose.Slides, il est possible de le faire en quelques lignes de code. L'API prend en charge une compatibilité totale pour convertir une présentation PPT en PPTX et il est possible de : +Convertissez l'ancien format PPT en PPTX avec l'API Aspose.Slides. Si vous devez convertir des milliers de présentations PPT en format PPTX, la meilleure solution consiste à le faire de manière programmatique. Avec l'API Aspose.Slides, il est possible de le faire en seulement quelques lignes de code. L'API offre une compatibilité totale pour convertir une présentation PPT en PPTX et il est possible de : -- Convertir des structures compliquées de maîtres, de mises en page et de diapositives. -- Convertir des présentations avec des graphiques. -- Convertir des présentations avec des formes groupées, des formes automatiques (comme des rectangles et des ellipses), des formes avec une géométrie personnalisée. -- Convertir des présentations ayant des styles de remplissage de textures et d'images pour des formes automatiques. -- Convertir des présentations avec des espaces réservés, des cadres de texte et des supports de texte. +- Convertir des structures complexes de maîtres, de dispositions et de diapositives. +- Convertir une présentation contenant des graphiques. +- Convertir une présentation avec des formes groupées, des formes automatiques (comme des rectangles et des ellipses), des formes avec une géométrie personnalisée. +- Convertir une présentation comportant des textures et des styles de remplissage d'images pour les formes automatiques. +- Convertir une présentation avec des espaces réservés, des cadres de texte et des conteneurs de texte. {{% alert color="primary" %}} -Jetez un œil à l'application [**Aspose.Slides Conversion PPT en PPTX**](https://products.aspose.app/slides/conversion/ppt-to-pptx) : +Jetez un œil à l'application [**Conversion PPT en PPTX d'Aspose.Slides**](https://products.aspose.app/slides/conversion/ppt-to-pptx) : [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -Cette application est construite sur la base de l'**API Aspose.Slides**, vous pouvez donc voir un exemple vivant des capacités de conversion de base de PPT en PPTX. La conversion Aspose.Slides est une application web, qui permet de déposer un fichier de présentation au format PPT et de le télécharger converti en PPTX. +Cette application est construite sur l'**API Aspose.Slides**, vous pouvez donc voir un exemple fonctionnel des capacités de conversion de base de PPT en PPTX. Aspose.Slides Conversion est une application web qui permet de déposer un fichier de présentation au format PPT et de le télécharger converti en PPTX. + +Découvrez d'autres exemples en ligne de [**Conversion Aspose.Slides**](https://products.aspose.app/slides/conversion/) . -Trouvez d'autres exemples en direct de [**Conversion Aspose.Slides**](https://products.aspose.app/slides/conversion/). {{% /alert %}} -## **Convertir PPT en PPTX** -Pour convertir un PPT en PPTX, il suffit de passer le nom du fichier et le format de sauvegarde à la méthode [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) de la classe [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation). L'exemple de code C# ci-dessous convertit une présentation de PPT en PPTX en utilisant les options par défaut. +## **Convertir PPT en PPTX** +Pour convertir un PPT en PPTX, il suffit de transmettre le nom du fichier et le format d'enregistrement à la méthode [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) de la classe [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation). L'exemple de code C# ci-dessous convertit une présentation du format PPT au format PPTX en utilisant les options par défaut. ```c# // Instancier un objet Presentation qui représente un fichier PPTX Presentation pres = new Presentation("PPTtoPPTX.ppt"); -// Sauvegarder la présentation PPTX au format PPTX +// Enregistrement de la présentation PPTX au format PPTX pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` -Lisez-en plus sur les formats de présentation [**PPT vs PPTX**](/slides/fr/net/ppt-vs-pptx/) et comment [**Aspose.Slides prend en charge la conversion PPT en PPTX**](/slides/fr/net/convert-ppt-to-pptx/). \ No newline at end of file + +En savoir plus sur les formats de présentation [**PPT vs PPTX**](/slides/fr/net/ppt-vs-pptx/) et sur la façon dont [**Aspose.Slides prend en charge la conversion PPT en PPTX**](/slides/fr/net/convert-ppt-to-pptx/). + +## **FAQ** + +**Quelle est la différence entre les formats PPT et PPTX ?** + +PPT est l'ancien format de fichier binaire utilisé par Microsoft PowerPoint, tandis que PPTX est le nouveau format basé sur XML introduit avec Microsoft Office 2007. Les fichiers PPTX offrent de meilleures performances, une taille de fichier réduite et une récupération de données améliorée. + +**Puis‑je convertir PPT en PPTX avec .NET ?** + +Oui, en utilisant la bibliothèque Aspose.Slides pour .NET, vous pouvez facilement charger un fichier PPT et l'enregistrer au format PPTX en quelques lignes de code seulement. + +**Aspose.Slides prend‑il en charge la conversion par lots de plusieurs fichiers PPT en PPTX ?** + +Oui, vous pouvez utiliser Aspose.Slides dans une boucle pour convertir plusieurs fichiers PPT en PPTX de manière programmatique, ce qui le rend adapté aux scénarios de conversion par lots. + +**Le contenu et la mise en forme seront‑ils conservés après la conversion ?** + +Aspose.Slides maintient une haute fidélité lors de la conversion des présentations. Les dispositions des diapositives, les animations, les formes, les graphiques et les autres éléments de conception sont conservés lors de la conversion de PPT en PPTX. + +**Puis‑je convertir d'autres formats comme PDF ou HTML à partir de fichiers PPT ?** + +Oui, Aspose.Slides prend en charge la conversion des fichiers PPT vers plusieurs formats, notamment PDF, XPS, HTML, ODP et des formats d'image tels que PNG et JPEG. + +**Est‑il possible de convertir PPT en PPTX sans Microsoft PowerPoint installé ?** + +Oui, Aspose.Slides pour .NET est une API autonome qui ne nécessite pas Microsoft PowerPoint ni aucun logiciel tiers pour effectuer la conversion. + +**Existe‑t‑il un outil en ligne disponible pour la conversion PPT en PPTX ?** + +Oui, vous pouvez utiliser le [convertisseur en ligne gratuit Aspose.Slides PPT en PPTX](https://products.aspose.app/slides/conversion/ppt-to-pptx) pour effectuer la conversion directement dans votre navigateur, sans écrire de code. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md index 9857396a13..21f8bae9f9 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md @@ -4,19 +4,19 @@ linktitle: Convertir PPTX en PPT type: docs weight: 21 url: /fr/net/convert-pptx-to-ppt/ -keywords: "C# Convertir PPTX en PPT, Convertir Présentation PowerPoint, PPTX en PPT, C#, Aspose.Slides" +keywords: "C# Convertir PPTX en PPT, Convertir une présentation PowerPoint, PPTX en PPT, C#, Aspose.Slides" description: "Convertir PowerPoint PPTX en PPT en C#" --- -## **Aperçu** +## **Vue d'ensemble** -Cet article explique comment convertir une Présentation PowerPoint au format PPTX en format PPT en utilisant C#. Le sujet suivant est traité. +Cet article décrit comment convertir une présentation PowerPoint au format PPTX en format PPT à l'aide de C#. Le sujet suivant est couvert. - Convertir PPTX en PPT en C# ## **C# Convertir PPTX en PPT** -Pour le code d'exemple C# pour convertir PPTX en PPT, veuillez consulter la section ci-dessous i.e. [Convertir PPTX en PPT](#convert-pptx-to-ppt). Il suffit de charger le fichier PPTX et de l'enregistrer au format PPT. En spécifiant différents formats d'enregistrement, vous pouvez également enregistrer le fichier PPTX dans de nombreux autres formats comme PDF, XPS, ODP, HTML, etc. comme discuté dans ces articles. +Pour le code d'exemple C# permettant de convertir PPTX en PPT, veuillez consulter la section ci-dessous, à savoir [Convertir PPTX en PPT](#convert-pptx-to-ppt). Il charge simplement le fichier PPTX et l'enregistre au format PPT. En spécifiant différents formats d'enregistrement, vous pouvez également enregistrer le fichier PPTX dans de nombreux autres formats tels que PDF, XPS, ODP, HTML, etc., comme expliqué dans ces articles. - [C# Convertir PPTX en PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) - [C# Convertir PPTX en XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) @@ -25,12 +25,26 @@ Pour le code d'exemple C# pour convertir PPTX en PPT, veuillez consulter la sect - [C# Convertir PPTX en Image](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) ## **Convertir PPTX en PPT** -Pour convertir un PPTX en PPT, il suffit de passer le nom du fichier et le format d'enregistrement à la méthode [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) de la classe [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/). L'exemple de code C# ci-dessous convertit une Présentation de PPTX en PPT en utilisant les options par défaut. - +Pour convertir un PPTX en PPT, il suffit de transmettre le nom du fichier et le format d'enregistrement à la méthode [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) de la classe [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/). L'exemple de code C# ci-dessous convertit une présentation de PPTX en PPT en utilisant les options par défaut. ```c# // Instancier un objet Presentation qui représente un fichier PPTX Presentation pres = new Presentation("presentation.pptx"); // Enregistrer la présentation PPTX au format PPT pres.Save("presentation.ppt", SaveFormat.Ppt); -``` \ No newline at end of file +``` + + +## **FAQ** + +**Toutes les effets et fonctionnalités PPTX sont‑ils conservés lors de l'enregistrement au format PPT hérité (97-2003) ?** + +Pas toujours. Le format PPT ne possède pas certaines capacités plus récentes (par exemple, certains effets, objets et comportements), de sorte que des fonctionnalités peuvent être simplifiées ou rasterisées lors de la conversion. + +**Puis‑je convertir uniquement des diapositives sélectionnées en PPT au lieu de toute la présentation ?** + +L'enregistrement direct cible l'ensemble de la présentation. Pour convertir des diapositives spécifiques, créez une nouvelle présentation contenant uniquement ces diapositives et enregistrez‑la au format PPT ; alternativement, utilisez un service/API qui prend en charge des paramètres de conversion par diapositive. + +**Les présentations protégées par mot de passe sont‑elles prises en charge ?** + +Oui. Vous pouvez détecter si un fichier est protégé, l'ouvrir avec un mot de passe, et également [configurer les paramètres de protection/encryption](/slides/fr/net/password-protected-presentation/) pour le PPT enregistré. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index 70dfc40f98..2b771e1950 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,39 +1,54 @@ --- -title: PPT vs PPTX +title: "Comprendre la différence : PPT vs PPTX" +linktitle: PPT vs PPTX type: docs weight: 10 url: /fr/net/ppt-vs-pptx/ -keywords: "PPT vs PPTX, PPT ou PPTX, Présentation PowerPoint, format, C#, Csharp, .NET" -description: "À propos des formats de présentation PowerPoint. PPT vs PPTX. Différences en C# ou .NET" +keywords: "PPT vs PPTX, formats PowerPoint, C#, .NET, Convertir PPT en PPTX, Présentation en .NET" +description: "Explorez les différences clés entre les formats PPT et PPTX. Apprenez leur utilisation dans les environnements C# et .NET." --- -## **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 utilisaient le format de fichier PPT, cependant son extensibilité est limitée. +## **Comprendre le PPT : format hérité** +[**PPT**](https://docs.fileformat.com/presentation/ppt/) est un format de fichier binaire utilisé par PowerPoint 97‑2003. En raison de sa nature binaire, la visualisation de son contenu nécessite des outils spécialisés. Malgré ses limites en termes d’extensibilité, le format PPT reste largement utilisé pour certaines applications. -## **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 médias. Le format PPTX est facilement extensible. Par exemple, il est facile d'ajouter le support d'un nouveau type de graphique ou d'une nouvelle forme, sans changer le format PPTX dans chaque nouvelle version de PowerPoint. Le format PPTX est utilisé à partir de PowerPoint 2007. +## **Explorer le PPTX : norme moderne** +[**PPTX**](https://docs.fileformat.com/presentation/pptx/) s’appuie sur la norme Office Open XML (ISO 29500:2008‑2016, ECMA‑376). Ce format basé sur XML offre une plus grande souplesse et est compatible avec PowerPoint 2007 et versions ultérieures. La modularité du PPTX facilite l’ajout de nouvelles fonctionnalités, comme de nouveaux types de graphiques ou de formes, tout en assurant la rétrocompatibilité sans modifications majeures du format. -## **PPT vs PPTX** -Bien que PPTX offre une fonctionnalité beaucoup plus large, PPT reste assez populaire. La nécessité de convertir de PPT à PPTX et vice versa est fortement demandée. +## **PPT vs. PPTX : différences clés et aspects de conversion** +Le PPTX offre des fonctionnalités améliorées par rapport au format PPT hérité, mais des conversions entre ces formats sont souvent nécessaires. La transition de PPT vers PPTX pose des défis spécifiques en raison de problèmes de compatibilité. PowerPoint peut créer des composants spécifiques (MetroBlob) dans les fichiers PPT pour stocker des données exclusives au PPTX, que les versions plus anciennes de PowerPoint ne peuvent pas afficher mais peuvent restaurer lorsqu’ils sont ouverts dans des versions plus récentes ou convertis en PPTX. -Cependant, la conversion entre l'ancien format PPT et le nouveau format PPTX est le défi le plus compliqué 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 issues de PPTX qui ne sont pas supportées par le format PPT et qui 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 d'une 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 simplifie le travail avec les formats PPT et PPTX, offrant des capacités de conversion fluides. Si la conversion complète de PPT vers PPTX est prise en charge, la conversion de PPTX vers PPT comporte des limitations. Il est recommandé d’utiliser le PPTX chaque fois que possible afin d’optimiser les fonctionnalités et la compatibilité. {{% alert color="primary" %}} - -Vérifiez la qualité des conversions de PPT à PPTX et de PPTX à PPT avec l'application en ligne [**Aspose.Slides Conversion app**](https://products.aspose.app/slides/conversion/). - -{{% /alert %}} - -```c# -// Instancier un objet Presentation qui représente un fichier PPTX +Découvrez des conversions de haute qualité avec l'[**outil de conversion Aspose.Slides**](https://products.aspose.app/slides/conversion/). +{{% /alert %}} +```csharp +// Instancier un objet Presentation représentant un fichier PPTX Presentation pres = new Presentation("PPTtoPPTX.ppt"); -// Sauvegarde de la présentation PPTX au format PPTX +// Enregistrer la présentation PPTX au format PPTX pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` + {{% alert color="primary" %}} -Lisez-en plus [**Comment convertir des présentations PPT en PPTX**.](/slides/fr/net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +En savoir plus : [**Comment convertir des présentations de PPT en PPTX**](/slides/fr/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 façon fiable et n’a pas besoin de collaboration ou de fonctionnalités récentes, vous pouvez la conserver en PPT. Mais pour la compatibilité et l’extensibilité futures, il est préférable de [convertir en PPTX](/slides/fr/net/convert-ppt-to-pptx/) : le format repose sur la norme OOXML ouverte et est plus facilement supporté par les outils modernes. + +**Comment décider quels fichiers sont prioritaires à convertir en premier vers PPTX ?** + +Convertissez d’abord les présentations qui : sont éditées par plusieurs personnes ; contiennent des [graphismes](/slides/fr/net/create-chart/)/[formes](/slides/fr/net/shape-manipulations/) complexes ; sont utilisées dans des communications externes ; ou déclenchent des avertissements lors de leur [ouverture](/slides/fr/net/open-presentation/). + +**La protection par mot de passe sera‑t‑elle conservée lors de la conversion de PPT vers PPTX et inversement ?** + +Le mot de passe est conservé uniquement avec une conversion correcte et un support de chiffrement dans l’outil utilisé. Il est plus fiable de [supprimer la protection](/slides/fr/net/password-protected-presentation/), [convertir](/slides/fr/net/convert-ppt-to-pptx/), puis de réappliquer la protection selon votre politique de sécurité. + +**Pourquoi certains effets disparaissent ou sont simplifiés lors de la conversion de PPTX vers PPT ?** + +Parce que le PPT ne prend pas en charge certains objets ou 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 versions plus anciennes de PowerPoint ne les rendront pas. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index 9b026379c3..009a7dcfdc 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -8,82 +8,81 @@ description: Cet article explique comment convertir une présentation PowerPoint keywords: C# Convertir PowerPoint en SVG, C# PPT en SVG, C# PPTX en SVG --- -## Aperçu +## **Aperçu** Cet article explique comment **convertir une présentation PowerPoint au format SVG à l'aide de C#**. Il couvre les sujets suivants. -_Format_: **PowerPoint** -- [C# PowerPoint en SVG](#csharp-powerpoint-to-svg) +_Format_ : **PowerPoint** +- [C# PowerPoint vers SVG](#csharp-powerpoint-to-svg) - [C# Convertir PowerPoint en SVG](#csharp-powerpoint-to-svg) - [C# Comment convertir un fichier PowerPoint en SVG](#csharp-powerpoint-to-svg) -_Format_: **PPT** -- [C# PPT en SVG](#csharp-ppt-to-svg) +_Format_ : **PPT** +- [C# PPT vers SVG](#csharp-ppt-to-svg) - [C# Convertir PPT en SVG](#csharp-ppt-to-svg) - [C# Comment convertir un fichier PPT en SVG](#csharp-ppt-to-svg) -_Format_: **PPTX** -- [C# PPTX en SVG](#csharp-pptx-to-svg) +_Format_ : **PPTX** +- [C# PPTX vers SVG](#csharp-pptx-to-svg) - [C# Convertir PPTX en SVG](#csharp-pptx-to-svg) - [C# Comment convertir un fichier PPTX en SVG](#csharp-pptx-to-svg) -_Format_: **ODP** -- [C# ODP en SVG](#csharp-odp-to-svg) +_Format_ : **ODP** +- [C# ODP vers SVG](#csharp-odp-to-svg) - [C# Convertir ODP en SVG](#csharp-odp-to-svg) - [C# Comment convertir un fichier ODP en SVG](#csharp-odp-to-svg) -_Format_: **Diapositive** -- [C# Convertir une diapositive PowerPoint en SVG](#render-a-slide-as-an-svg-image) -- [C# Convertir une diapositive PPT en SVG](#render-a-slide-as-an-svg-image) -- [C# Convertir une diapositive PPTX en SVG](#render-a-slide-as-an-svg-image) -- [C# Convertir une diapositive ODP en SVG](#render-a-slide-as-an-svg-image) +_Format_ : **Diapositive** +- [C# Convertir la diapositive PowerPoint en SVG](#render-a-slide-as-an-svg-image) +- [C# Convertir la diapositive PPT en SVG](#render-a-slide-as-an-svg-image) +- [C# Convertir la diapositive PPTX en SVG](#render-a-slide-as-an-svg-image) +- [C# Convertir la diapositive ODP en SVG](#render-a-slide-as-an-svg-image) -D'autres sujets abordés par cet article. +Autres sujets abordés dans cet article. - [Voir aussi](#see-also) -## Format SVG -SVG—un acronyme pour Scalable Vector Graphics—est un type ou format graphique standard utilisé pour rendre des images en deux dimensions. SVG stocke des images sous forme de vecteurs en XML avec des détails qui définissent leur comportement ou leur apparence. +## **Format SVG** -SVG est l'un des rares formats d'images qui répond à des normes très élevées à cet égard : évolutivité, interactivité, performance, accessibilité, programmabilité, et autres. Pour ces raisons, il est couramment utilisé dans le développement web. +SVG—acronyme de Scalable Vector Graphics—est un type ou format graphique standard utilisé pour rendre 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 voudrez peut-être utiliser des fichiers SVG lorsque vous avez besoin de +SVG est l'un des rares formats d'images à répondre à des exigences très élevées en matière de scalabilité, d'interactivité, de performance, d'accessibilité, de programmabilité, etc. Pour ces raisons, il est couramment utilisé dans le développement Web. -- **imprimer votre présentation dans un *formats très grand*.** Les images SVG peuvent s'adapter à 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 tableaux de vos diapositives dans *différents supports ou plateformes**.* La plupart des lecteurs peuvent interpréter des fichiers SVG. -- **utiliser les *tailles d'image 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 images bitmap (JPEG ou PNG). +Vous pouvez souhaiter utiliser des fichiers SVG lorsque vous devez -## Rendre une Diapositive en tant qu'Image 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 dans *différents supports ou plates‑formes*.** 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 ceux basés sur le bitmap (JPEG ou PNG). -Aspose.Slides pour .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 : +## **Rendre une diapositive en tant qu'image SVG** -_Etapes : Conversions PowerPoint en SVG en C#_ +Aspose.Slides pour .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 : -Le code d'exemple suivant explique ces conversions en utilisant .NET. -- Étapes : Convertir PowerPoint en SVG en C# -- Étapes : Convertir PPT en SVG en C# -- Étapes : Convertir PPTX en SVG en C# -- Étapes : Convertir ODP en SVG en C# +_Étapes : conversions PowerPoint vers SVG en C#_ -_Etapes de code :_ +- Étapes : Convertir PowerPoint en SVG avec C# +- Étapes : Convertir PPT en SVG avec C# +- Étapes : Convertir PPTX en SVG avec C# +- Étapes : Convertir ODP en SVG avec C# -1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). - * _.ppt_ extension pour charger un fichier **PPT** dans la classe _Presentation_. - * _.pptx_ extension pour charger un fichier **PPTX** dans la classe _Presentation_. - * _.odp_ extension pour charger un fichier **ODP** dans la classe _Presentation_. - * _.pps_ extension pour charger un fichier **PPS** dans la classe _Presentation_. -2. Parcourir toutes les diapositives de la présentation. -3. Écrire chaque diapositive dans son propre fichier SVG via FileStream. +**Étapes du code :** + +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). + * extension _.ppt_ pour charger le fichier **PPT** dans la classe _Presentation_. + * extension _.pptx_ pour charger le fichier **PPTX** dans la classe _Presentation_. + * extension _.odp_ pour charger le fichier **ODP** dans la classe _Presentation_. + * extension _.pps_ pour charger le fichier **PPS** dans 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 voudrez peut-être 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 .NET. +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 pour .NET. {{% /alert %}} -Ce code d'exemple en C# vous montre comment convertir PowerPoint en SVG en utilisant Aspose.Slides : - +Ce code d'exemple en C# vous montre comment convertir PowerPoint en SVG à l'aide d'Aspose.Slides : ``` csharp -// L'objet Presentation peut charger des formats PowerPoint comme PPT, PPTX, ODP, etc. +// L'objet Presentation peut charger les formats PowerPoint tels que PPT, PPTX, ODP, etc. using (Presentation pres = new Presentation("pres.pptx")) { for (var index = 0; index < pres.Slides.Count; index++) @@ -98,46 +97,61 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Voir Aussi -Cet article couvre également ces sujets. Les codes sont les mêmes que ci-dessus. +## **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 par les moteurs des navigateurs. Les paramètres [SVGOptions](https://reference.aspose.com/slides/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 en SVG ?** + +Oui. Toute [forme peut être enregistrée en tant que SVG séparé](https://reference.aspose.com/slides/net/aspose.slides/shape/writeassvg/), 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 réalisée au niveau de l'application. + +## **Voir aussi** + +Cet article couvre également ces sujets. Les codes sont les mêmes que ci‑dessus. -_Format_: **PowerPoint** -- [C# Code PowerPoint en SVG](#csharp-powerpoint-to-svg) -- [C# API PowerPoint en SVG](#csharp-powerpoint-to-svg) -- [C# PowerPoint en SVG par programmation](#csharp-powerpoint-to-svg) -- [C# Bibliothèque PowerPoint en SVG](#csharp-powerpoint-to-svg) -- [C# Enregistrer PowerPoint en tant que SVG](#csharp-powerpoint-to-svg) +_Format_ : **PowerPoint** +- [C# PowerPoint vers SVG Code](#csharp-powerpoint-to-svg) +- [C# PowerPoint vers SVG API](#csharp-powerpoint-to-svg) +- [C# PowerPoint vers SVG programmatiquement](#csharp-powerpoint-to-svg) +- [C# PowerPoint vers SVG Bibliothèque](#csharp-powerpoint-to-svg) +- [C# Enregistrer PowerPoint au format SVG](#csharp-powerpoint-to-svg) - [C# Générer SVG à partir de PowerPoint](#csharp-powerpoint-to-svg) - [C# Créer SVG à partir de PowerPoint](#csharp-powerpoint-to-svg) -- [C# Convertisseur PowerPoint en SVG](#csharp-powerpoint-to-svg) - -_Format_: **PPT** -- [C# Code PPT en SVG](#csharp-ppt-to-svg) -- [C# API PPT en SVG](#csharp-ppt-to-svg) -- [C# PPT en SVG par programmation](#csharp-ppt-to-svg) -- [C# Bibliothèque PPT en SVG](#csharp-ppt-to-svg) -- [C# Enregistrer PPT en tant que SVG](#csharp-ppt-to-svg) +- [C# Convertisseur PowerPoint vers SVG](#csharp-powerpoint-to-svg) + +_Format_ : **PPT** +- [C# PPT vers SVG Code](#csharp-ppt-to-svg) +- [C# PPT vers SVG API](#csharp-ppt-to-svg) +- [C# PPT vers SVG programmatiquement](#csharp-ppt-to-svg) +- [C# PPT vers SVG Bibliothèque](#csharp-ppt-to-svg) +- [C# Enregistrer PPT au format SVG](#csharp-ppt-to-svg) - [C# Générer SVG à partir de PPT](#csharp-ppt-to-svg) - [C# Créer SVG à partir de PPT](#csharp-ppt-to-svg) -- [C# Convertisseur PPT en SVG](#csharp-ppt-to-svg) - -_Format_: **PPTX** -- [C# Code PPTX en SVG](#csharp-pptx-to-svg) -- [C# API PPTX en SVG](#csharp-pptx-to-svg) -- [C# PPTX en SVG par programmation](#csharp-pptx-to-svg) -- [C# Bibliothèque PPTX en SVG](#csharp-pptx-to-svg) -- [C# Enregistrer PPTX en tant que SVG](#csharp-pptx-to-svg) +- [C# Convertisseur PPT vers SVG](#csharp-ppt-to-svg) + +_Format_ : **PPTX** +- [C# PPTX vers SVG Code](#csharp-pptx-to-svg) +- [C# PPTX vers SVG API](#csharp-pptx-to-svg) +- [C# PPTX vers SVG programmatiquement](#csharp-pptx-to-svg) +- [C# PPTX vers SVG Bibliothèque](#csharp-pptx-to-svg) +- [C# Enregistrer PPTX au format SVG](#csharp-pptx-to-svg) - [C# Générer SVG à partir de PPTX](#csharp-pptx-to-svg) - [C# Créer SVG à partir de PPTX](#csharp-pptx-to-svg) -- [C# Convertisseur PPTX en SVG](#csharp-pptx-to-svg) - -_Format_: **ODP** -- [C# Code ODP en SVG](#csharp-odp-to-svg) -- [C# API ODP en SVG](#csharp-odp-to-svg) -- [C# ODP en SVG par programmation](#csharp-odp-to-svg) -- [C# Bibliothèque ODP en SVG](#csharp-odp-to-svg) -- [C# Enregistrer ODP en tant que SVG](#csharp-odp-to-svg) -- [C# Générer SVG à partir de ODP](#csharp-odp-to-svg) -- [C# Créer SVG à partir de ODP](#csharp-odp-to-svg) -- [C# Convertisseur ODP en SVG](#csharp-odp-to-svg) \ No newline at end of file +- [C# Convertisseur PPTX vers SVG](#csharp-pptx-to-svg) + +_Format_ : **ODP** +- [C# ODP vers SVG Code](#csharp-odp-to-svg) +- [C# ODP vers SVG API](#csharp-odp-to-svg) +- [C# ODP vers SVG programmatiquement](#csharp-odp-to-svg) +- [C# ODP vers SVG Bibliothèque](#csharp-odp-to-svg) +- [C# Enregistrer ODP au format SVG](#csharp-odp-to-svg) +- [C# Générer SVG à partir d'ODP](#csharp-odp-to-svg) +- [C# Créer SVG à partir d'ODP](#csharp-odp-to-svg) +- [C# Convertisseur ODP vers SVG](#csharp-odp-to-svg) \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index 87a3a9b4b9..e9151bed8d 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -1,5 +1,5 @@ --- -title: Exporter vers HTML5 +title: Exportation vers HTML5 type: docs weight: 40 url: /fr/net/export-to-html5/ @@ -8,27 +8,26 @@ keywords: - diapositives vers HTML - HTML5 - export HTML -- exporter présentation -- convertir présentation -- convertir diapositives +- exportation de présentation +- conversion de présentation +- conversion des diapositives - C# - Csharp -- Aspose.Slides pour .NET +- Aspose.Slides for .NET description: "Exporter PowerPoint vers HTML5 en C# ou .NET" --- {{% alert title="Info" color="info" %}} -Dans [Aspose.Slides 21.9](/slides/fr/net/aspose-slides-for-net-21-9-release-notes/), nous avons mis en œuvre 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](/slides/fr/net/aspose-slides-for-net-21-9-release-notes/), nous avons implémenté la prise en charge de l'exportation HTML5. Cependant, si vous préférez exporter votre PowerPoint en HTML à l'aide de 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 façon, 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. +La procédure d'exportation vers HTML5 permet de convertir un PowerPoint en HTML sans WebExtensions 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 C# montre comment exporter une présentation vers HTML5 sans WebExtensions ni dépendances : - ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -36,14 +35,14 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` + {{% alert color="primary" %}} Dans ce cas, vous obtenez un HTML propre. {{% /alert %}} -Vous pouvez vouloir spécifier les paramètres pour les animations des formes et les transitions des diapositives de cette manière : - +Vous pouvez spécifier les paramètres des animations de formes et des transitions de diapositives de cette manière : ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -55,10 +54,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -#### **Exporter PowerPoint vers HTML** -Ce C# démontre le processus standard d'exportation de PowerPoint vers HTML : +## **Exporter PowerPoint vers HTML** +Ce code C# illustre le processus standard d'exportation de PowerPoint vers HTML : ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -66,30 +65,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Dans ce cas, le contenu de la présentation est rendu à travers SVG sous une forme comme celle-ci : +Dans ce cas, le contenu de la présentation est rendu via SVG sous la forme suivante : ```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 ou animer des éléments spécifiques. +{{% alert title="Remarque" color="warning" %}} -{{% /alert %}} +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 des éléments spécifiques. -## **Exporter PowerPoint vers HTML5 en Vue Diapositive** +{{% /alert %}} -**Aspose.Slides** vous permet de convertir une présentation PowerPoint en un 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. +## **Exporter PowerPoint vers la vue diapositive HTML5** -Ce code C# démontre le processus d'exportation de PowerPoint vers HTML5 en Vue Diapositive : +**Aspose.Slides** 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 C# montre le processus d'exportation PowerPoint vers la vue diapositive HTML5 : ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -101,17 +100,18 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## 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 sur des éléments de diapositive spécifiques sans altérer le contenu principal. Chaque commentaire montre 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 d’une 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 indique le nom de l’auteur, ce qui facilite le suivi de qui a laissé la remarque. 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é `NotesCommentsLayouting` de la classe [Html5Options](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/). +Lors de la conversion d’une présentation PowerPoint en document HTML5, vous pouvez facilement spécifier si les commentaires de la présentation doivent être inclus dans le document de sortie. Pour cela, vous devez définir les paramètres d’affichage des commentaires dans la propriété `NotesCommentsLayouting` de la classe [Html5Options](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/). -L'exemple de code suivant convertit une présentation en document HTML5 avec les 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. ```cs var html5Options = new Html5Options { @@ -125,6 +125,21 @@ using var presentation = new Presentation("sample.pptx"); presentation.Save("output.html", SaveFormat.Html5, html5Options); ``` -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 illustré 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 propose des options séparées pour activer ou désactiver les [animations de formes](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animateshapes/) et les [transitions de diapositives](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animatetransitions/). + +**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/net/aspose.slides.export/html5options/notescommentslayouting/) pour les notes et les commentaires. + +**Puis‑je ignorer les liens qui invoquent du JavaScript pour des raisons de sécurité ou de CSP ?** + +Oui, il existe un [paramètre](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/skipjavascriptlinks/) qui permet d’ignorer les hyperliens contenant des appels JavaScript lors de l’enregistrement. Cela aide à respecter des politiques de sécurité strictes. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/fr/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index 274119639a..7fab6ce1cf 100644 --- a/fr/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/fr/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -3,28 +3,27 @@ title: Exporter vers XAML type: docs weight: 30 url: /fr/net/export-to-xaml/ -keywords: "Exporter Présentation PowerPoint, Convertir PowerPoint, XAML, PowerPoint en XAML, PPT en XAML, PPTX en XAML, C#, Csharp, .NET" +keywords: "Exporter la présentation PowerPoint, Convertir PowerPoint, XAML, PowerPoint vers XAML, PPT vers XAML, PPTX vers XAML, C#, Csharp, .NET" description: "Exporter ou convertir une présentation PowerPoint en XAML" --- -# Exportation de Présentations vers XAML +# **Exportation de présentations vers XAML** {{% alert title="Info" color="info" %}} -Dans [Aspose.Slides 21.6](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-6-release-notes/), nous avons implémenté le support pour l'exportation XAML. Vous pouvez désormais exporter vos présentations en XAML. +Dans [Aspose.Slides 21.6](https://docs.aspose.com/slides/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 au format XAML. {{% /alert %}} -# À Propos de XAML +# **À propos de XAML** -XAML est un langage de programmation descriptif qui vous permet de construire 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 est un langage de programmation descriptif qui vous permet de créer ou d’écrire des interfaces utilisateur pour les 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 allez probablement utiliser un designer pour travailler sur des fichiers XAML la plupart du temps, mais vous pouvez toujours écrire et éditer votre interface graphique. +XAML, qui est un langage basé sur XML, est la variante de 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 également écrire et modifier votre interface. -## Exportation de Présentations vers XAML avec les Options Par Défaut - -Ce code C# vous montre comment exporter une présentation en XAML avec les paramètres par défaut : +## **Exportation de présentations vers XAML avec les options par défaut** +Ce code C# montre comment exporter une présentation vers XAML avec les paramètres par défaut : ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,15 +31,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Exportation de Présentations vers XAML avec des Options Personnalisées -Vous pouvez sélectionner des options dans l'interface [IXamlOptions](https://reference.aspose.com/slides/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. +## **Exportation de 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/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) sur true. Voir cet exemple de code C# : +Vous pouvez sélectionner des options depuis l’interface [IXamlOptions](https://reference.aspose.com/slides/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/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) sur true. Voir cet exemple de code C# : ```c# using (Presentation pres = new Presentation("pres.pptx")) { pres.Save(new XamlOptions { ExportHiddenSlides = true }); } -``` \ 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 [DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/) dans [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) — il est utilisé comme police de secours lorsque la police d’origine est manquante. 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 certains éléments dépendent de la plateforme cible. Testez le balisage dans votre environnement. + +**Les diapositives masquées sont‑elles prises en charge, et comment empêcher leur exportation par défaut ?** + +Par défaut, les diapositives masquées ne sont pas incluses. Vous pouvez contrôler ce comportement via [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/exporthiddenslides/) dans [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) — laissez‑le désactivé si vous n’avez pas besoin de les exporter. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/create-presentation/_index.md b/fr/net/developer-guide/manage-presentation/create-presentation/_index.md index 150a1f299c..deb56e6539 100644 --- a/fr/net/developer-guide/manage-presentation/create-presentation/_index.md +++ b/fr/net/developer-guide/manage-presentation/create-presentation/_index.md @@ -1,59 +1,97 @@ --- -title: Créer une Présentation en .NET -linktitle: Créer une Présentation +title: Créer une présentation en .NET +linktitle: Créer une présentation type: docs weight: 10 url: /fr/net/create-presentation/ -keywords: "Créer PowerPoint, PPTX, PPT, Créer Présentation, Initialiser Présentation, C#, .NET" -description: "Création de Présentations PowerPoint par Programmation en C# par ex. PPT, PPTX, ODP, etc." +keywords: "Créer PowerPoint, PPTX, PPT, Créer une présentation, Initialiser une présentation, C#, .NET" +description: "Créer des présentations PowerPoint de façon programmatique en C# par ex. PPT, PPTX, ODP, etc." --- -## Créer une Présentation PowerPoint -Pour ajouter une simple ligne à une diapositive sélectionnée de la présentation, veuillez suivre les étapes ci-dessous : +## **Créer une présentation PowerPoint** +Pour ajouter une simple ligne droite à une diapositive sélectionnée de la présentation, veuillez suivre les étapes ci-dessous : -1. Créez une instance de la classe Presentation. -1. Obtenez la référence d'une diapositive en utilisant son Index. -1. Ajoutez un AutoShape de type Ligne en utilisant la méthode AddAutoShape exposée par l'objet Shapes. -1. Enregistrez la présentation modifiée en tant que fichier PPTX. - -Dans l'exemple ci-dessous, nous avons ajouté une ligne à la première diapositive de la présentation. +1. Créer une instance de la classe Presentation. +1. Obtenir la référence d’une diapositive en utilisant son Index. +1. Ajouter une AutoShape de type Ligne en utilisant la méthode AddAutoShape exposée par l’objet Shapes. +1. Enregistrer la présentation modifiée sous forme de fichier PPTX. +Dans l’exemple ci‑dessus, nous avons ajouté une ligne à la première diapositive de la présentation. ```c# -// Instanciez un objet Presentation qui représente un fichier de présentation -using (Presentation presentation = new Presentation()) -{ - // Obtenez la première diapositive - ISlide slide = presentation.Slides[0]; - - // Ajoutez une autoshape de type ligne - slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); - presentation.Save("NewPresentation_out.pptx", SaveFormat.Pptx); -} + // Instancie un objet Presentation qui représente un fichier de présentation + using (Presentation presentation = new Presentation()) + { + // Obtient la première diapositive + ISlide slide = presentation.Slides[0]; + + // Ajoute une autoshape de type ligne + slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); + presentation.Save("NewPresentation_out.pptx", SaveFormat.Pptx); + } ``` -## Créer et Enregistrer une Présentation -Étapes : Créer et Enregistrer une Présentation en C# +## **Créer et enregistrer une présentation** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). -2. Enregistrez _Presentation_ dans n'importe quel format pris en charge par [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) +Étapes : Créer et enregistrer une présentation en C# +1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +2. Enregistrer _Presentation_ dans n'importe quel format pris en charge par [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) ```c# Presentation presentation = new Presentation(); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); ``` -## Ouvrir et Enregistrer une Présentation -Étapes : Ouvrir et Enregistrer une Présentation en C# +## **Ouvrir et enregistrer une présentation** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) avec n'importe quel format c'est-à-dire PPT, PPTX, ODP, etc. -2. Enregistrez _Presentation_ dans n'importe quel format pris en charge par [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) +Étapes : Ouvrir et enregistrer une présentation en C# +1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) avec n'importe quel format, par ex. PPT, PPTX, ODP, etc. +2. Enregistrer _Presentation_ dans n'importe quel format pris en charge par [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) ```c# -// Chargez n'importe quel fichier pris en charge dans Presentation par ex. ppt, pptx, odp, etc. + // Chargez n'importe quel fichier pris en charge dans Presentation, par ex. ppt, pptx, odp, etc. Presentation presentation = new Presentation("Sample.odp"); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**Quels formats puis‑je enregistrer pour une nouvelle présentation ?** + +Vous pouvez enregistrer au format [PPTX, PPT, et ODP](/slides/fr/net/save-presentation/), et exporter vers [PDF](/slides/fr/net/convert-powerpoint-to-pdf/), [XPS](/slides/fr/net/convert-powerpoint-to-xps/), [HTML](/slides/fr/net/convert-powerpoint-to-html/), [SVG](/slides/fr/net/convert-powerpoint-to-png/), ainsi que [images](/slides/fr/net/convert-powerpoint-to-png/), entre autres. + +**Puis‑je partir d’un modèle (POTX/POTM) et l’enregistrer en PPTX standard ?** + +Oui. Chargez le modèle et enregistrez‑le dans le format souhaité ; les formats POTX/POTM/PPTM et similaires [sont pris en charge](/slides/fr/net/supported-file-formats/). + +**Comment contrôler la taille/rapport d’aspect d’une diapositive lors de la création d’une présentation ?** + +Définissez la [taille de la diapositive](/slides/fr/net/slide-size/) (y compris les préréglages comme 4:3 et 16:9 ou des dimensions personnalisées) et choisissez comment le contenu doit être mis à l’échelle. + +**En quelles unités les tailles et coordonnées sont‑elles mesurées ?** + +En points : 1 pouce équivaut à 72 unités. + +**Comment gérer des présentations très volumineuses (avec de nombreux fichiers multimédias) pour réduire l’utilisation de la mémoire ?** + +Utilisez les [stratégies de gestion des BLOB](/slides/fr/net/manage-blob/), limitez le stockage en mémoire en exploitant des fichiers temporaires, et privilégiez les flux de travail basés sur des fichiers plutôt que les flux purement en mémoire. + +**Puis‑je créer/enregistrer des présentations en parallèle ?** + +Vous ne pouvez pas manipuler la même instance de [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) depuis [plusieurs threads](/slides/fr/net/multithreading/). Exécutez des instances séparées et isolées par thread ou par processus. + +**Comment supprimer le filigrane d’essai et les limitations ?** + +[Appliquer une licence](/slides/fr/net/licensing/) une fois par processus. Le XML de licence doit rester inchangé, et la configuration de la licence doit être synchronisée si plusieurs threads sont impliqués. + +**Puis‑je signer numériquement le PPTX que je crée ?** + +Oui. Les [signatures numériques](/slides/fr/net/digital-signature-in-powerpoint/) (ajout et vérification) sont prises en charge pour les présentations. + +**Les macros (VBA) sont‑elles prises en charge dans les présentations créées ?** + +Oui. Vous pouvez [créer/modifier des projets VBA](/slides/fr/net/presentation-via-vba/) et enregistrer des fichiers activés pour les macros tels que PPTM/PPSM. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/examine-presentation/_index.md b/fr/net/developer-guide/manage-presentation/examine-presentation/_index.md index d6fd007bd7..0517145480 100644 --- a/fr/net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/fr/net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,5 +1,5 @@ --- -title: Examiner la Présentation +title: Examiner la présentation type: docs weight: 30 url: /fr/net/examine-presentation/ @@ -7,34 +7,33 @@ keywords: - PowerPoint - présentation - format de présentation -- propriétés de présentation -- propriétés de document -- obtenir des propriétés -- lire des propriétés -- changer des propriétés -- modifier des propriétés +- propriétés de la présentation +- propriétés du document +- obtenir les propriétés +- lire les propriétés +- changer les propriétés +- modifier les propriétés - PPTX - PPT - C# - Csharp - .NET -description: "Lire et modifier les propriétés d'une présentation PowerPoint en C# ou .NET" +description: "Lire et modifier les propriétés des présentations PowerPoint en C# ou .NET" --- -Aspose.Slides pour .NET vous permet d'examiner une présentation pour découvrir ses propriétés et comprendre son comportement. +Aspose.Slides for .NET vous permet d'examiner une présentation pour en connaître les propriétés et comprendre son comportement. {{% alert title="Info" color="info" %}} -Les classes [PresentationInfo](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo) et [DocumentProperties](https://reference.aspose.com/slides/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/net/aspose.slides/presentationinfo) et [DocumentProperties](https://reference.aspose.com/slides/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 un Format de Présentation** +## **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 la présentation à ce moment-là. - -Vous pouvez vérifier le format d'une présentation sans la charger. Voici ce code C# : +Avant de travailler sur une présentation, vous pouvez vouloir savoir dans quel format (PPT, PPTX, ODP, etc.) la présentation se trouve actuellement. +Vous pouvez vérifier le format d’une présentation sans la charger. Voir ce code C# : ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); Console.WriteLine(info.LoadFormat); // PPTX @@ -46,53 +45,76 @@ IPresentationInfo info3 = PresentationFactory.Instance.GetPresentationInfo("pres Console.WriteLine(info3.LoadFormat); // ODP ``` -## **Obtenir les Propriétés de Présentation** -Ce code C# vous montre comment obtenir les propriétés de la présentation (informations sur la présentation) : +## **Obtenir les propriétés de la présentation** +Ce code C# vous montre comment obtenir les propriétés de la présentation (informations sur la présentation) : ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); IDocumentProperties props = info.ReadDocumentProperties(); Console.WriteLine(props.CreatedTime); Console.WriteLine(props.Subject); Console.WriteLine(props.Title); -// .. +// ... ``` -Vous voudrez peut-être voir les [propriétés de la classe DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties). -## **Mettre à Jour les Propriétés de Présentation** +Vous pouvez également consulter les [properties under the DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties) class. -Aspose.Slides fournit la méthode [PresentationInfo.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties) 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.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties) qui vous permet de modifier les propriétés de la présentation. -![Propriétés de document originales de la présentation PowerPoint](input_properties.png) +Supposons que nous disposions d’une présentation PowerPoint avec les propriétés de document affichées ci‑dessous. -Cet exemple de code vous montre comment éditer certaines propriétés de 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 : ```c# string fileName = "sample.pptx"; IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo(fileName); IDocumentProperties properties = info.ReadDocumentProperties(); -properties.Title = "Mon titre"; +properties.Title = "My title"; properties.LastSavedTime = DateTime.Now; info.UpdateDocumentProperties(properties); info.WriteBindedPresentation(fileName); ``` -Les résultats du changement des propriétés du document sont montrés ci-dessous. -![Propriétés de document modifiées de la présentation PowerPoint](output_properties.png) +Les résultats du changement des propriétés de document sont affiché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 : + +- [Checking whether a Presentation is Encrypted](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) +- [Checking whether a Presentation is Write Protected (read-only)](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [Checking whether a Presentation is Password Protected Before Loading it](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) +- [Confirming the Password Used to Protect a Presentation](https://docs.aspose.com/slides/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 [embedded-font information](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getembeddedfonts/) au niveau de la présentation, puis comparez ces entrées avec l’ensemble des [fonts actually used across content](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getfonts/) pour identifier les polices essentielles au rendu. + +**Comment savoir rapidement si le fichier contient des diapositives masquées et combien ?** + +Parcourez la [slide collection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) et inspectez le [visibility flag](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/) de chaque diapositive. + +**Puis‑je détecter si une taille et une orientation personnalisées de diapositive sont utilisées, et si elles diffèrent des valeurs par défaut ?** + +Oui. Comparez la [slide size](https://reference.aspose.com/slides/net/aspose.slides/presentation/slidesize/) et l’orientation actuelles avec les préréglages standard ; cela aide à anticiper le comportement lors de l’impression et de l’exportation. + +**Existe‑t‑il un moyen rapide de voir si les graphiques font référence à des sources de données externes ?** -## **Liens Utiles** +Oui. Parcourez tous les [charts](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/), vérifiez leur [data source](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/datasourcetype/), et notez si les données sont internes ou liées, y compris les liens cassés. -Pour obtenir plus d'informations sur une présentation et ses attributs de sécurité, vous pouvez trouver ces liens utiles : +**Comment évaluer les diapositives « lourdes » qui peuvent ralentir le rendu ou l’exportation PDF ?** -- [Vérifier si une Présentation est Chiffrée](https://docs.aspose.com/slides/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/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/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/net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). \ No newline at end of file +Pour chaque diapositive, comptez les objets et recherchez les images volumineuses, transparences, ombres, animations et multimédias ; attribuez un score de complexité approximatif afin d’identifier les éventuels points critiques de performance. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/import-presentation/_index.md b/fr/net/developer-guide/manage-presentation/import-presentation/_index.md index 65d0f58f8d..09f3f58180 100644 --- a/fr/net/developer-guide/manage-presentation/import-presentation/_index.md +++ b/fr/net/developer-guide/manage-presentation/import-presentation/_index.md @@ -1,27 +1,26 @@ --- -title: Importer PowerPoint depuis PDF ou HTML -linktitle: Importer la présentation +title: "Importer PowerPoint depuis PDF ou HTML" +linktitle: "Importer une présentation" type: docs weight: 60 url: /fr/net/import-presentation/ -keywords: "Importer PowerPoint, PDF vers PowerPoint, HTML vers PowerPoint, PDF vers PPT, HTML vers PPT, C#, Csharp, Aspose.Slides pour .NET" +keywords: "Importation PowerPoint, PDF vers PowerPoint, HTML vers PowerPoint, PDF vers PPT, HTML vers PPT, C#, Csharp, Aspose.Slides for .NET" description: "Importer PowerPoint depuis PDF ou HTML. Convertir PDF en PowerPoint. Convertir HTML en PowerPoint" --- -En utilisant [**Aspose.Slides pour .NET**](https://products.aspose.com/slides/net/), vous pouvez importer des présentations à partir de fichiers dans d'autres formats. Aspose.Slides fournit la classe [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) pour vous permettre d'importer des présentations à partir de documents PDF. +En utilisant [**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/), vous pouvez importer des présentations à partir de fichiers dans d'autres formats. Aspose.Slides fournit la classe [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) pour vous permettre d'importer des présentations à partir de documents PDF. -## **Importer PowerPoint depuis PDF** +## **Importer PowerPoint à partir de PDF** -Dans ce cas, vous allez convertir un PDF en présentation PowerPoint. +Dans ce cas, vous pouvez convertir un PDF en présentation PowerPoint. pdf-to-powerpoint -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). -2. Appelez la méthode [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) et passez le fichier PDF. -3. Utilisez la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) pour sauvegarder le fichier dans le format PowerPoint. - -Ce code C# démontre l'opération de conversion de PDF en PowerPoint : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) . +2. Appelez la méthode [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) et passez le fichier PDF. +3. Utilisez la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) pour enregistrer le fichier au format PowerPoint. +Ce code C# illustre l'opération de conversion PDF vers PowerPoint : ```c# using (Presentation pres = new Presentation()) { @@ -30,22 +29,20 @@ using (Presentation pres = new Presentation()) } ``` -{{% alert title="ASTUCE" color="primary" %}} - -Vous voudrez peut-être consulter l'application web **Aspose gratuite** [PDF vers PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint) car il s'agit d'une mise en œuvre en direct du processus décrit ici. +{{% alert title="TIP" color="primary" %}} +Vous voudrez peut‑être consulter l'application Web **Aspose free** [PDF to PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint) car il s'agit d'une implémentation en direct du processus décrit ici. {{% /alert %}} -## **Importer PowerPoint depuis HTML** +## **Importer PowerPoint à partir de HTML** -Dans ce cas, vous allez convertir un document HTML en présentation PowerPoint. +Dans ce cas, vous pouvez convertir un document HTML en présentation PowerPoint. -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). -2. Appelez la méthode [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) et passez le fichier HTML. -3. Utilisez la méthode [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) pour sauvegarder le fichier en tant que document PowerPoint. - -Ce code C# démontre l'opération de conversion de HTML en PowerPoint : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) . +2. Appelez la méthode [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) et passez le fichier HTML. +3. Utilisez la méthode [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) pour enregistrer le fichier au format PowerPoint. +Ce code C# illustre l'opération de conversion HTML vers PowerPoint : ```c# using (var presentation = new Presentation()) { @@ -58,9 +55,15 @@ using (var presentation = new Presentation()) } ``` -{{% alert title="Note" color="warning" %}} -Vous pouvez également utiliser Aspose.Slides pour convertir HTML en d'autres formats de fichiers populaires : +## **FAQ** + +**Les tableaux sont-ils conservés lors de l'importation d'un PDF, et la détection peut‑elle être améliorée ?** + +Les tableaux peuvent être détectés lors de l'importation ; [PdfImportOptions](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/) inclut un paramètre [DetectTables](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/detecttables/) qui active la reconnaissance des tableaux. L'efficacité dépend de la structure du PDF. + +{{% alert title="Note" color="warning" %}} +Vous pouvez également utiliser Aspose.Slides pour convertir du HTML vers d'autres formats de fichiers populaires : * [HTML vers image](https://products.aspose.com/slides/net/conversion/html-to-image/) * [HTML vers JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) diff --git a/fr/net/developer-guide/manage-presentation/manage-slide-show/_index.md b/fr/net/developer-guide/manage-presentation/manage-slide-show/_index.md new file mode 100644 index 0000000000..c5374c81bf --- /dev/null +++ b/fr/net/developer-guide/manage-presentation/manage-slide-show/_index.md @@ -0,0 +1,122 @@ +--- +title: Gérer le diaporama +type: docs +weight: 90 +url: /fr/net/manage-slide-show/ +keywords: +- type de diaporama +- présenté par un intervenant +- consulté par un individu +- consulté sur un kiosque +- options du diaporama +- boucle continue +- sans narration +- sans animation +- couleur du stylo +- afficher les diapositives +- diaporama personnalisé +- avancer les diapositives +- manuellement +- utilisation des minutages +- PowerPoint +- présentation +- C# +- .NET +- Aspose.Slides for .NET +description: "Gérer les paramètres du diaporama dans les présentations PowerPoint à l'aide de C#" +--- + +Dans Microsoft PowerPoint, les paramètres du **Diaporama** sont un outil clé pour préparer et présenter des présentations professionnelles. L'une des fonctionnalités les plus importantes de cette section est **Configurer le diaporama**, qui vous permet d'adapter votre présentation à des conditions et à un public spécifiques, garantissant flexibilité et commodité. Avec cette fonctionnalité, vous pouvez sélectionner le type de diaporama (par exemple, présenté par un intervenant, consulté par un individu ou consulté sur un kiosque), activer ou désactiver la boucle, choisir des diapositives spécifiques à afficher et utiliser les minutages. Cette étape de préparation est cruciale pour rendre votre présentation plus efficace et professionnelle. + +`SlideShowSettings` est une propriété de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) de type [SlideShowSettings](https://reference.aspose.com/slides/net/aspose.slides/presentation/slideshowsettings/), qui vous permet de gérer les paramètres du diaporama dans une présentation PowerPoint. Dans cet article, nous explorerons comment utiliser cette propriété pour configurer et contrôler divers aspects des paramètres du diaporama. + +## **Sélectionner le type de diaporama** + +`SlideShowSettings.SlideShowType` définit le type de diaporama, qui peut être une instance des classes suivantes : [PresentedBySpeaker](https://reference.aspose.com/slides/net/aspose.slides/presentedbyspeaker/), [BrowsedByIndividual](https://reference.aspose.com/slides/net/aspose.slides/browsedbyindividual/), ou [BrowsedAtKiosk](https://reference.aspose.com/slides/net/aspose.slides/browsedatkiosk/). L'utilisation de cette propriété vous permet d'adapter la présentation à différents scénarios d'utilisation, tels que les kiosques automatisés ou les présentations manuelles. + +Le code d'exemple ci-dessous crée une nouvelle présentation et définit le type de diaporama sur "Consulté par un individu" sans afficher la barre de défilement. +```cs +using var presentation = new Presentation(); + +var showType = new BrowsedByIndividual +{ + ShowScrollbar = false +}; + +presentation.SlideShowSettings.SlideShowType = showType; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Activer les options du diaporama** + +`SlideShowSettings.Loop` détermine si le diaporama doit se répéter en boucle jusqu'à être arrêté manuellement. Cela est utile pour les présentations automatisées qui doivent fonctionner en continu. `SlideShowSettings.ShowNarration` indique si les narrations vocales doivent être lues pendant le diaporama. Cela est utile pour les présentations automatisées contenant des consignes vocales pour le public. `SlideShowSettings.ShowAnimation` indique si les animations ajoutées aux objets de la diapositive doivent être lues. Cela permet de fournir l'effet visuel complet de la présentation. + +Le code d'exemple suivant crée une nouvelle présentation et boucle le diaporama. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.Loop = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Sélectionner les diapositives à afficher** + +La propriété `SlideShowSettings.Slides` vous permet de sélectionner une plage de diapositives à afficher pendant la présentation. Cela est utile lorsque vous devez ne montrer qu'une partie de la présentation plutôt que toutes les diapositives. Le code d'exemple suivant crée une nouvelle présentation et définit la plage de diapositives à afficher de la diapositive `2` à la diapositive `9`. +```cs +using var presentation = new Presentation(); + +var slideRange = new SlidesRange +{ + Start = 2, + End = 9 +}; + +presentation.SlideShowSettings.Slides = slideRange; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Utiliser le minutage des diapositives** + +La propriété `SlideShowSettings.UseTimings` vous permet d'activer ou de désactiver l'utilisation des minutages prédéfinis pour chaque diapositive. Cela est utile pour afficher automatiquement les diapositives avec des durées d'affichage prédéfinies. Le code d'exemple ci-dessous crée une nouvelle présentation et désactive l'utilisation des minutages. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.UseTimings = false; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Afficher les contrôles multimédia** + +La propriété `SlideShowSettings.ShowMediaControls` détermine si les contrôles multimédia (comme lecture, pause et arrêt) doivent être affichés pendant le diaporama lorsqu'un contenu multimédia (par exemple, vidéo ou audio) est lu. Cela est utile lorsque vous souhaitez donner au présentateur le contrôle de la lecture des médias pendant la présentation. + +Le code d'exemple suivant crée une nouvelle présentation et active l'affichage des contrôles multimédia. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.ShowMediaControls = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **FAQ** + +**Puis-je enregistrer une présentation afin qu'elle s'ouvre directement en mode diaporama ?** + +Oui. Enregistrez le fichier au format PPSX ou PPSM; ces formats s'ouvrent directement en diaporama lorsqu'ils sont ouverts dans PowerPoint. Dans Aspose.Slides, choisissez le format d'enregistrement correspondant [during export](/slides/fr/net/save-presentation/). + +**Puis-je exclure des diapositives individuelles du diaporama sans les supprimer du fichier ?** + +Oui. Marquez une diapositive comme [Hidden](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/). Les diapositives masquées restent dans la présentation mais ne sont pas affichées pendant le diaporama. + +**Aspose.Slides peut-il lire un diaporama ou contrôler une présentation en direct à l'écran ?** + +Non. Aspose.Slides modifie, analyse et convertit les fichiers de présentation; la lecture réelle est gérée par une application de visualisation telle que PowerPoint. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/merge-presentation/_index.md b/fr/net/developer-guide/manage-presentation/merge-presentation/_index.md index 0342766cec..9a0dbfd585 100644 --- a/fr/net/developer-guide/manage-presentation/merge-presentation/_index.md +++ b/fr/net/developer-guide/manage-presentation/merge-presentation/_index.md @@ -1,73 +1,84 @@ --- -title: Fusionner des présentations PowerPoint PPT, PPTX utilisant C# -linktitle: Fusionner la présentation +title: "Fusionner efficacement des présentations PowerPoint (PPT, PPTX) avec C#" +linktitle: "Fusionner la présentation" type: docs weight: 40 url: /fr/net/merge-presentation/ keywords: "Fusionner PowerPoint, PPTX, PPT, combiner PowerPoint, fusionner présentation, combiner présentation, C#, Csharp, .NET" -description: "Fusionner ou combiner des présentations PowerPoint en C# ou .NET" +description: "Apprenez à fusionner ou combiner des présentations PowerPoint en C# ou .NET sans effort." --- -{{% alert title="Astuce" color="primary" %}} +## **Optimisez la fusion de vos présentations** -Vous voudrez peut-être consulter l'application **Aspose gratuite en ligne** [Merger app](https://products.aspose.app/slides/merger). Elle permet aux utilisateurs de fusionner des présentations PowerPoint dans le même format (PPT à PPT, PPTX à PPTX, etc.) et de fusionner des présentations dans différents formats (PPT à PPTX, PPTX à ODP, etc.). +Avec [Aspose.Slides for .NET](https://products.aspose.com/slides/net/), combinez sans effort les présentations PowerPoint tout en préservant les styles, les mises en page et tous les éléments. Contrairement à d’autres outils, Aspose.Slides fusionne les présentations sans compromettre la qualité ni perdre de données. Fusionnez des présentations entières, des diapositives spécifiques et même des formats de fichiers différents (PPT en PPTX, etc.). -[![todo:image_alt_text](slides-merger.png)](https://products.aspose.app/slides/merger) +### **Fonctionnalités de fusion** -{{% /alert %}} +- **Fusion complète de présentation** : Assemblez toutes les diapositives dans un seul fichier. +- **Fusion de diapositives spécifiques** : Choisissez et combinez les diapositives sélectionnées. +- **Fusion inter‑format** : Intégrez des présentations de formats variés, en conservant l’intégrité. +{{% alert title="Astuce" color="primary" %}} +Vous cherchez un **outil en ligne gratuit** pour **fusionner des présentations PowerPoint** ? Essayez le [**Aspose PowerPoint Merger**](https://products.aspose.app/slides/merger). +- **Fusionnez des fichiers PowerPoint facilement** : combinez plusieurs présentations **PPT, PPTX, ODP** en un seul fichier. +- **Prise en charge de différents formats** : fusionnez **PPT en PPTX**, **PPTX en ODP**, et plus encore. +- **Aucune installation requise** : fonctionne directement dans votre navigateur, rapide et sécurisé. -## **Fusion de Présentations** +[![Fusionner des fichiers PowerPoint en ligne](slides-merger.png)](https://products.aspose.app/slides/merger) -Lorsque vous [fusionnez une présentation avec une autre](https://products.aspose.com/slides/net/merger/ppt/), vous combinez en effet leurs diapositives dans une seule présentation pour obtenir un fichier. +Commencez à fusionner vos fichiers PowerPoint avec l'**outil en ligne gratuit Aspose** dès aujourd'hui ! +{{% /alert %}} + +## **Fusion de présentations** + +Lorsque vous [fusionnez une présentation avec une autre](https://products.aspose.com/slides/net/merger/ppt/), vous combinez effectivement leurs diapositives dans une seule présentation afin d'obtenir un fichier unique. {{% alert title="Info" color="info" %}} -La plupart des programmes de présentation (PowerPoint ou OpenOffice) manquent de fonctions permettant aux utilisateurs de combiner des présentations de cette manière. +La plupart des programmes de présentation (PowerPoint ou OpenOffice) ne disposent pas de fonctions permettant aux utilisateurs de combiner des présentations de cette manière. -Cependant, [**Aspose.Slides pour .NET**](https://products.aspose.com/slides/net/) vous permet de fusionner des présentations de différentes manières. Vous pouvez fusionner des présentations avec toutes leurs formes, styles, textes, formats, commentaires, animations, etc. sans avoir à vous soucier de la perte de qualité ou de données. +[Aspose.Slides for .NET](https://products.aspose.com/slides/net/) permet toutefois de fusionner des présentations de différentes façons. Vous pouvez fusionner des présentations avec toutes leurs formes, styles, textes, mise en forme, commentaires, animations, etc., sans vous soucier d’une perte de qualité ou de données. **Voir aussi** -[Clone Slides](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* +[Cloner des diapositives](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* {{% /alert %}} -### **Ce qui Peut Être Fusionné** +### **Ce qui peut être fusionné** -Avec Aspose.Slides, vous pouvez fusionner +Avec Aspose.Slides, vous pouvez fusionner -* des présentations entières. Toutes les diapositives des présentations se retrouvent dans une seule présentation -* des diapositives spécifiques. Les diapositives sélectionnées se retrouvent dans une seule présentation -* des présentations dans un même format (PPT à PPT, PPTX à PPTX, etc.) et dans différents formats (PPT à PPTX, PPTX à ODP, etc.) les uns avec les autres. +* des présentations entières. Toutes les diapositives des présentations aboutissent à une seule présentation. +* des diapositives spécifiques. Les diapositives sélectionnées aboutissent à une seule présentation. +* des présentations d’un même format (PPT en PPT, PPTX en PPTX, etc.) et de formats différents (PPT en PPTX, PPTX en ODP, etc.) les unes avec les autres. -{{% alert title="Note" color="warning" %}} +{{% alert title="Remarque" color="warning" %}} -En plus des présentations, Aspose.Slides vous permet de fusionner d'autres fichiers : +En plus des présentations, Aspose.Slides vous permet de fusionner d’autres fichiers : -* [Images](https://products.aspose.com/slides/net/merger/image-to-image/), telles que [JPG à JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/) ou [PNG à PNG](https://products.aspose.com/slides/net/merger/png-to-png/) -* Documents, tels que [PDF à PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/) ou [HTML à HTML](https://products.aspose.com/slides/net/merger/html-to-html/) -* Et deux fichiers différents tels que [image à PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/) ou [JPG à PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/) ou [TIFF à PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/). +* [Images](https://products.aspose.com/slides/net/merger/image-to-image/), comme [JPG en JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/) ou [PNG en PNG](https://products.aspose.com/slides/net/merger/png-to-png/) +* Documents, comme [PDF en PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/) ou [HTML en HTML](https://products.aspose.com/slides/net/merger/html-to-html/) +* Et deux fichiers différents tels que [image en PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/), [JPG en PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/) ou [TIFF en PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/). {{% /alert %}} -### **Options de Fusion** +### **Options de fusion** -Vous pouvez appliquer des options qui déterminent si +Vous pouvez appliquer des options qui déterminent si -* chaque diapositive dans la présentation de sortie conserve un style unique -* un style spécifique est utilisé pour toutes les diapositives dans la présentation de sortie. +* chaque diapositive de la présentation de sortie conserve un style unique +* un style spécifique est utilisé pour toutes les diapositives de la présentation de sortie. -Pour fusionner des présentations, Aspose.Slides fournit des méthodes [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) (de l'interface [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection)). Il existe plusieurs implémentations des méthodes `AddClone` qui définissent les paramètres du processus de fusion des présentations. Chaque objet Presentation a une collection [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides), donc vous pouvez appeler une méthode `AddClone` depuis la présentation à laquelle vous souhaitez fusionner des diapositives. +Pour fusionner des présentations, Aspose.Slides fournit les méthodes [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) (de l’interface [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection)). Plusieurs implémentations des méthodes `AddClone` définissent les paramètres du processus de fusion. Chaque objet Presentation possède une collection [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides), vous pouvez donc appeler une méthode `AddClone` depuis la présentation dans laquelle vous souhaitez fusionner les diapositives. -La méthode `AddClone` retourne un objet `ISlide`, qui est un clone de la diapositive source. Les diapositives dans une présentation de sortie sont simplement une copie des diapositives de la source. Par conséquent, vous pouvez apporter des modifications aux diapositives résultantes (par exemple, appliquer des styles ou des options de formatage ou des mises en page) sans vous soucier que les présentations sources soient affectées. +La méthode `AddClone` renvoie un objet `ISlide`, qui est un clone de la diapositive source. Les diapositives de la présentation de sortie sont simplement une copie des diapositives d’origine. Ainsi, vous pouvez modifier les diapositives résultantes (par exemple appliquer des styles, des options de mise en forme ou des mises en page) sans craindre d’affecter les présentations sources. -## **Fusionner des Présentations** +## **Fusionner des présentations** -Aspose.Slides fournit la méthode [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) qui vous permet de combiner des diapositives tout en conservant leurs mises en page et styles (paramètres par défaut). - -Ce code C# vous montre comment fusionner des présentations : +Aspose.Slides propose la méthode [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) qui permet de combiner des diapositives tout en conservant leurs mises en page et styles (paramètres par défaut). +Ce code C# montre comment fusionner des présentations : ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -81,12 +92,12 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Fusionner des Présentations avec Master de Diapositive** -Aspose.Slides fournit la méthode [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2) qui vous permet de combiner des diapositives tout en appliquant un modèle de présentation de master de diapositive. De cette façon, si nécessaire, vous pouvez changer le style des diapositives dans la présentation de sortie. +## **Fusionner des présentations avec un masque de diapositives** -Ce code en C# démontre l'opération décrite : +Aspose.Slides propose la méthode [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2) qui permet de combiner des diapositives tout en appliquant un modèle de masque de diapositives. Ainsi, si nécessaire, vous pouvez modifier le style des diapositives de la présentation de sortie. +Ce code C# illustre l’opération décrite : ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -100,35 +111,59 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -{{% alert title="Note" color="warning" %}} -La mise en page de la diapositive pour le master de diapositive est déterminée automatiquement. Lorsqu'une mise en page appropriée ne peut pas être déterminée, si le paramètre booléen `allowCloneMissingLayout` de la méthode `AddClone` est défini sur true, la mise en page de la diapositive source est utilisée. Sinon, une [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception) sera levée. +{{% alert title="Remarque" color="warning" %}} + +La mise en page du masque de diapositives est déterminée automatiquement. Lorsqu’une mise en page appropriée ne peut être déterminée, si le paramètre booléen `allowCloneMissingLayout` de la méthode `AddClone` est fixé à true, la mise en page de la diapositive source est utilisée. Sinon, une [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception) sera levée. {{% /alert %}} -Si vous souhaitez que les diapositives dans la présentation de sortie aient une mise en page de diapositive différente, utilisez la méthode [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1) à la place lors de la fusion. +Si vous souhaitez que les diapositives de la présentation de sortie utilisent une mise en page différente, utilisez plutôt la méthode [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1) lors de la fusion. -## **Fusionner des Diapositives Spécifiques À Partir de Présentations** +## **Fusionner des diapositives spécifiques à partir de présentations** -Ce code C# vous montre comment sélectionner et combiner des diapositives spécifiques à partir de différentes présentations pour obtenir une présentation de sortie : +Fusionner des diapositives spécifiques provenant de plusieurs présentations est utile pour créer des jeux de diapositives personnalisés. Aspose.Slides for .NET vous permet de sélectionner et d’importer uniquement les diapositives dont vous avez besoin. L’API préserve le formatage, la mise en page et le design des diapositives d’origine. -```c# -using (Presentation pres1 = new Presentation("pres1.pptx"), - pres2 = new Presentation("pres2.pptx")) +Le code C# suivant crée une nouvelle présentation, ajoute des diapositives titre provenant de deux autres présentations, puis enregistre le résultat dans un fichier : +```cs +using (Presentation presentation = new Presentation()) +using (Presentation presentation1 = new Presentation("presentation1.pptx")) +using (Presentation presentation2 = new Presentation("presentation2.pptx")) { - foreach (ISlide slide in pres2.Slides) + presentation.Slides.RemoveAt(0); + + ISlide slide1 = GetTitleSlide(presentation1); + + if (slide1 != null) + presentation.Slides.AddClone(slide1); + + ISlide slide2 = GetTitleSlide(presentation2); + + if (slide2 != null) + presentation.Slides.AddClone(slide2); + + presentation.Save("combined.pptx", SaveFormat.Pptx); +} +``` + +```cs +static ISlide GetTitleSlide(IPresentation presentation) +{ + foreach (ISlide slide in presentation.Slides) { - pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]); + if (slide.LayoutSlide.LayoutType == SlideLayoutType.Title) + { + return slide; + } } - - pres1.Save("combined.pptx", SaveFormat.Pptx); + return null; } ``` -## **Fusionner des Présentations Avec Mise en Page de Diapositive** -Ce code C# vous montre comment combiner des diapositives à partir de présentations tout en appliquant votre mise en page de diapositive préférée pour obtenir une présentation de sortie : +## **Fusionner des présentations avec mise en page de diapositive** +Ce code C# montre comment combiner des diapositives de présentations tout en appliquant votre mise en page de diapositive préférée pour obtenir une présentation de sortie unique : ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -142,18 +177,18 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Fusionner des Présentations Avec Différentes Tailles de Diapositive** -{{% alert title="Note" color="warning" %}} +## **Fusionner des présentations avec tailles de diapositive différentes** -Vous ne pouvez pas fusionner des présentations avec différentes tailles de diapositive. +{{% alert title="Remarque" color="warning" %}} -{{% /alert %}} +Vous ne pouvez pas fusionner des présentations avec des tailles de diapositive différentes. -Pour fusionner 2 présentations avec différentes tailles de diapositive, vous devez redimensionner l'une des présentations pour que sa taille corresponde à celle de l'autre présentation. +{{% /alert %}} -Ce code d'exemple démontre l'opération décrite : +Pour fusionner 2 présentations dont les tailles de diapositive diffèrent, vous devez redimensionner l’une des présentations afin qu’elle corresponde à la taille de l’autre. +Ce code d’exemple illustre l’opération décrite : ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -169,10 +204,10 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Fusionner des Diapositives dans une Section de Présentation** -Ce code C# vous montre comment fusionner une diapositive spécifique dans une section d'une présentation : +## **Fusionner des diapositives dans une section de présentation** +Ce code C# montre comment fusionner une diapositive spécifique dans une section d’une présentation : ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -187,10 +222,29 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` + La diapositive est ajoutée à la fin de la section. {{% alert title="Astuce" color="primary" %}} -Aspose fournit une [application web gratuite Collage](https://products.aspose.app/slides/collage). Avec ce service en ligne, vous pouvez fusionner des [JPG à JPG](https://products.aspose.app/slides/collage/jpg) ou des images PNG à PNG, créer des [grilles photo](https://products.aspose.app/slides/collage/photo-grid), et plus encore. +Aspose propose une application Web [GRATUITE de collage](https://products.aspose.app/slides/collage). Grâce à ce service en ligne, vous pouvez fusionner des [JPG en JPG](https://products.aspose.app/slides/collage/jpg) ou PNG en PNG, créer des [grilles photo](https://products.aspose.app/slides/collage/photo-grid), etc. + +{{% /alert %}} + +## **FAQ** + +**Les notes du présentateur sont‑elles conservées lors de la fusion ?** + +Oui. Lors du clonage des diapositives, Aspose.Slides transfère tous les éléments de la diapositive, y compris les notes, la mise en forme et les animations. + +**Les commentaires et leurs auteurs sont‑ils transférés ?** + +Les commentaires, en tant que partie du contenu de la diapositive, sont copiés avec la diapositive. Les libellés des auteurs de commentaires sont conservés en tant qu’objets commentaire dans la présentation résultante. + +**Que se passe‑t‑il si la présentation source est protégée par un mot de passe ?** + +Elle doit être [ouverte avec le mot de passe](/slides/fr/net/password-protected-presentation/) via [LoadOptions.Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/); une fois chargée, les diapositives peuvent être clonées en toute sécurité dans un fichier cible non protégé (ou protégé également). + +**Quelle est la sécurité des threads de l’opération de fusion ?** -{{% /alert %}} \ No newline at end of file +N’utilisez pas la même instance [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) depuis [plusieurs threads](/slides/fr/net/multithreading/). La règle recommandée est « un document — un thread » ; différents fichiers peuvent être traités en parallèle dans des threads séparés. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/open-presentation/_index.md b/fr/net/developer-guide/manage-presentation/open-presentation/_index.md index 7dcdceac38..04ec7a51f0 100644 --- a/fr/net/developer-guide/manage-presentation/open-presentation/_index.md +++ b/fr/net/developer-guide/manage-presentation/open-presentation/_index.md @@ -1,108 +1,127 @@ --- title: Ouvrir une présentation en C# -linktitle: Ouvrir une présentation +linktitle: Ouvrir des présentations type: docs weight: 20 url: /fr/net/open-presentation/ -keywords: "Ouvrir PowerPoint, PPTX, PPT, Ouvrir présentation, Charger présentation, C#, Csharp, .NET" -description: "Ouvrir ou charger une présentation PPT, PPTX, ODP en C# ou .NET" +keywords: +- ouvrir PowerPoint +- ouvrir présentation +- ouvrir PPTX +- ouvrir PPT +- ouvrir ODP +- charger présentation +- charger PPTX +- charger PPT +- charger ODP +- présentation protégée +- grande présentation +- ressource externe +- objet binaire +- .NET +- C# +- Aspose.Slides +description: "Ouvrez des présentations PowerPoint (.pptx, .ppt) et OpenDocument (.odp) sans effort avec Aspose.Slides pour .NET—rapide, fiable, entièrement équipé." --- -En plus de créer des présentations PowerPoint à partir de zéro, Aspose.Slides vous permet d'ouvrir des présentations existantes. Après avoir chargé une présentation, vous pouvez obtenir des informations sur la présentation, modifier la présentation (le contenu de ses diapositives), ajouter de nouvelles diapositives ou supprimer celles existantes, etc. +## **Vue d'ensemble** -## Ouvrir une présentation +Au-delà de la création de présentations PowerPoint à partir de zéro, Aspose.Slides vous permet également d'ouvrir des présentations existantes. Après avoir chargé une présentation, vous pouvez en récupérer les informations, modifier le contenu des diapositives, ajouter de nouvelles diapositives, supprimer celles existantes, et plus encore. -Pour ouvrir une présentation existante, vous devez simplement instancier la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) et passer le chemin du fichier (de la présentation que vous souhaitez ouvrir) à son constructeur. +## **Ouvrir des présentations** -Ce code C# vous montre comment ouvrir une présentation et également découvrir le nombre de diapositives qu'elle contient : +Pour ouvrir une présentation existante, créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) et transmettez le chemin du fichier à son constructeur. -```c# -// Instancie la classe Presentation et passe le chemin du fichier à son constructeur -Presentation pres = new Presentation("OpenPresentation.pptx"); - -// Affiche le nombre total de diapositives présentes dans la présentation -System.Console.WriteLine(pres.Slides.Count.ToString()); +L'exemple C# suivant montre comment ouvrir une présentation et obtenir le nombre de diapositives : +```cs +// Instancier la classe Presentation et passer un chemin de fichier à son constructeur. +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + // Afficher le nombre total de diapositives de la présentation. + System.Console.WriteLine(presentation.Slides.Count); +} ``` -## **Ouvrir une présentation protégée par mot de passe** -Lorsque vous devez ouvrir une présentation protégée par mot de passe, vous pouvez passer le mot de passe via la propriété [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) (de la classe [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/)) pour décrypter et charger la présentation. Ce code C# démontre l'opération : +## **Ouvrir des présentations protégées par mot de passe** -```c# - LoadOptions loadOptions = new LoadOptions {Password = "VOTRE_MOT_DE_PASSE"}; - using (Presentation presentation = new Presentation("pres.pptx", loadOptions)) - { - // Faites quelque chose avec la présentation décryptée - } +Lorsque vous devez ouvrir une présentation protégée par un mot de passe, transmettez le mot de passe via la propriété [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) de la classe [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) pour la déchiffrer et la charger. Le code C# suivant illustre cette opération : +```cs +LoadOptions loadOptions = new LoadOptions {Password = "YOUR_PASSWORD"}; +using (Presentation presentation = new Presentation("Sample.pptx", loadOptions)) +{ + // Effectuer des opérations sur la présentation décryptée. +} ``` -## Ouvrir une grande présentation -Aspose.Slides fournit des options (la propriété [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) en particulier) sous la classe [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) pour vous permettre de charger de grandes présentations. +## **Ouvrir de grandes présentations** -Ce C# démontre une opération dans laquelle une grande présentation (disons 2 Go de taille) est chargée : +Aspose.Slides propose des options—en particulier la propriété [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) de la classe [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/)—pour vous aider à charger de grandes présentations. -```c# -const string pathToVeryLargePresentationFile = "veryLargePresentation.pptx"; +Le code C# suivant montre comment charger une grande présentation (par exemple, 2 Go) : +```cs +const string filePath = "LargePresentation.pptx"; LoadOptions loadOptions = new LoadOptions { - BlobManagementOptions = { - // Choisissons le comportement KeepLocked - le "veryLargePresentation.pptx" sera verrouillé pour - // la durée de vie de l'instance de la Présentation, mais nous n'avons pas besoin de le charger en mémoire ou de le copier dans - // le fichier temporaire + BlobManagementOptions = + { + // Choisissez le comportement KeepLocked — le fichier de présentation restera verrouillé pendant la durée de + // l'instance Presentation, mais il n'est pas nécessaire de le charger en mémoire ou de le copier dans un fichier temporaire. PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, + IsTemporaryFilesAllowed = true, + MaxBlobsBytesInMemory = 10 * 1024 * 1024 // 10 Mo } }; -using (Presentation pres = new Presentation(pathToVeryLargePresentationFile, loadOptions)) +using (Presentation presentation = new Presentation(filePath, loadOptions)) { - // La grande présentation a été chargée et peut être utilisée, mais la consommation de mémoire reste faible. + // La grande présentation a été chargée et peut être utilisée, tout en maintenant une faible consommation de mémoire. - // Apporte des modifications à la présentation. - pres.Slides[0].Name = "Très grande présentation"; + // Apportez des modifications à la présentation. + presentation.Slides[0].Name = "Large presentation"; - // La présentation sera enregistrée dans l'autre fichier. La consommation de mémoire reste faible pendant l'opération - pres.Save("veryLargePresentation-copy.pptx", SaveFormat.Pptx); + // Enregistrez la présentation dans un autre fichier. La consommation de mémoire reste faible pendant cette opération. + presentation.Save("LargePresentation-copy.pptx", SaveFormat.Pptx); - // impossible de faire ça ! Une exception IO sera lancée, car le fichier est verrouillé pendant que les objets pres ne seront - // pas disposés - File.Delete(pathToVeryLargePresentationFile); + // Ne faites pas cela! Une exception d'E/S sera levée car le fichier est verrouillé jusqu'à ce que l'objet Presentation soit libéré. + File.Delete(filePath); } -// Il est acceptable de le faire ici, le fichier source n'est pas verrouillé par l'objet pres -File.Delete(pathToVeryLargePresentationFile); +// Il est correct de le faire ici. Le fichier source n'est plus verrouillé par l'objet Presentation. +File.Delete(filePath); ``` -{{% alert color="info" title="Info" %}} -Pour contourner certaines limitations lors de l'interaction avec les flux, Aspose.Slides peut copier le contenu du flux. Charger une grande présentation via son flux entraînera la copie du contenu de la présentation et provoquera un chargement lent. Par conséquent, lorsque vous envisagez de charger une grande présentation, nous vous recommandons fortement d'utiliser le chemin du fichier de présentation et non son flux. - -Lorsque vous souhaitez créer une présentation contenant de gros objets (vidéos, audio, grandes images, etc.), vous pouvez utiliser la [facility Blob](https://docs.aspose.com/slides/net/manage-blob/) pour réduire la consommation de mémoire. +{{% alert color="info" title="Info" %}} +Pour contourner certaines limitations lors de l'utilisation de flux, Aspose.Slides peut copier le contenu d'un flux. Charger une grande présentation à partir d'un flux entraîne la copie de la présentation et peut ralentir le chargement. Par conséquent, lorsque vous devez charger une grande présentation, nous recommandons fortement d'utiliser le chemin du fichier de présentation plutôt qu'un flux. -{{%/alert %}} +Lors de la création d'une présentation contenant de grands objets (vidéo, audio, images haute résolution, etc.), vous pouvez utiliser la [gestion BLOB](/slides/fr/net/manage-blob/) pour réduire la consommation de mémoire. +{{%/alert %}} +## **Contrôler les ressources externes** -## Charger une présentation -Aspose.Slides fournit [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) avec une seule méthode pour vous permettre de gérer des ressources externes. Ce code C# vous montre comment utiliser l'interface `IResourceLoadingCallback` : +Aspose.Slides fournit l'interface [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) qui vous permet de gérer les ressources externes. Le code C# suivant montre comment utiliser l'interface `IResourceLoadingCallback` : +```cs +LoadOptions loadOptions = new LoadOptions(); +loadOptions.ResourceLoadingCallback = new ImageLoadingHandler(); -```c# -LoadOptions opts = new LoadOptions(); -opts.ResourceLoadingCallback = new ImageLoadingHandler(); -Presentation presentation = new Presentation("presentation.pptx", opts); +Presentation presentation = new Presentation("Sample.pptx", loadOptions); ``` -```c# +```cs public class ImageLoadingHandler : IResourceLoadingCallback { public ResourceLoadingAction ResourceLoading(IResourceLoadingArgs args) { if (args.OriginalUri.EndsWith(".jpg")) { - try // Charge une image de substitution + try { - byte[] imageBytes = File.ReadAllBytes("c:\\aspose-logo.jpg"); - args.SetData(imageBytes); + // Charger une image de substitution. + byte[] imageData = File.ReadAllBytes("aspose-logo.jpg"); + args.SetData(imageData); return ResourceLoadingAction.UserProvided; } catch (Exception) @@ -112,53 +131,52 @@ public class ImageLoadingHandler : IResourceLoadingCallback } else if (args.OriginalUri.EndsWith(".png")) { - // Définit l'url de substitution + // Définir une URL de substitution. args.Uri = "http://www.google.com/images/logos/ps_logo2.png"; return ResourceLoadingAction.Default; } - // Ignore toutes les autres images + // Ignorer toutes les autres images. return ResourceLoadingAction.Skip; } } ``` -## Charger une présentation sans objets binaires intégrés - -La présentation PowerPoint peut contenir les types suivants d'objets binaires intégrés : -- Projet VBA ([IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); -- Données OLE Object intégrées ([IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); -- Données binaires de contrôle ActiveX ([IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)); +## **Charger des présentations sans objets binaires intégrés** -En utilisant la propriété [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/), vous pouvez charger la présentation sans aucun objet binaire intégré. +Une présentation PowerPoint peut contenir les types d'objets binaires intégrés suivants : -Cette propriété peut être utile pour supprimer du contenu binaire potentiellement malveillant. +- Projet VBA (accessible via [IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); +- Données d'objet OLE intégrées (accessibles via [IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); +- Données binaires de contrôle ActiveX (accessibles via [IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)). -Le code C# démontre comment charger et enregistrer une présentation sans contenu malveillant : +En utilisant la propriété [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/), vous pouvez charger une présentation sans aucun objet binaire intégré. -```c# +Cette propriété est utile pour supprimer du contenu binaire potentiellement malveillant. Le code C# suivant montre comment charger une présentation sans aucun contenu binaire intégré : +```cs LoadOptions loadOptions = new LoadOptions() { DeleteEmbeddedBinaryObjects = true } -using (var pres = new Presentation("malware.ppt", loadOptions)) +using (Presentation presentation = new Presentation("malware.ppt", loadOptions)) { - pres.Save("clean.ppt", SaveFormat.Ppt); + // Effectuer des opérations sur la présentation. } ``` -

Ouvrir et enregistrer une présentation

-Étapes : Ouvrir et enregistrer une présentation en C# +## **FAQ** + +**Comment savoir qu'un fichier est corrompu et ne peut pas être ouvert ?** + +Une exception de validation d'analyse/format sera levée lors du chargement. Ces erreurs mentionnent souvent une structure ZIP invalide ou des enregistrements PowerPoint corrompus. + +**Que se passe-t-il si des polices requises sont manquantes lors de l'ouverture ?** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) et passez le fichier que vous souhaitez ouvrir. -2. Enregistrez la présentation. +Le fichier s'ouvrira, mais un rendu/exportation ultérieur[/slides/net/convert-presentation/] peut remplacer les polices. [Configurer les substitutions de polices](/slides/fr/net/font-substitution/) ou [ajouter les polices requises](/slides/fr/net/custom-font/) à l'environnement d'exécution. -```c# -// Charge n'importe quelle présentation supportée, par exemple ppt, pptx, odp -Presentation presentation = new Presentation("Sample.odp"); +**Qu'en est-il des médias intégrés (vidéo/audio) lors de l'ouverture ?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +Ils deviennent disponibles en tant que ressources de la présentation. Si les médias sont référencés via des chemins externes, assurez‑vous que ces chemins sont accessibles dans votre environnement ; sinon le [rendu/export](/slides/fr/net/convert-presentation/) peut omettre les médias. \ No newline at end of file diff --git a/fr/net/developer-guide/manage-presentation/save-presentation/_index.md b/fr/net/developer-guide/manage-presentation/save-presentation/_index.md index 1e8a97e5e5..5419905aa0 100644 --- a/fr/net/developer-guide/manage-presentation/save-presentation/_index.md +++ b/fr/net/developer-guide/manage-presentation/save-presentation/_index.md @@ -1,160 +1,195 @@ --- -title: Sauvegarder une présentation en .NET -linktitle: Sauvegarder la présentation +title: Enregistrer des présentations dans .NET +linktitle: Enregistrer des présentations type: docs weight: 80 url: /fr/net/save-presentation/ -keywords: "Sauvegarder PowerPoint, PPT, PPTX, Sauvegarder présentation, fichier, flux, C#, Csharp, .NET" -description: "Sauvegarder une présentation PowerPoint en tant que fichier ou flux en C# ou .NET" +keywords: +- sauvegarder PowerPoint +- sauvegarder OpenDocument +- sauvegarder une présentation +- sauvegarder une diapositive +- sauvegarder PPT +- sauvegarder PPTX +- sauvegarder ODP +- présentation vers fichier +- présentation vers flux +- type de vue prédéfini +- format Strict Office Open XML +- mode Zip64 +- rafraîchissement de la miniature +- progression de la sauvegarde +- .NET +- C# +- Aspose.Slides +description: "Découvrez comment enregistrer des présentations dans .NET avec Aspose.Slides — exportez vers PowerPoint ou OpenDocument tout en conservant la mise en page, les polices et les effets." --- -## **Sauvegarder la présentation** -L'ouverture d'une présentation décrivait comment utiliser la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) pour ouvrir une présentation. Cet article explique comment créer et sauvegarder des présentations. La classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) contient le contenu d'une présentation. Que ce soit pour créer une présentation à partir de zéro ou pour modifier une présentation existante, une fois terminé, vous souhaitez sauvegarder la présentation. Avec Aspose.Slides pour .NET, elle peut être sauvegardée sous forme de **fichier** ou de **flux**. Cet article explique comment sauvegarder une présentation de différentes manières : +## **Vue d'ensemble** -### **Sauvegarde de présentations dans des fichiers** -Sauvegardez une présentation dans des fichiers en appelant la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). Il suffit de passer le nom de fichier et le format de sauvegarde à la méthode [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index). Les exemples suivants montrent comment sauvegarder une présentation avec Aspose.Slides pour .NET en utilisant C#. +[Open Presentations in C#](/slides/fr/net/open-presentation/) décrit comment utiliser la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) pour ouvrir une présentation. Cet article explique comment créer et enregistrer des présentations. La classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) contient le contenu d’une présentation. Que vous créiez une présentation à partir de zéro ou que vous modifiiez une existante, vous voudrez l’enregistrer une fois terminé. Avec Aspose.Slides pour .NET, vous pouvez enregistrer dans un **fichier** ou un **flux**. Cet article explique les différentes manières d’enregistrer une présentation. -```c# -// Instancier un objet Presentation qui représente un fichier PPT -Presentation presentation= new Presentation(); +## **Enregistrer les présentations dans des fichiers** -//...faire un travail ici... +Enregistrez une présentation dans un fichier en appelant la méthode `Save` de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). Passez le nom du fichier et le format d’enregistrement à la méthode. L’exemple suivant montre comment enregistrer une présentation avec Aspose.Slides. +```cs +// Instanciez la classe Presentation qui représente un fichier de présentation. +using (Presentation presentation = new Presentation()) +{ + // Effectuez des opérations ici... -// Sauvegardez votre présentation dans un fichier -presentation.Save("Saved_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); + // Enregistrez la présentation dans un fichier. + presentation.Save("Output.pptx", SaveFormat.Pptx); +} ``` -### **Sauvegarde de présentations dans des flux** -Il est possible de sauvegarder une présentation dans un flux en passant un flux de sortie à la méthode Save de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). Il existe de nombreux types de flux vers lesquels une présentation peut être sauvegardée. Dans l'exemple ci-dessous, nous avons créé un nouveau fichier Presentation, ajouté du texte dans une forme et sauvegardé la présentation dans le flux. +## **Enregistrer les présentations dans des flux** -```c# -// Instancier un objet Presentation qui représente un fichier PPT +Vous pouvez enregistrer une présentation dans un flux en transmettant un flux de sortie à la méthode `Save` de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). Une présentation peut être écrite vers de nombreux types de flux. Dans l’exemple ci‑dessous, nous créons une nouvelle présentation et l’enregistrons dans un flux de fichier. +```cs +// Instanciez la classe Presentation qui représente un fichier de présentation. using (Presentation presentation = new Presentation()) { + using (FileStream fileStream = new FileStream("Output.pptx", FileMode.Create)) + { + // Enregistrez la présentation dans le flux. + presentation.Save(fileStream, SaveFormat.Pptx); + } +} +``` - IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 200, 200); - // Ajouter du texte à la forme - shape.TextFrame.Text = "Cette démonstration montre comment créer un fichier PowerPoint et le sauvegarder dans un flux."; +## **Enregistrer les présentations avec un type de vue prédéfini** - FileStream toStream = new FileStream("Save_As_Stream_out.pptx", FileMode.Create); - presentation.Save(toStream, Aspose.Slides.Export.SaveFormat.Pptx); - toStream.Close(); +Aspose.Slides vous permet de définir la vue initiale que PowerPoint utilise lorsque la présentation générée s’ouvre via la classe [ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/). Définissez la propriété [LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/lastview/) sur une valeur de l’énumération [ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype/). +```cs +using (Presentation presentation = new Presentation()) +{ + presentation.ViewProperties.LastView = ViewType.SlideMasterView; + presentation.Save("SlideMasterView.pptx", SaveFormat.Pptx); } ``` -### **Sauvegarde de présentations avec un type de vue prédéfini** -Aspose.Slides pour .NET offre la possibilité de définir le type de vue pour la présentation générée lorsqu'elle est ouverte dans PowerPoint via la classe [ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties). La propriété [LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/properties/lastview) est utilisée pour définir le type de vue en utilisant l'énumérateur [ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype). +## **Enregistrer les présentations au format Strict Office Open XML** -```csharp -using (Presentation pres = new Presentation()) +Aspose.Slides vous permet d’enregistrer une présentation au format Strict Office Open XML. Utilisez la classe [PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/) et définissez sa propriété de conformité lors de l’enregistrement. Si vous définissez `Conformance.Iso29500_2008_Strict`, le fichier de sortie est enregistré au format Strict Office Open XML. + +L’exemple ci‑dessous crée une présentation et l’enregistre au format Strict Office Open XML. +```cs +PptxOptions options = new PptxOptions() +{ + Conformance = Conformance.Iso29500_2008_Strict +}; + +// Instanciez la classe Presentation qui représente un fichier de présentation. +using (Presentation presentation = new Presentation()) { - pres.ViewProperties.LastView = ViewType.SlideMasterView; - pres.Save("pres-will-open-SlideMasterView.pptx", SaveFormat.Pptx); + // Enregistrez la présentation au format Strict Office Open XML. + presentation.Save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options); } ``` -### **Sauvegarde de présentations au format Strict Office Open XML** -Aspose.Slides vous permet de sauvegarder la présentation au format Strict Office Open XML. À cet effet, il fournit la classe [**Aspose.Slides.Export.PptxOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions) où vous pouvez définir la propriété de conformité lors de la sauvegarde du fichier de présentation. Si vous définissez sa valeur comme `Conformance.Iso29500_2008_Strict`, alors le fichier de présentation résultant sera sauvegardé au format Strict Office Open XML. -Le code d'exemple suivant crée une présentation et la sauvegarde au format Strict Office Open XML. Lors de l'appel de la méthode Save pour la présentation, l'objet **[Aspose.Slides.Export.PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions)** est passé avec la propriété **[Conformance](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/properties/conformance)** définie comme **[Conformance.Iso29500_2008_Strict](https://reference.aspose.com/slides/net/aspose.slides.export/conformance)**. +## **Enregistrer les présentations au format Office Open XML en mode Zip64** -```csharp - // Instancier un objet Presentation qui représente un fichier de présentation - using (Presentation presentation = new Presentation()) - { - // Obtenir la première diapositive - ISlide slide = presentation.Slides[0]; +Un fichier Office Open XML est une archive ZIP qui impose des limites de 4 Go (2^32 octets) sur la taille non compressée de tout fichier, la taille compressée de tout fichier et la taille totale de l’archive, ainsi que 65 535 (2^16‑1) fichiers. Les extensions du format ZIP64 élèvent ces limites à 2^64. - // Ajouter une autoforme de type ligne - slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); +La propriété [IPptxOptions.Zip64Mode](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/) vous permet de choisir quand utiliser les extensions du format ZIP64 lors de l’enregistrement d’un fichier Office Open XML. - // Sauvegarder la présentation au format Strict Office Open XML - presentation.Save(dataDir + "NewPresentation_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx, - new PptxOptions() { Conformance = Conformance.Iso29500_2008_Strict }); +Cette propriété propose les modes suivants : - } +- `IfNecessary` utilise les extensions de format ZIP64 uniquement si la présentation dépasse les limitations ci‑above. C’est le mode par défaut. +- `Never` n’utilise jamais les extensions de format ZIP64. +- `Always` utilise toujours les extensions de format ZIP64. +Le code suivant montre comment enregistrer une présentation au format PPTX avec les extensions ZIP64 activées : +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + presentation.Save("OutputZip64.pptx", SaveFormat.Pptx, new PptxOptions() + { + Zip64Mode = Zip64Mode.Always + }); +} ``` -### **Sauvegarde de présentations au format Office Open XML en mode Zip64** -Un fichier Office Open XML est une archive ZIP ayant une limite de 4 Go (2^32 octets) sur la taille non compressée d'un fichier, la taille compressée d'un fichier et la taille totale de l'archive, ainsi qu'une limite de 65 535 (2^16-1) fichiers dans l'archive. Les extensions du format ZIP64 augmentent ces limites à 2^64. -La nouvelle propriété [**IPptxOptions.Zip64Mode**](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/) vous permet de choisir quand utiliser les extensions ZIP64 pour le fichier Office Open XML sauvegardé. +{{% alert title="NOTE" color="warning" %}} +Lorsque vous enregistrez avec `Zip64Mode.Never`, une [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/) est levée si la présentation ne peut pas être enregistrée au format ZIP32. +{{% /alert %}} -Cette propriété offre les modes suivants : +## **Enregistrer les présentations sans actualiser la miniature** -- [Zip64Mode.IfNecessary](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) signifie que les extensions du format ZIP64 ne seront utilisées que si la présentation dépasse les limitations ci-dessus. C'est le mode par défaut. -- [Zip64Mode.Never](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) signifie que les extensions du format ZIP64 ne seront pas utilisées. -- [Zip64Mode.Always](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) signifie que les extensions du format ZIP64 seront toujours utilisées. +La propriété [PptxOptions.RefreshThumbnail](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/refreshthumbnail/) contrôle la génération de la miniature lors de l’enregistrement d’une présentation au format PPTX : -Le code C# suivant montre comment sauvegarder la présentation au format PPTX avec les extensions du format ZIP64 : +- Si la valeur est `true`, la miniature est actualisée lors de l’enregistrement. C’est la valeur par défaut. +- Si la valeur est `false`, la miniature actuelle est conservée. Si la présentation n’a pas de miniature, aucune n’est générée. -```c# -using (Presentation pres = new Presentation("Sample.pptx")) +Dans le code ci‑dessous, la présentation est enregistrée au format PPTX sans actualiser sa miniature. +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) { - pres.Save("Sample-zip64.pptx", SaveFormat.Pptx, new PptxOptions() + presentation.Save("Output.pptx", SaveFormat.Pptx, new PptxOptions() { - Zip64Mode = Zip64Mode.Always + RefreshThumbnail = false }); } ``` -{{% alert title="NOTE" color="warning" %}} - -Sauvegarder en mode Zip64Mode.Never lancera une [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/) si la présentation ne peut pas être sauvegardée au format ZIP32. +{{% alert title="Info" color="info" %}} +Cette option permet de réduire le temps nécessaire à l’enregistrement d’une présentation au format PPTX. {{% /alert %}} -### **Sauvegarde des mises à jour de progression en pourcentage** -Une nouvelle interface [**IProgressCallback**](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback) a été ajoutée à l'interface [**ISaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions) et à la classe abstraite [**SaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions). L'interface **IProgressCallback** représente un objet de rappel pour la sauvegarde des mises à jour de progression en pourcentage. +## **Enregistrer les mises à jour de progression en pourcentage** -Les extraits de code suivants montrent comment utiliser l'interface IProgressCallback : +L’interface [IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/) est utilisée via la propriété `ProgressCallback` exposée par l’interface [ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions/) et la classe abstraite [SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/). Assignez une implémentation de [IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/) à `ProgressCallback` pour recevoir les mises à jour de progression d’enregistrement en pourcentage. -```c# -using (Presentation presentation = new Presentation("ConvertToPDF.pptx")) +Les extraits de code suivants montrent comment utiliser `IProgressCallback`. +```cs +ISaveOptions saveOptions = new PdfOptions(); +saveOptions.ProgressCallback = new ExportProgressHandler(); + +using (Presentation presentation = new Presentation("Sample.pptx")) { - ISaveOptions saveOptions = new PdfOptions(); - saveOptions.ProgressCallback = new ExportProgressHandler(); - presentation.Save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions); + presentation.Save("Output.pdf", SaveFormat.Pdf, saveOptions); } - ``` - - -```c# +```cs class ExportProgressHandler : IProgressCallback { public void Reporting(double progressValue) { - // Utiliser le pourcentage de progression ici + // Utilisez la valeur du pourcentage de progression ici. int progress = Convert.ToInt32(progressValue); - Console.WriteLine(progress + "% fichier converti"); + + Console.WriteLine(progress + "% of the file has been converted."); } } ``` - {{% alert title="Info" color="info" %}} +Aspose a développé une [application gratuite PowerPoint Splitter](https://products.aspose.app/slides/splitter) utilisant sa propre API. L’application vous permet de diviser une présentation en plusieurs fichiers en enregistrant les diapositives sélectionnées comme nouveaux fichiers PPTX ou PPT. +{{% /alert %}} -En utilisant sa propre API, Aspose a développé un [outil gratuit de découpe de PowerPoint](https://products.aspose.app/slides/splitter) qui permet aux utilisateurs de diviser leurs présentations en plusieurs fichiers. Essentiellement, l'application sauvegarde les diapositives sélectionnées d'une présentation donnée en tant que nouveaux fichiers PowerPoint (PPTX ou PPT). +## **FAQ** -{{% /alert %}} +**La sauvegarde rapide (sauvegarde incrémentielle) est-elle prise en charge afin que seules les modifications soient écrites ?** + +Non. L’enregistrement crée le fichier complet cible à chaque fois ; la « sauvegarde rapide » incrémentielle n’est pas prise en charge. + +**Est‑il sûr d’enregistrer la même instance Presentation depuis plusieurs threads ?** -

Ouvrir et sauvegarder une présentation

+Non. Une instance [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) n’est pas thread‑safe ; enregistrez‑la depuis un seul thread. -Étapes : Ouvrir et sauvegarder une présentation en C# +**Que se passe‑t‑il pour les hyperliens et les fichiers liés externement lors de l’enregistrement ?** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) avec n'importe quel format c'est-à-dire PPT, PPTX, ODP, etc. -2. Sauvegardez la _présentation_ dans n'importe quel format pris en charge par [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) +[Hyperlinks](/slides/fr/net/manage-hyperlinks/) sont conservés. Les fichiers liés externes (par ex. vidéos via des chemins relatifs) ne sont pas copiés automatiquement — assurez‑vous que les chemins référencés restent accessibles. -```c# -// Charger un fichier pris en charge dans Presentation par exemple ppt, pptx, odp, etc. -Presentation presentation = new Presentation("Sample.odp"); +**Puis‑je définir/enregistrer les métadonnées du document (Auteur, Titre, Société, Date) ?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +Oui. Les propriétés standard du document sont prises en charge et seront écrites dans le fichier lors de l’enregistrement. \ No newline at end of file diff --git a/fr/net/developer-guide/modern-api/_index.md b/fr/net/developer-guide/modern-api/_index.md index 8326caaf78..e738c4a3d9 100644 --- a/fr/net/developer-guide/modern-api/_index.md +++ b/fr/net/developer-guide/modern-api/_index.md @@ -7,70 +7,69 @@ keywords: "CrossPlatform API Moderne System.Drawing" description: "API Moderne" --- -## Introduction +## **Introduction** -Historiquement, Aspose Slides dépend de System.Drawing et possède dans l'API publique les classes suivantes à partir de là : +Historiquement, Aspose Slides dépend de System.Drawing et possède dans l'API publique les classes suivantes provenant de celle‑ci : - [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) - [Image](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.image) - [Bitmap](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.bitmap) - [PrinterSettings](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.printing.printersettings) -À partir de la version 24.4, cette API publique est déclarée obsolète. +Depuis la version 24.4, cette API publique est déclarée obsolète. -Étant donné que le support de System.Drawing dans les versions .NET6 et supérieures est supprimé pour les versions non-Windows ([changement majeur](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only)), Slides a mis en œuvre une approche de version à deux bibliothèques : -- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) - support pour .NET6+ pour Windows, .NETStandard pour Windows/Linux/MacOS, .NETFramework 2+ (Windows). +Comme le support de System.Drawing dans les versions .NET6 et supérieures est supprimé pour les plateformes non‑Windows ([breaking change](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only)), Slides a mis en œuvre une approche à deux bibliothèques : +- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) – prise en charge de .NET6+ sous Windows, .NETStandard pour Windows/Linux/macOS, .NETFramework 2+ (Windows). - dépend de [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/). -- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) - version Windows/Linux/MacOS sans dépendances. +- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) – version Windows/Linux/macOS sans dépendances. -L'inconvénient de [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) est qu'il implémente sa propre version de System.Drawing dans le même espace de noms (pour supporter la compatibilité ascendante avec l'API publique). Ainsi, lorsque Aspose.Slides.NET6.CrossPlatform et System.Drawing de .NETFramework ou le package System.Drawing.Common sont utilisés en même temps, un conflit de noms se produit à moins qu'un alias soit utilisé. +L’inconvénient de [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) est qu’il implémente sa propre version de System.Drawing dans le même espace de noms (pour assurer la compatibilité ascendante avec l’API publique). Ainsi, lorsque Aspose.Slides.NET6.CrossPlatform et System.Drawing provenant de .NETFramework ou du package System.Drawing.Common sont utilisés simultanément, un conflit de noms apparaît à moins d’utiliser un alias. -Afin de se débarrasser des dépendances à System.Drawing dans le package principal Aspose.Slides.NET, nous avons ajouté le soi-disant "API Moderne" - c'est-à-dire l'API qui doit être utilisée à la place de l'ancienne API obsolète, dont les signatures contiennent des dépendances sur les types suivants de System.Drawing : Image et Bitmap. PrinterSettings et Graphics sont déclarés obsolètes et leur support est retiré de l'API publique de Slides. +Afin de se débarrasser des dépendances à System.Drawing dans le package principal Aspose.Slides.NET, nous avons ajouté la dite « Modern API » : c’est‑à‑dire l’API qui doit être utilisée à la place de l’ancienne, dont les signatures contiennent des dépendances aux types System.Drawing : Image et Bitmap. PrinterSettings et Graphics sont déclarés obsolètes et leur support est retiré de l’API publique Slides. -La suppression de l'API publique obsolète avec des dépendances sur System.Drawing sera dans la version 24.8. +La suppression de l’API publique obsolète avec dépendances à System.Drawing sera effectuée dans la version 24.8. -## API Moderne +## **Modern API** -Les classes et énumérations suivantes ont été ajoutées à l'API publique : +Ajout des classes et énumérations suivantes à l’API publique : -- Aspose.Slides.IImage - représente l'image raster ou vectorielle. -- Aspose.Slides.ImageFormat - représente le format de fichier de l'image. -- Aspose.Slides.Images - méthodes pour instancier et travailler avec l'interface IImage. +- Aspose.Slides.IImage – représente l’image raster ou vectorielle. +- Aspose.Slides.ImageFormat – représente le format de fichier de l’image. +- Aspose.Slides.Images – méthodes pour créer et manipuler l’interface IImage. -Veuillez noter que IImage est jetable (il implémente l'interface IDisposable et son utilisation doit être encapsulée dans un using ou être libérée d'une autre manière pratique). - -Un scénario typique d'utilisation de la nouvelle API peut ressembler à ceci : +Veuillez noter que IImage est jetable (il implémente l’interface IDisposable et son utilisation doit être encadrée par un `using` ou être libérée d’une autre manière appropriée). +Un scénario typique d’utilisation de la nouvelle API peut ressembler à ce qui suit : ``` csharp using (Presentation pres = new Presentation()) { IPPImage ppImage; - // instancier une instance jetable d'IImage à partir du fichier sur le disque. + // instancier une instance jetable de IImage à partir du fichier sur le disque. using (IImage image = Images.FromFile("image.png")) { - // créer une image PowerPoint en ajoutant une instance d'IImage aux images de la présentation. + // créer une image PowerPoint en ajoutant une instance de IImage aux images de la présentation. ppImage = pres.Images.AddImage(image); } - // ajouter une forme d'image sur la diapositive #1 + // ajouter une forme image sur la diapositive #1 pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); - // obtenir une instance de l'IImage représentant la diapositive #1. + // obtenir une instance de IImage représentant la diapositive #1. using (var slideImage = pres.Slides[0].GetImage(new Size(1920, 1080))) { - // sauvegarder l'image sur le disque. + // enregistrer l'image sur le disque. slideImage.Save("slide1.jpeg", ImageFormat.Jpeg); } } ``` -## Remplacer l'ancien code par l'API Moderne -Pour faciliter la transition, l'interface de la nouvelle IImage répète les signatures séparées des classes Image et Bitmap. En général, vous aurez juste besoin de remplacer l'appel à l'ancienne méthode utilisant System.Drawing par la nouvelle. +## **Remplacement du code ancien par la Modern API** -### Obtenir une miniature de diapositive +Pour faciliter la transition, l’interface du nouveau IImage reproduit les signatures distinctes des classes Image et Bitmap. En général, il vous suffit de remplacer l’appel à l’ancienne méthode utilisant System.Drawing par le nouvel appel. -Code utilisant une API obsolète : +### **Obtention d’une vignette de diapositive** +Code utilisant une API obsolète : ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -78,8 +77,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -API Moderne : +Modern API : ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -87,10 +86,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### Obtenir une miniature de forme -Code utilisant une API obsolète : +### **Obtention d’une vignette de forme** +Code utilisant une API obsolète : ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -98,8 +97,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -API Moderne : +Modern API : ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -107,10 +106,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### Obtenir une miniature de présentation -Code utilisant une API obsolète : +### **Obtention d’une vignette de présentation** +Code utilisant une API obsolète : ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -133,8 +132,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -API Moderne : +Modern API : ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -157,10 +156,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### Ajouter une image à une présentation -Code utilisant une API obsolète : +### **Ajout d’une image à une présentation** +Code utilisant une API obsolète : ``` csharp using (Presentation pres = new Presentation()) { @@ -174,8 +173,8 @@ using (Presentation pres = new Presentation()) } ``` -API Moderne : +Modern API : ``` csharp using (Presentation pres = new Presentation()) { @@ -188,92 +187,104 @@ using (Presentation pres = new Presentation()) pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); } ``` -## Méthodes/propriétés à supprimer et leur remplacement dans l'API Moderne -### Présentation -| Signature de la méthode | Signature de la méthode de remplacement | -|-----------------------------------------------|---------------------------------------------------------| -| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | -| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | + +## **Méthodes/propriétés à supprimer et leurs remplacements dans la Modern API** + +### **Presentation** +| Signature de la méthode | Signature de la méthode de remplacement | +|--------------------------|------------------------------------------| +| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | +| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | | public Bitmap[] GetThumbnails(IRenderingOptions options, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_4) | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, int[] slides, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_2) | | public Bitmap[] GetThumbnails(IRenderingOptions options, Size imageSize) | [GetImages(IRenderingOptions options, Size imageSize)]() | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, Size imageSize) | [GetImages(IRenderingOptions options, int[] slides, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_3) | -| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | Sera complètement supprimé | -| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | Sera complètement supprimé | -| public void Print() | Sera complètement supprimé | -| public void Print(PrinterSettings printerSettings) | Sera complètement supprimé | -| public void Print(string printerName) | Sera complètement supprimé | -| public void Print(PrinterSettings printerSettings, string presName) | Sera complètement supprimé | - -### Forme -| Signature de la méthode | Signature de la méthode de remplacement | -|----------------------------------------------------------------------|-------------------------------------------------------------------| -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | +| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | Sera supprimée complètement | +| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | Sera supprimée complètement | +| public void Print() | Sera supprimée complètement | +| public void Print(PrinterSettings printerSettings) | Sera supprimée complètement | +| public void Print(string printerName) | Sera supprimée complètement | +| public void Print(PrinterSettings printerSettings, string presName) | Sera supprimée complètement | + +### **Shape** +| Signature de la méthode | Signature de la méthode de remplacement | +|--------------------------|------------------------------------------| +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | | public Bitmap GetThumbnail(ShapeThumbnailBounds bounds, float scaleX, float scaleY) | [GetImage(ShapeThumbnailBounds bounds, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage_1) | -### Diapositive -| Signature de la méthode | Signature de la méthode de remplacement | -|----------------------------------------------------------------------|-----------------------------------------------------------------------| -| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | -| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | -| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | -| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | +### **Slide** +| Signature de la méthode | Signature de la méthode de remplacement | +|--------------------------|------------------------------------------| +| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | +| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | +| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | +| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | | public Bitmap GetThumbnail(IRenderingOptions options, float scaleX, float scaleY) | [GetImage(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_2) | -| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | Sera complètement supprimé | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | Sera complètement supprimé | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | Sera complètement supprimé | - -#### Sortie -| Signature de la méthode | Signature de la méthode de remplacement | -|-----------------------------------------------------------------|-------------------------------------------------------------| -| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | - -### ImageCollection -| Signature de la méthode | Signature de la méthode de remplacement | -|-------------------------------------------|--------------------------------------------| -| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | - -### ImageWrapperFactory -| Signature de la méthode | Signature de la méthode de remplacement | -|----------------------------------------------------------|---------------------------------------------------------| -| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | - -### PPImage -| Signature de la méthode/propriété | Signature de la méthode de remplacement | -|--------------------------------------|-----------------------------------------| -| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | -| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | - -### PatternFormat -| Signature de la méthode | Signature de la méthode de remplacement | -|-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | -| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | - -### IPatternFormatEffectiveData -| Signature de la méthode | Signature de la méthode de remplacement | -|-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | - -## Le support pour Aspose.Slides.NET6.CrossPlatform sera interrompu - -Suite à la sortie de [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) version 24.8, le support pour [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) sera interrompu. - -## Le support API pour Graphics et PrinterSettings sera interrompu - -La classe [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) n'est pas supportée pour les versions multiplateformes de .NET6 et supérieures. Dans Aspose Slides, la partie de l'API qui l'utilise sera supprimée : -[Diapositive](https://reference.aspose.com/slides/net/aspose.slides/slide/) +| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | Sera supprimée complètement | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | Sera supprimée complètement | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | Sera supprimée complètement | + +### **Output** +| Signature de la méthode | Signature de la méthode de remplacement | +|--------------------------|------------------------------------------| +| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | + +### **ImageCollection** +| Signature de la méthode | Signature de la méthode de remplacement | +|--------------------------|------------------------------------------| +| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | + +### **ImageWrapperFactory** +| Signature de la méthode | Signature de la méthode de remplacement | +|--------------------------|------------------------------------------| +| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | + +### **PPImage** +| Signature de la méthode/propriété | Signature de la méthode de remplacement | +|------------------------------------|------------------------------------------| +| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | +| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | + +### **PatternFormat** +| Signature de la méthode | Signature de la méthode de remplacement | +|--------------------------|------------------------------------------| +| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | +| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | + +### **IPatternFormatEffectiveData** +| Signature de la méthode | Signature de la méthode de remplacement | +|--------------------------|------------------------------------------| +| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | + +## **Le support de Graphics et PrinterSettings sera abandonné** + +La classe [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) n’est pas prise en charge pour les versions multiplateformes de .NET6 et supérieures. Dans Aspose Slides, la partie de l’API qui l’utilise sera supprimée : +[Slide](https://reference.aspose.com/slides/net/aspose.slides/slide/) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_5) -De plus, la partie de l'API liée à l'impression sera supprimée : +De même, la partie de l’API liée à l’impression sera retirée : -[Présentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): +[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) : - [public void Presentation.Print](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print) - [public void Print(PrinterSettings printerSettings)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_1) - [public void Print(string printerName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_3) -- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) \ No newline at end of file +- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) + +# **FAQ** + +**Pourquoi Graphics a‑t‑il été supprimé ?** + +Le support de `Graphics` est retiré de l’API publique afin d’unifier le rendu et les images, d’éliminer les dépendances spécifiques à la plateforme et de passer à une approche multiplateforme avec [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/). Toutes les méthodes de rendu vers `Graphics` seront supprimées. + +**Quel est l’avantage pratique d’IImage par rapport à Image/Bitmap ?** + +[IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) unifie la manipulation des images raster et vectorielles, simplifie l’enregistrement dans divers formats via [ImageFormat](https://reference.aspose.com/slides/net/aspose.slides/imageformat/), réduit la dépendance à `System.Drawing` et rend le code plus portable entre les environnements. + +**La Modern API affectera‑t‑elle les performances de génération de vignettes ?** + +Passer de `GetThumbnail` à `GetImage` n’altère pas les scénarios : les nouvelles méthodes offrent les mêmes capacités de génération d’images avec options et tailles, tout en conservant le support des options de rendu. Le gain ou la perte spécifique dépend du scénario, mais fonctionnellement les remplacements sont équivalents. \ No newline at end of file diff --git a/fr/net/developer-guide/powerpoint-animation/_index.md b/fr/net/developer-guide/powerpoint-animation/_index.md index a136971294..4f936e4737 100644 --- a/fr/net/developer-guide/powerpoint-animation/_index.md +++ b/fr/net/developer-guide/powerpoint-animation/_index.md @@ -1,28 +1,55 @@ --- -title: Animation PowerPoint +title: Améliorer les présentations PowerPoint avec des animations en C# +linktitle: Animation PowerPoint type: docs weight: 150 url: /fr/net/powerpoint-animation/ -keywords: "Animation, effets d'animation, animation PowerPoint, chronologie d'animation, animation interactive, animation de formes, graphique animé, texte animé, présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" -description: "Animation et effets de présentation PowerPoint en C# ou .NET" +keywords: +- ajouter une animation +- mettre à jour l'animation +- modifier l'animation +- supprimer l'animation +- gérer l'animation +- contrôler l'animation +- effet d'animation +- animation PowerPoint +- chronologie d'animation +- animation interactive +- animation personnalisée +- animation de forme +- graphique animé +- texte animé +- forme animée +- objet OLE animé +- image animée +- tableau animé +- présentation PowerPoint +- C# +- Csharp +- Aspose.Slides for .NET +description: "Explorez les capacités d'Aspose.Slides pour .NET à gérer les animations PowerPoint. Cet aperçu général met en avant les fonctionnalités clés et offre des conseils pour améliorer vos présentations." --- -Puisque les présentations sont destinées à présenter quelque chose, leur apparence visuelle et leur comportement interactif sont toujours pris en compte lors de leur création. +## **Vue d'ensemble** -**L'animation PowerPoint** joue un rôle important pour rendre la présentation attrayante et captivante pour les spectateurs. Aspose.Slides pour .NET offre un large éventail d'options pour ajouter des animations à la présentation PowerPoint : +Étant donné que les présentations sont destinées à présenter quelque chose, leur apparence visuelle et leur comportement interactif sont toujours pris en compte lors de la création. -- appliquer divers types d'effets d'animation PowerPoint sur des formes, des graphiques, des tableaux, des objets OLE et d'autres éléments de la présentation. -- utiliser plusieurs effets d'animation PowerPoint sur une forme. -- utiliser la chronologie d'animation pour contrôler les effets d'animation. -- créer des animations personnalisées. +**PowerPoint animation** joue un rôle important pour rendre une présentation attrayante et engageante pour les spectateurs. Aspose.Slides for .NET offre un large éventail d'options pour ajouter des animations aux présentations PowerPoint : -Dans Aspose.Slides pour .NET, divers effets d'animation peuvent être appliqués sur les formes. Comme chaque élément de la diapositive, y compris le texte, les images, les objets OLE, les tableaux, etc. est considéré comme une forme, cela signifie que nous pouvons appliquer un effet d'animation sur chaque élément d'une diapositive. +- Appliquer différents types d'effets d'animation PowerPoint aux formes, graphiques, tableaux, objets OLE et autres éléments de la présentation. +- Utiliser plusieurs effets d'animation PowerPoint sur une même forme. +- Utiliser la chronologie d'animation pour contrôler les effets d'animation. +- Créer des animations personnalisées. -[**Aspose.Slides.Animation**](https://reference.aspose.com/slides/net/aspose.slides.animation/) **espace de noms** fournit des classes pour travailler avec les animations PowerPoint. -## **Effets d'Animation** -Aspose.Slides prend en charge **plus de 150 effets d'animation**, y compris des effets d'animation de base comme Bounce, PathFootball, effet Zoom et des effets d'animation spécifiques comme OLEObjectShow, OLEObjectOpen. Vous pouvez trouver une liste complète des effets d'animation dans l’[**énumération EffectType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype). +Dans Aspose.Slides for .NET, divers effets d'animation peuvent être appliqués aux formes. Comme chaque élément d'une diapositive, y compris le texte, les images, les objets OLE et les tableaux, est considéré comme une forme, les effets d'animation peuvent être appliqués à n'importe quel élément de la diapositive. -De plus, ces effets d'animation peuvent être utilisés en combinaison avec : +[Aspose.Slides.Animation](https://reference.aspose.com/slides/net/aspose.slides.animation/) espace de noms fournit des classes pour travailler avec les animations PowerPoint. + +## **Effets d'animation** + +Aspose.Slides supporte **plus de 150 effets d'animation**, incluant des effets de base comme Bounce, PathFootball et Zoom, ainsi que des effets spécifiques comme OLEObjectShow et OLEObjectOpen. Vous pouvez trouver la liste complète des effets d'animation dans l'énumération [EffectType](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype). + +De plus, ces effets d'animation peuvent être combinés avec les éléments suivants : - [ColorEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/coloreffect) - [CommandEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/commandeffect) @@ -32,36 +59,59 @@ De plus, ces effets d'animation peuvent être utilisés en combinaison avec : - [RotationEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/rotationeffect) - [ScaleEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/scaleeffect) - [SetEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/seteffect) -## **Animation Personnalisée** -Il est possible de créer vos propres **animations personnalisées** dans Aspose.Slides. -Cela peut être réalisé si vous combinez plusieurs comportements ensemble dans une nouvelle animation personnalisée. -[**Comportement**](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) est une unité de construction de tout effet d'animation PowerPoint. Tous les effets d'animation sont en fait un ensemble de comportements composés en une seule stratégie. Vous pouvez combiner des comportements en une animation personnalisée une fois et la réutiliser dans d'autres présentations. Si vous ajoutez un nouveau comportement à un effet d'animation PowerPoint standard - ce sera une autre animation personnalisée. Par exemple, vous pouvez ajouter un comportement de répétition à une animation pour la faire répéter plusieurs fois. +## **Animation personnalisée** + +Il est possible de créer vos propres **animations personnalisées** dans Aspose.Slides. Cela peut être réalisé en combinant plusieurs comportements en une nouvelle animation personnalisée. + +[Behaviour](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) est le bloc de construction de tout effet d'animation PowerPoint. Tous les effets d'animation sont essentiellement un ensemble de comportements composés en une stratégie unique. Vous pouvez combiner des comportements en une animation personnalisée une fois et la réutiliser dans d'autres présentations. Si vous ajoutez un nouveau comportement à un effet d'animation PowerPoint standard, cela deviendra une autre animation personnalisée. Par exemple, vous pouvez ajouter un comportement de répétition à une animation pour la faire se répéter plusieurs fois. + +[Animation Point](https://reference.aspose.com/slides/net/aspose.slides.animation/point) est le point auquel un comportement doit être appliqué. + +## **Chronologie d'animation** + +[Sequence](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) est une collection d'effets d'animation appliqués à une forme spécifique. + +[Timeline](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) est un ensemble de séquences utilisé sur une diapositive spécifique. C’est un moteur d’animation introduit dans PowerPoint 2002. Dans les versions antérieures de PowerPoint, l’ajout d’effets d’animation aux présentations était difficile et ne pouvait être réalisé qu’avec diverses solutions de contournement. La chronologie remplace l’ancienne classe AnimationSettings et offre un modèle d’objet plus clair pour les animations PowerPoint. Une diapositive ne peut contenir qu’une seule chronologie d’animation. + +## **Animation interactive** + +[Trigger](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) vous permet de définir des actions utilisateur (par ex., un clic de bouton) qui déclencheront une animation spécifique. Les déclencheurs ont été introduits dans la dernière version de PowerPoint. -[**Point d'Animation**](https://reference.aspose.com/slides/net/aspose.slides.animation/point) est un point où le comportement doit être appliqué. -## **Chronologie d'Animation** -[**Séquence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) est une collection d'effets d'animation, appliqués sur une forme concrète. +## **Animation des formes** -[**Chronologie**](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) est un ensemble de Séquences utilisées dans une diapositive concrète. C'est un moteur d'animation représenté depuis PowerPoint 2002. Dans les versions précédentes de PowerPoint, il était difficile d'ajouter des effets d'animation à la présentation, ce qui ne pouvait être réalisé qu'avec différentes solutions de contournement. La chronologie vient remplacer la classe ancienne AnimationSettings et fournit un modèle d'objet plus clair pour l'animation PowerPoint. Une diapositive ne peut avoir qu'une seule chronologie d'animation. -## **Animation Interactives** -[**Déclencheur**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) permet de définir des actions utilisateur (par ex. clic de bouton), qui déclencheront un certain effet d'animation. Les déclencheurs ont été ajoutés uniquement dans la dernière version de PowerPoint. -## **Animation de Formes** -Aspose.Slides permet d'appliquer une animation aux formes, qui peuvent en fait être du texte, un rectangle, une ligne, un cadre, un objet OLE, etc. +Aspose.Slides vous permet d’appliquer des animations aux formes, qui peuvent inclure du texte, des rectangles, des lignes, des cadres, des objets OLE, etc. {{% alert color="primary" %}} -Lire la suite sur [**L'Animation de Formes**](/slides/fr/net/shape-animation/). +En savoir plus [**À propos de l'animation des formes**](/slides/fr/net/shape-animation/). {{% /alert %}} -## **Graphiques Animés** -Pour créer des graphiques animés, vous devez utiliser toutes les mêmes classes que pour les formes. Cependant, il est possible d'utiliser l'animation PowerPoint uniquement sur les catégories de graphiques ou les séries de graphiques. Vous pouvez également appliquer un effet d'animation à un élément de catégorie ou à un élément de série. +## **Graphiques animés** + +Pour créer des graphiques animés, vous devez utiliser les mêmes classes que pour les formes. Cependant, les animations PowerPoint ne peuvent être appliquées qu'aux catégories de graphique ou aux séries de graphique. Vous pouvez également appliquer des effets d'animation à un élément de catégorie ou à un élément de série. {{% alert color="primary" %}} -Lire la suite sur [**Les Graphiques Animés**](/slides/fr/net/animated-charts/). +En savoir plus [**À propos des graphiques animés**](/slides/fr/net/animated-charts/). {{% /alert %}} -## **Texte Animé** -En plus du texte animé, il est également possible d'appliquer une animation à un paragraphe. +## **Texte animé** + +En plus du texte animé, il est également possible d’appliquer une animation à un paragraphe. {{% alert color="primary" %}} -Lire la suite sur [**Le Texte Animé**](/slides/fr/net/animated-text/). -{{% /alert %}} \ No newline at end of file +En savoir plus [**À propos du texte animé**](/slides/fr/net/animated-text/). +{{% /alert %}} + +## **FAQ** + +**Les animations seront‑elles conservées lors de l'exportation en PDF ?** + +Non. Le PDF est un format statique, donc les animations et les [transition de diapositive](/slides/fr/net/slide-transition/) ne s'exécutent pas. Si vous avez besoin de mouvement, exportez plutôt vers [HTML5](/slides/fr/net/export-to-html5/), [GIF animé](/slides/fr/net/convert-powerpoint-to-animated-gif/) ou [vidéo](/slides/fr/net/convert-powerpoint-to-video/). + +**Puis‑je transformer une présentation animée en vidéo et contrôler le nombre d'images par seconde ainsi que la taille du cadre ?** + +Oui. Vous pouvez [rendu de la présentation sous forme de cadres](/slides/fr/net/convert-powerpoint-to-video/) et les encoder dans une vidéo (par ex., via ffmpeg), en choisissant le FPS et la résolution. Les animations et les transitions de diapositive sont exécutées pendant le rendu. + +**Les animations resteront‑elles intactes lors de la manipulation d'ODP (et pas seulement de PPTX) ?** + +PPT, PPTX et ODP sont pris en charge pour la [lecture](/slides/fr/net/open-presentation/) et l’[écriture](/slides/fr/net/save-presentation/), mais les différences de format signifient que certains effets peuvent apparaître ou se comporter légèrement différemment. Validez les cas critiques avec des échantillons réels. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-comments/_index.md b/fr/net/developer-guide/presentation-comments/_index.md index aaf48ca758..46666ebc60 100644 --- a/fr/net/developer-guide/presentation-comments/_index.md +++ b/fr/net/developer-guide/presentation-comments/_index.md @@ -1,28 +1,27 @@ --- -title: Commentaires de Présentation +title: Commentaires de présentation type: docs weight: 100 url: /fr/net/presentation-comments/ -keywords: "Commentaires, commentaires PowerPoint, présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" +keywords: "Commentaires, commentaires PowerPoint, présentation PowerPoint, C#, Csharp, Aspose.Slides for .NET" description: "Ajouter des commentaires et des réponses dans une présentation PowerPoint en C# ou .NET" --- -Dans PowerPoint, un commentaire apparaît comme une note ou une annotation sur une diapositive. Lorsqu'un commentaire est cliqué, son contenu ou ses messages sont révélés. +Dans PowerPoint, un commentaire apparaît comme une note ou une annotation sur une diapositive. Lorsqu'un commentaire est cliqué, son contenu ou ses messages sont révélés. -## **Pourquoi Ajouter des Commentaires aux Présentations ?** +## **Pourquoi ajouter des commentaires aux présentations ?** -Vous souhaiterez peut-être utiliser des commentaires pour fournir des retours ou communiquer avec vos collègues lorsque vous examinez des présentations. +Vous pouvez souhaiter utiliser les commentaires pour fournir des retours ou communiquer avec vos collègues lors de la révision de présentations. -Pour vous permettre d'utiliser des commentaires dans les présentations PowerPoint, Aspose.Slides pour .NET fournit +Pour vous permettre d'utiliser les commentaires dans les présentations PowerPoint, Aspose.Slides for .NET fournit -* La classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), qui contient les collections d'auteurs (propriété [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index)). Les auteurs ajoutent des commentaires aux diapositives. -* L'interface [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection), qui contient la collection de commentaires pour des auteurs individuels. -* La classe [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment), qui contient des informations sur les auteurs et leurs commentaires : qui a ajouté le commentaire, le moment où le commentaire a été ajouté, la position du commentaire, etc. -* La classe [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor), qui contient des informations sur des auteurs individuels : le nom de l'auteur, ses initiales, les commentaires associés au nom de l'auteur, etc. +* La classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) qui contient les collections d'auteurs (à partir de la propriété [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index)). Les auteurs ajoutent des commentaires aux diapositives. +* L'interface [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection) qui contient la collection de commentaires pour chaque auteur. +* La classe [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) qui contient des informations sur les auteurs et leurs commentaires : qui a ajouté le commentaire, la date à laquelle le commentaire a été ajouté, la position du commentaire, etc. +* La classe [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor) qui contient des informations sur chaque auteur : le nom de l'auteur, ses initiales, les commentaires associés au nom de l'auteur, etc. -## **Ajouter un Commentaire de Diapositive** +## **Ajouter un commentaire à la diapositive** Ce code C# vous montre comment ajouter un commentaire à une diapositive dans une présentation PowerPoint : - ```c# // Instancie la classe Presentation using (Presentation presentation = new Presentation()) @@ -33,21 +32,21 @@ using (Presentation presentation = new Presentation()) // Ajoute un auteur ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Jawad", "MF"); - // Définit la position pour les commentaires + // Définit la position des commentaires PointF point = new PointF(); point.X = 0.2f; point.Y = 0.2f; // Ajoute un commentaire de diapositive pour un auteur sur la diapositive 1 - author.Comments.AddComment("Bonjour Jawad, ceci est un commentaire de diapositive", presentation.Slides[0], point, DateTime.Now); + author.Comments.AddComment("Hello Jawad, this is slide comment", presentation.Slides[0], point, DateTime.Now); // Ajoute un commentaire de diapositive pour un auteur sur la diapositive 2 - author.Comments.AddComment("Bonjour Jawad, ceci est le deuxième commentaire de diapositive", presentation.Slides[1], point, DateTime.Now); + author.Comments.AddComment("Hello Jawad, this is second slide comment", presentation.Slides[1], point, DateTime.Now); // Accède à ISlide 1 ISlide slide = presentation.Slides[0]; - // Lorsque null est passé comme argument, les commentaires de tous les auteurs sont apportés à la diapositive sélectionnée + // Lorsqu'un null est passé en argument, les commentaires de tous les auteurs sont récupérés pour la diapositive sélectionnée IComment[] Comments = slide.GetSlideComments(author); // Accède au commentaire à l'index 0 pour la diapositive 1 @@ -57,16 +56,16 @@ using (Presentation presentation = new Presentation()) if (Comments.GetLength(0) > 0) { - // Sélectionne la collection de commentaires de l'auteur à l'index 0 + // Sélectionne la collection de commentaires de l'Auteur à l'index 0 ICommentCollection commentCollection = Comments[0].Author.Comments; String Comment = commentCollection[0].Text; } } ``` -## **Accéder aux Commentaires de Diapositive** -Ce code C# vous montre comment accéder à un commentaire existant sur une diapositive dans une présentation PowerPoint : +## **Accéder aux commentaires de la diapositive** +Ce code C# vous montre comment accéder à un commentaire existant sur une diapositive dans une présentation PowerPoint : ```c# // Instancie la classe Presentation using (Presentation presentation = new Presentation("Comments1.pptx")) @@ -77,44 +76,45 @@ using (Presentation presentation = new Presentation("Comments1.pptx")) foreach (var comment1 in author.Comments) { var comment = (Comment) comment1; - Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " a le commentaire : " + comment.Text + " avec l'Auteur : " + comment.Author.Name + " posté à : " + comment.CreatedTime + "\n"); + Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " has comment: " + comment.Text + " with Author: " + comment.Author.Name + " posted on time :" + comment.CreatedTime + "\n"); } } } ``` -## **Répondre aux Commentaires** -Un commentaire parent est le commentaire supérieur ou original dans une hiérarchie de commentaires ou de réponses. En utilisant la propriété [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) (de l'interface [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)), vous pouvez définir ou obtenir un commentaire parent. -Ce code C# vous montre comment ajouter des commentaires et obtenir des réponses : +## **Répondre aux commentaires** + +Un commentaire parent est le commentaire principal ou original dans une hiérarchie de commentaires ou de réponses. En utilisant la propriété [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) (de l'interface [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)), vous pouvez définir ou obtenir un commentaire parent. +Ce code C# vous montre comment ajouter des commentaires et obtenir des réponses à ceux-ci : ```c# using (Presentation pres = new Presentation()) { // Ajoute un commentaire ICommentAuthor author1 = pres.CommentAuthors.AddAuthor("Author_1", "A.A."); - IComment comment1 = author1.Comments.AddComment("commentaire1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment1 = author1.Comments.AddComment("comment1", pres.Slides[0], new PointF(10, 10), DateTime.Now); // Ajoute une réponse au commentaire1 ICommentAuthor author2 = pres.CommentAuthors.AddAuthor("Autror_2", "B.B."); - IComment reply1 = author2.Comments.AddComment("réponse 1 pour le commentaire 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply1 = author2.Comments.AddComment("reply 1 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply1.ParentComment = comment1; // Ajoute une autre réponse au commentaire1 - IComment reply2 = author2.Comments.AddComment("réponse 2 pour le commentaire 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply2 = author2.Comments.AddComment("reply 2 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply2.ParentComment = comment1; // Ajoute une réponse à la réponse existante - IComment subReply = author1.Comments.AddComment("sous-réponse 3 pour la réponse 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment subReply = author1.Comments.AddComment("subreply 3 for reply 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); subReply.ParentComment = reply2; - IComment comment2 = author2.Comments.AddComment("commentaire 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment comment3 = author2.Comments.AddComment("commentaire 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment2 = author2.Comments.AddComment("comment 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment3 = author2.Comments.AddComment("comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment reply3 = author1.Comments.AddComment("réponse 4 pour le commentaire 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply3 = author1.Comments.AddComment("reply 4 for comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply3.ParentComment = comment3; - // Affiche la hiérarchie des commentaires dans la console + // Affiche la hiérarchie des commentaires sur la console ISlide slide = pres.Slides[0]; var comments = slide.GetSlideComments(null); for (int i = 0; i < comments.Length; i++) @@ -132,44 +132,43 @@ using (Presentation pres = new Presentation()) pres.Save("parent_comment.pptx",SaveFormat.Pptx); - // Supprime le commentaire1 et toutes les réponses à celui-ci + // Supprime le commentaire1 et toutes ses réponses comment1.Remove(); pres.Save("remove_comment.pptx", SaveFormat.Pptx); } ``` + {{% alert color="warning" title="Attention" %}} -* Lorsque la méthode [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) (de l'interface [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)) est utilisée pour supprimer un commentaire, les réponses au commentaire sont également supprimées. -* Si le paramètre [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) entraîne une référence circulaire, une [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception) sera levée. +* Lorsque la méthode [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) (de l'interface [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)) est utilisée pour supprimer un commentaire, les réponses au commentaire sont également supprimées. +* Si le réglage [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) entraîne une référence circulaire, une [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception) sera levée. {{% /alert %}} -## **Ajouter un Commentaire Modern** +## **Ajouter un commentaire moderne** -En 2021, Microsoft a introduit des *commentaires modernes* dans PowerPoint. La fonctionnalité de commentaires modernes améliore considérablement la collaboration dans PowerPoint. Grâce aux commentaires modernes, les utilisateurs de PowerPoint peuvent résoudre des commentaires, ancrer des commentaires à des objets et des textes, et participer à des interactions beaucoup plus facilement qu'auparavant. +En 2021, Microsoft a introduit les *commentaires modernes* dans PowerPoint. La fonction de commentaires modernes améliore considérablement la collaboration dans PowerPoint. Grâce aux commentaires modernes, les utilisateurs de PowerPoint peuvent résoudre des commentaires, ancrer des commentaires à des objets et du texte, et interagir beaucoup plus facilement qu'auparavant. -Dans [Aspose Slides pour .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/), nous avons mis en œuvre la prise en charge des commentaires modernes en ajoutant la classe [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment). Les méthodes [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) et [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) ont été ajoutées à la classe [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection). +Dans [Aspose Slides for .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/), nous avons implémenté la prise en charge des commentaires modernes en ajoutant la classe [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment). Les méthodes [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) et [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) ont été ajoutées à la classe [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection). Ce code C# vous montre comment ajouter un commentaire moderne à une diapositive dans une présentation PowerPoint : - ```c# using (Presentation pres = new Presentation()) { - ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("Certains Auteur", "SA"); - IModernComment modernComment = newAuthor.Comments.AddModernComment("Ceci est un commentaire moderne", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); + ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("Some Author", "SA"); + IModernComment modernComment = newAuthor.Comments.AddModernComment("This is a modern comment", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## **Supprimer un Commentaire** -### **Supprimer Tous les Commentaires et Auteurs** +## **Supprimer un commentaire** +### **Supprimer tous les commentaires et auteurs** Ce code C# vous montre comment supprimer tous les commentaires et auteurs dans une présentation : - ```c# using (var presentation = new Presentation("example.pptx")) { @@ -186,27 +185,26 @@ using (var presentation = new Presentation("example.pptx")) } ``` -### **Supprimer des Commentaires Spécifiques** +### **Supprimer des commentaires spécifiques** Ce code C# vous montre comment supprimer des commentaires spécifiques sur une diapositive : - ```c# using (var presentation = new Presentation()) { ISlide slide = presentation.Slides[0]; - // ajoute des commentaires... - ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Auteur", "A"); - author.Comments.AddComment("commentaire 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); - author.Comments.AddComment("commentaire 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); + // ajouter des commentaires... + ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Author", "A"); + author.Comments.AddComment("comment 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); + author.Comments.AddComment("comment 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); - // supprime tous les commentaires qui contiennent le texte "commentaire 1" + // supprimer tous les commentaires contenant le texte "comment 1" foreach (ICommentAuthor commentAuthor in presentation.CommentAuthors) { List toRemove = new List(); foreach (IComment comment in slide.GetSlideComments(commentAuthor)) { - if (comment.Text == "commentaire 1") + if (comment.Text == "comment 1") { toRemove.Add(comment); } @@ -220,4 +218,16 @@ using (var presentation = new Presentation()) presentation.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Aspose.Slides prend‑t‑il en charge un statut tel que « résolu » pour les commentaires modernes ?** +Oui. Les [commentaires modernes](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/) exposent la propriété [Status](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/status/) ; vous pouvez lire et définir l’état d’un commentaire ([comment’s state](https://reference.aspose.com/slides/net/aspose.slides/moderncommentstatus/)) (par exemple le marquer comme résolu), et cet état est enregistré dans le fichier et reconnu par PowerPoint. + +**Les discussions en fil (chaînes de réponses) sont‑elles prises en charge, et existe‑t‑il une limite de profondeur ?** +Oui. Chaque commentaire peut référencer son [parent comment](https://reference.aspose.com/slides/net/aspose.slides/comment/parentcomment/), permettant des chaînes de réponses arbitraires. L'API ne déclare pas de limite précise de profondeur d'imbrication. + +**Dans quel système de coordonnées la position du marqueur de commentaire est‑elle définie sur une diapositive ?** +La position est stockée sous forme de point à virgule flottante dans le système de coordonnées de la diapositive. Cela vous permet de placer le marqueur de commentaire exactement où vous le souhaitez. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-blob/_index.md b/fr/net/developer-guide/presentation-content/manage-blob/_index.md index 37b904f401..8ea28f087e 100644 --- a/fr/net/developer-guide/presentation-content/manage-blob/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-blob/_index.md @@ -1,26 +1,25 @@ --- -title: Gérer le BLOB +title: Gestion du Blob type: docs weight: 10 url: /fr/net/manage-blob/ -keywords: "Ajouter un blob, Exporter un blob, Ajouter une image en tant que blob, Présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" -description: "Ajouter un blob à une présentation PowerPoint en C# ou .NET. Exporter un blob. Ajouter une image en tant que blob" +keywords: "Ajouter un blob, Exporter le blob, Ajouter une image en tant que blob, Présentation PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Ajouter un blob à une présentation PowerPoint en C# ou .NET. Exporter le blob. Ajouter une image en tant que blob" --- ## **À propos de BLOB** -**BLOB** (**Binary Large Object**) est généralement un élément volumineux (photo, présentation, document ou média) enregistré dans des 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 .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 concernés. +Aspose.Slides for .NET vous permet d'utiliser les BLOBs pour les objets de manière à réduire la consommation de mémoire lorsque de gros fichiers sont impliqués. -## **Utiliser BLOB pour réduire la consommation de mémoire** +## **Utiliser le BLOB pour réduire la consommation de mémoire** ### **Ajouter un fichier volumineux via BLOB à une présentation** -[Aspose.Slides](/slides/fr/net/) pour .NET vous permet d'ajouter des fichiers volumineux (dans ce cas, un fichier vidéo volumineux) via un processus impliquant des BLOBs pour réduire la consommation de mémoire. - -Ce code C# vous montre comment ajouter un fichier vidéo volumineux via le processus BLOB à une présentation : +[Aspose.Slides](/slides/fr/net/) for .NET vous permet d'ajouter de gros fichiers (dans ce cas, un gros fichier vidéo) via un processus impliquant des BLOBs pour réduire la consommation de mémoire. +Ce C# vous montre comment ajouter un gros fichier vidéo via le processus BLOB à une présentation : ```c# const string pathToVeryLargeVideo = "veryLargeVideo.avi"; @@ -29,100 +28,100 @@ using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToVeryLargeVideo, FileMode.Open)) { - // Ajoutons la vidéo à la présentation - nous choisissons le comportement KeepLocked car 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 car nous + // ne prévoyons pas d'accéder au fichier "veryLargeVideo.avi". IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddVideoFrame(0, 0, 480, 270, video); - // Enregistre la présentation. Bien qu'une grande présentation soit générée, la consommation de mémoire - // reste basse tout au long du cycle de vie de l'objet pres + // Enregistre la présentation. Pendant qu'une grande présentation est générée, la consommation de mémoire + // reste faible pendant le cycle de vie de l'objet pres pres.Save("presentationWithLargeVideo.pptx", SaveFormat.Pptx); } } ``` -### **Exporter un fichier volumineux via BLOB d'une présentation** -Aspose.Slides pour .NET vous permet d'exporter des fichiers volumineux (dans ce cas, un fichier audio ou vidéo) via un processus impliquant des BLOBs à partir de présentations. Par exemple, vous pourriez avoir besoin d'extraire un fichier média volumineux d'une présentation mais ne souhaitez 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 basse. -Ce code en C# démontre l'opération décrite : +### **Exporter un fichier volumineux via BLOB depuis une présentation** +Aspose.Slides for .NET vous permet d'exporter de gros fichiers (dans ce cas, un fichier audio ou vidéo) via un processus impliquant des BLOBs depuis les présentations. Par exemple, vous pouvez avoir besoin d'extraire un gros fichier multimédia d'une présentation sans charger le fichier dans la mémoire de votre ordinateur. En exportant le fichier via le processus BLOB, vous maintenez une faible consommation de mémoire. +Ce code en C# montre l'opération décrite : ```c# const string hugePresentationWithAudiosAndVideosFile = @"Large Video File Test1.pptx"; LoadOptions loadOptions = new LoadOptions { - BlobManagementOptions = { - // Verrouille le fichier source et ne le charge PAS dans la mémoire - PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, - } + BlobManagementOptions = { + // Verrouille le fichier source et NE le charge PAS en mémoire + PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, + } }; -// Crée une instance de présentation, verrouille le fichier "hugePresentationWithAudiosAndVideos.pptx". +// Crée une instance de Presentation, verrouille le fichier "hugePresentationWithAudiosAndVideos.pptx". using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosFile, loadOptions)) { - // Enregistrons chaque vidéo dans un fichier. Pour éviter une forte consommation de mémoire, nous avons besoin d'un tampon qui sera utilisé - // pour transférer les données depuis le flux vidéo de la présentation vers un flux pour un fichier vidéo nouvellement créé. - byte[] buffer = new byte[8 * 1024]; - - // Itère à travers les vidéos - for (var index = 0; index < pres.Videos.Count; index++) - { - IVideo video = pres.Videos[index]; - - // Ouvre le flux vidéo de la présentation. Veuillez noter que nous avons intentionnellement évité d'accéder à des 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 ensuite - // le chargement des octets dans la mémoire. Nous utilisons video.GetStream, qui renverra Stream - et ne nécessite PAS - // de charger l'ensemble de la vidéo dans la mémoire. - using (Stream presVideoStream = video.GetStream()) - { - using (FileStream outputFileStream = File.OpenWrite($"video{index}.avi")) - { - int bytesRead; - while ((bytesRead = presVideoStream.Read(buffer, 0, buffer.Length)) > 0) - { - outputFileStream.Write(buffer, 0, bytesRead); - } - } - } - - // La consommation de mémoire restera faible, quel que soit la taille de la vidéo ou de la présentation, - } - - // Si nécessaire, vous pouvez appliquer les mêmes étapes pour les fichiers audio. + // Enregistrons chaque vidéo dans un fichier. Pour éviter une forte utilisation 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 pour un fichier vidéo nouvellement créé. + byte[] buffer = new byte[8 * 1024]; + + // Itère sur les vidéos + for (var index = 0; index < pres.Videos.Count; index++) + { + IVideo video = pres.Videos[index]; + + // Ouvre le flux vidéo de la présentation. Notez 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, qui ensuite + // charge des octets en mémoire. Nous utilisons video.GetStream, qui renvoie un Stream - et NE + // ne nous oblige pas à charger toute la vidéo en mémoire. + using (Stream presVideoStream = video.GetStream()) + { + using (FileStream outputFileStream = File.OpenWrite($"video{index}.avi")) + { + int bytesRead; + while ((bytesRead = presVideoStream.Read(buffer, 0, buffer.Length)) > 0) + { + outputFileStream.Write(buffer, 0, bytesRead); + } + } + } + + // La consommation de mémoire restera faible quel que soit la taille de la vidéo ou de la présentation, + } + + // Si nécessaire, vous pouvez appliquer les mêmes étapes aux fichiers audio. } ``` -### **Ajouter une image en tant que BLOB dans la présentation** -Avec les méthodes de l'interface [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) et de la classe [**ImageCollection** ](https://reference.aspose.com/slides/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 C# montre comment ajouter une grande image via le processus BLOB : +### **Ajouter une image comme BLOB dans une présentation** +Avec les méthodes de l'interface [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) et de la classe [**ImageCollection** ](https://reference.aspose.com/slides/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 C# vous montre comment ajouter une grande image via le processus BLOB : ```c# string pathToLargeImage = "large_image.jpg"; // crée une nouvelle présentation à laquelle l'image sera ajoutée. using (Presentation pres = new Presentation()) { - using (FileStream fileStream = new FileStream(pathToLargeImage, FileMode.Open)) - { - // Ajoutons l'image à la présentation - nous choisissons le comportement KeepLocked car nous ne - // avons PAS l'intention d'accéder au fichier "largeImage.png". - IPPImage img = pres.Images.AddImage(fileStream, LoadingStreamBehavior.KeepLocked); - pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, 300, 200, img); - - // Enregistre la présentation. Bien qu'une grande présentation soit produite, la consommation de mémoire - // reste basse tout au long du cycle de vie de l'objet pres - pres.Save("presentationWithLargeImage.pptx", SaveFormat.Pptx); - } + using (FileStream fileStream = new FileStream(pathToLargeImage, FileMode.Open)) + { + // Ajoutons l'image à la présentation - nous choisissons le comportement KeepLocked car nous + // ne prévoyons PAS d'accéder au fichier "largeImage.png" file. + IPPImage img = pres.Images.AddImage(fileStream, LoadingStreamBehavior.KeepLocked); + pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, 300, 200, img); + + // Enregistre la présentation. Pendant la génération d'une grande présentation, la consommation de mémoire + // reste faible pendant le cycle de vie de l'objet pres + pres.Save("presentationWithLargeImage.pptx", SaveFormat.Pptx); + } } ``` -## **Mémoire et grandes présentations** -En général, 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 C# : +En général, 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 (dont la présentation a été chargée) n'est plus 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 C# : ```c# using (Presentation pres = new Presentation("large.pptx")) { @@ -130,12 +129,12 @@ using (Presentation pres = new Presentation("large.pptx")) } ``` -Mais cette méthode consomme environ 1,6 Go de mémoire temporaire. -### **Charger une grande présentation en tant que BLOB** +Cependant, cette méthode consomme environ 1,6 Go de mémoire temporaire. -Grâce au processus impliquant un BLOB, vous pouvez charger une grande présentation tout en utilisant peu de mémoire. Ce code C# décrit l'implémentation où le processus BLOB est utilisé pour charger un fichier de présentation volumineux (large.pptx) : +### **Charger une grande présentation en tant que BLOB** +Grâce au processus impliquant un BLOB, vous pouvez charger une grande présentation en utilisant peu de mémoire. Ce code C# décrit l'implémentation où le processus BLOB est utilisé pour charger un fichier de présentation volumineux (large.pptx) : ```c# LoadOptions loadOptions = new LoadOptions { @@ -152,10 +151,10 @@ using (Presentation pres = new Presentation("large.pptx", loadOptions)) } ``` -### **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 `TempFilesRootPath` : +### **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 modifier les paramètres de stockage à l'aide de `TempFilesRootPath` : ```c# LoadOptions loadOptions = new LoadOptions { @@ -168,8 +167,31 @@ LoadOptions loadOptions = new LoadOptions }; ``` + {{% alert title="Info" color="info" %}} -Lorsque vous utilisez `TempFilesRootPath`, Aspose.Slides ne crée pas automatiquement un dossier pour stocker les fichiers temporaires. Vous devez créer le dossier manuellement. +Lorsque vous utilisez `TempFilesRootPath`, 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 grands objets binaires tels que les images, l'audio et la vidéo sont traités comme des BLOB. Le fichier complet de la 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/net/aspose.slides/loadoptions/) avec [BlobManagementOptions](https://reference.aspose.com/slides/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 pour les 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 ; diminuer la limite mémoire déplace davantage de travail vers les fichiers temporaires, réduisant la RAM au prix d'un I/O supplémentaire. Ajustez le seuil [MaxBlobsBytesInMemory](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/maxblobsbytesinmemory/) pour obtenir 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., plusieurs gigaoctets) ?** + +Oui. Les [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/) sont conçues pour de tels scénarios : activer les fichiers temporaires et utiliser le verrouillage de la source peut réduire considérablement l'utilisation maximale de RAM et stabiliser le traitement de présentations très volumineuses. + +**Puis-je utiliser les politiques BLOB lors du chargement depuis des flux au lieu de fichiers disque ?** -{{% /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, maintenant une utilisation de la mémoire prévisible pendant le traitement. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-hyperlinks/_index.md b/fr/net/developer-guide/presentation-content/manage-hyperlinks/_index.md index b09e82d1b2..59044b19dc 100644 --- a/fr/net/developer-guide/presentation-content/manage-hyperlinks/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-hyperlinks/_index.md @@ -1,83 +1,80 @@ --- -title: Gérer les Hyperliens +title: Gestion des hyperliens type: docs weight: 20 url: /fr/net/manage-hyperlinks/ keywords: "Ajouter un hyperlien, Présentation PowerPoint, Hyperlien PowerPoint, hyperlien texte, hyperlien diapositive, hyperlien forme, hyperlien image, hyperlien vidéo, .NET, C#, Csharp" -description: "Ajouter un hyperlien à une Présentation PowerPoint en C# ou .NET" +description: "Ajouter un hyperlien à une présentation PowerPoint en C# ou .NET" --- -Un hyperlien est une référence à un objet ou des données ou un endroit dans quelque chose. Voici des hyperliens courants dans les Présentations PowerPoint : +Un hyperlien est une référence à un objet, à des données ou à un emplacement dans quelque chose. Voici des hyperliens courants dans les présentations PowerPoint : -* Liens vers des sites web à l'intérieur de textes, de formes ou de médias +* Liens vers des sites Web dans le texte, les formes ou les médias * Liens vers des diapositives -Aspose.Slides pour .NET vous permet d'effectuer de nombreuses tâches impliquant des hyperliens dans des présentations. +Aspose.Slides pour .NET vous permet d’effectuer de nombreuses tâches liées aux hyperliens dans les présentations. -{{% alert color="primary" %}} +{{% alert color="primary" %}} +Vous souhaiterez peut-être consulter Aspose simple, [éditeur PowerPoint en ligne gratuit.](https://products.aspose.app/slides/editor) +{{% /alert %}} -Vous voudrez peut-être jeter un œil à l'[éditeur PowerPoint en ligne simple et gratuit d'Aspose.](https://products.aspose.app/slides/editor) +## **Ajout d'hyperliens URL** -{{% /alert %}} - -## **Ajout d'Hyperliens URL** - -### **Ajout d'Hyperliens URL aux Textes** - -Ce code C# vous montre comment ajouter un hyperlien de site web à un texte : +### **Ajout d'hyperliens URL aux textes** +Ce code C# montre comment ajouter un hyperlien vers un site Web à un texte : ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50, false); - shape1.AddTextFrame("Aspose : API de formats de fichiers"); + shape1.AddTextFrame("Aspose: File Format APIs"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; presentation.Save("presentation-out.pptx", SaveFormat.Pptx); } ``` -### **Ajout d'Hyperliens URL aux Formes ou Cadres** -Ce code exemple en C# vous montre comment ajouter un hyperlien de site web à une forme : +### **Ajout d'hyperliens URL aux formes ou cadres** +Cet exemple de code en C# montre comment ajouter un hyperlien vers un site Web à une forme : ```c# using (Presentation pres = new Presentation()) { IShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50); shape.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape.HyperlinkClick.Tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"; + shape.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -### **Ajout d'Hyperliens URL aux Médias** -Aspose.Slides vous permet d'ajouter des hyperliens aux images, aux fichiers audio et vidéo. +### **Ajout d'hyperliens URL aux médias** -Ce code exemple vous montre comment ajouter un hyperlien à une **image** : +Aspose.Slides vous permet d’ajouter des hyperliens aux images, aux fichiers audio et vidéo. +Cet exemple de code montre comment ajouter un hyperlien à une **image** : ```c# using (Presentation pres = new Presentation()) { // Ajoute une image à la présentation IPPImage image = pres.Images.AddImage(File.ReadAllBytes("image.png")); - // Crée un cadre d'image sur la diapositive 1 basé sur l'image précédemment ajoutée + // Crée un cadre d'image sur la diapositive 1 basé sur l'image ajoutée précédemment IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, image); pictureFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - pictureFrame.HyperlinkClick.Tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"; + pictureFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -Ce code exemple vous montre comment ajouter un hyperlien à un **fichier audio** : +Cet exemple de code montre comment ajouter un hyperlien à un **fichier audio** : ```c# using (Presentation pres = new Presentation()) { @@ -85,40 +82,37 @@ using (Presentation pres = new Presentation()) IAudioFrame audioFrame = pres.Slides[0].Shapes.AddAudioFrameEmbedded(10, 10, 100, 100, audio); audioFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - audioFrame.HyperlinkClick.Tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"; + audioFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -Ce code exemple vous montre comment ajouter un hyperlien à une **vidéo** : -```csharp +Cet exemple de code montre comment ajouter un hyperlien à une **vidéo** : +``` csharp using (Presentation pres = new Presentation()) { IVideo video = pres.Videos.AddVideo(File.ReadAllBytes("video.avi")); IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 100, 100, video); videoFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - videoFrame.HyperlinkClick.Tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"; + videoFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Astuce" color="primary" %}} - -Vous pouvez voir *[Gérer OLE](https://docs.aspose.com/slides/net/manage-ole/)*. +{{% alert title="Tip" color="primary" %}} +Vous souhaiterez peut-être consulter *[Gérer OLE](https://docs.aspose.com/slides/net/manage-ole/)*. {{% /alert %}} +## **Utiliser les hyperliens pour créer une table des matières** -## **Utiliser des Hyperliens pour Créer une Table des Matières** - -Étant donné que les hyperliens vous permettent d'ajouter des références à des objets ou à des lieux, vous pouvez les utiliser pour créer une table des matières. - -Ce code exemple vous montre comment créer une table des matières avec des hyperliens : +Étant donné que les hyperliens vous permettent d’ajouter des références à des objets ou des emplacements, vous pouvez les utiliser pour créer une table des matières. +Cet exemple de code montre comment créer une table des matières avec des hyperliens : ```c# using (var presentation = new Presentation()) { @@ -133,7 +127,7 @@ using (var presentation = new Presentation()) var paragraph = new Paragraph(); paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - paragraph.Text = "Titre de la diapositive 2 .......... "; + paragraph.Text = "Title of slide 2 .......... "; var linkPortion = new Portion(); linkPortion.Text = "Page 2"; @@ -146,100 +140,101 @@ using (var presentation = new Presentation()) } ``` -## **Formatage des Hyperliens** -### **Couleur** +## **Mise en forme des hyperliens** -Avec la propriété [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource) dans l'interface [IHyperlink](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink), vous pouvez définir la couleur des hyperliens et également obtenir les informations de couleur des hyperliens. La fonctionnalité a été introduite pour la première fois dans PowerPoint 2019, donc les changements impliquant la propriété ne s'appliquent pas aux versions antérieures de PowerPoint. +### **Couleur** -Ce code exemple démontre une opération où des hyperliens de différentes couleurs ont été ajoutés à la même diapositive : +Grâce à la propriété [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource) de l’interface [IHyperlink](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink), vous pouvez définir la couleur des hyperliens et également récupérer les informations de couleur à partir des hyperliens. Cette fonctionnalité a été introduite pour la première fois dans PowerPoint 2019, de sorte que les modifications concernant cette propriété ne s’appliquent pas aux versions antérieures de PowerPoint. +Ce code d’exemple montre une opération où des hyperliens de différentes couleurs ont été ajoutés à la même diapositive : ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 450, 50, false); - shape1.AddTextFrame("Ceci est un exemple d'hyperlien coloré."); + shape1.AddTextFrame("This is a sample of colored hyperlink."); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.ColorSource = HyperlinkColorSource.PortionFormat; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.FillType = FillType.Solid; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.SolidFillColor.Color = Color.Red; IAutoShape shape2 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 450, 50, false); - shape2.AddTextFrame("Ceci est un exemple d'hyperlien habituel."); + shape2.AddTextFrame("This is a sample of usual hyperlink."); shape2.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); presentation.Save("presentation-out-hyperlink.pptx", SaveFormat.Pptx); } ``` + ### **Son** -Aspose.Slides fournit ces propriétés pour vous permettre de mettre en valeur un hyperlien avec un son : +Aspose.Slides fournit ces propriétés pour vous permettre de mettre en évidence un hyperlien avec un son : + - [IHyperlink.Sound](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/sound) - [IHyperlink.StopSoundOnClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/stopsoundonclick) -#### **Ajouter un Son à l'Hypelien** - -Ce code C# vous montre comment définir l'hyperlien qui joue un son et l'arrête avec un autre hyperlien : +#### **Ajouter un son à l'hyperlien** +Ce code C# montre comment définir un hyperlien qui joue un son et l’arrêter avec un autre hyperlien : ```c# using (Presentation pres = new Presentation()) { - // Ajoute un nouveau son audio à la collection audio de la présentation + // Ajoute un nouvel audio à la collection audio de la présentation IAudio playSound = pres.Audios.AddAudio(File.ReadAllBytes("sampleaudio.wav")); ISlide firstSlide = pres.Slides[0]; - // Ajoute une nouvelle forme avec l'hyperlien vers la diapositive suivante + // Ajoute une nouvelle forme avec le lien hypertexte vers la diapositive suivante IShape firstShape = firstSlide.Shapes.AddAutoShape(ShapeType.SoundButton, 100, 100, 100, 50); firstShape.HyperlinkClick = Hyperlink.NextSlide; - // Vérifie l'hyperlien pour "Aucun Son" + // Vérifie le lien hypertexte pour "No Sound" if (!firstShape.HyperlinkClick.StopSoundOnClick && firstShape.HyperlinkClick.Sound == null) { - // Définit l'hyperlien qui joue le son + // Définit le lien hypertexte qui joue le son firstShape.HyperlinkClick.Sound = playSound; } // Ajoute la diapositive vide ISlide secondSlide = pres.Slides.AddEmptySlide(firstSlide.LayoutSlide); - // Ajoute une nouvelle forme avec l'hyperlien NoAction + // Ajoute une nouvelle forme avec le lien hypertexte NoAction IShape secondShape = secondSlide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 100, 50); secondShape.HyperlinkClick = Hyperlink.NoAction; - // Définit l'hyperlien "Arrêter le son précédent" + // Définit le drapeau "Stop previous sound" du lien hypertexte secondShape.HyperlinkClick.StopSoundOnClick = true; pres.Save("hyperlink-sound.pptx", SaveFormat.Pptx); } ``` -#### **Extraire le Son de l'Hypelien** -Ce code C# vous montre comment extraire le son utilisé dans un hyperlien : +#### **Extraire le son d'un hyperlien** +Ce code C# montre comment extraire le son utilisé dans un hyperlien : ```c# using (Presentation pres = new Presentation("hyperlink-sound.pptx")) { ISlide firstSlide = pres.Slides[0]; - // Récupère le premier hyperlien de forme + // Récupère le lien hypertexte de la première forme IHyperlink link = firstSlide.Shapes[0].HyperlinkClick; if (link.Sound != null) { - // Extrait le son hyperlien dans un tableau d'octets + // Extrait le son du lien hypertexte dans un tableau d'octets byte[] audioData = link.Sound.BinaryData; } } ``` -## **Supprimer des Hyperliens dans les Présentations** -### **Supprimer des Hyperliens des Textes** +## **Suppression des hyperliens dans les présentations** -Ce code C# vous montre comment supprimer l'hyperlien d'un texte dans une diapositive de présentation : +### **Suppression des hyperliens des textes** +Ce code C# montre comment supprimer l’hyperlien d’un texte dans une diapositive de présentation : ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -263,11 +258,11 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **Supprimer des Hyperliens des Formes ou Cadres** -Ce code C# vous montre comment supprimer l'hyperlien d'une forme dans une diapositive de présentation : +### **Suppression des hyperliens des formes ou cadres** -```csharp +Ce code C# montre comment supprimer l’hyperlien d’une forme dans une diapositive de présentation : +``` csharp using (Presentation pres = new Presentation("demo.pptx")) { ISlide slide = pres.Slides[0]; @@ -279,27 +274,27 @@ using (Presentation pres = new Presentation("demo.pptx")) } ``` -## **Hyperlien Mutable** -La classe [Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink) est mutable. Avec cette classe, vous pouvez changer les valeurs de ces propriétés : +## **Hyperlien mutable** + +La classe [Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink) est mutable. Avec cette classe, vous pouvez modifier les valeurs de ces propriétés : - [IHyperlink.TargetFrame](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/targetframe) - [IHyperlink.Tooltip](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/tooltip) - [IHyperlink.History](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/history) - [IHyperlink.HighlightClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/highlightclick) -Le code d'exemple vous montre comment ajouter un hyperlien à une diapositive et modifier son info-bulle plus tard : - +L’extrait de code montre comment ajouter un hyperlien à une diapositive et modifier son infobulle ultérieurement : ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50, false); - shape1.AddTextFrame("Aspose : API de formats de fichiers"); + shape1.AddTextFrame("Aspose: File Format APIs"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "Plus de 70 % des entreprises du Fortune 100 font confiance aux API d'Aspose"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; @@ -307,17 +302,32 @@ using (Presentation presentation = new Presentation()) } ``` + ## **Propriétés prises en charge dans IHyperlinkQueries** -Vous pouvez accéder à IHyperlinkQueries à partir d'une présentation, d'une diapositive ou de textes pour lesquels l'hyperlien est défini. +Vous pouvez accéder à IHyperlinkQueries depuis une présentation, une diapositive ou un texte pour lequel l’hyperlien est défini. - [IPresentation.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/properties/hyperlinkqueries) - [IBaseSlide.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ibaseslide/properties/hyperlinkqueries) - [ITextFrame.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/itextframe/properties/hyperlinkqueries) -La classe IHyperlinkQueries prend en charge ces méthodes et propriétés : +La classe IHyperlinkQueries prend en charge ces méthodes et propriétés : - [IHyperlinkQueries.GetHyperlinkClicks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkclicks) - [IHyperlinkQueries.GetHyperlinkMouseOvers();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkmouseovers) - [IHyperlinkQueries.GetAnyHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/getanyhyperlinks) -- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) \ No newline at end of file +- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) + +## **FAQ** + +**Comment créer une navigation interne non seulement vers une diapositive, mais vers une « section » ou la première diapositive d’une section ?** + +Les sections dans PowerPoint sont des groupements de diapositives ; la navigation cible techniquement une diapositive spécifique. Pour « naviguer vers une section », vous créez généralement un lien vers sa première diapositive. + +**Puis-je attacher un hyperlien aux éléments de la diapositive maîtresse afin qu’il fonctionne sur toutes les diapositives ?** + +Oui. Les éléments de la diapositive maîtresse et des dispositions prennent en charge les hyperliens. Ces liens apparaissent sur les diapositives enfants et sont cliquables pendant le diaporama. + +**Les hyperliens seront-ils conservés lors de l’exportation vers PDF, HTML, images ou vidéo ?** + +Dans [PDF](/slides/fr/net/convert-powerpoint-to-pdf/) et [HTML](/slides/fr/net/convert-powerpoint-to-html/), oui — les liens sont généralement conservés. Lors de l’exportation vers [images](/slides/fr/net/convert-powerpoint-to-png/) et [vidéo](/slides/fr/net/convert-powerpoint-to-video/), la cliquabilité ne sera pas conservée en raison de la nature de ces formats (les images raster/vidéos ne prennent pas en charge les hyperliens). \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md b/fr/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md index 7496772cdc..9b63b36dc1 100644 --- a/fr/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md @@ -1,25 +1,35 @@ --- -title: Cadre Audio - Insérer et Extraire de l'Audio dans PowerPoint avec C# -linktitle: Cadre Audio +title: Gérer l'audio dans les présentations avec C# +linktitle: Cadre audio type: docs weight: 10 url: /fr/net/audio-frame/ -keywords: "image miniature audio, Ajouter de l'audio, Cadre audio, Propriétés audio, Extraire de l'audio, C#, Csharp, Aspose.Slides pour .NET" -description: "Ajouter de l'audio à une présentation PowerPoint en C# ou .NET" +keywords: +- audio +- cadre audio +- miniature +- ajouter audio +- propriétés audio +- options audio +- extraire audio +- .NET +- C# +- Aspose.Slides +description: "Créer et contrôler les cadres audio dans Aspose.Slides pour .NET — exemples C# pour incorporer, couper, boucler et configurer la lecture dans les présentations PPT, PPTX et ODP." --- -## **Créer un Cadre Audio** -Aspose.Slides pour .NET vous permet d'ajouter des fichiers audio aux diapositives. Les fichiers audio sont intégrés dans les diapositives sous forme de cadres audio. +## **Créer des cadres audio** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez une référence à la diapositive par son index. -3. Chargez le flux de fichier audio que vous souhaitez intégrer dans la diapositive. +Aspose.Slides for .NET vous permet d'ajouter des fichiers audio aux diapositives. Les fichiers audio sont intégrés aux diapositives sous forme de cadres audio. + +1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Obtenez une référence à la diapositive via son indice. +3. Chargez le flux du fichier audio que vous souhaitez intégrer dans la diapositive. 4. Ajoutez le cadre audio intégré (contenant le fichier audio) à la diapositive. -5. Définissez [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) et `Volume` exposés par l'objet [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe). +5. Définissez [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) et `Volume` exposés par l’objet [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe). 6. Enregistrez la présentation modifiée. -Ce code C# vous montre comment ajouter un cadre audio intégré à une diapositive : - +Ce code C# montre comment ajouter un cadre audio intégré à une diapositive : ```c# // Instancie une classe de présentation qui représente un fichier de présentation using (Presentation pres = new Presentation()) @@ -27,13 +37,13 @@ using (Presentation pres = new Presentation()) // Obtient la première diapositive ISlide sld = pres.Slides[0]; - // Charge le fichier audio wav dans un flux + // Charge le fichier wav en flux FileStream fstr = new FileStream("sampleaudio.wav", FileMode.Open, FileAccess.Read); - // Ajoute le Cadre Audio + // Ajoute le cadre audio IAudioFrame audioFrame = sld.Shapes.AddAudioFrameEmbedded(50, 150, 100, 100, fstr); - // Définit le Mode de Lecture et le Volume de l'Audio + // Définit le mode de lecture et le volume de l'audio audioFrame.PlayMode = AudioPlayModePreset.Auto; audioFrame.Volume = AudioVolumeMode.Loud; @@ -42,12 +52,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Changer la Miniature du Cadre Audio** -Lorsque vous ajoutez un fichier audio à une présentation, l'audio apparaît sous la forme d'un cadre avec une image par défaut standard (voir l'image dans la section ci-dessous). Vous pouvez changer la miniature du cadre audio (définissez votre image préférée). +## **Modifier la miniature du cadre audio** -Ce code C# vous montre comment changer la miniature ou l'image de prévisualisation d'un cadre audio : +Lorsque vous ajoutez un fichier audio à une présentation, l'audio apparaît sous forme de cadre avec une image par défaut standard (voir l'image dans la section ci‑dessous). Vous pouvez modifier la miniature du cadre audio (définir votre image préférée). +Ce code C# montre comment changer la miniature ou l’image d’aperçu d’un cadre audio : ```c# using (var presentation = new Presentation()) { @@ -58,7 +68,7 @@ using (var presentation = new Presentation()) var audioFrame = slide.Shapes.AddAudioFrameEmbedded(150, 100, 50, 50, audioStream); audioStream.Dispose(); - // Ajoute une image aux ressources de présentation. + // Ajoute une image aux ressources de la présentation. var imageStream = File.OpenRead("eagle.jpeg"); var audioImage = presentation.Images.AddImage(imageStream); imageStream.Dispose(); @@ -66,58 +76,67 @@ using (var presentation = new Presentation()) // Définit l'image pour le cadre audio. audioFrame.PictureFormat.Picture.Image = audioImage; // <----- - //Sauvegarde la présentation modifiée sur le disque + //Enregistre la présentation modifiée sur le disque presentation.Save("example_out.pptx", SaveFormat.Pptx); } ``` -## **Changer les Options de Lecture Audio** -Aspose.Slides pour .NET vous permet de changer les options qui contrôlent la lecture ou les propriétés d'un audio. Par exemple, vous pouvez ajuster le volume d'un audio, définir l'audio pour qu'il soit joué en boucle, ou même cacher l'icône audio. +## **Modifier les options de lecture audio** + +Aspose.Slides for .NET vous permet de modifier les options qui contrôlent la lecture ou les propriétés d'un audio. Par exemple, vous pouvez ajuster le volume d'un audio, définir la lecture en boucle, ou même masquer l'icône audio. -Le **Panneau des Options Audio** dans Microsoft PowerPoint : +Le volet **Audio Options** dans Microsoft PowerPoint : ![example1_image](audio_frame_0.png) -Les options audio de PowerPoint qui correspondent aux propriétés [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) d'Aspose.Slides : +Les **Audio Options** de PowerPoint qui correspondent aux propriétés [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) d’Aspose.Slides : -- Le menu déroulant **Démarrer** des Options Audio correspond à la propriété [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode) -- Les options Audio **Volume** correspondent à la propriété [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume) -- Les options Audio **Jouer à travers les diapositives** correspondent à la propriété [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides) -- Les options Audio **Boucler jusqu'à l'arrêt** correspondent à la propriété [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode) -- Les options Audio **Cacher pendant la présentation** correspondent à la propriété [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing) -- Les options Audio **Rembobiner après lecture** correspondent à la propriété [AudioFrame.RewindAudio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio) +- **Start** du menu déroulant correspond à la propriété [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode). +- **Volume** correspond à la propriété [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume). +- **Play Across Slides** correspond à la propriété [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides). +- **Loop until Stopped** correspond à la propriété [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode). +- **Hide During Show** correspond à la propriété [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing). +- **Rewind after Playing** correspond à la propriété [AudioFrame.RewindAudio ](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio). -Voici comment vous changez les options de lecture audio : +Les options **Editing** de PowerPoint qui correspondent aux propriétés [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) d’Aspose.Slides : -1. [Créer](#create-audio-frame) ou obtenir le Cadre Audio. -2. Définissez de nouvelles valeurs pour les propriétés du Cadre Audio que vous souhaitez ajuster. -3. Enregistrez le fichier PowerPoint modifié. +- **Fade In** correspond à la propriété [AudioFrame.FadeInDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeinduration/). +- **Fade Out** correspond à la propriété [AudioFrame.FadeOutDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeoutduration/). +- **Trim Audio Start Time** correspond à la propriété [AudioFrame.TrimFromStart](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromstart/). +- **Trim Audio End Time** a une valeur égale à la durée de l'audio moins la valeur de la propriété [AudioFrame.TrimFromEnd](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromend/). + +Le **Volume controll** de PowerPoint dans le panneau de contrôle audio correspond à la propriété [AudioFrame.VolumeValue](https://reference.aspose.com/slides/net/aspose.slides/audioframe/volumevalue/). Il vous permet de modifier le volume audio en pourcentage. -Ce code C# démontre une opération dans laquelle les options d'un audio sont ajustées : +Voici comment modifier les options de lecture audio : -``` csharp +1. [Сreate](#create-audio-frame) ou obtenez le cadre audio. +2. Définissez de nouvelles valeurs pour les propriétés du cadre audio que vous souhaitez ajuster. +3. Enregistrez le fichier PowerPoint modifié. + +Ce code C# montre une opération où les options d'un audio sont ajustées : +```csharp using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) { // Obtient la forme AudioFrame AudioFrame audioFrame = (AudioFrame)pres.Slides[0].Shapes[0]; - // Définit le mode de lecture pour jouer au clic + // Définit le mode de lecture sur lecture au clic audioFrame.PlayMode = AudioPlayModePreset.OnClick; - // Définit le volume sur Bas + // Définit le volume sur Faible audioFrame.Volume = AudioVolumeMode.Low; - // Définit l'audio pour jouer à travers les diapositives + // Définit l'audio pour lire sur toutes les diapositives audioFrame.PlayAcrossSlides = true; - // Désactive la boucle pour l'audio + // Désactive la lecture en boucle de l'audio audioFrame.PlayLoopMode = false; - // Cache le Cadre Audio pendant le diaporama + // Masque le AudioFrame pendant le diaporama audioFrame.HideAtShowing = true; - // Rembobine l'audio pour commencer après la lecture + // Rembobine l'audio au début après la lecture audioFrame.RewindAudio = true; // Enregistre le fichier PowerPoint sur le disque @@ -125,30 +144,86 @@ using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) } ``` -## **Extraire de l'Audio** -Aspose.Slides pour .NET vous permet d'extraire le son utilisé dans les transitions de diaporama. Par exemple, vous pouvez extraire le son utilisé dans une diapositive spécifique. -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) et chargez la présentation contenant l'audio. -2. Obtenez une référence à la diapositive pertinente par son index. -3. Accédez aux transitions de diaporama pour la diapositive. -4. Extraire le son sous forme de données binaires. +Cet exemple C# montre comment ajouter un nouveau cadre audio avec audio intégré, le couper, et définir les durées de fondu : +```c# +using (Presentation pres = new Presentation()) +{ + ISlide slide = pres.Slides[0]; -Ce code C# vous montre comment extraire l'audio utilisé dans une diapositive : + byte[] audioData = File.ReadAllBytes("sampleaudio.mp3"); + IAudio audio = pres.Audios.AddAudio(audioData); + IAudioFrame audioFrame = slide.Shapes.AddAudioFrameEmbedded(50, 50, 100, 100, audio); + // Définit le décalage de début de rognage à 1,5 seconde + audioFrame.TrimFromStart = 1500f; + // Définit le décalage de fin de rognage à 2 secondes + audioFrame.TrimFromEnd = 2000f; + + // Définit la durée du fondu d'entrée à 200 ms + audioFrame.FadeInDuration = 200f; + // Définit la durée du fondu de sortie à 500 ms + audioFrame.FadeOutDuration = 500f; + + pres.Save("AudioFrameTrimFade_out.pptx", SaveFormat.Pptx); +} +``` + + +L’exemple de code suivant montre comment récupérer un cadre audio avec audio intégré et régler son volume à 85 % : +```c# +using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) +{ + // Obtient une forme de cadre audio + IAudioFrame audioFrame = (IAudioFrame)pres.Slides[0].Shapes[0]; + + // Définit le volume audio à 85% + audioFrame.VolumeValue = 85f; + + pres.Save("AudioFrameValue_out.pptx", SaveFormat.Pptx); +} +``` + + +## **Extraire l’audio** + +Aspose.Slides for .NET vous permet d'extraire le son utilisé dans les transitions du diaporama. Par exemple, vous pouvez extraire le son utilisé dans une diapositive spécifique. + +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) et chargez la présentation contenant l’audio. +2. Obtenez la référence de la diapositive concernée via son indice. +3. Accédez aux transitions du diaporama pour la diapositive. +4. Extrayez le son sous forme de données binaires. + +Ce code C# montre comment extraire l’audio utilisé dans une diapositive : ```c# string presName = "AudioSlide.pptx"; -// Instancie une classe de Présentation qui représente un fichier de présentation +// Instancie une classe Presentation qui représente un fichier de présentation Presentation pres = new Presentation(presName); // Accède à la diapositive ISlide slide = pres.Slides[0]; -// Obtient les effets de transition de diaporama pour la diapositive +// Obtient les effets de transition du diaporama pour la diapositive ISlideShowTransition transition = slide.SlideShowTransition; -//Extrait le son sous forme de tableau d'octets +//Extrait le son en tableau d'octets byte[] audio = transition.Sound.BinaryData; -System.Console.WriteLine("Longueur : " + audio.Length); -``` \ No newline at end of file +System.Console.WriteLine("Length: " + audio.Length); +``` + + +## **FAQ** + +**Puis-je réutiliser le même fichier audio sur plusieurs diapositives sans augmenter la taille du fichier ?** + +Oui. Ajoutez l’audio une fois à la [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) partagée de la présentation et créez des cadres audio supplémentaires qui font référence à cet actif existant. Cela évite la duplication des données multimédias et maintient la taille de la présentation sous contrôle. + +**Puis-je remplacer le son d’un cadre audio existant sans recréer la forme ?** + +Oui. Pour un son lié, mettez à jour le [link path](https://reference.aspose.com/slides/net/aspose.slides/audioframe/linkpathlong/) pour pointer vers le nouveau fichier. Pour un son intégré, remplacez l’objet [embedded audio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/embeddedaudio/) par un autre provenant de la [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) de la présentation. Le format du cadre et la plupart des paramètres de lecture restent intacts. + +**Le rognage modifie-t-il les données audio sous-jacentes stockées dans la présentation ?** + +Non. Le rognage ne modifie que les limites de lecture. Les octets audio originaux restent intacts et accessibles via l’audio intégré ou la collection audio de la présentation. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-media-files/flash/_index.md b/fr/net/developer-guide/presentation-content/manage-media-files/flash/_index.md index 7f56864993..277f9dd450 100644 --- a/fr/net/developer-guide/presentation-content/manage-media-files/flash/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-media-files/flash/_index.md @@ -3,13 +3,12 @@ title: Flash type: docs weight: 10 url: /fr/net/flash/ -keywords: "Extraire flash, présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" -description: "Extraire l'objet flash de la présentation PowerPoint en C# ou .NET" +keywords: "Extraire le flash, présentation PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Extraire l'objet flash d'une présentation PowerPoint en C# ou .NET" --- -## **Extraire des objets Flash de la présentation** -Aspose.Slides pour .NET fournit une fonctionnalité pour extraire des objets flash de la présentation. Vous pouvez accéder au contrôle flash par son nom et l'extraire de la présentation, y compris stocker les données de l'objet SWF. - +## **Extraire les objets Flash d’une présentation** +Aspose.Slides for .NET offre une fonctionnalité d’extraction d’objets flash d’une présentation. Vous pouvez accéder au contrôle flash par son nom, l’extraire de la présentation et enregistrer les données de l’objet SWF. ```c# using (Presentation pres = new Presentation("withFlash.pptm")) { @@ -23,4 +22,23 @@ using (Presentation pres = new Presentation("withFlash.pptm")) } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Quels formats de présentation sont pris en charge lors de l’extraction de contenu Flash ?** + +[Aspose.Slides supports](/slides/fr/net/supported-file-formats/) les principaux formats PowerPoint tels que PPT et PPTX, car il peut charger ces conteneurs et accéder à leurs contrôles, y compris les éléments ActiveX liés à Flash. + +**Puis-je convertir une présentation contenant du Flash en HTML5 tout en conservant l’interactivité Flash ?** + +Non. Aspose.Slides n’exécute pas le contenu SWF et ne convertit pas son interactivité. Bien que l’exportation vers [HTML](/slides/fr/net/convert-powerpoint-to-html/)/[HTML5](/slides/fr/net/export-to-html5/) soit prise en charge, le Flash ne fonctionnera pas dans les navigateurs modernes en raison de la fin de son support. La solution recommandée consiste à remplacer le Flash par des alternatives telles que la vidéo ou des animations HTML5 avant l’exportation. + +**D’un point de vue sécuritaire, Aspose.Slides exécute-t‑il des fichiers SWF lors de la lecture d’une présentation ?** + +Non. Aspose.Slides considère le Flash comme des données binaires intégrées au fichier et n’exécute pas le contenu SWF pendant le traitement. + +**Comment gérer les présentations qui contiennent du Flash ainsi que d’autres fichiers intégrés via OLE ?** + +Aspose.Slides prend en charge [l’extraction d’objets OLE intégrés](/slides/fr/net/manage-ole/), vous permettant de traiter tout le contenu intégré lié en une seule passe, en gérant les contrôles Flash et les autres documents intégrés via OLE ensemble. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-media-files/image/_index.md b/fr/net/developer-guide/presentation-content/manage-media-files/image/_index.md index 76a17357d6..85f8f1eee4 100644 --- a/fr/net/developer-guide/presentation-content/manage-media-files/image/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-media-files/image/_index.md @@ -3,38 +3,50 @@ title: Image type: docs weight: 10 url: /fr/net/image/ -keywords: "Ajouter une image, Ajouter une photo, Présentation PowerPoint, EMF, SVG, C#, Csharp, Aspose.Slides pour .NET" -description: "Ajouter une image à une diapositive ou une présentation PowerPoint en C# ou .NET" +keywords: +- ajouter image +- ajouter illustration +- ajouter bitmap +- remplacer image +- remplacer illustration +- depuis le web +- arrière-plan +- ajouter PNG +- ajouter JPG +- ajouter SVG +- ajouter EMF +- ajouter WMF +- ajouter TIFF +- PowerPoint +- OpenDocument +- présentation +- .NET +- C# +- Aspose.Slides +description: "Simplifiez la gestion des images dans PowerPoint et OpenDocument avec Aspose.Slides pour .NET, en optimisant les performances et en automatisant votre flux de travail." --- -## **Images dans les Diapositives Dans les Présentations** +## **Images dans les diapositives des présentations** -Les images rendent les présentations plus captivantes et intéressantes. Dans Microsoft PowerPoint, vous pouvez insérer des images à partir d'un fichier, d'internet ou d'autres emplacements sur les diapositives. De même, Aspose.Slides vous permet d'ajouter des images aux diapositives de vos présentations par le biais de différentes procédures. - -{{% alert title="Astuce" color="primary" %}} - -Aspose propose des convertisseurs gratuits—[JPEG à PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) et [PNG à PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)—qui permettent aux utilisateurs de créer rapidement des présentations à partir d'images. +Les images rendent les présentations plus attrayantes et intéressantes. Dans Microsoft PowerPoint, vous pouvez insérer des images à partir d'un fichier, d'Internet ou d'autres emplacements sur les diapositives. De même, Aspose.Slides vous permet d'ajouter des images aux diapositives de vos présentations via différentes procédures. +{{% 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 permettent de créer rapidement des présentations à partir d'images. {{% /alert %}} {{% alert title="Info" color="info" %}} - -Si vous souhaitez ajouter une image en tant qu'objet cadre—surtout si vous prévoyez d'utiliser des options de formatage standard pour en changer la taille, ajouter des effets, etc.—voir [Cadre Image](https://docs.aspose.com/slides/net/picture-frame/). - +Si vous souhaitez ajouter une image en tant qu'objet image—surtout si vous prévoyez d'utiliser les options de mise en forme standard pour changer sa taille, ajouter des effets, etc.—voir [Picture Frame](https://docs.aspose.com/slides/net/picture-frame/). {{% /alert %}} {{% alert title="Note" color="warning" %}} - -Vous pouvez manipuler les opérations d'entrée/sortie impliquant des images et des présentations PowerPoint pour convertir une image d'un format à un autre. Consultez ces pages : convertir [image en JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); convertir [JPG en image](https://products.aspose.com/slides/net/conversion/jpg-to-image/); convertir [JPG en PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), convertir [PNG en JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); convertir [PNG en SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), convertir [SVG en PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). - +Vous pouvez manipuler les opérations d'entrée/sortie impliquant des images et des présentations PowerPoint afin de convertir une image d'un format à un autre. Consultez ces pages : convertissez [image to JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); convertissez [JPG to image](https://products.aspose.com/slides/net/conversion/jpg-to-image/); convertissez [JPG to PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), convertissez [PNG to JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); convertissez [PNG to SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), convertissez [SVG to PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -Aspose.Slides prend en charge les opérations avec des images dans ces formats populaires : JPEG, PNG, BMP, GIF, et d'autres. - -## **Ajouter des Images Stockées Localement aux Diapositives** +Aspose.Slides prend en charge les opérations avec les images dans ces formats populaires : JPEG, PNG, BMP, GIF et autres. -Vous pouvez ajouter une ou plusieurs images sur votre ordinateur à une diapositive dans une présentation. Ce code d'exemple en C# vous montre comment ajouter une image à une diapositive : +## **Ajouter des images stockées localement aux diapositives** +Vous pouvez ajouter une ou plusieurs images de votre ordinateur sur une diapositive d’une présentation. Ce code d’exemple en C# vous montre comment ajouter une image à une diapositive : ```c# using (Presentation pres = new Presentation()) { @@ -46,12 +58,11 @@ using (Presentation pres = new Presentation()) } ``` -## **Ajouter des Images du Web aux Diapositives** -Si l'image que vous souhaitez ajouter à une diapositive n'est pas disponible sur votre ordinateur, vous pouvez ajouter l'image directement depuis le web. - -Ce code d'exemple vous montre comment ajouter une image depuis le web à une diapositive en C# : +## **Ajouter des images depuis le Web aux diapositives** +Si l’image que vous souhaitez ajouter à une diapositive n’est pas disponible sur votre ordinateur, vous pouvez l’ajouter directement depuis le Web. +Ce code d’exemple vous montre comment ajouter une image depuis le Web à une diapositive en C# : ```c# using (Presentation pres = new Presentation()) { @@ -70,12 +81,11 @@ using (Presentation pres = new Presentation()) } ``` -## **Ajouter des Images aux Masters de Diapositives** - -Un master de diapositive est la diapositive principale qui stocke et contrôle les informations (thème, mise en page, etc.) sur toutes les diapositives qui lui sont sous-jacentes. Ainsi, lorsque vous ajoutez une image à un master de diapositive, cette image apparaît sur chaque diapositive sous ce master. -Ce code d'exemple en C# vous montre comment ajouter une image à un master de diapositive : +## **Ajouter des images aux maîtres de diapositive** +Un maître de diapositive est la diapositive principale qui stocke et contrôle les informations (thème, mise en page, etc.) concernant toutes les diapositives qui en dépendent. Ainsi, lorsque vous ajoutez une image à un maître de diapositive, cette image apparaît sur chaque diapositive dépendante. +Ce code d’exemple C# vous montre comment ajouter une image à un maître de diapositive : ```c# using (Presentation pres = new Presentation()) { @@ -89,28 +99,27 @@ using (Presentation pres = new Presentation()) } ``` -## **Ajouter des Images Comme Arrière-Plan de Diapositive** -Vous pouvez décider d'utiliser une image comme arrière-plan pour une diapositive spécifique ou plusieurs diapositives. Dans ce cas, vous devez voir *[Définir des Images comme Arrière-Plans pour les Diapositives](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*. +## **Ajouter des images en tant qu’arrière-plan de diapositive** -## **Ajouter du SVG aux Présentations** -Vous pouvez ajouter ou insérer n'importe quelle image dans une présentation en utilisant la méthode [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe) qui appartient à l'interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +Vous pouvez décider d’utiliser une image comme arrière-plan pour une diapositive spécifique ou plusieurs diapositives. Dans ce cas, vous devez consulter *[Setting Images as Backgrounds for Slides](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*. -Pour créer un objet image basé sur une image SVG, vous pouvez procéder comme suit : +## **Ajouter du SVG aux présentations** -1. Créer un objet SvgImage pour l'insérer dans ImageShapeCollection +Vous pouvez ajouter ou insérer n’importe quelle image dans une présentation en utilisant la méthode [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe) appartenant à l’interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +Pour créer un objet image basé sur une image SVG, vous pouvez le faire ainsi : +1. Créer un objet SvgImage pour l’insérer dans ImageShapeCollection 2. Créer un objet PPImage à partir de ISvgImage -3. Créer un objet PictureFrame en utilisant l'interface IPPImage - -Ce code d'exemple vous montre comment mettre en œuvre les étapes ci-dessus pour ajouter une image SVG dans une présentation : -``` csharp -// Le chemin vers le répertoire des documents +3. Créer un objet PictureFrame en utilisant l’interface IPPImage +Ce code d’exemple vous montre comment mettre en œuvre les étapes ci‑dessus pour ajouter une image SVG dans une présentation : +```csharp +// Le chemin du répertoire des documents string dataDir = @"D:\Documents\"; // Nom du fichier SVG source string svgFileName = dataDir + "sample.svg"; -// Nom du fichier de présentation de sortie +// Nom du fichier de sortie de la présentation string outPptxPath = dataDir + "presentation.pptx"; // Créer une nouvelle présentation @@ -119,10 +128,10 @@ using (var p = new Presentation()) // Lire le contenu du fichier SVG string svgContent = File.ReadAllText(svgFileName); - // Créer un objet SvgImage + // Créer l'objet SvgImage ISvgImage svgImage = new SvgImage(svgContent); - // Créer un objet PPImage + // Créer l'objet PPImage IPPImage ppImage = p.Images.AddImage(svgImage); // Crée un nouveau PictureFrame @@ -133,23 +142,23 @@ using (var p = new Presentation()) } ``` -## **Conversion de SVG en Ensemble de Formes** -La conversion de SVG en un ensemble de formes par Aspose.Slides est similaire à la fonctionnalité de PowerPoint utilisée pour travailler avec des images SVG : -![Menu contextuel PowerPoint](img_01_01.png) +## **Convertir un SVG en un ensemble de formes** -La fonctionnalité est fournie par l'un des surcharges de la méthode [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) de l'interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) qui prend un objet [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) comme premier argument. +La conversion d’un SVG en un ensemble de formes par Aspose.Slides est similaire à la fonctionnalité de PowerPoint utilisée pour travailler avec les images SVG : -Ce code d'exemple vous montre comment utiliser la méthode décrite pour convertir un fichier SVG en un ensemble de formes : +![PowerPoint Popup Menu](img_01_01.png) -``` csharp -// Le chemin vers le répertoire des documents +Cette fonctionnalité est fournie par l’une des surcharges de la méthode [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) de l’interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) qui accepte un objet [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) comme premier argument. +Ce code d’exemple vous montre comment utiliser la méthode décrite pour convertir un fichier SVG en un ensemble de formes : +```csharp +// Le chemin du répertoire des documents string dataDir = @"D:\Documents\"; // Nom du fichier SVG source string svgFileName = dataDir + "sample.svg"; -// Nom du fichier de présentation de sortie +// Nom du fichier de sortie de la présentation string outPptxPath = dataDir + "presentation.pptx"; // Créer une nouvelle présentation @@ -158,13 +167,13 @@ using (IPresentation presentation = new Presentation()) // Lire le contenu du fichier SVG string svgContent = File.ReadAllText(svgFileName); - // Créer un objet SvgImage + // Créer l'objet SvgImage ISvgImage svgImage = new SvgImage(svgContent); // Obtenir la taille de la diapositive SizeF slideSize = presentation.SlideSize.Size; - // Convertir l'image SVG en groupe de formes en l'échelonnant à la taille de la diapositive + // Convertir l'image SVG en groupe de formes en l'ajustant à la taille de la diapositive presentation.Slides[0].Shapes.AddGroupShape(svgImage, 0f, 0f, slideSize.Width, slideSize.Height); // Enregistrer la présentation au format PPTX @@ -172,11 +181,11 @@ using (IPresentation presentation = new Presentation()) } ``` -## **Ajouter des Images Comme EMF dans les Diapositives** -Aspose.Slides pour .NET vous permet de générer des images EMF à partir de feuilles Excel et d'ajouter les images en tant qu'EMF dans les diapositives avec Aspose.Cells. -Ce code d'exemple vous montre comment réaliser la tâche décrite : +## **Ajouter des images au format EMF dans les diapositives** +Aspose.Slides pour .NET vous permet de générer des images EMF à partir de feuilles Excel et d’ajouter ces images au format EMF dans les diapositives avec Aspose.Cells. +Ce code d’exemple vous montre comment réaliser la tâche décrite : ``` csharp using (Workbook book = new Workbook(dataDir + "chart.xlsx")) { @@ -186,7 +195,7 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) options.VerticalResolution = 200; options.ImageFormat = System.Drawing.Imaging.ImageFormat.Emf; - //Sauvegarder le classeur dans un flux + //Enregistrer le classeur dans le flux SheetRender sr = new SheetRender(sheet, options); using (Presentation pres = new Presentation()) { @@ -209,8 +218,57 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) } ``` + +## **Remplacer les images dans la collection d’images** + +Aspose.Slides vous permet de remplacer les images stockées dans la collection d’images d’une présentation (y compris celles utilisées par les formes de diapositives). Cette section montre plusieurs approches pour mettre à jour les images de la collection. L’API fournit des méthodes simples pour remplacer une image en utilisant des données brutes sous forme de tableau d’octets, une instance [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/), ou une autre image déjà présente dans la collection. + +1. Charger le fichier de présentation contenant des images en utilisant la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +1. Charger une nouvelle image à partir d’un fichier dans un tableau d’octets. +1. Remplacer l’image cible par la nouvelle image en utilisant le tableau d’octets. +1. Dans la deuxième approche, charger l’image dans un objet [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) et remplacer l’image cible par cet objet. +1. Dans la troisième approche, remplacer l’image cible par une image déjà présente dans la collection d’images de la présentation. +1. Enregistrer la présentation modifiée au format PPTX. +```cs +// Instancier la classe Presentation qui représente un fichier de présentation. +using Presentation presentation = new Presentation("sample.pptx"); + +// Première méthode. +byte[] imageData = File.ReadAllBytes("image0.jpeg"); +IPPImage oldImage = presentation.Images[0]; +oldImage.ReplaceImage(imageData); + +// Deuxième méthode. +using IImage newImage = Images.FromFile("image1.png"); +oldImage = presentation.Images[1]; +oldImage.ReplaceImage(newImage); + +// Troisième méthode. +oldImage = presentation.Images[2]; +oldImage.ReplaceImage(presentation.Images[3]); + +// Enregistrer la présentation dans un fichier. +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + {{% alert title="Info" color="info" %}} +En utilisant le convertisseur GRATUIT Aspose [Text to GIF](https://products.aspose.app/slides/text-to-gif), vous pouvez facilement animer du texte, créer des GIF à partir de textes, etc. +{{% /alert %}} + +## **FAQ** + +**La résolution d’origine de l’image reste‑t‑elle intacte après l’insertion ?** +Oui. Les pixels d’origine sont conservés, mais l’apparence finale dépend de la façon dont le [picture](/slides/fr/net/picture-frame/) est redimensionné sur la diapositive et de toute compression appliquée lors de l’enregistrement. + +**Quelle est la meilleure façon de remplacer le même logo sur des dizaines de diapositives en même temps ?** +Placez le logo sur la diapositive maître ou sur une mise en page et remplacez‑le dans la collection d’images de la présentation —les mises à jour se propageront à tous les éléments qui utilisent cette ressource. + +**Une SVG insérée peut‑elle être convertie en formes éditables ?** +Oui. Vous pouvez convertir un SVG en un groupe de formes, après quoi les parties individuelles deviennent éditables avec les propriétés standard des formes. -En utilisant le convertisseur gratuit [Texte à GIF](https://products.aspose.app/slides/text-to-gif) d'Aspose, vous pouvez facilement animer des textes, créer des GIF à partir de textes, etc. +**Comment définir une image comme arrière‑plan de plusieurs diapositives à la fois ?** +[Attribuez l’image comme arrière‑plan](/slides/fr/net/presentation-background/) sur la diapositive maître ou la mise en page concernée—toutes les diapositives utilisant ce maître/mise en page hériteront de l’arrière‑plan. -{{% /alert %}} \ No newline at end of file +**Comment empêcher la présentation de « gonfler » en taille à cause de nombreuses images ?** +Réutilisez une même ressource d’image au lieu de duplicata, choisissez des résolutions raisonnables, appliquez une compression lors de l’enregistrement et conservez les graphiques répétés sur le maître lorsqu’il est approprié. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/fr/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index e6856fe154..bd7b04325a 100644 --- a/fr/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -1,46 +1,48 @@ --- -title: Cadre Photo +title: Cadre d'image type: docs weight: 10 url: /fr/net/picture-frame/ -keywords: -- ajouter un cadre photo -- créer un cadre photo +keywords: +- cadre d'image +- ajouter un cadre d'image +- créer un cadre d'image - ajouter une image - créer une image - extraire une image +- recadrer une image - propriété StretchOff -- formatage du cadre photo -- propriétés du cadre photo -- présentation PowerPoint +- mise en forme du cadre d'image +- propriétés du cadre d'image +- effet d'image +- ratio d'aspect +- PowerPoint +- présentation - C# - Csharp -- Aspose.Slides pour .NET -description: "Ajouter un cadre photo à une présentation PowerPoint en C# ou .NET" +- Aspose.Slides for .NET +description: "Ajouter un cadre d'image à une présentation PowerPoint en C# ou .NET" --- -Un cadre photo est une forme qui contient une image—c'est comme une photo dans un cadre. +Un cadre d'image est une forme qui contient une image — c’est comme une photo dans un cadre. -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. - -{{% alert title="Conseil" color="primary" %}} - -Aspose fournit 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 utilisateurs de créer rapidement des présentations à partir d'images. +Vous pouvez ajouter une image à une diapositive via un cadre d'image. Ainsi, vous pouvez mettre en forme l'image en formatant le cadre d'image. +{{% alert title="Tip" color="primary" %}} +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 de créer rapidement des présentations à partir d'images. {{% /alert %}} -## **Créer un Cadre Photo** +## **Créer un cadre d'image** 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez une référence à la diapositive via son index. -3. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection [IImages](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) associée à l'objet de la 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/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 C# montre comment créer un cadre photo : - +2. Obtenez la référence d'une diapositive via son index. +3. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) associée à l'objet 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/net/aspose.slides/pictureframe) basé sur la largeur et la hauteur de l'image via la méthode `AddPictureFrame` exposée par l'objet forme associé à la diapositive référencée. +6. Ajoutez un cadre d'image (contenant la photo) à la diapositive. +7. Enregistrez la présentation modifiée sous forme de fichier PPTX. + +Ce code C# montre comment créer un cadre d'image : ```c# // Instancie la classe Presentation qui représente un fichier PPTX using (Presentation pres = new Presentation()) @@ -53,39 +55,35 @@ using (Presentation pres = new Presentation()) IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // Ajoute un cadre photo avec la même hauteur et largeur + // Ajoute un cadre d'image avec la même hauteur et largeur IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // Applique un certain formatage au cadre photo + // Applique un certain formatage au cadre d'image pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; pictureFrame.LineFormat.Width = 20; pictureFrame.Rotation = 45; - // Écrit la présentation dans un fichier PPTX + // Enregistre la présentation dans un fichier PPTX pres.Save("RectPicFrameFormat_out.pptx", 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 un 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/net/conversion/image-to-jpg/); convertir [JPG en image](https://products.aspose.com/slides/net/conversion/jpg-to-image/); convertir [JPG en PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), convertir [PNG en JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); convertir [PNG en SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), convertir [SVG en PNG](https://products.aspose.com/slides/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 le cadre d'image avec les options de sauvegarde Aspose.Slides, vous pouvez manipuler les opérations d'entrée/sortie pour convertir les images d'un format à un autre. Vous pouvez consulter ces pages : convertir [image en JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/) ; convertir [JPG en image](https://products.aspose.com/slides/net/conversion/jpg-to-image/) ; convertir [JPG en PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), convertir [PNG en JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/) ; convertir [PNG en SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), convertir [SVG en PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -## **Créer un Cadre Photo avec Échelle Relative** - -En modifiant l'échelle relative d'une image, vous pouvez créer un cadre photo plus complexe. +## **Créer un cadre d'image avec échelle relative** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez une référence à la diapositive via 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/net/aspose.slides/ippimage) en ajoutant une image à la collection [IImages](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) associée à l'objet de la 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 C# montre comment créer un cadre photo avec échelle relative : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Obtenez la référence d'une diapositive via 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/net/aspose.slides/ippimage) en ajoutant une image à la [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) associée à l'objet présentation qui sera utilisé pour remplir la forme. +5. Spécifiez la largeur et la hauteur relatives de l'image dans le cadre d'image. +6. Enregistrez la présentation modifiée sous forme de fichier PPTX. +Ce code C# montre comment créer un cadre d'image avec échelle relative : ```c# // Instancie la classe Presentation qui représente un fichier PPTX using (Presentation presentation = new Presentation()) @@ -95,22 +93,22 @@ using (Presentation presentation = new Presentation()) IPPImage ppImage = presentation.Images.AddImage(image); image.Dispose(); - // Ajoute un cadre photo à la diapositive + // Ajoute un cadre d'image à la diapositive IPictureFrame pictureFrame = presentation.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 100, 100, ppImage); // Définit la largeur et la hauteur d'échelle relative pictureFrame.RelativeScaleHeight = 0.8f; pictureFrame.RelativeScaleWidth = 1.35f; - // Sauvegarde la présentation + // Enregistre la présentation presentation.Save("Adding Picture Frame with Relative Scale_out.pptx", SaveFormat.Pptx); } ``` -## **Extraire une Image d'un Cadre Photo** -Vous pouvez extraire des images d'objets [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) et les sauvegarder au format PNG, JPG, et autres. L'exemple de code ci-dessous démontre comment extraire une image du document "sample.pptx" et la sauvegarder au format PNG. +## **Extraire les images matricielles des cadres d'image** +Vous pouvez extraire des images matricielles des objets [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) et les enregistrer au format PNG, JPG et autres formats. L'exemple de code ci‑dessous montre comment extraire une image du document *sample.pptx* et l'enregistrer au format PNG. ```c# using (var presentation = new Presentation("sample.pptx")) { @@ -125,12 +123,34 @@ using (var presentation = new Presentation("sample.pptx")) } ``` -## **Obtenir la Transparence d'une Image** -Aspose.Slides vous permet d'obtenir la transparence d'une image. Ce code C# 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](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/), Aspose.Slides pour .NET vous permet de récupérer les images vectorielles d'origine avec une fidélité totale. En parcourant la collection de formes de la diapositive, vous pouvez identifier chaque [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/), vérifier si l'[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) sous‑jacent contient du contenu SVG, puis enregistrer cette image sur le disque ou dans un flux sous son format SVG natif. + +L’exemple de code suivant montre comment extraire une image SVG d’un cadre d’image : +```cs +using var presentation = new Presentation("sample.pptx"); + +var slide = presentation.Slides[0]; +var shape = slide.Shapes[0]; +if (shape is IPictureFrame pictureFrame) +{ + var svgImage = pictureFrame.PictureFormat.Picture.Image.SvgImage; + if (svgImage != null) + { + File.WriteAllText("output.svg", svgImage.SvgContent); + } +} +``` + + +## **Obtenir la transparence d'une image** + +Aspose.Slides permet d’obtenir l’effet de transparence appliqué à une image. Ce code C# montre l’opération : ```c# -using (var presentation = new Presentation(folderPath + "Test.pptx")) +using (var presentation = new Presentation("Test.pptx")) { var pictureFrame = (IPictureFrame)presentation.Slides[0].Shapes[0]; var imageTransform = pictureFrame.PictureFormat.Picture.ImageTransform; @@ -139,32 +159,36 @@ using (var presentation = new Presentation(folderPath + "Test.pptx")) if (effect is IAlphaModulateFixed alphaModulateFixed) { var transparencyValue = 100 - alphaModulateFixed.Amount; - Console.WriteLine("Transparence de l'image : " + transparencyValue); + Console.WriteLine("Picture transparency: " + transparencyValue); } } } ``` -## **Formatage du Cadre Photo** -Aspose.Slides fournit de nombreuses options de formatage 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. - -1. Créez une instance de la classe [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/). -2. Obtenez une référence à la diapositive via son index. -3. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection [IImages](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) associée à l'objet de la 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](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe) exposée par l'objet [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection) associé à la diapositive référencée. -6. Ajoutez le cadre photo (contenant 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. - -Ce code C# démontre le processus de formatage du cadre photo : +{{% alert color="primary" %}} +Tous les effets appliqués aux images sont disponibles dans [Aspose.Slides.Effects](https://reference.aspose.com/slides/net/aspose.slides.effects/). +{{% /alert %}} +## **Mise en forme du cadre d'image** + +Aspose.Slides propose de nombreuses options de mise en forme qui peuvent être appliquées à un cadre d'image. En utilisant ces options, vous pouvez modifier un cadre d'image pour répondre à des exigences spécifiques. + +1. Créez une instance de la classe [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/). +2. Obtenez la référence d'une diapositive via son index. +3. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) associée à l'objet 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](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe) exposée par l'objet [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection) associé à la diapositive référencée. +6. Ajoutez le cadre d'image (contenant la photo) à la diapositive. +7. Définissez la couleur de ligne du cadre d'image. +8. Définissez la largeur de ligne du cadre d'image. +9. Faites pivoter le cadre d'image en lui attribuant une valeur positive ou négative. + * Une valeur positive fait pivoter l'image dans le sens des aiguilles d’une montre. + * Une valeur négative fait pivoter l'image dans le sens inverse. +10. Ajoutez le cadre d'image (contenant la photo) à la diapositive. +11. Enregistrez la présentation modifiée sous forme de fichier PPTX. + +Ce code C# montre le processus de mise en forme du cadre d'image : ```c# // Instancie la classe Presentation qui représente un fichier PPTX using (Presentation presentation = new Presentation()) @@ -177,30 +201,28 @@ using (Presentation presentation = new Presentation()) IPPImage ppImage = presentation.Images.AddImage(image); image.Dispose(); - // Ajoute un cadre photo avec la hauteur et la largeur équivalentes de l'image + // Ajoute un cadre d'image avec la hauteur et la largeur équivalentes de l'image IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // Applique un certain formatage au cadre photo + // Applique un certain formatage au cadre d'image pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; pictureFrame.LineFormat.Width = 20; pictureFrame.Rotation = 45; - // Écrit la présentation dans un fichier PPTX + // Enregistre la présentation dans un fichier PPTX presentation.Save("RectPicFrameFormat_out.pptx", SaveFormat.Pptx); } ``` -{{% alert color="primary" %}} - -Aspose a récemment développé un [Créateur de Collages gratuit](https://products.aspose.app/slides/collage). Si vous avez besoin de [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 color="primary" %}} +Aspose a récemment développé un [outil gratuit de création de collages](https://products.aspose.app/slides/collage). Si vous avez besoin de [fusionner des JPG/JPEG](https://products.aspose.app/slides/collage/jpg) ou PNG, ou de [créer des grilles à partir de photos](https://products.aspose.app/slides/collage/photo-grid), vous pouvez utiliser ce service. {{% /alert %}} -## **Ajouter une Image comme Lien** - -Pour éviter de gros fichiers de présentation, vous pouvez ajouter des images (ou des vidéos) via des liens au lieu d'incorporer les fichiers directement dans les présentations. Ce code C# montre comment ajouter une image et une vidéo dans un espace réservé : +## **Ajouter une image sous forme de lien** +Pour éviter des présentations volumineuses, vous pouvez ajouter des images (ou des vidéos) via des liens au lieu d’intégrer les fichiers directement dans les présentations. Ce code C# montre comment ajouter une image et une vidéo dans un espace réservé : ```c# using (var presentation = new Presentation("input.pptx")) { @@ -251,10 +273,10 @@ using (var presentation = new Presentation("input.pptx")) } ``` -## **Recadrer une Image** -Ce code C# montre comment recadrer une image existante sur une diapositive : +## **Rogner une image** +Ce code C# montre comment rogner une image existante sur une diapositive : ```c# using (Presentation presentation = new Presentation()) { @@ -263,7 +285,7 @@ using (Presentation presentation = new Presentation()) IPPImage newImage = presentation.Images.AddImage(image); image.Dispose(); - // Ajoute un PictureFrame à une Diapositive + // Ajoute un PictureFrame à une diapositive IPictureFrame picFrame = presentation.Slides[0].Shapes.AddPictureFrame( ShapeType.Rectangle, 100, 100, 420, 250, newImage); @@ -273,17 +295,17 @@ using (Presentation presentation = new Presentation()) picFrame.PictureFormat.CropTop = 3; picFrame.PictureFormat.CropBottom = 31; - // Sauvegarde le résultat + // Enregistre le résultat presentation.Save("PictureFrameCrop.pptx", SaveFormat.Pptx); } ``` -## Supprimer les Zones Recadrées d'une Image -Si vous souhaitez supprimer les zones recadrées d'une image contenue dans un cadre, vous pouvez utiliser la méthode [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/). Cette méthode renvoie l'image recadrée ou l'image d'origine si le recadrage n'est pas nécessaire. +## **Supprimer les zones recadrées d'une image** -Ce code C# démontre l'opération : +Si vous souhaitez supprimer les zones recadrées d’une image contenue dans un cadre, vous pouvez utiliser la méthode [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/). Cette méthode renvoie l’image recadrée ou l’image d’origine si le recadrage n’est pas nécessaire. +Ce code C# montre l’opération : ```c# using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) { @@ -295,25 +317,74 @@ using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) // Supprime les zones recadrées de l'image du PictureFrame et renvoie l'image recadrée IPPImage croppedImage = picFrame.PictureFormat.DeletePictureCroppedAreas(); - // Sauvegarde le résultat + // Enregistre le résultat presentation.Save("PictureFrameDeleteCroppedAreas.pptx", SaveFormat.Pptx); } ``` -{{% alert title="REMARQUE" color="warning" %}} - -La méthode [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) ajoute l'image recadrée à la collection d'images de la présentation. Si l'image est uniquement utilisée dans le [PictureFrame](https://reference.aspose.com/slides/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 raster PNG lors de l'opération de recadrage. +{{% alert title="NOTE" color="warning" %}} +La méthode [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) ajoute l’image recadrée à la collection d’images de la présentation. Si l’image n’est utilisée que dans le [PictureFrame](https://reference.aspose.com/slides/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étafichiers WMF/EMF en images PNG raster lors de l’opération de recadrage. {{% /alert %}} -## **Verrouiller le Rapport d'Aspect** +## **Compresser une image** + +Vous pouvez compresser une image dans une présentation à l’aide de la méthode [`IPictureFillFormat.CompressImage`](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/compressimage/). +Cette méthode compresse une image en réduisant sa taille en fonction de la taille de la forme et de la résolution spécifiée, avec la possibilité de supprimer les zones recadrées. + +Elle ajuste la taille et la résolution de l’image de la même manière que la fonctionnalité **Format d’image → Compresser les images → Résolution** de PowerPoint. + +Les exemples C# suivants montrent comment compresser une image dans une présentation en spécifiant une résolution cible et, éventuellement, en supprimant les zones recadrées : +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + // Obtenir le PictureFrame de la diapositive + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; + + // Compresser l'image avec une résolution cible de 150 DPI (résolution Web) et supprimer les zones recadrées + bool result = picFrame.PictureFormat.CompressImage(true, PicturesCompression.Dpi150); + + // Vérifier le résultat de la compression + if (result) + { + Console.WriteLine("Image successfully compressed."); + } + else + { + Console.WriteLine("Image compression failed or no changes were necessary."); + } +} +``` + -Si vous souhaitez qu'une forme contenant une image conserve son rapport d'aspect même après avoir changé les dimensions de l'image, vous pouvez utiliser la propriété [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) pour définir le réglage *Verrouiller le Rapport d'Aspect*. +Ou en utilisant directement une valeur DPI personnalisée : +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; -Ce code C# montre comment verrouiller le rapport d'aspect d'une forme : + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; + // Compresse l'image à 150 DPI (résolution web), en supprimant les zones recadrées + bool result = picFrame.PictureFormat.CompressImage(true, 150f); +} +``` + + +{{% alert title="NOTE" color="warning" %}} +La méthode convertit l’image à une résolution inférieure en fonction de la taille de la forme et du DPI fourni. Les zones recadrées peuvent également être supprimées pour optimiser la taille du fichier. +Si l’image est un métafichier (WMF/EMF) ou un SVG, la compression ne sera pas appliquée. De plus, la qualité JPEG est préservée ou légèrement réduite selon la résolution, comme le fait PowerPoint pour les JPEG haute résolution. +{{% /alert %}} + +## **Verrouiller le ratio d'aspect** + +Si vous souhaitez qu’une forme contenant une image conserve son ratio d’aspect même après modification des dimensions de l’image, vous pouvez utiliser la propriété [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) pour activer le paramètre *Verrouiller le ratio d’aspect*. + +Ce code C# montre comment verrouiller le ratio d’aspect d’une forme : ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -326,35 +397,33 @@ using (Presentation pres = new Presentation("pres.pptx")) IPictureFrame pictureFrame = emptySlide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, presImage.Width, presImage.Height, presImage); - // Définit la forme pour préserver le rapport d'aspect lors du redimensionnement + // Définit la forme pour conserver le ratio d'aspect lors du redimensionnement pictureFrame.PictureFrameLock.AspectRatioLocked = true; } ``` -{{% alert title="REMARQUE" color="warning" %}} - -Ce réglage *Verrouiller le Rapport d'Aspect* préserve uniquement le rapport d'aspect de la forme et non de l'image qu'elle contient. +{{% alert title="NOTE" color="warning" %}} +Ce paramètre *Verrouiller le ratio d’aspect* ne préserve que le ratio de la forme, pas celui de l’image qu’elle contient. {{% /alert %}} -## **Utiliser la Propriété StretchOff** - -En utilisant les propriétés [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft), [StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop), [StretchOffsetRight](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) et [StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) de l'interface [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) et de la classe [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat), vous pouvez spécifier un rectangle de remplissage. +## **Utiliser la propriété StretchOff** -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 décalage de pourcentage par rapport au bord correspondant de la boîte de délimitation de la forme. Un pourcentage positif spécifie un retrait tandis qu'un pourcentage négatif spécifie un avancement. +En utilisant les propriétés [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft), [StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop), [StretchOffsetRight](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) et [StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) de l’interface [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) et de la classe [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat), vous pouvez spécifier un rectangle de remplissage. -1. Créez une instance de la classe [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/). -2. Obtenez une référence à la diapositive via son index. -3. Ajoutez une forme rectangulaire `AutoShape`. -4. Créez une image. -5. Définissez le type de remplissage de la forme. -6. Définissez le mode de remplissage d'image de la forme. -7. Ajoutez une image à remplir la forme. -8. Spécifiez les décalages de l'image par rapport au bord correspondant de la boîte de délimitation de la forme. -9. Écrivez la présentation modifiée en tant que fichier PPTX. +Lorsque l’étirement est défini pour une image, un rectangle source est mis à l’échelle pour s’ajuster au rectangle de remplissage spécifié. 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, un pourcentage négatif indique un dépassement. -Ce code C# démontre un processus où une propriété StretchOff est utilisée : +1. Créez une instance de la [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) class. +2. Obtenez la référence d’une diapositive via son index. +3. Ajoutez un rectangle `AutoShape`. +4. Créez une image. +5. Définissez le type de remplissage de la forme. +6. Définissez le mode de remplissage d’image de la forme. +7. Ajoutez l’image de remplissage à 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 modifiée sous forme de fichier PPTX. +Ce code C# montre un processus utilisant la propriété StretchOff : ```c# using (Presentation pres = new Presentation()) { @@ -373,4 +442,19 @@ using (Presentation pres = new Presentation()) pres.Save("imageStretch.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Comment savoir quels formats d’image sont pris en charge pour le cadre d’image ?** +Aspose.Slides prend en charge les images matricielles (PNG, JPEG, BMP, GIF, etc.) et les images vectorielles (par exemple SVG) via l’objet image assigné à un [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/). La liste des formats supportés chevauche généralement les capacités du moteur de conversion de diapositives et d’images. + +**Quel impact l’ajout de dizaines d’images volumineuses a-t-il sur la taille et les performances du PPTX ?** +L’intégration d’images volumineuses augmente la taille du fichier et l’utilisation de la mémoire ; le lien d’images aide à réduire la taille de la présentation mais nécessite que les fichiers externes restent accessibles. Aspose.Slides permet d’ajouter des images par lien afin de diminuer la taille du fichier. + +**Comment verrouiller un objet image pour éviter les déplacements/redimensionnements accidentels ?** +Utilisez les [verrouillages de forme](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/pictureframelock/) pour un [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) (par ex., désactiver le déplacement ou le redimensionnement). Le mécanisme de verrouillage est décrit dans un article séparé sur la protection des présentations et est pris en charge pour divers types de formes, y compris les [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/). + +**La fidélité vectorielle du SVG est‑elle conservée lors de l’exportation d’une présentation vers PDF/images ?** +Aspose.Slides permet d’extraire un SVG d’un [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) sous forme de vecteur original. Lors de l’[exportation vers PDF](/slides/fr/net/convert-powerpoint-to-pdf/) ou vers des formats matriciels [/slides/net/convert-powerpoint-to-png/], le résultat peut être rastérisé selon les paramètres d’exportation ; le fait que le SVG d’origine soit stocké en vecteur est confirmé par le comportement d’extraction. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/fr/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index 2948a4f69a..b1ce3532ab 100644 --- a/fr/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -1,53 +1,51 @@ --- -title: Cadre Vidéo +title: Cadre vidéo type: docs weight: 10 url: /fr/net/video-frame/ -keywords: "Ajouter vidéo, créer cadre vidéo, extraire vidéo, présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" -description: "Ajouter un cadre vidéo à une présentation PowerPoint en C# ou .NET" +keywords: "Ajouter une vidéo, créer un cadre vidéo, extraire une vidéo, présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" +description: "Ajoutez un cadre vidéo à une présentation PowerPoint en C# ou .NET" --- -Une vidéo bien placée dans une présentation peut rendre votre message plus convaincant et augmenter le niveau d'engagement avec votre public. +Une vidéo bien placée dans une présentation peut rendre votre message plus convaincant 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 : +PowerPoint vous permet d'ajouter des vidéos à une diapositive d'une présentation de deux manières: +* Ajouter ou intégrer une vidéo locale (stockée sur votre ordinateur) +* Ajouter une vidéo en ligne (provenant d'une source Web comme YouTube). -* Ajouter ou intégrer une vidéo locale (stockée sur votre machine) -* Ajouter une vidéo en ligne (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/net/aspose.slides/ivideo/) , l'interface [IVideoFrame](https://reference.aspose.com/slides/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 l'interface [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/), l'interface [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) et d'autres types pertinents. +## **Créer un cadre vidéo intégré** -## **Créer un Cadre Vidéo Intégré** - -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 intégrer la vidéo dans votre présentation. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Obtenez une référence à une diapositive par son index. -1. Ajoutez un objet [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) et passez le chemin du fichier vidéo pour intégrer la vidéo avec la présentation. -1. Ajoutez un objet [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) pour créer un cadre pour la vidéo. -1. Enregistrez la présentation modifiée. - -Ce code C# vous montre comment ajouter une vidéo stockée localement à une présentation : +1. Obtenez la référence d'une diapositive via son indice. +1. Ajoutez un objet [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) et transmettez le chemin du fichier vidéo pour intégrer la vidéo à la présentation. +1. Ajoutez un objet [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) pour créer un cadre pour la vidéo. +1. Enregistrez la présentation modifiée. +Ce code C# montre comment ajouter une vidéo stockée localement à une présentation: ```c# -// Instancie la classe Presentation -using (Presentation pres = new Presentation("pres.pptx")) -{ - // Charge la vidéo - using (FileStream fileStream = new FileStream("Wildlife.mp4", FileMode.Open, FileAccess.Read)) - { - IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); - - // Obtient la première diapositive et ajoute un cadre vidéo - pres.Slides[0].Shapes.AddVideoFrame(10, 10, 150, 250, video); - - // Enregistre la présentation sur le disque - pres.Save("pres-with-video.pptx", SaveFormat.Pptx); - } -} + // Instancie la classe Presentation + using (Presentation pres = new Presentation("pres.pptx")) + { + // Charge la vidéo + using (FileStream fileStream = new FileStream("Wildlife.mp4", FileMode.Open, FileAccess.Read)) + { + IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); + + // Obtient la première diapositive et ajoute un cadre vidéo + pres.Slides[0].Shapes.AddVideoFrame(10, 10, 150, 250, video); + + // Enregistre la présentation sur le disque + pres.Save("pres-with-video.pptx", SaveFormat.Pptx); + } + } ``` -Alternativement, vous pouvez ajouter une vidéo en passant directement son chemin de fichier à la méthode [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/) : -```c# +Vous pouvez également ajouter une vidéo en transmettant directement son chemin de fichier à la méthode [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/): +``` csharp using (Presentation pres = new Presentation()) { ISlide sld = pres.Slides[0]; @@ -55,17 +53,18 @@ using (Presentation pres = new Presentation()) } ``` -## **Créer un Cadre Vidéo avec une Vidéo 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. -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Obtenez une référence à une diapositive par son index. -1. Ajoutez un objet [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) et passez le lien vers la vidéo. -1. Définissez une miniature pour le cadre vidéo. -1. Enregistrez la présentation. +## **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. -Ce code C# vous montre comment ajouter une vidéo du web à une diapositive dans une présentation PowerPoint : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Obtenez la référence d'une diapositive via son indice. +1. Ajoutez un objet [IVideo](https://reference.aspose.com/slides/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 C# montre comment ajouter une vidéo depuis le web à une diapositive d'une présentation PowerPoint: ```c# public static void Run() { @@ -79,7 +78,7 @@ public static void Run() private static void AddVideoFromYouTube(Presentation pres, string videoId) { - // Ajoute un cadre vidéo + // Ajoute un VideoFrame IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId); videoFrame.PlayMode = VideoPlayModePreset.Auto; @@ -92,27 +91,28 @@ private static void AddVideoFromYouTube(Presentation pres, string videoId) } ``` -## **Extraire une Vidéo d'une Diapositive** -En plus d'ajouter des vidéos aux diapositives, Aspose.Slides vous permet d'extraire des vidéos intégrées dans des présentations. -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/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/net/aspose.slides/islide). -3. Itérez à travers tous les objets [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) pour trouver un [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe). -4. Enregistrez la vidéo sur le disque. +## **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 intégrées dans les présentations. -Ce code C# vous montre comment extraire la vidéo d'une diapositive de présentation : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) pour charger la présentation contenant la vidéo. +2. Parcourez tous les objets [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). +3. Parcourez tous les objets [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) pour trouver un [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe). +4. Enregistrez la vidéo sur le disque. +Ce code C# montre comment extraire la vidéo d'une diapositive de présentation: ```c# -// Instancie un objet Presentation qui représente un fichier de présentation -Presentation presentation = new Presentation("Video.pptx"); + // Instancie un objet Presentation qui représente un fichier de présentation + Presentation presentation = new Presentation("Video.pptx"); -// Itère à travers les diapositives +// Parcourt les diapositives foreach (ISlide slide in presentation.Slides) { - // Itère à travers les formes + // Parcourt les formes foreach (IShape shape in presentation.Slides[0].Shapes) { - // Enregistre la vidéo sur le disque une fois le VideoFrame contenant la vidéo trouvé + // Enregistre la vidéo sur le disque dès qu'un VideoFrame contenant la vidéo est trouvé if (shape is VideoFrame) { IVideoFrame vf = shape as IVideoFrame; @@ -127,4 +127,23 @@ foreach (ISlide slide in presentation.Slides) } } } -``` \ 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 [playback mode](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playmode/) (auto ou au clic) et le [looping](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playloopmode/). Ces options sont accessibles via les propriétés de l'objet [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe/). + +**L'ajout d'une vidéo affecte-t-il la taille du fichier PPTX ?** + +Oui. Lorsque vous intégrez 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 changer sa position et sa taille ?** + +Oui. Vous pouvez échanger le [video content](https://reference.aspose.com/slides/net/aspose.slides/videoframe/embeddedvideo/) à l'intérieur du cadre tout en conservant la géométrie de la forme ; c'est un scénario courant pour mettre à jour les médias dans une mise en page existante. + +**Le type de contenu (MIME) d'une vidéo intégrée peut-il être déterminé ?** + +Oui. Une vidéo intégrée possède un [content type](https://reference.aspose.com/slides/net/aspose.slides/video/contenttype/) 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/net/developer-guide/presentation-content/manage-ole/_index.md b/fr/net/developer-guide/presentation-content/manage-ole/_index.md index 9037f301ae..6c42fa54e0 100644 --- a/fr/net/developer-guide/presentation-content/manage-ole/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-ole/_index.md @@ -1,331 +1,342 @@ --- -title: Gérer OLE +title: Gérer OLE dans les présentations avec C# +linktitle: Gérer OLE type: docs weight: 40 url: /fr/net/manage-ole/ keywords: +- objet OLE +- Liaison et incorporation d'objets - ajouter OLE - intégrer OLE -- ajouter un objet -- intégrer un objet -- intégrer un fichier +- ajouter objet +- intégrer objet +- ajouter fichier +- intégrer fichier - objet lié -- Liaison et Intégration d'Objets -- objet OLE -- PowerPoint +- fichier lié +- modifier OLE +- icône OLE +- titre OLE +- extraire OLE +- extraire objet +- extraire fichier +- PowerPoint - présentation +- .NET - C# -- Csharp -- Aspose.Slides pour .NET -description: Ajoutez des objets OLE aux présentations PowerPoint en C# ou .NET +- Aspose.Slides +description: "Optimisez la gestion des objets OLE dans PowerPoint et les fichiers OpenDocument avec Aspose.Slides pour .NET. Intégrez, mettez à jour et exportez le contenu OLE de manière transparente." --- {{% alert title="Info" color="info" %}} -OLE (Liaison et Intégration d'Objets) est une technologie Microsoft qui permet à des données et des objets créés dans une application d'être placés dans une autre application par le biais de liaisons ou d'intégrations. +OLE (Object Linking & Embedding) est une technologie Microsoft qui permet de placer des données et des objets créés dans une application dans une autre application via le lien ou l’intégration. {{% /alert %}} -Considérons un graphique créé dans MS Excel. Le graphique est ensuite placé à l'intérieur d'une diapositive PowerPoint. Ce graphique Excel est considéré comme un objet OLE. +Considérez un graphique créé dans MS Excel. Le graphique est ensuite placé à l’intérieur d’une diapositive PowerPoint. Ce graphique Excel est considéré comme un objet OLE. -- Un objet OLE peut apparaître sous forme d'icône. Dans ce cas, lorsque vous double-cliquez sur l'icône, le graphique s'ouvre dans son application associée (Excel), ou vous êtes invité à sélectionner une application pour ouvrir ou modifier l'objet. -- Un objet OLE peut afficher des contenus réels, par exemple, le contenu d'un graphique. Dans ce cas, le graphique est activé dans PowerPoint, l'interface du graphique se charge et vous pouvez modifier les données du graphique dans l'application PowerPoint. +- Un objet OLE peut apparaître sous forme d’icône. Dans ce cas, lorsque vous double-cliquez sur l’icône, le graphique s’ouvre dans son application associée (Excel), ou il vous est demandé de sélectionner une application pour ouvrir ou modifier l’objet. +- Un objet OLE peut afficher son contenu réel, comme le contenu d’un graphique. Dans ce cas, le graphique est activé dans PowerPoint, l’interface du graphique se charge, et vous pouvez modifier les données du graphique dans PowerPoint. -[Aspose.Slides pour .NET](https://products.aspose.com/slides/net/) vous permet d'insérer des objets OLE dans des diapositives sous forme de Cadres d'Objet OLE ([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)). +[Aspose.Slides pour .NET](https://products.aspose.com/slides/net/) vous permet d’insérer des objets OLE dans des diapositives sous forme de cadres d’objet OLE ([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)). -## **Ajouter des Cadres d'Objet OLE aux Diapositives** -Supposons que vous ayez déjà créé un graphique dans Microsoft Excel et que vous souhaitiez intégrer ce graphique dans une diapositive sous forme de Cadre d'Objet OLE en utilisant Aspose.Slides pour .NET, vous pouvez le faire de cette manière : +## **Adding OLE Object Frames to Slides** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez la référence d'une diapositive par le biais de son index. -3. Ouvrez le fichier Excel contenant l'objet graphique Excel et enregistrez-le dans `MemoryStream`. -4. Ajoutez le [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) à la diapositive contenant le tableau d'octets et d'autres informations sur l'objet OLE. -5. Écrivez la présentation modifiée sous forme de fichier PPTX. +Supposons que vous ayez déjà créé un graphique dans Microsoft Excel et que vous souhaitiez l’intégrer dans une diapositive sous forme de cadre d’objet OLE à l’aide d’Aspose.Slides pour .NET, vous pouvez le faire ainsi : -Dans l'exemple ci-dessous, nous avons ajouté un graphique d'un fichier Excel à une diapositive sous forme de [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) en utilisant Aspose.Slides pour .NET. -**Remarque** : le constructeur [IOleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo) prend une extension d'objet intégrable comme deuxième paramètre. Cette extension permet à PowerPoint d'interpréter correctement le type de fichier et de choisir l'application appropriée pour ouvrir cet objet OLE. +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Obtenez une référence à une diapositive via son indice. +3. Lisez le fichier Excel sous forme de tableau d’octets. +4. Ajoutez le [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) à la diapositive contenant le tableau d’octets et les autres informations sur l’objet OLE. +5. Enregistrez la présentation modifiée sous forme de fichier PPTX. -``` csharp -// Instancie la classe Presentation qui représente le fichier PPTX -using (Presentation pres = new Presentation()) +Dans l’exemple ci‑dessous, nous avons ajouté un graphique à partir d’un fichier Excel à une diapositive en tant que [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) à l’aide d’Aspose.Slides pour .NET. **Note** que le constructeur [OleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides.dom.ole/oleembeddeddatainfo/) accepte une extension d’objet intégrable comme second paramètre. Cette extension permet à PowerPoint d’interpréter correctement le type de fichier et de choisir la bonne application pour ouvrir cet objet OLE. +```csharp +using (Presentation presentation = new Presentation()) { - // Accède à la première diapositive - ISlide sld = pres.Slides[0]; - - // Charge un fichier excel dans le flux - MemoryStream mstream = new MemoryStream(); - using (FileStream fs = new FileStream("book1.xlsx", FileMode.Open, FileAccess.Read)) - { - byte[] buf = new byte[4096]; - - while (true) - { - int bytesRead = fs.Read(buf, 0, buf.Length); - if (bytesRead <= 0) - break; - mstream.Write(buf, 0, bytesRead); - } - } + SizeF slideSize = presentation.SlideSize.Size; + ISlide slide = presentation.Slides[0]; - // Crée un objet de données pour l'intégration - IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(mstream.ToArray(), "xlsx"); + // Préparer les données pour l'objet OLE. + byte[] fileData = File.ReadAllBytes("book.xlsx"); + IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(fileData, "xlsx"); - // Ajoute une forme de Cadre d'Objet Ole - IOleObjectFrame oleObjectFrame = sld.Shapes.AddOleObjectFrame(0, 0, pres.SlideSize.Size.Width, - pres.SlideSize.Size.Height, dataInfo); + // Ajouter le cadre d'objet OLE à la diapositive. + slide.Shapes.AddOleObjectFrame(0, 0, slideSize.Width, slideSize.Height, dataInfo); - // Écrit le fichier PPTX sur le disque - pres.Save("OleEmbed_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -### Ajouter des Cadres d'Objet OLE Liés -Aspose.Slides pour .NET vous permet d'ajouter un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) sans intégrer de données mais uniquement avec un lien vers le fichier. -Ce code C# vous montre comment ajouter un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) avec un fichier Excel lié à une diapositive : +### **Adding Linked OLE Object Frames** -``` csharp -using (Presentation pres = new Presentation()) +Aspose.Slides pour .NET vous permet d’ajouter un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) sans intégrer les données mais uniquement avec un lien vers le fichier. + +Ce code C# montre comment ajouter un [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) avec un fichier Excel lié à une diapositive : +```csharp +using (Presentation presentation = new Presentation()) { - // Accède à la première diapositive - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // Ajoute un Cadre d'Objet Ole avec un fichier Excel lié - IOleObjectFrame oleObjectFrame = slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book1.xlsx"); + // Ajouter un cadre d'objet OLE avec un fichier Excel lié. + slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book.xlsx"); - // Écrit le fichier PPTX sur le disque - pres.Save("OleLinked_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Accéder aux Cadres d'Objet OLE** -Si un objet OLE est déjà intégré dans une diapositive, vous pouvez facilement trouver ou accéder à cet objet de cette manière : - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez la référence de la diapositive en utilisant son index. -3. Accédez à la forme [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). - Dans notre exemple, nous avons utilisé le PPTX créé précédemment qui n'a qu'une seule forme sur la première diapositive. Nous avons ensuite *casté* cet objet en tant qu'[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). C'était le Cadre d'Objet OLE désiré à accéder. -4. Une fois que le Cadre d'Objet OLE est accessible, vous pouvez effectuer toute opération dessus. -Dans l'exemple ci-dessous, un Cadre d'Objet OLE (un objet graphique Excel intégré dans une diapositive) est accessible, puis ses données de fichier sont écrites dans un fichier Excel : -``` csharp -// Charge le PPTX dans un objet présentation -using (Presentation pres = new Presentation("AccessingOLEObjectFrame.pptx")) + +## **Accessing OLE Object Frames** + +Si un objet OLE est déjà intégré dans une diapositive, vous pouvez le trouver ou y accéder facilement de cette manière : + +1. Chargez une présentation contenant l’objet OLE intégré en créant une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Obtenez la référence de la diapositive en utilisant son indice. +3. Accédez à la forme [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). Dans notre exemple, nous avons utilisé le PPTX créé précédemment qui ne comporte qu’une forme sur la première diapositive. Nous avons ensuite *cast* cet objet en tant que [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe). C’était le cadre d’objet OLE souhaité à accéder. +4. Une fois le cadre d’objet OLE accédé, vous pouvez effectuer toute opération sur celui‑ci. + +Dans l’exemple ci‑dessous, un cadre d’objet OLE (un objet graphique Excel intégré dans une diapositive) et ses données de fichier sont accessibles. +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) { - // Accède à la première diapositive - ISlide sld = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // Cast le forme en OleObjectFrame - OleObjectFrame oleObjectFrame = sld.Shapes[0] as OleObjectFrame; + // Obtenir la première forme en tant que cadre d'objet OLE. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // Lit l'objet OLE et l'écrit sur le disque - if (oleObjectFrame != null) + if (oleFrame != null) { - // Obtient les données de fichier intégrées - byte[] data = oleObjectFrame.EmbeddedData.EmbeddedFileData; - - // Obtient l'extension de fichier intégrée - string fileExtention = oleObjectFrame.EmbeddedData.EmbeddedFileExtension; + // Obtenir les données du fichier intégré. + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; - // Crée un chemin pour enregistrer le fichier extrait - string extractedPath = "excelFromOLE_out" + fileExtention; + // Obtenir l'extension du fichier intégré. + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; - // Enregistre les données extraites - using (FileStream fstr = new FileStream(extractedPath, FileMode.Create, FileAccess.Write)) - { - fstr.Write(data, 0, data.Length); - } + // ... } } ``` -### Accéder aux Propriétés des Cadres d'Objet OLE Liés -Aspose.Slides vous permet d'accéder aux propriétés des Cadres d'Objet OLE liés. +### **Accessing Linked OLE Object Frame Properties** + +Aspose.Slides vous permet d’accéder aux propriétés des cadres d’objet OLE liés. -Ce code C# vous montre comment vérifier si un objet OLE est lié, puis obtenir le chemin vers le fichier lié : +Ce code C# montre comment vérifier si un objet OLE est lié puis obtenir le chemin du fichier lié : ```csharp -using (Presentation pres = new Presentation("OleLinked.ppt")) +using (Presentation presentation = new Presentation("sample.ppt")) { - // Accède à la première diapositive - ISlide slide = pres.Slides[0]; - - // Obtient la première forme en tant que Cadre d'Objet Ole - OleObjectFrame oleObjectFrame = slide.Shapes[0] as OleObjectFrame; - - // Vérifie si l'objet Ole est lié. - if (oleObjectFrame != null && oleObjectFrame.IsObjectLink) - { - // Affiche le chemin complet vers un fichier lié - Console.WriteLine("Le Cadre d'Objet Ole est lié à : " + oleObjectFrame.LinkPathLong); - - // Affiche le chemin relatif vers un fichier lié si présent. - // Seules les présentations PPT peuvent contenir le chemin relatif. - string relativePath = oleObjectFrame.LinkPathRelative; - if (!string.IsNullOrEmpty(relativePath)) - { - Console.WriteLine("Chemin relatif du Cadre d'Objet Ole : " + oleObjectFrame.LinkPathRelative); - } - } -} -``` -## **Modifier les Données de l'Objet OLE** - -Si un objet OLE est déjà intégré dans une diapositive, vous pouvez facilement accéder à cet objet et modifier ses données de cette manière : - -1. Ouvrez la présentation désirée contenant l'objet OLE intégré en créant une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez la référence de la diapositive par son index. -3. Accédez à la forme [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). - Dans notre exemple, nous avons utilisé le PPTX créé précédemment qui a une forme sur la première diapositive. Nous avons ensuite *casté* cet objet en tant qu'[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). C'était le Cadre d'Objet OLE désiré à accéder. -4. Une fois que le Cadre d'Objet OLE est accessible, vous pouvez effectuer toute opération dessus. -5. Créez l'objet Workbook et accédez aux données OLE. -6. Accédez à la feuille de calcul désirée et modifiez les données. -7. Enregistrez le Workbook mis à jour dans des flux. -8. Changez les données de l'objet OLE à partir des données de flux. -Dans l'exemple ci-dessous, un Cadre d'Objet OLE (un objet graphique Excel intégré dans une diapositive) est accessible, puis ses données de fichier sont modifiées pour changer les données du graphique : -``` csharp -using (Presentation pres = new Presentation("ChangeOLEObjectData.pptx")) -{ - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - OleObjectFrame ole = null; + // Obtenir la première forme en tant que cadre d'objet OLE. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // Parcourt toutes les formes pour le Cadre Ole - foreach (IShape shape in slide.Shapes) + // Vérifier si l'objet OLE est lié. + if (oleFrame != null && oleFrame.IsObjectLink) { - if (shape is OleObjectFrame) + // Afficher le chemin complet du fichier lié. + Console.WriteLine("OLE object frame is linked to: " + oleFrame.LinkPathLong); + + // Afficher le chemin relatif du fichier lié s'il est présent. + // Seules les présentations PPT peuvent contenir le chemin relatif. + if (!string.IsNullOrEmpty(oleFrame.LinkPathRelative)) { - ole = (OleObjectFrame)shape; + Console.WriteLine("OLE object frame relative path: " + oleFrame.LinkPathRelative); } } +} +``` + + +## **Changing OLE Object Data** + +{{% alert color="primary" %}} + +Dans cette section, l’exemple de code ci‑dessous utilise [Aspose.Cells pour .NET](/cells/net/). + +{{% /alert %}} + +Si un objet OLE est déjà intégré dans une diapositive, vous pouvez facilement accéder à cet objet et modifier ses données de la manière suivante : - if (ole != null) +1. Chargez une présentation contenant l’objet OLE intégré en créant une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Obtenez la référence de la diapositive via son indice. +3. Accédez à la forme [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). Dans notre exemple, nous avons utilisé le PPTX créé précédemment qui ne comporte qu’une forme sur la première diapositive. Nous avons ensuite *cast* cet objet en tant que [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe). C’était le cadre d’objet OLE souhaité à accéder. +4. Une fois le cadre d’objet OLE accédé, vous pouvez effectuer toute opération sur celui‑ci. +5. Créez un objet `Workbook` et accédez aux données OLE. +6. Accédez à la `Worksheet` souhaitée et modifiez les données. +7. Enregistrez le `Workbook` mis à jour dans un flux. +8. Modifiez les données de l’objet OLE à partir du flux. + +Dans l’exemple ci‑dessous, un cadre d’objet OLE (un objet graphique Excel intégré dans une diapositive) est accédé, et ses données de fichier sont modifiées pour mettre à jour les données du graphique. +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + // Obtenir la première forme en tant que cadre d'objet OLE. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; + + if (oleFrame != null) { - using (MemoryStream msln = new MemoryStream(ole.EmbeddedData.EmbeddedFileData)) + using (MemoryStream oleStream = new MemoryStream(oleFrame.EmbeddedData.EmbeddedFileData)) { - // Lit les données de l'objet dans le Workbook - Workbook Wb = new Workbook(msln); + // Lire les données de l'objet OLE en tant qu'objet Workbook. + Workbook workbook = new Workbook(oleStream); - using (MemoryStream msout = new MemoryStream()) + using (MemoryStream newOleStream = new MemoryStream()) { - // Modifie les données du Workbook - Wb.Worksheets[0].Cells[0, 4].PutValue("E"); - Wb.Worksheets[0].Cells[1, 4].PutValue(12); - Wb.Worksheets[0].Cells[2, 4].PutValue(14); - Wb.Worksheets[0].Cells[3, 4].PutValue(15); - - OoxmlSaveOptions so1 = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); - Wb.Save(msout, so1); - - // Change les données de l'objet du cadre Ole - IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(msout.ToArray(), ole.EmbeddedData.EmbeddedFileExtension); - ole.SetEmbeddedData(newData); + // Modifier les données du classeur. + workbook.Worksheets[0].Cells[0, 4].PutValue("E"); + workbook.Worksheets[0].Cells[1, 4].PutValue(12); + workbook.Worksheets[0].Cells[2, 4].PutValue(14); + workbook.Worksheets[0].Cells[3, 4].PutValue(15); + + OoxmlSaveOptions fileOptions = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); + workbook.Save(newOleStream, fileOptions); + + // Modifier les données de l'objet du cadre OLE. + IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(newOleStream.ToArray(), oleFrame.EmbeddedData.EmbeddedFileExtension); + oleFrame.SetEmbeddedData(newData); } } } - pres.Save("OleEdit_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Intégrer D'autres Types de Fichiers dans les Diapositives** -Outre les graphiques Excel, Aspose.Slides pour .NET vous permet d'intégrer d'autres types de fichiers dans des diapositives. Par exemple, vous pouvez insérer des fichiers HTML, PDF et ZIP en tant qu'objets dans une diapositive. Lorsqu'un utilisateur double-clique sur l'objet inséré, l'objet se lance automatiquement dans le programme pertinent, ou l'utilisateur est dirigé pour sélectionner un programme approprié pour ouvrir l'objet. -Ce code C# vous montre comment intégrer HTML et ZIP dans une diapositive : +## **Embedding Other File Types in Slides** +Outre les graphiques Excel, Aspose.Slides pour .NET vous permet d’intégrer d’autres types de fichiers dans les diapositives. Par exemple, vous pouvez insérer des fichiers HTML, PDF et ZIP en tant qu’objets. Lorsqu’un utilisateur double-clique sur l’objet inséré, il s’ouvre automatiquement dans le programme approprié, ou l’utilisateur est invité à sélectionner le programme adéquat pour l’ouvrir. + +Ce code C# montre comment intégrer HTML et ZIP dans une diapositive : ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - - byte[] htmlBytes = File.ReadAllBytes("embedOle.html"); - IOleEmbeddedDataInfo dataInfoHtml = new OleEmbeddedDataInfo(htmlBytes, "html"); - IOleObjectFrame oleFrameHtml = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, dataInfoHtml); - oleFrameHtml.IsObjectIcon = true; - - byte[] zipBytes = File.ReadAllBytes("embedOle.zip"); - IOleEmbeddedDataInfo dataInfoZip = new OleEmbeddedDataInfo(zipBytes, "zip"); - IOleObjectFrame oleFrameZip = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, dataInfoZip); - oleFrameZip.IsObjectIcon = true; - - pres.Save("embeddedOle.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + + byte[] htmlData = File.ReadAllBytes("sample.html"); + IOleEmbeddedDataInfo htmlDataInfo = new OleEmbeddedDataInfo(htmlData, "html"); + IOleObjectFrame htmlOleFrame = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, htmlDataInfo); + htmlOleFrame.IsObjectIcon = true; + + byte[] zipData = File.ReadAllBytes("sample.zip"); + IOleEmbeddedDataInfo zipDataInfo = new OleEmbeddedDataInfo(zipData, "zip"); + IOleObjectFrame zipOleFrame = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, zipDataInfo); + zipOleFrame.IsObjectIcon = true; + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Définir les Types de Fichiers pour les Objets Intégrés** -Lorsque vous travaillez sur des présentations, vous pouvez avoir besoin de remplacer d'anciens objets OLE par de nouveaux. Ou vous pourriez avoir besoin de remplacer un objet OLE non pris en charge par un objet pris en charge. -Aspose.Slides pour .NET vous permet de définir le type de fichier pour un objet intégré. De cette manière, vous pouvez changer les données du cadre OLE ou son extension. +## **Setting File Types for Embedded Objects** -Ce code C# vous montre comment définir le type de fichier pour un objet OLE intégré : +Lorsque vous travaillez avec des présentations, il peut être nécessaire de remplacer d’anciens objets OLE par de nouveaux ou de remplacer un objet OLE non pris en charge par un objet pris en charge. Aspose.Slides pour .NET vous permet de définir le type de fichier d’un objet intégré, ce qui vous permet de mettre à jour les données du cadre OLE ou son extension. +Ce code C# montre comment définir le type de fichier d’un objet OLE intégré sur `zip` : ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; - Console.WriteLine($"L'extension des données intégrées actuelles est : {oleObjectFrame.EmbeddedData.EmbeddedFileExtension}"); - - oleObjectFrame.SetEmbeddedData(new OleEmbeddedDataInfo(File.ReadAllBytes("embedOle.zip"), "zip")); - - pres.Save("embeddedChanged.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + + Console.WriteLine($"Current embedded file extension is: {fileExtension}"); + + // Modifier le type de fichier en ZIP. + oleFrame.SetEmbeddedData(new OleEmbeddedDataInfo(fileData, "zip")); + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Définir des Images d'Icônes et des Titres pour les Objets Intégrés** -Après avoir intégré un objet OLE, un aperçu constitué d'une image icône et d'un titre est ajouté automatiquement. L'aperçu est ce que les utilisateurs voient avant d'accéder ou d'ouvrir l'objet OLE. -Si vous souhaitez utiliser une image spécifique et du texte comme éléments dans l'aperçu, vous pouvez définir l'image d'icône et le titre à l'aide d'Aspose.Slides pour .NET. +## **Setting Icon Images and Titles for Embedded Objects** -Ce code C# vous montre comment définir l'image d'icône et le titre pour un objet intégré : +Après avoir intégré un objet OLE, un aperçu composé d’une image d’icône est ajouté automatiquement. Cet aperçu est ce que les utilisateurs voient avant d’accéder ou d’ouvrir l’objet OLE. Si vous souhaitez utiliser une image et un texte spécifiques comme éléments de l’aperçu, vous pouvez définir l’image d’icône et le titre à l’aide d’Aspose.Slides pour .NET. +Ce code C# montre comment définir l’image d’icône et le titre pour un objet intégré : ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; - IPPImage oleImage = pres.Images.AddImage(File.ReadAllBytes("image.png")); - oleObjectFrame.SubstitutePictureTitle = "Mon titre"; - oleObjectFrame.SubstitutePictureFormat.Picture.Image = oleImage; - oleObjectFrame.IsObjectIcon = false; + // Ajouter une image aux ressources de la présentation. + byte[] imageData = File.ReadAllBytes("image.png"); + IPPImage oleImage = presentation.Images.AddImage(imageData); - pres.Save("embeddedOle-newImage.pptx", SaveFormat.Pptx); + // Définir un titre et l'image pour l'aperçu OLE. + oleFrame.SubstitutePictureTitle = "My title"; + oleFrame.SubstitutePictureFormat.Picture.Image = oleImage; + oleFrame.IsObjectIcon = true; + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Empêcher un Cadre d'Objet OLE d'être Redimensionné et Repositionné** -Après avoir ajouté un objet OLE lié à une diapositive de présentation, lorsque vous ouvrez la présentation dans PowerPoint, vous pourriez voir un message vous demandant de mettre à jour les liens. Cliquer sur le bouton "Mettre à jour les liens" peut changer la taille et la position du cadre d'objet OLE car PowerPoint met à jour les données de l'objet OLE lié et rafraîchit l'aperçu de l'objet. Pour empêcher PowerPoint de demander la mise à jour des données de l'objet, définissez la propriété `UpdateAutomatic` de l'interface [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/) sur `false`: +## **Prevent an OLE Object Frame from Being Resized and Pepositioned** +Après avoir ajouté un objet OLE lié à une diapositive de présentation, lorsque vous ouvrez la présentation dans PowerPoint, il peut apparaître un message vous demandant de mettre à jour les liens. Cliquer sur le bouton « Update Links » peut modifier la taille et la position du cadre d’objet OLE car PowerPoint met à jour les données de l’objet OLE lié et rafraîchit l’aperçu de l’objet. Pour empêcher PowerPoint de demander la mise à jour des données de l’objet, définissez la propriété `UpdateAutomatic` de l’interface [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/) à `false` : ```cs -oleObjectFrame.UpdateAutomatic = false; +oleFrame.UpdateAutomatic = false; ``` -## **Extraction des Fichiers Intégrés** -Aspose.Slides pour .NET vous permet d'extraire les fichiers intégrés dans des diapositives en tant qu'objets OLE de cette manière : -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) contenant l'objet OLE que vous souhaitez extraire. -2. Parcourez toutes les formes de la présentation et accédez à la forme [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). -3. Accédez aux données du fichier intégré à partir du Cadre d'Objet OLE et écrivez-le sur le disque. -Ce code C# vous montre comment extraire un fichier intégré dans une diapositive en tant qu'objet OLE : +## **Extracting Embedded Files** + +Aspose.Slides pour .NET vous permet d’extraire les fichiers intégrés dans les diapositives en tant qu’objets OLE de la manière suivante : + +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) contenant les objets OLE que vous souhaitez extraire. +2. Parcourez toutes les formes de la présentation et accédez aux formes [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). +3. Accédez aux données des fichiers intégrés à partir des cadres d’objet OLE et écrivez‑les sur le disque. + +Ce code C# montre comment extraire les fichiers intégrés dans une diapositive en tant qu’objets OLE : ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - for (var index = 0; index < slide.Shapes.Count; index++) + for (int index = 0; index < slide.Shapes.Count; index++) { IShape shape = slide.Shapes[index]; - IOleObjectFrame oleFrame = shape as IOleObjectFrame; - + if (oleFrame != null) { - byte[] data = oleFrame.EmbeddedData.EmbeddedFileData; - string extension = oleFrame.EmbeddedData.EmbeddedFileExtension; - - File.WriteAllBytes($"oleFrame{index}{extension}", data); + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + + string filePath = $"OLE_object_{index}{fileExtension}"; + File.WriteAllBytes(filePath, fileData); } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Le contenu OLE sera-t-il rendu lors de l’exportation des diapositives vers PDF/images ?** + +Ce qui est visible sur la diapositive est rendu — l’icône/l’image de substitution (aperçu). Le contenu OLE « live » n’est pas exécuté pendant le rendu. Si besoin, définissez votre propre image d’aperçu pour garantir l’apparence attendue dans le PDF exporté. + +**Comment puis‑je verrouiller un objet OLE sur une diapositive afin que les utilisateurs ne puissent pas le déplacer/modifier dans PowerPoint ?** + +Verrouillez la forme : Aspose.Slides fournit [verrous au niveau de la forme](/slides/fr/net/applying-protection-to-presentation/). Ce n’est pas du chiffrement, mais cela empêche efficacement les modifications et mouvements accidentels. + +**Pourquoi un objet Excel lié « saute » ou change de taille lorsque j’ouvre la présentation ?** + +PowerPoint peut rafraîchir l’aperçu de l’OLE lié. Pour une apparence stable, suivez les pratiques du [Solution de travail pour le redimensionnement de la feuille de calcul](/slides/fr/net/working-solution-for-worksheet-resizing/) — soit adaptez le cadre à la plage, soit redimensionnez la plage à un cadre fixe et définissez une image de substitution appropriée. + +**Les chemins relatifs pour les objets OLE liés seront‑ils conservés dans le format PPTX ?** + +Dans PPTX, les informations de « chemin relatif » ne sont pas disponibles—seul le chemin complet l’est. Les chemins relatifs se trouvent dans l’ancien format PPT. Pour la portabilité, privilégiez des chemins absolus fiables/URI accessibles ou l’intégration. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-text/animated-text/_index.md b/fr/net/developer-guide/presentation-content/manage-text/animated-text/_index.md index b5ae4a2f05..0d002a610f 100644 --- a/fr/net/developer-guide/presentation-content/manage-text/animated-text/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-text/animated-text/_index.md @@ -1,16 +1,15 @@ --- -title: Texte Animé +title: Texte animé type: docs weight: 60 url: /fr/net/animated-text/ -keywords: "Texte animé, Effets d'animation, Présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" +keywords: "Texte animé, Effets d'animation, Présentation PowerPoint, C#, Csharp, Aspose.Slides for .NET" description: "Ajouter du texte animé et des effets à une présentation PowerPoint en C# ou .NET" --- -## Ajout d'Effets d'Animation aux Paragraphes - -Nous avons ajouté la méthode [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) aux classes [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) et [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence). Cette méthode vous permet d'ajouter des effets d'animation à un seul paragraphe. Ce code d'exemple vous montre comment ajouter un effet d'animation à un seul paragraphe : +## **Ajout d'effets d'animation aux paragraphes** +Nous avons ajouté la méthode [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) aux classes [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) et [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence). Cette méthode vous permet d’ajouter des effets d’animation à un seul paragraphe. Le code d’exemple suivant montre comment ajouter un effet d’animation à un seul paragraphe : ```c# using (Presentation presentation = new Presentation(dataDir + "Presentation1.pptx")) { @@ -18,7 +17,7 @@ using (Presentation presentation = new Presentation(dataDir + "Presentation1.ppt IAutoShape autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; - // ajouter un effet d'animation de vol au paragraphe sélectionné + // ajouter l'effet d'animation Fly au paragraphe sélectionné IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(paragraph, EffectType.Fly, EffectSubtype.Left, EffectTriggerType.OnClick); @@ -27,13 +26,11 @@ using (Presentation presentation = new Presentation(dataDir + "Presentation1.ppt ``` +## **Obtention des effets d'animation dans les paragraphes** -## Obtention des Effets d'Animation dans les Paragraphes - -Vous pourriez décider de découvrir les effets d'animation ajoutés à un paragraphe—par exemple, dans un scénario, vous souhaitez obtenir les effets d'animation dans un paragraphe car vous prévoyez d'appliquer ces effets à un autre paragraphe ou une autre forme. - -Aspose.Slides pour .NET vous permet d'obtenir tous les effets d'animation appliqués aux paragraphes contenus dans un cadre de texte (forme). Ce code d'exemple vous montre comment obtenir les effets d'animation dans un paragraphe : +Vous pouvez souhaiter découvrir les effets d’animation ajoutés à un paragraphe — par exemple, dans un scénario où vous devez récupérer les effets d’animation d’un paragraphe pour les appliquer à un autre paragraphe ou à une forme. +Aspose.Slides for .NET vous permet d’obtenir tous les effets d’animation appliqués aux paragraphes contenus dans un cadre de texte (forme). Le code d’exemple suivant montre comment récupérer les effets d’animation d’un paragraphe : ```c# using (Presentation pres = new Presentation("Test.pptx")) { @@ -45,7 +42,22 @@ using (Presentation pres = new Presentation("Test.pptx")) IEffect[] effects = sequence.GetEffectsByParagraph(paragraph); if (effects.Length > 0) - Console.WriteLine("Le paragraphe \"" + paragraph.Text + "\" a un effet de type " + effects[0].Type + "."); + Console.WriteLine("Paragraph \"" + paragraph.Text + "\" has " + effects[0].Type + " effect."); } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Comment les animations de texte diffèrent‑elles des transitions de diapositive, et peuvent‑elles être combinées ?** + +Les animations de texte contrôlent le comportement d’un objet dans le temps sur une diapositive, tandis que les [transitions](/slides/fr/net/slide-transition/) contrôlent la façon dont les diapositives changent. Elles sont indépendantes et peuvent être utilisées ensemble ; l’ordre de lecture est régi par la chronologie des animations et les paramètres de transition. + +**Les animations de texte sont‑elles conservées lors de l’exportation en PDF ou en images ?** + +Non. Les PDF et les images raster sont statiques, vous verrez donc un seul état de la diapositive sans mouvement. Pour conserver le mouvement, utilisez l’exportation en [vidéo](/slides/fr/net/convert-powerpoint-to-video/) ou en [HTML](/slides/fr/net/export-to-html5/). + +**Les animations de texte fonctionnent‑elles dans les dispositions et le masque des diapositives ?** + +Les effets appliqués aux objets de disposition/masque sont hérités par les diapositives, mais leur minutage et leur interaction avec les animations au niveau de la diapositive dépendent de la séquence finale sur la diapositive. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md b/fr/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md index 594bfe809d..90e771237c 100644 --- a/fr/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md @@ -1,126 +1,152 @@ --- -title: Extraire le texte de la présentation +title: Extraction avancée de texte à partir de présentations en C# +linktitle: Extraire du texte type: docs weight: 90 url: /fr/net/extract-text-from-presentation/ -keywords: "Extraire le texte de la diapositive, Extraire le texte de PowerPoint, C#, Csharp, Aspose.Slides pour .NET" -description: "Extraire le texte de la diapositive ou de la présentation PowerPoint en C# ou .NET" +keywords: +- extraire du texte +- extraire du texte d'une diapositive +- extraire du texte d'une présentation +- extraire du texte de PowerPoint +- extraire du texte de PPT +- extraire du texte de PPTX +- extraire du texte de ODP +- C# +- .NET +- Aspose.Slides +description: "Apprenez comment extraire rapidement et facilement du texte des présentations PowerPoint à l'aide d'Aspose.Slides for .NET. Suivez notre guide simple, étape par étape, pour gagner du temps et accéder efficacement au contenu des diapositives dans vos applications." --- -{{% alert color="primary" %}} +## **Vue d'ensemble** -Il n'est pas rare que les développeurs aient besoin d'extraire le texte d'une présentation. Pour ce faire, vous devez extraire le texte de toutes les formes sur toutes les diapositives d'une présentation. Cet article explique comment extraire le texte des présentations Microsoft PowerPoint PPTX en utilisant Aspose.Slides. Le texte peut être extrait de plusieurs manières : +L'extraction de texte à partir de présentations est une tâche courante mais essentielle pour les développeurs qui travaillent avec du contenu de diapositive. Que vous manipuliez des fichiers Microsoft PowerPoint au format PPT ou PPTX, ou des présentations OpenDocument (ODP), accéder et récupérer les données textuelles peut être crucial pour l'analyse, l'automatisation, l'indexation ou la migration de contenu. -- [Extraire le texte d'une diapositive](/slides/fr/net/extracting-text-from-the-presentation/) -- [Extraire le texte en utilisant la méthode GetAllTextBoxes](/slides/fr/net/extracting-text-from-the-presentation/) -- [Extraction de texte classée et rapide](/slides/fr/net/extracting-text-from-the-presentation/) +Cet article fournit un guide complet sur la façon d'extraire efficacement du texte de divers formats de présentation, y compris PPT, PPTX et ODP, en utilisant Aspose.Slides for .NET. Vous apprendrez à parcourir systématiquement les éléments d'une présentation pour récupérer avec précision le texte dont vous avez besoin. -{{% /alert %}} ## **Extraire le texte d'une diapositive** -Aspose.Slides pour .NET fournit l'espace de noms Aspose.Slides.Util qui inclut la classe SlideUtil. Cette classe expose un certain nombre de méthodes statiques surchargées pour extraire l'intégralité du texte d'une présentation ou d'une diapositive. Pour extraire le texte d'une diapositive dans une présentation PPTX, -utilisez la méthode statique surchargée [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextboxes) exposée par la classe SlideUtil. Cette méthode accepte l'objet Slide comme paramètre. -Lors de son exécution, la méthode Slide scanne tout le texte de la diapositive passée en paramètre et renvoie un tableau d'objets TextFrame. Cela signifie que toute mise en forme de texte associée au texte est disponible. Le code suivant extrait tout le texte de la première diapositive de la présentation : -```c# -//Instancier la classe Presentation qui représente un fichier PPTX -Presentation pptxPresentation = new Presentation("demo.pptx"); +Aspose.Slides for .NET fournit l'espace de noms [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/) qui inclut la classe [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/). Cette classe expose plusieurs méthodes statiques surchargées pour extraire tout le texte d'une présentation ou d'une diapositive. Pour extraire le texte d'une diapositive d'une présentation, utilisez la méthode [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextboxes/). Cette méthode accepte en paramètre un objet de type [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/). Lorsqu'elle est exécutée, la méthode parcourt toute la diapositive à la recherche de texte et renvoie un tableau d'objets de type [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/), en conservant la mise en forme du texte. -//Obtenir un tableau d'objets ITextFrame de toutes les diapositives dans le PPTX -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +Le fragment de code suivant extrait tout le texte de la première diapositive de la présentation : +```cs +int slideIndex = 0; -//Boucler à travers le tableau de TextFrames -for (int i = 0; i < textFramesPPTX.Length; i++) +// Instancier la classe Presentation qui représente un fichier de présentation (PPT, PPTX, ODP, etc.). +using Presentation presentation = new Presentation("demo.pptx"); + +// Obtenir une référence à la diapositive. +ISlide slide = presentation.Slides[slideIndex]; + +// Obtenir un tableau de cadres de texte à partir de la diapositive. +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextBoxes(slide); + +// Parcourir le tableau des cadres de texte. +for (int i = 0; i < textFrames.Length; i++) { - //Boucler à travers les paragraphes dans le ITextFrame actuel - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) - { - //Boucler à travers les portions dans le IParagraph actuel - foreach (IPortion port in para.Portions) - { - //Afficher le texte dans la portion actuelle - Console.WriteLine(port.Text); - - //Afficher la hauteur de police du texte - Console.WriteLine(port.PortionFormat.FontHeight); - - //Afficher le nom de la police du texte - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } - } + // Parcourir les paragraphes du cadre de texte actuel. + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // Parcourir les portions de texte du paragraphe actuel. + foreach (IPortion portion in paragraph.Portions) + { + // Afficher le texte de la portion de texte actuelle. + Console.WriteLine(portion.Text); + + // Afficher la hauteur de la police du texte. + Console.WriteLine(portion.PortionFormat.FontHeight); + + // Afficher le nom de la police du texte. + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } } ``` +## **Extraire le texte d'une présentation** +Pour parcourir le texte de l'ensemble de la présentation, utilisez la méthode statique [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextframes/) exposée par la classe [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/). Elle accepte deux paramètres : -## **Extraire le texte de la présentation** -Pour scanner le texte de l'ensemble de la présentation, utilisez la méthode statique [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextframes) exposée par la classe SlideUtil. Elle prend deux paramètres : - -1. Tout d'abord, un objet Presentation qui représente la présentation PPTX dont le texte est extrait. -1. Deuxièmement, une valeur booléenne déterminant si la diapositive maître doit être incluse lors du scan du texte de la présentation. - La méthode renvoie un tableau d'objets TextFrame, complet avec des informations de mise en forme du texte. Le code ci-dessous scanne le texte et les informations de mise en forme d'une présentation, y compris les diapositives maîtresses. - -```c# -//Instancier la classe Presentation qui représente un fichier PPTX -Presentation pptxPresentation = new Presentation("demo.pptx"); +1. Tout d'abord, un objet [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) représentant une présentation PowerPoint ou OpenDocument dont le texte sera extrait. +2. Deuxièmement, une valeur `Boolean` indiquant si les diapositives maîtres doivent être incluses lors du balayage du texte de la présentation. -//Obtenir un tableau d'objets ITextFrame de toutes les diapositives dans le PPTX -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +La méthode renvoie un tableau d'objets de type [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/), incluant les informations de mise en forme du texte. Le code ci‑dessous parcourt le texte et les détails de mise en forme d'une présentation, y compris les diapositives maîtres. +```cs +// Instancier la classe Presentation qui représente un fichier de présentation (PPT, PPTX, ODP, etc.). +using Presentation presentation = new Presentation("demo.pptx"); -//Boucler à travers le tableau de TextFrames -for (int i = 0; i < textFramesPPTX.Length; i++) +// Obtenir un tableau de cadres de texte à partir de toutes les diapositives de la présentation. +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(presentation, true); - //Boucler à travers les paragraphes dans le ITextFrame actuel - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) +// Parcourir le tableau des cadres de texte. +for (int i = 0; i < textFrames.Length; i++) +{ + // Parcourir les paragraphes du cadre de texte actuel. + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // Parcourir les portions de texte du paragraphe actuel. + foreach (IPortion portion in paragraph.Portions) + { + // Afficher le texte de la portion de texte actuelle. + Console.WriteLine(portion.Text); + + // Afficher la hauteur de la police du texte. + Console.WriteLine(portion.PortionFormat.FontHeight); + + // Afficher le nom de la police du texte. + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } +} +``` - //Boucler à travers les portions dans le IParagraph actuel - foreach (IPortion port in para.Portions) - { - //Afficher le texte dans la portion actuelle - Console.WriteLine(port.Text); - //Afficher la hauteur de police du texte - Console.WriteLine(port.PortionFormat.FontHeight); +## **Extraction de texte catégorisée et rapide** - //Afficher le nom de la police du texte - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } +La classe [PresentationFactory](https://reference.aspose.com/slides/net/aspose.slides/presentationfactory/) propose également des méthodes statiques pour extraire tout le texte des présentations : +``` cs +IPresentationText GetPresentationText(string file, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode, ILoadOptions options); ``` +L'argument d'énumération [TextExtractionArrangingMode](https://reference.aspose.com/slides/net/aspose.slides/textextractionarrangingmode/) indique le mode d'organisation du résultat d'extraction du texte et peut être défini sur les valeurs suivantes : +- `Unarranged` - Le texte brut sans tenir compte de sa position sur la diapositive. +- `Arranged` - Le texte est organisé dans le même ordre que sur la diapositive. +Le mode non organisé (`Unarranged`) peut être utilisé lorsque la rapidité est cruciale ; il est plus rapide que le mode organisé. -## **Extraction de texte classée et rapide** -La nouvelle méthode statique GetPresentationText a été ajoutée à la classe Presentation. Il existe deux surcharges pour cette méthode : +[IPresentationText](https://reference.aspose.com/slides/net/aspose.slides/ipresentationtext/) représente le texte brut extrait de la présentation. Il contient la propriété [SlidesText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) de l'espace de noms [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/), qui renvoie un tableau d'objets de type [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/). Chaque objet représente le texte sur la diapositive correspondante. L'objet de type [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) possède les propriétés suivantes : -```csharp -PresentationText GetPresentationText(Stream stream) -PresentationText GetPresentationText(Stream stream, ExtractionMode mode) +- `Text` - Le texte contenu dans les formes de la diapositive. +- `MasterText` - Le texte contenu dans les formes de la diapositive maîtresse associée à cette diapositive. +- `LayoutText` - Le texte contenu dans les formes de la diapositive de mise en page associée à cette diapositive. +- `NotesText` - Le texte contenu dans les formes de la diapositive de notes associée à cette diapositive. +- `CommentsText` - Le texte des commentaires associés à cette diapositive. +```cs +IPresentationText text = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); +Console.WriteLine(text.SlidesText[0].Text); +Console.WriteLine(text.SlidesText[0].LayoutText); +Console.WriteLine(text.SlidesText[0].MasterText); +Console.WriteLine(text.SlidesText[0].NotesText); +Console.WriteLine(text.SlidesText[0].CommentsText); ``` -L'argument enum ExtractionMode indique le mode d'organisation de la sortie du résultat texte et peut être défini sur les valeurs suivantes : -Non arrangé - Le texte brut sans respect de la position sur la diapositive -Arrangé - Le texte est positionné dans le même ordre que sur la diapositive -Le mode non arrangé peut être utilisé lorsque la vitesse est critique, il est plus rapide que le mode arrangé. +## **FAQ** + +**Quelle est la vitesse de traitement d'Aspose.Slides pour les présentations volumineuses lors de l'extraction de texte ?** -PresentationText représente le texte brut extrait de la présentation. Il contient une propriété SlidesText de l'espace de noms Aspose.Slides.Util qui renvoie un tableau d'objets ISlideText. Chaque objet représente le texte de la diapositive correspondante. L'objet ISlideText a les propriétés suivantes : +Aspose.Slides est optimisé pour des performances élevées et traite efficacement même les présentations très volumineuses, ce qui le rend adapté aux scénarios de traitement en temps réel ou en lots. -ISlideText.Text - Le texte sur les formes de la diapositive -ISlideText.MasterText - Le texte sur les formes de la page maître pour cette diapositive -ISlideText.LayoutText - Le texte sur les formes de la page de mise en page pour cette diapositive -ISlideText.NotesText - Le texte sur les formes de la page de notes pour cette diapositive +**Aspose.Slides peut-il extraire le texte des tableaux et des graphiques présents dans les présentations ?** -Il existe également une classe SlideText qui implémente l'interface ISlideText. +Oui, Aspose.Slides prend entièrement en charge l'extraction du texte des tableaux, des graphiques et d'autres éléments complexes de diapositives, vous permettant d'accéder et d'analyser facilement tout le contenu textuel. -La nouvelle API peut être utilisée de cette façon : +**Ai‑je besoin d'une licence spéciale Aspose.Slides pour extraire du texte des présentations ?** -```c# -IPresentationText text1 = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); -Console.WriteLine(text1.SlidesText[0].Text); -Console.WriteLine(text1.SlidesText[0].LayoutText); -Console.WriteLine(text1.SlidesText[0].MasterText); -Console.WriteLine(text1.SlidesText[0].NotesText); -``` \ No newline at end of file +Vous pouvez extraire du texte avec la version d'essai gratuite d'Aspose.Slides, bien qu'elle comporte certaines limitations, comme le traitement d'un nombre limité de diapositives. Pour une utilisation illimitée et pour gérer de plus grandes présentations, l'achat d'une licence complète est recommandé. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md b/fr/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md index 35b31e3213..9afded9dcc 100644 --- a/fr/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md @@ -1,42 +1,56 @@ --- -title: Gérer les paramètres d'Autoajustement +title: "Améliorez vos présentations avec AutoFit en C#" +linktitle: "Gérer les paramètres AutoFit" type: docs weight: 30 url: /fr/net/manage-autofit-settings/ -keywords: "Zone de texte, Autoajustement, présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" -description: "Définir les paramètres d'autoajustement pour la zone de texte dans PowerPoint en C# ou .NET" +keywords: +- "zone de texte" +- "ajustement automatique" +- "ne pas ajuster automatiquement" +- "adapter le texte" +- "réduire le texte" +- "enrouler le texte" +- "redimensionner la forme" +- "PowerPoint" +- "présentation" +- "C#" +- ".NET" +- "Aspose.Slides" +description: "Apprenez à gérer les paramètres AutoFit dans Aspose.Slides pour .NET afin d'optimiser l'affichage du texte dans vos présentations PowerPoint et OpenDocument et d'améliorer la lisibilité du contenu." --- -Par défaut, lorsque vous ajoutez une zone de texte, Microsoft PowerPoint utilise le réglage **Redimensionner la forme pour ajuster le texte** pour la zone de texte : elle redimensionne automatiquement la zone de texte pour s'assurer que son texte y tient toujours. +## **Vue d'ensemble** -![textbox-in-powerpoint](textbox-in-powerpoint.png) +Par défaut, lorsque vous ajoutez une zone de texte, Microsoft PowerPoint utilise le paramètre **Redimensionner la forme pour faire tenir le texte** — il redimensionne automatiquement la zone de texte afin que son texte y tienne toujours. -* Lorsque le texte dans la zone de texte devient plus long ou plus grand, PowerPoint agrandit automatiquement la zone de texte - augmente sa hauteur - pour lui permettre de contenir plus de texte. -* Lorsque le texte dans la zone de texte devient plus court ou plus petit, PowerPoint réduit automatiquement la zone de texte - diminue sa hauteur - pour supprimer l'espace inutile. +![Une zone de texte dans PowerPoint](textbox-in-powerpoint.png) -Dans PowerPoint, il y a 4 paramètres ou options importants qui contrôlent le comportement d'autoajustement pour une zone de texte : +* Lorsque le texte de la zone de texte devient plus long ou plus gros, PowerPoint agrandit automatiquement la zone de texte—en augmentant sa hauteur—pour lui permettre de contenir plus de texte. +* Lorsque le texte de la zone de texte devient plus court ou plus petit, PowerPoint réduit automatiquement la zone de texte—en diminuant sa hauteur—pour éliminer l’espace redondant. -* **Ne pas autoajuster** -* **Réduire le texte en cas de débordement** -* **Redimensionner la forme pour ajuster le texte** -* **Envelopper le texte dans la forme.** +Dans PowerPoint, voici les quatre paramètres ou options importants qui contrôlent le comportement d’ajustement automatique d’une zone de texte : -![autofit-options-powerpoint](autofit-options-powerpoint.png) +* **Ne pas ajuster automatiquement** +* **Réduire le texte en cas de dépassement** +* **Redimensionner la forme pour faire tenir le texte** +* **Enrouler le texte dans la forme** -Aspose.Slides pour .NET offre des options similaires - certaines propriétés sous la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) - qui vous permettent de contrôler le comportement d'autoajustement pour les zones de texte dans les présentations. +![Options d’ajustement automatique dans PowerPoint](autofit-options-powerpoint.png) -## **Redimensionner la Forme pour Ajuster le Texte** +Aspose.Slides for .NET propose des options similaires—des propriétés de la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)—qui vous permettent de contrôler le comportement d’ajustement automatique des zones de texte dans les présentations. -Si vous souhaitez que le texte dans une boîte s'ajuste toujours dans cette boîte après des modifications apportées au texte, vous devez utiliser l'option **Redimensionner la forme pour ajuster le texte**. Pour spécifier ce réglage, définissez la propriété [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (de la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) sur `Shape`. +## **Redimensionner la forme pour faire tenir le texte** -![alwaysfit-setting-powerpoint](alwaysfit-setting-powerpoint.png) +Si vous souhaitez que le texte d’une zone tienne toujours dans celle‑ci après des modifications du texte, vous devez utiliser l’option **Redimensionner la forme pour faire tenir le texte**. Pour définir ce paramètre, affectez la propriété `AutofitType` de la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) à `Shape`. -Ce code C# vous montre comment spécifier qu'un texte doit toujours s'ajuster dans sa boîte dans une présentation PowerPoint : +![Redimensionner la forme pour faire tenir le texte](alwaysfit-setting-powerpoint.png) +Ce code C# montre comment spécifier que le texte doit toujours tenir dans sa zone dans une présentation PowerPoint : ```c# - using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -47,24 +61,24 @@ Ce code C# vous montre comment spécifier qu'un texte doit toujours s'ajuster da ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Shape; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -Si le texte devient plus long ou plus grand, la zone de texte sera automatiquement redimensionnée (augmentation de la hauteur) pour garantir que tout le texte y tienne. Si le texte devient plus court, l'inverse se produit. -## **Ne Pas Autoajuster** +Si le texte devient plus long ou plus gros, la zone de texte sera automatiquement redimensionnée (hauteur augmentée) afin que tout le texte y tienne. Si le texte devient plus court, l’inverse se produit. -Si vous souhaitez qu'une zone de texte ou une forme conserve ses dimensions, peu importe les modifications apportées au texte qu'elle contient, vous devez utiliser l'option **Ne pas autoajuster**. Pour spécifier ce réglage, définissez la propriété [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (de la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) sur `None`. +## **Ne pas ajuster automatiquement** -![donotautofit-setting-powerpoint](donotautofit-setting-powerpoint.png) +Si vous souhaitez qu’une zone de texte ou une forme conserve ses dimensions quel que soit le texte qu’elle contient, vous devez utiliser l’option **Ne pas ajuster automatiquement**. Pour définir ce paramètre, affectez la propriété `AutofitType` de la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) à `None`. -Ce code C# vous montre comment spécifier qu'une zone de texte doit toujours conserver ses dimensions dans une présentation PowerPoint : +!["Ne pas ajuster automatiquement" paramètre dans PowerPoint](donotautofit-setting-powerpoint.png) +Ce code C# montre comment spécifier qu’une zone de texte doit toujours conserver ses dimensions dans une présentation PowerPoint : ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -75,24 +89,24 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.None; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -Lorsque le texte devient trop long pour sa boîte, il déborde. -## **Réduire le Texte en Cas de Débordement** +Lorsque le texte devient trop long pour sa zone, il déborde. -Si un texte devient trop long pour sa boîte, grâce à l'option **Réduire le texte en cas de débordement**, vous pouvez spécifier que la taille et l'espacement du texte doivent être réduits pour s'adapter dans sa boîte. Pour spécifier ce réglage, définissez la propriété [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (de la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) sur `Normal`. +## **Réduire le texte en cas de dépassement** -![shrinktextonoverflow-setting-powerpoint](shrinktextonoverflow-setting-powerpoint.png) +Si le texte devient trop long pour sa zone, l’option **Réduire le texte en cas de dépassement** vous permet de spécifier que la taille et l’interligne du texte doivent être diminués afin qu’il tienne dans sa zone. Pour définir ce paramètre, affectez la propriété `AutofitType` de la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) à `Normal`. -Ce code C# vous montre comment spécifier qu'un texte doit être réduit en cas de débordement dans une présentation PowerPoint : +!["Réduire le texte en cas de dépassement" paramètre dans PowerPoint](shrinktextonoverflow-setting-powerpoint.png) +Ce code C# montre comment spécifier que le texte doit être réduit en cas de dépassement dans une présentation PowerPoint : ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -103,26 +117,24 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Normal; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Info" color="info" %}} - -Lorsque l'option **Réduire le texte en cas de débordement** est utilisée, le réglage ne s'applique que lorsque le texte devient trop long pour sa boîte. +{{% alert title="Info" color="info" %}} +Lorsque l’option **Réduire le texte en cas de dépassement** est utilisée, le réglage n’est appliqué que lorsque le texte devient trop long pour sa zone. {{% /alert %}} -## **Envelopper le Texte** +## **Enrouler le texte** -Si vous souhaitez que le texte dans une forme soit enveloppé à l'intérieur de cette forme lorsque le texte dépasse la bordure de la forme (uniquement en largeur), vous devez utiliser le paramètre **Envelopper le texte dans la forme**. Pour spécifier ce réglage, vous devez définir la propriété [WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/wraptext) (de la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) sur `true`. - -Ce code C# vous montre comment utiliser le réglage d'enveloppement de texte dans une présentation PowerPoint : +Si vous voulez que le texte dans une forme soit renvoyé à l’intérieur de cette forme lorsque le texte dépasse la bordure de la forme (largeur uniquement), vous devez utiliser le paramètre **Enrouler le texte dans la forme**. Pour définir ce paramètre, affectez la propriété `WrapText` de la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) à `NullableBool.True`. +Ce code C# montre comment utiliser le réglage Enrouler le texte dans une présentation PowerPoint : ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -133,12 +145,25 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.WrapText = NullableBool.True; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Note" color="warning" %}} -Si vous définissez la propriété `WrapText` sur `False` pour une forme, lorsque le texte à l'intérieur de la forme devient plus long que la largeur de la forme, le texte s'étend au-delà des bordures de la forme sur une seule ligne. +{{% alert title="Note" color="warning" %}} +Si vous définissez la propriété `WrapText` sur `NullableBool.False` pour une forme, lorsque le texte à l’intérieur de la forme devient plus long que la largeur de la forme, le texte dépasse les bordures de la forme sur une seule ligne. +{{% /alert %}} + +## **FAQ** + +**Les marges internes du cadre de texte affectent-elles l’ajustement automatique ?** + +Oui. Le remplissage (marges internes) réduit la zone utilisable pour le texte, de sorte que l’ajustement automatique se déclenche plus tôt — il réduit la police ou redimensionne la forme plus rapidement. Vérifiez et ajustez les marges avant de peaufiner l’ajustement automatique. + +**Comment l’ajustement automatique interagit‑il avec les sauts de ligne manuels et souples ?** + +Les sauts imposés restent en place, et l’ajustement automatique adapte la taille de la police et l’interligne autour d’eux. Supprimer les sauts inutiles réduit souvent l’intensité avec laquelle l’ajustement automatique doit réduire le texte. + +**Le changement de police du thème ou le déclenchement d’une substitution de police affecte‑t‑il les résultats de l’ajustement automatique ?** -{{% /alert %}} \ No newline at end of file +Oui. La substitution par une police dont les métriques diffèrent modifie la largeur/hauteur du texte, ce qui peut changer la taille finale de la police et le retour à la ligne. Après toute modification ou substitution de police, revérifiez les diapositives. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md b/fr/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md index c233617eb8..3589d60fe6 100644 --- a/fr/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md @@ -3,56 +3,54 @@ title: Gérer les listes à puces et numérotées type: docs weight: 70 url: /fr/net/manage-bullet-and-numbered-lists -keywords: "Puces, Listes à puces, Nombres, Listes numérotées, Puces d'image, puces multiniveaux, Présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" +keywords: "Puces, Listes à puces, Nombres, Listes numérotées, Puces image, Puces à plusieurs niveaux, Présentation PowerPoint, C#, Csharp, Aspose.Slides for .NET" description: "Créer des listes à puces et numérotées dans une présentation PowerPoint en C# ou .NET" --- -Dans **Microsoft PowerPoint**, vous pouvez créer des listes à puces et numérotées de la même manière que dans Word et d'autres éditeurs de texte. **Aspose.Slides pour .NET** vous permet également d'utiliser des puces et des numéros dans les diapositives de vos présentations. +Dans **Microsoft PowerPoint**, vous pouvez créer des listes à puces et numérotées de la même manière que dans Word et d'autres éditeurs de texte. **Aspose.Slides for .NET** vous permet également d'utiliser des puces et des numéros dans les diapositives de vos présentations. -### Pourquoi utiliser des listes à puces ? +## **Pourquoi utiliser les listes à puces ?** -Les listes à puces vous aident à organiser et à présenter des informations rapidement et efficacement. +Les listes à puces vous aident à organiser et présenter l'information rapidement et efficacement. **Exemple de liste à puces** Dans la plupart des cas, une liste à puces remplit ces trois fonctions principales : -- attire l'attention de vos lecteurs ou spectateurs sur des informations importantes -- permet à vos lecteurs ou spectateurs de repérer facilement les points clés -- communique et livre des détails importants de manière efficace. +- attire l'attention de vos lecteurs ou spectateurs sur les informations importantes +- permet à vos lecteurs ou spectateurs de parcourir facilement les points clés +- communique et transmet les détails importants de manière efficace. -### Pourquoi utiliser des listes numérotées ? +## **Pourquoi utiliser les listes numérotées ?** -Les listes numérotées aident également à organiser et à présenter des informations. Idéalement, vous devriez utiliser des numéros (au lieu de puces) lorsque l'ordre des énoncés (par exemple, *étape 1, étape 2*, etc.) est important ou lorsqu'un énoncé doit être référencé (par exemple, *voir étape 3*). +Les listes numérotées aident également à organiser et présenter l'information. Idéalement, vous devez utiliser des numéros (à la place des puces) lorsque l'ordre des éléments (par exemple, *étape 1, étape 2*, etc.) est important ou lorsqu'un élément doit être référencé (par exemple, *voir étape 3*). **Exemple de liste numérotée** -Voici un résumé des étapes (étape 1 à étape 15) dans la procédure **Création de puces** ci-dessous : +Voici un résumé des étapes (étape 1 à étape 15) de la procédure **Creating Bullets** ci‑dessous : -1. Créer une instance de la classe de présentation. -2. Effectuer plusieurs tâches (étape 3 à étape 14). -3. Enregistrer la présentation. +1. Créez une instance de la classe Presentation. +2. Effectuez plusieurs tâches (étape 3 à étape 14). +3. Enregistrez la présentation. -## Création de puces +## **Création de puces** Pour créer une liste à puces, suivez ces étapes : -1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accéder à la diapositive (dans laquelle vous souhaitez ajouter une liste à puces) dans la collection de diapositives via l'objet [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). -3. Ajouter un [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) dans la diapositive sélectionnée. -4. Accéder au [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forme ajoutée. -5. Supprimer le paragraphe par défaut dans le [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. Créer la première instance de paragraphe en utilisant la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). -8. Définir le type de puce sur Symbole et ensuite définir le caractère de puce. -9. Définir le texte du paragraphe. -10. Définir l'indentation du paragraphe pour définir la puce. -11. Définir la couleur de la puce. -12. Définir la hauteur de la puce. -13. Ajouter le paragraphe créé dans la collection de paragraphes du [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -14. Ajouter le deuxième paragraphe et répéter les étapes 7-12. -15. Enregistrer la présentation. - -Cet exemple de code en C#—une implémentation des étapes ci-dessus—vous montre comment créer une liste à puces dans une diapositive : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Accédez à la diapositive (dans laquelle vous souhaitez ajouter une liste à puces) dans la collection de diapositives via l'objet [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). +3. Ajoutez une [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) dans la diapositive sélectionnée. +4. Accédez au [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forme ajoutée. +5. Supprimez le paragraphe par défaut dans le [TextFrame](). +6. Créez la première instance de paragraphe en utilisant la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). +8. Définissez le type de puce sur Symbol puis définissez le caractère de la puce. +9. Définissez le texte du paragraphe. +10. Définissez l'indentation du paragraphe pour régler la puce. +11. Définissez la couleur de la puce. +12. Définissez la hauteur de la puce. +13. Ajoutez le paragraphe créé dans la collection de paragraphes du [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +14. Ajoutez le deuxième paragraphe et répétez les étapes 7 à 12. +15. Enregistrez la présentation. ```c# using (Presentation pres = new Presentation()) @@ -69,7 +67,7 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; paragraph.ParagraphFormat.Bullet.Color.Color = Color.Red; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "Mon texte"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); @@ -79,37 +77,34 @@ using (Presentation pres = new Presentation()) } ``` -## Création de puces d'image -Aspose.Slides pour .NET vous permet de changer les puces sur les listes à puces. Vous pouvez remplacer les puces par des symboles ou des images personnalisés. Si vous souhaitez ajouter un intérêt visuel à une liste ou attirer encore plus l'attention sur les éléments d'une liste, vous pouvez utiliser votre propre image comme puce. +## **Création de puces image** - {{% alert color="primary" %}} +Aspose.Slides for .NET vous permet de modifier les puces des listes à puces. Vous pouvez remplacer les puces par des symboles ou des images personnalisés. Si vous souhaitez ajouter un intérêt visuel à une liste ou attirer davantage l'attention sur les éléments d'une liste, vous pouvez utiliser votre propre image comme puce. -Idéalement, si vous avez l'intention de remplacer le symbole de puce régulier par une image, vous voudrez peut-être sélectionner une image graphique simple avec un fond transparent. De telles images fonctionnent mieux comme symboles de puce personnalisés. - -Dans tous les cas, l'image que vous choisissez sera réduite à une très petite taille, donc nous vous recommandons vivement de choisir une image qui a fière allure (en tant que remplacement du symbole de puce) dans une liste. +{{% alert color="primary" %}} +Idéalement, si vous envisagez de remplacer le symbole de puce standard par une image, vous devriez choisir une image graphique simple avec un fond transparent. De telles images fonctionnent le mieux comme symboles de puces personnalisés. +Dans tous les cas, l'image que vous choisissez sera réduite à une très petite taille, nous vous recommandons donc fortement de sélectionner une image qui reste esthétique (en remplacement du symbole de puce) dans une liste. {{% /alert %}} -Pour créer une puce d'image, suivez ces étapes : - -1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accéder à la diapositive désirée dans la collection de diapositives en utilisant l'objet [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). -3. Ajouter un [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) dans la diapositive sélectionnée. -4. Accéder au [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forme ajoutée. -5. Supprimer le paragraphe par défaut dans le [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. Créer la première instance de paragraphe en utilisant la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). -7. Charger l'image depuis le disque et l'ajouter à [Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images) puis utiliser l'instance [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) qui a été renvoyée par la méthode [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index). -8. Définir le type de puce sur Image et ensuite définir l'image. -9. Définir le texte du paragraphe. -10. Définir l'indentation du paragraphe pour définir la puce. -11. Définir la couleur de la puce. -12. Définir la hauteur des puces. -13. Ajouter le paragraphe créé dans la collection de paragraphes du [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -14. Ajouter le deuxième paragraphe et répéter les étapes 7-13. -15. Enregistrer la présentation. - -Ce code C# vous montre comment créer une puce d'image dans une diapositive : +Pour créer une puce image, suivez ces étapes : + +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Accédez à la diapositive souhaitée dans la collection de diapositives en utilisant l'objet [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). +3. Ajoutez une [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) dans la diapositive sélectionnée. +4. Accédez au [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forme ajoutée. +5. Supprimez le paragraphe par défaut dans le [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +6. Créez la première instance de paragraphe en utilisant la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). +7. Chargez l'image depuis le disque et ajoutez‑la à [Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images), puis utilisez l'instance [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) qui a été renvoyée par la méthode [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index). +8. Définissez le type de puce sur Picture puis définissez l'image. +9. Définissez le texte du paragraphe. +10. Définissez l'indentation du paragraphe pour régler la puce. +11. Définissez la couleur de la puce. +12. Définissez la hauteur des puces. +13. Ajoutez le paragraphe créé dans la collection de paragraphes du [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +14. Ajoutez le deuxième paragraphe et répétez les étapes 7 à 13. +15. Enregistrez la présentation. ```c# using (Presentation pres = new Presentation()) @@ -126,7 +121,7 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.Picture.Image = image; paragraph.ParagraphFormat.Indent = 15; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "Mon texte"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); @@ -136,23 +131,22 @@ using (Presentation pres = new Presentation()) } ``` -## Création de puces multiniveaux -Pour créer une liste à puces qui contient des éléments à différents niveaux—des listes supplémentaires sous la liste principale à puces—suivez ces étapes : +## **Création de puces à plusieurs niveaux** -1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accéder à la diapositive désirée dans la collection de diapositives en utilisant l'objet [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). -3. Ajouter un [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) dans la diapositive sélectionnée. -4. Accéder au [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forme ajoutée. -5. Supprimer le paragraphe par défaut dans le [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. Créer la première instance de paragraphe en utilisant la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) et avec une profondeur définie à 0. -7. Créer la deuxième instance de paragraphe en utilisant la classe Paragraph et avec une profondeur définie à 1. -8. Créer la troisième instance de paragraphe en utilisant la classe Paragraph et avec une profondeur définie à 2. -9. Créer la quatrième instance de paragraphe en utilisant la classe Paragraph et avec une profondeur définie à 3. -10. Ajouter les paragraphes créés dans la collection de paragraphes du [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -11. Enregistrer la présentation. +Pour créer une liste à puces contenant des éléments à différents niveaux — des listes supplémentaires sous la liste principale — suivez ces étapes : -Ce code, qui est une implémentation des étapes ci-dessus, vous montre comment créer une liste à puces multiniveaux en C# : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Accédez à la diapositive souhaitée dans la collection de diapositives en utilisant l'objet [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). +3. Ajoutez une [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) dans la diapositive sélectionnée. +4. Accédez au [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) de la forme ajoutée. +5. Supprimez le paragraphe par défaut dans le [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +6. Créez la première instance de paragraphe en utilisant la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) avec une profondeur réglée à 0. +7. Créez la deuxième instance de paragraphe en utilisant la classe Paragraph avec une profondeur réglée à 1. +8. Créez la troisième instance de paragraphe en utilisant la classe Paragraph avec une profondeur réglée à 2. +9. Créez la quatrième instance de paragraphe en utilisant la classe Paragraph avec une profondeur réglée à 3. +10. Ajoutez les paragraphes créés dans la collection de paragraphes du [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +11. Enregistrez la présentation. ```c# using (Presentation pres = new Presentation()) @@ -164,29 +158,30 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Depth = 0; - paragraph.Text = "Mon texte Profondeur 0"; + paragraph.Text = "My text Depth 0"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); paragraph2.ParagraphFormat.Depth = 0; - paragraph2.Text = "Mon texte Profondeur 1"; + paragraph2.Text = "My text Depth 1"; textFrame.Paragraphs.Add(paragraph2); Paragraph paragraph3 = new Paragraph(); paragraph3.ParagraphFormat.Depth = 2; - paragraph3.Text = "Mon texte Profondeur 2"; + paragraph3.Text = "My text Depth 2"; textFrame.Paragraphs.Add(paragraph3); Paragraph paragraph4 = new Paragraph(); paragraph4.ParagraphFormat.Depth = 3; - paragraph4.Text = "Mon texte Profondeur 3"; + paragraph4.Text = "My text Depth 3"; textFrame.Paragraphs.Add(paragraph4); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## Création de numéros + +## **Création de numéros** Ce code C# vous montre comment créer une liste numérotée dans une diapositive : @@ -200,16 +195,31 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph.Text = "Mon texte 1"; + paragraph.Text = "My text 1"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph2.Text = "Mon texte 2"; + paragraph2.Text = "My text 2"; textFrame.Paragraphs.Add(paragraph2); // ... pres.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Les listes à puces et numérotées créées avec Aspose.Slides peuvent-elles être exportées vers d'autres formats tels que PDF ou images ?** + +Oui, Aspose.Slides conserve entièrement le formatage et la structure des listes à puces et numérotées lors de l'exportation des présentations vers des formats tels que PDF, images et autres, garantissant des résultats cohérents. + +**Est-il possible d'importer des listes à puces ou numérotées depuis des présentations existantes ?** + +Oui, Aspose.Slides vous permet d'importer et de modifier des listes à puces ou numérotées depuis des présentations existantes tout en conservant leur formatage et apparence d'origine. + +**Aspose.Slides prend-il en charge les listes à puces et numérotées dans des présentations créées dans plusieurs langues ?** + +Oui, Aspose.Slides prend pleinement en charge les présentations multilingues, vous permettant de créer des listes à puces et numérotées dans n'importe quelle langue, y compris l'utilisation de caractères spéciaux ou non latins. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md b/fr/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md index de04bd0f83..e11246fd8f 100644 --- a/fr/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md @@ -1,60 +1,65 @@ --- -title: Gérer les Paragraphes PowerPoint en C# +title: Gérer les paragraphes PowerPoint en C# type: docs weight: 40 url: /fr/net/manage-paragraph/ -keywords: -- ajouter un paragraphe +keywords: +- ajouter du texte +- ajouter des paragraphes +- gérer le texte - gérer les paragraphes -- retrait de paragraphe -- propriétés de paragraphe -- texte HTML -- exporter le texte du paragraphe +- indentation du paragraphe +- puce de paragraphe +- liste numérotée +- propriétés du paragraphe +- importer du HTML +- texte vers HTML +- paragraphe vers HTML +- paragraphes en images +- exporter les paragraphes - présentation PowerPoint - C# - Csharp - Aspose.Slides pour .NET -description: "Créer et gérer des Paragraphes, du texte, des retraits et des propriétés dans des présentations PowerPoint en C# ou .NET" +description: "Créer des paragraphes et gérer les propriétés des paragraphes dans les présentations PowerPoint en C# ou .NET" --- -Aspose.Slides fournit toutes les interfaces et classes nécessaires pour travailler avec des textes, des paragraphes et des portions PowerPoint en C#. +Aspose.Slides fournit toutes les interfaces et classes dont vous avez besoin pour travailler avec les textes, les paragraphes et les portions de PowerPoint en C#. -* Aspose.Slides fournit l'interface [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) pour vous permettre d'ajouter des objets qui représentent un paragraphe. Un objet `ITextFame` peut contenir un ou plusieurs paragraphes (chaque paragraphe est créé par un retour à la ligne). -* Aspose.Slides fournit l'interface [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) pour vous permettre d'ajouter des objets qui représentent des portions. Un objet `IParagraph` peut contenir un ou plusieurs portions (collection d'objets iPortions). -* Aspose.Slides fournit l'interface [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) pour vous permettre d'ajouter des objets qui représentent des textes et leurs propriétés de formatage. +* Aspose.Slides fournit l'interface [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) pour vous permettre d'ajouter des objets représentant un paragraphe. Un objet `ITextFame` peut contenir un ou plusieurs paragraphes (chaque paragraphe est créé par un retour chariot). +* Aspose.Slides fournit l'interface [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) pour vous permettre d'ajouter des objets représentant des portions. Un objet `IParagraph` peut contenir une ou plusieurs portions (collection d'objets iPortions). +* Aspose.Slides fournit l'interface [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) pour vous permettre d'ajouter des objets représentant des textes et leurs propriétés de mise en forme. -Un objet `IParagraph` est capable de gérer des textes avec différentes propriétés de formatage via ses objets `IPortion` sous-jacents. +Un objet `IParagraph` est capable de gérer des textes avec différentes propriétés de mise en forme grâce à ses objets `IPortion` sous-jacents. -## **Ajouter Plusieurs Paragraphes Contenant Plusieurs Portions** +## **Ajouter plusieurs paragraphes contenant plusieurs portions** -Ces étapes vous montrent comment ajouter un cadre de texte contenant 3 paragraphes, chaque paragraphe contenant 3 portions : +Ces étapes vous montrent comment ajouter un cadre de texte contenant 3 paragraphes et chaque paragraphe contenant 3 portions : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accédez à la référence de la diapositive pertinente via son index. -3. Ajoutez un Rectangle [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) à la diapositive. -4. Obtenez le ITextFrame associé à [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). -5. Créez deux objets [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) et ajoutez-les à la collection `IParagraphs` de [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +2. Accédez à la référence de la diapositive concernée via son index. +3. Ajoutez un rectangle [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) à la diapositive. +4. Récupérez le ITextFrame associé au [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +5. Créez deux objets [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) et ajoutez-les à la collection `IParagraphs` du [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). 6. Créez trois objets [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) pour chaque nouveau `IParagraph` (deux objets Portion pour le paragraphe par défaut) et ajoutez chaque objet `IPortion` à la collection IPortion de chaque `IParagraph`. 7. Définissez du texte pour chaque portion. -8. Appliquez vos fonctionnalités de formatage préférées à chaque portion à l'aide des propriétés de formatage exposées par l'objet `IPortion`. +8. Appliquez vos fonctionnalités de mise en forme préférées à chaque portion en utilisant les propriétés de mise en forme exposées par l'objet `IPortion`. 9. Enregistrez la présentation modifiée. -Ce code C# est une implémentation des étapes d'ajout de paragraphes contenant des portions : - ```c# -// Instantiates a Presentation class that represents a PPTX file + // Instancie une classe Presentation qui représente un fichier PPTX using (Presentation pres = new Presentation()) { - // Accesses the first slide + // Accède à la première diapositive ISlide slide = pres.Slides[0]; - // Adds a Rectangle IAutoShape + // Ajoute une IAutoShape rectangle IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 150, 300, 150); - // Accesses the AutoShape TextFrame + // Accède au TextFrame de l'AutoShape ITextFrame tf = ashp.TextFrame; - // Creates Paragraphs and Portions with different text formats + // Crée des Paragraphes et des Portions avec différents formats de texte IParagraph para0 = tf.Paragraphs[0]; IPortion port01 = new Portion(); IPortion port02 = new Portion(); @@ -98,173 +103,171 @@ using (Presentation pres = new Presentation()) tf.Paragraphs[i].Portions[j].PortionFormat.FontHeight = 18; } } - // Saves the modified presentation + // Enregistre la présentation modifiée pres.Save("multiParaPort_out.pptx", SaveFormat.Pptx); +} ``` -## **Gérer les Puces de Paragraphe** +## **Gérer les puces de paragraphe** Les listes à puces vous aident à organiser et présenter les informations rapidement et efficacement. Les paragraphes à puces sont toujours plus faciles à lire et à comprendre. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accédez à la référence de la diapositive pertinente via son index. +2. Accédez à la référence de la diapositive concernée via son index. 3. Ajoutez une [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) à la diapositive sélectionnée. 4. Accédez au [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) de l'autoshape. 5. Supprimez le paragraphe par défaut dans le `TextFrame`. -6. Créez la première instance de paragraphe à l'aide de la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). -8. Définissez le `Type` de puce pour le paragraphe sur `Symbol` et définissez le caractère de puce. +6. Créez la première instance de paragraphe en utilisant la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). +8. Définissez le `Type` de puce du paragraphe sur `Symbol` et définissez le caractère de puce. 9. Définissez le `Text` du paragraphe. -10. Définissez le `Indent` du paragraphe pour la puce. +10. Définissez l'`Indent` du paragraphe pour la puce. 11. Définissez une couleur pour la puce. 12. Définissez une hauteur pour la puce. 13. Ajoutez le nouveau paragraphe à la collection de paragraphes du `TextFrame`. -14. Ajoutez le deuxième paragraphe et répétez le processus décrit dans les étapes 7 à 13. +14. Ajoutez le deuxième paragraphe et répétez le processus décrit aux étapes 7 à 13. 15. Enregistrez la présentation. -Ce code C# vous montre comment ajouter une puce de paragraphe : - ```c# -// Instantiates a Presentation class that represents a PPTX file +// Instancie une classe Presentation qui représente un fichier PPTX using (Presentation pres = new Presentation()) { - // Accesses the first slide + // Accède à la première diapositive ISlide slide = pres.Slides[0]; - // Adds and accesses Autoshape + + // Ajoute et accède à l'AutoShape IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // Accesses the autoshape text frame + // Accède au TextFrame de l'AutoShape ITextFrame txtFrm = aShp.TextFrame; - // Removes the default paragraph + // Supprime le paragraphe par défaut txtFrm.Paragraphs.RemoveAt(0); - // Creates a paragraph + // Crée un paragraphe Paragraph para = new Paragraph(); - // Sets a paragraph bullet style and symbol + // Définit le style de puce du paragraphe et le symbole para.ParagraphFormat.Bullet.Type = BulletType.Symbol; para.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); - // Sets a paragraph text - para.Text = "Bienvenue dans Aspose.Slides"; + // Définit le texte du paragraphe + para.Text = "Welcome to Aspose.Slides"; - // Sets bullet indent + // Définit l'indentation de la puce para.ParagraphFormat.Indent = 25; - // Sets bullet color + // Définit la couleur de la puce para.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; para.ParagraphFormat.Bullet.Color.Color = Color.Black; - para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // set IsBulletHardColor to true to use own bullet color + para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // définir IsBulletHardColor sur true pour utiliser votre propre couleur de puce - // Sets Bullet Height + // Définit la hauteur de la puce para.ParagraphFormat.Bullet.Height = 100; - // Adds Paragraph to text frame + // Ajoute le paragraphe au TextFrame txtFrm.Paragraphs.Add(para); - // Creates second paragraph + // Crée le deuxième paragraphe Paragraph para2 = new Paragraph(); - // Sets paragraph bullet type and style + // Définit le type et le style de puce du paragraphe para2.ParagraphFormat.Bullet.Type = BulletType.Numbered; para2.ParagraphFormat.Bullet.NumberedBulletStyle = NumberedBulletStyle.BulletCircleNumWDBlackPlain; - // Adds paragraph text - para2.Text = "C'est une puce numérotée"; + // Ajoute le texte du paragraphe + para2.Text = "This is numbered bullet"; - // Sets bullet indent + // Définit l'indentation de la puce para2.ParagraphFormat.Indent = 25; para2.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; para2.ParagraphFormat.Bullet.Color.Color = Color.Black; - para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // set IsBulletHardColor to true to use own bullet color + para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // définir IsBulletHardColor sur true pour utiliser votre propre couleur de puce - // Sets Bullet Height + // Définit la hauteur de la puce para2.ParagraphFormat.Bullet.Height = 100; - // Adds Paragraph to text frame + // Ajoute le paragraphe au TextFrame txtFrm.Paragraphs.Add(para2); - // Saves the modified presentation + // Enregistre la présentation modifiée pres.Save("Bullet_out.pptx", SaveFormat.Pptx); } ``` -## **Gérer les Puces d'Image** +## **Gérer les puces d'image** Les listes à puces vous aident à organiser et présenter les informations rapidement et efficacement. Les paragraphes d'image sont faciles à lire et à comprendre. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accédez à la référence de la diapositive pertinente via son index. +2. Accédez à la référence de la diapositive concernée via son index. 3. Ajoutez une [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) à la diapositive. 4. Accédez au [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) de l'autoshape. 5. Supprimez le paragraphe par défaut dans le `TextFrame`. -6. Créez la première instance de paragraphe à l'aide de la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). +6. Créez la première instance de paragraphe en utilisant la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). 7. Chargez l'image dans [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/). 8. Définissez le type de puce sur [Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) et définissez l'image. 9. Définissez le `Text` du paragraphe. -10. Définissez le `Indent` du paragraphe pour la puce. +10. Définissez l'`Indent` du paragraphe pour la puce. 11. Définissez une couleur pour la puce. 12. Définissez une hauteur pour la puce. 13. Ajoutez le nouveau paragraphe à la collection de paragraphes du `TextFrame`. -14. Ajoutez le deuxième paragraphe et répétez le processus basé sur les étapes précédentes. +14. Ajoutez le deuxième paragraphe et répétez le processus décrit aux étapes précédentes. 15. Enregistrez la présentation modifiée. -Ce code C# vous montre comment ajouter et gérer des puces d'image : - ```c# -// Instantiates a Presentation class that represents a PPTX file +// Instancie une classe Presentation qui représente un fichier PPTX Presentation presentation = new Presentation(); -// Accesses the first slide +// Accède à la première diapositive ISlide slide = presentation.Slides[0]; -// Instantiates the image for bullets +// Instancie l'image pour les puces IImage image = Images.FromFile("bullets.png"); IPPImage ippxImage = presentation.Images.AddImage(image); image.Dispose(); -// Adds and accesses Autoshape +// Ajoute et accède à l'AutoShape IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); -// Accesses the autoshape textframe +// Accède au TextFrame de l'autoshape ITextFrame textFrame = autoShape.TextFrame; -// Removes the default paragraph +// Supprime le paragraphe par défaut textFrame.Paragraphs.RemoveAt(0); -// Creates a new paragraph +// Crée un nouveau paragraphe Paragraph paragraph = new Paragraph(); -paragraph.Text = "Bienvenue dans Aspose.Slides"; +paragraph.Text = "Welcome to Aspose.Slides"; -// Sets paragraph bullet style and image +// Définit le style de puce du paragraphe et l'image paragraph.ParagraphFormat.Bullet.Type = BulletType.Picture; paragraph.ParagraphFormat.Bullet.Picture.Image = ippxImage; -// Sets bullet Height +// Définit la hauteur de la puce paragraph.ParagraphFormat.Bullet.Height = 100; -// Adds paragraph to text frame +// Ajoute le paragraphe au TextFrame textFrame.Paragraphs.Add(paragraph); -// Writes the presentation as a PPTX file +// Enregistre la présentation au format PPTX presentation.Save("ParagraphPictureBulletsPPTX_out.pptx", SaveFormat.Pptx); -// Writes the presentation as a PPT file +// Enregistre la présentation au format PPT presentation.Save("ParagraphPictureBulletsPPT_out.ppt", SaveFormat.Ppt); ``` -## **Gérer les Puces Multiniveaux** -Les listes à puces vous aident à organiser et présenter les informations rapidement et efficacement. Les puces multiniveaux sont faciles à lire et à comprendre. +## **Gérer les puces à plusieurs niveaux** +Les listes à puces vous aident à organiser et présenter les informations rapidement et efficacement. Les puces à plusieurs niveaux sont faciles à lire et à comprendre. -1. Créez une instance de la classe [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accédez à la référence de la diapositive pertinente via son index. +1. Créez une instance de la classe [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)class. +2. Accédez à la référence de la diapositive concernée via son index. 3. Ajoutez une [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) dans la nouvelle diapositive. 4. Accédez au [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) de l'autoshape. 5. Supprimez le paragraphe par défaut dans le `TextFrame`. @@ -275,119 +278,115 @@ Les listes à puces vous aident à organiser et présenter les informations rapi 10. Ajoutez les nouveaux paragraphes à la collection de paragraphes du `TextFrame`. 11. Enregistrez la présentation modifiée. -Ce code C# vous montre comment ajouter et gérer des puces multiniveaux : - ```c# -// Instantiates a Presentation class that represents a PPTX file + // Instancie une classe Presentation qui représente un fichier PPTX using (Presentation pres = new Presentation()) { - // Accesses the first slide + // Accède à la première diapositive ISlide slide = pres.Slides[0]; - // Adds and accesses Autoshape + // Ajoute et accède à l'AutoShape IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // Accesses the text frame of created autoshape + // Accède au cadre texte de l'AutoShape créé ITextFrame text = aShp.AddTextFrame(""); - // Clears the default paragraph + // Supprime le paragraphe par défaut text.Paragraphs.Clear(); - // Adds the first paragraph + // Ajoute le premier paragraphe IParagraph para1 = new Paragraph(); - para1.Text = "Contenu"; + para1.Text = "Content"; para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para1.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Sets the bullet level + // Définit le niveau de puce para1.ParagraphFormat.Depth = 0; - // Adds the second paragraph + // Ajoute le deuxième paragraphe IParagraph para2 = new Paragraph(); - para2.Text = "Deuxième niveau"; + para2.Text = "Second Level"; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = '-'; para2.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para2.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Sets the bullet level + // Définit le niveau de puce para2.ParagraphFormat.Depth = 1; - // Adds the third paragraph + // Ajoute le troisième paragraphe IParagraph para3 = new Paragraph(); - para3.Text = "Troisième niveau"; + para3.Text = "Third Level"; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para3.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para3.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Sets the bullet level + // Définit le niveau de puce para3.ParagraphFormat.Depth = 2; - // Adds the fourth paragraph + // Ajoute le quatrième paragraphe IParagraph para4 = new Paragraph(); - para4.Text = "Quatrième niveau"; + para4.Text = "Fourth Level"; para4.ParagraphFormat.Bullet.Type = BulletType.Symbol; para4.ParagraphFormat.Bullet.Char = '-'; para4.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para4.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // Sets the bullet level + // Définit le niveau de puce para4.ParagraphFormat.Depth = 3; - // Adds paragraphs to collection + // Ajoute les paragraphes à la collection text.Paragraphs.Add(para1); text.Paragraphs.Add(para2); text.Paragraphs.Add(para3); text.Paragraphs.Add(para4); - // Writes the presentation as a PPTX file + // Enregistre la présentation au format PPTX pres.Save("MultilevelBullet.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **Gérer les Paragraphes avec Liste Numérotée Personnalisée** -L'interface [IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) fournit la propriété [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) et d'autres qui vous permettent de gérer des paragraphes avec un numéro ou un formatage personnalisé. +## **Gérer les paragraphes avec liste numérotée personnalisée** +L'interface [IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) fournit la propriété [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) et d'autres qui permettent de gérer les paragraphes avec une numérotation ou une mise en forme personnalisée. -1. Créez une instance de la classe [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Créez une instance de la classe [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)class. 2. Accédez à la diapositive contenant le paragraphe. 3. Ajoutez une [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) à la diapositive. 4. Accédez au [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) de l'autoshape. 5. Supprimez le paragraphe par défaut dans le `TextFrame`. -6. Créez la première instance de paragraphe via la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) et définissez [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) sur 2. -7. Créez la deuxième instance de paragraphe via la classe `Paragraph` et définissez `NumberedBulletStartWith` sur 3. -8. Créez la troisième instance de paragraphe via la classe `Paragraph` et définissez `NumberedBulletStartWith` sur 7. +6. Créez la première instance de paragraphe via la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) et définissez [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) à 2. +7. Créez la deuxième instance de paragraphe via la classe `Paragraph` et définissez `NumberedBulletStartWith` à 3. +8. Créez la troisième instance de paragraphe via la classe `Paragraph` et définissez `NumberedBulletStartWith` à 7. 9. Ajoutez les nouveaux paragraphes à la collection de paragraphes du `TextFrame`. 10. Enregistrez la présentation modifiée. -Ce code C# vous montre comment ajouter et gérer des paragraphes avec un numéro ou un formatage personnalisé : - ```c# using (var presentation = new Presentation()) { var shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // Accesses the text frame of created autoshape + // Accède au cadre texte de l'AutoShape créé ITextFrame textFrame = shape.TextFrame; - // Removes the default exisiting paragraph + // Supprime le paragraphe existant par défaut textFrame.Paragraphs.RemoveAt(0); - // First list - var paragraph1 = new Paragraph { Text = "puce 2" }; + // Première liste + var paragraph1 = new Paragraph { Text = "bullet 2" }; paragraph1.ParagraphFormat.Depth = 4; paragraph1.ParagraphFormat.Bullet.NumberedBulletStartWith = 2; paragraph1.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph1); - var paragraph2 = new Paragraph { Text = "puce 3" }; + var paragraph2 = new Paragraph { Text = "bullet 3" }; paragraph2.ParagraphFormat.Depth = 4; paragraph2.ParagraphFormat.Bullet.NumberedBulletStartWith = 3; paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph2); - var paragraph5 = new Paragraph { Text = "puce 7" }; + var paragraph5 = new Paragraph { Text = "bullet 7" }; paragraph5.ParagraphFormat.Depth = 4; paragraph5.ParagraphFormat.Bullet.NumberedBulletStartWith = 7; paragraph5.ParagraphFormat.Bullet.Type = BulletType.Numbered; @@ -398,40 +397,38 @@ using (var presentation = new Presentation()) ``` -## **Définir le Retrait de Paragraphe** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Accédez à la référence de la diapositive pertinente via son index. -1. Ajoutez une rectangle [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) à la diapositive. -1. Ajoutez un [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) avec trois paragraphes à l'autoshape rectangle. +## **Définir l'indentation du paragraphe** +1. Créez une instance de [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. +1. Accédez à la référence de la diapositive concernée via son index. +1. Ajoutez un rectangle [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) à la diapositive. +1. Ajoutez un [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) avec trois paragraphes au rectangle autoshape. 1. Masquez les lignes du rectangle. -1. Définissez le retrait pour chaque [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) via leur propriété BulletOffset. -1. Écrivez la présentation modifiée sous forme de fichier PPT. - -Ce code C# vous montre comment définir un retrait de paragraphe : +1. Définissez l'indentation pour chaque [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) via leur propriété BulletOffset. +1. Enregistrez la présentation modifiée au format PPT. ```c# -// Instantiate Presentation Class +// Instancier la classe Presentation Presentation pres = new Presentation(); -// Gets the first slide +// Obtient la première diapositive ISlide sld = pres.Slides[0]; -// Adds a Rectangle Shape +// Ajoute une forme Rectangle IAutoShape rect = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 500, 150); -// Adds TextFrame to the Rectangle -ITextFrame tf = rect.AddTextFrame("Ceci est la première ligne \rCeci est la deuxième ligne \rCeci est la troisième ligne"); +// Ajoute un TextFrame au rectangle +ITextFrame tf = rect.AddTextFrame("This is first line \rThis is second line \rThis is third line"); -// Sets the text to fit the shape +// Définit le texte pour s'adapter à la forme tf.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// Hides the lines of the Rectangle +// Masque les lignes du rectangle rect.LineFormat.FillFormat.FillType = FillType.Solid; -// Gets the first Paragraph in the TextFrame and set its Indent +// Obtient le premier paragraphe dans le TextFrame et définit son retrait IParagraph para1 = tf.Paragraphs[0]; -// Sets paragraph bullet style and symbol +// Définit le style de puce du paragraphe et le symbole para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.Alignment = TextAlignment.Left; @@ -439,7 +436,7 @@ para1.ParagraphFormat.Alignment = TextAlignment.Left; para1.ParagraphFormat.Depth = 2; para1.ParagraphFormat.Indent = 30; -// Gets second Paragraph in the TextFrame and set its Indent +// Obtient le deuxième paragraphe dans le TextFrame et définit son retrait IParagraph para2 = tf.Paragraphs[1]; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -447,7 +444,7 @@ para2.ParagraphFormat.Alignment = TextAlignment.Left; para2.ParagraphFormat.Depth = 2; para2.ParagraphFormat.Indent = 40; -// Gets third Paragraph in the TextFrame and sets its Indent +// Obtient le troisième paragraphe dans le TextFrame et définit son retrait IParagraph para3 = tf.Paragraphs[2]; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -455,14 +452,14 @@ para3.ParagraphFormat.Alignment = TextAlignment.Left; para3.ParagraphFormat.Depth = 2; para3.ParagraphFormat.Indent = 50; -// Writes the Presentation to disk +// Enregistre la présentation sur le disque pres.Save("InOutDent_out.pptx", SaveFormat.Pptx); ``` -## **Définir un Retrait Suspendu pour le Paragraphe** -Ce code C# vous montre comment définir le retrait suspendu pour un paragraphe : +## **Définir l'indentation suspendue pour le paragraphe** +Ce code C# montre comment définir l'indentation suspendue pour un paragraphe : ```c# using (Presentation pres = new Presentation()) { @@ -470,15 +467,15 @@ using (Presentation pres = new Presentation()) Paragraph para1 = new Paragraph { - Text = "Exemple" + Text = "Example" }; Paragraph para2 = new Paragraph { - Text = "Définir un retrait suspendu pour le paragraphe" + Text = "Set Hanging Indent for Paragraph" }; Paragraph para3 = new Paragraph { - Text = "Ce code C# vous montre comment définir le retrait suspendu pour un paragraphe : " + Text = "This C# code shows you how to set the hanging indent for a paragraph: " }; para2.ParagraphFormat.MarginLeft = 10f; @@ -492,17 +489,16 @@ using (Presentation pres = new Presentation()) } ``` -## **Gérer les Propriétés de Fin de Paragraphe pour le Paragraphe** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +## **Gérer les propriétés de fin d'exécution pour le paragraphe** + +1. Créez une instance de [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) class. 1. Obtenez la référence de la diapositive contenant le paragraphe via sa position. -1. Ajoutez une rectangle [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) à la diapositive. -1. Ajoutez un [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) avec deux paragraphes au Rectangle. -1. Définissez la `FontHeight` et le type de police pour les paragraphes. +1. Ajoutez un rectangle [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) à la diapositive. +1. Ajoutez un [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) avec deux paragraphes au rectangle. +1. Définissez le `FontHeight` et le type de police pour les paragraphes. 1. Définissez les propriétés de fin pour les paragraphes. -1. Écrivez la présentation modifiée sous forme de fichier PPTX. - -Ce code C# vous montre comment définir les propriétés de fin pour les paragraphes dans PowerPoint : +1. Enregistrez la présentation modifiée au format PPTX. ```c# using (Presentation pres = new Presentation("Test.pptx")) @@ -510,10 +506,10 @@ using (Presentation pres = new Presentation("Test.pptx")) IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 200, 250); Paragraph para1 = new Paragraph(); - para1.Portions.Add(new Portion("Texte d'exemple")); + para1.Portions.Add(new Portion("Sample text")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("Texte d'exemple 2")); + para2.Portions.Add(new Portion("Sample text 2")); PortionFormat endParagraphPortionFormat = new PortionFormat(); endParagraphPortionFormat.FontHeight = 48; endParagraphPortionFormat.LatinFont = new FontData("Times New Roman"); @@ -527,82 +523,188 @@ using (Presentation pres = new Presentation("Test.pptx")) ``` -## **Importer du Texte HTML dans des Paragraphes** -Aspose.Slides offre un support amélioré pour importer du texte HTML dans des paragraphes. +## **Importer du texte HTML dans les paragraphes** +Aspose.Slides fournit une prise en charge améliorée pour l'importation de texte HTML dans les paragraphes. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accédez à la référence de la diapositive pertinente via son index. -3. Ajoutez une [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) à la diapositive. +2. Accédez à la référence de la diapositive concernée via son index. +3. Ajoutez une [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) à la diapositive. 4. Ajoutez et accédez à `autoshape` [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/). 5. Supprimez le paragraphe par défaut dans le `ITextFrame`. 6. Lisez le fichier HTML source dans un TextReader. 7. Créez la première instance de paragraphe via la classe [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). -8. Ajoutez le contenu du fichier HTML dans le TextReader lu à la [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) du TextFrame. +8. Ajoutez le contenu du fichier HTML lu dans le TextReader à la [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) du TextFrame. 9. Enregistrez la présentation modifiée. -Ce code C# est une implémentation des étapes pour importer des textes HTML dans des paragraphes : - ```c# -// Creates Empty presentation instance +// Crée une instance de présentation vide using (Presentation pres = new Presentation()) { - // Acessses the default first slide of presentation + // Accède à la première diapositive par défaut de la présentation ISlide slide = pres.Slides[0]; - // Adds the AutoShape to house the HTML content + // Ajoute l'AutoShape pour héberger le contenu HTML IAutoShape ashape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, pres.SlideSize.Size.Width - 20, pres.SlideSize.Size.Height - 10); ashape.FillFormat.FillType = FillType.NoFill; - // Adds text frame to the shape + // Ajoute un cadre texte à la forme ashape.AddTextFrame(""); - // Clears all paragraphs in the added text frame + // Supprime tous les paragraphes du cadre texte ajouté ashape.TextFrame.Paragraphs.Clear(); - // Loads the HTML file using stream reader + // Charge le fichier HTML à l'aide du lecteur de flux TextReader tr = new StreamReader("file.html"); - // Adds the text from HTML stream reader in text frame + // Ajoute le texte du lecteur de flux HTML dans le cadre texte ashape.TextFrame.Paragraphs.AddFromHtml(tr.ReadToEnd()); - // Saves Presentation + // Enregistre la présentation pres.Save("output_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **Exporter le Texte des Paragraphes vers HTML** -Aspose.Slides offre un support amélioré pour exporter des textes (contenus dans les paragraphes) vers HTML. +## **Exporter le texte des paragraphes en HTML** +Aspose.Slides fournit une prise en charge améliorée pour l'exportation de textes (contenus dans les paragraphes) vers HTML. 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) et chargez la présentation souhaitée. -2. Accédez à la référence de la diapositive pertinente via son index. -3. Accédez à la forme contenant le texte qui sera exporté vers HTML. +2. Accédez à la référence de la diapositive concernée via son index. +3. Accédez à la forme contenant le texte qui sera exporté en HTML. 4. Accédez au [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) de la forme. 5. Créez une instance de `StreamWriter` et ajoutez le nouveau fichier HTML. -6. Fournissez un index de départ au StreamWriter et exportez vos paragraphes préférés. - -Ce code C# vous montre comment exporter le texte des paragraphes PowerPoint vers HTML : +6. Fournissez un index de départ à StreamWriter et exportez les paragraphes souhaités. ```c# -// Loads the presentation file + // Loads the presentation file using (Presentation pres = new Presentation("ExportingHTMLText.pptx")) { - // Acessses the default first slide of presentation + // Accède à la première diapositive par défaut de la présentation ISlide slide = pres.Slides[0]; - // Accesses the required index + // Accède à l'index requis int index = 0; - // Accesses the added shape + // Accède à la forme ajoutée IAutoShape ashape = (IAutoShape)slide.Shapes[index]; StreamWriter sw = new StreamWriter("output_out.html", false, Encoding.UTF8); - // Writes paragraphs data to HTML by specifying paragraph starting index and number of paragraphs to be copied + // Écrit les données des paragraphes en HTML en spécifiant l'index de départ du paragraphe et le nombre de paragraphes à copier sw.Write(ashape.TextFrame.Paragraphs.ExportToHtml(0, ashape.TextFrame.Paragraphs.Count, null)); sw.Close(); } -``` \ No newline at end of file +``` + + +## **Enregistrer un paragraphe en tant qu'image** + +Dans cette section, nous explorerons deux exemples qui démontrent comment enregistrer un paragraphe texte, représenté par l'interface [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/), sous forme d'image. Les deux exemples comprennent l'obtention de l'image d'une forme contenant le paragraphe à l'aide des méthodes `GetImage` de l'interface [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/), le calcul des limites du paragraphe à l'intérieur de la forme, et son exportation sous forme d'image bitmap. Ces approches permettent d'extraire des parties spécifiques du texte d'une présentation PowerPoint et de les enregistrer comme images séparées, ce qui peut être utile dans divers scénarios. + +Supposons que nous ayons un fichier de présentation appelé sample.pptx avec une diapositive, où la première forme est une zone de texte contenant trois paragraphes. + +![La zone de texte avec trois paragraphes](paragraph_to_image_input.png) + +**Exemple 1** + +Dans cet exemple, nous obtenons le deuxième paragraphe sous forme d'image. Pour ce faire, nous extrayons l'image de la forme de la première diapositive de la présentation, puis nous calculons les limites du deuxième paragraphe dans le cadre texte de la forme. Le paragraphe est ensuite redessiné sur une nouvelle image bitmap, qui est enregistrée au format PNG. Cette méthode est particulièrement utile lorsqu'il faut enregistrer un paragraphe spécifique comme image séparée tout en conservant les dimensions et la mise en forme exactes du texte. +```csharp +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap. +using var shapeImage = firstShape.GetImage(); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +Le résultat : + +![L'image du paragraphe](paragraph_to_image_output.png) + +**Exemple 2** + +Dans cet exemple, nous étendons l'approche précédente en ajoutant des facteurs d'échelle à l'image du paragraphe. La forme est extraite de la présentation et enregistrée sous forme d'image avec un facteur d'échelle de `2`. Cela permet d'obtenir une sortie à résolution supérieure lors de l'exportation du paragraphe. Les limites du paragraphe sont alors calculées en tenant compte de l'échelle. Le redimensionnement peut être particulièrement utile lorsqu'une image plus détaillée est requise, par exemple pour une utilisation dans du matériel imprimé de haute qualité. +```csharp +var imageScaleX = 2f; +var imageScaleY = imageScaleX; + +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap with scaling. +using var shapeImage = firstShape.GetImage(ShapeThumbnailBounds.Shape, imageScaleX, imageScaleY); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); +paragraphRectangle.X *= imageScaleX; +paragraphRectangle.Y *= imageScaleY; +paragraphRectangle.Width *= imageScaleX; +paragraphRectangle.Height *= imageScaleY; + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +## **FAQ** + +**Puis-je désactiver complètement le retour à la ligne à l'intérieur d'un cadre de texte ?** + +Oui. Utilisez le paramètre de retour à la ligne du cadre de texte ([WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/wraptext/)) pour désactiver le retour afin que les lignes ne se coupent pas aux bords du cadre. + +**Comment obtenir les limites exactes sur la diapositive d'un paragraphe spécifique ?** + +Vous pouvez récupérer le rectangle englobant du paragraphe (et même d'une seule portion) pour connaître sa position et sa taille précises sur la diapositive. + +**Où la justification du paragraphe (gauche/droite/centré/justifié) est‑elle contrôlée ?** + +[Alignment](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/alignment/) est un paramètre au niveau du paragraphe dans [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/); il s'applique à tout le paragraphe, quel que soit le format des portions individuelles. + +**Puis‑je définir une langue de vérification orthographique pour une seule partie d'un paragraphe (par exemple un mot) ?** + +Oui. La langue est définie au niveau de la portion ([PortionFormat.LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/)), de sorte que plusieurs langues peuvent coexister dans un même paragraphe. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md b/fr/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md index 430c8b619b..f5b6863af2 100644 --- a/fr/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md @@ -1,27 +1,26 @@ --- -title: Gérer les Espaces réservés +title: Gérer les espaces réservés type: docs weight: 10 url: /fr/net/manage-placeholder/ -keywords: "Espace réservé, Texte d'espace réservé, Texte d'invite, Présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" -description: "Modifier le texte de l'espace réservé et le texte d'invite dans des présentations PowerPoint en C# ou .NET" +keywords: "Espace réservé, Texte d'espace réservé, Texte d'invite, Présentation PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Modifier le texte et le texte d'invite des espaces réservés dans les présentations PowerPoint en C# ou .NET" --- -## **Modifier le Texte dans l'Espace Réservé** -En utilisant [Aspose.Slides pour .NET](/slides/fr/net/), vous pouvez trouver et modifier les espaces réservés sur des diapositives dans des présentations. Aspose.Slides vous permet de modifier le texte dans un espace réservé. +## **Modifier le texte dans un espace réservé** +En utilisant [Aspose.Slides for .NET](/slides/fr/net/), vous pouvez rechercher et modifier les espaces réservés sur les diapositives dans les présentations. Aspose.Slides vous permet d'apporter des modifications au texte d'un espace réservé. -**Prérequis**: Vous avez besoin d'une présentation qui contient un espace réservé. Vous pouvez créer une telle présentation dans l'application Microsoft PowerPoint standard. +**Prerequisite**: Vous avez besoin d'une présentation contenant un espace réservé. Vous pouvez créer une telle présentation dans l'application Microsoft PowerPoint standard. Voici comment utiliser Aspose.Slides pour remplacer le texte dans l'espace réservé de cette présentation : -1. Instanciez la classe [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation) et passez la présentation comme argument. -2. Obtenez une référence à une diapositive par son index. -3. Parcourez les formes pour trouver l'espace réservé. -4. Typecast la forme de l'espace réservé en une [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) et modifiez le texte à l'aide de [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/) associé à l[`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). +1. Instanciez la classe [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation) et passez la présentation en argument. +2. Obtenez une référence à une diapositive via son index. +3. Itérez à travers les formes pour trouver l'espace réservé. +4. Convertissez la forme de l'espace réservé en [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) et modifiez le texte en utilisant le [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/) associé à l[`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). 5. Enregistrez la présentation modifiée. -Ce code C# montre comment modifier le texte dans un espace réservé : - +Ce code C# montre comment modifier le texte d'un espace réservé : ```c# // Instancie une classe Presentation using (Presentation pres = new Presentation("ReplacingText.pptx")) @@ -30,46 +29,45 @@ using (Presentation pres = new Presentation("ReplacingText.pptx")) // Accède à la première diapositive ISlide sld = pres.Slides[0]; - // Itère à travers les formes pour trouver l'espace réservé + // Parcourt les formes pour trouver l'espace réservé foreach (IShape shp in sld.Shapes) if (shp.Placeholder != null) { - // Modifie le texte dans chaque espace réservé - ((IAutoShape)shp).TextFrame.Text = "Ceci est un Espace Réservé"; + // Modifie le texte de chaque espace réservé + ((IAutoShape)shp).TextFrame.Text = "This is a Placeholder"; } - // Sauvegarde la présentation sur le disque + // Enregistre la présentation sur le disque pres.Save("output_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **Définir le Texte d'Invite dans l'Espace Réservé** -Les mises en page standard et prédéfinies contiennent des textes d'invite pour les espaces réservés tels que ***Cliquez pour ajouter un titre*** ou ***Cliquez pour ajouter un sous-titre***. En utilisant Aspose.Slides, vous pouvez insérer vos textes d'invite préférés dans les mises en page d'espaces réservés. - -Ce code C# vous montre comment définir le texte d'invite dans un espace réservé : +## **Définir le texte d'invite dans un espace réservé** +Les mises en page standard et préconfigurées contiennent des textes d'invite d'espace réservé tels que ***Click to add a title*** ou ***Click to add a subtitle***. En utilisant Aspose.Slides, vous pouvez insérer vos textes d'invite préférés dans les mises en page d'espaces réservés. +Ce code C# montre comment définir le texte d'invite dans un espace réservé : ```c# using (Presentation pres = new Presentation("Presentation2.pptx")) { ISlide slide = pres.Slides[0]; - foreach (IShape shape in slide.Slide.Shapes) // Itère à travers la diapositive + foreach (IShape shape in slide.Slide.Shapes) // Parcourt la diapositive { if (shape.Placeholder != null && shape is AutoShape) { string text = ""; if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPoint affiche "Cliquez pour ajouter un titre" { - text = "Ajouter un Titre"; + text = "Add Title"; } - else if (shape.Placeholder.Type == PlaceholderType.Subtitle) // Ajoute un sous-titre + else if (shape.Placeholder.Type == PlaceholderType.Subtitle) // Ajoute le sous-titre { - text = "Ajouter un Sous-titre"; + text = "Add Subtitle"; } ((IAutoShape)shape).TextFrame.Text = text; - Console.WriteLine($"Espace réservé avec texte : {text}"); + Console.WriteLine($"Placeholder with text: {text}"); } } @@ -77,12 +75,11 @@ using (Presentation pres = new Presentation("Presentation2.pptx")) } ``` -## **Définir la Transparence de l'Image de l'Espace Réservé** - -Aspose.Slides vous permet de définir la transparence de l'image de fond dans un espace réservé de texte. En ajustant la transparence de l'image dans un tel cadre, vous pouvez faire ressortir le texte ou l'image (selon les couleurs du texte et de l'image). -Ce code C# vous montre comment définir la transparence pour un arrière-plan d'image (dans une forme) : +## **Définir la transparence de l'image d'un espace réservé** +Aspose.Slides vous permet de définir la transparence de l'image d'arrière-plan dans un espace réservé de texte. En ajustant la transparence de l'image dans ce cadre, vous pouvez faire ressortir le texte ou l'image (selon les couleurs du texte et de l'image). +Ce code C# montre comment définir la transparence d'une image d'arrière-plan (à l'intérieur d'une forme) : ```c# using (var presentation = new Presentation()) { @@ -93,4 +90,19 @@ using (var presentation = new Presentation()) autoShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; autoShape.FillFormat.PictureFillFormat.Picture.ImageTransform.AddAlphaModulateFixedEffect(75); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Quel est un espace réservé de base, et en quoi diffère-t-il d'une forme locale sur une diapositive ?** + +Un espace réservé de base est la forme originale sur une mise en page ou un masque dont la forme de la diapositive hérite - le type, la position et certains formats en proviennent. Une forme locale est indépendante; s'il n'existe pas d'espace réservé de base, l'héritage ne s'applique pas. + +**Comment puis-je mettre à jour tous les titres ou légendes d'une présentation sans parcourir chaque diapositive ?** + +Modifiez l'espace réservé correspondant sur la mise en page ou le masque. Les diapositives basées sur ces mises en page ou ce masque hériteront automatiquement du changement. + +**Comment contrôler les espaces réservés d'en-tête/pied de page standard - date et heure, numéro de diapositive et texte du pied de page ?** + +Utilisez les gestionnaires HeaderFooter au niveau approprié (diapositives normales, mises en page, masque, notes/versions imprimées) pour activer ou désactiver ces espaces réservés et définir leur contenu. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md b/fr/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md index 6797dc4f52..e0452d4a9e 100644 --- a/fr/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md @@ -1,127 +1,165 @@ --- -title: Gérer le TextBox +title: Gérer la zone de texte type: docs weight: 20 url: /fr/net/manage-textbox/ -keywords: "Textbox, Cadre de texte, Ajouter un textbox, Textbox avec lien hypertexte, C#, Csharp, Aspose.Slides pour .NET" -description: "Ajouter un textbox ou un cadre de texte aux présentations PowerPoint en C# ou .NET" +keywords: +- zone de texte +- cadre de texte +- ajouter du texte +- mettre à jour le texte +- zone de texte avec un hyperlien +- PowerPoint +- présentation +- C# +- Csharp +- Aspose.Slides for .NET +description: "Gérer une zone de texte ou un cadre de texte dans des présentations PowerPoint en utilisant C# ou .NET" --- -Les textes sur les diapositives existent généralement dans des zones de texte ou des formes. Par conséquent, pour ajouter du texte à une diapositive, vous devez d'abord ajouter un textbox et ensuite placer du texte à l'intérieur du textbox. +Les textes sur les diapositives se trouvent généralement dans des zones de texte ou des formes. Par conséquent, pour ajouter du texte à une diapositive, vous devez d'abord ajouter une zone de texte, puis placer du texte à l'intérieur de celle‑ci. Pour vous permettre d'ajouter une forme pouvant contenir du texte, Aspose.Slides pour .NET fournit l'interface [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape). -{{% alert title="Remarque" color="warning" %}} +{{% alert title="Note" color="warning" %}} -Aspose.Slides fournit également l'interface [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) pour vous permettre d'ajouter des formes aux diapositives. Cependant, toutes les formes ajoutées via l'interface `IShape` ne peuvent pas contenir de texte. Les formes ajoutées via l'interface [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) contiennent généralement du texte. +Aspose.Slides fournit également l'interface [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) pour vous permettre d'ajouter des formes aux diapositives. Cependant, toutes les formes ajoutées via l'interface `IShape` ne peuvent pas contenir du texte. Les formes ajoutées via l'interface [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) contiennent généralement du texte. -Par conséquent, lorsque vous traitez avec une forme existante à laquelle vous souhaitez ajouter du texte, vous voudrez peut-être vérifier et confirmer qu'elle a été castée via l'interface `IAutoShape`. Ce n'est qu'à ce moment-là que vous pourrez travailler avec [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe), qui est une propriété sous `IAutoShape`. Consultez la section [Mettre à jour le texte](https://docs.aspose.com/slides/net/manage-textbox/#update-text) sur cette page. +Par conséquent, lorsque vous travaillez avec une forme existante à laquelle vous souhaitez ajouter du texte, vous devez vérifier et confirmer qu'elle a été castée via l'interface `IAutoShape`. Ce n'est qu'alors que vous pourrez travailler avec [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe), qui est une propriété de `IAutoShape`. Consultez la section [Update Text](https://docs.aspose.com/slides/net/manage-textbox/#update-text) de cette page. {{% /alert %}} ## **Créer une zone de texte sur la diapositive** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez la référence de la première diapositive via son index. -3. Ajoutez un objet [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) avec [ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype) défini comme `Rectangle` à une position spécifiée sur la diapositive et obtenez la référence de l'objet `IAutoShape` nouvellement ajouté. -4. Ajoutez une propriété `TextFrame` à l'objet `IAutoShape` qui contiendra du texte. Dans l'exemple ci-dessous, nous avons ajouté ce texte : *Aspose TextBox* -5. Enfin, écrivez le fichier PPTX via l'objet `Presentation`. - -Ce code C#—une implémentation des étapes ci-dessus—vous montre comment ajouter du texte à une diapositive : +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Obtenez la référence de la première diapositive via son indice. +3. Ajoutez un objet [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) avec [ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype) défini sur `Rectangle` à une position spécifiée sur la diapositive et obtenez la référence de l'objet `IAutoShape` nouvellement ajouté. +4. Ajoutez une propriété `TextFrame` à l'objet `IAutoShape` qui contiendra du texte. Dans l'exemple ci‑dessous, nous avons ajouté ce texte : *Aspose TextBox* +5. Enfin, écrivez le fichier PPTX via l'objet `Presentation`. +Ce code C# — une implémentation des étapes ci‑dessus — vous montre comment ajouter du texte à une diapositive : ```c# -// Instantiates PresentationEx -using (Presentation pres = new Presentation()) -{ - - // Gets the first slide in the presentation - ISlide sld = pres.Slides[0]; - - // Adds an AutoShape with type set as Rectangle - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - - // Adds TextFrame to the Rectangle - ashp.AddTextFrame(" "); - - // Accesses the text frame - ITextFrame txtFrame = ashp.TextFrame; - - // Creates the Paragraph object for text frame - IParagraph para = txtFrame.Paragraphs[0]; - - // Creates a Portion object for the paragraph - IPortion portion = para.Portions[0]; - - // Sets the text - portion.Text = "Aspose TextBox"; - - // Saves the presentation to disk - pres.Save("TextBox_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -} + // Instancie PresentationEx + using (Presentation pres = new Presentation()) + { + + // Récupère la première diapositive de la présentation + ISlide sld = pres.Slides[0]; + + // Ajoute une AutoShape dont le type est Rectangle + IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); + + // Ajoute un TextFrame au rectangle + ashp.AddTextFrame(" "); + + // Accède au cadre de texte + ITextFrame txtFrame = ashp.TextFrame; + + // Crée l'objet Paragraph pour le cadre de texte + IParagraph para = txtFrame.Paragraphs[0]; + + // Crée un objet Portion pour le paragraphe + IPortion portion = para.Portions[0]; + + // Définit le texte + portion.Text = "Aspose TextBox"; + + // Enregistre la présentation sur le disque + pres.Save("TextBox_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); + } ``` -## **Vérifier la forme de la zone de texte** -Aspose.Slides fournit la propriété [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) (de la classe [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)) pour vous permettre d'examiner les formes et de trouver des zones de texte. +## **Vérifier la forme de zone de texte** + +Aspose.Slides fournit la propriété [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) de l'interface [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/), vous permettant d'examiner les formes et d'identifier les zones de texte. ![Zone de texte et forme](istextbox.png) Ce code C# vous montre comment vérifier si une forme a été créée en tant que zone de texte : - ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - Aspose.Slides.LowCode.ForEach.Shape(pres, (shape, slide, index) => + Aspose.Slides.LowCode.ForEach.Shape(presentation, (shape, slide, index) => { - if (shape is AutoShape autoShape) + if (shape is IAutoShape autoShape) { - Console.WriteLine(autoShape.IsTextBox ? "la forme est une zone de texte" : "la forme est un texte et non une zone"); + Console.WriteLine(autoShape.IsTextBox ? "shape is a text box" : "shape is not a text box"); } }); } ``` -## **Ajouter une colonne dans la zone de texte** -Aspose.Slides fournit les propriétés [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) et [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) (de l'interface [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) et de la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) pour vous permettre d'ajouter des colonnes aux zones de texte. Vous pouvez spécifier le nombre de colonnes dans une zone de texte puis définir l'espacement en points entre les colonnes. +Notez que si vous ajoutez simplement une forme automatique à l'aide de la méthode `AddAutoShape` de l'interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/), la propriété `IsTextBox` de la forme automatique renverra `false`. Cependant, après avoir ajouté du texte à la forme automatique à l'aide de la méthode `AddTextFrame` ou de la propriété `Text`, la propriété `IsTextBox` renvoie `true`. +```cs +using (Presentation presentation = new Presentation()) +{ + ISlide slide = presentation.Slides[0]; + + IAutoShape shape1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 100, 40); + // shape1.IsTextBox est faux + shape1.AddTextFrame("shape 1"); + // shape1.IsTextBox est vrai + + IAutoShape shape2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 110, 100, 40); + // shape2.IsTextBox est faux + shape2.TextFrame.Text = "shape 2"; + // shape2.IsTextBox est vrai + + IAutoShape shape3 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 210, 100, 40); + // shape3.IsTextBox est faux + shape3.AddTextFrame(""); + // shape3.IsTextBox est faux + + IAutoShape shape4 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 310, 100, 40); + // shape4.IsTextBox est faux + shape4.TextFrame.Text = ""; + // shape4.IsTextBox est faux +} +``` + + +## **Ajouter une colonne dans une zone de texte** -Ce code en C# illustre l'opération décrite : +Aspose.Slides propose les propriétés [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) et [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) (issues de l'interface [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) et de la classe [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) afin de vous permettre d'ajouter des colonnes aux zones de texte. Vous pouvez spécifier le nombre de colonnes dans une zone de texte, puis définir l'espacement en points entre les colonnes. +Ce code en C# illustre l'opération décrite : ```c# using (Presentation presentation = new Presentation()) { - // Gets the first slide in the presentation + // Obtient la première diapositive de la présentation ISlide slide = presentation.Slides[0]; - // Add an AutoShape with type set as Rectangle + // Ajoute une AutoShape dont le type est Rectangle IAutoShape aShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 300, 300); - // Add TextFrame to the Rectangle - aShape.AddTextFrame("Toutes ces colonnes sont limitées à être dans un seul conteneur de texte -- " + - "vous pouvez ajouter ou supprimer du texte et le nouveau texte ou le texte restant s'ajuste automatiquement " + - "pour s'écouler dans le conteneur. Vous ne pouvez pas faire couler le texte d'un conteneur " + - "à un autre, cependant -- nous vous avons dit que les options de colonnes de PowerPoint pour le texte sont limitées !"); + // Ajoute un TextFrame au rectangle + aShape.AddTextFrame("All these columns are limited to be within a single text container -- " + + "you can add or delete text and the new or remaining text automatically adjusts " + + "itself to flow within the container. You cannot have text flow from one container " + + "to other though -- we told you PowerPoint's column options for text are limited!"); - // Gets the text format of TextFrame + // Obtient le format de texte du TextFrame ITextFrameFormat format = aShape.TextFrame.TextFrameFormat; - // Specifies the number of columns in TextFrame + // Spécifie le nombre de colonnes dans le TextFrame format.ColumnCount = 3; - // Specifies the spacing between columns + // Spécifie l'espacement entre les colonnes format.ColumnSpacing = 10; - // Saves the presentation + // Enregistre la présentation presentation.Save("ColumnCount.pptx", SaveFormat.Pptx); } ``` + ## **Ajouter une colonne dans le cadre de texte** -Aspose.Slides pour .NET fournit la propriété [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) (de l'interface [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat)) qui vous permet d'ajouter des colonnes dans les cadres de texte. Grâce à cette propriété, vous pouvez spécifier votre nombre préféré de colonnes dans un cadre de texte. +Aspose.Slides pour .NET fournit la propriété [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) (issue de l'interface [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat)) qui vous permet d'ajouter des colonnes dans les cadres de texte. Grâce à cette propriété, vous pouvez spécifier le nombre de colonnes souhaité dans un cadre de texte. Ce code C# vous montre comment ajouter une colonne à l'intérieur d'un cadre de texte : - ```c# string outPptxFileName = "ColumnsTest.pptx"; using (Presentation pres = new Presentation()) @@ -130,10 +168,10 @@ using (Presentation pres = new Presentation()) TextFrameFormat format = (TextFrameFormat)shape1.TextFrame.TextFrameFormat; format.ColumnCount = 2; - shape1.TextFrame.Text = "Toutes ces colonnes sont contraintes de rester dans un seul conteneur de texte -- " + - "vous pouvez ajouter ou supprimer du texte - et le nouveau texte ou le texte restant s'ajuste automatiquement " + - "pour rester dans le conteneur. Vous ne pouvez pas faire déborder le texte d'un conteneur " + - "à un autre, cependant -- car les options de colonnes de PowerPoint pour le texte sont limitées !"; + shape1.TextFrame.Text = "All these columns are forced to stay within a single text container -- " + + "you can add or delete text - and the new or remaining text automatically adjusts " + + "itself to stay within the container. You cannot have text spill over from one container " + + "to other, though -- because PowerPoint's column options for text are limited!"; pres.Save(outPptxFileName, SaveFormat.Pptx); using (Presentation test = new Presentation(outPptxFileName)) @@ -163,12 +201,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Mettre à jour le texte** -Aspose.Slides vous permet de changer ou de mettre à jour le texte contenu dans une zone de texte ou tous les textes contenus dans une présentation. +## **Mettre à jour le texte** -Ce code C# démontre une opération où tous les textes d'une présentation sont mis à jour ou changés : +Aspose.Slides vous permet de modifier ou de mettre à jour le texte contenu dans une zone de texte ou tous les textes d'une présentation. +Ce code C# montre une opération où tous les textes d'une présentation sont mis à jour ou modifiés : ```c# using(Presentation pres = new Presentation("text.pptx")) { @@ -178,62 +216,73 @@ using(Presentation pres = new Presentation("text.pptx")) { if (shape is IAutoShape autoShape) //Vérifie si la forme prend en charge le cadre de texte (IAutoShape). { - foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) //Itère à travers les paragraphes dans le cadre de texte + foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) //Parcourt les paragraphes du cadre de texte { - foreach (IPortion portion in paragraph.Portions) //Itère à travers chaque portion dans le paragraphe + foreach (IPortion portion in paragraph.Portions) //Parcourt chaque portion du paragraphe { - portion.Text = portion.Text.Replace("years", "months"); //Change le texte - portion.PortionFormat.FontBold = NullableBool.True; //Change le formatage + portion.Text = portion.Text.Replace("years", "months"); //Modifie le texte + portion.PortionFormat.FontBold = NullableBool.True; //Modifie le formatage } } } } } - - //Sauvegarde la présentation modifiée + + //Enregistre la présentation modifiée pres.Save("text-changed.pptx", SaveFormat.Pptx); } ``` -## **Ajouter une zone de texte avec lien hypertexte** -Vous pouvez insérer un lien à l'intérieur d'une zone de texte. Lorsque la zone de texte est cliquée, les utilisateurs sont dirigés pour ouvrir le lien. +## **Ajouter une zone de texte avec hyperlien** -1. Créez une instance de la classe `Presentation`. -2. Obtenez la référence de la première diapositive via son index. -3. Ajoutez un objet `AutoShape` avec `ShapeType` défini comme `Rectangle` à une position spécifiée sur la diapositive et obtenez une référence de l'objet AutoShape nouvellement ajouté. -4. Ajoutez un `TextFrame` à l'objet `AutoShape` qui contient *Aspose TextBox* comme texte par défaut. -5. Instanciez la classe `IHyperlinkManager`. -6. Assignez l'objet `IHyperlinkManager` à la propriété [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick) associée à votre portion préférée du `TextFrame`. -7. Enfin, écrivez le fichier PPTX via l'objet `Presentation`. +Vous pouvez insérer un lien dans une zone de texte. Lorsqu’elle est cliquée, les utilisateurs sont dirigés vers le lien. -Ce code C#—une implémentation des étapes ci-dessus—vous montre comment ajouter une zone de texte avec un lien hypertexte à une diapositive : +1. Créez une instance de la classe `Presentation`. +2. Obtenez la référence de la première diapositive via son indice. +3. Ajoutez un objet `AutoShape` avec `ShapeType` défini sur `Rectangle` à une position spécifiée sur la diapositive et obtenez une référence à l’objet AutoShape nouvellement ajouté. +4. Ajoutez un `TextFrame` à l’objet `AutoShape` qui contient *Aspose TextBox* comme texte par défaut. +5. Instanciez la classe `IHyperlinkManager`. +6. Assignez l’objet `IHyperlinkManager` à la propriété [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick) associée à la portion souhaitée du `TextFrame`. +7. Enfin, écrivez le fichier PPTX via l’objet `Presentation`. +Ce code C# — une implémentation des étapes ci‑dessus — vous montre comment ajouter une zone de texte avec un hyperlien à une diapositive : ```c# -// Instantiates a Presentation class that represents a PPTX +// Instancie une classe Presentation qui représente un PPTX Presentation pptxPresentation = new Presentation(); -// Gets the first slide in the presentation +// Récupère la première diapositive de la présentation ISlide slide = pptxPresentation.Slides[0]; -// Adds an AutoShape object with type set as Rectangle +// Ajoute un objet AutoShape dont le type est Rectangle IShape pptxShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 150, 150, 50); -// Casts the shape to AutoShape +// Convertit la forme en AutoShape IAutoShape pptxAutoShape = (IAutoShape)pptxShape; -// Accesses the ITextFrame property associated with the AutoShape +// Accède à la propriété ITextFrame associée à l'AutoShape pptxAutoShape.AddTextFrame(""); ITextFrame ITextFrame = pptxAutoShape.TextFrame; -// Adds some text to the frame +// Ajoute du texte au cadre ITextFrame.Paragraphs[0].Portions[0].Text = "Aspose.Slides"; -// Sets the Hyperlink for the portion text +// Définit le lien hypertexte pour le texte de la portion IHyperlinkManager HypMan = ITextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkManager; HypMan.SetExternalHyperlinkClick("http://www.aspose.com"); -// Saves the PPTX Presentation +// Enregistre la présentation PPTX pptxPresentation.Save("hLinkPPTX_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**Quelle est la différence entre une zone de texte et un espace réservé de texte lors du travail avec des diapositives maître ?** + +Un [placeholder](/slides/fr/net/manage-placeholder/) hérite du style/position du [master](https://reference.aspose.com/slides/net/aspose.slides/masterslide/) et peut être remplacé sur les [layouts](https://reference.aspose.com/slides/net/aspose.slides/layoutslide/), tandis qu’une zone de texte ordinaire est un objet indépendant sur une diapositive spécifique et ne change pas lorsque vous changez de layout. + +**Comment effectuer un remplacement de texte en masse dans l’ensemble de la présentation sans toucher au texte à l’intérieur des graphiques, tableaux et SmartArt ?** + +Limitez votre itération aux auto‑formes qui possèdent des cadres de texte et excluez les objets incorporés ([charts](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/), [tables](https://reference.aspose.com/slides/net/aspose.slides/table/), [SmartArt](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartart/)) en parcourant leurs collections séparément ou en ignorant ces types d’objets. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md b/fr/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md index 9d21492cb0..2aef6fc61e 100644 --- a/fr/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md @@ -1,28 +1,43 @@ --- -title: Localisation de la Présentation +title: Localisation de la présentation type: docs weight: 100 url: /fr/net/presentation-localization/ -keywords: "Changer de langue, Vérification orthographique, Vérification de l'orthographe, Correcteur orthographique, Présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" +keywords: "Modifier la langue, Vérification orthographique, Vérification orthographique, Vérificateur d'orthographe, Présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" description: "Changer ou vérifier la langue dans une présentation PowerPoint. Vérifier l'orthographe du texte en C# ou .NET" --- -## **Changer la Langue pour le Texte de la Présentation et de la Forme** -- Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -- Obtenir la référence d'une diapositive en utilisant son Index. -- Ajouter une forme auto de type Rectangle à la diapositive. -- Ajouter du texte au TextFrame. -- Définir l'ID de langue pour le texte. -- Écrire la présentation en tant que fichier PPTX. -L'implémentation des étapes ci-dessus est démontrée ci-dessous dans un exemple. +## **Modifier la langue du texte de la présentation et de la forme** +- Créer une instance de la classe [Présentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +- Obtenir la référence d’une diapositive en utilisant son Index. +- Ajouter une AutoShape de type Rectangle à la diapositive. +- Ajouter du texte au TextFrame. +- Définir l’Id de langue du texte. +- Enregistrer la présentation au format PPTX. +L’implémentation des étapes ci‑dessus est illustrée ci‑après dans un exemple. ```c# using (Presentation pres = new Presentation("test0.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); - shape.AddTextFrame("Texte pour appliquer la langue de vérification orthographique"); + shape.AddTextFrame("Text to apply spellcheck language"); shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId = "en-EN"; pres.Save("test1.pptx",Aspose.Slides.Export.SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Le language_id déclenche-t-il une traduction automatique du texte ?** + +Non. [language_id](https://reference.aspose.com/slides/net/aspose.slides/portionformat/languageid/) dans Aspose.Slides stocke la langue pour la vérification orthographique et la correction grammaticale, mais il ne traduit pas et ne modifie pas le contenu du texte. Il s’agit de métadonnées que PowerPoint comprend pour la révision. + +**Le language_id affecte-t-il la césure et les sauts de ligne lors du rendu ?** + +Dans Aspose.Slides, [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) sert à la révision. La qualité de la césure et le passage à la ligne dépendent principalement de la disponibilité de [polices appropriées](/slides/fr/net/powerpoint-fonts/) et des paramètres de mise en page/coupure de ligne pour le système d’écriture. Pour garantir un rendu correct, assurez‑vous que les polices requises sont disponibles, configurez les [règles de substitution de polices](/slides/fr/net/font-substitution/), et/ou [intégrez les polices](/slides/fr/net/embedded-font/) dans la présentation. + +**Puis-je définir différentes langues au sein d’un même paragraphe ?** + +Oui. [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) est appliqué au niveau de chaque portion de texte, de sorte qu’un même paragraphe peut mêler plusieurs langues avec des paramètres de révision distincts. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md b/fr/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md index 0a8fb39b36..1da4a73d04 100644 --- a/fr/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md @@ -1,78 +1,114 @@ --- -title: Superposition et Sous-cription +title: Gérer les exposants et les indices en C# +linktitle: Exposant et indice type: docs weight: 80 url: /fr/net/superscript-and-subscript/ -keywords: "Super script, Sous script, Ajouter du texte en superposition, Ajouter du texte en souscription, Présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" -description: "Ajoutez du texte en superposition et en souscription aux présentations PowerPoint en C# ou .NET" +keywords: +- exposant +- indice +- ajouter exposant +- ajouter indice +- PowerPoint +- OpenDocument +- présentation +- C# +- Csharp +- Aspose.Slides +description: "Maîtrisez les exposants et les indices dans Aspose.Slides pour .NET et améliorez vos présentations avec un formatage de texte professionnel pour un impact maximal." --- -## **Gérer le Texte en Superposition et en Sous-cription** -Vous pouvez ajouter du texte en superposition et en souscription à l’intérieur de n'importe quelle partie de paragraphe. Pour ajouter du texte en Superposition ou en Souscription dans un cadre de texte Aspose.Slides, il faut utiliser **les propriétés d'Effet de décalage** de la classe PortionFormat. +## **Vue d'ensemble** -Cette propriété retourne ou définit le texte en superposition ou en souscription (valeur de -100 % (souscription) à 100 % (superposition). Par exemple : +Aspose.Slides for .NET propose des fonctionnalités d'intégration de texte en exposant et en indice dans vos présentations PowerPoint (PPT, PPTX) et OpenDocument (ODP). Que vous ayez besoin de mettre en évidence des formules chimiques, des équations mathématiques ou d'annoter du contenu avec des notes de bas de page, ces options de formatage spécialisées aident à maintenir clarté et précision. Dans cet article, vous apprendrez comment appliquer de manière fluide les styles d'exposant et d'indice et garantir des résultats professionnels sur chaque diapositive. -- Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -- Obtenir la référence d'une diapositive en utilisant son index. -- Ajouter un IAutoShape de type Rectangle à la diapositive. -- Accéder au ITextFrame associé à l'IAutoShape. -- Effacer les Paragraphes existants. -- Créer un nouvel objet paragraphe pour contenir le texte en superposition et l'ajouter à la collection IParagraphs du ITextFrame. -- Créer un nouvel objet portion. -- Définir la propriété Effet de décalage pour la portion entre 0 et 100 pour ajouter une superposition. (0 signifie pas de superposition) -- Définir du texte pour la Portion et l’ajouter à la collection de portions du paragraphe. -- Créer un nouvel objet paragraphe pour contenir le texte en souscription et l'ajouter à la collection IParagraphs du ITextFrame. -- Créer un nouvel objet portion. -- Définir la propriété Effet de décalage pour la portion entre 0 et -100 pour ajouter une souscription. (0 signifie pas de souscription) -- Définir du texte pour la Portion et l’ajouter à la collection de portions du paragraphe. -- Enregistrer la présentation en tant que fichier PPTX. +## **Ajouter du texte en exposant et en indice** -L'implémentation des étapes ci-dessus est donnée ci-dessous. +Vous pouvez ajouter du texte en exposant et en indice dans n'importe quel paragraphe d'une présentation. Pour le faire avec Aspose.Slides, vous devez utiliser la propriété `Escapement` de la classe [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) . +Cette propriété vous permet de définir du texte en exposant ou en indice, avec des valeurs comprises entre -100 % (indice) et 100 % (exposant). + +Étapes d'implémentation : + +1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) . +1. Obtenez une référence à une diapositive en utilisant son index. +1. Ajoutez une [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) de type `Rectangle` à la diapositive. +1. Accédez à l'[ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) associé à l'[IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) . +1. Effacez les paragraphes existants. +1. Créez un nouveau [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) pour le texte en exposant et ajoutez‑le à la collection de paragraphes de l'[ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) . +1. Créez un nouvel objet de portion de texte. +1. Définissez la propriété `Escapement` de la portion de texte entre 0 et 100 pour appliquer l'exposant (0 signifie aucun exposant). +1. Définissez du texte pour la [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) et ajoutez‑le à la collection de portions du paragraphe. +1. Créez un autre [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) pour le texte en indice et ajoutez‑le à la collection de paragraphes. +1. Créez un nouvel objet de portion de texte. +1. Définissez la propriété `Escapement` de la portion de texte entre 0 et -100 pour appliquer l'indice (0 signifie aucun indice). +1. Définissez du texte pour la [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) et ajoutez‑le à la collection de portions du paragraphe. +1. Enregistrez la présentation au format PPTX. + +Le code C# suivant implémente ces étapes : ```c# -using (Presentation presentation = new Presentation("test.pptx")) +using (Presentation presentation = new Presentation()) { - // Obtenir la diapositive + // Obtenir la première diapositive. ISlide slide = presentation.Slides[0]; - // Créer une zone de texte + // Créer une zone de texte. IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 200, 100); ITextFrame textFrame = shape.TextFrame; + textFrame.Paragraphs.Clear(); - // Créer un paragraphe pour le texte en superposition + // Créer un paragraphe pour le texte en exposant. IParagraph superPar = new Paragraph(); - // Créer une portion avec du texte habituel + // Créer une portion de texte avec du texte normal. IPortion portion1 = new Portion(); - portion1.Text = "TitreDiapositive"; + portion1.Text = "MyProduct"; superPar.Portions.Add(portion1); - // Créer une portion avec du texte en superposition + // Créer une portion de texte avec du texte en exposant. IPortion superPortion = new Portion(); superPortion.PortionFormat.Escapement = 30; superPortion.Text = "TM"; superPar.Portions.Add(superPortion); - // Créer un paragraphe pour le texte en souscription + // Créer un paragraphe pour le texte en indice. IParagraph paragraph2 = new Paragraph(); - // Créer une portion avec du texte habituel + // Créer une portion de texte avec du texte normal. IPortion portion2 = new Portion(); portion2.Text = "a"; paragraph2.Portions.Add(portion2); - // Créer une portion avec du texte en souscription + // Créer une portion de texte avec du texte en indice. IPortion subPortion = new Portion(); subPortion.PortionFormat.Escapement = -25; subPortion.Text = "i"; paragraph2.Portions.Add(subPortion); - // Ajouter les paragraphes à la zone de texte + // Ajouter les paragraphes à la zone de texte. textFrame.Paragraphs.Add(superPar); textFrame.Paragraphs.Add(paragraph2); - presentation.Save("TestOut.pptx", SaveFormat.Pptx); - System.Diagnostics.Process.Start("TestOut.pptx"); - } -``` \ No newline at end of file + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +Le résultat : + +![Superscript and Subscript](superscript_and_subscript.png) + +## **FAQ** + +**L'exposant et l'indice sont‑ils conservés lors de l'exportation vers PDF ou d'autres formats ?** + +Oui, Aspose.Slides for .NET conserve correctement le formatage d'exposant et d'indice lors de l'exportation des présentations vers PDF, PPT/PPTX, images et autres formats pris en charge. Le formatage spécialisé reste intact dans tous les fichiers de sortie. + +**L'exposant et l'indice peuvent‑ils être combinés avec d'autres styles de formatage tels que gras ou italique ?** + +Oui, Aspose.Slides vous permet de mêler différents styles de texte au sein d'une même portion. Vous pouvez activer le gras, l'italique, le soulignement et appliquer simultanément l'exposant ou l'indice en configurant les propriétés correspondantes dans [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) . + +**Le formatage d'exposant et d'indice fonctionne‑t‑il pour le texte à l'intérieur des tableaux, graphiques ou SmartArt ?** + +Oui, Aspose.Slides for .NET prend en charge le formatage dans la plupart des objets, y compris les éléments de tableaux et de graphiques. Lors du travail avec SmartArt, vous devez accéder aux éléments appropriés (tels que [SmartArtNode](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartartnode/) ) et à leurs conteneurs de texte, puis configurer les propriétés de [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) de manière similaire. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md b/fr/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md index f5202ff0be..23819e0229 100644 --- a/fr/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md @@ -1,664 +1,519 @@ --- -title: Formatage du texte -linktitle: Formatage du texte +title: Formater le texte PowerPoint en C# +linktitle: Mise en forme du texte type: docs weight: 50 url: /fr/net/text-formatting/ keywords: -- surligner du texte +- mise en surbrillance du texte - expression régulière -- aligner des paragraphes de texte +- aligner le paragraphe +- style de texte +- arrière-plan du texte - transparence du texte -- propriétés de police de paragraphe -- famille de polices +- espacement des caractères +- propriétés de police +- famille de police - rotation du texte -- rotation d'angle personnalisé +- angle de rotation - cadre de texte -- interligne -- propriété d'ajustement automatique -- ancre du cadre de texte -- tabulation de texte -- style de texte par défaut +- espacement des lignes +- propriété autofit +- ancrage du cadre de texte +- tabulation du texte +- langue par défaut +- PowerPoint +- OpenDocument +- présentation - C# -- Aspose.Slides pour .NET -description: "Gérer et manipuler les propriétés de texte et de cadre de texte en C#" +- Aspose.Slides +description: "Apprenez à formater et styliser le texte dans les présentations PowerPoint et OpenDocument à l'aide d'Aspose.Slides pour .NET. Personnalisez les polices, les couleurs, l'alignement et bien plus encore avec des exemples de code C# puissants." --- -## Aperçu +## **Vue d'ensemble** -Cet article décrit comment **travailler avec le formatage du texte des présentations PowerPoint en C#**, par exemple pour surligner du texte, appliquer une expression régulière, aligner des paragraphes de texte, définir la transparence du texte, changer les propriétés de police des paragraphes, utiliser des familles de polices, définir une rotation de texte, personnaliser une rotation d'angle, gérer un cadre de texte, définir un interligne, utiliser la propriété d'ajustement automatique, définir une ancre de cadre de texte et changer la tabulation du texte. L'article couvre ces sujets. +Cet article présente comment gérer et formater le texte dans les présentations PowerPoint et OpenDocument à l'aide d'Aspose.Slides pour .NET. Vous apprendrez à appliquer des fonctionnalités de formatage du texte telles que la sélection de police, la taille, la couleur, la mise en surbrillance, la couleur d'arrière‑plan, l'espacement et l'alignement. De plus, il couvre le travail avec les cadres de texte, les paragraphes, le formatage et les options de mise en page avancées comme la rotation personnalisée et les comportements d'ajustement automatique. -## **Surligner du texte** -Une nouvelle méthode HighlightText a été ajoutée à l'interface ITextFrame et à la classe TextFrame. +Que vous génériez des présentations de façon programmatique ou que vous personnalisiez du contenu existant, ces exemples vous aideront à créer des mises en page de texte claires et professionnelles qui améliorent vos diapositives et augmentent la lisibilité. -Elle permet de surligner une partie du texte avec une couleur d'arrière-plan en utilisant un échantillon de texte, similaire à l'outil de couleur de surlignage de texte dans PowerPoint 2019. +Dans les exemples ci‑dessous, nous utiliserons un fichier nommé "sample.pptx", qui contient une seule zone de texte sur la première diapositive avec le texte suivant : -1. Instanciez la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) avec le fichier d'entrée. - - Le fichier d'entrée peut être PPT, PPTX, ODP, etc. -3. Accédez à sa diapositive en utilisant la collection [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/). -4. Accédez à la forme en utilisant la collection [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) comme [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). -5. Surlignez le texte en utilisant la méthode [TextFrame.Highlight()](https://reference.aspose.com/slides/net/aspose.slides/textframe/highlighttext/#highlighttext). -6. Enregistrez la présentation dans le format de sortie désiré, c'est-à-dire PPT, PPTX ou ODP, etc. +![Texte d'exemple](sample_text.png) -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("title", Color.LightBlue); // surligner tous les mots 'important' -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("to", Color.Violet, new TextHighlightingOptions() -{ - WholeWordsOnly = true -}); // surligner toutes les occurrences séparées 'the' -presentation.Save("SomePresentation-out2.pptx", SaveFormat.Pptx); -``` +## **Mettre en surbrillance du texte** -{{% alert color="primary" %}} +La méthode [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/) permet de mettre en surbrillance une partie du texte avec une couleur d'arrière‑plan basée sur un échantillon de texte correspondant. -Aspose propose un service de [édition PowerPoint en ligne gratuit](https://products.aspose.app/slides/editor) +Pour utiliser cette méthode, suivez les étapes suivantes : -{{% /alert %}} +1. Instancier la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) avec un fichier d'entrée (PPT, PPTX, ODP, etc.). +1. Accéder à la diapositive souhaitée à l'aide de la collection [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/). +1. Accéder à la forme cible depuis la collection [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) et la convertir en [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +1. Mettre en surbrillance le texte souhaité en utilisant la méthode [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/) en fournissant le texte d'échantillon et la couleur. +1. Enregistrer la présentation dans le format de sortie souhaité (par ex., PPT, PPTX, ODP). +L'exemple de code ci‑dessus met en surbrillance toutes les occurrences des caractères **"try"** et du mot complet **"to"**. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + // Récupérer la première forme de la première diapositive. + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; -## **Surligner du texte en utilisant une expression régulière** -Une nouvelle méthode HighlightRegex a été ajoutée à l'interface ITextFrame et à la classe TextFrame. + // Mettre en surbrillance le mot "try" dans la forme. + shape.TextFrame.HighlightText("try", Color.LightBlue); -Elle permet de surligner une partie du texte avec une couleur d'arrière-plan en utilisant regex, similaire à l'outil de couleur de surlignage de texte dans PowerPoint 2019. + var searchOptions = new TextSearchOptions() + { + WholeWordsOnly = true + }; -Le code snippet ci-dessous montre comment utiliser cette fonctionnalité : + // Mettre en surbrillance le mot "to" dans la forme. + shape.TextFrame.HighlightText("to", Color.Violet, searchOptions, null); -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -TextHighlightingOptions options = new TextHighlightingOptions(); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightRegex(@"\b[^\s]{5,}\b", Color.Blue, options); // surligner tous les mots de 10 symboles ou plus -presentation.Save("SomePresentation-out.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text.pptx", SaveFormat.Pptx); +} ``` -## **Définir la couleur d'arrière-plan du texte** -Aspose.Slides vous permet de spécifier votre couleur préférée pour l'arrière-plan d'un texte. +Le résultat : -Ce code C# vous montre comment définir la couleur d'arrière-plan pour un texte entier : +![Le texte mis en surbrillance](highlighted_text.png) -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Noir"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Rouge "); - - var portion3 = new Portion("Noir"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +{{% alert color="primary" %}} +Aspose fournit un simple [Éditeur PowerPoint en ligne GRATUIT](https://products.aspose.app/slides/editor). +{{% /alert %}} + +## **Mettre en surbrillance du texte avec des expressions régulières** + +Aspose.Slides pour .NET vous permet de rechercher et de mettre en surbrillance des parties spécifiques du texte dans les diapositives PowerPoint en utilisant des expressions régulières. Cette fonctionnalité est particulièrement utile lorsque vous devez mettre en évidence dynamiquement des mots‑clefs, des motifs ou du contenu basé sur les données. La méthode [ITextFrame.HighlightRegex](https://docs.aspose.com/slides/net/text-formatting/) permet de mettre en surbrillance des parties du texte avec une couleur d'arrière‑plan en utilisant une expression régulière. -using (Presentation pres = new Presentation("text.pptx")) +L'exemple de code ci‑dessus met en surbrillance tous les mots contenant **au moins sept caractères** : +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; - foreach (IPortion portion in autoShape.TextFrame.Paragraphs[0].Portions) - { - portion.PortionFormat.HighlightColor.Color = Color.Blue; - } + // Mettre en surbrillance tous les mots de sept caractères ou plus. + shape.TextFrame.HighlightRegex(@"\b[^\s]{7,}\b", Color.Yellow, null); - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text_using_regex.pptx", SaveFormat.Pptx); } ``` -Ce code C# vous montre comment définir la couleur d'arrière-plan pour uniquement une partie d'un texte : -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Noir"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Rouge "); - - var portion3 = new Portion("Noir"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +Le résultat : -using (Presentation pres = new Presentation("text.pptx")) +![Le texte mis en surbrillance avec l'expression régulière](highlighted_text_using_regex.png) + +## **Définir la couleur d'arrière‑plan du texte** + +Aspose.Slides pour .NET vous permet d'appliquer des couleurs d'arrière‑plan à des paragraphes entiers ou à des portions de texte individuelles dans les diapositives PowerPoint. Cette fonctionnalité est utile lorsque vous souhaitez mettre en évidence des mots ou des phrases spécifiques, attirer l'attention sur des messages clés ou améliorer l'attrait visuel de vos présentations. + +L'exemple de code suivant montre comment définir la couleur d'arrière‑plan pour le **paragraphe entier** : +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - IPortion redPortion = autoShape.TextFrame.Paragraphs[0].Portions - .First(p => p.Text.Contains("Rouge")); + // Définir la couleur de surbrillance du paragraphe entier. + paragraph.ParagraphFormat.DefaultPortionFormat.HighlightColor.Color = Color.LightGray; - redPortion.PortionFormat.HighlightColor.Color = Color.Red; - - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("gray_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Aligner les paragraphes de texte** - -Le formatage du texte est l'un des éléments clés lors de la création de tout type de documents ou de présentations. Nous savons qu'Aspose.Slides pour .NET prend en charge l'ajout de texte aux diapositives, mais dans ce sujet, nous allons voir comment nous pouvons contrôler l'alignement des paragraphes de texte dans une diapositive. Veuillez suivre les étapes ci-dessous pour aligner les paragraphes de texte en utilisant Aspose.Slides pour .NET : -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez la référence d'une diapositive en utilisant son index. -3. Accédez aux formes de l'espace réservé présentes dans la diapositive et casttez-les en AutoShape. -4. Obtenez le paragraphe (qui doit être aligné) à partir du TextFrame exposé par AutoShape. -5. Alignez le paragraphe. Un paragraphe peut être aligné à droite, à gauche, au centre ou justifié. -6. Écrivez la présentation modifiée sous forme de fichier PPTX. +Le résultat : -L'implémentation des étapes ci-dessus est donnée ci-dessous. +![Le paragraphe gris](gray_paragraph.png) -```c# -// Instancier un objet Presentation qui représente un fichier PPTX -using (Presentation pres = new Presentation("ParagraphsAlignment.pptx")) +L'exemple de code ci‑dessous montre comment définir la couleur d'arrière‑plan pour des **portions de texte en gras** : +```cs +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Accéder à la première diapositive - ISlide slide = pres.Slides[0]; - - // Accéder aux premier et deuxième espaces réservés dans la diapositive et les castter en AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; - - // Modifier le texte dans les deux espaces réservés - tf1.Text = "Alignement au centre par Aspose"; - tf2.Text = "Alignement au centre par Aspose"; - - // Obtenir le premier paragraphe des espaces réservés - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - - // Aligner le paragraphe de texte au centre - para1.ParagraphFormat.Alignment = TextAlignment.Center; - para2.ParagraphFormat.Alignment = TextAlignment.Center; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Définir la couleur de surbrillance pour la portion de texte. + portion.PortionFormat.HighlightColor.Color = Color.LightGray; + } + } - // Écrire la présentation sous forme de fichier PPTX - pres.Save("Centeralign_out.pptx", SaveFormat.Pptx); + presentation.Save("gray_text_portions.pptx", SaveFormat.Pptx); } ``` -## **Définir la transparence du texte** -Cet article démontre comment définir la propriété de transparence sur toute forme de texte en utilisant Aspose.Slides pour .NET. Pour définir la transparence sur le texte, veuillez suivre les étapes ci-dessous : - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez la référence d'une diapositive. -3. Définir la couleur d'ombre. -4. Écrivez la présentation sous forme de fichier PPTX. +Le résultat : -L'implémentation des étapes ci-dessus est donnée ci-dessous. +![Les portions de texte gris](gray_text_portions.png) -```c# -using (Presentation pres = new Presentation("transparency.pptx")) -{ - IAutoShape shape = (IAutoShape)pres.Slides[0].Shapes[0]; - IEffectFormat effects = shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.EffectFormat; +## **Aligner les paragraphes de texte** - IOuterShadow outerShadowEffect = effects.OuterShadowEffect; +L'alignement du texte est un aspect clé du formatage des diapositives qui affecte à la fois la lisibilité et l'attrait visuel. Dans Aspose.Slides pour .NET, vous pouvez contrôler précisément l'alignement des paragraphes à l'intérieur des cadres de texte, garantissant que votre contenu est présenté de manière cohérente — centré, aligné à gauche, à droite ou justifié. Cette section explique comment appliquer et personnaliser l'alignement du texte dans vos présentations PowerPoint. - Color shadowColor = outerShadowEffect.ShadowColor.Color; - Console.WriteLine($"{shadowColor} - transparence est : {((float)shadowColor.A / byte.MaxValue) * 100}"); +L'exemple de code suivant montre comment aligner le paragraphe au **centre** : +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // définir la transparence à zéro pour cent - outerShadowEffect.ShadowColor.Color = Color.FromArgb(255, shadowColor); + // Définir l'alignement du paragraphe au centre. + paragraph.ParagraphFormat.Alignment = TextAlignment.Center; - pres.Save("transparency-2.pptx", SaveFormat.Pptx); + presentation.Save("aligned_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Définir l'espacement des caractères pour le texte** -Aspose.Slides vous permet de définir l'espace entre les lettres dans un champ de texte. De cette manière, vous pouvez ajuster la densité visuelle d'une ligne ou d'un bloc de texte en élargissant ou en comprimant l'espacement entre les caractères. +Le résultat : -Ce code C# vous montre comment élargir l'espacement pour une ligne de texte et condenser l'espacement pour une autre ligne : +![Le paragraphe aligné](aligned_paragraph.png) -```c# -var presentation = new Presentation("in.pptx"); +## **Définir la transparence du texte** -var textBox1 = (IAutoShape) presentation.Slides[0].Shapes[0]; -var textBox2 = (IAutoShape) presentation.Slides[0].Shapes[1]; +Modifier la transparence du texte vous permet de créer des effets visuels subtils et d'améliorer l'esthétique des diapositives. Aspose.Slides pour .NET offre la possibilité de définir le niveau de transparence des paragraphes et des portions de texte, facilitant la fusion du texte avec les arrière‑plans ou la mise en évidence d'éléments spécifiques. Cette section montre comment appliquer des paramètres de transparence au texte dans vos présentations. + +L'exemple de code ci‑dessus montre comment appliquer la transparence à **l'ensemble du paragraphe** : +```cs +int alpha = 50; + +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -textBox1.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = 20; // élargir -textBox2.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = -2; // condenser + // Définir la couleur de remplissage du texte à une couleur transparente. + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); -presentation.Save("out.pptx", SaveFormat.Pptx); + presentation.Save("transparent_paragraph.pptx", SaveFormat.Pptx); +} ``` -## **Gérer les propriétés de police des paragraphes** -Les présentations contiennent généralement à la fois du texte et des images. Le texte peut être formaté de diverses manières, soit pour mettre en évidence des sections et des mots spécifiques, soit pour se conformer aux styles d'entreprise. Le formatage du texte aide les utilisateurs à varier l'apparence du contenu de la présentation. Cet article montre comment utiliser Aspose.Slides pour .NET pour configurer les propriétés de police des paragraphes de texte sur les diapositives. Pour gérer les propriétés de police d'un paragraphe en utilisant Aspose.Slides pour .NET : +Le résultat : -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez la référence d'une diapositive en utilisant son index. -3. Accédez aux formes de l'espace réservé dans la diapositive et casttez-les en AutoShape. -4. Obtenez le paragraphe à partir du TextFrame exposé par AutoShape. -5. Justifiez le paragraphe. -6. Accédez à la portion de texte d'un paragraphe. -7. Définissez la police à l'aide de FontData et définissez la police de la portion de texte en conséquence. - 1. Définissez la police en gras. - 1. Définissez la police en italique. -8. Définissez la couleur de la police à l'aide du FillFormat exposé par l'objet Portion. -9. Écrivez la présentation modifiée dans un fichier [PPTX](https://docs.fileformat.com/presentation/pptx/). +![Le paragraphe transparent](transparent_paragraph.png) -L'implémentation des étapes ci-dessus est donnée ci-dessous. Elle prend une présentation sans embellissement et formate les polices sur l'une des diapositives. +L'exemple de code suivant montre comment appliquer la transparence aux **portions de texte en gras** : +```cs +int alpha = 50; -```c# -// Instancier un objet Presentation qui représente un fichier PPTX -using (Presentation pres = new Presentation("FontProperties.pptx")) +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Accéder à une diapositive en utilisant sa position dans les diapositives - ISlide slide = pres.Slides[0]; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Définir la transparence de la portion de texte. + portion.PortionFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); + } + } - // Accéder aux premier et deuxième espaces réservés dans la diapositive et les castter en AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; + presentation.Save("transparent_text_portions.pptx", SaveFormat.Pptx); +} +``` - // Accéder au premier paragraphe - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - // Accéder à la première portion - IPortion port1 = para1.Portions[0]; - IPortion port2 = para2.Portions[0]; +Le résultat : - // Définir de nouvelles polices - FontData fd1 = new FontData("Elephant"); - FontData fd2 = new FontData("Castellar"); +![Les portions de texte transparentes](transparent_text_portions.png) - // Assigner les nouvelles polices à la portion - port1.PortionFormat.LatinFont = fd1; - port2.PortionFormat.LatinFont = fd2; +## **Définir l'espacement des caractères du texte** - // Définir la police en gras - port1.PortionFormat.FontBold = NullableBool.True; - port2.PortionFormat.FontBold = NullableBool.True; +Aspose.Slides vous permet de définir l'espacement entre les lettres dans une zone de texte. Cela vous permet d'ajuster la densité visuelle d'une ligne ou d'un bloc de texte en élargissant ou en resserrant l'espace entre les caractères. - // Définir la police en italique - port1.PortionFormat.FontItalic = NullableBool.True; - port2.PortionFormat.FontItalic = NullableBool.True; +Le code C# suivant montre comment élargir l'espacement des caractères dans le **paragraphe entier** : +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Définir la couleur de police - port1.PortionFormat.FillFormat.FillType = FillType.Solid; - port1.PortionFormat.FillFormat.SolidFillColor.Color = Color.Purple; - port2.PortionFormat.FillFormat.FillType = FillType.Solid; - port2.PortionFormat.FillFormat.SolidFillColor.Color = Color.Peru; + // Note : Utilisez des valeurs négatives pour compresser l'espacement des caractères. + paragraph.ParagraphFormat.DefaultPortionFormat.Spacing = 3; // Élargir l'espacement des caractères. - // Écrire le PPTX sur le disque - pres.Save("WelcomeFont_out.pptx", SaveFormat.Pptx); + presentation.Save("character_spacing_in_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Gérer la famille de polices de texte** -Une Portion est utilisée pour contenir du texte avec un style de formatage similaire dans un paragraphe. Cet article montre comment utiliser Aspose.Slides pour .NET pour créer une zone de texte avec du texte et ensuite définir une police particulière, ainsi que diverses autres propriétés de la catégorie de famille de polices. Pour créer une zone de texte et définir les propriétés de police du texte qu'elle contient : - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez la référence d'une diapositive en utilisant son index. -3. Ajoutez un AutoShape de type Rectangle à la diapositive. -4. Supprimez le style de remplissage associé à l'AutoShape. -5. Accédez au TextFrame de l'AutoShape. -6. Ajoutez du texte au TextFrame. -7. Accédez à l'objet Portion associé au TextFrame. -8. Définissez la police à utiliser pour la Portion. -9. Définissez d'autres propriétés de police comme le gras, l'italique, le soulignement, la couleur et la hauteur à l'aide des propriétés pertinentes exposées par l'objet Portion. -10. Écrivez la présentation modifiée sous forme de fichier PPTX. +Le résultat : -L'implémentation des étapes ci-dessus est donnée ci-dessous. +![L'espacement des caractères dans le paragraphe](character_spacing_in_paragraph.png) -```c# -// Instancier Presentation -using (Presentation presentation = new Presentation()) +L'exemple de code ci‑dessous montre comment élargir l'espacement des caractères dans des **portions de texte en gras** : +```cs +using (var presentation = new Presentation("sample.pptx")) { - - // Obtenir la première diapositive - ISlide sld = presentation.Slides[0]; - - // Ajouter un AutoShape de type Rectangle - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Supprimer tout style de remplissage associé à l'AutoShape - ashp.FillFormat.FillType = FillType.NoFill; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Note : Utilisez des valeurs négatives pour compresser l'espacement des caractères. + portion.PortionFormat.Spacing = 3; // Élargir l'espacement des caractères. + } + } - // Accéder au TextFrame associé à l'AutoShape - ITextFrame tf = ashp.TextFrame; - tf.Text = "Aspose TextBox"; + presentation.Save("character_spacing_in_text_portions.pptx", SaveFormat.Pptx); +} +``` - // Accéder à la Portion associée au TextFrame - IPortion port = tf.Paragraphs[0].Portions[0]; - // Définir la police pour la Portion - port.PortionFormat.LatinFont = new FontData("Times New Roman"); +Le résultat : - // Définir la propriété Gras de la police - port.PortionFormat.FontBold = NullableBool.True; +![L'espacement des caractères dans les portions de texte](character_spacing_in_text_portions.png) - // Définir la propriété Italique de la police - port.PortionFormat.FontItalic = NullableBool.True; +## **Gérer les propriétés de police du texte** - // Définir la propriété Souligner de la police - port.PortionFormat.FontUnderline = TextUnderlineType.Single; +Aspose.Slides pour .NET vous permet d'ajuster finement les paramètres de police à la fois au niveau du paragraphe et pour des portions de texte individuelles, assurant la cohérence visuelle et répondant aux exigences de conception de votre présentation. Vous pouvez définir les styles de police, les tailles et d'autres options de formatage pour des paragraphes entiers, vous offrant un meilleur contrôle sur l'apparence du texte. Cette section montre comment gérer les propriétés de police pour les paragraphes de texte dans une diapositive. - // Définir la hauteur de la police - port.PortionFormat.FontHeight = 25; +Le code suivant définit la police et le style de texte pour le **paragraphe entier** : il applique la taille de police, le gras, l'italique, le soulignement pointillé et la police Times New Roman à toutes les portions du paragraphe. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Définir la couleur de la police - port.PortionFormat.FillFormat.FillType = FillType.Solid; - port.PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; + // Définir les propriétés de police du paragraphe. + paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 12; + paragraph.ParagraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontItalic = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontUnderline = TextUnderlineType.Dotted; + paragraph.ParagraphFormat.DefaultPortionFormat.LatinFont = new FontData("Times New Roman"); - // Écrire le PPTX sur le disque - presentation.Save("SetTextFontProperties_out.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Définir la taille de police pour le texte** - -Aspose.Slides vous permet de choisir votre taille de police préférée pour le texte existant dans un paragraphe et d'autres textes qui pourraient être ajoutés au paragraphe plus tard. -Ce code C# vous montre comment définir la taille de police pour des textes contenus dans un paragraphe : +Le résultat : -```c# -var presentation = new Presentation("example.pptx"); +![Les propriétés de police du paragraphe](font_properties_for_paragraph.png) -// Obtient la première forme, par exemple. -var shape = presentation.Slides[0].Shapes[0]; - -if (shape is IAutoShape autoShape) +L'exemple de code ci‑dessous applique des propriétés similaires aux **portions de texte en gras** : +```cs +using (var presentation = new Presentation("sample.pptx")) { - // Obtient le premier paragraphe, par exemple. + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Définit la taille de police par défaut à 20 pt pour toutes les portions de texte dans le paragraphe. - paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 20; - - // Définit la taille de police à 20 pt pour les portions de texte actuelles dans le paragraphe. foreach (var portion in paragraph.Portions) { - portion.PortionFormat.FontHeight = 20; + if (portion.PortionFormat.GetEffective().FontBold) + { + // Définir les propriétés de police pour la portion de texte. + portion.PortionFormat.FontHeight = 13; + portion.PortionFormat.FontItalic = NullableBool.True; + portion.PortionFormat.FontUnderline = TextUnderlineType.Dotted; + portion.PortionFormat.LatinFont = new FontData("Times New Roman"); + } } -} -presentation.Save("output.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_text_portions.pptx", SaveFormat.Pptx); +} ``` -## **Définir la rotation du texte** - -Aspose.Slides pour .NET permet aux développeurs de faire pivoter le texte. Le texte peut être défini pour apparaître comme Horizontal, Vertical, Vertical270, WordArtVertical, EastAsianVertical, MongolianVertical ou WordArtVerticalRightToLeft. Pour faire pivoter le texte de tout TextFrame, veuillez suivre les étapes ci-dessous : - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accédez à la première diapositive. -3. Ajoutez une forme à la diapositive. -4. Accédez au TextFrame. -5. Faites pivoter le texte. -6. Enregistrez le fichier sur le disque. -```c# -// Créer une instance de la classe Presentation -Presentation presentation = new Presentation(); +Le résultat : -// Obtenir la première diapositive -ISlide slide = presentation.Slides[0]; +![Les propriétés de police des portions de texte](font_properties_for_text_portions.png) -// Ajouter un AutoShape de type Rectangle -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); - -// Ajouter un TextFrame au Rectangle -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; +## **Définir la rotation du texte** -// Accéder au cadre de texte -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; +La rotation du texte peut améliorer la mise en page de vos diapositives et aider à mettre en valeur un contenu spécifique. Avec Aspose.Slides pour .NET, vous pouvez facilement appliquer une rotation au texte à l'intérieur des formes, en ajustant l'angle pour correspondre à votre conception. Cette section montre comment définir et contrôler la rotation du texte pour obtenir l'effet visuel souhaité. -// Créer l'objet Paragraph pour le cadre de texte -IParagraph para = txtFrame.Paragraphs[0]; +L'exemple de code suivant définit l'orientation du texte dans la forme à `Vertical270`, ce qui fait pivoter le texte de **90 degrés dans le sens inverse des aiguilles d'une montre** : +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Créer l'objet Portion pour le paragraphe -IPortion portion = para.Portions[0]; -portion.Text = "Un renard brun rapide saute par-dessus le chien paresseux. Un renard brun rapide saute par-dessus le chien paresseux."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; -// Enregistrer la présentation -presentation.Save("RotateText_out.pptx", SaveFormat.Pptx); + presentation.Save("text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **Définir un angle de rotation personnalisé pour le TextFrame** -Aspose.Slides pour .NET prend désormais en charge la définition d'un angle de rotation personnalisé pour le cadre de texte. Dans ce sujet, nous allons voir avec un exemple comment définir la propriété RotationAngle dans Aspose.Slides. La nouvelle propriété RotationAngle a été ajoutée aux interfaces IChartTextBlockFormat et ITextFrameFormat, permettant de définir l'angle de rotation personnalisé pour le cadre de texte. Pour définir la propriété RotationAngle, veuillez suivre les étapes ci-dessous : - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Ajoutez un graphique sur la diapositive. -3. Définissez la propriété RotationAngle. -4. Écrivez la présentation sous forme de fichier PPTX. - -Dans l'exemple ci-dessous, nous définissons la propriété RotationAngle. +Le résultat : -```c# -// Créer une instance de la classe Presentation -Presentation presentation = new Presentation(); +![La rotation du texte](text_rotation.png) -IChart chart = presentation.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 300); +## **Définir une rotation personnalisée pour les cadres de texte** -IChartSeries series = chart.ChartData.Series[0]; +Définir un angle de rotation personnalisé pour un `TextFrame` vous permet de positionner le texte à des angles précis, offrant des conceptions de diapositives plus créatives et flexibles. Aspose.Slides pour .NET donne un contrôle complet sur la rotation des cadres de texte, facilitant l'alignement du texte avec d'autres éléments de la diapositive. Cette section vous guide dans l'application d'un angle de rotation spécifique à un `TextFrame`. -series.Labels.DefaultDataLabelFormat.ShowValue = true; -series.Labels.DefaultDataLabelFormat.TextFormat.TextBlockFormat.RotationAngle = 65; +L'exemple de code ci‑dessous fait pivoter le cadre de texte de 3 degrés dans le sens des aiguilles d'une montre à l'intérieur de la forme : +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -chart.HasTitle = true; -chart.ChartTitle.AddTextFrameForOverriding("Titre personnalisé").TextFrameFormat.RotationAngle = -30; + autoShape.TextFrame.TextFrameFormat.RotationAngle = 3; -// Enregistrer la présentation -presentation.Save("textframe-rotation_out.pptx", SaveFormat.Pptx); + presentation.Save("custom_text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **Interligne d'un paragraphe** -Aspose.Slides fournit des propriétés ([SpaceAfter](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spaceafter), [SpaceBefore](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacebefore), et [SpaceWithin](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacewithin)) sous la classe [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/) qui vous permettent de gérer l'interligne d'un paragraphe. Les trois propriétés sont utilisées de cette manière : - -* Pour spécifier l'interligne d'un paragraphe en pourcentage, utilisez une valeur positive. -* Pour spécifier l'interligne d'un paragraphe en points, utilisez une valeur négative. - -Par exemple, vous pouvez appliquer un interligne de 16pt pour un paragraphe en définissant la propriété `SpaceBefore` à -16. +Le résultat : -Voici comment vous spécifiez l'interligne pour un paragraphe spécifique : +![La rotation personnalisée du texte](custom_text_rotation.png) -1. Chargez une présentation contenant un AutoShape avec du texte à l'intérieur. -2. Obtenez la référence d'une diapositive via son index. -3. Accédez au TextFrame. -4. Accédez au Paragraphe. -5. Définissez les propriétés du Paragraphe. -6. Enregistrez la présentation. +## **Définir l'espacement des lignes des paragraphes** -Ce code C# vous montre comment spécifier l'interligne pour un paragraphe : +Aspose.Slides propose les propriétés `SpaceAfter`, `SpaceBefore` et `SpaceWithin` dans la classe [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/), vous permettant de gérer l'espacement des lignes d'un paragraphe. Ces propriétés sont utilisées comme suit : -```c# -// Créer une instance de la classe Presentation -Presentation presentation = new Presentation("Fonts.pptx"); +* Utilisez une valeur positive pour spécifier l'espacement des lignes en pourcentage de la hauteur de ligne. +* Utilisez une valeur négative pour spécifier l'espacement des lignes en points. -// Obtenir la référence d'une diapositive par son index -ISlide sld = presentation.Slides[0]; - -// Accéder au TextFrame -ITextFrame tf1 = ((IAutoShape)sld.Shapes[0]).TextFrame; +L'exemple de code suivant montre comment spécifier l'espacement des lignes à l'intérieur du paragraphe : +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// Accéder au Paragraphe -IParagraph para1 = tf1.Paragraphs[0]; + paragraph.ParagraphFormat.SpaceWithin = 200; -// Définir les propriétés du Paragraphe -para1.ParagraphFormat.SpaceWithin = 80; -para1.ParagraphFormat.SpaceBefore = 40; -para1.ParagraphFormat.SpaceAfter = 40; -// Enregistrer la présentation -presentation.Save("LineSpacing_out.pptx", SaveFormat.Pptx); + presentation.Save("line_spacing.pptx", SaveFormat.Pptx); +} ``` -## **Définir la propriété AutofitType pour le TextFrame** -Dans ce sujet, nous allons explorer les différentes propriétés de formatage du cadre de texte. Cet article couvre comment définir la propriété AutofitType du cadre de texte, l'ancre du texte et la rotation du texte dans la présentation. Aspose.Slides pour .NET permet aux développeurs de définir la propriété AutofitType de tout cadre de texte. AutofitType peut être défini sur Normal ou Shape. S'il est défini sur Normal, alors la forme restera la même tandis que le texte sera ajusté sans que la forme elle-même ne change, tandis que si AutofitType est défini sur shape, alors la forme sera modifiée pour que seul le texte requis soit contenu à l'intérieur. Pour définir la propriété AutofitType d'un cadre de texte, veuillez suivre les étapes ci-dessous : +Le résultat : -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accédez à la première diapositive. -3. Ajoutez n'importe quelle forme à la diapositive. -4. Accédez au TextFrame. -5. Définissez le type Autofit du TextFrame. -6. Enregistrez le fichier sur disque. +![L'espacement des lignes dans le paragraphe](line_spacing.png) -```c# -// Créer une instance de la classe Presentation -Presentation presentation = new Presentation(); +## **Définir le type d'ajustement automatique pour les cadres de texte** -// Accéder à la première diapositive -ISlide slide = presentation.Slides[0]; - -// Ajouter un AutoShape de type Rectangle -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); - -// Ajouter un TextFrame au Rectangle -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; - -// Accéder au cadre de texte -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; - -// Créer l'objet Paragraph pour le cadre de texte -IParagraph para = txtFrame.Paragraphs[0]; +La propriété AutoFitType détermine le comportement du texte lorsqu'il dépasse les limites de son conteneur. Aspose.Slides pour .NET vous permet de contrôler si le texte doit se réduire pour s'adapter, dépasser ou redimensionner automatiquement la forme. Cette section montre comment définir le `AutofitType` d'un `TextFrame` afin de gérer efficacement la mise en page du texte à l'intérieur des formes. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Créer l'objet Portion pour le paragraphe -IPortion portion = para.Portions[0]; -portion.Text = "Un renard brun rapide saute par-dessus le chien paresseux. Un renard brun rapide saute par-dessus le chien paresseux."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// Enregistrer la présentation -presentation.Save("formatText_out.pptx", SaveFormat.Pptx); + presentation.Save("autofit_type.pptx", SaveFormat.Pptx); +} ``` -## **Définir l'ancre du TextFrame** -Aspose.Slides pour .NET permet aux développeurs de définir l'ancre de tout TextFrame. TextAnchorType spécifie où le texte est placé dans la forme. TextAnchorType peut être défini sur Top, Center, Bottom, Justified ou Distributed. Pour définir l'ancre de tout TextFrame, veuillez suivre les étapes ci-dessous : +## **Définir l'ancrage des cadres de texte** -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Accédez à la première diapositive. -3. Ajoutez n'importe quelle forme à la diapositive. -4. Accédez au TextFrame. -5. Définissez le TextAnchorType du TextFrame. -6. Enregistrez le fichier sur disque. - -```c# -// Créer une instance de la classe Presentation -Presentation presentation = new Presentation(); +L'ancrage définit la façon dont le texte est positionné verticalement à l'intérieur d'une forme. Avec Aspose.Slides pour .NET, vous pouvez définir le type d'ancrage d'un `TextFrame` pour aligner le texte en haut, au centre ou en bas de la forme. Cette section montre comment ajuster les paramètres d'ancrage pour obtenir l'alignement vertical souhaité du contenu texte. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Obtenir la première diapositive -ISlide slide = presentation.Slides[0]; + autoShape.TextFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; -// Ajouter un AutoShape de type Rectangle -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); + presentation.Save("text_anchor.pptx", SaveFormat.Pptx); +} +``` -// Ajouter un TextFrame au Rectangle -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; -// Accéder au cadre de texte -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; +## **Définir la tabulation du texte** -// Créer l'objet Paragraph pour le cadre de texte -IParagraph para = txtFrame.Paragraphs[0]; +La tabulation aide à organiser le texte en mises en page bien structurées en ajoutant un espacement cohérent entre les éléments de contenu. Aspose.Slides pour .NET prend en charge la définition d'arrêts de tabulation personnalisés dans les paragraphes de texte, permettant un contrôle précis du positionnement du texte. Cette section montre comment configurer la tabulation du texte pour améliorer l'alignement et le formatage. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// Créer l'objet Portion pour le paragraphe -IPortion portion = para.Portions[0]; -portion.Text = "Un renard brun rapide saute par-dessus le chien paresseux. Un renard brun rapide saute par-dessus le chien paresseux."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.ParagraphFormat.DefaultTabSize = 100; + paragraph.ParagraphFormat.Tabs.Add(30, TabAlignment.Left); -// Enregistrer la présentation -presentation.Save("AnchorText_out.pptx", SaveFormat.Pptx); + presentation.Save("paragraph_tabs.pptx", SaveFormat.Pptx); +} ``` -## **Définir la tabulation de texte** -- EffectiveTabs.ExplicitTabCount (2 dans notre cas) est égal à Tabs.Count. -- La collection EffectiveTabs inclut toutes les tabulations (de la collection Tabs et des tabulations par défaut). -- EffectiveTabs.ExplicitTabCount (2 dans notre cas) est égal à Tabs.Count. -- EffectiveTabs.DefaultTabSize (294) montre la distance entre les tabulations par défaut (3 et 4 dans notre exemple). -- EffectiveTabs.GetTabByIndex(index) avec index = 0 renverra la première tabulation explicite (Position = 731), index = 1 - la deuxième tabulation (Position = 1241). Si vous essayez d'obtenir la tabulation suivante avec index = 2, cela renverra la première tabulation par défaut (Position = 1470), etc. -- EffectiveTabs.GetTabAfterPosition(pos) est utilisé pour obtenir la prochaine tabulation après un certain texte. Par exemple, vous avez le texte : "Helloworld !". Pour rendre ce texte, vous devez savoir où commencer à dessiner "world !". Au départ, vous devez calculer la longueur de "Hello" en pixels et appeler GetTabAfterPosition avec cette valeur. Vous obtiendrez la prochaine position de tabulation pour dessiner "world !". -## **Définir la langue de vérification** +Le résultat : -Aspose.Slides fournit la propriété [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) (exposée par la classe [PortionFormat](https://reference.aspose.com/slides/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. +![Les tabulations du paragraphe](paragraph_tabs.png) + +## **Définir la langue de vérification** -Ce code C# vous montre comment définir la langue de vérification pour un PowerPoint : +Aspose.Slides propose la propriété `LanguageId` de la classe [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/), qui vous permet de définir la langue de vérification d'un document PowerPoint. La langue de vérification détermine la langue utilisée pour les contrôles orthographiques et grammaticaux dans PowerPoint. -```c# -using (Presentation pres = new Presentation(pptxFileName)) +L'exemple de code suivant montre comment définir la langue de vérification pour une portion de texte : +```cs +using (var presentation = new Presentation("presentation.pptx")) { - AutoShape autoShape = (AutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; - IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; paragraph.Portions.Clear(); - Portion newPortion = new Portion(); + var font = new FontData("SimSun"); + + var textPortion = new Portion(); + textPortion.PortionFormat.ComplexScriptFont = font; + textPortion.PortionFormat.EastAsianFont = font; + textPortion.PortionFormat.LatinFont = font; - IFontData font = new FontData("SimSun"); - IPortionFormat portionFormat = newPortion.PortionFormat; - portionFormat.ComplexScriptFont = font; - portionFormat.EastAsianFont = font; - portionFormat.LatinFont = font; + // Définir l'ID d'une langue de vérification. + textPortion.PortionFormat.LanguageId = "zh-CN"; - portionFormat.LanguageId = "zh-CN"; // définir l'Id d'une langue de vérification - - newPortion.Text = "1。"; - paragraph.Portions.Add(newPortion); + textPortion.Text = "1。"; + paragraph.Portions.Add(textPortion); + + presentation.Save("proofing_language.pptx", SaveFormat.Pptx); } ``` -## **Définir la langue par défaut** -Ce code C# 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** -```c# -LoadOptions loadOptions = new LoadOptions(); +Spécifier la langue par défaut pour le texte garantit un contrôle orthographique, une césure et un comportement de synthèse vocale corrects dans PowerPoint. Aspose.Slides pour .NET vous permet de définir la langue au niveau de la portion de texte ou du paragraphe. Cette section montre comment définir la langue par défaut pour le texte de votre présentation. +```cs +var loadOptions = new LoadOptions(); loadOptions.DefaultTextLanguage = "en-US"; -using (Presentation pres = new Presentation(loadOptions)) + +using (var presentation = new Presentation(loadOptions)) { - // Ajoute une nouvelle forme rectangulaire avec du texte - IAutoShape shp = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 50); - shp.TextFrame.Text = "Nouveau texte"; - - // Vérifie la langue de la première portion - Console.WriteLine(shp.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId); + var slide = presentation.Slides[0]; + + // Ajouter une nouvelle forme rectangulaire avec du texte. + var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 150, 50); + shape.TextFrame.Text = "Sample text"; + + // Vérifier la langue de la première portion. + var portion = shape.TextFrame.Paragraphs[0].Portions[0]; + Console.WriteLine(portion.PortionFormat.LanguageId); } ``` + ## **Définir le style de texte par défaut** -Si vous avez besoin d'appliquer le même formatage de texte par défaut à tous les éléments de texte d'une présentation en une seule fois, vous pouvez utiliser la propriété `DefaultTextStyle` de l'interface [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) et définir le formatage préféré. L'exemple de code ci-dessous montre comment définir la police en gras par défaut (14 pt) pour le texte sur toutes les diapositives d'une nouvelle présentation. +Si vous devez appliquer le même formatage de texte par défaut à tous les éléments textuels d'une présentation en une fois, vous pouvez utiliser la propriété `DefaultTextStyle` de l'interface [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) et définir votre formatage préféré. -```c# -using (Presentation presentation = new Presentation()) +L'exemple de code suivant montre comment définir une police en gras par défaut avec une taille de 14 pt pour tout le texte de toutes les diapositives dans une nouvelle présentation. +```cs +using (var presentation = new Presentation()) { - // Obtenir le format de paragraphe de niveau supérieur. - IParagraphFormat paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); + // Obtenir le format de paragraphe du niveau supérieur. + var paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); if (paragraphFormat != null) { @@ -666,6 +521,51 @@ using (Presentation presentation = new Presentation()) paragraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; } - presentation.Save("DefaultTextStyle.pptx", SaveFormat.Pptx); + presentation.Save("default_text_style.pptx", SaveFormat.Pptx); +} +``` + + +## **Extraire le texte avec l'effet Tout en majuscules** + +Dans PowerPoint, l'application de l'effet de police **All Caps** fait apparaître le texte en majuscules sur la diapositive même s'il a été saisi en minuscules. Lorsque vous récupérez une telle portion de texte avec Aspose.Slides, la bibliothèque renvoie le texte exactement tel qu'il a été saisi. Pour gérer cela, vérifiez [TextCapType](https://reference.aspose.com/slides/net/aspose.slides/textcaptype/) — si elle indique `All`, il suffit de convertir la chaîne renvoyée en majuscules afin que votre sortie corresponde à ce que les utilisateurs voient sur la diapositive. + +Supposons que nous ayons la zone de texte suivante sur la première diapositive du fichier sample2.pptx. + +![L'effet Tout en majuscules](all_caps_effect.png) + +L'exemple de code ci‑dessus montre comment extraire le texte avec l'effet **All Caps** appliqué : +```cs +using (var presentation = new Presentation("sample2.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var textPortion = autoShape.TextFrame.Paragraphs[0].Portions[0]; + + Console.WriteLine($"Original text: {textPortion.Text}"); + + var textFormat = textPortion.PortionFormat.GetEffective(); + if (textFormat.TextCapType == TextCapType.All) + { + var text = textPortion.Text.ToUpper(); + Console.WriteLine($"All-Caps effect: {text}"); + } } -``` \ No newline at end of file +``` + + +Sortie : +```text +Original text: Hello, Aspose! +All-Caps effect: HELLO, ASPOSE! +``` + + +## **FAQ** + +**Comment modifier le texte dans un tableau sur une diapositive ?** + +Pour modifier le texte dans un tableau sur une diapositive, vous devez utiliser l'objet [ITable](https://reference.aspose.com/slides/net/aspose.slides/itable/). Vous pouvez parcourir toutes les cellules du tableau et modifier le texte de chaque cellule en accédant à ses propriétés `TextFrame` et `ParagraphFormat`. + +**Comment appliquer un dégradé de couleur au texte d'une diapositive PowerPoint ?** + +Pour appliquer un dégradé de couleur au texte, utilisez la propriété `FillFormat` dans [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/). Définissez le `FilFormat` sur `Gradient`, où vous pouvez définir les couleurs de départ et de fin du dégradé, ainsi que d'autres propriétés telles que la direction et la transparence pour créer l'effet de dégradé sur le texte. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/manage-text/wordart/_index.md b/fr/net/developer-guide/presentation-content/manage-text/wordart/_index.md index 6a89bb0987..f5247b2789 100644 --- a/fr/net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,372 +1,257 @@ --- -title: WordArt +title: Créer et appliquer des effets WordArt en C# +linktitle: WordArt type: docs weight: 110 url: /fr/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 externe, Effets d'ombre interne, C#, Csharp, Aspose.Slides pour .NET" -description: "Ajouter, manipuler et gérer le WordArt et les effets dans des présentations PowerPoint en C# ou Aspose.Slides pour .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 +- C# +- Csharp +- .NET +- Aspose.Slides +description: "Apprenez comment créer et personnaliser les effets WordArt dans Aspose.Slides pour .NET. Ce guide étape par étape aide les développeurs à améliorer les présentations avec du texte élégant et professionnel en C#." --- -## **À 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 avec une couleur (ou un dégradé), lui ajouter des effets 3D, etc. Vous pouvez également déformer, plier et étirer la forme d'un texte. +## **Vue d'ensemble** -{{% alert color="primary" %}} - -WordArt vous permet de traiter un texte comme vous le feriez avec un objet graphique. WordArt consiste en des effets ou des 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 un des modèles WordArt prédéfinis. Un modèle WordArt est un ensemble d'effets qui est appliqué à un texte ou à sa forme. - -**WordArt dans Aspose.Slides** - -Dans Aspose.Slides pour .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 pour .NET. - -Avec Aspose.Slides pour .NET, vous pouvez facilement créer votre propre modèle WordArt (un effet ou une combinaison d'effets) en C# et l'appliquer à des textes. +Les effets WordArt vous permettent d’ajouter du texte visuellement attrayant et stylisé à vos présentations PowerPoint. Avec Aspose.Slides for .NET, les développeurs peuvent créer, personnaliser et gérer WordArt de manière programmatique comme dans Microsoft PowerPoint—sans nécessiter l’installation d’Office. Cet article donne un aperçu du travail avec WordArt en .NET, incluant comment appliquer des transformations de texte, des styles de remplissage, des contours, des ombres et d’autres options de mise en forme pour rendre le contenu de votre présentation plus expressif et engageant. WordArt vous permet de traiter le texte comme un objet graphique. Il consiste en des effets ou des modifications spéciales appliquées au texte pour le rendre plus attractif ou visible. -## Création d'un modèle WordArt simple et application à un texte +## **Créer un modèle WordArt simple et l’appliquer au texte** -**Utilisation d'Aspose.Slides** +Dans cette section, nous explorerons comment créer un modèle WordArt simple et l’appliquer au texte à l’aide d’Aspose.Slides for .NET. WordArt offre un moyen facile d’améliorer l’apparence du texte avec des effets visuels saisissants et des styles. En apprenant les étapes de base de la création et de l’utilisation de WordArt, vous pouvez facilement adapter ces techniques à tout projet, rendant vos présentations plus dynamiques et mémorables. -Tout d'abord, nous créons un texte simple en utilisant ce code C# : - -``` csharp -using (Presentation pres = new Presentation()) +Tout d’abord, nous créons un texte simple en utilisant le code C# suivant : +```cs +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); + ISlide slide = presentation.Slides[0]; + + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 400, 200); ITextFrame textFrame = autoShape.TextFrame; - Portion portion = (Portion)textFrame.Paragraphs[0].Portions[0]; + IPortion portion = textFrame.Paragraphs[0].Portions[0]; portion.Text = "Aspose.Slides"; } ``` -Maintenant, nous définissons la hauteur de police du texte à une valeur plus élevée pour rendre l'effet plus visible à l'aide de ce code : - -``` csharp -FontData fontData = new FontData("Arial Black"); -portion.PortionFormat.LatinFont = fontData; -portion.PortionFormat.FontHeight = 36; -``` - -**Utilisation de Microsoft PowerPoint** - -Allez dans le menu des effets WordArt dans Microsoft PowerPoint : - -![todo:image_alt_text](image-20200930113926-1.png) -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 : - -![todo:image_alt_text](image-20200930114015-3.png) - -**Utilisation d'Aspose.Slides** - -Ici, nous appliquons la couleur du motif SmallGrid au texte et ajoutons une bordure de texte noire d'une largeur de 1 avec ce code : - -``` csharp -portion.PortionFormat.FillFormat.FillType = FillType.Pattern; -portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; -portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; -portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; - -portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +Ensuite, nous définissons la hauteur de police du texte à une valeur plus grande pour rendre l’effet plus visible en utilisant le code suivant : +```cs + portion.PortionFormat.LatinFont = new FontData("Arial Black"); + portion.PortionFormat.FontHeight = 36; ``` -Le texte résultant : -![todo:image_alt_text](image-20200930114108-4.png) +Ici, nous appliquons le remplissage en motif SmallGrid au texte et ajoutons une bordure de texte noire d’une largeur de 1 en utilisant le code suivant : +```cs + portion.PortionFormat.FillFormat.FillType = FillType.Pattern; + portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; + portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; + portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; + + portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +``` -## Application d'autres effets WordArt -**Utilisation de Microsoft PowerPoint** +Le texte résultant : -Depuis l'interface du programme, vous pouvez appliquer ces effets à un texte, bloc de texte, forme ou élément similaire : +![Le modèle WordArt simple](WordArt_template.png) -![todo:image_alt_text](image-20200930114129-5.png) +## **Appliquer d’autres effets WordArt** -Par exemple, les effets d'ombre, de reflet 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é des bords doux peut être appliquée à un objet de forme (elle a toujours un effet même lorsqu'aucune propriété de format 3D n'est définie). +En plus des transformations de base, Aspose.Slides for .NET vous permet d’appliquer une variété d’effets WordArt avancés pour améliorer l’apparence de votre texte. Cela comprend les contours, les remplissages, les ombres, les reflets et les effets de lueur. En combinant ces fonctionnalités, vous pouvez créer des styles de texte accrocheurs qui se démarquent dans vos présentations. Cette section montre comment appliquer ces effets de manière programmatique en utilisant des exemples de code simples et clairs. -### Application des effets d'ombre +### **Appliquer des effets d’ombre externe** -Ici, nous avons l'intention de définir les propriétés relatives à un texte uniquement. Nous appliquons l'effet d'ombre à un texte en utilisant ce code en C# : +Les effets d’ombre externe aident le texte à se démarquer en ajoutant une ombre derrière son contour, créant une impression de profondeur et de séparation de l’arrière‑plan. Aspose.Slides for .NET vous permet d’appliquer et de personnaliser facilement les ombres externes sur le texte WordArt. Dans cette section, vous apprendrez à définir la couleur de l’ombre, la direction, la distance, le rayon de flou, et plus encore pour obtenir l’impact visuel souhaité. -``` csharp -portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 65; -portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4.73; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 2; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 30; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); +Le fragment de code C# suivant applique un effet d’ombre au texte créé ci‑dessus. +```cs + portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 30; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 20; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); ``` -L'API Aspose.Slides prend en charge trois types d'ombres : OuterShadow, InnerShadow et PresetShadow. - - Avec PresetShadow, vous pouvez appliquer une ombre à un texte (en utilisant des valeurs prédéfinies). - -**Utilisation de Microsoft PowerPoint** -Dans PowerPoint, vous pouvez utiliser un type d'ombre. Voici un exemple : - -![todo:image_alt_text](image-20200930114225-6.png) - -**Utilisation d'Aspose.Slides** - -Aspose.Slides permet en fait d'appliquer deux types d'ombres en même temps : InnerShadow et PresetShadow. +Le texte résultant : -**Notes :** +![L’effet d’ombre externe](outer_shadow_effect.png) -- 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é. +{{% alert color="primary" %}} +- 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 dépend de la version de PowerPoint. Par exemple, dans PowerPoint 2013, l’effet est doublé, tandis que dans PowerPoint 2007, seul l’effet OuterShadow est appliqué. +{{% /alert %}} + +### **Appliquer des effets de réflexion** + +Dans cette section, nous explorerons comment appliquer des effets de réflexion dans vos diapositives à l’aide d’Aspose.Slides for .NET. Les effets de réflexion peuvent être un moyen efficace de donner à votre texte ou à vos formes une apparence élégante et moderne, aidant les éléments clés à se démarquer et ajoutant de la profondeur à votre présentation. En comprenant le processus d’application et de personnalisation de ces effets, vous pouvez facilement les adapter à vos besoins de conception et aux exigences de votre identité visuelle. + +Ajoutez un effet de réflexion au texte à l’aide de cet exemple de code C# : +```cs + portion.PortionFormat.EffectFormat.EnableReflectionEffect(); + portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; + portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; + portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; +``` -### Application de l'affichage aux textes -Nous ajoutons l'affichage au texte grâce à cet exemple de code en C# : +Le texte résultant : -``` csharp -portion.PortionFormat.EffectFormat.EnableReflectionEffect(); -portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; -portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; -portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; -``` +![L’effet de réflexion](reflection_effect.png) -### Application de l'effet de lueur aux textes +### **Appliquer des effets de lueur** -Nous appliquons l'effet de lueur au texte pour le faire briller ou ressortir en utilisant ce code : +Dans cette section, nous explorerons comment appliquer un effet de lueur au texte à l’aide d’Aspose.Slides for .NET. L’effet de lueur peut faire ressortir votre texte avec un contour lumineux, améliorant l’attrait visuel de vos diapositives. En ajustant des paramètres comme la couleur et l’intensité, vous pouvez facilement adapter la lueur à votre conception et à vos besoins de marque, assurant que les points clés de votre présentation captent l’attention du public. -``` csharp -portion.PortionFormat.EffectFormat.EnableGlowEffect(); -portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; -portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); -portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; +Appliquez un effet de lueur au texte pour le faire briller ou le faire ressortir en utilisant le code suivant : +```cs + portion.PortionFormat.EffectFormat.EnableGlowEffect(); + portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; + portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); + portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; ``` -Le résultat de l'opération : -![todo:image_alt_text](image-20200930114621-7.png) +Le texte résultant : -{{% alert color="primary" %}} +![L’effet de lueur](glow_effect.png) -Vous pouvez changer 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. +### **Appliquer des transformations WordArt** -{{% /alert %}} +Dans cette section, nous explorerons comment utiliser les transformations dans WordArt avec Aspose.Slides for .NET. Les transformations vous permettent de plier, d’étirer ou de déformer le texte, créant des effets uniques et visuellement saisissants. En maîtrisant ces techniques, vous pouvez facilement adapter les formes et les styles de texte à votre identité visuelle ou à votre vision créative, assurant une présentation convaincante et soignée. -### Utilisation des transformations dans WordArt - -Nous utilisons la propriété Transform (inhérente à l'ensemble du bloc de texte) via ce code : -``` csharp -textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; +Utilisez la propriété `Transform` (qui s’applique à l’ensemble du bloc de texte) avec le code suivant : +```cs + textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; ``` -Le résultat : - -![todo:image_alt_text](image-20200930114712-8.png) -{{% alert color="primary" %}} +Le texte résultant : -À la fois Microsoft PowerPoint et Aspose.Slides pour .NET fournissent un certain nombre de types de transformation prédéfinis. +![La transformation WordArt](transform_effect.png) +{{% alert color="primary" %}} +Aspose.Slides for .NET fournit un ensemble de [types de transformation](https://reference.aspose.com/slides/net/aspose.slides/textshapetype/) prédéfinis. {{% /alert %}} -**Utilisation de PowerPoint** - -Pour accéder aux types de transformation prédéfinis, allez à : **Format** -> **TextEffect** -> **Transform** +### **Appliquer des effets 3D aux formes et au texte** -**Utilisation d'Aspose.Slides** +Créer des visuels réalistes et accrocheurs peut améliorer considérablement l’impact de vos présentations. Dans cette section, nous explorerons comment appliquer des effets tridimensionnels (3D) aux formes à l’aide d’Aspose.Slides for .NET. En manipulant des paramètres comme la profondeur, l’angle et l’éclairage, vous pouvez produire des transformations 3D impressionnantes qui captent immédiatement l’attention de votre public. Que vous visiez des reflets subtils ou des illusions dramatiques, ces fonctionnalités offrent des moyens flexibles d’améliorer votre conception et de transmettre des idées de manière plus captivante. -Pour sélectionner un type de transformation, utilisez l'énumération TextShapeType. +Utilisez le code d’exemple suivant pour appliquer un effet 3D à la forme : +```cs + autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelBottom.Height = 10.5; + autoShape.ThreeDFormat.BevelBottom.Width = 10.5; -### Application d'effets 3D aux textes et formes + autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelTop.Height = 12.5; + autoShape.ThreeDFormat.BevelTop.Width = 11; -Nous définissons un effet 3D à une forme de texte en utilisant ce code d'exemple : + autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + autoShape.ThreeDFormat.ExtrusionHeight = 6; -``` csharp -autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelBottom.Height = 10.5; -autoShape.ThreeDFormat.BevelBottom.Width = 10.5; + autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; + autoShape.ThreeDFormat.ContourWidth = 1.5; -autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelTop.Height = 12.5; -autoShape.ThreeDFormat.BevelTop.Width = 11; + autoShape.ThreeDFormat.Depth = 3; -autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -autoShape.ThreeDFormat.ExtrusionHeight = 6; + autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; -autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; -autoShape.ThreeDFormat.ContourWidth = 1.5; + autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -autoShape.ThreeDFormat.Depth = 3; - -autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; - -autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); - -autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -Le texte résultant et sa forme : -![todo:image_alt_text](image-20200930114816-9.png) +La forme résultante : -Nous appliquons un effet 3D au texte avec ce code C# : +![L’effet 3D de la forme](shape_3D_effect.png) -``` csharp -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; +Utilisez le code d’exemple suivant pour appliquer un effet 3D au texte : +```cs + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; -textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; -textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; + textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; + textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; -textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; + textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; -textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; + textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); + textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -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. +Le texte résultant : -Considérez une scène pour un texte et la forme contenant ce texte. L'effet 3D contient une représentation 3D de l'objet et la scène sur laquelle l'objet a été placé. +![L’effet 3D du texte](text_3D_effect.png) -- Lorsque la scène est définie 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 d'abord aucun effet 3D - la forme est plate et l'effet 3D n'est appliqué qu'au texte. +{{% alert color="primary" %}} +L’application d’effets 3D au texte ou à leurs formes — et l’interaction entre ces effets — est régie par des règles spécifiques. Considérez une scène impliquant à la fois un texte et la forme contenant ce texte. Un effet 3D comprend la représentation 3D de l’objet et la scène sur laquelle il est placé. -Les descriptions sont liées aux propriétés [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/lightrig) et [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/camera). +- Si une scène est définie à la fois pour la forme et pour le texte, la scène de la forme prend le dessus et la scène du texte est ignorée. +- Si la forme n’a pas de scène propre mais possède une représentation 3D, la scène du texte est utilisée. +- Si la forme n’a aucun effet 3D, elle est considérée comme plate et l’effet 3D est appliqué uniquement au texte. +Ces comportements sont liés aux propriétés [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/lightrig/) et [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/camera/). {{% /alert %}} -## **Appliquer des effets d'ombre externe aux textes** -Aspose.Slides pour .NET fournit les classes [**IOuterShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/ioutershadow) et [**IInnerShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/iinnershadow) qui vous permettent d'appliquer des effets d'ombre à un texte porté par TextFrame. Suivez ces étapes : - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Obtenez la référence d'une diapositive en utilisant son index. -3. Ajoutez une forme automatique de type Rectangle à la diapositive. -4. Accédez à la TextFrame associée à la forme automatique. -5. Définissez le FillType de la forme automatique 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 le RectangleAlign sur TopLeft. -11. Définissez la couleur prédéfinie de l'ombre sur Noir. -12. Enregistrez la présentation sous un fichier PPTX. - -Ce code d'exemple en C#—une implémentation des étapes ci-dessus—vous montre comment appliquer l'effet d'ombre externe à un texte : - -```c# -using (Presentation pres = new Presentation()) -{ - - // Obtenez la référence de la diapositive - ISlide sld = pres.Slides[0]; - - // Ajoutez une forme automatique de type Rectangle - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - - // Ajoutez TextFrame au Rectangle - ashp.AddTextFrame("Aspose TextBox"); - - // Désactivez le remplissage de la forme au cas où nous voudrions obtenir l'ombre du texte - ashp.FillFormat.FillType = FillType.NoFill; - - // Ajoutez une ombre extérieure et définissez tous les paramètres nécessaires - ashp.EffectFormat.EnableOuterShadowEffect(); - IOuterShadow shadow = ashp.EffectFormat.OuterShadowEffect; - shadow.BlurRadius = 4.0; - shadow.Direction = 45; - shadow.Distance = 3; - shadow.RectangleAlign = RectangleAlignment.TopLeft; - shadow.ShadowColor.PresetColor = PresetColor.Black; - - //Écrivez la présentation sur le disque - pres.Save("pres_out.pptx", SaveFormat.Pptx); -} -``` - - -## **Appliquer l'effet d'ombre interne aux formes** -Suivez ces étapes : - -1. Créez une instance de la [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) classe. -2. Obtenez une référence de la diapositive. -3. Ajoutez une forme automatique de type Rectangle. -4. Activez l'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. Enregistrez la présentation sous un fichier [PPTX](https://docs.fileformat.com/presentation/pptx/) . +## **FAQ** -Ce code d'exemple (basé sur les étapes ci-dessus) vous montre comment ajouter un connecteur entre deux formes en C# : +**Puis-je utiliser les effets WordArt avec différentes polices ou scripts (par ex. arabe, chinois) ?** -```c# -using(Presentation presentation = new Presentation()) -{ - // Obtenez la référence d'une diapositive - ISlide slide = presentation.Slides[0]; +Oui, Aspose.Slides for .NET prend en charge Unicode et fonctionne avec toutes les polices et scripts majeurs. 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. - // Ajoutez une forme automatique de type Rectangle - IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 400, 300); - ashp.FillFormat.FillType = FillType.NoFill; +**Puis-je appliquer des effets WordArt aux éléments du masque des diapositives ?** - // Ajoutez TextFrame au Rectangle - ashp.AddTextFrame("Aspose TextBox"); - IPortion port = ashp.TextFrame.Paragraphs[0].Portions[0]; - IPortionFormat pf = port.PortionFormat; - pf.FontHeight = 50; +Oui, vous pouvez appliquer des effets WordArt aux formes du masque des diapositives, y compris les espaces réservés de titre, les pieds de page ou le texte de fond. Les modifications apportées à la mise en page du masque seront répercutées sur toutes les diapositives associées. - // Activez l'InnerShadowEffect - IEffectFormat ef = pf.EffectFormat; - ef.EnableInnerShadowEffect(); +**Les effets WordArt affectent-ils la taille du fichier de la présentation ?** - // Définissez tous les paramètres nécessaires - ef.InnerShadowEffect.BlurRadius = 8.0; - ef.InnerShadowEffect.Direction = 90.0F; - ef.InnerShadowEffect.Distance = 6.0; - ef.InnerShadowEffect.ShadowColor.B = 189; +Légèrement. Les effets WordArt tels que les ombres, les lueurs et les remplissages en dégradé peuvent légèrement augmenter la taille du fichier en raison des métadonnées de mise en forme ajoutées, mais la différence est généralement négligeable. - // Définissez le ColorType sur Scheme - ef.InnerShadowEffect.ShadowColor.ColorType = ColorType.Scheme; +**Puis-je prévisualiser le résultat des effets WordArt sans enregistrer la présentation ?** - // Définissez la couleur du schéma - ef.InnerShadowEffect.ShadowColor.SchemeColor = SchemeColor.Accent1; - - // Enregistrez la présentation - presentation.Save("WordArt_out.pptx", SaveFormat.Pptx); -} -``` \ No newline at end of file +Oui, vous pouvez rendre les diapositives contenant du WordArt en images (par ex. PNG, JPEG) en utilisant la méthode `GetImage` des interfaces [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/) ou [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/). 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/net/developer-guide/presentation-content/manage-zoom/_index.md b/fr/net/developer-guide/presentation-content/manage-zoom/_index.md index 41416e7224..a50d4f0cfd 100644 --- a/fr/net/developer-guide/presentation-content/manage-zoom/_index.md +++ b/fr/net/developer-guide/presentation-content/manage-zoom/_index.md @@ -3,53 +3,51 @@ title: Gérer le Zoom type: docs weight: 60 url: /fr/net/manage-zoom/ -keywords: +keywords: - zoom - cadre de zoom - ajouter un zoom -- format cadre de zoom -- résumé zoom +- format du cadre de zoom +- zoom de synthèse - présentation PowerPoint - C# - Csharp -- Aspose.Slides pour .NET -description: "Ajoutez un zoom ou des cadres de zoom aux présentations PowerPoint en C# ou .NET" +- Aspose.Slides for .NET +description: "Ajouter des zooms ou des cadres de zoom aux présentations PowerPoint en C# ou .NET" --- -## **Aperçu** -Les zooms dans PowerPoint vous permettent de passer d'un diapositive, section ou portion spécifique d'une présentation à une autre. Lorsque vous présentez, cette capacité à naviguer rapidement à travers le contenu peut s’avérer très utile. +## **Vue d'ensemble** +Les Zooms dans PowerPoint vous permettent de passer à des diapositives, sections et parties spécifiques d’une présentation, et d’en revenir. Lors de votre présentation, cette capacité à naviguer rapidement dans le contenu peut s’avérer très utile. ![overview_image](overview.png) -* Pour résumer une présentation entière sur une seule diapositive, utilisez un [Résumé Zoom](#Summary-Zoom). -* Pour afficher uniquement des diapositives sélectionnées, utilisez un [Slide Zoom](#Slide-Zoom). +* Pour résumer une présentation entière sur une seule diapositive, utilisez un [Summary Zoom](#Summary-Zoom). +* Pour afficher uniquement les diapositives sélectionnées, utilisez un [Slide Zoom](#Slide-Zoom). * Pour afficher une seule section, utilisez un [Section Zoom](#Section-Zoom). -## **Slide Zoom** -Un slide zoom peut rendre votre présentation plus dynamique, vous permettant de naviguer librement entre les diapositives dans n'importe quel ordre sans interrompre le flux de votre présentation. Les slide zooms sont idéaux pour les présentations courtes sans beaucoup de sections, mais vous pouvez les utiliser dans différents scénarios de présentation. +## **Zoom de diapositive** +Un zoom de diapositive peut rendre votre présentation plus dynamique, vous permettant de naviguer librement entre les diapositives dans l’ordre que vous choisissez sans interrompre le déroulement de votre présentation. Les zooms de diapositive sont excellents pour les courtes présentations avec peu de sections, mais vous pouvez également les utiliser dans différents scénarios de présentation. -Les slide zooms vous aident à plonger dans plusieurs morceaux d'information tout en ayant l'impression d'être sur une seule toile. +Les zooms de diapositive vous aident à approfondir plusieurs informations tout en ayant l’impression de travailler sur une seule toile. ![overview_image](slidezoomsel.png) -Pour les objets de slide zoom, Aspose.Slides fournit l'énumération [ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype), l'interface [IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe), et quelques méthodes sous l'interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +Pour les objets de zoom de diapositive, Aspose.Slides fournit l’énumération [ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype), l’interface [IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe) ainsi que certaines méthodes de l’interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -### **Création de Cadres de Zoom** - -Vous pouvez ajouter un cadre de zoom sur une diapositive de la manière suivante : +### **Création de cadres de zoom** +Vous pouvez ajouter un cadre de zoom à une diapositive de cette façon : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Créez de nouvelles diapositives auxquelles vous souhaitez lier les cadres de zoom. -3. Ajoutez un texte d'identification et un arrière-plan aux diapositives créées. +2. Créez de nouvelles diapositives vers lesquelles vous avez l’intention de lier les cadres de zoom. +3. Ajoutez un texte d’identification et un arrière‑plan aux diapositives créées. 4. Ajoutez des cadres de zoom (contenant les références aux diapositives créées) à la première diapositive. -5. Écrivez la présentation modifiée sous forme de fichier PPTX. - -Ce code C# vous montre comment créer un cadre de zoom sur une diapositive : +5. Enregistrez la présentation modifiée sous forme de fichier PPTX. +Ce code C# montre comment créer un cadre de zoom sur une diapositive : ``` csharp using (Presentation pres = new Presentation()) { - //Ajoute des diapositives nouvelles à la présentation + //Ajoute de nouvelles diapositives à la présentation ISlide slide2 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); ISlide slide3 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -60,7 +58,7 @@ using (Presentation pres = new Presentation()) // Crée une zone de texte pour la deuxième diapositive IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Deuxième Diapositive"; + autoshape.TextFrame.Text = "Second Slide"; // Crée un arrière-plan pour la troisième diapositive slide3.Background.Type = BackgroundType.OwnBackground; @@ -69,27 +67,27 @@ using (Presentation pres = new Presentation()) // Crée une zone de texte pour la troisième diapositive autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Troisième Diapositive"; + autoshape.TextFrame.Text = "Trird Slide"; //Ajoute des objets ZoomFrame pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); - // Sauvegarde la présentation + // Enregistre la présentation pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Création de Cadres de Zoom avec des Images Personnalisées** -Avec Aspose.Slides pour .NET, vous pouvez créer un cadre de zoom avec une image de prévisualisation de diapositive différente de la manière suivante : + +### **Création de cadres de zoom avec images personnalisées** +Avec Aspose.Slides pour .NET, vous pouvez créer un cadre de zoom avec une image d’aperçu de diapositive différente de cette façon : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Créez une nouvelle diapositive à laquelle vous souhaitez lier le cadre de zoom. -3. Ajoutez un texte d'identification et un arrière-plan à la diapositive. -4. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection d'Images associée à l'objet [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) qui sera utilisé pour remplir le cadre. +2. Créez une nouvelle diapositive vers laquelle vous avez l’intention de lier le cadre de zoom. +3. Ajoutez un texte d’identification et un arrière‑plan à la diapositive. +4. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection Images associée à l’objet [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) qui sera utilisé pour remplir le cadre. 5. Ajoutez des cadres de zoom (contenant la référence à la diapositive créée) à la première diapositive. -6. Écrivez la présentation modifiée sous forme de fichier PPTX. - -Ce code C# vous montre comment créer un cadre de zoom avec une image différente : +6. Enregistrez la présentation modifiée sous forme de fichier PPTX. +Ce code C# montre comment créer un cadre de zoom avec une image différente : ``` csharp using (Presentation pres = new Presentation()) { @@ -101,9 +99,9 @@ using (Presentation pres = new Presentation()) slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // Crée une zone de texte pour la troisième diapo + // Crée une zone de texte pour la troisième diapositive IAutoShape autoshape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Deuxième Diapositive"; + autoshape.TextFrame.Text = "Second Slide"; // Crée une nouvelle image pour l'objet zoom IImage image = Images.FromFile("image.png"); @@ -113,27 +111,27 @@ using (Presentation pres = new Presentation()) //Ajoute l'objet ZoomFrame pres.Slides[0].Shapes.AddZoomFrame(20, 20, 300, 200, slide, ppImage); - // Sauvegarde la présentation + // Enregistre la présentation pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Formatage des Cadres de Zoom** -Dans les sections précédentes, nous vous avons montré comment créer des cadres de zoom simples. Pour créer des cadres de zoom plus compliqués, vous devez modifier le formatage d'un cadre simple. Il existe plusieurs options de formatage que vous pouvez appliquer à un cadre de zoom. -Vous pouvez contrôler le formatage d'un cadre de zoom sur une diapositive de cette manière : +### **Mise en forme des cadres de zoom** +Dans les sections précédentes, nous vous avons montré comment créer des cadres de zoom simples. Pour créer des cadres de zoom plus compliqués, vous devez modifier la mise en forme d’un cadre simple. Il existe plusieurs options de mise en forme que vous pouvez appliquer à un cadre de zoom. + +Vous pouvez contrôler la mise en forme d’un cadre de zoom sur une diapositive de cette façon : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Créez de nouvelles diapositives que vous souhaitez lier à votre cadre de zoom. -3. Ajoutez un texte d'identification et un arrière-plan aux diapositives créées. +2. Créez de nouvelles diapositives vers lesquelles vous avez l’intention de lier le cadre de zoom. +3. Ajoutez un texte d’identification et un arrière‑plan aux diapositives créées. 4. Ajoutez des cadres de zoom (contenant les références aux diapositives créées) à la première diapositive. -5. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection d'Images associée à l'objet [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) qui sera utilisé pour remplir le cadre. -6. Définissez une image personnalisée pour le premier objet cadre de zoom. -7. Changez le format de ligne pour le deuxième objet cadre de zoom. -8. Supprimez l'arrière-plan d'une image du deuxième objet cadre de zoom. -9. Écrivez la présentation modifiée sous forme de fichier PPTX. - -Ce code C# vous montre comment modifier le formatage d'un cadre de zoom sur une diapositive : +5. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection Images associée à l’objet [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) qui sera utilisé pour remplir le cadre. +6. Définissez une image personnalisée pour le premier objet de cadre de zoom. +7. Modifiez le format de ligne du deuxième objet de cadre de zoom. +8. Supprimez l’arrière‑plan d’une image du deuxième objet de cadre de zoom. +5. Enregistrez la présentation modifiée sous forme de fichier PPTX. +Ce code C# montre comment modifier la mise en forme d’un cadre de zoom sur une diapositive : ``` csharp using (Presentation pres = new Presentation()) { @@ -146,9 +144,9 @@ using (Presentation pres = new Presentation()) slide2.Background.FillFormat.FillType = FillType.Solid; slide2.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // Crée une zone de texte pour la deuxième diapositive + // Crée une zone de texte pour la deuxième diapositve IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Deuxième Diapositive"; + autoshape.TextFrame.Text = "Second Slide"; // Crée un arrière-plan pour la troisième diapositive slide3.Background.Type = BackgroundType.OwnBackground; @@ -157,7 +155,7 @@ using (Presentation pres = new Presentation()) // Crée une zone de texte pour la troisième diapositive autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Troisième Diapositive"; + autoshape.TextFrame.Text = "Trird Slide"; //Ajoute des objets ZoomFrame IZoomFrame zoomFrame1 = pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); @@ -168,10 +166,10 @@ using (Presentation pres = new Presentation()) IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // Définit l'image personnalisée pour l'objet zoomFrame1 + // Définit une image personnalisée pour l'objet zoomFrame1 zoomFrame1.ZoomImage = ppImage; - // Définit un format de cadre de zoom pour l'objet zoomFrame2 + // Définit un format de cadre zoom pour l'objet zoomFrame2 zoomFrame2.LineFormat.Width = 5; zoomFrame2.LineFormat.FillFormat.FillType = FillType.Solid; zoomFrame2.LineFormat.FillFormat.SolidFillColor.Color = Color.HotPink; @@ -180,32 +178,31 @@ using (Presentation pres = new Presentation()) // Paramètre pour ne pas afficher l'arrière-plan de l'objet zoomFrame2 zoomFrame2.ShowBackground = false; - // Sauvegarde la présentation + // Enregistre la présentation pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -## **Section Zoom** -Un section zoom est un lien vers une section de votre présentation. Vous pouvez utiliser les section zooms pour revenir aux sections que vous souhaitez vraiment souligner. Ou vous pouvez les utiliser pour mettre en évidence comment certaines parties de votre présentation se connectent. +## **Zoom de section** -![overview_image](seczoomsel.png) +Un zoom de section est un lien vers une section de votre présentation. Vous pouvez utiliser les zooms de section pour revenir aux sections que vous souhaitez vraiment mettre en avant. Vous pouvez également vous en servir pour illustrer comment certaines parties de votre présentation sont reliées entre elles. -Pour les objets de section zoom, Aspose.Slides fournit l'interface [ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe) et quelques méthodes sous l'interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +![overview_image](seczoomsel.png) -### **Création de Cadres de Section Zoom** +Pour les objets de zoom de section, Aspose.Slides fournit l’interface [ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe) ainsi que certaines méthodes de l’interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -Vous pouvez ajouter un cadre de section zoom sur une diapositive de la manière suivante : +### **Création de cadres de zoom de section** +Vous pouvez ajouter un cadre de zoom de section à une diapositive de cette façon : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Créez une nouvelle diapositive. -3. Ajoutez un arrière-plan d'identification à la diapositive créée. -4. Créez une nouvelle section à laquelle vous souhaitez lier le cadre de zoom. -5. Ajoutez un cadre de section zoom (contenant des références à la section créée) à la première diapositive. -6. Écrivez la présentation modifiée sous forme de fichier PPTX. - -Ce code C# vous montre comment créer un cadre de zoom sur une diapositive : +3. Ajoutez un arrière‑plan d’identification à la diapositive créée. +4. Créez une nouvelle section vers laquelle vous avez l’intention de lier le cadre de zoom. +5. Ajoutez un cadre de zoom de section (contenant les références à la section créée) à la première diapositive. +6. Enregistrez la présentation modifiée sous forme de fichier PPTX. +Ce code C# montre comment créer un cadre de zoom sur une diapositive : ``` csharp using (Presentation pres = new Presentation()) { @@ -221,25 +218,24 @@ using (Presentation pres = new Presentation()) // Ajoute un objet SectionZoomFrame ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); - // Sauvegarde la présentation + // Enregistre la présentation pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Création de Cadres de Section Zoom avec des Images Personnalisées** -En utilisant Aspose.Slides pour .NET, vous pouvez créer un cadre de section zoom avec une image de prévisualisation de diapositive différente de la manière suivante : +### **Création de cadres de zoom de section avec images personnalisées** +En utilisant Aspose.Slides pour .NET, vous pouvez créer un cadre de zoom de section avec une image d’aperçu de diapositive différente de cette façon : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Créez une nouvelle diapositive. -3. Ajoutez un arrière-plan d'identification à la diapositive créée. -4. Créez une nouvelle section à laquelle vous souhaitez lier le cadre de zoom. -5. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection d'Images associée à l'objet [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) qui sera utilisé pour remplir le cadre. -6. Ajoutez un cadre de section zoom (contenant une référence à la section créée) à la première diapositive. -7. Écrivez la présentation modifiée sous forme de fichier PPTX. - -Ce code C# vous montre comment créer un cadre de zoom avec une image différente : - -``` csharp +3. Ajoutez un arrière‑plan d’identification à la diapositive créée. +4. Créez une nouvelle section vers laquelle vous avez l’intention de lier le cadre de zoom. +5. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection Images associée à l’objet [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) qui sera utilisé pour remplir le cadre. +5. Ajoutez un cadre de zoom de section (contenant une référence à la section créée) à la première diapositive. +6. Enregistrez la présentation modifiée sous forme de fichier PPTX. + +Ce code C# montre comment créer un cadre de zoom avec une image différente : +``` csharp using (Presentation pres = new Presentation()) { //Ajoute une nouvelle diapositive à la présentation @@ -251,7 +247,7 @@ using (Presentation pres = new Presentation()) // Ajoute une nouvelle section à la présentation pres.Sections.AddSection("Section 1", slide); - // Crée une nouvelle image pour l'objet zoom + //Crée une nouvelle image pour l'objet zoom IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); @@ -259,32 +255,31 @@ using (Presentation pres = new Presentation()) // Ajoute un objet SectionZoomFrame ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1], ppImage); - // Sauvegarde la présentation + // Enregistre la présentation pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Formatage des Cadres de Section Zoom** -Pour créer des cadres de section zoom plus compliqués, vous devez modifier le formatage d'un cadre simple. Il existe plusieurs options de formatage que vous pouvez appliquer à un cadre de section zoom. +### **Mise en forme des cadres de zoom de section** +Pour créer des cadres de zoom de section plus compliqués, vous devez modifier la mise en forme d’un cadre simple. Il existe plusieurs options de mise en forme que vous pouvez appliquer à un cadre de zoom de section. -Vous pouvez contrôler le formatage d'un cadre de section zoom sur une diapositive de cette manière : +Vous pouvez contrôler la mise en forme d’un cadre de zoom de section sur une diapositive de cette façon : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Créez une nouvelle diapositive. -3. Ajoutez un arrière-plan d'identification à la diapositive créée. -4. Créez une nouvelle section à laquelle vous souhaitez lier le cadre de zoom. -5. Ajoutez un cadre de section zoom (contenant des références à la section créée) à la première diapositive. -6. Changez la taille et la position de l'objet de section zoom créé. -7. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection d'Images associée à l'objet [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) qui sera utilisé pour remplir le cadre. -8. Définissez une image personnalisée pour l'objet cadre de section zoom créé. -9. Définissez la capacité de *retourner à la diapositive d'origine depuis la section liée*. -10. Supprimez l'arrière-plan d'une image de l'objet cadre de section zoom. -11. Changez le format de ligne pour le deuxième objet cadre de zoom. -12. Changez la durée de transition. -13. Écrivez la présentation modifiée sous forme de fichier PPTX. - -Ce code C# vous montre comment changer le format d'un cadre de section zoom : - +3. Ajoutez un arrière‑plan d’identification à la diapositive créée. +4. Créez une nouvelle section vers laquelle vous avez l’intention de lier le cadre de zoom. +5. Ajoutez un cadre de zoom de section (contenant les références à la section créée) à la première diapositive. +6. Modifiez la taille et la position de l’objet de zoom de section créé. +7. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection Images associée à l’objet [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) qui sera utilisé pour remplir le cadre. +8. Définissez une image personnalisée pour l’objet de cadre de zoom de section créé. +9. Définissez la *capacité de retour à la diapositive d’origine depuis la section liée*. +10. Supprimez l’arrière‑plan d’une image de l’objet de cadre de zoom de section. +11. Modifiez le format de ligne du deuxième objet de cadre de zoom. +12. Modifiez la durée de transition. +13. Enregistrez la présentation modifiée sous forme de fichier PPTX. + +Ce code C# montre comment changer la mise en forme d’un cadre de zoom de section : ``` csharp using (Presentation pres = new Presentation()) { @@ -300,7 +295,7 @@ using (Presentation pres = new Presentation()) // Ajoute un objet SectionZoomFrame ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); - // Formatage pour SectionZoomFrame + // Mise en forme pour SectionZoomFrame sectionZoomFrame.X = 100; sectionZoomFrame.Y = 300; sectionZoomFrame.Width = 100; @@ -322,31 +317,30 @@ using (Presentation pres = new Presentation()) sectionZoomFrame.TransitionDuration = 1.5f; - // Sauvegarde la présentation + // Enregistre la présentation pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -## **Résumé Zoom** -Un résumé zoom est comme une page d'accueil où toutes les parties de votre présentation sont affichées en une fois. Lorsque vous présentez, vous pouvez utiliser le zoom pour passer d'un endroit de votre présentation à un autre dans n'importe quel ordre que vous aimez. Vous pouvez faire preuve de créativité, sauter en avant ou revisiter certaines parties de votre diaporama sans interrompre le flux de votre présentation. +## **Zoom de synthèse** -![overview_image](sumzoomsel.png) +Un zoom de synthèse est comme une page d’accueil où toutes les parties de votre présentation sont affichées simultanément. Lorsque vous présentez, vous pouvez utiliser le zoom pour passer d’un endroit de votre présentation à un autre dans l’ordre de votre choix. Vous pouvez faire preuve de créativité, sauter en avant ou revenir sur des parties de votre diaporama sans interrompre le flux de votre présentation. -Pour les objets de résumé zoom, Aspose.Slides fournit les interfaces [ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe), [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection), et [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) ainsi que quelques méthodes sous l'interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +![overview_image](sumzoomsel.png) -### **Création de Résumé Zoom** +Pour les objets de zoom de synthèse, Aspose.Slides fournit les interfaces [ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe), [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection) et [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) ainsi que certaines méthodes de l’interface [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -Vous pouvez ajouter un cadre de résumé zoom sur une diapositive de la manière suivante : +### **Création de Zoom de synthèse** +Vous pouvez ajouter un cadre de zoom de synthèse à une diapositive de cette façon : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Créez de nouvelles diapositives avec un arrière-plan d'identification et de nouvelles sections pour les diapositives créées. -3. Ajoutez le cadre de résumé zoom à la première diapositive. -4. Écrivez la présentation modifiée sous forme de fichier PPTX. - -Ce code C# vous montre comment créer un cadre de résumé zoom sur une diapositive : +2. Créez de nouvelles diapositives avec un arrière‑plan d’identification et de nouvelles sections pour les diapositives créées. +3. Ajoutez le cadre de zoom de synthèse à la première diapositive. +4. Enregistrez la présentation modifiée sous forme de fichier PPTX. +Ce code C# montre comment créer un cadre de zoom de synthèse sur une diapositive : ``` csharp using (Presentation pres = new Presentation()) { @@ -389,25 +383,24 @@ using (Presentation pres = new Presentation()) // Ajoute un objet SummaryZoomFrame ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); - // Sauvegarde la présentation + // Enregistre la présentation pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Ajout et Suppression de Section de Résumé Zoom** -Toutes les sections dans un cadre de résumé zoom sont représentées par des objets [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection), qui sont stockés dans l'objet [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection). Vous pouvez ajouter ou supprimer un objet de section résumé zoom par le biais de l'interface [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) de cette manière : +### **Ajout et suppression de sections de Zoom de synthèse** +Toutes les sections d’un cadre de zoom de synthèse sont représentées par des objets [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection), qui sont stockés dans l’objet [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection). Vous pouvez ajouter ou supprimer un objet de section de zoom de synthèse via l’interface [ISummaryZoomSectionCollection] de cette façon : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Créez de nouvelles diapositives avec un arrière-plan d'identification et de nouvelles sections pour les diapositives créées. -3. Ajoutez un cadre de résumé zoom à la première diapositive. -4. Ajoutez une nouvelle diapositive et section à la présentation. -5. Ajoutez la section créée au cadre de résumé zoom. -6. Supprimez la première section du cadre de résumé zoom. -7. Écrivez la présentation modifiée sous forme de fichier PPTX. - -Ce code C# vous montre comment ajouter et supprimer des sections dans un cadre de résumé zoom : - +2. Créez de nouvelles diapositives avec un arrière‑plan d’identification et de nouvelles sections pour les diapositives créées. +3. Ajoutez un cadre de zoom de synthèse à la première diapositive. +4. Ajoutez une nouvelle diapositive et une nouvelle section à la présentation. +5. Ajoutez la section créée au cadre de zoom de synthèse. +6. Supprimez la première section du cadre de zoom de synthèse. +7. Enregistrez la présentation modifiée sous forme de fichier PPTX. + +Ce code C# montre comment ajouter et supprimer des sections dans un cadre de zoom de synthèse : ``` csharp using (Presentation pres = new Presentation()) { @@ -441,36 +434,35 @@ using (Presentation pres = new Presentation()) // Ajoute une nouvelle section à la présentation ISection section3 = pres.Sections.AddSection("Section 3", slide); - // Ajoute une section au Zoom Résumé + // Ajoute une section au Summary Zoom summaryZoomFrame.SummaryZoomCollection.AddSummaryZoomSection(section3); - // Supprime une section du Zoom Résumé + // Supprime la section du Summary Zoom summaryZoomFrame.SummaryZoomCollection.RemoveSummaryZoomSection(pres.Sections[1]); - // Sauvegarde la présentation + // Enregistre la présentation pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Formatage des Sections de Résumé Zoom** -Pour créer des objets de section résumé zoom plus compliqués, vous devez modifier le formatage d'un cadre simple. Il existe plusieurs options de formatage que vous pouvez appliquer à un objet de section résumé zoom. +### **Mise en forme des sections de Zoom de synthèse** +Pour créer des objets de section de zoom de synthèse plus compliqués, vous devez modifier la mise en forme d’un cadre simple. Il existe plusieurs options de mise en forme que vous pouvez appliquer à un objet de section de zoom de synthèse. -Vous pouvez contrôler le formatage d'un objet de section résumé zoom dans un cadre de résumé zoom de cette manière : +Vous pouvez contrôler la mise en forme d’un objet de section de zoom de synthèse dans un cadre de zoom de synthèse de cette façon : 1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Créez de nouvelles diapositives avec un arrière-plan d'identification et de nouvelles sections pour les diapositives créées. -3. Ajoutez un cadre de résumé zoom à la première diapositive. -4. Obtenez un objet de section résumé zoom pour le premier objet de la `ISummaryZoomSectionCollection`. -5. Créez un [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection d'images associée à l'objet [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) qui sera utilisé pour remplir le cadre. -6. Définissez une image personnalisée pour l'objet de section zoom créé. -7. Définissez la capacité de *retourner à la diapositive d'origine depuis la section liée*. -8. Changez le format de ligne pour le deuxième objet cadre de zoom. -9. Changez la durée de transition. -10. Écrivez la présentation modifiée sous forme de fichier PPTX. - -Ce code C# vous montre comment changer le format pour un objet de section résumé zoom : - +2. Créez de nouvelles diapositives avec un arrière‑plan d’identification et de nouvelles sections pour les diapositives créées. +3. Ajoutez un cadre de zoom de synthèse à la première diapositive. +4. Récupérez un objet de section de zoom de synthèse pour le premier objet depuis l’`ISummaryZoomSectionCollection`. +7. Créez un objet [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) en ajoutant une image à la collection d’images associée à l’objet [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) qui sera utilisé pour remplir le cadre. +8. Définissez une image personnalisée pour l’objet de cadre de section créé. +9. Définissez la *capacité de retour à la diapositive d’origine depuis la section liée*. +11. Modifiez le format de ligne du deuxième objet de cadre de zoom. +12. Modifiez la durée de transition. +13. Enregistrez la présentation modifiée sous forme de fichier PPTX. + +Ce code C# montre comment modifier la mise en forme d’un objet de section de zoom de synthèse : ``` csharp using (Presentation pres = new Presentation()) { @@ -502,7 +494,7 @@ using (Presentation pres = new Presentation()) IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // Formatage pour l'objet SummaryZoomSection + // Mise en forme pour l'objet SummaryZoomSection summarySection.ZoomImage = ppImage; summarySection.ReturnToParent = false; @@ -513,7 +505,22 @@ using (Presentation pres = new Presentation()) summarySection.TransitionDuration = 1.5f; - // Sauvegarde la présentation + // Enregistre la présentation pres.Save("presentation.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Puis-je contrôler le retour à la diapositive « parent » après l’affichage de la cible ?** + +Oui. Le [Zoom frame](https://reference.aspose.com/slides/net/aspose.slides/zoomframe/) ou la [section](https://reference.aspose.com/slides/net/aspose.slides/sectionzoomframe/) possède un comportement `ReturnToParent` qui, lorsqu’il est activé, renvoie le spectateur à la diapositive d’origine après avoir visité le contenu cible. + +**Puis-je ajuster la « vitesse » ou la durée de la transition du Zoom ?** + +Oui. Le Zoom prend en charge la définition d’une `TransitionDuration` afin que vous puissiez contrôler la durée de l’animation de saut. + +**Existe‑t‑il des limites quant au nombre d’objets Zoom qu’une présentation peut contenir ?** + +Il n’existe pas de limite API stricte documentée. Les limites pratiques dépendent de la complexité globale de la présentation et des performances du visualiseur. Vous pouvez ajouter de nombreux cadres de zoom, mais il faut tenir compte de la taille du fichier et du temps de rendu. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md b/fr/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md index bb34be6ac7..87b1e28d46 100644 --- a/fr/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md +++ b/fr/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md @@ -1,30 +1,29 @@ --- -title: Gestion des étiquettes et des données personnalisées +title: Gestion des tags et des données personnalisées type: docs weight: 300 url: /fr/net/managing-tags-and-custom-data -keywords: "Étiquettes, Données personnalisées, Valeur des étiquettes, Ajouter des étiquettes, Présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" -description: "Ajouter des étiquettes et des données personnalisées aux présentations PowerPoint en C# ou .NET" +keywords: "Balises, Données personnalisées, Valeur des balises, Ajouter des balises, Présentation PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Ajouter des balises et des données personnalisées aux présentations PowerPoint en C# ou .NET" --- -## Stockage des données dans les fichiers de présentation +## **Stockage des données dans les fichiers de présentation** -Les fichiers PPTX—éléments avec l'extension .pptx—sont stockés au format PresentationML, qui fait partie de la spécification Office Open XML. Le format Office Open XML définit la structure des données contenues dans les présentations. +Les fichiers PPTX—éléments avec l’extension .pptx—sont stockés au format PresentationML, qui fait partie de la spécification Office Open XML. Le format Office Open XML définit la structure des données contenues dans les présentations. -Avec une *diapositive* étant l'un des éléments dans les présentations, une *partie de diapositive* contient le contenu d'une seule diapositive. Une partie de diapositive peut avoir des relations explicites avec de nombreuses parties—telles que les Étiquettes définies par l'utilisateur—définies par l'ISO/IEC 29500. +Avec une *diapositive* étant l’un des éléments des présentations, une *partie de diapositive* contient le contenu d’une seule diapositive. Une partie de diapositive peut avoir des relations explicites avec de nombreuses parties—telles que les balises définies par l’utilisateur—définies par ISO/IEC 29500. -Les données personnalisées (spécifiques à une présentation) ou à l'utilisateur peuvent exister sous forme d'étiquettes ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection)) et de CustomXmlParts ([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection)). +Les données personnalisées (spécifiques à une présentation) ou de l’utilisateur peuvent exister sous forme de tags ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection)) et de CustomXmlParts ([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection)). -{{% alert color="primary" %}} +{{% alert color="primary" %}} -Les étiquettes sont essentiellement des valeurs de paire clé-string. +Les tags sont essentiellement des valeurs de paires clé‑chaine. -{{% /alert %}} +{{% /alert %}} -## Obtenir les valeurs des étiquettes - -Dans les diapositives, une étiquette correspond à la propriété IDocumentProperties.Keywords. Ce code d'exemple vous montre comment obtenir la valeur d'une étiquette avec Aspose.Slides pour .NET pour [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation): +## **Obtention des valeurs des tags** +Dans les diapositives, un tag correspond à la propriété IDocumentProperties.Keywords. Ce code d’exemple montre comment obtenir la valeur d’un tag avec Aspose.Slides pour .NET pour [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation): ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,17 +31,17 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Ajouter des étiquettes aux présentations -Aspose.Slides vous permet d'ajouter des étiquettes aux présentations. Une étiquette se compose généralement de deux éléments : +## **Ajout de tags aux présentations** -- le nom d'une propriété personnalisée - `MyTag` -- la valeur de la propriété personnalisée - `My Tag Value` +Aspose.Slides vous permet d’ajouter des tags aux présentations. Un tag se compose généralement de deux éléments : -Si vous avez besoin de classer certaines présentations en fonction d'une règle ou d'une propriété spécifique, vous pourriez bénéficier de l'ajout d'étiquettes à ces présentations. Par exemple, si vous souhaitez classer ou regrouper toutes les présentations des pays nord-américains, vous pouvez créer une étiquette nord-américaine et ensuite attribuer les pays concernés (les États-Unis, le Mexique et le Canada) comme valeurs. +- le nom d’une propriété personnalisée - `MyTag` +- la valeur de la propriété personnalisée - `My Tag Value` -Ce code d'exemple vous montre comment ajouter une étiquette à une [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) à l'aide d'Aspose.Slides pour .NET : +Si vous devez classer certaines présentations en fonction d’une règle ou d’une propriété spécifique, vous pouvez bénéficier de l’ajout de tags à ces présentations. Par exemple, si vous voulez regrouper toutes les présentations provenant des pays d’Amérique du Nord, vous pouvez créer un tag « North American » puis attribuer les pays concernés (États‑Unis, Mexique et Canada) comme valeurs. +Ce code d’exemple montre comment ajouter un tag à une [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) en utilisant Aspose.Slides pour .NET: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -51,8 +50,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Les étiquettes peuvent également être définies pour une [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide) : +Les tags peuvent également être définis pour une [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide): ```csharp using(Presentation pres = new Presentation()) { @@ -61,14 +60,29 @@ using(Presentation pres = new Presentation()) } ``` -Ou pour toute forme individuelle [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape) : +Ou pour n’importe quel [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape) individuel: ```csharp using(Presentation pres = new Presentation()) { ISlide slide = pres.Slides[0]; IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 100, 50); - shape.TextFrame.Text = "Mon texte"; + shape.TextFrame.Text = "My text"; shape.CustomData.Tags["tag"] = "value"; } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Puis‑je supprimer tous les tags d’une présentation, d’une diapositive ou d’une forme en une seule opération ?** + +Oui. La [tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) prend en charge une opération [clear](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/clear/) qui supprime toutes les paires clé‑valeur d’un coup. + +**Comment supprimer un seul tag par son nom sans parcourir toute la collection ?** + +Utilisez l’opération [Remove(name)](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/remove/) sur [TagCollection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) pour supprimer le tag par sa clé. + +**Comment récupérer la liste complète des noms de tags pour l’analyse ou le filtrage ?** + +Utilisez [GetNamesOfTags](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/getnamesoftags/) sur la [tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/); elle renvoie un tableau de tous les noms de tags. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md b/fr/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md index 91624b1e7e..b00ed9813b 100644 --- a/fr/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md +++ b/fr/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md @@ -1,68 +1,67 @@ --- -title: Graphiques Animés +title: Graphiques animés type: docs weight: 80 url: /fr/net/animated-charts/ -keywords: "Graphiques, Séries de Graphiques, Animation Présentation PowerPoint, PPTX, PPT, C#, Csharp, Aspose.Slides pour .NET" -description: "Séries de graphiques et animations dans C# ou .NET" +keywords: "Graphiques, Séries de graphiques, Animation de présentation PowerPoint, PPTX, PPT, C#, Csharp, Aspose.Slides for .NET" +description: "Séries et animations de graphiques PowerPoint en C# ou .NET" --- -Aspose.Slides pour .NET prend en charge l'animation des éléments du graphique. **Séries**, **Catégories**, **Éléments de Série**, **Éléments de Catégorie** peuvent être animés avec la méthode [**ISequence**.**AddEffect**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect) et deux énumérations [**EffectChartMajorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype) et [**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype). -## **Animation des Séries de Graphiques** -Si vous souhaitez animer une série de graphiques, écrivez le code selon les étapes énumérées ci-dessous : +Aspose.Slides for .NET prend en charge l’animation des éléments du graphique. **Series**, **Categories**, **Series Elements**, **Categories Elements** peuvent être animés avec la méthode [**ISequence**.**AddEffect** ](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect) et deux énumérations [**EffectChartMajorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype) et [**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype). -1. Charger une présentation. -1. Obtenir la référence de l'objet graphique. -1. Animer la série. -1. Écrire le fichier de présentation sur le disque. +## **Animation des séries de graphique** +Si vous souhaitez animer une série de graphique, écrivez le code selon les étapes ci‑dessous : -Dans l'exemple donné ci-dessous, nous avons animé des séries de graphiques. +1. Charger une présentation. +1. Obtenir la référence de l’objet graphique. +1. Animer la série. +1. Enregistrer le fichier de présentation sur le disque. +Dans l’exemple ci‑dessous, nous avons animé une série de graphique. ```c# -// Instancier la classe Presentation qui représente un fichier de présentation -using (Presentation presentation = new Presentation("ExistingChart.pptx")) -{ - // Obtenir la référence de l'objet graphique - var slide = presentation.Slides[0] as Slide; - var shapes = slide.Shapes as ShapeCollection; - var chart = shapes[0] as IChart; - - // Animer les séries - slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, - EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, - EffectChartMajorGroupingType.BySeries, 0, - EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, - EffectChartMajorGroupingType.BySeries, 1, - EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, - EffectChartMajorGroupingType.BySeries, 2, - EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, - EffectChartMajorGroupingType.BySeries, 3, - EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - // Écrire la présentation modifiée sur le disque - presentation.Save("AnimatingSeries_out.pptx", SaveFormat.Pptx); -} + // Instancier la classe Presentation qui représente un fichier de présentation + using (Presentation presentation = new Presentation("ExistingChart.pptx")) + { + // Obtenir la référence de l'objet graphique + var slide = presentation.Slides[0] as Slide; + var shapes = slide.Shapes as ShapeCollection; + var chart = shapes[0] as IChart; + + // Animer les séries + slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, + EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, + EffectChartMajorGroupingType.BySeries, 0, + EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, + EffectChartMajorGroupingType.BySeries, 1, + EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, + EffectChartMajorGroupingType.BySeries, 2, + EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, + EffectChartMajorGroupingType.BySeries, 3, + EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + // Enregistrer la présentation modifiée sur le disque + presentation.Save("AnimatingSeries_out.pptx", SaveFormat.Pptx); + } ``` -## **Animation des Catégories de Graphiques** -Si vous souhaitez animer une série de graphiques, écrivez le code selon les étapes énumérées ci-dessous : +## **Animation des catégories de graphique** +Si vous souhaitez animer une catégorie de graphique, écrivez le code selon les étapes ci‑dessous : -1. Charger une présentation. -1. Obtenir la référence de l'objet graphique. -1. Animer la Catégorie. -1. Écrire le fichier de présentation sur le disque. - -Dans l'exemple donné ci-dessous, nous avons animé la catégorie du graphique. +1. Charger une présentation. +1. Obtenir la référence de l’objet graphique. +1. Animer la catégorie. +1. Enregistrer le fichier de présentation sur le disque. +Dans l’exemple ci‑dessous, nous avons animé une catégorie de graphique. ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -75,8 +74,7 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 2, EffectType.Appear, EffectSubtype.No ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 1, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); @@ -86,24 +84,23 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.No - // Écrire le fichier de présentation sur le disque + // Enregistrer le fichier de présentation sur le disque presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx); } ``` -## **Animation des Éléments de Série** -Si vous souhaitez animer des éléments de série, écrivez le code selon les étapes énumérées ci-dessous : +## **Animation des éléments de série** +Si vous souhaitez animer les éléments de série, écrivez le code selon les étapes ci‑dessous : -1. Charger une présentation. -1. Obtenir la référence de l'objet graphique. -1. Animer les éléments de série. -1. Écrire le fichier de présentation sur le disque. - -Dans l'exemple donné ci-dessous, nous avons animé les éléments de série. +1. Charger une présentation. +1. Obtenir la référence de l’objet graphique. +1. Animer les éléments de série. +1. Enregistrer le fichier de présentation sur le disque. +Dans l’exemple ci‑dessous, nous avons animé les éléments de la série. ```c# // Charger une présentation using (Presentation presentation = new Presentation("ExistingChart.pptx")) @@ -131,21 +128,21 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // Écrire le fichier de présentation sur le disque + // Enregistrer le fichier de présentation sur le disque presentation.Save("AnimatingSeriesElements_out.pptx", SaveFormat.Pptx); +} ``` -## **Animation dans l'Élément de Catégorie** -Si vous souhaitez animer les éléments de catégories, écrivez le code selon les étapes énumérées ci-dessous : +## **Animation des éléments de catégorie** +Si vous souhaitez animer les éléments de catégorie, écrivez le code selon les étapes ci‑dessous : -1. Charger une présentation. -1. Obtenir la référence de l'objet graphique. -1. Animer les éléments de catégories. -1. Écrire le fichier de présentation sur le disque. - -Dans l'exemple donné ci-dessous, nous avons animé les éléments de catégories. +1. Charger une présentation. +1. Obtenir la référence de l’objet graphique. +1. Animer les éléments de catégorie. +1. Enregistrer le fichier de présentation sur le disque. +Dans l’exemple ci‑dessous, nous avons animé les éléments de catégorie. ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -171,7 +168,30 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // Écrire le fichier de présentation sur le disque + // Enregistrer le fichier de présentation sur le disque presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Des types d’effets différents (par ex., entrée, mise en valeur, sortie) sont‑ils pris en charge pour les graphiques comme pour les formes ordinaires ?** + +Oui. Un graphique est traité comme une forme, il prend donc en charge les types d’effets d’animation standards, y compris entrée, mise en valeur et sortie, avec un contrôle complet via la chronologie de la diapositive et les séquences d’animation. + +**Puis‑je combiner l’animation du graphique avec les transitions de diapositive ?** + +Oui. Les [Transitions](/slides/fr/net/slide-transition/) s’appliquent à la diapositive, tandis que les effets d’animation s’appliquent aux objets de la diapositive. Vous pouvez les utiliser conjointement dans la même présentation et les contrôler indépendamment. + +**Les animations de graphique sont‑elles conservées lors de l’enregistrement au format PPTX ?** + +Oui. Lorsque vous [enregistrez au format PPTX](/slides/fr/net/save-presentation/), tous les effets d’animation et leur ordre sont conservés car ils font partie du modèle d’animation natif de la présentation. + +**Puis‑je lire les animations de graphique existantes dans une présentation et les modifier ?** + +Oui. L’[API](https://reference.aspose.com/slides/net/aspose.slides.animation/) donne accès à la chronologie de la diapositive, aux séquences et aux effets, vous permettant d’inspecter les animations de graphique existantes et de les ajuster sans tout recréer depuis le départ. + +**Puis‑je produire une vidéo incluant les animations de graphique avec Aspose.Slides ?** + +Oui. Vous pouvez [exporter une présentation vers une vidéo](/slides/fr/net/convert-powerpoint-to-video/) tout en préservant les animations, en configurant les durées et les autres paramètres d’exportation afin que le clip résultant reflète la lecture animée. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md index 4ec269e9cc..851884f788 100644 --- a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md +++ b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md @@ -1,15 +1,14 @@ --- -title: Calculs de Graphiques +title: "Calculs de graphiques" type: docs weight: 50 url: /fr/net/chart-calculations/ -keywords: "Calculs de graphiques, éléments de graphique, position d'élément, valeurs de graphique C#, Csharp, Aspose.Slides pour .NET" +keywords: "Calculs de graphiques, éléments de graphique, position d'élément, valeurs de graphique C#, Csharp, Aspose.Slides for .NET" description: "Calculs et valeurs de graphiques PowerPoint en C# ou .NET" --- -## **Calculer les Valeurs Réelles des Éléments de Graphique** -Aspose.Slides pour .NET fournit une API simple pour obtenir ces propriétés. Cela vous aidera à calculer les valeurs réelles des éléments de graphique. Les valeurs réelles incluent la position des éléments qui implémentent l'interface IActualLayout (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) et les valeurs réelles des axes (IAxis.ActualMaxValue, IAxis.ActualMinValue, IAxis.ActualMajorUnit, IAxis.ActualMinorUnit, IAxis.ActualMajorUnitScale, IAxis.ActualMinorUnitScale). - +## **Calculer les valeurs réelles des éléments du graphique** +Aspose.Slides for .NET fournit une API simple permettant d'obtenir ces propriétés. Cela vous aidera à calculer les valeurs réelles des éléments du graphique. Les valeurs réelles comprennent la position des éléments qui implémentent l'interface IActualLayout (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) ainsi que les valeurs réelles des axes (IAxis.ActualMaxValue, IAxis.ActualMinValue, IAxis.ActualMajorUnit, IAxis.ActualMinorUnit, IAxis.ActualMajorUnitScale, IAxis.ActualMinorUnitScale). ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -20,14 +19,16 @@ using (Presentation pres = new Presentation("test.pptx")) double w = chart.PlotArea.ActualWidth; double h = chart.PlotArea.ActualHeight; - // Enregistrer la présentation + // Enregistrement de la présentation pres.Save("Result.pptx", SaveFormat.Pptx); } ``` -## **Calculer la Position Réelle des Éléments de Graphique Parent** -Aspose.Slides pour .NET fournit une API simple pour obtenir ces propriétés. Les propriétés de IActualLayout fournissent des informations sur la position réelle de l'élément de graphique parent. Il est nécessaire d'appeler la méthode IChart.ValidateChartLayout() au préalable pour remplir les propriétés avec des valeurs réelles. + + +## **Calculer la position réelle des éléments parent du graphique** +Aspose.Slides for .NET fournit une API simple permettant d'obtenir ces propriétés. Les propriétés de IActualLayout fournissent des informations sur la position réelle de l'élément parent du graphique. Il est nécessaire d'appeler la méthode IChart.ValidateChartLayout() au préalable pour remplir les propriétés avec les valeurs réelles. ```c# // Création d'une présentation vide using (Presentation pres = new Presentation()) @@ -42,28 +43,30 @@ using (Presentation pres = new Presentation()) } ``` -## **Masquer des Informations depuis le Graphique** -Ce sujet vous aide à comprendre comment masquer des informations depuis le graphique. En utilisant Aspose.Slides pour .NET, vous pouvez masquer **Titre, Axe Vertical, Axe Horizontal** et **Lignes de Grille** du graphique. L'exemple de code ci-dessous montre comment utiliser ces propriétés. + + +## **Masquer des informations du graphique** +Ce sujet vous aide à comprendre comment masquer des informations du graphique. Avec Aspose.Slides for .NET, vous pouvez masquer le **Titre, l'Axe vertical, l'Axe horizontal** et les **Lignes de grille** du graphique. L'exemple de code ci‑dessous montre comment utiliser ces propriétés. ```c# using (Presentation pres = new Presentation()) { ISlide slide = pres.Slides[0]; IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 140, 118, 320, 370); - //Masquer le Titre du graphique + //Masquer le titre du graphique chart.HasTitle = false; - //Masquer l'axe des Valeurs + ///Masquer l'axe des valeurs chart.Axes.VerticalAxis.IsVisible = false; - //Visibilité de l'Axe Catégorique + //Visibilité de l'axe des catégories chart.Axes.HorizontalAxis.IsVisible = false; - //Masquer la Légende + //Masquer la légende chart.HasLegend = false; - //Masquer les MajorGridLines + //Masquer les lignes de grille majeures chart.Axes.HorizontalAxis.MajorGridLinesFormat.Line.FillFormat.FillType = FillType.NoFill; for (int i = 0; i < chart.ChartData.Series.Count; i++) @@ -78,11 +81,26 @@ using (Presentation pres = new Presentation()) series.Labels.DefaultDataLabelFormat.Position = LegendDataLabelPosition.Top; series.Marker.Size = 15; - //Définir la couleur de ligne de la série + //Définir la couleur de la ligne de la série series.Format.Line.FillFormat.FillType = FillType.Solid; series.Format.Line.FillFormat.SolidFillColor.Color = Color.Purple; series.Format.Line.DashStyle = LineDashStyle.Solid; pres.Save("HideInformationFromChart.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Les classeurs Excel externes peuvent-ils être utilisés comme source de données, et comment cela affecte‑t‑il le recalcul ?** + +Oui. Un graphique peut référencer un classeur externe : lorsque vous connectez ou actualisez la source externe, les formules et les valeurs sont prises à partir de ce classeur, et le graphique reflète les mises à jour pendant les opérations d'ouverture/édition. L'API vous permet de [spécifier le classeur externe](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/) chemin et de gérer les données liées. + +**Puis‑je calculer et afficher des lignes de tendance sans implémenter moi‑même la régression ?** + +Oui. Les [lignes de tendance](/slides/fr/net/trend-line/) (linéaires, exponentielles et autres) sont ajoutées et mises à jour par Aspose.Slides ; leurs paramètres sont recalculés automatiquement à partir des données de la série, vous n'avez donc pas besoin d'implémenter vos propres calculs. + +**Si une présentation comporte plusieurs graphiques avec des liens externes, puis‑je contrôler quel classeur chaque graphique utilise pour les valeurs calculées ?** + +Oui. Chaque graphique peut pointer vers son propre [classeur externe](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/), ou vous pouvez créer/remplacer un classeur externe par graphique indépendamment des autres. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md index ad6e8b2411..af343c868d 100644 --- a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md +++ b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md @@ -1,14 +1,13 @@ --- -title: Appel +title: Annotation type: docs url: /fr/net/callout/ -keywords: "Appel de graphique, étiquette de données de graphique, C#, Csharp, Aspose.Slides pour .NET" -description: "Appels de graphique PowerPoint et étiquettes de données en C# ou .NET" +keywords: "Annotation de graphique, étiquette de données de graphique, C#, Csharp, Aspose.Slides for .NET" +description: "Annotations de graphiques PowerPoint et étiquettes de données en C# ou .NET" --- -## **Utilisation des Appels** -Une nouvelle propriété **ShowLabelAsDataCallout** a été ajoutée à la classe **DataLabelFormat** et à l'interface **IDataLabelFormat**, qui détermine si l'étiquette de données spécifiée du graphique sera affichée comme un appel de données ou comme une étiquette de données. Dans l'exemple ci-dessous, nous avons défini les Appels. - +## **Utilisation des callouts** +Une nouvelle propriété **ShowLabelAsDataCallout** a été ajoutée à la classe **DataLabelFormat** et à l'interface **IDataLabelFormat**, qui détermine si l'étiquette de données du graphique spécifié sera affichée comme annotation de données ou comme étiquette de données. Dans l'exemple ci-dessous, nous avons défini les annotations. ```c# using (Presentation presentation = new Presentation()) { @@ -21,10 +20,8 @@ using (Presentation presentation = new Presentation()) ``` - -## **Définir un Appel pour un Graphique Anneau** -Aspose.Slides pour .NET fournit un support pour définir la forme de l'étiquette de données de la série pour un graphique en anneau. Un exemple d'échantillon est donné ci-dessous. - +## **Définir l'annotation pour le graphique en anneau** +Aspose.Slides for .NET offre la prise en charge de la définition de la forme d'annotation d'étiquette de données de série pour un graphique en anneau. Un exemple d'échantillon est présenté ci-dessous. ```c# Presentation pres = new Presentation("testc.pptx"); ISlide slide = pres.Slides[0]; @@ -36,50 +33,61 @@ chart.HasLegend = false; int seriesIndex = 0; while (seriesIndex < 15) { - IChartSeries series = chart.ChartData.Series.Add(workBook.GetCell(0, 0, seriesIndex + 1, "SÉRIE " + seriesIndex), chart.Type); - series.Explosion = 0; - series.ParentSeriesGroup.DoughnutHoleSize = (byte)20; - series.ParentSeriesGroup.FirstSliceAngle = 351; - seriesIndex++; + IChartSeries series = chart.ChartData.Series.Add(workBook.GetCell(0, 0, seriesIndex + 1, "SERIES " + seriesIndex), chart.Type); + series.Explosion = 0; + series.ParentSeriesGroup.DoughnutHoleSize = (byte)20; + series.ParentSeriesGroup.FirstSliceAngle = 351; + seriesIndex++; } int categoryIndex = 0; while (categoryIndex < 15) { - chart.ChartData.Categories.Add(workBook.GetCell(0, categoryIndex + 1, 0, "CATÉGORIE " + categoryIndex)); - int i = 0; - while (i < chart.ChartData.Series.Count) - { - IChartSeries iCS = chart.ChartData.Series[i]; - IChartDataPoint dataPoint = iCS.DataPoints.AddDataPointForDoughnutSeries(workBook.GetCell(0, categoryIndex + 1, i + 1, 1)); - dataPoint.Format.Fill.FillType = FillType.Solid; - dataPoint.Format.Line.FillFormat.FillType = FillType.Solid; - dataPoint.Format.Line.FillFormat.SolidFillColor.Color = Color.White; - dataPoint.Format.Line.Width = 1; - dataPoint.Format.Line.Style = LineStyle.Single; - dataPoint.Format.Line.DashStyle = LineDashStyle.Solid; - if (i == chart.ChartData.Series.Count - 1) - { - IDataLabel lbl = dataPoint.Label; - lbl.TextFormat.TextBlockFormat.AutofitType = TextAutofitType.Shape; - lbl.DataLabelFormat.TextFormat.PortionFormat.FontBold = NullableBool.True; - lbl.DataLabelFormat.TextFormat.PortionFormat.LatinFont = new FontData("DINPro-Bold"); - lbl.DataLabelFormat.TextFormat.PortionFormat.FontHeight = 12; - lbl.DataLabelFormat.TextFormat.PortionFormat.FillFormat.FillType = FillType.Solid; - lbl.DataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.LightGray; - lbl.DataLabelFormat.Format.Line.FillFormat.SolidFillColor.Color = Color.White; - lbl.DataLabelFormat.ShowValue = false; - lbl.DataLabelFormat.ShowCategoryName = true; - lbl.DataLabelFormat.ShowSeriesName = false; - //lbl.DataLabelFormat.ShowLabelAsDataCallout = true; - lbl.DataLabelFormat.ShowLeaderLines = true; - lbl.DataLabelFormat.ShowLabelAsDataCallout = false; - chart.ValidateChartLayout(); - lbl.AsILayoutable.X = (float)lbl.AsILayoutable.X + (float)0.5; - lbl.AsILayoutable.Y = (float)lbl.AsILayoutable.Y + (float)0.5; - } - i++; - } - categoryIndex++; + chart.ChartData.Categories.Add(workBook.GetCell(0, categoryIndex + 1, 0, "CATEGORY " + categoryIndex)); + int i = 0; + while (i < chart.ChartData.Series.Count) + { + IChartSeries iCS = chart.ChartData.Series[i]; + IChartDataPoint dataPoint = iCS.DataPoints.AddDataPointForDoughnutSeries(workBook.GetCell(0, categoryIndex + 1, i + 1, 1)); + dataPoint.Format.Fill.FillType = FillType.Solid; + dataPoint.Format.Line.FillFormat.FillType = FillType.Solid; + dataPoint.Format.Line.FillFormat.SolidFillColor.Color = Color.White; + dataPoint.Format.Line.Width = 1; + dataPoint.Format.Line.Style = LineStyle.Single; + dataPoint.Format.Line.DashStyle = LineDashStyle.Solid; + if (i == chart.ChartData.Series.Count - 1) + { + IDataLabel lbl = dataPoint.Label; + lbl.TextFormat.TextBlockFormat.AutofitType = TextAutofitType.Shape; + lbl.DataLabelFormat.TextFormat.PortionFormat.FontBold = NullableBool.True; + lbl.DataLabelFormat.TextFormat.PortionFormat.LatinFont = new FontData("DINPro-Bold"); + lbl.DataLabelFormat.TextFormat.PortionFormat.FontHeight = 12; + lbl.DataLabelFormat.TextFormat.PortionFormat.FillFormat.FillType = FillType.Solid; + lbl.DataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.LightGray; + lbl.DataLabelFormat.Format.Line.FillFormat.SolidFillColor.Color = Color.White; + lbl.DataLabelFormat.ShowValue = false; + lbl.DataLabelFormat.ShowCategoryName = true; + lbl.DataLabelFormat.ShowSeriesName = false; + //lbl.DataLabelFormat.ShowLabelAsDataCallout = true; + lbl.DataLabelFormat.ShowLeaderLines = true; + lbl.DataLabelFormat.ShowLabelAsDataCallout = false; + chart.ValidateChartLayout(); + lbl.AsILayoutable.X = (float)lbl.AsILayoutable.X + (float)0.5; + lbl.AsILayoutable.Y = (float)lbl.AsILayoutable.Y + (float)0.5; + } + i++; + } + categoryIndex++; } pres.Save("chart.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**Les annotations sont‑elles conservées lors de la conversion d’une présentation en PDF, HTML5, SVG ou images ?** + +Oui. Les annotations font partie du rendu du graphique, de sorte que lorsque vous exportez vers [PDF](/slides/fr/net/convert-powerpoint-to-pdf/), [HTML5](/slides/fr/net/export-to-html5/), [SVG](/slides/fr/net/render-a-slide-as-an-svg-image/) ou [images matricielles](/slides/fr/net/convert-powerpoint-to-png/), elles sont conservées avec le formatage de la diapositive. + +**Les polices personnalisées fonctionnent‑elles dans les annotations, et leur apparence peut‑elle être conservée lors de l’exportation ?** + +Oui. Aspose.Slides prend en charge [l’intégration de polices](/slides/fr/net/embedded-font/) dans la présentation et contrôle l’intégration des polices lors des exportations telles que [PDF](/slides/fr/net/convert-powerpoint-to-pdf/), garantissant que les annotations conservent le même aspect sur différents systèmes. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index 6930b9a9dd..c062ddfe31 100644 --- a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,27 +1,25 @@ --- -title: Axe de diagramme +title: Axe du graphique type: docs url: /fr/net/chart-axis/ -keywords: "Axe de diagramme PowerPoint, Diagrammes de présentation, C#, .NET, Manipuler l'Axe de diagramme, Données de diagramme" -description: "Modifier l'axe du diagramme PowerPoint en C# ou .NET" +keywords: "Axe de graphique PowerPoint, Graphiques de présentation, C#, .NET, Manipuler l'axe du graphique, Données du graphique" +description: "Modifier l'axe du graphique PowerPoint en C# ou .NET" --- +## **Obtenir les valeurs maximales sur l'axe vertical des graphiques** +Aspose.Slides for .NET vous permet d'obtenir les valeurs minimale et maximale sur un axe vertical. Suivez ces étapes : -## **Obtenir les valeurs maximales sur l'axe vertical des diagrammes** -Aspose.Slides pour .NET vous permet d'obtenir les valeurs minimales et maximales sur un axe vertical. Suivez ces étapes : - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Accédez à la première diapositive. -1. Ajoutez un diagramme 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 d'exemple—une implémentation des étapes ci-dessus—vous montre comment obtenir les valeurs requises en C# : +1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Accéder à la première diapositive. +3. Ajouter un graphique avec les données par défaut. +4. Obtenir la valeur maximale réelle de l'axe. +5. Obtenir la valeur minimale réelle de l'axe. +6. Obtenir l'unité principale réelle de l'axe. +7. Obtenir l'unité secondaire réelle de l'axe. +8. Obtenir l'échelle de l'unité principale réelle de l'axe. +9. Obtenir l'échelle de l'unité secondaire réelle de l'axe. +Ce code d'exemple — une implémentation des étapes ci‑dessus — montre comment obtenir les valeurs requises en C#: ```c# using (Presentation pres = new Presentation()) { @@ -34,35 +32,33 @@ using (Presentation pres = new Presentation()) double majorUnit = chart.Axes.HorizontalAxis.ActualMajorUnit; double minorUnit = chart.Axes.HorizontalAxis.ActualMinorUnit; - // Sauvegarde de la présentation + // Enregistre la présentation presentation.Save("ErrorBars_out.pptx", 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) se déplacent vers l'axe horizontal (axe des x) et vice versa. - -Ce code C# vous montre comment effectuer la tâche d'échange de données entre les axes d'un diagramme : +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 C# montre comment réaliser l'échange des données entre les axes d'un graphique : ```c# // Crée une présentation vide using (Presentation pres = new Presentation()) { IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 400, 300); - // Échange les lignes et les colonnes + //Échange les lignes et les colonnes chart.ChartData.SwitchRowColumn(); - // Sauvegarde de la présentation + // Enregistre la présentation pres.Save("SwitchChartRowColumns_out.pptx", SaveFormat.Pptx); } ``` -## **Désactiver l'axe vertical pour les diagrammes linéaires** - -Ce code C# vous montre comment masquer l'axe vertical pour un diagramme linéaire : +## **Désactiver l'axe vertical pour les graphiques en courbes** +Ce code C# montre comment masquer l'axe vertical d'un graphique en courbes : ```c# using (Presentation pres = new Presentation()) { @@ -73,10 +69,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Désactiver l'axe horizontal pour les diagrammes linéaires** - -Ce code vous montre comment masquer l'axe horizontal pour un diagramme linéaire : +## **Désactiver l'axe horizontal pour les graphiques en courbes** +Ce code montre comment masquer l'axe horizontal d'un graphique en courbes : ```c# using (Presentation pres = new Presentation()) { @@ -87,10 +82,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Changer l'axe des catégories** - -À l'aide de la propriété **CategoryAxisType**, vous pouvez spécifier votre type d'axe de catégorie préféré (**date** ou **texte**). Ce code en C# 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 C# montre l'opération : ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -103,9 +97,9 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) } ``` -## **Définir le format de date pour la valeur de l'axe des catégories** -Aspose.Slides pour .NET vous permet de définir le format de date pour une valeur d'axe de catégorie. L'opération est démontrée dans ce code C# : +## **Définir le format de date pour la valeur de l'axe des catégories** +Aspose.Slides for .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 C# : ```c# using (Presentation pres = new Presentation()) { @@ -134,9 +128,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Définir l'angle de rotation pour le titre de l'axe du diagramme** -Aspose.Slides pour .NET vous permet de définir l'angle de rotation pour un titre d'axe de diagramme. Ce code C# démontre l'opération : +## **Définir l'angle de rotation du titre de l'axe du graphique** +Aspose.Slides for .NET vous permet de définir l'angle de rotation du titre d'un axe de graphique. Ce code C# montre l'opération : ```c# using (Presentation pres = new Presentation()) { @@ -148,9 +142,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Définir l'axe de position dans un axe de catégorie ou de valeur** -Aspose.Slides pour .NET vous permet de définir l'axe de position dans un axe de catégorie ou de valeur. Ce code C# 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 .NET vous permet de définir la position de l'axe dans un axe de catégorie ou de valeur. Ce code C# montre comment effectuer la tâche : ```c# using (Presentation pres = new Presentation()) { @@ -161,9 +155,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Activer l'étiquette d'unité d'affichage sur l'axe de valeur du diagramme** -Aspose.Slides pour .NET vous permet de configurer un diagramme pour afficher une étiquette d'unité sur son axe de valeur du diagramme. Ce code C# démontre l'opération : +## **Activer l'étiquette d'unité d'affichage sur l'axe des valeurs du graphique** +Aspose.Slides for .NET vous permet de configurer un graphique afin d'afficher une étiquette d'unité sur son axe des valeurs. Ce code C# montre l'opération : ```c# using (Presentation pres = new Presentation(dataDir+"Test.pptx")) { @@ -171,4 +165,15 @@ using (Presentation pres = new Presentation(dataDir+"Test.pptx")) chart.Axes.VerticalAxis.DisplayUnit = DisplayUnitType.Millions; pres.Save("Result.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Comment définir la valeur à laquelle un axe croise l'autre (croisement des axes) ?** + +Les axes offrent un [paramètre de croisement](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/crosstype/): vous pouvez choisir de croiser à zéro, au maximum de la catégorie/valeur, ou à une valeur numérique précise. 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 graduation par rapport à l'axe (à côté, à l'extérieur, à l'intérieur) ?** + +Définissez la [position de l'étiquette](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/majortickmark/) sur «cross», «outside» ou «inside». Cela influe sur la lisibilité et aide à économiser de l'espace, notamment sur les petits graphiques. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md index 6e88206e76..00f3019b2d 100644 --- a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md +++ b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md @@ -2,16 +2,15 @@ title: Étiquette de données du graphique type: docs url: /fr/net/chart-data-label/ -keywords: "Étiquette de données du graphique, distance des étiquettes, C#, Csharp, Aspose.Slides pour .NET" +keywords: "Étiquette de données du graphique, distance d'étiquette, C#, Csharp, Aspose.Slides for .NET" description: "Définir l'étiquette de données du graphique PowerPoint et la distance en C# ou .NET" --- -Les étiquettes de données sur un graphique montrent des détails sur les séries de données du graphique ou des points de données individuels. Elles permettent aux lecteurs d'identifier rapidement les séries de données et rendent également les graphiques plus faciles à comprendre. +Les étiquettes de données d’un graphique affichent des détails sur les séries de données du graphique ou sur des points de données individuels. Elles permettent aux lecteurs d’identifier rapidement les séries de données et facilitent également la compréhension des graphiques. ## **Définir la précision des données dans les étiquettes de données du graphique** -Ce code C# vous montre comment définir la précision des données dans une étiquette de données du graphique : - +Ce code C# vous montre comment définir la précision des données dans une étiquette de données de graphique : ```c# using (Presentation pres = new Presentation()) { @@ -23,9 +22,10 @@ using (Presentation pres = new Presentation()) } ``` -## **Afficher le pourcentage comme étiquettes** -Aspose.Slides pour .NET permet de définir des étiquettes de pourcentage sur les graphiques affichés. Ce code C# démontre l'opération : +## **Afficher le pourcentage en tant qu’étiquettes** + +Aspose.Slides for .NET vous permet de définir des étiquettes de pourcentage sur les graphiques affichés. Ce code C# illustre l’opération : ```c# // Crée une instance de la classe Presentation Presentation presentation = new Presentation(); @@ -76,41 +76,42 @@ for (int x = 0; x < chart.ChartData.Series.Count; x++) presentation.Save("DisplayPercentageAsLabels_out.pptx", SaveFormat.Pptx); ``` -## **Définir le signe de pourcentage avec les étiquettes de données du graphique** -Ce code C# vous montre comment définir le signe de pourcentage pour une étiquette de données du graphique : +## **Définir le symbole de pourcentage avec les étiquettes de données du graphique** + +Ce code C# vous montre comment définir le symbole de pourcentage pour une étiquette de données de graphique : ```c# -// Crée une instance de la classe Presentation + // Crée une instance de la classe Presentation Presentation presentation = new Presentation(); -// Obtient une référence de slide par son index + // Récupère la référence d'une diapositive via son index ISlide slide = presentation.Slides[0]; -// Crée le graphique PercentsStackedColumn sur une diapositive + // Crée le graphique PercentsStackedColumn sur une diapositive IChart chart = slide.Shapes.AddChart(ChartType.PercentsStackedColumn, 20, 20, 500, 400); -// Définit le NumberFormatLinkedToSource sur false + // Définit NumberFormatLinkedToSource à false chart.Axes.VerticalAxis.IsNumberFormatLinkedToSource = false; chart.Axes.VerticalAxis.NumberFormat = "0.00%"; chart.ChartData.Series.Clear(); int defaultWorksheetIndex = 0; -// Obtient la feuille de calcul des données du graphique + // Récupère la feuille de données du graphique IChartDataWorkbook workbook = chart.ChartData.ChartDataWorkbook; -// Ajoute de nouvelles séries + // Ajoute une nouvelle série IChartSeries series = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 1, "Reds"), chart.Type); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 1, 0.30)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 1, 0.50)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 3, 1, 0.80)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 4, 1, 0.65)); -// Définit la couleur de remplissage de la série + // Définit la couleur de remplissage de la série series.Format.Fill.FillType = FillType.Solid; series.Format.Fill.SolidFillColor.Color = Color.Red; -// Définit les propriétés LabelFormat + // Définit les propriétés de LabelFormat series.Labels.DefaultDataLabelFormat.ShowValue = true; series.Labels.DefaultDataLabelFormat.IsNumberFormatLinkedToSource = false; series.Labels.DefaultDataLabelFormat.NumberFormat = "0.0%"; @@ -119,14 +120,14 @@ series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.FillTyp series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.White; series.Labels.DefaultDataLabelFormat.ShowValue = true; -// Ajoute de nouvelles séries + // Ajoute une nouvelle série IChartSeries series2 = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 2, "Blues"), chart.Type); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 2, 0.70)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 2, 0.50)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 3, 2, 0.20)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 4, 2, 0.35)); -// Définit le type et la couleur de remplissage + // Définit le type de remplissage et la couleur series2.Format.Fill.FillType = FillType.Solid; series2.Format.Fill.SolidFillColor.Color = Color.Blue; series2.Labels.DefaultDataLabelFormat.ShowValue = true; @@ -136,18 +137,19 @@ series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FontHeight = 10; series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.FillType = FillType.Solid; series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.White; -// Écrit la présentation sur le disque + // Enregistre la présentation sur le disque presentation.Save("SetDataLabelsPercentageSign_out.pptx", SaveFormat.Pptx); ``` -## **Définir la distance de l'étiquette par rapport à l'axe** -Ce code C# vous montre comment définir la distance de l'étiquette par rapport à un axe de catégorie lorsque vous traitez avec un graphique tracé à partir des axes : +## **Définir la distance de l’étiquette par rapport à l’axe** + +Ce code C# vous montre comment définir la distance de l’étiquette par rapport à un axe de catégorie lorsque vous travaillez avec un graphique tracé à partir d’axes : ```c# -// Crée une instance de la classe Presentation + // Crée une instance de la classe Presentation Presentation presentation = new Presentation(); -// Obtient une référence de slide +// Obtient la référence d'une diapositive ISlide sld = presentation.Slides[0]; // Crée un graphique sur la diapositive @@ -156,16 +158,16 @@ IChart ch = sld.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 300); // Définit la distance de l'étiquette par rapport à un axe ch.Axes.HorizontalAxis.LabelOffset = 500; -// Écrit la présentation sur le disque +// Enregistre la présentation sur le disque presentation.Save("SetCategoryAxisLabelDistance_out.pptx", SaveFormat.Pptx); ``` -## **Ajuster l'emplacement de l'étiquette** -Lorsque vous créez un graphique qui ne repose sur aucun axe, comme un graphique en secteurs, les étiquettes de données du graphique peuvent se retrouver trop près de son bord. Dans ce cas, vous devez ajuster l'emplacement de l'étiquette de données pour que les lignes de leader soient affichées clairement. +## **Ajuster la position de l’étiquette** -Ce code C# vous montre comment ajuster l'emplacement de l'étiquette sur un graphique en secteurs : +Lorsque vous créez un graphique qui ne dépend d’aucun axe, comme un diagramme en secteurs, les étiquettes de données du graphique peuvent se retrouver trop proches de son bord. Dans ce cas, il faut ajuster la position de l’étiquette de données afin que les traits de liaison soient affichés clairement. +Ce code C# vous montre comment ajuster la position de l’étiquette sur un diagramme en secteurs : ```c# using (Presentation pres = new Presentation()) { @@ -183,4 +185,16 @@ using (Presentation pres = new Presentation()) } ``` -![pie-chart-adjusted-label](pie-chart-adjusted-label.png) \ No newline at end of file + +![pie-chart-adjusted-label](pie-chart-adjusted-label.png) + +## **FAQ** + +**Comment puis‑je éviter que les étiquettes de données se chevauchent sur des graphiques denses ?** +Combinez le placement automatique des étiquettes, les traits de liaison et la réduction de la taille de police ; si nécessaire, masquez certains champs (par exemple, la catégorie) ou n’affichez les étiquettes que pour les points extrêmes/clés. + +**Comment puis‑je désactiver les étiquettes uniquement pour les valeurs zéro, négatives ou vides ?** +Filtrez les points de données avant d’activer les étiquettes et désactivez l’affichage pour les valeurs égales à 0, les valeurs négatives ou les valeurs manquantes selon une règle définie. + +**Comment puis‑je garantir un style d’étiquette cohérent lors de l’exportation en PDF/images ?** +Définissez explicitement les polices (famille, taille) et vérifiez que la police est disponible du côté du rendu afin d’éviter tout remplacement. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index 876a690432..144a1b3781 100644 --- a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,5 +1,5 @@ --- -title: Options de Marqueur de Graphique +title: Marqueur de données de graphique type: docs url: /fr/net/chart-data-marker/ keywords: @@ -12,38 +12,37 @@ keywords: description: "Définir les options de marqueur de graphique dans les présentations PowerPoint en C# ou .NET" --- -## **Définir les Options de Marqueur de Graphique** -Les marqueurs peuvent être définis sur des 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 des marqueurs de 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 des marqueurs de graphique, veuillez suivre les étapes ci-dessous : - Instancier la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). - Créer le graphique par défaut. - Définir l'image. -- Prendre la première série de graphique. +- Prendre la première série du 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. +- Enregistrer la présentation sur le disque. +Dans l'exemple ci-dessous, nous avons défini les options des marqueurs de graphique au niveau des points de données. ```c# // Créer une instance de la classe Presentation using Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; -// Créer le graphique par défaut +// Creating the default chart IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 0, 0, 400, 400); -// Obtenir l'index de la feuille de données graphique par défaut +// Getting the default chart data worksheet index int defaultWorksheetIndex = 0; -// Obtenir la feuille de données graphique +// Getting the chart data worksheet IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook; // Supprimer la série de démonstration chart.ChartData.Series.Clear(); // Ajouter une nouvelle série -chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Série 1"), chart.Type); +chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type); // Définir l'image using IImage image1 = Images.FromFile("aspose-logo.jpg"); @@ -53,10 +52,10 @@ IPPImage imgx1 = presentation.Images.AddImage(image1); using IImage image2 = Images.FromFile("Tulips.jpg"); IPPImage imgx2 = presentation.Images.AddImage(image2); -// Prendre la première série de graphique +// Prendre la première série du graphique IChartSeries series = chart.ChartData.Series[0]; -// Ajouter un nouveau point (1:3) là. +// Ajouter un nouveau point (1:3) ici. IChartDataPoint point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, (double)4.5)); point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx1; @@ -73,9 +72,20 @@ point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorkshee point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx2; -// Changer le marqueur de la série de graphique +// Modification du marqueur de la série du graphique series.Marker.Size = 15; -// Écrire la présentation sur le disque +// Enregistrer la présentation sur le disque presentation.Save("MarkOptions_out.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**Quelles formes de marqueurs sont disponibles prêtes à l'emploi ?** + +Des formes standard sont disponibles (cercle, carré, diamant, triangle, etc.) ; la liste est définie par l'énumération [MarkerStyleType](https://reference.aspose.com/slides/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/net/convert-powerpoint-to-png/) ou lors de l'enregistrement des [formes au format SVG](/slides/fr/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/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md index 2a81e91888..faa5883d4c 100644 --- a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md +++ b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md @@ -1,22 +1,21 @@ --- -title: Tableau de Données du Graphique +title: Tableau de données du graphique type: docs url: /fr/net/chart-data-table/ -keywords: "Propriétés de police, tableau de données du graphique, présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" +keywords: "Propriétés de police, tableau de données du graphique, présentation PowerPoint, C#, Csharp, Aspose.Slides for .NET" description: "Définir les propriétés de police pour le tableau de données du graphique dans les présentations PowerPoint en C# ou .NET" --- -## **Définir les Propriétés de Police pour le Tableau de Données du Graphique** -Aspose.Slides pour .NET prend en charge le changement de couleur des catégories dans une couleur de série. +## **Définir les propriétés de police pour le tableau de données du graphique** +Aspose.Slides for .NET prend en charge la modification de la couleur des catégories dans une série de couleurs. -1. Instancier un objet de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Instancier l'objet de classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 1. Ajouter un graphique sur la diapositive. 1. Définir le tableau du graphique. 1. Définir la hauteur de la police. 1. Enregistrer la présentation modifiée. -Un exemple d'échantillon est donné ci-dessous. - +Exemple d’échantillon ci‑dessous est fourni. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -29,4 +28,23 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Puis‑je afficher de petites clés de légende à côté des valeurs dans le tableau de données du graphique ?** + +Oui. Le tableau de données prend en charge les [legend keys](https://reference.aspose.com/slides/net/aspose.slides.charts/datatable/showlegendkey/), et vous pouvez les activer ou les désactiver. + +**Le tableau de données sera‑t‑il conservé lors de l’exportation de la présentation au format PDF, HTML ou images ?** + +Oui. Aspose.Slides rend le graphique comme partie de la diapositive, de sorte que le [PDF](/slides/fr/net/convert-powerpoint-to-pdf/)/[HTML](/slides/fr/net/convert-powerpoint-to-html/)/[image](/slides/fr/net/convert-powerpoint-to-png/) exporté inclut le graphique avec son tableau de données. + +**Les tableaux de données sont‑ils pris en charge pour les graphiques provenant d’un fichier de modèle ?** + +Oui. Pour tout graphique chargé à partir d’une présentation ou d’un modèle existant, vous pouvez vérifier et modifier si un tableau de données [is shown](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/) à l’aide des propriétés du graphique. + +**Comment puis‑je rapidement trouver quels graphiques d’un fichier ont le tableau de données activé ?** + +Inspectez la propriété de chaque graphique qui indique si le tableau de données [is shown](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/) est activée et parcourez les diapositives pour identifier les graphiques où il est activé. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index d6e2283d37..0b16478d12 100644 --- a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -2,29 +2,28 @@ title: Légende du graphique type: docs url: /fr/net/chart-legend/ -keywords: "Légende du graphique, taille de police de légende, présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" +keywords: "Légende de graphique, taille de police de légende, présentation PowerPoint, C#, Csharp, Aspose.Slides for .NET" description: "Définir le positionnement et la taille de police de la légende du graphique dans les présentations PowerPoint en C# ou .NET" --- ## **Positionnement de la légende** -Pour définir les propriétés de la légende. Veuillez suivre les étapes ci-dessous : +Pour définir les propriétés de la légende, veuillez suivre les étapes ci‑dessous : -- Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/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. -- Écrire la présentation en tant que fichier PPTX. - -Dans l'exemple ci-dessous, nous avons défini la position et la taille pour la légende du graphique. +- Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +- Obtenez la référence de la diapositive. +- Ajoutez un graphique sur la diapositive. +- Définissez les propriétés de la légende. +- Enregistrez la présentation au format PPTX. +Dans l'exemple ci‑dessous, nous avons défini la position et la taille de la légende du graphique. ```c# -// Créer une instance de la classe Presentation +// Créez une instance de la classe Presentation Presentation presentation = new Presentation(); -// Obtenir la référence de la diapositive +// Obtenez la référence de la diapositive ISlide slide = presentation.Slides[0]; -// Ajouter un graphique à colonnes groupées sur la diapositive +// Ajoutez un graphique en colonnes groupées sur la diapositive IChart chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 500); // Définir les propriétés de la légende @@ -33,21 +32,20 @@ chart.Legend.Y = 50 / chart.Height; chart.Legend.Width = 100 / chart.Width; chart.Legend.Height = 100 / chart.Height; -// Écrire la présentation sur disque +// Enregistrez la présentation sur le disque presentation.Save("Legend_out.pptx", SaveFormat.Pptx); ``` ## **Définir la taille de police de la légende** -Aspose.Slides pour .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 police. -- Définir la valeur min de l'axe. -- Définir la valeur max de l'axe. -- Écrire la présentation sur disque. - +Aspose.Slides for .NET permet aux développeurs de définir la taille de police de la légende. Veuillez suivre les étapes ci‑dessous : + +- Instanciez la classe `Presentation`. +- Créez le graphique par défaut. +- Définissez la taille de la police. +- Définissez la valeur minimale de l'axe. +- Définissez la valeur maximale de l'axe. +- Enregistrez la présentation sur le disque. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -64,17 +62,16 @@ using (Presentation pres = new Presentation("test.pptx")) ``` -## **Définir la taille de police de la légende individuelle** -Aspose.Slides pour .NET permet aux développeurs de définir la taille de police des entrées de légende individuelles. Veuillez suivre les étapes ci-dessous : - -- Instancier la classe `Presentation`. -- Créer le graphique par défaut. -- Accéder à l'entrée de légende. -- Définir la taille de police. -- Définir la valeur min de l'axe. -- Définir la valeur max de l'axe. -- Écrire la présentation sur disque. +## **Définir la taille de police d'une entrée de légende individuelle** +Aspose.Slides for .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 : +- Instanciez la classe `Presentation`. +- Créez le graphique par défaut. +- Accédez à l'entrée de légende. +- Définissez la taille de la police. +- Définissez la valeur minimale de l'axe. +- Définissez la valeur maximale de l'axe. +- Enregistrez la présentation sur le disque. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -89,4 +86,19 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Puis-je activer la légende afin que le graphique réserve automatiquement de l'espace pour celle-ci au lieu de la superposer ?** + +Oui. Utilisez le mode non-superposition ([Overlay](https://reference.aspose.com/slides/net/aspose.slides.charts/legend/overlay/) = `false`); dans ce cas, la zone de traçage sera réduite pour accueillir la légende. + +**Puis-je créer des libellés de légende sur plusieurs lignes ?** + +Oui. Les libellés longs passent automatiquement à la ligne lorsque l'espace est insuffisant; 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/fills/polices explicites pour la légende ou son texte. Ils hériteront alors du thème et seront mis à jour correctement lorsque le design changera. \ No newline at end of file diff --git a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index 316f487809..538be3bf3e 100644 --- a/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/fr/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,23 +1,22 @@ --- -title: Zone de tracé de graphique +title: Zone de tracé du graphique type: docs url: /fr/net/chart-plot-area/ -keywords: "Zone de tracé de graphique présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" -description: "Obtenez la largeur, la hauteur de la zone de tracé de graphique. Définir le mode de disposition. Présentation PowerPoint en C# ou .NET" +keywords: "Zone de tracé du graphique présentation PowerPoint, C#, Csharp, Aspose.Slides pour .NET" +description: "Obtenez la largeur et la hauteur de la zone de tracé du graphique. Définissez le mode de mise en page. Présentation PowerPoint en C# ou .NET" --- -## **Obtenir la largeur, la hauteur de la zone de tracé de graphique** -Aspose.Slides pour .NET fournit une API simple pour . - -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/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. Obtenez la position X réelle (gauche) de l'élément graphique par rapport au coin supérieur gauche du graphique. -1. Obtenez le haut réel de l'élément graphique par rapport au coin supérieur gauche du graphique. -1. Obtenez la largeur réelle de l'élément graphique. -1. Obtenez la hauteur réelle de l'élément graphique. +## **Obtenir la largeur, la hauteur de la zone de tracé du graphique** +Aspose.Slides for .NET fournit une API simple pour . +1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Accéder à la première diapositive. +1. Ajouter un graphique avec les données par défaut. +1. Appeler la méthode IChart.ValidateChartLayout() au préalable pour obtenir les valeurs réelles. +1. Obtient la position X réelle (gauche) de l'élément du graphique par rapport au coin supérieur gauche du graphique. +1. Obtient la position verticale réelle de l'élément du graphique par rapport au coin supérieur gauche du graphique. +1. Obtient la largeur réelle de l'élément du graphique. +1. Obtient la hauteur réelle de l'élément du graphique. ```c# using (Presentation pres = new Presentation("test.Pptx")) { @@ -28,20 +27,21 @@ using (Presentation pres = new Presentation("test.Pptx")) double y = chart.PlotArea.ActualY; double w = chart.PlotArea.ActualWidth; double h = chart.PlotArea.ActualHeight; - - // Sauvegarder la présentation avec le graphique - pres.Save("Chart_out.pptx", SaveFormat.Pptx); + + // Enregistrer la présentation avec le graphique + pres.Save("Chart_out.pptx", SaveFormat.Pptx); } ``` -## **Définir le mode de disposition de la zone de tracé de graphique** -Aspose.Slides pour .NET fournit une API simple pour définir le mode de disposition de la zone de tracé de graphique. La propriété **LayoutTargetType** a été ajoutée aux classes **ChartPlotArea** et **IChartPlotArea**. Si la disposition de la zone de tracé est définie manuellement, cette propriété spécifie si la disposition de la zone de tracé doit se faire par son intérieur (sans inclure les marques de graduation et les étiquettes d'axe) ou par son extérieur (en incluant les marques de graduation et les étiquettes d'axe). Il existe deux valeurs possibles définies dans l'énumération **LayoutTargetType**. -- **LayoutTargetType.Inner** - spécifie 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** - spécifie que la taille de la zone de tracé doit déterminer la taille de la zone de tracé, y compris les marques de graduation et les étiquettes d'axe. -Un exemple de code est donné ci-dessous. +## **Définir le mode de mise en page de la zone de tracé du graphique** +Aspose.Slides for .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 disposer la zone de tracé par son intérieur (sans les axes et les libellés d'axe) ou par son extérieur (en incluant les axes et les libellés 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é détermine la taille de la zone de tracé, sans inclure les marques de repère et les libellés d'axe. +- **LayoutTargetType.Outer** - indique que la taille de la zone de tracé détermine la taille de la zone de tracé, les marques de repère et les libellés d'axe. +Un exemple de code est fourni ci‑dessous. ```c# using (Presentation presentation = new Presentation()) { @@ -55,4 +55,23 @@ using (Presentation presentation = new Presentation()) presentation.Save("SetLayoutMode_outer.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Dans quelles unités sont renvoyés ActualX, ActualY, ActualWidth et ActualHeight ?** + +En points ; 1 pouce = 72 points. Ce sont les 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é comprend également les murs/plancher et les axes. + +**Comment les X, Y, largeur et hauteur de la zone de tracé sont‑ils interprétés lorsque 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. (C’est le comportement standard des graphiques PowerPoint.) \ No newline at end of file diff --git a/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..a6c313c655 --- /dev/null +++ b/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,200 @@ +--- +title: "Automatisation de la génération PowerPoint en .NET : Créez facilement des présentations dynamiques" +linktitle: Automatisation de la génération PowerPoint +type: docs +weight: 20 +url: /fr/net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plates-formes cloud +- automatiser la génération PowerPoint +- générer des présentations de façon programmatique +- automatisation PowerPoint +- création dynamique de diapos +- rapports d'affaires automatisés +- automatisation PPT +- présentation .NET +- C# +- Aspose.Slides +description: "Automatisez la création de diapositives sur les plates-formes cloud avec Aspose.Slides pour .NET — générez, modifiez et convertissez rapidement et de manière fiable les fichiers PowerPoint et OpenDocument." +--- + +## **Introduction** + +Créer des présentations PowerPoint manuellement peut être une tâche chronophage et répétitive — surtout lorsque le contenu repose sur des données dynamiques qui changent fréquemment. Qu’il s’agisse de générer des rapports d’activité hebdomadaires, d’assembler du matériel pédagogique ou de produire des présentations commerciales prêtes pour le client, l’automatisation peut faire gagner d’innombrables heures et garantir la cohérence entre les équipes. + +Pour les développeurs .NET, automatiser la création de présentations PowerPoint ouvre des possibilités puissantes. Vous pouvez intégrer la génération de diapositives dans des portails web, des outils de bureau, des services back‑end ou des plateformes cloud afin de convertir dynamiquement des données en présentations professionnelles et personnalisées — à la demande. + +Dans cet article, nous explorerons les cas d’utilisation courants de la génération automatisée de PowerPoint dans les applications .NET (y compris les déploiements sur des plateformes cloud) et pourquoi cela devient une fonctionnalité essentielle dans les solutions modernes. De l’extraction de données commerciales en temps réel à la conversion de texte ou d’images en diapositives, le but est de transformer le contenu brut en formats visuels structurés que votre audience comprend immédiatement. + +## **Cas d’utilisation courants de l’automatisation PowerPoint dans .NET** + +L’automatisation de la génération de PowerPoint est particulièrement utile dans les scénarios où le contenu de la présentation doit être assemblé dynamiquement, personnalisé ou fréquemment mis à jour. Voici quelques cas d’utilisation réels les plus courants : + +- **Rapports d’entreprise et tableaux de bord** + Générez des résumés de ventes, des indicateurs clés de performance ou des rapports financiers en extrayant des données en direct depuis des bases de données ou des API. + +- **Présentations commerciales et marketing personnalisées** + Créez automatiquement des présentations de pitch spécifiques à chaque client à partir des données CRM ou de formulaires, garantissant rapidité et cohérence de la marque. + +- **Contenu pédagogique** + Transformez du matériel d’apprentissage, des quiz ou des résumés de cours en présentations structurées pour les plateformes d’apprentissage en ligne. + +- **Insights basés sur les données et l’IA** + Utilisez le traitement du langage naturel ou des moteurs d’analyse pour transformer des données brutes ou du texte long en présentations résumées. + +- **Diapositives basées sur les médias** + Assemblez des présentations à partir d’images téléchargées, de captures d’écran annotées ou d’images‑clés vidéo avec les descriptions associées. + +- **Conversion de documents** + Convertissez automatiquement des documents Word, des PDF ou des saisies de formulaires en présentations visuelles avec un effort manuel minimal. + +- **Outils pour développeurs et équipes techniques** + Créez des démonstrations techniques, des aperçus de documentation ou des changelogs sous forme de diapositives directement à partir du code ou du contenu markdown. + +En automatisant ces flux de travail, les organisations peuvent amplifier leur création de contenu, maintenir la cohérence et libérer du temps pour des tâches plus stratégiques. + +## **Passons au code** + +Dans cet exemple, nous avons choisi **[Aspose.Slides for .NET](https://products.aspose.com/slides/net)** pour démontrer l’automatisation PowerPoint en raison de son ensemble complet de fonctionnalités et de sa facilité d’utilisation lors de la manipulation programmée de présentations. + +Contrairement aux bibliothèques de bas niveau comme le **[Open XML SDK](https://github.com/dotnet/Open-XML-SDK)**, qui obligent les développeurs à travailler directement avec la structure Open XML (souvent source d’un code verbeux et moins lisible), Aspose.Slides offre une API de haut niveau. Elle masque la complexité, permettant aux développeurs de se concentrer sur la logique de présentation — telle que la mise en page, le formatage et la liaison des données — sans avoir besoin de comprendre en détail le format de fichier PowerPoint. + +Bien qu’Aspose.Slides soit une bibliothèque commerciale, elle propose une version d’[essai gratuit](https://releases.aspose.com/slides/net/) pleinement capable d’exécuter les exemples fournis dans cet article. Pour illustrer des concepts, tester des fonctionnalités ou créer une preuve de concept comme celle que nous couvrons ici, l’essai est largement suffisant. Cela en fait une option pratique pour expérimenter l’automatisation de PowerPoint sans devoir acquérir immédiatement une licence. + +Pour ceux qui recherchent des alternatives open‑source ou gratuites, des bibliothèques comme Open XML SDK ou [NPOI](https://github.com/dotnetcore/NPOI) méritent d’être envisagées, bien qu’elles nécessitent souvent davantage de code et une connaissance plus approfondie du format de fichier sous‑jacent. + +Ok, parcourons la création d’une présentation d’exemple à partir de contenu réel. + +Assurez‑vous d’avoir ajouté une référence au package NuGet Aspose.Slides avant de commencer : +```sh +dotnet add package Aspose.Slides.NET +``` + + +### **Créer une diapositive titre** + +Nous commencerons par créer une nouvelle présentation et ajouter une diapositive titre avec un en‑tête principal et un sous‑titre. +```cs +using var presentation = new Presentation(); + +var slide0 = presentation.Slides[0]; +slide0.LayoutSlide = presentation.LayoutSlides.GetByType(SlideLayoutType.Title); + +var titleShape = slide0.Shapes[0] as IAutoShape; +var subtitleShape = slide0.Shapes[1] as IAutoShape; + +titleShape.TextFrame.Text = "Quarterly Business Review – Q1 2025"; +subtitleShape.TextFrame.Text = "Prepared for Executive Team"; +``` + + +![La diapositive titre](slide_0.png) + +### **Ajouter une diapositive avec un diagramme en colonnes** + +Ensuite, nous créerons une diapositive montrant la performance des ventes régionales sous forme de diagramme en colonnes. +```cs +var layoutSlide1 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide1 = presentation.Slides.AddEmptySlide(layoutSlide1); + +var chart = slide1.Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.Legend.Position = LegendPositionType.Bottom; +chart.HasTitle = true; +chart.ChartTitle.AddTextFrameForOverriding("Data from January – March 2025"); +chart.ChartTitle.Overlay = false; + +var workbook = chart.ChartData.ChartDataWorkbook; +var worksheetIndex = 0; + +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 1, 0, "North America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 2, 0, "Europe")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 4, 0, "Latin America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 5, 0, "Middle East")); + +var series = chart.ChartData.Series.Add(workbook.GetCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.Type); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 1, 1, 480)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 2, 1, 365)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 3, 1, 290)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 4, 1, 150)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 5, 1, 120)); +``` + + +![La diapositive avec le diagramme](slide_1.png) + +### **Ajouter une diapositive avec un tableau** + +Nous allons maintenant ajouter une diapositive présentant les indicateurs clés de performance sous forme de tableau. +```cs +var layoutSlide2 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide2 = presentation.Slides.AddEmptySlide(layoutSlide2); + +var columnWidths = new double[] { 200, 100 }; +var rowHeights = new double[] { 40, 40, 40, 40, 40 }; + +var table = slide2.Shapes.AddTable(200, 200, columnWidths, rowHeights); +table[0, 0].TextFrame.Text = "Metric"; +table[1, 0].TextFrame.Text = "Value"; +table[0, 1].TextFrame.Text = "Total Revenue"; +table[1, 1].TextFrame.Text = "$1.4M"; +table[0, 2].TextFrame.Text = "Gross Margin"; +table[1, 2].TextFrame.Text = "54%"; +table[0, 3].TextFrame.Text = "New Customers"; +table[1, 3].TextFrame.Text = "340"; +table[0, 4].TextFrame.Text = "Customer Retention"; +table[1, 4].TextFrame.Text = "87%"; +``` + + +![La diapositive avec le tableau](slide_2.png) + +### **Ajouter une diapositive de synthèse avec des puces** + +Enfin, nous inclurons une synthèse et un plan d’action à l’aide d’une simple liste à puces. +```cs +IParagraph CreateBulletParagraph(string text) +{ + var paragraph = new Paragraph(); + paragraph.ParagraphFormat.Bullet.Type = BulletType.Symbol; + paragraph.ParagraphFormat.Indent = 15; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.Text = text; + return paragraph; +} +``` + +```cs +var layoutSlide3 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide3 = presentation.Slides.AddEmptySlide(layoutSlide3); + +var bulletList = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.FillFormat.FillType = FillType.NoFill; +bulletList.LineFormat.FillFormat.FillType = FillType.NoFill; + +bulletList.TextFrame.Paragraphs.Clear(); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Schedule follow-up review in early July")); +``` + + +![La diapositive avec le texte](slide_3.png) + +### **Enregistrer la présentation** + +Enfin, nous enregistrons la présentation sur le disque : +```cs +presentation.Save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Conclusion** + +L’automatisation de la génération de PowerPoint dans les applications .NET offre des bénéfices clairs en termes de gain de temps et de réduction des efforts manuels. En intégrant du contenu dynamique tel que des graphiques, des tableaux et du texte, les développeurs peuvent produire rapidement des présentations cohérentes et professionnelles — idéales pour les rapports d’entreprise, les réunions client ou le matériel pédagogique. + +Dans cet article, nous avons montré comment automatiser la création d’une présentation à partir de zéro, y compris l’ajout d’une diapositive titre, de graphiques et de tableaux. Cette approche peut être appliquée à de nombreux cas d’utilisation où des présentations automatisées et basées sur les données sont nécessaires. + +En tirant parti des bons outils, les développeurs .NET peuvent automatiser efficacement la création de PowerPoint, améliorer la productivité et garantir la cohérence des présentations. \ No newline at end of file diff --git a/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/fr/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..77eaee1dd1 --- /dev/null +++ b/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "Automatiser la génération de PowerPoint en JavaScript : créer facilement des présentations dynamiques" +linktitle: Automatiser la génération de PowerPoint +type: docs +weight: 20 +url: /fr/nodejs-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plateformes cloud +- automatiser la génération de PowerPoint +- générer des présentations programmatiquement +- automatisation PowerPoint +- création dynamique de diapositives +- rapports d'affaires automatisés +- automatisation PPT +- présentation JavaScript +- Node.js +- JavaScript +- Aspose.Slides +description: "Automatisez la création de diapositives sur les plateformes cloud avec Aspose.Slides pour Node.js — générez, modifiez et convertissez rapidement et de façon fiable les fichiers PowerPoint et OpenDocument." +--- + +## **Introduction** + +Créer des présentations PowerPoint manuellement peut être une tâche chronophage et répétitive—surtout lorsque le contenu provient de données dynamiques qui changent fréquemment. Qu’il s’agisse de générer des rapports d’affaires hebdomadaires, d’assembler du matériel pédagogique ou de produire des decks de vente prêts pour le client, l’automatisation peut faire gagner d’innombrables heures et garantir la cohérence entre les équipes. + +Pour les développeurs Node.js, automatiser la création de présentations PowerPoint ouvre des possibilités puissantes. Vous pouvez intégrer la génération de diapositives dans des portails web, des outils de bureau, des services backend ou des plates‑formes cloud pour convertir dynamiquement les données en présentations professionnelles et brandées—à la demande. + +Dans cet article, nous explorerons les cas d’utilisation courants de la génération automatisée de PowerPoint dans les applications Node.js (y compris les déploiements sur le cloud) et pourquoi cela devient une fonctionnalité essentielle dans les solutions modernes. Du tirage de données d’entreprise en temps réel à la conversion de texte ou d’images en diapositives, l’objectif est de transformer du contenu brut en formats visuels structurés que votre audience comprend immédiatement. + +## **Cas d’utilisation courants de l’automatisation PowerPoint en JavaScript** + +Automatiser la génération de PowerPoint est particulièrement utile dans les scénarios où le contenu des présentations doit être assemblé dynamiquement, personnalisé ou fréquemment mis à jour. Parmi les cas d’utilisation réels les plus fréquents, on trouve : + +- **Rapports d’entreprise & tableaux de bord** + Générer des résumés de ventes, des KPI ou des rapports de performance financière en puisant des données en direct depuis des bases de données ou des API. + +- **Decks de vente & marketing personnalisés** + Créer automatiquement des présentations de pitch spécifiques à chaque client à partir de données CRM ou de formulaires, assurant rapidité et cohérence de la marque. + +- **Contenu éducatif** + Convertir du matériel d’apprentissage, des quiz ou des résumés de cours en présentations structurées pour les plateformes d‑e‑learning. + +- **Insights alimentés par les données & IA** + Utiliser le traitement du langage naturel ou des moteurs d’analyse pour transformer des données brutes ou des textes longs en présentations résumées. + +- **Diapositives basées sur les médias** + Assembler des présentations à partir d’images téléchargées, de captures d’écran annotées ou de cadres vidéo avec des descriptions d’accompagnement. + +- **Conversion de documents** + Convertir automatiquement des documents Word, des PDF ou des entrées de formulaires en présentations visuelles avec un minimum d’intervention manuelle. + +- **Outils pour développeurs et techniques** + Créer des démos technologiques, des aperçus de documentation ou des changelogs au format diapositive directement depuis du code ou du markdown. + +En automatisant ces flux de travail, les organisations peuvent mettre à l’échelle leur création de contenu, maintenir la cohérence et libérer du temps pour des activités plus stratégiques. + +## **Passons au code** + +Pour cet exemple, nous avons choisi **[Aspose.Slides for Node.js](https://products.aspose.com/slides/nodejs-java/)** afin de démontrer l’automatisation PowerPoint grâce à son ensemble complet de fonctionnalités et sa facilité d’utilisation lorsqu’on travaille avec des présentations de manière programmatique. + +Contrairement aux bibliothèques de bas niveau, qui obligent les développeurs à manipuler directement la structure Open XML (souvent source de code verbeux et difficile à lire), Aspose.Slides propose une API de haut niveau. Elle abstrait la complexité, permettant aux développeurs de se concentrer sur la logique de la présentation—mise en page, formatage, liaison de données—sans avoir à maîtriser le format de fichier PowerPoint en détail. + +Bien qu’Aspose.Slides soit une bibliothèque commerciale, elle propose une [version d’essai gratuite](https://releases.aspose.com/slides/nodejs-java/) entièrement capable d’exécuter les exemples présentés dans cet article. Pour le but de démontrer des idées, tester des fonctionnalités ou créer une preuve de concept comme celle que nous couvrons ici, l’essai est largement suffisant. Cela en fait une option pratique pour expérimenter l’automatisation PowerPoint sans engagement de licence immédiat. + +Ok, passons à la création d’une présentation d’exemple avec du contenu réel. + +### **Créer une diapositive de titre** + +Nous allons commencer par créer une nouvelle présentation et ajouter une diapositive de titre avec un titre principal et un sous‑titre. +```js +let presentation = new aspose.slides.Presentation(); + +let slide0 = presentation.getSlides().get_Item(0); + +let layoutSlide = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Title)); +slide0.setLayoutSlide(layoutSlide); + +let titleShape = slide0.getShapes().get_Item(0); +let subtitleShape = slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![The title slide](slide_0.png) + +### **Ajouter une diapositive avec un diagramme en colonnes** + +Ensuite, nous créerons une diapositive affichant les performances de ventes régionales sous forme de diagramme en colonnes. +```js +let layoutSlide1 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +let chart = slide1.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(aspose.slides.LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +let workbook = chart.getChartData().getChartDataWorkbook(); +let worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +let series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![The slide with the chart](slide_1.png) + +### **Ajouter une diapositive avec un tableau** + +Nous ajouterons maintenant une diapositive présentant les indicateurs clés de performance au format tableau. +```js +let layoutSlide2 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +let columnWidths = java.newArray("double", [200, 100]); +let rowHeights = java.newArray("double", [40, 40, 40, 40, 40]); + +let table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![The slide with the table](slide_2.png) + +### **Ajouter une diapositive de synthèse avec puces** + +Enfin, nous inclurons une diapositive de synthèse et de plan d’action à l’aide d’une simple liste à puces. +```js +function createBulletParagraph(text) { + let paragraph = new aspose.slides.Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(java.newByte(aspose.slides.BulletType.Symbol)); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid)); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLACK")); + paragraph.setText(text); + return paragraph; +} +``` + +```js +let layoutSlide3 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +let bulletList = slide3.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); +bulletList.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![The slide with the text](slide_3.png) + +### **Enregistrer la présentation** + +Enfin, nous enregistrons la présentation sur le disque : +```js +presentation.save("presentation.pptx", aspose.slides.SaveFormat.Pptx); +``` + + +## **Conclusion** + +L’automatisation de la génération de PowerPoint dans les applications Node.js offre des avantages clairs en termes d’économie de temps et de réduction des efforts manuels. En intégrant du contenu dynamique tel que des graphiques, des tableaux et du texte, les développeurs peuvent produire rapidement des présentations cohérentes et professionnelles—idéales pour les rapports d’entreprise, les réunions client ou le contenu éducatif. + +Dans cet article, nous avons montré comment automatiser la création d’une présentation à partir de zéro, en ajoutant une diapositive de titre, des graphiques et des tableaux. Cette approche peut être appliquée à de nombreux cas d’utilisation nécessitant des présentations automatisées et pilotées par les données. + +En exploitant les bons outils, les développeurs Node.js peuvent automatiser efficacement la création de PowerPoint, améliorer la productivité et garantir la cohérence des présentations. \ No newline at end of file diff --git a/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/fr/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..b81e2be631 --- /dev/null +++ b/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Automatisation de la génération PowerPoint en PHP : créez facilement des présentations dynamiques" +linktitle: Automatisation de la génération PowerPoint +type: docs +weight: 20 +url: /fr/php-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- plates-formes cloud +- automatiser la génération PowerPoint +- générer des présentations programmatiquement +- automatisation PowerPoint +- création dynamique de diapositives +- rapports d'affaires automatisés +- automatisation PPT +- présentation PHP +- PHP +- Aspose.Slides +description: "Automatisez la création de diapositives sur les plates-formes cloud avec Aspose.Slides pour PHP — générez, modifiez et convertissez rapidement et de manière fiable les fichiers PowerPoint et OpenDocument." +--- + +## **Introduction** + +La création manuelle de présentations PowerPoint peut être une tâche chronophage et répétitive—surtout lorsque le contenu repose sur des données dynamiques qui changent fréquemment. Que ce soit pour générer des rapports d'affaires hebdomadaires, assembler du matériel éducatif ou produire des présentations commerciales prêtes pour les clients, l'automatisation peut faire économiser d'innombrables heures et garantir la cohérence entre les équipes. + +Pour les développeurs PHP, l'automatisation de la création de présentations PowerPoint ouvre de puissantes possibilités. Vous pouvez intégrer la génération de diapositives dans des portails web, des outils de bureau, des services back‑end ou des plateformes cloud afin de convertir dynamiquement les données en présentations professionnelles et personnalisées—à la demande. + +Dans cet article, nous explorerons les cas d’utilisation courants de la génération automatisée de PowerPoint dans les applications PHP (y compris les déploiements sur des plateformes cloud) et pourquoi cela devient une fonctionnalité essentielle dans les solutions modernes. De l'extraction de données d'affaires en temps réel à la conversion de texte ou d'images en diapositives, l'objectif est de transformer le contenu brut en formats visuels structurés que votre audience peut comprendre instantanément. + +## **Cas d’utilisation courants de l’automatisation PowerPoint en PHP** + +Automatiser la génération de PowerPoint est particulièrement utile dans les scénarios où le contenu de la présentation doit être assemblé dynamiquement, personnalisé ou fréquemment mis à jour. Voici quelques-uns des cas d’utilisation réels les plus courants : + +- **Rapports d’entreprise & tableaux de bord** + Générez des résumés de ventes, des indicateurs clés de performance ou des rapports financiers en extrayant des données en temps réel depuis des bases de données ou des API. + +- **Présentations commerciales & marketing personnalisées** + Créez automatiquement des présentations de vente spécifiques à chaque client en utilisant les données du CRM ou des formulaires, assurant rapidité et cohérence de la marque. + +- **Contenu éducatif** + Convertissez du matériel d'apprentissage, des quiz ou des résumés de cours en présentations structurées pour les plateformes d'e‑learning. + +- **Insights alimentés par les données et l’IA** + Utilisez le traitement du langage naturel ou des moteurs d’analyse pour transformer des données brutes ou des textes longs en présentations résumées. + +- **Diapositives basées sur les médias** + Assemblez des présentations à partir d’images téléchargées, de captures d’écran annotées ou de cadres vidéo avec des descriptions d’accompagnement. + +- **Conversion de documents** + Convertissez automatiquement des documents Word, PDF ou des saisies de formulaires en présentations visuelles avec un effort manuel minimal. + +- **Outils pour développeurs et techniques** + Créez des démonstrations technologiques, des aperçus de documentation ou des changelogs sous forme de diapositives directement depuis le code ou le contenu markdown. + +En automatisant ces flux de travail, les organisations peuvent mettre à l’échelle leur création de contenu, maintenir la cohérence et libérer du temps pour des tâches plus stratégiques. + +## **Passons au code** + +Pour cet exemple, nous avons choisi **[Aspose.Slides for PHP](https://products.aspose.com/slides/php-java/)** pour démontrer l'automatisation PowerPoint grâce à son ensemble complet de fonctionnalités et à sa facilité d’utilisation lors de la manipulation de présentations de façon programmatique. + +Contrairement aux bibliothèques de bas niveau, qui obligent les développeurs à travailler directement avec la structure Open XML (générant souvent du code verbeux et difficile à lire), Aspose.Slides fournit une API de haut niveau. Elle abstrait la complexité, permettant aux développeurs de se concentrer sur la logique de présentation—telle que la mise en page, le formatage et la liaison des données—sans avoir besoin de comprendre en détail le format de fichier PowerPoint. + +Bien qu’Aspose.Slides soit une bibliothèque commerciale, elle propose une [essai gratuit](https://releases.aspose.com/slides/php-java/) qui permet d’exécuter pleinement les exemples présentés dans cet article. Pour le but de démontrer des idées, tester des fonctionnalités ou créer une preuve de concept comme celle que nous couvrons ici, l’essai est largement suffisant. Cela en fait une option pratique pour expérimenter l’automatisation de PowerPoint sans devoir souscrire immédiatement à une licence. + +Ok, parcourons la création d’une présentation d’exemple avec du contenu réel. + +### **Créer une diapositive de titre** + +Nous commencerons par créer une nouvelle présentation et ajouter une diapositive de titre avec un titre principal et un sous‑titre. +```php +$presentation = new Presentation(); + +$slide0 = $presentation->getSlides()->get_Item(0); + +$layoutSlide = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Title); +$slide0->setLayoutSlide($layoutSlide); + +$titleShape = $slide0->getShapes()->get_Item(0); +$subtitleShape = $slide0->getShapes()->get_Item(1); + +$titleShape->getTextFrame()->setText("Quarterly Business Review – Q1 2025"); +$subtitleShape->getTextFrame()->setText("Prepared for Executive Team"); +``` + + +![La diapositive de titre](slide_0.png) + +### **Ajouter une diapositive avec un diagramme en colonnes** + +Ensuite, nous créerons une diapositive montrant la performance des ventes régionales sous forme de diagramme en colonnes. +```php +$layoutSlide1 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide1 = $presentation->getSlides()->addEmptySlide($layoutSlide1); + +$chart = $slide1->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +$chart->getLegend()->setPosition(LegendPositionType::Bottom); +$chart->setTitle(true); +$chart->getChartTitle()->addTextFrameForOverriding("Data from January – March 2025"); +$chart->getChartTitle()->setOverlay(false); + +$workbook = $chart->getChartData()->getChartDataWorkbook(); +$worksheetIndex = 0; + +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 1, 0, "North America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 2, 0, "Europe")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 3, 0, "Asia Pacific")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 4, 0, "Latin America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 5, 0, "Middle East")); + +$series = $chart->getChartData()->getSeries()->add($workbook->getCell($worksheetIndex, 0, 1, "Sales (\$K)"), $chart->getType()); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 1, 1, 480)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 2, 1, 365)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 3, 1, 290)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 4, 1, 150)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 5, 1, 120)); +``` + + +![La diapositive avec le graphique](slide_1.png) + +### **Ajouter une diapositive avec un tableau** + +Nous ajouterons maintenant une diapositive présentant les indicateurs de performance clés sous forme de tableau. +```php +$layoutSlide2 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide2 = $presentation->getSlides()->addEmptySlide($layoutSlide2); + +$columnWidths = [200, 100]; +$rowHeights = [40, 40, 40, 40, 40]; + +$table = $slide2->getShapes()->addTable(200, 200, $columnWidths, $rowHeights); +$table->getColumns()->get_Item(0)->get_Item(0)->getTextFrame()->setText("Metric"); +$table->getColumns()->get_Item(1)->get_Item(0)->getTextFrame()->setText("Value"); +$table->getColumns()->get_Item(0)->get_Item(1)->getTextFrame()->setText("Total Revenue"); +$table->getColumns()->get_Item(1)->get_Item(1)->getTextFrame()->setText("\$1.4M"); +$table->getColumns()->get_Item(0)->get_Item(2)->getTextFrame()->setText("Gross Margin"); +$table->getColumns()->get_Item(1)->get_Item(2)->getTextFrame()->setText("54%"); +$table->getColumns()->get_Item(0)->get_Item(3)->getTextFrame()->setText("New Customers"); +$table->getColumns()->get_Item(1)->get_Item(3)->getTextFrame()->setText("340"); +$table->getColumns()->get_Item(0)->get_Item(4)->getTextFrame()->setText("Customer Retention"); +$table->getColumns()->get_Item(1)->get_Item(4)->getTextFrame()->setText("87%"); +``` + + +![La diapositive avec le tableau](slide_2.png) + +### **Ajouter une diapositive de synthèse avec des puces** + +Enfin, nous inclurons un résumé et un plan d’action en utilisant une simple liste à puces. +```php +function createBulletParagraph($text) { + $paragraph = new Paragraph(); + $paragraph->getParagraphFormat()->getBullet()->setType(BulletType::Symbol); + $paragraph->getParagraphFormat()->setIndent(15); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK); + $paragraph->setText($text); + return $paragraph; +} +``` + +```php +$layoutSlide3 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide3 = $presentation->getSlides()->addEmptySlide($layoutSlide3); + +$bulletList = $slide3->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +$bulletList->getFillFormat()->setFillType(FillType::NoFill); +$bulletList->getLineFormat()->getFillFormat()->setFillType(FillType::NoFill); + +$bulletList->getTextFrame()->getParagraphs()->clear(); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Prepare new campaign strategy for Q2")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![La diapositive avec le texte](slide_3.png) + +### **Enregistrer la présentation** + +Enfin, nous enregistrons la présentation sur le disque : +```php +$presentation->save("presentation.pptx", SaveFormat::Pptx); +``` + + +## **Conclusion** + +Automatiser la génération de PowerPoint dans les applications PHP offre des avantages clairs en termes de gain de temps et de réduction des efforts manuels. En intégrant du contenu dynamique tel que des graphiques, des tableaux et du texte, les développeurs peuvent rapidement produire des présentations cohérentes et professionnelles—idéales pour les rapports d’entreprise, les réunions client ou le contenu éducatif. + +Dans cet article, nous avons démontré comment automatiser la création d’une présentation à partir de zéro, en ajoutant une diapositive de titre, des graphiques et des tableaux. Cette approche peut être appliquée à de nombreux cas d’utilisation où des présentations automatisées et axées sur les données sont nécessaires. + +En tirant parti des bons outils, les développeurs PHP peuvent automatiser efficacement la création de PowerPoint, améliorant ainsi la productivité et assurant la cohérence des présentations. \ No newline at end of file diff --git a/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/fr/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index 478bde29a0..924cdf6418 100644 --- a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -1,5 +1,5 @@ --- -title: Convertir des présentations PowerPoint en HTML avec Python +title: Convertir les présentations PowerPoint en HTML avec Python linktitle: PowerPoint en HTML type: docs weight: 30 @@ -22,7 +22,7 @@ keywords: - enregistrer PPTX en HTML - Python - Aspose.Slides -description: "Convertissez des présentations PowerPoint en HTML réactif avec Python. Conservez la mise en page, les liens et les images grâce au guide de conversion Aspose.Slides pour des résultats rapides et impeccables." +description: "Convertissez les présentations PowerPoint en HTML réactif avec Python. Conservez la mise en page, les liens et les images grâce au guide de conversion Aspose.Slides pour des résultats rapides et impeccables." --- ## **Vue d'ensemble** @@ -35,17 +35,17 @@ Cet article explique comment convertir une présentation PowerPoint au format HT - Convertir ODP en HTML avec Python - Convertir une diapositive PowerPoint en HTML avec Python -## **Python PowerPoint en HTML** +## **PowerPoint Python vers HTML** -Pour le code d'exemple Python de conversion de PowerPoint en HTML, veuillez consulter la section ci‑dessous, à savoir [Convertir PowerPoint en HTML](#convert-powerpoint-to-html). Le code peut charger plusieurs formats tels que PPT, PPTX et ODP dans l'objet Presentation et l'enregistrer au format HTML. +Pour le code d'exemple Python permettant de convertir PowerPoint en HTML, veuillez consulter la section ci-dessous, à savoir [Convertir PowerPoint en HTML](#convert-powerpoint-to-html). Le code peut charger plusieurs formats tels que PPT, PPTX et ODP dans l'objet Presentation et les enregistrer au format HTML. ## **À propos de la conversion PowerPoint en HTML** -En utilisant [**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/), les applications et les développeurs peuvent convertir une présentation PowerPoint en HTML : **PPTX en HTML** ou **PPT en HTML**. +En utilisant [**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/), les applications et les développeurs peuvent convertir une présentation PowerPoint en HTML : **PPTX en HTML** ou **PPT en HTML**. -**Aspose.Slides** propose de nombreuses options (principalement de la classe [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/)) qui définissent le processus de conversion de PowerPoint en HTML : +**Aspose.Slides** fournit de nombreuses options (principalement de la classe [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/)) qui définissent le processus de conversion PowerPoint en HTML : -* Convertir une présentation PowerPoint complète en HTML. +* Convertir l'intégralité d'une présentation PowerPoint en HTML. * Convertir une diapositive spécifique d’une présentation PowerPoint en HTML. * Convertir les médias de la présentation (images, vidéos, etc.) en HTML. * Convertir une présentation PowerPoint en HTML réactif. @@ -56,7 +56,7 @@ En utilisant [**Aspose.Slides for Python via .NET**](https://products.aspose.com {{% alert color="primary" %}} -En utilisant sa propre API, Aspose a développé des convertisseurs gratuits [présentation vers HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) : [PPT en HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX en HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP en HTML](https://products.aspose.app/slides/conversion/odp-to-html), etc. +En utilisant sa propre API, Aspose a développé des convertisseurs gratuits de [présentation vers HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) : [PPT en HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX en HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP en HTML](https://products.aspose.app/slides/conversion/odp-to-html), etc. [![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) @@ -66,7 +66,7 @@ Vous pouvez également consulter d’autres [convertisseurs gratuits d’Aspose] {{% alert title="Note" color="warning" %}} -Outre les processus de conversion décrits ici, Aspose.Slides prend également en charge les opérations de conversion suivantes impliquant le format HTML : +En plus des processus de conversion décrits ici, Aspose.Slides prend également en charge les opérations de conversion suivantes impliquant le format HTML : * [HTML vers image](https://products.aspose.com/slides/python-net/conversion/html-to-image/) * [HTML vers JPG](https://products.aspose.com/slides/python-net/conversion/html-to-jpg/) @@ -77,12 +77,12 @@ Outre les processus de conversion décrits ici, Aspose.Slides prend également e ## **Convertir PowerPoint en HTML** -En utilisant Aspose.Slides, vous pouvez convertir une présentation PowerPoint complète en HTML de la manière suivante : +Avec Aspose.Slides, vous pouvez convertir une présentation PowerPoint complète en HTML de cette façon : -1. Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) -1. Utilisez la méthode [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) pour enregistrer l'objet sous forme de fichier HTML. +1. Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) +2. Utiliser la méthode [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) pour enregistrer l'objet sous forme de fichier HTML. -Ce code montre comment convertir un PowerPoint en HTML avec python : +Ce code montre comment convertir un PowerPoint en HTML avec Python : ```python import aspose.slides as slides @@ -94,14 +94,14 @@ options = slides.export.HtmlOptions() options.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL options.html_formatter = slides.export.HtmlFormatter.create_document_formatter("", False) -# Enregistrer la présentation en HTML +# Enregistrer la présentation au format HTML pres.save("ConvertWholePresentationToHTML_out.html", slides.export.SaveFormat.HTML, options) ``` ## **Convertir PowerPoint en HTML réactif** -Aspose.Slides fournit la classe [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) qui permet de générer des fichiers HTML réactifs. Ce code montre comment convertir une présentation PowerPoint en HTML réactif avec python : +Aspose.Slides fournit la classe [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) qui permet de générer des fichiers HTML réactifs. Ce code montre comment convertir une présentation PowerPoint en HTML réactif avec Python : ```py # Instancier un objet Presentation qui représente un fichier de présentation import aspose.slides as slides @@ -112,14 +112,14 @@ controller = slides.export.ResponsiveHtmlController() htmlOptions = slides.export.HtmlOptions() htmlOptions.html_formatter = slides.export.HtmlFormatter.create_custom_formatter(controller) -# Enregistrer la présentation en HTML +# Enregistrement de la présentation au format HTML pres.save("ConvertPresentationToResponsiveHTML_out.html", slides.export.SaveFormat.HTML, htmlOptions) ``` ## **Convertir PowerPoint en HTML avec notes** -Ce code montre comment convertir un PowerPoint en HTML avec les notes en python : +Ce code montre comment convertir un PowerPoint en HTML avec les notes en Python : ```py import aspose.slides as slides @@ -132,13 +132,13 @@ pres.save("Output.html", slides.export.SaveFormat.HTML, opt) ``` -## **Convertir PowerPoint en HTML avec les polices d'origine** +## **Convertir PowerPoint en HTML avec les polices originales** -Aspose.Slides fournit la classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) qui permet d’incorporer toutes les polices d’une présentation lors de la conversion de la présentation en HTML. +Aspose.Slides fournit la classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) qui permet d'incorporer toutes les polices d’une présentation lors de la conversion de celle‑ci en HTML. -Pour empêcher l’incorporation de certaines polices, vous pouvez passer un tableau de noms de polices à un constructeur paramétré de la classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/). Les polices populaires, telles que Calibri ou Arial, lorsqu’elles sont utilisées dans une présentation, n’ont pas besoin d’être incorporées car la plupart des systèmes les possèdent déjà. Lorsqu’elles sont incorporées, le document HTML résultant devient inutilement volumineux. +Pour empêcher l’incorporation de certaines polices, vous pouvez transmettre un tableau de noms de polices à un constructeur parametré de la classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/). Les polices populaires, telles que Calibri ou Arial, lorsqu’elles sont utilisées dans une présentation, n’ont pas besoin d’être incorporées car la plupart des systèmes les possèdent déjà. Lorsque ces polices sont incorporées, le document HTML résultant devient inutilement volumineux. -La classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) prend en charge l’héritage et fournit la méthode `WriteFont`, destinée à être surchargée. +La classe [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) prend en charge l’héritage et fournit la méthode `WriteFont`, qui est destinée à être remplacée. ```py import aspose.slides as slides @@ -154,17 +154,17 @@ pres.save("input-PFDinDisplayPro-Regular-installed.html", slides.export.SaveForm ``` -## **Convertir une diapositive en HTML** +## **Convertir la diapositive en HTML** -Convertissez une diapositive de présentation distincte en HTML. Pour cela, utilisez la même méthode [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) exposée par la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) qui sert à convertir l’ensemble de la présentation PPT(X) en document HTML. La classe [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) peut également être utilisée pour définir des options de conversion supplémentaires : +Convertir une diapositive de présentation distincte en HTML. Pour cela, utilisez la même méthode [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) exposée par la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) qui sert à convertir l’ensemble de la présentation PPT(X) en un document HTML. La classe [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) peut également être utilisée pour définir des options de conversion supplémentaires : ```py # [TODO[not_supported_yet]: implémentation python de l'interface .net] ``` -## **Enregistrer le CSS et les images lors de l’exportation en HTML** +## **Enregistrer le CSS et les images lors de l’exportation vers HTML** -En utilisant de nouveaux fichiers de style CSS, vous pouvez facilement modifier le style du fichier HTML résultant du processus de conversion de PowerPoint en HTML. +En utilisant de nouveaux fichiers de style CSS, vous pouvez facilement modifier le style du fichier HTML résultant du processus de conversion PowerPoint en HTML. Le code Python de cet exemple montre comment utiliser des méthodes pouvant être surchargées pour créer un document HTML personnalisé avec un lien vers un fichier CSS : ```py @@ -174,17 +174,17 @@ Le code Python de cet exemple montre comment utiliser des méthodes pouvant êtr ## **Lier toutes les polices lors de la conversion d’une présentation en HTML** -Si vous ne souhaitez pas incorporer les polices (pour éviter d’augmenter la taille du HTML résultant), vous pouvez lier toutes les polices en implémentant votre propre version de `LinkAllFontsHtmlController`. +Si vous ne souhaitez pas incorporer les polices (pour éviter d’augmenter la taille du HTML résultant), vous pouvez lier toutes les polices en implémentant votre propre version du `LinkAllFontsHtmlController`. -Ce code Python montre comment convertir un PowerPoint en HTML tout en liant toutes les polices et en excluant "Calibri" et "Arial" (car elles existent déjà dans le système) : +Ce code Python montre comment convertir un PowerPoint en HTML tout en liant toutes les polices et en excluant "Calibri" et "Arial" (puisqu’elles existent déjà dans le système) : ```py # [TODO[not_supported_yet]: implémentation python des interfaces .net] ``` -## **Prise en charge de la propriété réactive SVG** +## **Prise en charge de la propriété SVG réactive** -L’exemple de code ci‑dessous montre comment exporter une présentation PPT(X) en HTML avec la mise en page réactive : +L’exemple de code ci‑dessous montre comment exporter une présentation PPT(X) en HTML avec une mise en page réactive : ```py presentation = slides.Presentation("SomePresentation.pptx") @@ -195,14 +195,14 @@ presentation.save("SomePresentation-out.html", slides.export.SaveFormat.HTML, sa ``` -## **Exporter les fichiers multimédia vers le fichier HTML** +## **Exporter les fichiers multimédias vers un fichier HTML** -En utilisant Aspose.Slides pour python, vous pouvez exporter les fichiers multimédia de la manière suivante : +Avec Aspose.Slides pour Python, vous pouvez exporter les fichiers multimédias de cette manière : -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 une vidéo à la diapositive. -1. Enregistrez la présentation au format HTML. +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 à la diapositive. +3. Ajouter une vidéo à la diapositive. +4. Enregistrer la présentation sous forme de fichier HTML. Ce code Python montre comment ajouter une vidéo à la présentation puis l’enregistrer en HTML : ```py @@ -227,44 +227,44 @@ presentation.save(path + "ExportMediaFiles_out.html", slides.export.SaveFormat.H ``` -## Questions fréquentes +## **FAQ** -### **Comment puis‑je convertir une présentation PowerPoint en HTML avec Python ?** +**Comment puis‑je convertir une présentation PowerPoint en HTML à l’aide de Python ?** Vous pouvez utiliser la bibliothèque Aspose.Slides for Python via .NET pour charger des fichiers PPT, PPTX ou ODP et les convertir en HTML en utilisant la méthode `save()` avec `SaveFormat.HTML`. -### **Aspose.Slides prend‑il en charge la conversion de diapositives PowerPoint individuelles en HTML ?** +**Aspose.Slides prend‑il en charge la conversion de diapositives PowerPoint individuelles en HTML ?** -Oui, Aspose.Slides vous permet de convertir l’ensemble de la présentation ou des diapositives spécifiques en HTML en configurant `HtmlOptions` en conséquence. +Oui, Aspose.Slides vous permet de convertir soit l’ensemble de la présentation, soit des diapositives spécifiques en HTML en configurant `HtmlOptions` en conséquence. -### **Puis‑je générer du HTML réactif à partir de présentations PowerPoint ?** +**Puis‑je générer du HTML réactif à partir de présentations PowerPoint ?** Oui, avec la classe `ResponsiveHtmlController`, vous pouvez exporter votre présentation vers une mise en page HTML réactive qui s’adapte à différentes tailles d’écran. -### **Est‑il possible d’inclure les notes du présentateur ou les commentaires dans le HTML exporté ?** +**Est‑il possible d’inclure les notes du présentateur ou les commentaires dans le HTML exporté ?** Oui, vous pouvez configurer `HtmlOptions` pour inclure ou exclure les notes du présentateur et les commentaires lors de l’exportation de présentations PowerPoint en HTML. -### **Puis‑je incorporer des polices lors de la conversion d’une présentation en HTML ?** +**Puis‑je incorporer des polices lors de la conversion d’une présentation en HTML ?** -Oui, Aspose.Slides fournit la classe `EmbedAllFontsHtmlController`, qui permet d’incorporer les polices ou d’exclure certaines polices afin de réduire la taille du fichier de sortie. +Oui, Aspose.Slides fournit la classe `EmbedAllFontsHtmlController`, qui vous permet d’incorporer des polices ou d’exclure certaines polices afin de réduire la taille du fichier de sortie. -### **La conversion PowerPoint en HTML prend‑elle en charge les fichiers multimédia comme les vidéos et l’audio ?** +**La conversion PowerPoint en HTML prend‑elle en charge les fichiers multimédias tels que les vidéos et l’audio ?** -Oui, Aspose.Slides permet d’exporter le contenu multimédia intégré dans les diapositives vers HTML en utilisant `VideoPlayerHtmlController` et les classes de configuration associées. +Oui, Aspose.Slides permet d’exporter le contenu multimédia intégré aux diapositives vers HTML en utilisant `VideoPlayerHtmlController` et les classes de configuration associées. -### **Quels formats de fichiers sont pris en charge pour la conversion en HTML ?** +**Quels formats de fichiers sont pris en charge pour la conversion vers HTML ?** -Aspose.Slides prend en charge la conversion des formats de présentation PPT, PPTX et ODP en HTML. Il permet également d’enregistrer le contenu des diapositives au format SVG et d’exporter les ressources multimédia. +Aspose.Slides prend en charge la conversion des formats de présentation PPT, PPTX et ODP vers HTML. Il permet également d’enregistrer le contenu des diapositives au format SVG et d’exporter les ressources multimédias. -### **Puis‑je éviter d’incorporer les polices pour réduire la taille du HTML ?** +**Puis‑je éviter d’incorporer les polices pour réduire la taille du HTML ?** -Oui, vous pouvez lier les polices systèmes couramment disponibles comme Arial ou Calibri au lieu de les incorporer, en utilisant une implémentation personnalisée de `HtmlController`. +Oui, vous pouvez lier les polices système couramment disponibles comme Arial ou Calibri au lieu de les incorporer, en utilisant une implémentation personnalisée du `HtmlController`. -### **Existe‑t‑il un outil en ligne pour convertir PowerPoint en HTML ?** +**Existe‑t‑il un outil en ligne pour convertir PowerPoint en HTML ?** Oui, vous pouvez essayer les outils web gratuits d’Aspose tels que [PPT en HTML](https://products.aspose.app/slides/conversion/ppt-to-html) ou [PPTX en HTML](https://products.aspose.app/slides/conversion/pptx-to-html) pour convertir des présentations directement dans votre navigateur sans écrire de code. -### **Puis‑je utiliser des styles CSS personnalisés dans le fichier HTML exporté ?** +**Puis‑je utiliser des styles CSS personnalisés dans le fichier HTML exporté ?** -Oui, Aspose.Slides permet de lier des fichiers CSS externes lors de la conversion, ce qui vous donne la possibilité de personnaliser entièrement l’apparence du contenu HTML résultant. \ No newline at end of file +Oui, Aspose.Slides permet de créer des liens vers des fichiers CSS externes lors de la conversion, vous permettant de personnaliser entièrement l’apparence du contenu HTML résultant. diff --git a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index e38cb3aaf0..2f26899d92 100644 --- a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,5 +1,5 @@ --- -title: Convertir PPT et PPTX en PDF avec Python | Options avancées +title: Convertir PPT & PPTX en PDF avec Python | Options avancées linktitle: PowerPoint en PDF type: docs weight: 40 @@ -10,134 +10,132 @@ keywords: - PowerPoint en PDF - PPT en PDF - PPTX en PDF -- enregistrer PowerPoint en PDF +- enregistrer PowerPoint au format PDF - PDF/A1a - PDF/A1b - PDF/UA - Python -- Aspose.Slides pour Python -description: "Guide étape par étape pour convertir PPT et PPTX en PDF de haute qualité, conforme WCAG, avec Aspose.Slides en Python ; inclut la protection par mot de passe, la sélection de diapositives et le contrôle de la qualité des images." +- Aspose.Slides for Python +description: "Guide étape par étape pour convertir PPT, PPTX et ODP en PDFs de haute qualité, conformes aux WCAG, avec Python et Aspose.Slides — inclut la protection par mot de passe, la sélection de diapositives et le contrôle de la qualité des images." +showReadingTime: true --- -## **Aperçu** +## **Vue d'ensemble** -La conversion de documents PowerPoint en format PDF offre plusieurs avantages, notamment l'assurance de la compatibilité sur différents appareils et la préservation de la mise en page et du format de votre présentation. Cet article vous montre comment convertir des présentations en documents PDF, utiliser diverses options pour contrôler la qualité des images, inclure des diapositives cachées, protéger par mot de passe les documents PDF, détecter les substitutions de police, sélectionner des diapositives pour la conversion et appliquer des normes de conformité aux documents de sortie. +La conversion de présentations PowerPoint (PPT, PPTX, ODP) en format PDF avec Python offre plusieurs avantages, notamment assurer la compatibilité entre différents appareils et préserver la mise en page ainsi que le formatage de votre présentation. Ce guide montre comment convertir des présentations en documents PDF, utiliser diverses options pour contrôler la qualité des images, inclure les diapositives masquées, protéger les PDF par mot de passe, détecter les substitutions de polices, sélectionner des diapositives spécifiques pour la conversion et appliquer des normes de conformité aux documents de sortie. -## **Conversions PowerPoint en PDF** +## **Conversions PowerPoint vers PDF** -Avec Aspose.Slides, vous pouvez convertir des présentations dans ces formats en PDF : +Avec Aspose.Slides, vous pouvez convertir les présentations de ces formats en PDF : -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -Pour convertir une présentation en PDF avec Python, il vous suffit de passer le nom du fichier en argument dans la classe [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) puis de sauvegarder la présentation en PDF en utilisant une méthode [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods). La classe [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) expose la méthode [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) qui est généralement utilisée pour convertir une présentation en PDF. +Pour convertir une présentation en PDF avec Python, il suffit de passer le nom du fichier en argument de la classe [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) puis d’enregistrer la présentation en PDF à l’aide de la méthode [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods). La classe [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) expose la méthode [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) qui est généralement utilisée pour convertir une présentation en PDF. {{% alert title="NOTE" color="warning" %}} -Aspose.Slides pour Python écrit directement les informations API et le numéro de version dans les documents de sortie. Par exemple, lorsqu'il convertit une présentation en PDF, Aspose.Slides pour Python remplit le champ Application avec la valeur '*Aspose.Slides*' et le champ PDF Producer avec une valeur sous la forme '*Aspose.Slides v XX.XX*'. **Remarque** que vous ne pouvez pas demander à Aspose.Slides pour Python de modifier ou de supprimer ces informations des documents de sortie. +Aspose.Slides for Python écrit directement les informations d’API et le numéro de version dans les documents de sortie. Par exemple, lorsqu’elle convertit une présentation en PDF, Aspose.Slides for Python remplit le champ Application avec la valeur '*Aspose.Slides*' et le champ PDF Producer avec une valeur du format '*Aspose.Slides v XX.XX*'. **Remarque** : vous ne pouvez pas demander à Aspose.Slides for Python de modifier ou de supprimer ces informations des documents de sortie. {{% /alert %}} Aspose.Slides vous permet de convertir : -* une présentation entière en PDF -* des diapositives spécifiques dans une présentation en PDF -* une présentation +* L’ensemble des présentations en PDF +* Des diapositives spécifiques d’une présentation en PDF -Aspose.Slides exporte des présentations en PDF d'une manière qui rend le contenu des PDF résultants très similaire à celui des présentations originales. Ces éléments et attributs connus sont souvent rendus correctement dans les conversions de présentation en PDF : +Aspose.Slides exporte les présentations vers PDF, en veillant à ce que le contenu des PDF générés corresponde étroitement aux présentations d’origine. Les éléments et attributs sont rendus avec précision lors de la conversion, notamment : -* images -* zones de texte et autres formes -* textes et leur formatage -* paragraphes et leur formatage -* hyperliens -* en-têtes et pieds de page -* puces -* tableaux +* Images +* Zones de texte et formes +* Formatage du texte +* Formatage des paragraphes +* Hyperliens +* En‑têtes et pieds de page +* Puces +* Tableaux ## **Convertir PowerPoint en PDF** -L'opération standard de conversion PowerPoint en PDF est exécutée en utilisant des options par défaut. Dans ce cas, Aspose.Slides essaie de convertir la présentation fournie en PDF en utilisant des paramètres optimaux aux niveaux de qualité maximum. Ce code Python vous montre comment convertir un PowerPoint en PDF : +L’opération standard de conversion PowerPoint en PDF s’exécute avec les options par défaut. Dans ce cas, Aspose.Slides tente de convertir la présentation fournie en PDF en utilisant des paramètres optimaux au niveau de qualité maximale. Ce code Python vous montre comment convertir un PowerPoint en PDF : -_Étapes : Conversions PowerPoint en PDF avec Python_ +_Steps: PowerPoint to PDF Conversions in Python_ -Le code d'exemple suivant explique ces conversions en utilisant Python via .NET -- Étapes : Convertir PowerPoint en PDF en utilisant Python via .NET -- Étapes : Convertir PPT en PDF en utilisant Python via .NET -- Étapes : Convertir PPTX en PDF en utilisant Python via .NET -- Étapes : Convertir ODP en PDF en utilisant Python via .NET -- Étapes : Convertir PPS en PDF en utilisant Python via .NET +Le code d’exemple suivant explique ces conversions avec Python via .NET +- Étapes : Convertir PowerPoint en PDF à l'aide de Python via .NET +- Étapes : Convertir PPT en PDF à l'aide de Python via .NET +- Étapes : Convertir PPTX en PDF à l'aide de Python via .NET +- Étapes : Convertir ODP en PDF à l'aide de Python via .NET +- Étapes : Convertir PPS en PDF à l'aide de Python via .NET -_Code des étapes :_ - -- Créer une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) et lui fournir le fichier PowerPoint. - * _.ppt_ pour charger un fichier **PPT** dans la classe _Presentation_. - * _.pptx_ pour charger un fichier **PPTX** dans la classe _Presentation_. - * _.odp_ pour charger un fichier **ODP** dans la classe _Presentation_. - * _.pps_ pour charger un fichier **PPS** dans la classe _Presentation_. -- Sauvegarder la _Presentation_ au format **PDF** en appelant la méthode **Save** et en utilisant l’énumération **SaveFormat.PDF**. - +_Code Steps :_ +- Créez une instance de la classe [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) et fournissez‑lui le fichier PowerPoint. + * extension _.ppt_ pour charger le fichier **PPT** dans la classe _Presentation_. + * extension _.pptx_ pour charger le fichier **PPTX** dans la classe _Presentation_. + * extension _.odp_ pour charger le fichier **ODP** dans la classe _Presentation_. + * extension _.pps_ pour charger le fichier **PPS** dans la classe _Presentation_. +- Enregistrez le _Presentation_ au format **PDF** en appelant la méthode **Save** et en utilisant l’énumération **SaveFormat.PDF**. ```python import aspose.slides as slides # Instancie une classe Presentation qui représente un fichier PowerPoint presentation = slides.Presentation("PowerPoint.ppt") -# Sauvegarde la présentation en tant que PDF +# Enregistre la présentation au format PDF presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF) ``` + {{% alert color="primary" %}} -Aspose propose un [**convertisseur PowerPoint en PDF**](https://products.aspose.app/slides/conversion/ppt-to-pdf) en ligne gratuit qui démontre le processus de conversion de présentation en PDF. Pour une mise en œuvre en direct de la procédure décrite ici, vous pouvez faire un test avec le convertisseur. +Aspose propose un [**convertisseur PowerPoint en PDF**](https://products.aspose.app/slides/conversion/ppt-to-pdf) en ligne gratuit qui illustre le processus de conversion d’une présentation en PDF. Pour voir une implémentation en direct de la procédure décrite ici, vous pouvez tester le convertisseur. {{% /alert %}} -## Convertir PowerPoint en PDF avec options +## **Convertir PowerPoint en PDF avec options** -Aspose.Slides fournit des options personnalisées — des propriétés sous la classe [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) — qui vous permettent de personnaliser le PDF (résultant du processus de conversion), de verrouiller le PDF avec un mot de passe ou même de spécifier comment le processus de conversion doit se dérouler. +Aspose.Slides propose des options personnalisées — propriétés de la classe [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) — qui vous permettent de personnaliser le PDF (issu du processus de conversion), de verrouiller le PDF par mot de passe ou même de spécifier le déroulement de la conversion. ### **Convertir PowerPoint en PDF avec options personnalisées** -En utilisant des options de conversion personnalisées, vous pouvez définir votre paramètre de qualité préféré pour les images raster, spécifier comment les métadonnées doivent être gérées, définir un niveau de compression pour les textes, définir les DPI pour les images, etc. - -L'exemple de code ci-dessous démontre une opération dans laquelle une présentation PowerPoint est convertie en PDF avec plusieurs options personnalisées : +En utilisant des options de conversion personnalisées, vous pouvez définir votre paramètre de qualité préféré pour les images raster, spécifier la manière dont les métas‑fichiers doivent être traités, définir un niveau de compression pour le texte, définir le DPI pour les images, etc. +L’exemple de code ci‑dessous montre une opération où une présentation PowerPoint est convertie en PDF avec plusieurs options personnalisées : ```python import aspose.slides as slides # Instancie la classe PdfOptions pdf_options = slides.export.PdfOptions() -# Définit la qualité pour les images JPG +# Définit la qualité des images JPG pdf_options.jpeg_quality = 90 -# Définit les DPI pour les images +# Définit le DPI pour les images pdf_options.sufficient_resolution = 300 -# Définit le comportement pour les métadonnées +# Définit le comportement des métafilés pdf_options.save_metafiles_as_png = True -# Définit le niveau de compression du texte pour le contenu textuel +# Définit le niveau de compression du texte pour le contenu pdf_options.text_compression = slides.export.PdfTextCompression.FLATE -# Définit le mode de conformité du PDF +# Définit le mode de conformité PDF pdf_options.compliance = slides.export.PdfCompliance.PDF15 # Instancie la classe Presentation qui représente un document PowerPoint with slides.Presentation("PowerPoint.pptx") as presentation: - # Sauvegarde la présentation comme document PDF + # Enregistre la présentation en tant que document PDF presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options) ``` -### **Convertir PowerPoint en PDF avec diapositives cachées** -Si une présentation contient des diapositives cachées, vous pouvez utiliser une option personnalisée — la propriété `show_hidden_slides` de la classe [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) — pour indiquer à Aspose.Slides d'inclure les diapositives cachées en tant que pages dans le PDF résultant. +### **Convertir PowerPoint en PDF avec diapositives masquées** -Ce code Python vous montre comment convertir une présentation PowerPoint en PDF avec les diapositives cachées incluses : +Si une présentation contient des diapositives masquées, vous pouvez utiliser une option personnalisée — la propriété `show_hidden_slides` de la classe [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) — pour demander à Aspose.Slides d’inclure les diapositives masquées en tant que pages dans le PDF résultant. +Ce code Python montre comment convertir une présentation PowerPoint en PDF avec les diapositives masquées incluses : ```python import aspose.slides as slides @@ -147,17 +145,17 @@ presentation = slides.Presentation("PowerPoint.pptx") # Instancie la classe PdfOptions pdfOptions = slides.export.PdfOptions() -# Ajoute des diapositives cachées +# Ajoute les diapositives masquées pdfOptions.show_hidden_slides = True -# Sauvegarde la présentation en tant que PDF +# Enregistre la présentation au format PDF presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### **Convertir PowerPoint en PDF protégé par mot de passe** -Ce code Python vous montre comment convertir un PowerPoint en PDF protégé par mot de passe (en utilisant les paramètres de protection de la classe [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)) : +### **Convertir PowerPoint en PDF protégé par mot de passe** +Ce code Python montre comment convertir un PowerPoint en PDF protégé par mot de passe (en utilisant les paramètres de protection de la classe [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) ) : ```python import aspose.slides as slides @@ -167,34 +165,34 @@ presentation = slides.Presentation("PowerPoint.pptx") # Instancie la classe PdfOptions pdfOptions = slides.export.PdfOptions() -# Définit le mot de passe du PDF et les autorisations d'accès +# Définit le mot de passe PDF et les autorisations d'accès pdfOptions.password = "password" pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT -# Sauvegarde la présentation en tant que PDF +# Enregistre la présentation au format PDF presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### **Détecter les substitutions de police** -Aspose.Slides fournit la propriété `warning_callback` sous la classe [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/) pour vous permettre de détecter les substitutions de police dans un processus de conversion de présentation en PDF. +### **Détecter les substitutions de polices** -Ce code Python vous montre comment détecter les substitutions de police : +Aspose.Slides fournit la propriété `warning_callback` de la classe [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/) pour vous permettre de détecter les substitutions de polices lors d’une conversion de présentation en PDF. +Ce code Python montre comment détecter les substitutions de polices : ```python -[TODO[SLIDESPYNET-91]: les callbacks ne sont pas pris en charge pour le moment] +[TODO[SLIDESPYNET-91]: les rappels ne sont pas pris en charge pour le moment] ``` + {{% alert color="primary" %}} -Pour plus d'informations sur les substitutions de police, consultez l'article [Substitution de police](https://docs.aspose.com/slides/python-net/font-substitution/). +Pour plus d’informations sur les substitutions de polices, consultez l’article [Font Substitution](https://docs.aspose.com/slides/python-net/font-substitution/). {{% /alert %}} -## **Convertir des diapositives sélectionnées de PowerPoint en PDF** - -Ce code Python vous montre comment convertir des diapositives spécifiques d'une présentation PowerPoint en PDF : +## **Convertir des diapositives sélectionnées en PDF** +Ce code Python montre comment convertir des diapositives spécifiques d’une présentation PowerPoint en PDF : ```python import aspose.slides as slides @@ -204,38 +202,41 @@ presentation = slides.Presentation("PowerPoint.pptx") # Définit un tableau de positions de diapositives slides_array = [ 1, 3 ] -# Sauvegarde la présentation en tant que PDF +# Enregistre la présentation au format PDF presentation.save("PPTX-to-PDF.pdf", slides_array, slides.export.SaveFormat.PDF) ``` -## **Convertir PowerPoint en PDF avec taille de diapositive personnalisée** -Ce code Python vous montre comment convertir un PowerPoint lorsque sa taille de diapositive est spécifiée en un PDF : +## **Convertir PowerPoint en PDF avec taille de diapositive personnalisée** +Ce code Python montre comment convertir un PowerPoint dont la taille de diapositive est spécifiée en PDF : ```python import aspose.slides as slides -# Instancie un objet Presentation qui représente un fichier PowerPoint -presentation = slides.Presentation("SelectedSlides.pptx") -auxPresentation = slides.Presentation() +slide_width = 612 +slide_height = 792 -slide = presentation.slides[0] +# Instancie la classe Presentation qui représente un fichier PowerPoint ou OpenDocument. +with slides.Presentation("SelectedSlides.pptx") as presentation: -auxPresentation.slides.insert_clone(0, slide) + # Crée une nouvelle présentation avec une taille de diapositive ajustée. + with slides.Presentation() as resized_presentation: -# Définit le type et la taille de la diapositive -auxPresentation.slide_size.set_size(612, 792, slides.SlideSizeScaleType.ENSURE_FIT) + # Définit la taille de diapositive personnalisée. + resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT) -pdfOptions = slides.export.PdfOptions() -pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL + # Clone la première diapositive de la présentation originale. + slide = presentation.slides[0] + resized_presentation.slides.insert_clone(0, slide) -auxPresentation.save("PDFnotes_out.pdf", slides.export.SaveFormat.PDF, pdfOptions) + # Enregistre la présentation redimensionnée en PDF avec les notes. + resized_presentation.save("PDF_with_notes.pdf", slides.export.SaveFormat.PDF) ``` -## **Convertir PowerPoint en PDF en vue des notes de diapositive** -Ce code Python vous montre comment convertir un PowerPoint en PDF notes : +## **Convertir PowerPoint en PDF en affichage des notes de diapositive** +Ce code Python montre comment convertir un PowerPoint en PDF contenant les notes : ```python import aspose.slides as slides @@ -245,16 +246,16 @@ presentation = slides.Presentation("NotesFile.pptx") pdfOptions = slides.export.PdfOptions() pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL -# Sauvegarde la présentation en tant que PDF notes +# Enregistre la présentation au format PDF avec notes presentation.Save("Pdf_Notes_out.tiff", slides.export.SaveFormat.PDF, pdfOptions) ``` -## **Normes d'accessibilité et de conformité pour PDF** -Aspose.Slides vous permet d'utiliser une procédure de conversion qui respecte les [lignes directrices pour l'accessibilité du contenu Web (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Vous pouvez exporter un document PowerPoint en PDF en utilisant l'une de ces normes de conformité : **PDF/A1a**, **PDF/A1b**, et **PDF/UA**. +## **Accessibilité et normes de conformité pour le PDF** -Ce code Python démontre une opération de conversion PowerPoint en PDF dans laquelle plusieurs PDFs basés sur différentes normes de conformité sont obtenus : +Aspose.Slides vous permet d’utiliser une procédure de conversion conforme aux [Web Content Accessibility Guidelines (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Vous pouvez exporter un document PowerPoint en PDF en appliquant l’une de ces normes de conformité : **PDF/A1a**, **PDF/A1b** et **PDF/UA**. +Ce code Python démontre une opération de conversion PowerPoint en PDF où plusieurs PDF basés sur différentes normes de conformité sont générés : ```python import aspose.slides as slides @@ -272,8 +273,49 @@ options.compliance = slides.export.PdfCompliance.PDF_UA pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options) ``` + {{% alert title="Note" color="warning" %}} -Le support d'Aspose.Slides pour les opérations de conversion PDF s'étend à vous permettre également de convertir le PDF dans les formats de fichier les plus populaires. Vous pouvez effectuer des conversions [PDF en HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/), [PDF en image](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/), [PDF en JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/), et [PDF en PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/). D'autres opérations de conversion de PDF vers des formats spécialisés — [PDF en SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/), [PDF en TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/), et [PDF en XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/) — sont également prises en charge. +Le support d’Aspose.Slides pour les opérations de conversion PDF s’étend à la conversion de PDF vers les formats de fichiers les plus populaires. Vous pouvez effectuer les conversions [PDF vers HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/), [PDF vers image](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/), [PDF vers JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/), et [PDF vers PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/). D’autres conversions PDF vers des formats spécialisés — [PDF vers SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/), [PDF vers TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/), et [PDF vers XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/) — sont également prises en charge. + +{{% /alert %}} + +## **FAQ** + +**Aspose.Slides for Python peut‑il supprimer les informations d’application du PDF ?** + +Non, Aspose.Slides for Python insère automatiquement les informations d’API et le numéro de version dans le PDF de sortie. Ces informations ne peuvent pas être modifiées ou supprimées. + +**Comment inclure uniquement des diapositives spécifiques dans la conversion PDF ?** + +Vous pouvez spécifier les indices des diapositives à convertir en passant un tableau de positions de diapositives à la méthode `save`. + +**Est‑il possible de protéger le PDF par mot de passe lors de la conversion ?** + +Oui, vous pouvez définir un mot de passe et spécifier les autorisations d’accès en utilisant la classe `PdfOptions` avant d’enregistrer la présentation au format PDF. + +**Aspose.Slides prend‑il en charge la conversion de PDF vers d’autres formats ?** + +Oui, Aspose.Slides prend en charge la conversion de PDF vers des formats tels que HTML, les formats image (JPG, PNG), SVG, TIFF et XML. + +**Comment garantir que mon PDF respecte les normes d’accessibilité ?** + +Définissez la propriété `compliance` dans `PdfOptions` sur des normes comme `PDF_A1A`, `PDF_A1B` ou `PDF_UA` pour assurer la conformité aux directives d’accessibilité. + +**Puis‑je inclure les diapositives masquées dans le PDF généré ?** + +Oui, en définissant la propriété `show_hidden_slides` dans `PdfOptions` à `True`, les diapositives masquées seront incluses dans le PDF. + +**Comment ajuster la qualité et la résolution des images lors de la conversion ?** + +Utilisez les propriétés `jpeg_quality` et `sufficient_resolution` dans `PdfOptions` pour contrôler la qualité et la résolution des images dans le PDF résultant. + +**Aspose.Slides gère‑t‑il automatiquement les substitutions de polices ?** + +Aspose.Slides détecte les substitutions de polices pendant la conversion, et vous pouvez les gérer à l’aide de la propriété `warning_callback` dans `SaveOptions` (actuellement limitée). + +## **Ressources supplémentaires** -{{% /alert %}} \ No newline at end of file +- [Documentation Aspose.Slides for .NET](https://docs.aspose.com/slides/python-net/) +- [Référence API Aspose.Slides](https://reference.aspose.com/slides/python-net/) +- [Convertisseurs en ligne gratuits Aspose](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index c7649c5c39..25ef03ac52 100644 --- a/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/fr/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -5,7 +5,7 @@ type: docs weight: 20 url: /fr/python-net/convert-ppt-to-pptx/ keywords: -- convertir PPT +- Convertir PPT - PPT en PPTX - PowerPoint - présentation @@ -16,13 +16,13 @@ description: "Convertissez les présentations PPT héritées en PPTX modernes ra ## **Vue d'ensemble** -Cet article explique comment convertir une présentation PowerPoint au format PPT en format PPTX en utilisant Python et une application de conversion en ligne de PPT vers PPTX. Le sujet suivant est couvert : +Cet article explique comment convertir une présentation PowerPoint au format PPT en format PPTX en utilisant Python et une application en ligne de conversion PPT vers PPTX. Le sujet suivant est couvert : - Convertir PPT en PPTX avec Python ## **Python Convertir PPT en PPTX** -Pour du code d'exemple Python permettant de convertir PPT en PPTX, veuillez consulter la section ci‑dessous, c’est‑à‑dire [Convert PPT to PPTX](#convert-ppt-to-pptx). Il charge simplement le fichier PPT et l’enregistre au format PPTX. En spécifiant différents formats d’enregistrement, vous pouvez également enregistrer un fichier PPT dans de nombreux autres formats tels que PDF, XPS, ODP, HTML, etc., comme expliqué dans ces articles : +Pour le code d'exemple Python pour convertir PPT en PPTX, veuillez consulter la section ci‑dessous, c’est‑à‑dire [Convert PPT to PPTX](#convert-ppt-to-pptx). Il charge simplement le fichier PPT et l’enregistre au format PPTX. En spécifiant différents formats d’enregistrement, vous pouvez également enregistrer un fichier PPT dans de nombreux autres formats tels que PDF, XPS, ODP, HTML, etc., comme expliqué dans ces articles : - [Python Convertir PPT en PDF](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-pdf/) - [Python Convertir PPT en XPS](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/) @@ -32,13 +32,17 @@ Pour du code d'exemple Python permettant de convertir PPT en PPTX, veuillez cons ## **À propos de la conversion PPT en PPTX** -Convertissez l’ancien format PPT en PPTX avec l’API Aspose.Slides. Si vous devez convertir des milliers de présentations PPT en format PPTX, la meilleure solution consiste à le faire de manière programmatique. Avec l’API Aspose.Slides, il est possible de le réaliser en quelques lignes de code seulement. L’API offre une compatibilité totale pour convertir une présentation PPT en PPTX, et il est possible de : +Convertissez l'ancien format PPT en PPTX avec l'API Aspose.Slides. Si vous devez convertir des milliers de présentations PPT en format PPTX, la meilleure solution est de le faire programmatiquement. Avec l'API Aspose.Slides, il est possible de le faire en quelques lignes de code seulement. L'API garantit une compatibilité totale pour convertir une présentation PPT en PPTX, et il est possible de : - Convertir des structures complexes de maîtres, de mises en page et de diapositives. - Convertir une présentation contenant des graphiques. -- Convertir une présentation avec des formes groupées, des formes automatiques (comme les rectangles et les ellipses) et des formes à géométrie personnalisée. -- Convertir une présentation contenant des textures et des styles de remplissage d’image pour les formes automatiques. -- Convertir une présentation avec des espaces réservés, des cadres de texte et des conteneurs de texte. +- Convertir une présentation contenant des formes groupées, des formes automatiques (comme des rectangles et des ellipses) et des formes avec une géométrie personnalisée. +- Convertir une présentation comportant des textures et des styles de remplissage d'image pour les formes automatiques. +- Convertir une présentation contenant des espaces réservés, des cadres de texte et des zones de texte. + +{{% alert color="primary" %}} + +Jetez un œil à l'application [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) : {{% alert color="primary" %}} Jetez un œil à l’application [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) : @@ -46,14 +50,15 @@ Jetez un œil à l’application [**Aspose.Slides PPT to PPTX Conversion**](http [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -Cette application est construite sur l’**Aspose.Slides API**, vous pourrez ainsi voir un exemple en direct des capacités de conversion de base PPT en PPTX. Aspose.Slides Conversion est une application web qui vous permet de déposer un fichier de présentation au format PPT et de le télécharger converti en PPTX. +Cette application est basée sur l'**Aspose.Slides API**, vous pouvez donc voir un exemple en direct des capacités de conversion basiques de PPT en PPTX. Aspose.Slides Conversion est une application web qui vous permet de déposer un fichier de présentation au format PPT et de le télécharger converti en PPTX. + +Trouvez d'autres exemples en direct de [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) . -Découvrez d’autres exemples en direct de [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/). {{% /alert %}} ## **Convertir PPT en PPTX** -Pour convertir un PPT en PPTX, il suffit de passer le nom du fichier et le format d’enregistrement à la méthode [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) de la classe [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). L’exemple de code Python ci‑dessous convertit une présentation de PPT en PPTX en utilisant les options par défaut. +Pour convertir un PPT en PPTX, il suffit de fournir le nom du fichier et le format d’enregistrement à la méthode [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) de la classe [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). L'exemple de code Python ci‑dessous convertit une présentation de PPT en PPTX en utilisant les options par défaut. ```python import aspose.slides as slides @@ -65,38 +70,34 @@ pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` -En savoir plus sur les formats de présentation [**PPT vs PPTX**](/slides/fr/python-net/ppt-vs-pptx/) et sur la façon dont [**Aspose.Slides supports PPT to PPTX conversion**](/slides/fr/python-net/convert-ppt-to-pptx/). - -## Questions fréquentes - -### **Quelle est la différence entre les formats PPT et PPTX ?** +En savoir plus sur les formats de présentation [**PPT vs PPTX**](/slides/fr/python-net/ppt-vs-pptx/) et sur la façon dont [**Aspose.Slides prend en charge la conversion PPT en PPTX**](/slides/fr/python-net/convert-ppt-to-pptx/). -PPT est l’ancien format de fichier binaire utilisé par Microsoft PowerPoint, tandis que PPTX est le nouveau format basé sur XML introduit avec Microsoft Office 2007. Les fichiers PPTX offrent de meilleures performances, une taille de fichier réduite et une récupération de données améliorée. +## **FAQ** -### **Puis‑je convertir PPT en PPTX avec Python ?** +**Quelle est la différence entre les formats PPT et PPTX ?** -Oui, en utilisant la bibliothèque Aspose.Slides for Python via .NET, vous pouvez facilement charger un fichier PPT et l’enregistrer au format PPTX avec seulement quelques lignes de code. +PPT est le format de fichier binaire plus ancien utilisé par Microsoft PowerPoint, tandis que PPTX est le format plus récent basé sur XML introduit avec Microsoft Office 2007. Les fichiers PPTX offrent de meilleures performances, une taille de fichier réduite et une récupération de données améliorée. -### **Aspose.Slides for Python via .NET est‑il requis pour la conversion PPT en PPTX ?** +**Puis‑je convertir PPT en PPTX avec Python ?** -Oui, l’API Aspose.Slides fournit les méthodes et classes nécessaires pour convertir, manipuler et enregistrer des présentations PowerPoint de manière programmatique sans dépendre de Microsoft PowerPoint. +Oui, en utilisant la bibliothèque Aspose.Slides for Python via .NET, vous pouvez facilement charger un fichier PPT et l’enregistrer au format PPTX en quelques lignes de code seulement. -### **Aspose.Slides prend‑il en charge la conversion par lots de plusieurs fichiers PPT en PPTX ?** +**Aspose.Slides prend‑il en charge la conversion par lots de plusieurs fichiers PPT en PPTX ?** -Oui, vous pouvez utiliser Aspose.Slides dans une boucle pour convertir plusieurs fichiers PPT en PPTX de façon programmatique, ce qui le rend adapté aux scénarios de conversion par lots. +Oui, vous pouvez utiliser Aspose.Slides dans une boucle pour convertir plusieurs fichiers PPT en PPTX de manière programmée, ce qui le rend adapté aux scénarios de conversion par lots. -### **Le contenu et la mise en forme seront‑ils conservés après la conversion ?** +**Le contenu et la mise en forme seront‑ils préservés après la conversion ?** -Aspose.Slides garantit une haute fidélité lors de la conversion des présentations. Les mises en page des diapositives, les animations, les formes, les graphiques et d’autres éléments de conception sont préservés lors de la conversion PPT en PPTX. +Aspose.Slides maintient une haute fidélité lors de la conversion des présentations. Les mises en page des diapositives, les animations, les formes, les graphiques et les autres éléments de conception sont conservés pendant la conversion de PPT en PPTX. -### **Puis‑je convertir d’autres formats tels que PDF ou HTML à partir de fichiers PPT ?** +**Puis‑je convertir d’autres formats comme PDF ou HTML à partir de fichiers PPT ?** -Oui, Aspose.Slides prend en charge la conversion des fichiers PPT vers plusieurs formats, dont PDF, XPS, HTML, ODP et les formats d’image tels que PNG et JPEG. +Oui, Aspose.Slides prend en charge la conversion des fichiers PPT vers plusieurs formats, notamment PDF, XPS, HTML, ODP et les formats d’image tels que PNG et JPEG. -### **Est‑il possible de convertir PPT en PPTX sans Microsoft PowerPoint installé ?** +**Est‑il possible de convertir PPT en PPTX sans Microsoft PowerPoint installé ?** -Oui, Aspose.Slides for Python via .NET est une API autonome qui ne nécessite pas Microsoft PowerPoint ni aucun logiciel tiers pour effectuer la conversion. +Oui, Aspose.Slides for Python via .NET est une API autonome qui ne nécessite ni Microsoft PowerPoint ni aucun logiciel tiers pour effectuer la conversion. -### **Existe‑t‑il un outil en ligne pour la conversion PPT en PPTX ?** +**Existe‑t‑il un outil en ligne disponible pour la conversion PPT en PPTX ?** -Oui, vous pouvez utiliser le convertisseur gratuit [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) en ligne pour effectuer la conversion directement dans votre navigateur sans écrire de code. \ No newline at end of file +Oui, vous pouvez utiliser le convertisseur gratuit [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) en ligne pour effectuer la conversion directement dans votre navigateur, sans écrire de code. diff --git a/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..1b1c6a9c56 --- /dev/null +++ b/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "Automatisation de la génération de PowerPoint en Python : créez facilement des présentations dynamiques" +linktitle: Automatisation de la génération de PowerPoint +type: docs +weight: 20 +url: /fr/python-net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: + - plateformes cloud + - automatiser la génération de PowerPoint + - générer des présentations programmatique + - automatisation PowerPoint + - création dynamique de diapositives + - rapports d’entreprise automatisés + - automatisation PPT + - présentation Python + - Python + - Aspose.Slides +description: "Automatisez la création de diapositives sur les plateformes cloud avec Aspose.Slides pour Python — générez, modifiez et convertissez rapidement et de façon fiable les fichiers PowerPoint et OpenDocument." +--- + +## **Introduction** + +Créer des présentations PowerPoint manuellement peut être une tâche chronophage et répétitive—surtout lorsque le contenu provient de données dynamiques qui évoluent fréquemment. Que ce soit pour générer des rapports d’affaires hebdomadaires, assembler du matériel pédagogique ou produire des présentations commerciales prêtes pour les clients, l’automatisation peut faire gagner d’innombrables heures et garantir la cohérence entre les équipes. + +Pour les développeurs Python, automatiser la création de présentations PowerPoint ouvre de puissantes possibilités. Vous pouvez intégrer la génération de diapositives dans des portails web, des outils de bureau, des services back‑end ou des plateformes cloud afin de convertir dynamiquement des données en présentations professionnelles et brandées—à la demande. + +Dans cet article, nous explorerons les cas d’utilisation courants de la génération automatique de PowerPoint dans les applications Python (y compris les déploiements sur les plateformes cloud) et pourquoi cela devient une fonctionnalité essentielle dans les solutions modernes. De l’extraction de données d’entreprise en temps réel à la conversion de texte ou d’images en diapositives, l’objectif est de transformer du contenu brut en formats visuels structurés que votre audience comprend immédiatement. + +## **Cas d’utilisation courants de l’automatisation PowerPoint en Python** + +L’automatisation de la génération de PowerPoint est particulièrement utile dans les scénarios où le contenu de la présentation doit être assemblé dynamiquement, personnalisé ou fréquemment mis à jour. Parmi les cas d’utilisation réels les plus courants, on retrouve : + +- **Rapports d’entreprise et tableaux de bord** + Générer des résumés de ventes, des KPI ou des rapports de performance financière en extrayant des données en direct depuis des bases de données ou des API. + +- **Présentations commerciales et marketing personnalisées** + Créer automatiquement des decks de pitch spécifiques à chaque client à partir de données CRM ou de formulaires, assurant rapidité et cohérence de la marque. + +- **Contenu éducatif** + Convertir du matériel d’apprentissage, des questionnaires ou des résumés de cours en decks de diapositives structurés pour les plateformes e‑learning. + +- **Insights alimentés par les données et l’IA** + Utiliser le traitement du langage naturel ou des moteurs d’analyse pour transformer des données brutes ou des textes longs en présentations résumées. + +- **Diapositives basées sur les médias** + Assembler des présentations à partir d’images téléchargées, de captures d’écran annotées ou de captures clés vidéo avec des descriptions d’accompagnement. + +- **Conversion de documents** + Convertir automatiquement des documents Word, PDF ou des entrées de formulaire en présentations visuelles avec un effort manuel minimal. + +- **Outils pour développeurs et techniques** + Créer des démos techniques, des aperçus de documentation ou des changelogs au format diapositive directement depuis du code ou du contenu markdown. + +En automatisant ces flux de travail, les organisations peuvent augmenter l’échelle de création de contenu, maintenir la cohérence et libérer du temps pour des activités plus stratégiques. + +## **Passons au code** + +Pour cet exemple, nous avons choisi **[Aspose.Slides for Python](https://products.aspose.com/slides/python-net/)** afin de démontrer l’automatisation PowerPoint grâce à son ensemble complet de fonctionnalités et sa facilité d’utilisation pour travailler avec les présentations de façon programmatique. + +Contrairement aux bibliothèques de bas niveau, qui obligent les développeurs à manipuler directement la structure Open XML (souvent source de code verbeux et difficile à lire), Aspose.Slides fournit une API de haut niveau. Elle masque la complexité, permettant aux développeurs de se concentrer sur la logique de la présentation—mise en page, formatage, liaison des données—sans avoir besoin de comprendre en détail le format de fichier PowerPoint. + +Bien qu’Aspose.Slides soit une bibliothèque commerciale, elle propose une [free trial](https://releases.aspose.com/slides/python-net/) entièrement capable d’exécuter les exemples présentés dans cet article. Pour le but de démontrer des idées, tester des fonctionnalités ou créer une preuve de concept comme celle que nous couvrons ici, la version d’essai est largement suffisante. Cela en fait une option pratique pour expérimenter l’automatisation PowerPoint sans devoir souscrire immédiatement à une licence. + +Passons maintenant à la création d’une présentation d’exemple à l’aide de contenu réel. + +### **Créer une diapositive de titre** + +Nous commençons par créer une nouvelle présentation et ajouter une diapositive de titre avec un titre principal et un sous‑titre. +```py +import aspose.slides as slides +import aspose.slides.charts as charts +import aspose.pydrawing as draw + +with slides.Presentation() as presentation: + + slide_0 = presentation.slides[0] + slide_0.layout_slide = presentation.layout_slides.get_by_type(slides.SlideLayoutType.TITLE) + + title_shape = slide_0.shapes[0] + subtitle_shape = slide_0.shapes[1] + + title_shape.text_frame.text = "Quarterly Business Review – Q1 2025" + subtitle_shape.text_frame.text = "Prepared for Executive Team" +``` + + +![The title slide](slide_0.png) + +### **Ajouter une diapositive avec un graphique en colonnes** + +Ensuite, nous créons une diapositive affichant la performance des ventes régionales sous forme de graphique en colonnes. +```py +layout_slide_1 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_1 = presentation.slides.add_empty_slide(layout_slide_1) + +chart = slide_1.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350, False) +chart.legend.position = charts.LegendPositionType.BOTTOM +chart.has_title = True +chart.chart_title.add_text_frame_for_overriding("Data from January – March 2025") +chart.chart_title.overlay = False + +workbook = chart.chart_data.chart_data_workbook +worksheet_index = 0 + +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 1, 0, "North America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 2, 0, "Europe")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 3, 0, "Asia Pacific")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 4, 0, "Latin America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 5, 0, "Middle East")) + +series = chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 1, "Sales ($K)"), chart.type) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 1, 480)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 1, 365)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 1, 290)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 4, 1, 150)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 5, 1, 120)) +``` + + +![The slide with the chart](slide_1.png) + +### **Ajouter une diapositive avec un tableau** + +Nous ajoutons maintenant une diapositive présentant les principaux indicateurs de performance sous forme de tableau. +```py +layout_slide_2 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_2 = presentation.slides.add_empty_slide(layout_slide_2) + +column_widths = [200, 100] +row_heights = [40, 40, 40, 40, 40] + +table = slide_2.shapes.add_table(200, 200, column_widths, row_heights) +table.columns[0][0].text_frame.text = "Metric" +table.columns[1][0].text_frame.text = "Value" +table.columns[0][1].text_frame.text = "Total Revenue" +table.columns[1][1].text_frame.text = "$1.4M" +table.columns[0][2].text_frame.text = "Gross Margin" +table.columns[1][2].text_frame.text = "54%" +table.columns[0][3].text_frame.text = "New Customers" +table.columns[1][3].text_frame.text = "340" +table.columns[0][4].text_frame.text = "Customer Retention" +table.columns[1][4].text_frame.text = "87%" +``` + + +![The slide with the table](slide_2.png) + +### **Ajouter une diapositive de synthèse avec puces** + +Enfin, nous incluons une diapositive de synthèse et de plan d’action à l’aide d’une simple liste à puces. +```py +def create_bullet_paragraph(text): + paragraph = slides.Paragraph() + paragraph.paragraph_format.bullet.type = slides.BulletType.SYMBOL + paragraph.paragraph_format.indent = 15 + paragraph.paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID + paragraph.paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.black + paragraph.text = text + return paragraph +``` + +```py +layout_slide_3 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_3 = presentation.slides.add_empty_slide(layout_slide_3) + +bullet_list = slide_3.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 50, 600, 200) +bullet_list.fill_format.fill_type = slides.FillType.NO_FILL +bullet_list.line_format.fill_format.fill_type = slides.FillType.NO_FILL + +bullet_list.text_frame.paragraphs.clear() +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Strong performance in North America; growth opportunity in Asia Pacific")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Improve marketing outreach in underperforming regions")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Prepare new campaign strategy for Q2")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Schedule follow-up review in early July")) +``` + + +![The slide with the text](slide_3.png) + +### **Enregistrer la présentation** + +Enfin, nous enregistrons la présentation sur le disque : +```py +presentation.save("presentation.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **Conclusion** + +L’automatisation de la génération de PowerPoint dans les applications Python offre des avantages clairs en termes d’économie de temps et de réduction des efforts manuels. En intégrant du contenu dynamique tel que des graphiques, des tableaux et du texte, les développeurs peuvent produire rapidement des présentations cohérentes et professionnelles—idéales pour les rapports d’affaires, les réunions clients ou le contenu éducatif. + +Dans cet article, nous avons montré comment automatiser la création d’une présentation from scratch, en ajoutant une diapositive de titre, des graphiques et des tableaux. Cette approche peut être appliquée à de nombreux cas d’utilisation où des présentations automatisées et pilotées par les données sont nécessaires. + +En exploitant les bons outils, les développeurs Python peuvent automatiser efficacement la création de PowerPoint, améliorer la productivité et garantir la cohérence de leurs présentations. \ No newline at end of file diff --git a/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/fr/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..c516508316 --- /dev/null +++ b/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "AndroidでPowerPoint自動生成:動的なプレゼンテーションを簡単に作成" +linktitle: PowerPoint自動生成 +type: docs +weight: 20 +url: /ja/androidjava/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- クラウドプラットフォーム +- PowerPoint生成の自動化 +- プログラムでプレゼンテーションを生成 +- PowerPoint自動化 +- 動的スライド作成 +- 自動化されたビジネスレポート +- PPT自動化 +- Androidプレゼンテーション +- Java +- Aspose.Slides +description: "Aspose.Slides for Android を使用してクラウドプラットフォーム上でスライド作成を自動化し、PowerPoint および OpenDocument ファイルを迅速かつ確実に生成、編集、変換します。" +--- + +## **はじめに** + +手動でPowerPointプレゼンテーションを作成することは、特に内容が頻繁に変わる動的データに基づく場合、時間がかかり繰り返しの作業になります。週次のビジネスレポート作成、教育資料の組み立て、顧客向けの販売デッキ作成など、さまざまなシナリオで自動化すれば、何時間もの作業を削減でき、チーム間での一貫性も保てます。 + +Android開発者にとって、PowerPointプレゼンテーションの自動作成は強力な可能性を提供します。スライド生成をWebポータル、デスクトップツール、バックエンドサービス、またはクラウドプラットフォームに統合し、データをプロフェッショナルでブランド化されたプレゼンテーションにオンデマンドで変換できます。 + +本記事では、Androidアプリ(クラウドプラットフォームへのデプロイを含む)におけるPowerPoint自動生成の一般的なユースケースと、なぜ現代のソリューションで必須機能となりつつあるのかを解説します。リアルタイムのビジネスデータの取得からテキストや画像をスライドに変換するまで、目的は生のコンテンツを視覚的に構造化し、観客にすぐに理解できる形にすることです。 + +## **AndroidでのPowerPoint自動化の一般的なユースケース** + +PowerPoint生成を自動化すると、プレゼンテーション内容を動的に組み立てたり、パーソナライズしたり、頻繁に更新したりするシナリオで特に有用です。代表的な実例は次のとおりです。 + +- **ビジネスレポート&ダッシュボード** + データベースやAPIからライブデータを取得し、売上サマリー、KPI、財務実績レポートを生成します。 + +- **パーソナライズされたセールス&マーケティングデック** + CRMやフォームデータを元にクライアント別のピッチデックを自動作成し、迅速な納品とブランド一貫性を実現します。 + +- **教育コンテンツ** + 学習資料、クイズ、コースサマリーを構造化されたスライドデックに変換し、eラーニングプラットフォームで活用します。 + +- **データ&AI駆動のインサイト** + 自然言語処理や分析エンジンを利用し、生データや長文テキストを要約プレゼンテーションに変換します。 + +- **メディアベースのスライド** + アップロードされた画像、注釈付きスクリーンショット、ビデオのキーフレームと説明文を組み合わせてプレゼンテーションを作成します。 + +- **ドキュメント変換** + Word文書、PDF、フォーム入力を最小限の手作業で視覚的なプレゼンテーションに自動変換します。 + +- **開発者・技術ツール** + コードやMarkdownコンテンツから直接、技術デモ、ドキュメント概要、変更履歴をスライド形式で生成します。 + +これらのワークフローを自動化することで、組織はコンテンツ作成をスケールさせ、一貫性を保ち、戦略的業務に時間を割くことができます。 + +## **コードを書いてみましょう** + +本例では、**[Aspose.Slides for Android](https://products.aspose.com/slides/android-java/)** を使用してPowerPoint自動化をデモします。同製品は包括的な機能セットと、プログラムでプレゼンテーションを操作する際の使いやすさが特徴です。 + +Open XML構造を直接扱う低レベルライブラリとは異なり、Aspose.Slides は高レベル API を提供します。ファイルフォーマットの詳細を理解することなく、レイアウト、書式設定、データバインディングといったプレゼンテーションロジックに集中できます。 + +Aspose.Slides は商用ライブラリですが、[無料体験版](https://releases.aspose.com/slides/androidjava/) が利用可能で、本記事のサンプルを実行するのに十分です。概念実証や機能テスト、プロトタイプ構築など、ライセンス購入前に試すのに便利です。 + +それでは、実際のコンテンツを用いたサンプルプレゼンテーションの作成手順を見ていきましょう。 + +### **タイトルスライドの作成** + +新規プレゼンテーションを作成し、メイン見出しとサブタイトルを含むタイトルスライドを追加します。 +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![タイトルスライド](slide_0.png) + +### **柱状グラフ付きスライドの追加** + +次に、地域別売上実績を柱状グラフで示すスライドを作成します。 +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![グラフ付きスライド](slide_1.png) + +### **テーブル付きスライドの追加** + +主要パフォーマンス指標をテーブル形式で提示するスライドを追加します。 +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![テーブル付きスライド](slide_2.png) + +### **箇条書きによるサマリースライドの追加** + +最後に、シンプルな箇条書きでサマリーとアクションプランを示すスライドを挿入します。 +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![テキスト付きスライド](slide_3.png) + +### **プレゼンテーションの保存** + +最後に、プレゼンテーションをディスクに保存します。 +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **結論** + +AndroidアプリでPowerPoint生成を自動化すると、時間の節約と手作業の削減という明確なメリットが得られます。チャート、テーブル、テキストといった動的コンテンツを組み込むことで、ビジネスレポートやクライアントミーティング、教育資料など、さまざまなシーンで一貫したプロフェッショナルなプレゼンテーションを迅速に作成できます。 + +本記事では、タイトルスライド、グラフ、テーブルを順に追加する形で、ゼロからプレゼンテーションを自動生成する方法を示しました。この手法は、データ駆動型プレゼンテーションが求められる多様なユースケースに応用可能です。 + +適切なツールを活用することで、Android開発者はPowerPoint作成を効率的に自動化し、生産性を向上させながらプレゼンテーションの品質と一貫性を確保できます。 \ No newline at end of file diff --git a/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ja/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..584599cca3 --- /dev/null +++ b/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "C++ で PowerPoint の自動生成: 動的なプレゼンテーションを簡単に作成" +linktitle: PowerPoint 自動生成 +type: docs +weight: 20 +url: /ja/cpp/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- クラウド プラットフォーム +- PowerPoint の自動生成 +- プログラムでプレゼンテーションを生成 +- PowerPoint 自動化 +- 動的スライド作成 +- 自動化されたビジネスレポート +- PPT 自動化 +- C++ プレゼンテーション +- C++ +- Aspose.Slides +description: "Aspose.Slides for C++ を使用してクラウド プラットフォーム上でスライド作成を自動化し、PowerPoint と OpenDocument ファイルを高速かつ信頼性を持って生成、編集、変換します。" +--- + +## **はじめに** + +PowerPoint プレゼンテーションを手動で作成することは、時間がかかり繰り返しの作業になることがあります—特にコンテンツが頻繁に変わる動的データに基づく場合はなおさらです。週次の業務レポート作成、教育教材の組み立て、クライアント向けの営業デッキ作成など、Automation によって膨大な時間を節約し、チーム全体での一貫性を確保できます。 + +C++ 開発者にとって、PowerPoint プレゼンテーションの作成を自動化することは強力な可能性を開きます。スライド生成を Web ポータル、デスクトップツール、バックエンドサービス、またはクラウドプラットフォームに統合し、データをプロフェッショナルでブランド化されたプレゼンテーションへオンデマンドで変換できます。 + +本記事では、C++ アプリ(クラウド プラットフォームへのデプロイを含む)における自動 PowerPoint 生成の代表的なユースケースと、現代ソリューションで必須機能となりつつある理由を探ります。リアルタイムの業務データ取得からテキストや画像をスライドに変換するまで、目的は生データを構造化された視覚フォーマットへ変換し、受け手が即座に理解できるようにすることです。 + +## **C++ における PowerPoint 自動化の一般的なユースケース** + +PowerPoint の生成を自動化することは、プレゼンテーション コンテンツを動的に組み立てたり、パーソナライズしたり、頻繁に更新したりする必要があるシナリオで特に有用です。最も一般的な実世界のユースケースには次のようなものがあります: + +- **ビジネスレポートとダッシュボード** + データベースや API からリアルタイム データを取得し、売上サマリー、KPI、財務実績レポートを生成します。 + +- **パーソナライズされた営業・マーケティング デック** + CRM やフォーム データを使用して顧客固有のピッチ デックを自動作成し、迅速な納品とブランドの一貫性を確保します。 + +- **教育コンテンツ** + 学習教材、クイズ、コースサマリーを eラーニング プラットフォーム向けの構造化されたスライド デックに変換します。 + +- **データ・AI 活用インサイト** + 自然言語処理や分析エンジンを活用し、生データや長文テキストを要約されたプレゼンテーションに変換します。 + +- **メディアベースのスライド** + アップロードされた画像、注釈付きスクリーンショット、またはビデオのキーフレームと説明文からプレゼンテーションを組み立てます。 + +- **ドキュメント変換** + Word 文書、PDF、フォーム入力を最小限の手作業で視覚的なプレゼンテーションに自動変換します。 + +- **開発者向け・技術ツール** + コードや Markdown コンテンツから直接、技術デモ、ドキュメント概要、変更履歴をスライド形式で作成します。 + +これらのワークフローを自動化することで、組織はコンテンツ作成をスケールし、一貫性を保ち、より戦略的な業務に割く時間を確保できます。 + +## **コードを書いてみましょう** + +本例では、**[Aspose.Slides for C++](https://products.aspose.com/slides/cpp/)** を選択しました。これは、包括的な機能セットと、プログラムでプレゼンテーションを扱う際の使いやすさが特徴です。 + +低レベルのライブラリとは異なり、Open XML 構造を直接操作する必要があり、コードが冗長で読みにくくなることがありますが、Aspose.Slides は高レベル API を提供します。ファイル形式の詳細を理解することなく、レイアウト、書式設定、データ バインディングといったプレゼンテーション ロジックに集中できます。 + +Aspose.Slides は商用ライブラリですが、[無料トライアル](https://releases.aspose.com/slides/cpp/) バージョンでも本記事のサンプルは完全に実行可能です。アイデアの検証、機能テスト、概念実証の構築など、ライセンスを取得する前に十分に活用できます。したがって、ライセンス購入のハードルなしに自動 PowerPoint 生成を試すことができます。 + +では、実際のコンテンツを使用したサンプル プレゼンテーションの作成手順を見ていきましょう。 + +### **タイトルスライドの作成** + +まず新しいプレゼンテーションを作成し、メイン見出しとサブタイトルを持つタイトルスライドを追加します。 +```cpp +auto presentation = MakeObject(); + +auto slide0 = presentation->get_Slide(0); + +auto layoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Title); +slide0->set_LayoutSlide(layoutSlide); + +auto titleShape = ExplicitCast(slide0->get_Shape(0)); +auto subtitleShape = ExplicitCast(slide0->get_Shape(1)); + +titleShape->get_TextFrame()->set_Text(u"Quarterly Business Review – Q1 2025"); +subtitleShape->get_TextFrame()->set_Text(u"Prepared for Executive Team"); +``` + + +![タイトルスライド](slide_0.png) + +### **柱状グラフ付きスライドの追加** + +次に、地域別売上実績を柱状グラフで示すスライドを作成します。 +```cpp +auto layoutSlide1 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide1 = presentation->get_Slides()->AddEmptySlide(layoutSlide1); + +auto chart = slide1->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +chart->get_Legend()->set_Position(LegendPositionType::Bottom); +chart->set_HasTitle(true); +chart->get_ChartTitle()->AddTextFrameForOverriding(u"Data from January – March 2025"); +chart->get_ChartTitle()->set_Overlay(false); + +auto workbook = chart->get_ChartData()->get_ChartDataWorkbook(); +auto worksheetIndex = 0; + +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 1, 0, ObjectExt::Box(u"North America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 2, 0, ObjectExt::Box(u"Europe"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 3, 0, ObjectExt::Box(u"Asia Pacific"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 4, 0, ObjectExt::Box(u"Latin America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 5, 0, ObjectExt::Box(u"Middle East"))); + +auto series = chart->get_ChartData()->get_Series()->Add(workbook->GetCell(worksheetIndex, 0, 1, ObjectExt::Box(u"Sales ($K)")), chart->get_Type()); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 1, 1, ObjectExt::Box(480))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 2, 1, ObjectExt::Box(365))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 3, 1, ObjectExt::Box(290))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 4, 1, ObjectExt::Box(150))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 5, 1, ObjectExt::Box(120))); +``` + + +![チャート付きスライド](slide_1.png) + +### **テーブル付きスライドの追加** + +続いて、主要パフォーマンス指標を表形式で提示するスライドを追加します。 +```cpp +auto layoutSlide2 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide2 = presentation->get_Slides()->AddEmptySlide(layoutSlide2); + +auto columnWidths = MakeArray({ 200, 100 }); +auto rowHeights = MakeArray({ 40, 40, 40, 40, 40 }); + +auto table = slide2->get_Shapes()->AddTable(200, 200, columnWidths, rowHeights); +table->get_Column(0)->idx_get(0)->get_TextFrame()->set_Text(u"Metric"); +table->get_Column(1)->idx_get(0)->get_TextFrame()->set_Text(u"Value"); +table->get_Column(0)->idx_get(1)->get_TextFrame()->set_Text(u"Total Revenue"); +table->get_Column(1)->idx_get(1)->get_TextFrame()->set_Text(u"$1.4M"); +table->get_Column(0)->idx_get(2)->get_TextFrame()->set_Text(u"Gross Margin"); +table->get_Column(1)->idx_get(2)->get_TextFrame()->set_Text(u"54%"); +table->get_Column(0)->idx_get(3)->get_TextFrame()->set_Text(u"New Customers"); +table->get_Column(1)->idx_get(3)->get_TextFrame()->set_Text(u"340"); +table->get_Column(0)->idx_get(4)->get_TextFrame()->set_Text(u"Customer Retention"); +table->get_Column(1)->idx_get(4)->get_TextFrame()->set_Text(u"87%"); +``` + + +![テーブル付きスライド](slide_2.png) + +### **箇条書きの要約スライドの追加** + +最後に、シンプルな箇条書きリストを使用して要約とアクションプランを含めます。 +```cpp +static SharedPtr CreateBulletParagraph(String text) { + auto paragraph = MakeObject(); + paragraph->get_ParagraphFormat()->get_Bullet()->set_Type(BulletType::Symbol); + paragraph->get_ParagraphFormat()->set_Indent(15); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->set_FillType(FillType::Solid); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Black()); + paragraph->set_Text(text); + return paragraph; +} +``` + +```cpp +auto layoutSlide3 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide3 = presentation->get_Slides()->AddEmptySlide(layoutSlide3); + +auto bulletList = slide3->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +bulletList->get_FillFormat()->set_FillType(FillType::NoFill); +bulletList->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill); + +bulletList->get_TextFrame()->get_Paragraphs()->Clear(); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Improve marketing outreach in underperforming regions")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Prepare new campaign strategy for Q2")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Schedule follow-up review in early July")); +``` + + +![テキスト付きスライド](slide_3.png) + +### **プレゼンテーションの保存** + +最後に、プレゼンテーションをディスクに保存します: +```java +presentation->Save(u"presentation.pptx", SaveFormat::Pptx); +``` + + +## **結論** + +C++ アプリケーションにおける PowerPoint 生成の自動化は、時間削減と手作業の削減という明確なメリットを提供します。チャート、テーブル、テキストといった動的コンテンツを組み込むことで、開発者は一貫したプロフェッショナルなプレゼンテーションを迅速に作成でき、業務レポートやクライアントミーティング、教育コンテンツに最適です。 + +本記事では、タイトルスライド、チャート、テーブルを追加する一連の手順を示し、ゼロからプレゼンテーションを自動作成する方法をデモしました。このアプローチは、データ駆動型のプレゼンテーションが求められるさまざまなユースケースに適用可能です。 + +適切なツールを活用すれば、C++ 開発者は PowerPoint 作成を効率的に自動化でき、生産性を向上させ、プレゼンテーション全体の一貫性を確保できます。 \ No newline at end of file diff --git a/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ja/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..55aaf0eece --- /dev/null +++ b/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "JavaでPowerPoint生成を自動化:ダイナミックなプレゼンテーションを簡単に作成" +linktitle: JavaでPowerPoint生成を自動化 +type: docs +weight: 20 +url: /ja/java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- クラウドプラットフォーム +- PowerPoint生成の自動化 +- プログラムでプレゼンテーションを生成 +- PowerPoint自動化 +- 動的スライド作成 +- 自動化されたビジネスレポート +- PPT自動化 +- Javaプレゼンテーション +- Java +- Aspose.Slides +description: "Aspose.Slides for Javaを使用してクラウドプラットフォーム上でスライド作成を自動化し、PowerPointおよびOpenDocumentファイルを高速かつ確実に生成、編集、変換します。" +--- + +## **はじめに** + +PowerPoint プレゼンテーションを手動で作成するのは、時間がかかり繰り返しの作業になることが多く、特に内容が頻繁に変わる動的データに基づいている場合はなおさらです。週次の業務レポート作成、教育教材の組み立て、クライアント向けの営業資料作成など、さまざまなシナリオで自動化により何時間もの工数を削減し、チーム全体での一貫性を確保できます。 + +Java 開発者にとって、PowerPoint 作成の自動化は強力な可能性をもたらします。スライド生成を Web ポータル、デスクトップツール、バックエンドサービス、またはクラウドプラットフォームに統合し、データをオンデマンドでプロフェッショナルかつブランド化されたプレゼンテーションに変換できます。 + +本稿では、Java アプリケーション(クラウド プラットフォームへのデプロイを含む)における PowerPoint 自動生成の一般的なユースケースと、なぜ現代のソリューションで必須機能となりつつあるのかを解説します。リアルタイムの業務データの取得から、テキストや画像をスライドに変換するまで、 生のコンテンツを視覚的に構造化された形式へと変えることが目的です。 + +## **Java における PowerPoint 自動化の主なユースケース** + +PowerPoint の自動生成は、コンテンツを動的に組み立てたり、パーソナライズしたり、頻繁に更新したりする必要があるシナリオで特に有用です。代表的な実務ユースケースは次のとおりです。 + +- **業務レポート&ダッシュボード** + データベースや API から取得したライブデータを基に、売上サマリー、KPI、財務実績レポートを生成します。 + +- **パーソナライズド営業・マーケティング資料** + CRM やフォームデータを用いてクライアント別のピッチデッキを自動作成し、迅速な納品とブランドの一貫性を確保します。 + +- **教育コンテンツ** + 学習教材、クイズ、コース概要を構造化されたスライドデッキに変換し、 e‑ラーニングプラットフォームで活用します。 + +- **データ& AI 主導のインサイト** + 自然言語処理や分析エンジンを利用し、生データや長文テキストを要約プレゼンテーションに変換します。 + +- **メディアベースのスライド** + アップロードされた画像、注釈付きスクリーンショット、ビデオのキーフレームと説明文からプレゼンテーションを組み立てます。 + +- **文書変換** + Word 文書、PDF、フォーム入力を最小限の手作業で視覚的なプレゼンテーションに変換します。 + +- **開発者・技術ツール** + コードや Markdown コンテンツから直接、技術デモ、ドキュメント概要、変更履歴をスライド形式で生成します。 + +これらのワークフローを自動化することで、組織はコンテンツ作成の規模を拡大し、一貫性を保ち、より戦略的な業務に時間を割くことができます。 + +## **コードを書いてみましょう** + +本例では **[Aspose.Slides for Java](https://products.aspose.com/slides/java/)** を使用して PowerPoint 自動化を実演します。豊富な機能とプログラムからプレゼンテーションを操作しやすい点が選択理由です。 + +低レベルのライブラリは Open XML の構造を直接扱う必要があり、冗長で読みにくいコードになりがちです。一方 Aspose.Slides は高レベル API を提供し、レイアウト、書式設定、データバインディングといったプレゼンテーションロジックに集中でき、PowerPoint ファイル形式の詳細を理解する必要はありません。 + +Aspose.Slides は商用ライブラリですが、[無料トライアル](https://releases.aspose.com/slides/java/)版があり、本稿のサンプルを実行するのに十分です。概念実証や機能テスト、PoC の構築にこのトライアル版を利用すれば、ライセンスの購入前に手軽に試すことができます。 + +では、実際のコンテンツを用いたサンプル プレゼンテーションの作成手順を見ていきましょう。 + +### **タイトル スライドの作成** + +新規プレゼンテーションを作成し、メイン見出しとサブタイトルを持つタイトル スライドを追加します。 +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![タイトル スライド](slide_0.png) + +### **柱状グラフ付きスライドの追加** + +次に、地域別売上実績を柱状グラフで示すスライドを作成します。 +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![グラフ付きスライド](slide_1.png) + +### **テーブル付きスライドの追加** + +続いて、主要業績指標をテーブル形式で提示するスライドを追加します。 +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![テーブル付きスライド](slide_2.png) + +### **箇条書きサマリースライドの追加** + +最後に、シンプルな箇条書きで要約とアクションプランを示すスライドを作成します。 +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![テキスト付きスライド](slide_3.png) + +### **プレゼンテーションの保存** + +最後に、プレゼンテーションをディスクに保存します。 +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **結論** + +Java アプリケーションで PowerPoint の自動生成を導入すると、時間削減と手作業の削減という明確なメリットが得られます。チャート、テーブル、テキストといった動的コンテンツを組み込むことで、ビジネスレポート、クライアント向けミーティング、教育コンテンツなど、さまざまなシーンで一貫したプロフェッショナルなプレゼンテーションを迅速に作成できます。 + +本稿では、タイトル スライド、グラフ、テーブルを含むプレゼンテーションをゼロから自動作成する手順を示しました。この手法は、データ駆動型プレゼンテーションが求められるあらゆるユースケースに適用可能です。 + +適切なツールを活用することで、Java 開発者は PowerPoint 作成を効率的に自動化し、生産性を向上させつつ、プレゼンテーション全体の一貫性を確保できます。 \ No newline at end of file diff --git a/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ja/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ja/net/developer-guide/3d-presentation/_index.md b/ja/net/developer-guide/3d-presentation/_index.md index 139f57352f..06f21e8c20 100644 --- a/ja/net/developer-guide/3d-presentation/_index.md +++ b/ja/net/developer-guide/3d-presentation/_index.md @@ -1,45 +1,43 @@ --- -title: 3Dプレゼンテーション +title: 3D プレゼンテーション type: docs weight: 232 url: /ja/net/3d-presentation/ keywords: - 3D - 3D PowerPoint -- 3Dプレゼンテーション -- 3D回転 -- 3D深さ -- 3D押出し -- 3Dグラデーション -- 3Dテキスト -- PowerPointプレゼンテーション +- 3D プレゼンテーション +- 3D 回転 +- 3D 深度 +- 3D 押し出し +- 3D グラデーション +- 3D テキスト +- PowerPoint プレゼンテーション +- C# - C# -- Csharp - Aspose.Slides for .NET -description: "C#または.NETでの3D PowerPointプレゼンテーション" +description: "C# または .NET での 3D PowerPoint プレゼンテーション" --- -## 概要 -通常、どのように3D PowerPointプレゼンテーションを作成しますか? -Microsoft PowerPointでは、3Dモデルを追加したり、形状に3D効果を適用したり、3Dテキストを作成したり、プレゼンテーションに3Dグラフィックスをアップロードしたり、PowerPoint 3Dアニメーションを作成したりできます。 - -3D効果を作成することは、プレゼンテーションを3Dプレゼンテーションに改善する大きな影響を及ぼし、3Dプレゼンテーションの最も簡単な実装になる可能性があります。 -Aspose.Slides 20.9バージョン以降、新しい**クロスプラットフォーム3Dエンジン**が追加されました。この新しい3Dエンジンは、3D効果を伴う形状やテキストをエクスポートおよびラスタライズすることを可能にします。以前のバージョンでは、3D効果が適用されたスライドの形状は平面でレンダリングされていました。しかし、今では**本格的な3D**で形状をレンダリングすることが可能です。 -さらに、現在ではSlidesの公開APIを介して3D効果を持つ形状を作成することも可能です。 - -Aspose.Slides APIでは、形状をPowerPoint 3D形状にするために、[IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat)プロパティを使用します。これは、[IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat)インターフェースの機能を継承しています: -- [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) -および [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop): 形状にベベルを設定し、ベベルタイプ(例:角度、円、ソフトラウンド)を定義し、ベベルの高さと幅を定義します。 -- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): 物体の周りのカメラの動きを模倣するために使用されます。言い換えれば、カメラの回転、ズーム、その他のプロパティを設定することで、あなたの形状をPowerPointの3Dモデルとして楽しむことができます。 -- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) -および [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth): 形状を3D PowerPoint形状のように見せるために輪郭プロパティを設定します。 -- [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth), -[ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) -および [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight): これらは、2D形状を3D形状に変換するために使用され、形状の深さを設定したり押し出したりします。 -- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig): 3D形状に光の効果を作成できます。このプロパティのロジックはカメラに似ており、3D形状に対して光の回転を設定し、光のタイプを選択できます。 -- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material): 3D形状の材料のタイプを設定することで、より生き生きとした効果をもたらすことができます。このプロパティは、金属、プラスチック、粉末、マットなどの定義済み材料のセットを提供します。 - -すべての3D機能は、形状とテキストの両方に適用できます。上記のプロパティにアクセスする方法を見て、それらを段階的に詳しく見ていきましょう: +## **概要** +通常、3D PowerPoint プレゼンテーションはどのように作成しますか? + +Microsoft PowerPoint を使用すると、3D モデルを追加したり、図形に 3D 効果を適用したり、3D テキストを作成したり、プレゼンテーションに 3D グラフィックをアップロードしたり、PowerPoint の 3D アニメーションを作成したりして、3D プレゼンテーションを作成できます。 + +3D 効果を作成すると、プレゼンテーションを 3D に変換する大きなインパクトが得られ、3D プレゼンテーションの最も簡単な実装になることもあります。 + +Aspose.Slides 20.9 バージョン以降、新しい **クロスプラットフォーム 3D エンジン** が追加されました。この新しい 3D エンジンにより、3D 効果を持つ図形やテキストをエクスポートおよびラスタライズできるようになりました。従来のバージョンでは、3D 効果が適用された Slides の図形は平面で描画されていましたが、現在は **本格的な 3D** で図形を描画できるようになりました。さらに、Slides のパブリック API を使用して 3D 効果を持つ図形を作成できるようになりました。 + +Aspose.Slides API では、図形を PowerPoint の 3D 図形にするには [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat) プロパティを使用します。このプロパティは [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat) インターフェイスの機能を継承しています: + +- [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) と [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop): 図形にベベルを設定し、ベベルの種類(例: Angle、Circle、SoftRound)やベベルの高さと幅を定義します。 +- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): オブジェクトの周りのカメラの動きを模倣するために使用されます。つまり、回転、ズーム、その他のプロパティを設定することで、PowerPoint の 3D モデルのように図形を操作できます。 +- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) と [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth): 輪郭のプロパティを設定して、図形を 3D PowerPoint 図形のように見せます。 +- [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth)、[ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) と [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight): 図形を三次元にするために使用されます。つまり、深さを設定したり押し出したりして、2D 図形を 3D 図形に変換します。 +- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig): 3D 図形に光効果を付与できます。このプロパティのロジックは Camera に似ており、光の回転を 3D 図形に対して設定し、光のタイプを選択できます。 +- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material): 3D 図形の素材タイプを設定することで、よりリアルな効果を得られます。このプロパティは Metal、Plastic、Powder、Matte などの事前定義された素材のセットを提供します。 + +すべての 3D 機能は図形とテキストの両方に適用できます。上記のプロパティへのアクセス方法を見て、ステップバイステップで詳細を確認しましょう: ``` csharp const float imageScale = 2; @@ -68,21 +66,21 @@ using (Presentation presentation = new Presentation()) } ``` -レンダリングされたサムネイルは次のようになります: + +レンダリングされたサムネイルは以下のようになります: ![todo:image_alt_text](img_01_01.png) -## 3D回転 -PowerPointの3D形状を3D平面で回転させることが可能で、よりインタラクティブになります。PowerPointで3D形状を回転させるには、通常次のメニューを使用します: +## **3D 回転** +PowerPoint の 3D 図形は 3D 平面で回転させることができ、インタラクティブ性が向上します。PowerPoint で 3D 図形を回転させるには、通常以下のメニューを使用します: ![todo:image_alt_text](img_02_01.png) -Aspose.Slides APIでは、3D形状の回転は、[IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera)プロパティを使用して管理できます: - +Aspose.Slides API では、3D 図形の回転は [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera) プロパティを使用して管理できます: ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); -// ... その他の3Dシーンパラメータを設定 +// ... 他の 3D シーン パラメータを設定 using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -90,16 +88,15 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -## 3D深さと押出し -形状に3D形状の第三の次元をもたらすために、[IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) -および [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor)プロパティを使用します: +## **3D の深さと押し出し** +図形に第3次元を加えて 3D 図形にするには、[IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) と [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) プロパティを使用します: ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); shape.ThreeDFormat.ExtrusionHeight = 100; shape.ThreeDFormat.ExtrusionColor.Color = Color.Purple; -// ... その他の3Dシーンパラメータを設定 +// ... 他の 3D シーン パラメータを設定 using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -107,13 +104,13 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -通常、PowerPointでDepthメニューを使用してPowerPoint 3D形状のDepthを設定します: -![todo:image_alt_text](img_02_02.png) +通常、PowerPoint の Depth メニューを使用して PowerPoint 3D 図形の深さを設定します: -## 3Dグラデーション -グラデーションを使用してPowerPoint 3D形状の色を塗りつぶすことができます。グラデーション塗りつぶしの色の形状を作成し、3D効果を適用してみましょう: +![todo:image_alt_text](img_02_02.png) +## **3D グラデーション** +グラデーションは PowerPoint の 3D 図形の色を塗りつぶすために使用できます。グラデーション塗りつぶしの図形を作成し、そこに 3D 効果を適用してみましょう: ``` csharp const float imageScale = 2; @@ -122,7 +119,7 @@ using (Presentation presentation = new Presentation()) ISlide slide = presentation.Slides[0]; IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); - shape.TextFrame.Text = "3Dグラデーション"; + shape.TextFrame.Text = "3D Gradient"; shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 64; shape.FillFormat.FillType = FillType.Gradient; @@ -143,11 +140,12 @@ using (Presentation presentation = new Presentation()) } ``` -こちらが結果です: + +結果は以下の通りです: ![todo:image_alt_text](img_02_03.png) -グラデーション塗りつぶしの色を除いて、画像で形状を塗りつぶすことも可能です: +グラデーション塗りつぶしに加えて、画像で図形を塗りつぶすことも可能です: ``` csharp byte[] imageData = File.ReadAllBytes("image.jpg"); IPPImage image = presentation.Images.AddImage(imageData); @@ -155,7 +153,7 @@ IPPImage image = presentation.Images.AddImage(imageData); shape.FillFormat.FillType = FillType.Picture; shape.FillFormat.PictureFillFormat.Picture.Image = image; shape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; -// ... 3Dを設定:shape.ThreeDFormat.Camera、shape.ThreeDFormat.LightRig、shape.ThreeDFormat.Extrusion*プロパティ +// ... 3D を設定: shape.ThreeDFormat.Camera, shape.ThreeDFormat.LightRig, shape.ThreeDFormat.Extrusion* プロパティ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -163,13 +161,13 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -それは次のように見えます: -![todo:image_alt_text](img_02_04.png) +見た目は次のようになります: -## 3Dテキスト(WordArt) -Aspose.Slidesでは、テキストにも3Dを適用することができます。3Dテキストを作成するためには、WordArt変換効果を使用できます: +![todo:image_alt_text](img_02_04.png) +## **3D テキスト (WordArt)** +Aspose.Slides では、テキストにも 3D を適用できます。3D テキストを作成するには WordArt の変形効果を使用できます: ``` csharp const float imageScale = 2; @@ -180,7 +178,7 @@ using (Presentation presentation = new Presentation()) IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); shape.FillFormat.FillType = FillType.NoFill; shape.LineFormat.FillFormat.FillType = FillType.NoFill; - shape.TextFrame.Text = "3Dテキスト"; + shape.TextFrame.Text = "3D Text"; Portion portion = (Portion)shape.TextFrame.Paragraphs[0].Portions[0]; portion.PortionFormat.FillFormat.FillType = FillType.Pattern; @@ -191,7 +189,7 @@ using (Presentation presentation = new Presentation()) shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 128; ITextFrameFormat textFrameFormat = shape.TextFrame.TextFrameFormat; - // "アーチアップ" WordArt変換効果を設定 + // "Arch Up" WordArt変形効果を設定 textFrameFormat.Transform = TextShapeType.ArchUp; textFrameFormat.ThreeDFormat.ExtrusionHeight = 3.5f; @@ -212,15 +210,20 @@ using (Presentation presentation = new Presentation()) } ``` -こちらが結果です: + +結果は以下の通りです: ![todo:image_alt_text](img_02_05.png) -## サポートされていない - 近日公開 -次のPowerPoint 3D機能はまだサポートされていません: -- ベベル -- 材料 -- 輪郭 -- 照明 +## **よくある質問** +**プレゼンテーションを画像/PDF/HTML にエクスポートする際に 3D 効果は保持されますか?** + +はい。Slides の 3D エンジンは、サポートされている形式([images](/slides/ja/net/convert-powerpoint-to-png/)、[PDF](/slides/ja/net/convert-powerpoint-to-pdf/)、[HTML](/slides/ja/net/convert-powerpoint-to-html/) など)へのエクスポート時に 3D 効果をレンダリングします。 + +**テーマや継承などを考慮した「有効」な(最終的な)3D パラメータ値を取得できますか?** + +はい。Slides には [有効な値を読み取る](/slides/ja/net/shape-effective-properties/) API が用意されており、3D(照明、ベベルなど)に関しても最終的に適用された設定を確認できます。 + +**プレゼンテーションをビデオに変換する際に 3D 効果は機能しますか?** -私たちは3Dエンジンの改善を続けており、これらの機能は今後の実装の対象となります。 \ No newline at end of file +はい。ビデオ用のフレームを生成する際([生成フレーム](/slides/ja/net/convert-powerpoint-to-video/))も、エクスポートされた画像と同様に 3D 効果がレンダリングされます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/_index.md index bb2ebe239a..e7749a4e0e 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -5,39 +5,70 @@ weight: 70 url: /ja/net/convert-presentation/ --- -## **PPTからPPTXへの変換** -### **PPTからPPTXへの変換について** -Aspose.Slidesは、PPTをPPTXに変換することをサポートしています。 -### **Aspose.Slidesを使用したPPTからPPTXへの変換** -Aspose.Slides for .NETは、PPTドキュメント形式のプレゼンテーションをPPTXファイル形式のプレゼンテーションに変換するための部分的なサポートを提供します。前述のプレゼンテーション変換機能のサポートはAspose.Slides for .NETに最近導入されたため、今のところ限られた機能しか持たず、単純な形式のプレゼンテーションにのみ対応しています。Aspose.Slides for .NET APIライブラリがPPTプレゼンテーションをPPTX形式に変換する際の主な利点は、目的を達成するためにAPIを容易に使用できることです。詳細については、この[リンク](/slides/ja/net/convert-presentation/)に進んでコードスニペットセクションをご覧ください。次のセクションでは、PPT形式のプレゼンテーションをPPTX形式のプレゼンテーションに変換する際にサポートされている機能とサポートされていない機能を明確に示します。 +## **PPT から PPTX への変換** +### **PPT から PPTX への変換について** +Aspose.Slides は PPT を PPTX に変換することをサポートするようになりました。 +### **Aspose.Slides を使用した PPT から PPTX への変換** +Aspose.Slides for .NET は、PPT ドキュメント形式のプレゼンテーションを PPTX ファイル形式のプレゼンテーションに変換するための部分的なサポートを提供します。 このプレゼンテーション変換機能のサポートは Aspose.Slides for .NET に最近追加されたばかりで、現時点では機能が限定的で、単純な形式のプレゼンテーションに対してのみ動作します。 Aspose.Slides for .NET API ライブラリが PPT プレゼンテーションを PPTX 形式に変換する際の主な利点は、目的を達成するために API を簡単に使用できる点です。 詳細はこの[link](/slides/ja/net/convert-presentation/)のコードサンプルセクションをご参照ください。 以下のセクションでは、PPT 形式のプレゼンテーションを PPTX 形式に変換する際にサポートされる機能とサポートされない機能が明確に示されています。 {{% alert color="primary" %}} -さらに読む [**PPTをPPTXに変換する方法**](/slides/ja/net/convert-ppt-to-pptx/)。 +さらに読む [**PPT から PPTX への変換方法**](/slides/ja/net/convert-ppt-to-pptx/). {{% /alert %}} -## **プレゼンテーションからPDFへの変換** -### **PDFについて** -[ポータブル文書フォーマット](https://en.wikipedia.org/wiki/PDF)は、異なる組織間で文書を交換するためにAdobe Systemによって作成されたファイル形式です。この形式の目的は、文書の内容が表示されるプラットフォームに依存せず、視覚的外観が表現されるようにすることでした。 -### **Aspose.Slides for .NETにおけるPDF** -[PDF](https://docs.fileformat.com/pdf/)は、異なる組織間で文書を交換するためにAdobe Systemによって作成されたファイル形式です。この形式の目的は、文書の内容の視覚的外観が表示されるプラットフォームに依存しないようにすることでした。 +## **プレゼンテーションから PDF への変換** +### **PDF について** +[Portable Document Format](https://en.wikipedia.org/wiki/PDF) は、Adobe Systems が異なる組織間で文書をやり取りするために作成したファイル形式です。この形式の目的は、文書の内容が、閲覧するプラットフォームに依存せずに視覚的外観を保持できるようにすることです。 +### **Aspose.Slides for .NET における PDF** +[PDF](https://docs.fileformat.com/pdf/) は、Adobe Systems が異なる組織間で文書をやり取りするために作成したファイル形式です。この形式の目的は、文書内容の視覚的外観が閲覧するプラットフォームに依存しないようにすることです。 -Aspose.Slides for .NETで読み込むことができる任意のプレゼンテーションドキュメントはPDFドキュメントに変換できます。Aspose.Slides for .NETコンポーネントのみを使用して、プレゼンテーションドキュメントを直接PDFにエクスポートすることができます。この目的のために、他のサードパーティライブラリやAspose.PDFコンポーネントは必要ありません。 +Aspose.Slides for .NET にロードできるプレゼンテーション文書は、PDF 文書に変換できます。 Aspose.Slides for .NET コンポーネントだけを使用して、プレゼンテーション文書を直接 PDF にエクスポートできます。この目的のために他のサードパーティライブラリや Aspose.PDF コンポーネントは必要ありません。 {{% alert color="primary" %}} -さらに読む [**プレゼンテーションをPDFに変換する方法**](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-pdf/)。 +さらに読む [**プレゼンテーションを PDF に変換する方法**](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-pdf/). {{% /alert %}} -## **プレゼンテーションからXPSへの変換** -### **XPSについて** -[XMLパーサー仕様](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification)は、ページ記述言語および固定文書形式で、もともとはMicrosoftによって開発されました。PDFと同様に、XPSは文書の忠実性を保持し、デバイスに依存しない文書の外観を提供するために設計された固定レイアウトの文書形式です。 -### **Aspose.Slidesを使用したプレゼンテーションからXPSへの変換** -Aspose.Slides for .NETで読み込むことができる任意のプレゼンテーションドキュメントはXPS形式に変換できます。Aspose.Slides for .NETは、高忠実度のページレイアウトおよびレンダリングエンジンを使用して固定レイアウトのXPS文書形式で出力を生成します。Aspose.Slides for .NETは、.NET Framework 3.5にパッケージされたWindows Presentation Foundation (WPF)クラスに依存せず直接XPSを生成するため、.NET Framework 3.5よりも古いバージョンを実行しているマシンでもXPS文書を生成することができます。Aspose.Slides for .NETを使用してプレゼンテーションドキュメントをXPSドキュメントにエクスポートする方法については、[こちらのトピック](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/)をご覧ください。 +## **プレゼンテーションから XPS への変換** +### **XPS について** +[XML Parser Specification](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) は、Microsoft が開発したページ記述言語および固定文書形式です。 PDF と同様に、XPS は文書の忠実性を保ち、デバイスに依存しない文書の外観を提供する固定レイアウト文書形式です。 +### **Aspose.Slides を使用したプレゼンテーションから XPS への変換** +Aspose.Slides for .NET で読み込めるプレゼンテーション文書は、XPS 形式に変換できます。 Aspose.Slides for .NET は、高忠実度のページレイアウトおよびレンダリングエンジンを使用して、固定レイアウトの XPS 文書形式で出力を生成します。 特筆すべきは、Aspose.Slides for .NET が .NET Framework 3.5 に同梱されている Windows Presentation Foundation (WPF) クラスに依存せずに直接 XPS を生成するため、.NET Framework 3.5 未満のバージョンで動作するマシンでも XPS 文書を作成できる点です。 Aspose.Slides for .NET を使用したプレゼンテーション文書の XPS へのエクスポートについては、[このトピック](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/)をご参照ください。 {{% alert color="primary" %}} -さらに読む [**プレゼンテーションをXPSに変換する方法**](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/)。 +さらに読む [**プレゼンテーションを XPS に変換する方法**.](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) {{% /alert %}} -## **プレゼンテーションからTIFFへの変換** -### **TIFFについて** -[タグ付き画像ファイル形式](https://en.wikipedia.org/wiki/TIFF)は、1つの文書に複数の画像を保存することで知られ、もともとはAldusによって作成されました。この形式は、スキャン、ファックス、その他の画像操作アプリケーションによって広くサポートされています。 -### **Aspose.Slidesを使用したプレゼンテーションからTIFFへの変換** -Aspose.Slides for .NETに読み込むことができる任意のドキュメントは、Aspose.Slides for .NETを使用して直接TIFFドキュメントに変換できます。この際、サードパーティコンポーネントは不要です。また、結果のTIFFドキュメント内の画像のサイズを任意で定義することもできます。Aspose.Slides for .NETを使用してプレゼンテーションドキュメントをTIFFドキュメントにエクスポートする方法については、[こちらのトピック](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-tiff/)をご覧ください。 + +## **プレゼンテーションから TIFF への変換** +### **TIFF について** +[Tagged Image File Format](https://en.wikipedia.org/wiki/TIFF) は、1 つの文書に複数の画像を格納できることで知られ、元々 Aldus によって作成されました。この形式は、スキャン、FAX、その他の画像操作アプリケーションで広くサポートされています。 +### **Aspose.Slides を使用したプレゼンテーションから TIFF への変換** +Aspose.Slides for .NET でロードできる文書は、サードパーティ コンポーネントを必要とせずに Aspose.Slides for .NET によって直接 TIFF 文書に変換できます。さらに、結果として生成される TIFF 文書内の画像サイズを任意に指定することも可能です。 Aspose.Slides for .NET を使用したプレゼンテーション文書の TIFF へのエクスポートについては、[このトピック](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-tiff/)をご参照ください。 {{% alert color="primary" %}} -さらに読む [**プレゼンテーションをTIFFに変換する方法**](/slides/ja/net/convert-powerpoint-to-tiff/)。 -{{% /alert %}} \ No newline at end of file +さらに読む [**プレゼンテーションを TIFF に変換する方法**.](/slides/ja/net/convert-powerpoint-to-tiff/) +{{% /alert %}} + +## **FAQ** + +**PDF/XPS にエクスポートする際に隠しスライドを含めることはできますか?** + +はい。エクスポートは、[PDF](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/)/[XPS](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/) 設定の対応するオプションを使用して隠しスライドを含めることができます。 + +**PDF/A 形式(アーカイブ保存用)への保存はサポートされていますか?** + +はい、PDF/A コンプライアンスレベルは [利用可能です](https://reference.aspose.com/slides/net/aspose.slides.export/pdfcompliance/)(A-2a/A-2b/A-2u および A-3a/A-3b を含む)で、エクスポート時に選択できます。 + +**変換時のフォントはどうなりますか:埋め込みですか、置き換えですか?** + +柔軟なオプションがあります。すべてのグリフまたは使用されたサブセットのみを [埋め込む](/slides/ja/net/embedded-font/)ことができ、[フォールバック フォント](/slides/ja/net/fallback-font/)を指定し、フォントに特定のスタイルがない場合の動作を [制御](/slides/ja/net/font-substitution/)できます。 + +**生成された PDF の品質とサイズをどのように制御できますか?** + +[JPEG 品質](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/jpegquality/)、[テキスト圧縮](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/textcompression/)、画像の [十分な解像度](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/sufficientresolution/) のしきい値を設定するオプションがあり、さらに画像の [最適な圧縮率](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/bestimagescompressionratio/) を選択するモードがあります。 + +**スライドの範囲(例: 5–12)だけをエクスポートできますか?** + +はい、エクスポートはスライドのサブセットを選択することがサポートされています。 + +**同時に複数ファイルをマルチコアで処理することはサポートされていますか?** + +別々のプロセスでプレゼンテーションを並列に処理することは可能です。重要: 同じ [プレゼンテーション](https://reference.aspose.com/slides/net/aspose.slides/presentation/) オブジェクトを [複数のスレッド](/slides/ja/net/multithreading/) からロードまたは保存してはいけません。 + +**異なるスレッドからライセンスを適用する際にリスクはありますか?** + +はい、[ライセンス設定](/slides/ja/net/licensing/) 呼び出しはスレッドセーフではなく、同期が必要です。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md index 534e28805e..c66e760a58 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md @@ -1,53 +1,84 @@ --- -title: OpenOffice ODPの変換 +title: C# で OpenDocument プレゼンテーション (ODP) を変換 +linktitle: OpenDocument を変換 type: docs weight: 10 url: /ja/net/convert-openoffice-odp/ -keywords: "ODPをPDFに変換, ODPをPPTに変換, ODPをPPTXに変換, ODPをXPSに変換, ODPをHTMLに変換, ODPをTIFFに変換" -description: "Aspose.Slidesを使用して、ODPをPDF、ODPをPPT、ODPをPPTX、ODPをHTMLおよびその他の形式に変換します。" +keywords: +- ODP を変換 +- ODP から画像へ +- ODP から GIF へ +- ODP から HTML へ +- ODP から JPG へ +- ODP から MD へ +- ODP から PDF へ +- ODP から PNG へ +- ODP から PPT へ +- ODP から PPTX へ +- ODP から TIFF へ +- ODP からビデオへ +- ODP から Word へ +- ODP から XPS へ +description: "Aspose.Slides for .NET を使用すると、ODP を PDF、HTML、画像形式に簡単に変換できます。高速で正確なプレゼンテーション変換により、.NET アプリを強化しましょう。" --- -[**Aspose.Slides API**](https://products.aspose.com/slides/net/) を使用すると、OpenOffice ODPプレゼンテーションを多くの形式に変換できます。ODPファイルを他のドキュメント形式に変換するために使用されるAPIは、PowerPoint(PPTおよびPPTX)変換操作に使用されるものと同じです。 +## **概要** -以下の例では、ODPドキュメントを他の形式に変換する方法を示しています(ソースODPファイルを変更するだけです): +Aspose.Slides for .NET は、OpenDocument (ODP) プレゼンテーションをさまざまな形式に変換するための堅牢な API を提供します。PowerPoint (PPT および PPTX) ファイルで使用されるのと同様のアプローチに従い、開発者は ODP ドキュメントを HTML、PDF、TIFF、JPG、XPS などの形式に簡単にエクスポートできます。 -- [ODPをHTMLに変換](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-html/) -- [ODPをPDFに変換](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-pdf/) -- [ODPをTIFFに変換](/slides/ja/net/convert-powerpoint-to-tiff/) -- [ODPをSWF Flashに変換](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-swf-flash/) -- [ODPをXPSに変換](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) -- [ODPをメモ付きPDFに変換](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-pdf-with-notes/) -- [ODPをメモ付きTIFFに変換](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-tiff-with-notes/) +以下の例は、ODP ドキュメントを他の形式に変換する方法を示しています(ソースを ODP ファイルに変更するだけです)。 -例えば、ODPプレゼンテーションをPDFに変換する必要がある場合、次のように実行できます: +- [ODP を HTML に変換](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-html/) +- [ODP を PDF に変換](/slides/ja/net/convert-powerpoint-ppt-and-pptx-to-pdf/) +- [ODP を TIFF に変換](/slides/ja/net/convert-powerpoint-to-tiff/) +- [ODP を SWF に変換](/slides/ja/net/convert-powerpoint-to-swf-flash/) +- [ODP を XPS に変換](/slides/ja/net/convert-powerpoint-to-xps/) +- [ノート付きで ODP を PDF に変換](/slides/ja/net/convert-powerpoint-to-pdf-with-notes/) +- [ノート付きで ODP を TIFF に変換](/slides/ja/net/convert-powerpoint-to-tiff-with-notes/) -```csharp -using (Presentation pres = new Presentation("pres.odp")) +たとえば、ODP プレゼンテーションを PDF に変換するには、C# で数行のコードを書くだけです。 +```cs +using (Presentation presentation = new Presentation("presentation.odp")) { - pres.Save("pres.pdf", SaveFormat.Pdf); + presentation.Save("presentation.pdf", SaveFormat.Pdf); } ``` +## **さまざまなアプリケーションでの OpenDocument プレゼンテーション** -## 異なるアプリケーションでのOpenDocumentプレゼンテーション +OpenDocument プレゼンテーション (ODP) ファイルを PowerPoint で開くと、作成したアプリケーションの元の書式が保持されないことがあります。これは、OpenDocument プレゼンテーション アプリと PowerPoint アプリが提供する機能やレンダリング動作が異なるためです。 -OpenDocumentプレゼンテーションファイルがPowerPointで開かれると、元のアプリケーションで作成されたときのフォーマットが欠けている場合があります。これは、OpenDocumentプレゼンテーションアプリとPowerPointアプリが異なる機能やオプションを提供しているためです。 +違いの例を以下に示します。 -以下は、そのいくつかの違いです: -- PowerPointでは、すべてのテーブルが通常最後に読み込まれ、他の図形に重なる(ODPスライドの形状配置に関係なく)。 -- ODPテーブルの画像塗りつぶしはPowerPointではサポートされていません。 -- テキストの垂直回転(270、スタック)および分配アラインメントはLibreOffice/OpenOffice Impressではサポートされていません。 -- テキストの画像塗りつぶし、グラデーション塗りつぶし、パターン塗りつぶしはLibreOffice/OpenOffice Impressではサポートされていません。 +- PowerPoint では、テーブルは通常最後にレンダリングされ、ODP スライド上の順序に関係なく他の図形の上に重なることがあります。 +- PowerPoint では ODP テーブルの画像塗りつぶしはサポートされていません。 +- LibreOffice/OpenOffice Impress では、テキストの垂直回転(270°、スタック)や均等配置はサポートされていません。 +- LibreOffice/OpenOffice Impress では、テキストの画像塗りつぶし、グラデーション塗りつぶし、パターン塗りつぶしはサポートされていません。 -MS PowerPointとLibreOffice/OpenOffice Impressはリストの扱いが異なります。PowerPointで作成されたODPファイルはLibreOffice/OpenOfficeで正しく開くことができず、その逆も同様です。 +MS PowerPoint と LibreOffice/OpenOffice Impress はリストの処理方法も異なります。PowerPoint で作成した ODP ファイルは LibreOffice/OpenOffice Impress で正しく表示されないことがあり、逆も同様です。 -この画像は、LibreOffice Impressで作成されたリストの表示を示しています: +以下の画像は、LibreOffice Impressで作成したリストがどのように表示されるかを示しています。 +![ODP リスト例](odp-list-example.png) -![odp-list-example](odp-list-example.png) +Aspose.Slides は ODP リストを保存する際に、LibreOffice/OpenOffice Impress で正しく表示されるように処理します。 +[OpenDocument フォーマットと PowerPoint について詳しく知る](https://support.microsoft.com/en-us/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0). +## **よくある質問** -**Aspose.Slides**は、ODPリストを保存して、LibreOffice/OpenOffice Impressで正しく表示されるようにします。 +**変換後に ODP ファイルの書式が変わってしまったらどうすればよいですか?** -[OpenDocument形式とPowerPointについてもっと知る](https://support.microsoft.com/en-gb/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0/)。 \ No newline at end of file +ODP と PowerPoint は異なるプレゼンテーションモデルを使用しており、テーブル、カスタムフォント、塗りつぶしスタイルなどの一部要素は完全に同じようにレンダリングされない場合があります。必要に応じて出力を確認し、コードでレイアウトや書式を調整することをおすすめします。 + +**ODP 変換を使用するために OpenOffice または LibreOffice をインストールする必要がありますか?** + +いいえ、Aspose.Slides for .NET はスタンドアロンのライブラリであり、システムに OpenOffice や LibreOffice をインストールする必要はありません。 + +**ODP 変換中に出力形式をカスタマイズできますか(例: PDF オプションを設定)?** + +はい、Aspose.Slides では出力をカスタマイズするための豊富なオプションが提供されています。たとえば、PDF に保存する際は、[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) クラスを使用して圧縮、画像品質、テキストのレンダリングなどを制御できます。 + +**Aspose.Slides はサーバーサイドまたはクラウドベースの ODP 処理に適していますか?** + +はい。Aspose.Slides for .NET はデスクトップとサーバーの両環境で動作するよう設計されており、Azure、AWS、Docker コンテナなどのクラウドプラットフォームでも UI 依存なしで使用できます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md index 85bc23d154..a17f79c32f 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md @@ -1,36 +1,53 @@ --- -title: ODPをC#でPPTXに変換 +title: C#でODPをPPTXに変換 linktitle: ODPをPPTXに変換 type: docs weight: 10 url: /ja/net/convert-odp-to-pptx/ -keywords: "OpenOfficeプレゼンテーションの変換、ODP、ODPをPPTXに、C#、Csharp、.NET" +keywords: "OpenOfficeプレゼンテーションの変換、ODP、ODPからPPTX、C#、Csharp、.NET" description: "C#または.NETでOpenOffice ODPをPowerPointプレゼンテーションPPTXに変換" --- -## 概要 +## **概要** -この記事では、以下のトピックについて説明します。 +この記事では以下のトピックについて説明します。 -- [C# ODPをPPTXに変換](#csharp-odp-to-pptx) -- [C# ODPをPowerPointに変換](#csharp-odp-to-powerpoint) +- [C# ODP を PPTX に変換](#csharp-odp-to-pptx) +- [C# ODP を PowerPoint に変換](#csharp-odp-to-powerpoint) -## C# ODPからPPTXへの変換 +## **ODP から PPTX への変換** -Aspose.Slides for .NETは、プレゼンテーションファイルを表すPresentationクラスを提供しています。[**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスは、オブジェクトがインスタンス化されるときにPresentationコンストラクターを通じてODPにもアクセスできるようになりました。以下の例は、ODPプレゼンテーションをPPTXプレゼンテーションに変換する方法を示しています。 - -手順: C#でODPをPPTXに変換 | -手順: C#でODPをPowerPointに変換 +Aspose.Slides for .NET は、プレゼンテーション ファイルを表す Presentation クラスを提供します。[**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスは、オブジェクトがインスタンス化されたときに Presentation コンストラクタを介して ODP にもアクセスできるようになりました。以下の例は、ODP プレゼンテーションを PPTX プレゼンテーションに変換する方法を示しています。 +手順: C# で ODP を PPTX に変換 | +手順: C# で ODP を PowerPoint に変換 ```c# -// ODPファイルを開く +// ODP ファイルを開く Presentation pres = new Presentation("AccessOpenDoc.odp"); -// ODPプレゼンテーションをPPTX形式で保存 +// ODP プレゼンテーションを PPTX 形式で保存 pres.Save("AccessOpenDoc_out.pptx", SaveFormat.Pptx); ``` - ## **ライブ例** -[**Aspose.Slides変換**](https://products.aspose.app/slides/conversion/)のWebアプリにアクセスできます。このアプリは**Aspose.Slides API**を使用して構築されています。このアプリは、Aspose.Slides APIを使用してODPからPPTXへの変換を実装する方法を示しています。 \ No newline at end of file + +[**Aspose.Slides 変換**](https://products.aspose.app/slides/conversion/) Web アプリで、**Aspose.Slides API** を使用して構築されています。このアプリは、Aspose.Slides API を使用した ODP から PPTX への変換実装方法を示しています。 + +## **よくある質問** + +**ODP を PPTX に変換するために Microsoft PowerPoint や LibreOffice をインストールする必要がありますか?** + +いいえ。Aspose.Slides は単体で動作し、ODP/PPTX の読み書きにサードパーティ アプリケーションを必要としません。 + +**変換中にマスタースライド、レイアウト、テーマは保持されますか?** + +はい。このライブラリは完全なプレゼンテーション オブジェクト モデルを使用し、マスタースライドやレイアウトを含む構造を保持するため、変換後もデザインが正しく保たれます。 + +**パスワードで保護された ODP ファイルを変換できますか?** + +はい。Aspose.Slides は保護の検出に対応しており、パスワードを提供すれば [protected presentations](/slides/ja/net/password-protected-presentation/)(ODP を含む)を開いて操作でき、暗号化やドキュメント プロパティへのアクセスも設定できます。 + +**Aspose.Slides はクラウドや REST ベースの変換サービスに適していますか?** + +はい。ローカルのライブラリを自分のバックエンドで使用するか、[Aspose.Slides Cloud](https://products.aspose.cloud/slides/family/)(REST API)を利用できます。いずれのオプションも ODP → PPTX 変換をサポートしています。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md new file mode 100644 index 0000000000..6b5e368ed7 --- /dev/null +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md @@ -0,0 +1,65 @@ +--- +title: "C# でハンドアウトモードのプレゼンテーションを変換" +type: docs +weight: 150 +url: /ja/net/convert-powerpoint-in-Handout-mode/ +keywords: +- "PowerPoint を変換" +- "ハンドアウトモード" +- "ハンドアウト" +- "PowerPoint" +- "PPT" +- "PPTX" +- "プレゼンテーション" +- "C#" +- "Csharp" +- ".NET" +- "Aspose.Slides" +description: "C# でハンドアウトモードのプレゼンテーションを変換" +--- + +## **ハンドアウトモードのエクスポート** + +Aspose.Slides は、さまざまな形式へのプレゼンテーション変換機能を提供し、ハンドアウトモードで印刷用ハンドアウトを作成することもできます。このモードでは、1ページに複数のスライドをどのように配置するかを設定でき、会議やセミナーなどのイベントで便利です。`SlidesLayoutOptions` プロパティを設定することで、このモードを有効にできます。対象は [IPdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ipdfoptions/)、[IRenderingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/irenderingoptions/)、[IHtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ihtmloptions/)、および [ITiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/itiffoptions/) インターフェイスです。 + +ハンドアウトモードを構成するには、[HandoutLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/handoutlayoutingoptions/) オブジェクトを使用します。このオブジェクトは、1ページに配置するスライド数やその他の表示パラメータを決定します。 + +以下は、ハンドアウトモードでプレゼンテーションを PDF に変換するコード例です。 +```c# +// プレゼンテーションを読み込む。 +using var presentation = new Presentation("sample.pptx"); + +// エクスポートオプションを設定。 +var pdfOptions = new PdfOptions +{ + SlidesLayoutOptions = new HandoutLayoutingOptions + { + Handout = HandoutType.Handouts4Horizontal, // 1ページに横方向で4枚のスライド + PrintSlideNumbers = true, // スライド番号を印刷 + PrintFrameSlide = true, // スライドの周囲に枠線を印刷 + PrintComments = false // コメントなし + } +}; + +// 選択したレイアウトでプレゼンテーションをPDFにエクスポート。 +presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); +``` + + +{{% alert color="warning" %}} +`SlidesLayoutOptions` プロパティは、PDF、HTML、TIFF、画像としてレンダリングする場合など、特定の出力形式でのみ利用可能であることに注意してください。 +{{% /alert %}} + +## **FAQ** + +**ハンドアウトモードで1ページあたり表示できるスライドサムネイルの最大数は何ですか?** + +Aspose.Slides は、[presets](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) をサポートしており、1ページあたり最大 9 枚のサムネイルを横方向または縦方向で配置できます。利用可能な設定は 1、2、3、4(横/縦)、6(横/縦)、9(横/縦)です。 + +**5 枚や 8 枚など、カスタムグリッドを定義できますか?** + +いいえ。サムネイルの数と順序は [HandoutType](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) 列挙型で厳密に管理されており、任意のレイアウトはサポートされていません。 + +**ハンドアウト出力に非表示スライドを含めることはできますか?** + +はい。対象フォーマットのエクスポート設定で `ShowHiddenSlides` オプションを有効にしてください。例: [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)、[HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions/)、または [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/)。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index f58b173d0c..9d615b8744 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -1,16 +1,15 @@ --- -title: PowerPointをアニメーションGIFに変換 +title: PowerPoint をアニメーション GIF に変換 type: docs weight: 65 url: /ja/net/convert-powerpoint-to-animated-gif/ -keywords: "PowerPointの変換, PPT, PPTX, アニメーションGIF, PPTをアニメーションGIFに, PPTXをアニメーションGIFに C#, Csharp, .NET, 既定の設定, カスタム設定" -description: "PowerPointプレゼンテーションをアニメーションGIFに変換: C#または.NETでPPTをGIF、PPTXをGIFに" +keywords: "PowerPoint を変換, PPT, PPTX, アニメーション GIF, PPT をアニメーション GIF に変換, PPTX をアニメーション GIF に変換, C#, Csharp, .NET, デフォルト設定, カスタム設定" +description: "PowerPoint プレゼンテーションをアニメーション GIF に変換: PPT を GIF に、PPTX を GIF に C# または .NET で" --- -## 既定の設定を使用してプレゼンテーションをアニメーションGIFに変換する ## - -このC#のサンプルコードは、標準設定を使用してプレゼンテーションをアニメーションGIFに変換する方法を示しています: +## **デフォルト設定でプレゼンテーションをアニメーションGIFに変換する** +この C# のサンプルコードは、標準設定を使用してプレゼンテーションをアニメーション GIF に変換する方法を示します: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -18,31 +17,39 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -アニメーションGIFは、既定のパラメーターで作成されます。 - -{{% alert title="ヒント" color="primary" %}} -GIFのパラメータをカスタマイズしたい場合は、[GifOptions](https://reference.aspose.com/slides/net/aspose.slides.export/gifoptions)クラスを使用できます。以下のサンプルコードを参照してください。 +アニメーション GIF はデフォルトのパラメーターで作成されます。 +{{% alert title="TIP" color="primary" %}} +GIF のパラメーターをカスタマイズしたい場合は、[GifOptions](https://reference.aspose.com/slides/net/aspose.slides.export/gifoptions) クラスを使用できます。以下のサンプルコードをご覧ください。 {{% /alert %}} -## カスタム設定を使用してプレゼンテーションをアニメーションGIFに変換する ## -このサンプルコードは、C#でカスタム設定を使用してプレゼンテーションをアニメーションGIFに変換する方法を示しています: +## **カスタム設定でプレゼンテーションをアニメーションGIFに変換する** +このサンプルコードは、C# でカスタム設定を使用してプレゼンテーションをアニメーション GIF に変換する方法を示します: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { pres.Save("pres.gif", SaveFormat.Gif, new GifOptions { - FrameSize = new Size(960, 720), // 結果のGIFのサイズ - DefaultDelay = 2000, // 各スライドが表示されてから次のスライドに変更されるまでの時間 - TransitionFps = 35 // トランジションアニメーションの品質を向上させるためにFPSを上げる + FrameSize = new Size(960, 720), // 生成された GIF のサイズ + DefaultDelay = 2000, // 各スライドが次に切り替わるまで表示される時間 + TransitionFps = 35 // 遷移アニメーションの品質を向上させるために FPS を増加させる }); } ``` -{{% 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 %}} + +## **FAQ** + +**プレゼンテーションで使用されているフォントがシステムにインストールされていない場合はどうすればよいですか?** + +不足しているフォントをインストールするか、[フォールバック フォントを構成](/slides/ja/net/powerpoint-fonts/)してください。Aspose.Slides は代替フォントを使用しますが、見た目が変わる可能性があります。ブランディングのためには、必ず必要な書体が明示的に利用可能であることを確認してください。 + +**GIF フレームに透かしを重ねることはできますか?** -{{% /alert %}} \ No newline at end of file +はい。エクスポート前にマスタースライドまたは個々のスライドに[半透明のオブジェクト/ロゴ](/slides/ja/net/watermark/)を追加すると、透かしがすべてのフレームに表示されます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index 068802b5a1..345d69fb0d 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -1,190 +1,205 @@ --- -title: C# .NETでPowerPointをHTMLに変換する -linktitle: PowerPointをHTMLに変換する +title: C# で PowerPoint プレゼンテーションを HTML に変換 +linktitle: PowerPoint を HTML に変換 type: docs weight: 30 url: /ja/net/convert-powerpoint-to-html/ -keywords: "C# PowerPoint to HTML, C# PPT to HTML, C# ODP to HTML, C# Slide to HTML, PowerPointプレゼンテーションを変換, PPTX, PPT, PPTをHTMLに, PPTXをHTMLに, PowerPointをHTMLに, PowerPointをHTMLとして保存, PPTをHTMLとして保存, PPTXをHTMLとして保存, C#, Csharp, .NET, Aspose.Slides, HTMLエクスポート" -description: "PowerPoint HTMLに変換: PPTXまたはPPTをHTMLとして保存。スライドをHTMLとして保存" +keywords: +- PowerPoint を HTML に変換 +- プレゼンテーションを HTML に変換 +- スライドを HTML に変換 +- PPT を HTML に変換 +- PPTX を HTML に変換 +- ODP を HTML に変換 +- PowerPoint プレゼンテーションを変換 +- PowerPoint 変換 +- プレゼンテーション変換 +- HTML 変換 +- PowerPoint を HTML として保存 +- プレゼンテーションを HTML として保存 +- スライドを HTML として保存 +- PPT を HTML として保存 +- PPTX を HTML として保存 +- HTML エクスポート +- C# +- .NET +- Aspose.Slides +description: "Aspose.Slides for .NET を使用して PowerPoint および OpenDocument プレゼンテーションを HTML に変換する方法を学びます。このガイドでは、スライドをウェブフレンドリーな形式に変換するための手順、コードサンプル、ベストプラクティスを提供します。" --- ## **概要** -この記事では、C#を使用してPowerPointプレゼンテーションをHTML形式に変換する方法を説明します。以下のトピックをカバーします。 +Aspose.Slides for .NET を使用して PowerPoint および OpenDocument プレゼンテーションを HTML に変換することで、ワークフローを向上させます。このガイドでは、詳細な手順、堅牢なコード例、検証済みの方法を提供し、Web 表示に最適化された信頼性の高い効率的な変換プロセスを実現します。 -- [C#でPowerPointをHTMLに変換する](#convert-powerpoint-to-html) -- [C#でPPTをHTMLに変換する](#convert-powerpoint-to-html) -- [C#でPPTXをHTMLに変換する](#convert-powerpoint-to-html) -- [C#でODPをHTMLに変換する](#convert-powerpoint-to-html) -- [C#でPowerPointスライドをHTMLに変換する](#convert-slide-to-html) +Aspose.Slides は多数のオプション(主に [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) クラスから)を提供し、PowerPoint(または OpenDocument)形式から HTML への変換プロセスを定義します: -## **C# PowerPointをHTMLに変換する** +* PowerPoint プレゼンテーション全体を HTML に変換します。 +* PowerPoint プレゼンテーションの特定のスライドを HTML に変換します。 +* プレゼンテーションのメディア(画像、ビデオなど)を HTML に変換します。 +* PowerPoint プレゼンテーションをレスポンシブ HTML に変換します。 +* PowerPoint プレゼンテーションを、講演者ノートを含めるか除外するか選択して HTML に変換します。 +* PowerPoint プレゼンテーションを、コメントを含めるか除外するか選択して HTML に変換します。 +* PowerPoint プレゼンテーションを、元のフォントまたは埋め込みフォントで HTML に変換します。 +* 新しい CSS スタイルを使用して PowerPoint プレゼンテーションを HTML に変換します。 -PowerPointをHTMLに変換するC#のサンプルコードについては、以下のセクションを参照してください。つまり、[PowerPointをHTMLに変換する](#convert-powerpoint-to-html)。このコードは、PPT、PPTX、ODPなどの形式をPresentationオブジェクトに読み込み、HTML形式に保存できます。 +## **プレゼンテーションを HTML に変換する** -## **PowerPointをHTMLに変換するについて** -[**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/)を使用すると、アプリケーションと開発者はPowerPointプレゼンテーションをHTMLに変換できます:**PPTXをHTMLに**または**PPTをHTMLに**。 +Aspose.Slides を使用すると、PowerPoint または OpenDocument のプレゼンテーション全体を次の手順で HTML に変換できます。 -**Aspose.Slides**は、PowerPointをHTMLに変換するプロセスを定義する多くのオプション(ほとんどが[**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions)クラスから)を提供しています: - -* PowerPointプレゼンテーション全体をHTMLに変換する。 -* PowerPointプレゼンテーション内の特定のスライドをHTMLに変換する。 -* プレゼンテーションメディア(画像、動画など)をHTMLに変換する。 -* PowerPointプレゼンテーションをレスポンシブHTMLに変換する。 -* スピーカーノートを含めるか除外してPowerPointプレゼンテーションをHTMLに変換する。 -* コメントを含めるか除外してPowerPointプレゼンテーションをHTMLに変換する。 -* 元のフォントまたは埋め込まれたフォントを使用してPowerPointプレゼンテーションをHTMLに変換する。 -* 新しいCSSスタイルを使用してPowerPointプレゼンテーションをHTMLに変換する。 - -{{% alert color="primary" %}} - -独自のAPIを使用して、Asposeは無料の[プレゼンテーションをHTMLに](https://products.aspose.app/slides/conversion/powerpoint-to-html)変換ツールを開発しました:[PPTをHTMLに](https://products.aspose.app/slides/conversion/ppt-to-html)、[PPTXをHTMLに](https://products.aspose.app/slides/conversion/pptx-to-html)、[ODPをHTMLに](https://products.aspose.app/slides/conversion/odp-to-html)など。 - -[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) - -他の[Asposeの無料変換ツール](https://products.aspose.app/slides/conversion)をチェックしてみてください。 - -{{% /alert %}} - -{{% alert title="注" color="warning" %}} - -ここで説明されている変換プロセスに加えて、Aspose.SlidesはHTML形式に関するこれらの変換操作もサポートしています: - -* [HTMLを画像に変換する](https://products.aspose.com/slides/net/conversion/html-to-image/) -* [HTMLをJPGに変換する](https://products.aspose.com/slides/net/conversion/html-to-jpg/) -* [HTMLをXMLに変換する](https://products.aspose.com/slides/net/conversion/html-to-xml/) -* [HTMLをTIFFに変換する](https://products.aspose.com/slides/net/conversion/html-to-tiff/) - -{{% /alert %}} - - -## **PowerPointをHTMLに変換する** -Aspose.Slidesを使用すると、全体のPowerPointプレゼンテーションをこのようにHTMLに変換できます: - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 -1. [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save)メソッドを使用してオブジェクトをHTMLファイルとして保存します。 - -このコードは、C#でPowerPointをHTMLに変換する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +1. [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) メソッドを使用してオブジェクトを HTML ファイルとして保存します。 +このコードは C# で PowerPoint プレゼンテーションを HTML に変換する方法を示しています: ```c# -// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します(例:PPT、PPTX、ODPなど)。 -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// プレゼンテーションファイル(例: PPT、PPTX、ODP など)を表す Presentation クラスのインスタンスを作成します。 +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions htmlOpt = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOpt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; - - htmlOpt.HtmlFormatter = HtmlFormatter.CreateDocumentFormatter("", false); - - // プレゼンテーションをHTMLとして保存します - presentation.Save("ConvertWholePresentationToHTML_out.html", SaveFormat.Html, htmlOpt); + // プレゼンテーションを HTML として保存します。 + presentation.Save("output.html", SaveFormat.Html); } ``` -## **PowerPointをレスポンシブHTMLに変換する** -Aspose.Slidesは、レスポンシブHTMLファイルを生成するための[ResponsiveHtmlController ](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller)クラスを提供しています。このコードは、C#でPowerPointプレゼンテーションをレスポンシブHTMLに変換する方法を示しています: +## **プレゼンテーションをレスポンシブ HTML に変換する** +Aspose.Slides は [ResponsiveHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller) クラスを提供し、レスポンシブ HTML ファイルの生成を可能にします。このコードは C# で PowerPoint プレゼンテーションをレスポンシブ HTML に変換する方法を示しています: ```c# -// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// プレゼンテーションファイルを表す Presentation クラスのインスタンスを作成します。 +using (Presentation presentation = new Presentation("presentation.pptx")) { ResponsiveHtmlController controller = new ResponsiveHtmlController(); - HtmlOptions htmlOptions = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) }; - // プレゼンテーションをHTMLとして保存します - presentation.Save("ConvertPresentationToResponsiveHTML_out.html", SaveFormat.Html, htmlOptions); + HtmlOptions htmlOptions = new HtmlOptions + { + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) + }; + + // プレゼンテーションを HTML として保存します。 + presentation.Save("responsive.html", SaveFormat.Html, htmlOptions); } ``` -## **ノート付きでPowerPointをHTMLに変換する** -このコードは、C#でノート付きのPowerPointをHTMLに変換する方法を示しています: +## **講演者ノート付きでプレゼンテーションを HTML に変換する** + +PowerPoint または OpenDocument のプレゼンテーションを講演者ノート付きで HTML に変換する際は、元のドキュメントの完全な内容を捉えることが重要です。このプロセスにより、スライドのビジュアル要素が正確に表現されるだけでなく、添付された講演者ノートも保持され、コンテンツに追加の文脈と洞察が加わります。 + +次のようなスライドを含む PowerPoint プレゼンテーションがあるとします: + +![講演者ノート付きのプレゼンテーション スライド](slide_with_notes.png) + +このコードは C# で PowerPoint プレゼンテーションを講演者ノート付きで HTML に変換する方法を示しています: ```c# -using (Presentation pres = new Presentation("Presentation.pptx")) +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions opt = new HtmlOptions(); + // 講演者ノートのオプションを設定します。 + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - INotesCommentsLayoutingOptions options = opt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + // 出力 HTML ドキュメントのオプションを設定します。 + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions + }; - // ノートページを保存します - pres.Save("Output.html", SaveFormat.Html, opt); + // 講演者ノート付きでプレゼンテーションを HTML として保存します。 + presentation.Save("slide_with_notes.html", SaveFormat.Html, htmlOptions); } ``` -## **元のフォント付きでPowerPointをHTMLに変換する** -Aspose.Slidesは、プレゼンテーションをHTMLに変換する際にすべてのフォントを埋め込むことを可能にする[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller)クラスを提供します。 +結果: + +![スライドと講演者ノートを含む HTML ドキュメント](HTML_with_notes.png) -特定のフォントが埋め込まれるのを防ぐために、[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller)クラスのパラメータ化されたコンストラクターにフォント名の配列を渡すことができます。CalibriやArialなどの一般的なフォントは、プレゼンテーションで使用される場合、ほとんどのシステムに既に含まれているため、埋め込む必要はありません。これらのフォントが埋め込まれると、生成されるHTML文書は不必要に大きくなります。 +## **元のフォントでプレゼンテーションを HTML に変換する** -[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller)クラスは継承をサポートし、オーバーライドされることを意図した[WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont)メソッドを提供します。 +Aspose.Slides は [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) クラスを提供し、プレゼンテーションのすべてのフォントを埋め込んだ状態で HTML に変換できます。 +特定のフォントを埋め込みたくない場合は、[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) クラスのパラメータ付きコンストラクタにフォント名の配列を渡すことができます。Calibri や Arial などの一般的なフォントは、ほとんどのシステムに既にインストールされているため埋め込む必要はありません。埋め込むと結果の HTML ドキュメントのサイズが不要に大きくなります。 + +[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) クラスは継承をサポートし、[WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont) メソッドがオーバーライド対象として提供されています。 ```c# -using (Presentation pres = new Presentation("input.pptx")) +using (Presentation presentation = new Presentation("input.pptx")) { - // デフォルトのプレゼンテーションフォントを除外します - string[] fontNameExcludeList = { "Calibri", "Arial" }; + // デフォルトのプレゼンテーションフォントを除外します。 + string[] excludeFonts = { "Calibri", "Arial" }; - EmbedAllFontsHtmlController embedFontsController = new EmbedAllFontsHtmlController(fontNameExcludeList); + EmbedAllFontsHtmlController fontController = new EmbedAllFontsHtmlController(excludeFonts); - HtmlOptions htmlOptionsEmbed = new HtmlOptions + HtmlOptions htmlOptions = new HtmlOptions { - HtmlFormatter = HtmlFormatter.CreateCustomFormatter(embedFontsController) + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(fontController) }; - pres.Save("input-PFDinDisplayPro-Regular-installed.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("embedded_fonts.html", SaveFormat.Html, htmlOptions); } ``` -## **高品質の画像でPowerPointをHTMLに変換する** -デフォルトでは、PowerPointをHTMLに変換する際、Aspose.Slidesは72DPIの小さなHTMLを出力し、切り取られた領域は削除されます。より高品質な画像を持つHTMLファイルを取得するには、`HtmlOptions`クラスから`PicturesCompression`プロパティを96(つまり`PicturesCompression.Dpi96`)以上の[値](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression)に設定する必要があります。 +## **高品質画像でプレゼンテーションを HTML に変換する** -このC#コードは、150 DPI(つまり`PicturesCompression.Dpi150`)で高品質画像を取得しながらPowerPointプレゼンテーションをHTMLに変換する方法を示しています: +既定では、PowerPoint プレゼンテーションを HTML に変換すると、Aspose.Slides は 72 DPI の画像とトリミングされた領域の削除を行い、サイズの小さい HTML ファイルを出力します。より高品質な画像を含む HTML を取得するには、`HtmlOptions` クラスの `PicturesCompression` プロパティを 96(`PicturesCompression.Dpi96`)またはそれ以上に設定する必要があります。詳細は [このリファレンス](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression) を参照してください。 +この C# コードは、画像解像度を 150 DPI(`PicturesCompression.Dpi150`)に設定して高品質画像付きの HTML に変換する方法を示しています: ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - PicturesCompression = PicturesCompression.Dpi150 -}; -pres.Save("OutputDoc-dpi150.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + PicturesCompression = PicturesCompression.Dpi150 + }; + + presentation.Save("output_dpi_150.html", SaveFormat.Html, htmlOptions); +} ``` -このC#コードは、フルクオリティの画像付きHTMLを出力する方法を示しています: +この C# コードは、トリミング領域を削除せずに HTML に変換する方法を示しています: ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - DeletePicturesCroppedAreas = false -}; -pres.Save("Outputdoc-noCrop.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + DeletePicturesCroppedAreas = false + }; + + presentation.Save("output_no_crop.html", SaveFormat.Html, htmlOptions); +} ``` -## **スライドをHTMLに変換する** -特定のスライドをPowerPointからHTMLに変換するには、全体のプレゼンテーションをHTMLに変換するために使用されたのと同じ[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスをインスタンス化し、[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save)メソッドを使用してファイルをHTMLとして保存する必要があります。[HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions**)クラスを使用して追加の変換オプションを指定できます: -このC#コードは、PowerPointプレゼンテーション内のスライドをHTMLに変換する方法を示しています: +## **スライドを HTML に変換する** + +PowerPoint プレゼンテーションの特定のスライドを HTML に変換するには、全体プレゼンテーションの変換に使用したのと同じ [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成し、[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) メソッドで HTML として保存します。追加の変換オプションは [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) クラスで指定できます。 +この C# コードは、講演者ノート付きのスライドを HTML に変換する方法を示しています: ```c# public static void Run() { - using (Presentation presentation = new Presentation("Individual-Slide.pptx")) + using (Presentation presentation = new Presentation("sample.pptx")) { - HtmlOptions htmlOptions = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()); + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions, + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()) + }; - // ファイルを保存 for (int i = 0; i < presentation.Slides.Count; i++) - presentation.Save("Individual Slide" + (i + 1) + "_out.html", new[] { i + 1 }, SaveFormat.Html, htmlOptions); + { + int slideIndex = i + 1; + + // スライドを HTML ファイルとして保存します。 + string fileName = $"output_slide_{slideIndex}.html"; + presentation.Save(fileName, new[] { slideIndex }, SaveFormat.Html, htmlOptions); + } } } @@ -218,27 +233,28 @@ public class CustomFormattingController : IHtmlFormattingController ``` -## **HTMLにエクスポートする際にCSSと画像を保存する** -新しいCSSスタイルファイルを使用することで、PowerPointをHTMLに変換するプロセスから生成されたHTMLファイルのスタイルを簡単に変更できます。 +## **HTML エクスポート時に CSS と画像を保存する** -この例のC#コードは、オーバーライド可能なメソッドを使用してCSSファイルへのリンクを持つカスタムHTMLドキュメントを作成する方法を示しています: +新しい CSS スタイル ファイルを使用すると、PowerPoint から HTML への変換で生成された HTML の外観を簡単に変更できます。 +この例の C# コードは、CSS ファイルへのリンクを含むカスタム HTML ドキュメントを作成するためにオーバーライド可能なメソッドを使用する方法を示しています: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { CustomHeaderAndFontsController htmlController = new CustomHeaderAndFontsController("styles.css"); + HtmlOptions options = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(htmlController), }; - pres.Save("pres.html", SaveFormat.Html, options); + presentation.Save("pres.html", SaveFormat.Html, options); } ``` ```c# public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController { - // カスタムヘッダーテンプレート + // カスタムヘッダーテンプレート。 const string Header = "\n" + "\n" + "\n" + @@ -247,7 +263,6 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController "\n" + ""; - private readonly string m_cssFileName; public CustomHeaderAndFontsController(string cssFileName) @@ -263,40 +278,37 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController public override void WriteAllFonts(IHtmlGenerator generator, IPresentation presentation) { - generator.AddHtml(""); + generator.AddHtml(""); base.WriteAllFonts(generator, presentation); } } ``` -## **プレゼンテーションをHTMLに変換する際にすべてのフォントをリンクする** -埋め込んだフォント(生成されたHTMLのサイズを増加させないように)を使用したくない場合は、自分自身の`LinkAllFontsHtmlController`バージョンを実装することで、すべてのフォントをリンクすることができます。 +## **フォントを埋め込まずにリンクする** -このC#コードは、"Calibri"と"Arial"を除外し、すべてのフォントをリンクしながらPowerPointをHTMLに変換する方法を示しています: +結果の HTML のサイズを増やしたくない場合は、フォントを埋め込む代わりにすべてのフォントへのリンクを作成できます。独自の `LinkAllFontsHtmlController` 実装を作成してください。 +この C# コードは、"Calibri" と "Arial"(システムに既にインストールされているため)を除外し、すべてのフォントをリンクする方法を示しています: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { - // デフォルトのプレゼンテーションフォントを除外します + // デフォルトのプレゼンテーションフォントを除外します。 string[] fontNameExcludeList = { "Calibri", "Arial" }; - Paragraph para = new Paragraph(); - ITextFrame txt; - - LinkAllFontsHtmlController linkcont = new LinkAllFontsHtmlController(fontNameExcludeList, @"C:\Windows\Fonts\"); + LinkAllFontsHtmlController linkcont = new LinkAllFontsHtmlController(fontNameExcludeList, @"C:\Windows\Fonts\");; HtmlOptions htmlOptionsEmbed = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(linkcont) }; - pres.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); } ``` -このC#コードは、`LinkAllFontsHtmlController`がどのように実装されているかを示しています: +この C# コードは、`LinkAllFontsHtmlController` の実装例を示しています: ```c# public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController { @@ -319,7 +331,7 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController try { string fontName = substitutedFont == null ? originalFont.FontName : substitutedFont.FontName; - string path = fontName + ".woff"; // 一部のパスのサニタイズが必要になるかもしれません + string path = fontName + ".woff"; // パスのサニタイズが必要になる場合があります。 File.WriteAllBytes(Path.Combine(m_basePath, path), fontData); @@ -339,30 +351,36 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController } ``` -## **PowerPointをレスポンシブHTMLに変換する** -このC#コードは、PowerPointプレゼンテーションをレスポンシブHTMLに変換する方法を示しています: +## **SVG 画像を含むプレゼンテーションをレスポンシブ HTML に変換する** + +この C# コードは、PowerPoint プレゼンテーションをレスポンシブ HTML に変換する方法を示しています: ```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -HtmlOptions saveOptions = new HtmlOptions(); -saveOptions.SvgResponsiveLayout = true; -presentation.Save("SomePresentation-out.html", SaveFormat.Html, saveOptions); +using (Presentation presentation = new Presentation("Presentation.pptx")) +{ + HtmlOptions saveOptions = new HtmlOptions + { + SvgResponsiveLayout = true + }; + + presentation.Save("SvgResponsiveLayout-out.html", SaveFormat.Html, saveOptions); +} ``` -## **メディアファイルをHTMLにエクスポートする** -Aspose.Slides for .NETを使用して、次のようにメディアファイルをエクスポートできます: +## **メディア ファイルを HTML にエクスポートする** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 -1. スライドへの参照を取得します。 -1. スライドに動画を追加します。 -1. プレゼンテーションをHTMLファイルとして書き出します。 +Aspose.Slides for .NET を使用すると、メディア ファイルを次の手順でエクスポートできます。 -このC#コードは、プレゼンテーションに動画を追加し、その後HTMLとして保存する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +1. スライドへの参照を取得します。 +1. スライドにビデオを追加します。 +1. プレゼンテーションを HTML ファイルとして書き出します。 +この C# コードは、プレゼンテーションにビデオを追加し、HTML として保存する方法を示しています: ```c# -// プレゼンテーションを読み込みます -using (Presentation pres = new Presentation()) +// 新しいプレゼンテーションを作成します。 +using (Presentation presentation = new Presentation()) { string path = "C:/out/"; const string fileName = "ExportMediaFiles_out.html"; @@ -370,22 +388,58 @@ using (Presentation pres = new Presentation()) using (FileStream fileStream = new FileStream("my_video.avi", FileMode.Open, FileAccess.Read)) { - IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); + IVideo video = presentation.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; slide.Shapes.AddVideoFrame(10, 10, 100, 100, video); } VideoPlayerHtmlController controller = new VideoPlayerHtmlController(path, fileName, baseUri); - // HTMLオプションを設定します + // HTML オプションを設定します。 HtmlOptions htmlOptions = new HtmlOptions(controller); SVGOptions svgOptions = new SVGOptions(controller); htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller); htmlOptions.SlideImageFormat = SlideImageFormat.Svg(svgOptions); - // ファイルを保存します - pres.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); + // プレゼンテーションを HTML ファイルに保存します。 + presentation.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); } -``` \ No newline at end of file +``` + + +{{% alert color="primary" %}} + +Aspose は無料の [presentation to HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) コンバータを提供しています: [PPT to HTML](https://products.aspose.app/slides/conversion/ppt-to-html)、[PPTX to HTML](https://products.aspose.app/slides/conversion/pptx-to-html)、[ODP to HTML](https://products.aspose.app/slides/conversion/odp-to-html) など。 + +[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) + +他の無料コンバータについては、[Aspose の無料コンバータ](https://products.aspose.app/slides/conversion) をご確認ください。 + +{{% /alert %}} + +{{% alert title="注意" color="warning" %}} + +本稿で説明した変換プロセスに加えて、Aspose.Slides は HTML 形式に関する以下の変換操作もサポートしています: + +* [HTML to image](https://products.aspose.com/slides/net/conversion/html-to-image/) +* [HTML to JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) +* [HTML to XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) +* [HTML to TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) + +{{% /alert %}} + +## **FAQ** + +**複数のプレゼンテーションを HTML に変換する際の Aspose.Slides のパフォーマンスは?** + +パフォーマンスはプレゼンテーションのサイズと複雑さに依存します。Aspose.Slides はバッチ処理において非常に効率的かつスケーラブルです。多数のプレゼンテーションを変換する際は、可能な限りマルチスレッドまたは並列処理を使用することを推奨します。 + +**Aspose.Slides はハイパーリンクの HTML へのエクスポートをサポートしていますか?** + +はい、Aspose.Slides は埋め込みハイパーリンクの HTML へのエクスポートを完全にサポートしています。プレゼンテーションを HTML 形式に変換すると、ハイパーリンクは自動的に保持され、クリック可能な状態になります。 + +**プレゼンテーションを HTML に変換する際のスライド数に制限はありますか?** + +Aspose.Slides ではスライド数に制限はありません。任意のサイズのプレゼンテーションを変換できます。ただし、スライド数が非常に多い場合は、サーバーまたはシステムのリソースに応じてパフォーマンスが変わる可能性があります。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md index f720a7a384..2882caf7e7 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md @@ -1,150 +1,163 @@ --- -title: C#でPowerPointをJPGに変換 -linktitle: PowerPoint PPTをJPGに変換 +title: C# で PPT、PPTX、ODP を JPG に変換 +linktitle: スライドを JPG 画像に変換 type: docs weight: 60 url: /ja/net/convert-powerpoint-to-jpg/ -keywords: -- PowerPointプレゼンテーションを変換 -- JPG -- JPEG -- PowerPointからJPGへ -- PowerPointからJPEGへ -- PPTからJPGへ -- PPTXからJPGへ -- PPTからJPEGへ -- PPTXからJPEGへ +keywords: +- PowerPoint を JPG に変換 +- プレゼンテーションを JPG に変換 +- スライドを JPG に変換 +- PPT を JPG に変換 +- PPTX を JPG に変換 +- ODP を JPG に変換 +- PowerPoint を JPG に変換 +- プレゼンテーションを JPG に変換 +- スライドを JPG に変換 +- PPT を JPG に変換 +- PPTX を JPG に変換 +- ODP を JPG に変換 +- PowerPoint を JPEG に変換 +- プレゼンテーションを JPEG に変換 +- スライドを JPEG に変換 +- PPT を JPEG に変換 +- PPTX を JPEG に変換 +- ODP を JPEG に変換 +- PowerPoint を JPEG に変換 +- プレゼンテーションを JPEG に変換 +- スライドを JPEG に変換 +- PPT を JPEG に変換 +- PPTX を JPEG に変換 +- ODP を JPEG に変換 +- C# - C# -- Csharp - .NET - Aspose.Slides -description: "C#または.NETでPowerPointをJPGに変換します。スライドをJPG画像として保存" +description: "PowerPoint および OpenDocument プレゼンテーションのスライドを、数行のコードで高品質な JPEG 画像に変換する方法を学びましょう。ウェブでの使用、共有、アーカイブのためにプレゼンテーションを最適化できます。今すぐ完全ガイドをご覧ください!" --- ## **概要** -この記事では、C#を使用してPowerPointプレゼンテーションをJPG形式に変換する方法について説明します。以下のトピックをカバーします: - -- [C#でPowerPointをJPGに変換](#convert-powerpoint-pptpptx-to-jpg) -- [C#でPPTをJPGに変換](#convert-powerpoint-pptpptx-to-jpg) -- [C#でPPTXをJPGに変換](#convert-powerpoint-pptpptx-to-jpg) -- [C#でODPをJPGに変換](#convert-powerpoint-pptpptx-to-jpg) -- [C#でPowerPointスライドを画像に変換](#convert-powerpoint-pptpptx-to-jpg) - -## **C# PowerPointからJPGへ** - -C#のPowerPointをJPGに変換するサンプルコードについては、以下のセクションを参照してください。つまり、[PowerPointをJPGに変換](#convert-powerpoint-pptpptx-to-jpg)です。このコードは、プレゼンテーションオブジェクトにPPT、PPTX、ODPなどの形式を読み込み、そのスライドサムネイルをJPG形式で保存します。PNG、BMP、TIFF、SVGのような他のPowerPointから画像への変換も、これらの記事で説明しています。 - -- [C# PowerPointをPNGに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -- [C# PowerPointをBMPに変換](#convert-powerpoint-pptpptx-to-jpg) -- [C# PowerPointをTIFFに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) -- [C# PowerPointをSVGに変換](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) - -## **PowerPointからJPGへの変換について** - -[**Aspose.Slides .NET API**](https://products.aspose.com/slides/net/)を使用すると、PowerPoint PPTまたはPPTXプレゼンテーションをJPG画像に変換できます。PPT/PPTXをBMP、PNG、SVGに変換することも可能です。この機能を利用すれば、独自のプレゼンテーションビューアを実装し、各スライドのサムネイルを作成できます。これは、プレゼンテーションスライドを著作権から保護したり、プレゼンテーションを読み取り専用モードで表示したりするのに役立ちます。Aspose.Slidesでは、全体のプレゼンテーションまたは特定のスライドを画像形式に変換できます。 - -{{% alert color="primary" %}} - -Aspose.SlidesがPowerPointをJPG画像に変換する方法を確認するには、これらの無料オンラインコンバータを試してみることをお勧めします:PowerPoint [PPTXをJPGに](https://products.aspose.app/slides/conversion/pptx-to-jpg)および[PPTをJPGに](https://products.aspose.app/slides/conversion/ppt-to-jpg)。 - -{{% /alert %}} +PowerPoint および OpenDocument のプレゼンテーションを JPG 画像に変換することで、スライドの共有、パフォーマンスの最適化、ウェブサイトやアプリケーションへのコンテンツ埋め込みが容易になります。Aspose.Slides for .NET を使用すると、PPTX、PPT、ODP ファイルを高品質な JPEG 画像に変換できます。このガイドでは、さまざまな変換方法を説明します。 -![todo:image_alt_text](ppt-to-jpg.png) +これらの機能を使用すれば、独自のプレゼンテーションビューアを実装し、各スライドのサムネイルを作成することが簡単になります。スライドのコピーから保護したい場合や、読み取り専用モードでプレゼンテーションをデモする場合に便利です。Aspose.Slides は、プレゼンテーション全体または特定のスライドを画像形式に変換することができます。 -## **PowerPoint PPT/PPTXをJPGに変換する手順** -PPT/PPTXをJPGに変換する手順は以下の通りです: +## **プレゼンテーション スライドを JPG 画像に変換** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides)コレクションから[ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide)型のスライドオブジェクトを取得します。 -3. 各スライドのサムネイルを作成し、JPGに変換します。[**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5)メソッドを使用してスライドのサムネイルを取得し、[Bitmap](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.bitmap?view=netframework-4.8)オブジェクトを返します。[GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5)メソッドは必要なスライドの[ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide)型から呼び出され、結果のサムネイルのスケールがメソッドに渡されます。 -4. スライドサムネイルを取得した後、サムネイルオブジェクトから[**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8)メソッドを呼び出します。結果のファイル名と画像形式を渡します。 +1. Presentation クラスのインスタンスを作成します。 +1. Presentation.Slides コレクションから ISlide 型のスライドオブジェクトを取得します。 +1. ISlide.GetImage(float, float) メソッドを使用してスライドの画像を作成します。 +1. 画像オブジェクトで IImage.Save(string, ImageFormat) メソッドを呼び出します。出力ファイル名と画像フォーマットを引数として渡します。 {{% alert color="primary" %}} -**注意**: PPT/PPTXからJPGへの変換は、Aspose.Slides .NET APIの他の型への変換とは異なります。他の型の場合は、通常は[**IPresentation.SaveMethod(String, SaveFormat, ISaveOptions)** ](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5)メソッドを使用しますが、ここでは[**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8)メソッドが必要です。 +**注:** PPT、PPTX、ODP から JPG への変換は、Aspose.Slides .NET API で他のフォーマットへの変換とは異なります。他のフォーマットでは通常、IPresentation.Save(String, SaveFormat, ISaveOptions) メソッドを使用します。しかし、JPG 変換の場合は IImage.Save(string, ImageFormat) メソッドを使用する必要があります。 {{% /alert %}} - ```c# -const int imageScale = 1; +int scaleX = 1; +int scaleY = scaleX; -using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt")) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.ppt")) { - foreach (ISlide slide in pres.Slides) + foreach (ISlide slide in presentation.Slides) { - // フルスケール画像を作成 - using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) + // 指定したスケールでスライド画像を作成します。 + using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) { - // JPEG形式でディスクに画像を保存 - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // 画像を JPEG 形式でディスクに保存します。 + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } } ``` -## **カスタマイズされた寸法でPowerPoint PPT/PPTXをJPGに変換** -生成されるサムネイルとJPG画像の寸法を変更するには、[**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5)メソッドに*ScaleX*と*ScaleY*の値を渡して設定できます: -```c# -using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx")) -{ - // 寸法を定義 - int desiredX = 1200; - int desiredY = 800; +## **カスタム寸法でスライドを JPG に変換** - // XとYのスケール値を取得 - float scaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX; - float scaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY; +生成される JPG 画像のサイズを変更するには、ISlide.GetImage(Size) メソッドにサイズを渡して画像サイズを設定できます。これにより、特定の幅と高さの値で画像を生成でき、解像度やアスペクト比の要件を満たす出力が得られます。この柔軟性は、ウェブアプリケーション、レポート、ドキュメント向けに正確な画像サイズが必要な場合に特に有用です。 +```c# +Size imageSize = new Size(1200, 800); - foreach (ISlide slide in pres.Slides) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.pptx")) +{ + foreach (ISlide slide in presentation.Slides) { - // フルスケール画像を作成 - using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) + // 指定したサイズでスライド画像を作成します。 + using (IImage thumbnail = slide.GetImage(imageSize)) { - // JPEG形式でディスクに画像を保存 - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // 画像を JPEG 形式でディスクに保存します。 + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } } ``` -## **画像にプレゼンテーションを保存する際のコメントのレンダリング** -Aspose.Slides for .NETは、スライドを画像に変換するときにプレゼンテーションのスライドにコメントをレンダリングする機能を提供します。このC#コードは、その操作を示しています: +## **スライドを画像として保存する際にコメントをレンダリング** + +Aspose.Slides for .NET には、プレゼンテーションのスライドを JPG 画像に変換する際にコメントをレンダリングできる機能があります。この機能は、PowerPoint プレゼンテーションで共同作業者が追加した注釈、フィードバック、ディスカッションを保持するのに特に有用です。このオプションを有効にすると、生成された画像にコメントが表示されるため、元のプレゼンテーションファイルを開かずにフィードバックの確認や共有が容易になります。 + +たとえば、コメントを含むスライドがあるプレゼンテーションファイル「sample.pptx」があるとします。 + +![コメント付きスライド](slide_with_comments.png) + +次の C# コードは、コメントを保持したままスライドを JPG 画像に変換します。 ```c# -using (Presentation presentation = new Presentation("test.pptx")) +int scaleX = 2; +int scaleY = scaleX; + +using (Presentation presentation = new Presentation("sample.pptx")) { IRenderingOptions options = new RenderingOptions { + // スライドコメントのオプションを設定します。 SlidesLayoutOptions = new NotesCommentsLayoutingOptions { - NotesPosition = NotesPositions.BottomTruncated, - CommentsAreaColor = Color.Red, + CommentsPosition = CommentsPositions.Right, CommentsAreaWidth = 200, - CommentsPosition = CommentsPositions.Right + CommentsAreaColor = Color.DarkOrange } }; - using (IImage image = presentation.Slides[0].GetImage(options)) + // 最初のスライドを画像に変換します。 + using (IImage image = presentation.Slides[0].GetImage(options, scaleX, scaleY)) { - image.Save("OutPresBitmap.png", ImageFormat.Png); + image.Save("Slide_1.jpg", ImageFormat.Jpeg); } - - System.Diagnostics.Process.Start("OutPresBitmap.png"); } ``` + +結果: + +![コメント付き JPG 画像](image_with_comments.png) + +## **関連項目** + +PPT、PPTX、ODP を画像に変換する他のオプションを次に示します。 + +- [PowerPoint を GIF に変換](/slides/ja/net/convert-powerpoint-to-animated-gif/) +- [PowerPoint を PNG に変換](/slides/ja/net/convert-powerpoint-to-png/) +- [PowerPoint を TIFF に変換](/slides/ja/net/convert-powerpoint-to-tiff/) +- [PowerPoint を SVG に変換](/slides/ja/net/render-a-slide-as-an-svg-image/) + +{{% alert color="primary" %}} +Aspose.Slides が PowerPoint を JPG 画像に変換する方法を確認するには、次の無料オンラインコンバータを試してください。PowerPoint [PPTX to JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) と [PPT to JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg)。 +{{% /alert %}} + +![無料オンライン PPTX から JPG へのコンバータ](ppt-to-jpg.png) + {{% alert title="ヒント" color="primary" %}} -Asposeは[無料のコラージュWebアプリ](https://products.aspose.app/slides/collage)を提供しています。このオンラインサービスを使用すると、[JPGからJPG](https://products.aspose.app/slides/collage/jpg)やPNGからPNGの画像をマージしたり、[フォトグリッド](https://products.aspose.app/slides/collage/photo-grid)を作成したりできます。 +Aspose は、[無料の Collage Web アプリ](https://products.aspose.app/slides/collage)を提供しています。このオンラインサービスを使用すると、JPG から JPG や PNG から PNG の画像を結合したり、[フォトグリッド](https://products.aspose.app/slides/collage/photo-grid)を作成したりすることができます。 -この記事で説明したのと同じ原則を使用して、画像を別の形式に変換できます。詳細については、次のページを参照してください:画像を[JPGに変換](https://products.aspose.com/slides/net/conversion/image-to-jpg/);[JPGを画像に変換](https://products.aspose.com/slides/net/conversion/jpg-to-image/);[JPGをPNGに変換](https://products.aspose.com/slides/net/conversion/jpg-to-png/);[PNGをJPGに変換](https://products.aspose.com/slides/net/conversion/png-to-jpg/);[PNGをSVGに変換](https://products.aspose.com/slides/net/conversion/png-to-svg/);[SVGをPNGに変換](https://products.aspose.com/slides/net/conversion/svg-to-png/)。 +この記事で説明した同じ原則を使用して、画像をあるフォーマットから別のフォーマットに変換できます。詳細については、次のページをご参照ください:[画像を JPG に変換](https://products.aspose.com/slides/net/conversion/image-to-jpg/);[JPG を画像に変換](https://products.aspose.com/slides/net/conversion/jpg-to-image/);[JPG を PNG に変換](https://products.aspose.com/slides/net/conversion/jpg-to-png/)、[PNG を JPG に変換](https://products.aspose.com/slides/net/conversion/png-to-jpg/)、[PNG を SVG に変換](https://products.aspose.com/slides/net/conversion/png-to-svg/)、[SVG を PNG に変換](https://products.aspose.com/slides/net/conversion/svg-to-png/)。 {{% /alert %}} -## **関連情報** +## **よくある質問** -PPT/PPTXを画像に変換する他のオプションを参照してください: +**この方法はバッチ変換をサポートしていますか?** -- [PPT/PPTXをSVGに変換](/slides/ja/net/render-a-slide-as-an-svg-image/) \ No newline at end of file +はい、Aspose.Slides は、 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md index c8e88c415e..2f11a63f3c 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md @@ -1,31 +1,30 @@ --- -title: PowerPointをC#でMarkdownに変換 +title: "C# で PowerPoint を Markdown に変換" type: docs weight: 140 url: /ja/net/convert-powerpoint-to-markdown/ -keywords: "PowerPointをMarkdownに変換, pptをmdに変換, PowerPoint, PPT, PPTX, プレゼンテーション, Markdown, C#, Csharp, .NET, Aspose.Slides" -description: "C#でPowerPointをMarkdownに変換" +keywords: "PowerPoint を Markdown に変換, ppt を md に変換, PowerPoint, PPT, PPTX, Presentation, Markdown, C#, Csharp, .NET, Aspose.Slides" +description: "C# で PowerPoint を Markdown に変換" --- {{% alert color="info" %}} -PowerPointからMarkdownへの変換サポートは、[Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/)で実装されました。 +PowerPoint から markdown への変換サポートは [Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/) にて実装されました。 {{% /alert %}} {{% alert color="warning" %}} -デフォルトでは、PowerPointからMarkdownへのエクスポートは**画像なし**です。画像を含むPowerPoint文書をエクスポートしたい場合は、`ExportType = MarkdownExportType.Visual`を設定し、Markdown文書内で参照される画像が保存されるBasePathを設定する必要があります。 +PowerPoint から markdown へのエクスポートはデフォルトで **画像なし** です。画像を含む PowerPoint ドキュメントをエクスポートしたい場合は、`ExportType = MarkdownExportType.Visual` を設定し、markdown ドキュメントで参照される画像が保存される BasePath を設定する必要があります。 {{% /alert %}} -## **PowerPointをMarkdownに変換** +## **PowerPoint を Markdown に変換** -1. プレゼンテーションオブジェクトを表すために[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save)メソッドを使用して、オブジェクトをMarkdownファイルとして保存します。 - -以下のC#コードは、PowerPointをMarkdownに変換する方法を示します: +1. プレゼンテーション オブジェクトを表すために、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. オブジェクトを markdown ファイルとして保存するには、[Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save)メソッドを使用します。 +この C# コードは PowerPoint を markdown に変換する方法を示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -33,12 +32,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## PowerPointをMarkdownフレーバーに変換 -Aspose.Slidesを使用すると、PowerPointをMarkdown(基本構文を含む)、CommonMark、GitHubフレーバーのMarkdown、Trello、XWiki、GitLab、その他17種類のMarkdownフレーバーに変換できます。 +## **PowerPoint を Markdown フレーバーに変換** -以下のC#コードは、PowerPointをCommonMarkに変換する方法を示します: +Aspose.Slides を使用すると、PowerPoint を markdown(基本構文を含む)、CommonMark、GitHub フレーバー markdown、Trello、XWiki、GitLab、その他 17 種類の markdown フレーバーに変換できます。 +この C# コードは PowerPoint を CommonMark に変換する方法を示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -49,16 +48,16 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -サポートされている23種類のMarkdownフレーバーは、[Flavor列挙体の下に一覧されています](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/)。[MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/)クラスからです。 -## **画像を含むプレゼンテーションをMarkdownに変換** +サポートされている 23 の markdown フレーバーは、[Flavor 列挙体](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) に一覧されており、[MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) クラスから参照できます。 -[MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/)クラスは、生成されるMarkdownファイルのために特定のオプションまたは設定を使用できるプロパティと列挙体を提供します。たとえば、[MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/)列挙体は、画像がどのようにレンダリングまたは処理されるかを決定する値に設定できます:`Sequential`、`TextOnly`、`Visual`。 +## **画像を含むプレゼンテーションを Markdown に変換** -### **画像を順次変換** +[MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) クラスは、生成される markdown ファイルに対して特定のオプションや設定を使用できるプロパティと列挙体を提供します。たとえば、[MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/) 列挙体は、画像の描画または処理方法を決定する値(`Sequential`、`TextOnly`、`Visual`)に設定できます。 -生成されるMarkdownに画像を個別に順番に表示させたい場合は、順次オプションを選択する必要があります。以下のC#コードは、画像を含むプレゼンテーションをMarkdownに変換する方法を示します: +### **画像を順次変換** +画像を結果の markdown に個別に順番に表示させたい場合は、順次オプションを選択する必要があります。この C# コードは、画像を含むプレゼンテーションを markdown に変換する方法を示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -75,12 +74,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **画像を視覚的に変換** -生成されるMarkdownに画像を一緒に表示させたい場合は、視覚的オプションを選択する必要があります。この場合、画像はアプリケーションの現在のディレクトリに保存され(Markdown文書内に相対パスが構築されます)、または指定したいパスとフォルダ名を指定できます。 +### **画像を視覚的に変換** -以下のC#コードは、その操作を示しています: +画像を結果の markdown に一緒に表示させたい場合は、視覚オプションを選択する必要があります。この場合、画像はアプリケーションの現在のディレクトリに保存され(markdown ドキュメント内で相対パスが構築されます)、または任意のパスとフォルダー名を指定できます。 +この C# コードは操作を示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -92,4 +91,19 @@ using (Presentation pres = new Presentation("pres.pptx")) BasePath = outPath }); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**ハイパーリンクは Markdown へのエクスポートで保持されますか?** + +はい。テキスト [hyperlinks](/slides/ja/net/manage-hyperlinks/) は標準的な Markdown リンクとして保持されます。スライドの [transitions](/slides/ja/net/slide-transition/) と [animations](/slides/ja/net/powerpoint-animation/) は変換されません。 + +**複数スレッドで実行して変換を高速化できますか?** + +ファイル単位での並列処理は可能ですが、同じ [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) インスタンスをスレッド間で共有しないでください([don’t share](/slides/ja/net/multithreading/))。ファイルごとに別々のインスタンスまたはプロセスを使用して競合を回避してください。 + +**画像はどう扱われますか?保存先はどこで、パスは相対ですか?** + +[Images](/slides/ja/net/image/) は専用フォルダーにエクスポートされ、Markdown ファイルはデフォルトで相対パスで参照します。ベース出力パスとアセットフォルダー名を構成して、予測可能なリポジトリ構造を維持できます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index f8fa265757..dc2bac16dc 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,15 +1,20 @@ --- -title: C#でPowerPointをPDFに変換 -linktitle: PowerPointをPDFに変換 +title: C#でPPTおよびPPTXをPDFに変換 [高度な機能を含む] +linktitle: PPTおよびPPTXをPDFに変換 type: docs weight: 40 url: /ja/net/convert-powerpoint-to-pdf/ keywords: - PowerPointを変換 -- プレゼンテーション -- PowerPointからPDF -- PPTからPDF -- PPTXからPDF +- プレゼンテーションを変換 +- PowerPointをPDFに変換 +- プレゼンテーションをPDFに変換 +- PPTをPDFに変換 +- PPTをPDFに変換 +- PPTXをPDFに変換 +- PPTXをPDFに変換 +- ODPをPDFに変換 +- ODPをPDFに変換 - PowerPointをPDFとして保存 - PDF/A1a - PDF/A1b @@ -18,172 +23,165 @@ keywords: - Csharp - .NET - Aspose.Slides for .NET -description: "C#または.NETでPowerPointプレゼンテーションをPDFに変換します。コンプライアンスまたはアクセシビリティ基準に従ってPowerPointをPDFとして保存します。" +description: "C# または .NET で Aspose.Slides を使用して PPT、PPTX、ODP プレゼンテーションを PDF に変換する方法を学びます。パスワード保護、コンプライアンス標準、カスタムオプションなどの高度な機能を実装し、高品質でアクセシブルな PDF 文書を作成します。" --- ## **概要** -PowerPoint文書をPDF形式に変換することには、異なるデバイス間での互換性を確保し、プレゼンテーションのレイアウトやフォーマットを保持するなど、いくつかの利点があります。この記事では、プレゼンテーションをPDF文書に変換する方法、画像品質を制御するためのさまざまなオプションの使用、非表示スライドの含め方、PDF文書のパスワード保護、フォントの置き換えの検出、変換するスライドの選択、出力文書にコンプライアンス基準を適用する方法を示します。 +C# で PowerPoint プレゼンテーション(PPT、PPTX、ODP など)を PDF 形式に変換すると、さまざまなデバイス間での互換性や、プレゼンテーションのレイアウトと書式設定を保持できるなど、いくつかの利点があります。このガイドでは、プレゼンテーションを PDF ドキュメントに変換する方法、画像品質を制御するさまざまなオプションの使用方法、非表示スライドの含め方、PDF ファイルへのパスワード保護、フォント置換の検出、特定スライドの選択的変換、および出力ドキュメントにコンプライアンス標準を適用する方法を示します。 -## **PowerPointからPDFへの変換** +## **PowerPoint から PDF への変換** -Aspose.Slidesを使用すると、これらの形式のプレゼンテーションをPDFに変換できます: +Aspose.Slides を使用すると、次の形式のプレゼンテーションを PDF に変換できます。 -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -プレゼンテーションをPDFに変換するには、[`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスの引数としてファイル名を渡し、次に[`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/)メソッドを使用してプレゼンテーションをPDFとして保存するだけです。 [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスには、プレゼンテーションをPDFに変換するために一般的に使用される[`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/#presentationsave-method-5-of-9)メソッドが公開されています。 - -{{% alert title="注意" color="warning" %}} - -Aspose.Slides for .NETは、出力文書にAPI情報とバージョン番号を直接書き込みます。たとえば、プレゼンテーションをPDFに変換する際、Aspose.Slides for .NETはアプリケーションフィールドに'*Aspose.Slides*'の値を、PDFプロデューサーフィールドに'*Aspose.Slides v XX.XX*'形式の値を入力します。**注意**として、出力文書からこの情報を変更または削除するようにAspose.Slides for .NETに指示することはできません。 +プレゼンテーションを PDF に変換するには、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスにファイル名を引数として渡し、[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) メソッドで PDF として保存します。[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスは、通常プレゼンテーションを PDF に変換するために使用される [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) メソッドを公開しています。 +{{% alert title="NOTE" color="warning" %}} +Aspose.Slides for .NET は、API 情報とバージョン番号を出力ドキュメントに挿入します。たとえば、プレゼンテーションを PDF に変換すると、Aspose.Slides は Application フィールドに「*Aspose.Slides*」を、PDF Producer フィールドに「*Aspose.Slides v XX.XX*」形式の値を設定します。**Note** この情報を出力ドキュメントから変更または削除するように指示することはできません。 {{% /alert %}} -Aspose.Slidesを使用すると、次のことができます: +Aspose.Slides は次の変換をサポートします。 -* プレゼンテーション全体をPDFに変換する -* プレゼンテーション内の特定のスライドをPDFに変換する -* プレゼンテーションを +* プレゼンテーション全体を PDF に変換 +* プレゼンテーションから特定のスライドを PDF に変換 -Aspose.Slidesは、プレゼンテーションの内容が元のプレゼンテーションに非常に似ているPDFを出力します。これらの既知の要素と属性は、プレゼンテーションからPDFへの変換で適切にレンダリングされることがよくあります: +Aspose.Slides はプレゼンテーションを PDF にエクスポートし、生成された PDF が元のプレゼンテーションに極めて近い結果になるようにします。変換時に正確にレンダリングされる要素と属性には、以下が含まれます。 * 画像 -* テキストボックスやその他の図形 -* テキストとそのフォーマット -* 段落とそのフォーマット +* テキスト ボックスと図形 +* テキスト書式設定 +* 段落書式設定 * ハイパーリンク * ヘッダーとフッター * 箇条書き -* テーブル - -## **PowerPointをPDFに変換** +* 表 -標準のPowerPoint PDF変換操作は、デフォルトのオプションを使用して実行されます。この場合、Aspose.Slidesは指定されたプレゼンテーションを最大品質レベルの最適設定でPDFに変換しようとします。 +## **PowerPoint を PDF に変換** -このC#コードは、PowerPoint(PPT、PPTX、ODP)をPDFに変換する方法を示しています: +標準の PowerPoint から PDF への変換プロセスはデフォルト オプションを使用します。この場合、Aspose.Slides は最高品質レベルの最適設定で提供されたプレゼンテーションを PDF に変換しようとします。 +この C# コードは、プレゼンテーション(PPT、PPTX、ODP など)を PDF に変換する方法を示しています: ```c# -// PowerPointファイルを表すPresentationクラスをインスタンス化します。PPT、PPTX、ODPなどが含まれます。 -Presentation presentation = new Presentation("PowerPoint.ppt"); +// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。 +using var presentation = new Presentation("PowerPoint.ppt"); -// プレゼンテーションをPDFとして保存します。 +// プレゼンテーションを PDF として保存します。 presentation.Save("PDF-result.pdf", SaveFormat.Pdf); ``` -{{% alert color="primary" %}} - -Asposeは、プレゼンテーションからPDFへの変換プロセスを示す無料のオンライン[**PowerPoint to PDFコンバーター**](https://products.aspose.app/slides/conversion/ppt-to-pdf)を提供しています。ここで説明された手順のライブ実装を行うには、コンバーターを使用してテストを行うことができます。 +{{% alert color="primary" %}} +Aspose は、プレゼンテーションから PDF への変換プロセスを実演する無料のオンライン **PowerPoint to PDF converter**(https://products.aspose.app/slides/conversion/ppt-to-pdf) を提供しています。このコンバータでテストを実行すると、ここで説明する手順のライブ実装を確認できます。 {{% /alert %}} -## **オプション付きでPowerPointをPDFに変換** +## **PowerPoint を PDF に変換(オプション付き)** -Aspose.Slidesは、[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)クラスの下にあるカスタムオプションを提供し、PDF(変換プロセスから得られたもの)をカスタマイズしたり、PDFをパスワードでロックしたり、変換プロセスの方法を指定したりできます。 +Aspose.Slides は、[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) クラスのプロパティとしてカスタム オプションを提供し、結果の PDF をカスタマイズしたり、パスワードでロックしたり、変換プロセスの進行方法を指定したりできます。 -### **カスタムオプションでPowerPointをPDFに変換** +### **カスタム オプションで PowerPoint を PDF に変換** -カスタム変換オプションを使用すると、ラスター画像の好みの品質設定を設定したり、メタファイルの扱い方を指定したり、テキストの圧縮レベルを設定したり、画像のDPIを設定したりできます。 - -以下のコード例では、PowerPointプレゼンテーションをいくつかのカスタムオプションでPDFに変換する操作を示しています: +カスタム変換オプションを使用すると、ラスター画像の好みの品質設定を定義したり、メタファイルの処理方法を指定したり、テキストの圧縮レベルを設定したり、画像の DPI を構成したりできます。 +以下のコード例は、いくつかのカスタム オプションを使用して PowerPoint プレゼンテーションを PDF に変換する方法を示します。 ```c# -// PdfOptionsクラスをインスタンス化します -PdfOptions pdfOptions = new PdfOptions +// PdfOptions クラスのインスタンスを作成します。 +var pdfOptions = new PdfOptions { - // JPG画像の品質を設定します + // JPG 画像の品質を設定します。 JpegQuality = 90, - // 画像のDPIを設定します + // 画像の DPI を設定します。 SufficientResolution = 300, - // メタファイルの扱いを設定します + // メタファイルの動作を設定します。 SaveMetafilesAsPng = true, - // テキストコンテンツの圧縮レベルを設定します + // テキストコンテンツの圧縮レベルを設定します。 TextCompression = PdfTextCompression.Flate, - // PDFコンプライアンスモードを定義します + // PDF のコンプライアンス モードを定義します。 Compliance = PdfCompliance.Pdf15 }; -// PowerPoint文書を表すPresentationクラスをインスタンス化します -using (Presentation presentation = new Presentation("PowerPoint.pptx")) -{ - // プレゼンテーションをPDF文書として保存します - presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); -} +// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。 +using var presentation = new Presentation("PowerPoint.pptx"); + +// プレゼンテーションを PDF ドキュメントとして保存します。 +presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **非表示スライドを含めてPowerPointをPDFに変換** -プレゼンテーションに非表示スライドが含まれている場合は、[`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)クラスの[`ShowHiddenSlides`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/)プロパティを使用して、Aspose.Slidesに非表示スライドを結果のPDFにページとして含めるよう指示できます。 +### **非表示スライドを含めて PowerPoint を PDF に変換** -このC#コードは、非表示スライドを含めてPowerPointプレゼンテーションをPDFに変換する方法を示しています: +プレゼンテーションに非表示スライドが含まれる場合、[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) クラスの [ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) プロパティを使用して、非表示スライドを結果の PDF のページとして含めることができます。 +この C# コードは、非表示スライドを含めて PowerPoint プレゼンテーションを PDF に変換する方法を示しています: ```c# -// PowerPointファイルを表すPresentationクラスをインスタンス化します -Presentation presentation = new Presentation("PowerPoint.pptx"); +// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。 +using var presentation = new Presentation("PowerPoint.pptx"); -// PdfOptionsクラスをインスタンス化します -PdfOptions pdfOptions = new PdfOptions(); +// PdfOptions クラスのインスタンスを作成します。 +var pdfOptions = new PdfOptions(); -// 非表示スライドを追加します +// 非表示スライドを追加します。 pdfOptions.ShowHiddenSlides = true; -// プレゼンテーションをPDFとして保存します +// プレゼンテーションを PDF として保存します。 presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **パスワード保護されたPDFにPowerPointを変換** -このC#コードは、パスワード保護されたPDFにPowerPointを変換する方法を示しています([`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)クラスからの保護パラメータを使用): +### **パスワード保護された PDF に PowerPoint を変換** +この C# コードは、[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) クラスの保護パラメータを使用して、PowerPoint プレゼンテーションをパスワード保護された PDF に変換する方法を示しています: ```c# -// PowerPointファイルを表すPresentationオブジェクトをインスタンス化します -Presentation presentation = new Presentation("PowerPoint.pptx"); +// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。 +using var presentation = new Presentation("PowerPoint.pptx"); -/// PdfOptionsクラスをインスタンス化します -PdfOptions pdfOptions = new PdfOptions(); +// PdfOptions クラスのインスタンスを作成します。 +var pdfOptions = new PdfOptions(); -// PDFパスワードとアクセス権を設定します +// PDF のパスワードとアクセス権限を設定します。 pdfOptions.Password = "password"; pdfOptions.AccessPermissions = PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint; -// プレゼンテーションをPDFとして保存します +// プレゼンテーションを PDF として保存します。 presentation.Save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **フォントの置き換えの検出** -Aspose.Slidesは、[SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/)クラスの下にある[WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/)プロパティを提供し、PDF変換プロセスでフォントの置き換えを検出できるようにします。 +### **フォント置換の検出** -このC#コードは、フォントの置き換えを検出する方法を示しています:xxx +Aspose.Slides は、[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) クラスの下にある [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) プロパティを提供し、プレゼンテーションから PDF への変換プロセス中にフォント置換を検出できるようにします。 +この C# コードは、フォント置換を検出する方法を示しています: ```c# public static void Main() { - LoadOptions loadOptions = new LoadOptions(); - FontSubstSendsWarningCallback warningCallback = new FontSubstSendsWarningCallback(); - loadOptions.WarningCallback = warningCallback; + // PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。 + using var presentation = new Presentation("sample.pptx"); - using (Presentation pres = new Presentation("pres.pptx", loadOptions)) - { - } + // PDF オプションに警告コールバックを設定します。 + var pdfOptions = new PdfOptions(); + pdfOptions.WarningCallback = new FontSubstitutionHandler(); + + // プレゼンテーションを PDF として保存します。 + presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); } -private class FontSubstSendsWarningCallback : IWarningCallback +// 警告コールバックの実装。 +private class FontSubstitutionHandler : IWarningCallback { public ReturnAction Warning(IWarningInfo warning) { - if (warning.WarningType == WarningType.CompatibilityIssue) - return ReturnAction.Continue; - if (warning.WarningType == WarningType.DataLoss && warning.Description.StartsWith("Font will be substituted")) { - Console.WriteLine($"フォント置き換え警告: {warning.Description}"); + Console.WriteLine($"Font substitution warning: {warning.Description}"); } return ReturnAction.Continue; @@ -191,97 +189,127 @@ private class FontSubstSendsWarningCallback : IWarningCallback } ``` -{{% alert color="primary" %}} - -レンダリングプロセスにおけるフォント置き換えの警告コールバックの取得についての詳細は、[フォント置き換えの警告コールバックの取得](https://docs.aspose.com/slides/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/)を参照してください。 -フォント置き換えに関する詳細は、[フォント置き換え](https://docs.aspose.com/slides/net/font-substitution/)の記事を参照してください。 +{{% alert color="primary" %}} +レンダリング プロセス中のフォント置換に関するコールバックの取得については、[Getting Warning Callbacks for Fonts Substitution](/slides/ja/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/) を参照してください。 +フォント置換に関する詳細は、[Font Substitution](/slides/ja/net/font-substitution/) 記事をご覧ください。 {{% /alert %}} -## **選択したスライドをPowerPointからPDFに変換** - -このC#コードは、PowerPointプレゼンテーションの特定のスライドをPDFに変換する方法を示しています: +## **PowerPoint から選択したスライドだけを PDF に変換** +この C# コードは、PowerPoint プレゼンテーションから特定のスライドだけを PDF に変換する方法を示しています: ```c# -// PowerPointファイルを表すPresentationオブジェクトをインスタンス化します -Presentation presentation = new Presentation("PowerPoint.pptx"); +// PowerPoint または OpenDocument ファイルを表す Presentation クラスのインスタンスを作成します。 +using var presentation = new Presentation("PowerPoint.pptx"); -// スライドの位置の配列を設定します +// スライド番号の配列を設定します。 int[] slides = { 1, 3 }; -// プレゼンテーションをPDFとして保存します +// プレゼンテーションを PDF として保存します。 presentation.Save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf); ``` -## **カスタムスライドサイズでPowerPointをPDFに変換** -このC#コードは、スライドサイズが指定された状態でPowerPointをPDFに変換する方法を示しています: +## **カスタム スライド サイズで PowerPoint を PDF に変換** +この C# コードは、指定したスライド サイズで PowerPoint プレゼンテーションを PDF に変換する方法を示しています: ```c# -// PowerPointファイルを表すPresentationオブジェクトをインスタンス化します -Presentation presentation = new Presentation("SelectedSlides.pptx"); -Presentation auxPresentation = new Presentation(); +var slideWidth = 612; +var slideHeight = 792; + +// PowerPoint プレゼンテーションをロードします。 +using var presentation = new Presentation("SelectedSlides.pptx"); -ISlide slide = presentation.Slides[0]; -auxPresentation.Slides.InsertClone(0, slide); +// Create a new presentation with an adjusted slide size. +using var resizedPresentation = new Presentation(); -// スライドのタイプとサイズを設定します -// auxPresentation.SlideSize.SetSize(presentation.SlideSize.Size.Width, presentation.SlideSize.Size.Height,SlideSizeScaleType.EnsureFit); -auxPresentation.SlideSize.SetSize(612F, 792F,SlideSizeScaleType.EnsureFit); +// Set the custom slide size. +resizedPresentation.SlideSize.SetSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit); -PdfOptions pdfOptions = new PdfOptions(); -INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; -options.NotesPosition = NotesPositions.BottomFull; +// Clone the first slide from the original presentation. +var slide = presentation.Slides[0]; +resizedPresentation.Slides.InsertClone(0, slide); -auxPresentation.Save("PDFnotes_out.pdf", SaveFormat.Pdf, pdfOptions); +// Save the resized presentation to a PDF with notes. +resizedPresentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf); ``` -## **ノートスライドビューでPowerPointをPDFに変換** -このC#コードは、PowerPointをPDFノートに変換する方法を示しています: +## **ノート スライド ビューで PowerPoint を PDF に変換** +この C# コードは、ノートを含む PDF に PowerPoint プレゼンテーションを変換する方法を示しています: ```c# -// PowerPointファイルを表すPresentationクラスをインスタンス化します -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// PowerPointプレゼンテーションをロードします。 +using var presentation = new Presentation("NotesFile.pptx"); + +// NotesレイアウトでPDFオプションを設定します。 +var pdfOptions = new PdfOptions { - PdfOptions pdfOptions = new PdfOptions(); - INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + } +}; - // プレゼンテーションをPDFノートとして保存します - presentation.Save("Pdf_Notes_out.tiff", SaveFormat.Pdf, pdfOptions); -} +// ノート付きPDFとしてプレゼンテーションを保存します。 +presentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions); ``` -## **PDFのアクセシビリティとコンプライアンス基準** -Aspose.Slidesを使用すると、[Webコンテンツアクセシビリティガイドライン(**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html)に準拠した変換手順を使用できます。これらのコンプライアンス基準のいずれかを使用してPowerPoint文書をPDFにエクスポートできます: **PDF/A1a**、**PDF/A1b**、および**PDF/UA**。 +## **PDF のアクセシビリティとコンプライアンス標準** -このC#コードは、異なるコンプライアンス基準に基づいて複数のPDFを取得するPowerPointからPDFへの変換操作を示しています: +Aspose.Slides は、[Web Content Accessibility Guidelines (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html) に準拠した変換手順を使用できるようにします。次のコンプライアンス標準のいずれかを使用して PowerPoint ドキュメントを PDF にエクスポートできます: **PDF/A1a**、**PDF/A1b**、および **PDF/UA**。 +この C# コードは、異なるコンプライアンス標準に基づいて複数の PDF を生成する PowerPoint から PDF への変換プロセスを示しています: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using var presentation = new Presentation("pres.pptx"); + +presentation.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions { - pres.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1a - }); - - pres.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1b - }); - - pres.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfUa - }); -} + Compliance = PdfCompliance.PdfA1a +}); + +presentation.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfA1b +}); + +presentation.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfUa +}); ``` -{{% alert title="注意" color="warning" %}} -Aspose.SlidesのPDF変換操作は、PDFを最も一般的なファイル形式に変換できるように広がります。 [PDF to HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/)、[PDF to image](https://products.aspose.com/slides/net/conversion/pdf-to-image/)、[PDF to JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/)、および[PDF to PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/)などの変換が可能です。他のPDF変換操作として、特殊な形式への[PDF to SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/)、[PDF to TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/)、および[PDF to XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/)もサポートされています。 +{{% alert title="Note" color="warning" %}} +Aspose.Slides は PDF 変換操作をサポートしており、PDF ファイルを一般的なファイル形式に変換できます。[PDF to HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/)、[PDF to image](https://products.aspose.com/slides/net/conversion/pdf-to-image/)、[PDF to JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/)、および [PDF to PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/) の変換が可能です。その他の専門フォーマットへの変換 — [PDF to SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/)、[PDF to TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/)、および [PDF to XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/) — もサポートされています。 +{{% /alert %}} + +## **FAQ** + +**複数の PowerPoint ファイルを一括で PDF に変換できますか?** + +はい、Aspose.Slides は複数の PPT または PPTX ファイルを PDF にバッチ変換することをサポートしています。ファイルを列挙してプログラムで変換処理を適用できます。 + +**変換後の PDF にパスワードを設定できますか?** + +もちろんです。[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) クラスを使用してパスワードを設定し、変換時にアクセス権限を定義できます。 + +**PDF に非表示スライドを含めるにはどうすればよいですか?** + +[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) クラスの `ShowHiddenSlides` プロパティを `true` に設定すると、結果の PDF に非表示スライドが含まれます。 + +**Aspose.Slides は PDF の画像品質を高く保てますか?** + +はい、`JpegQuality` や `SufficientResolution` などのプロパティを [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) クラスで設定することで、PDF 内の画像を高品質に保つことができます。 + +**Aspose.Slides は PDF/A コンプライアンス標準をサポートしていますか?** + +はい、Aspose.Slides は PDF/A1a、PDF/A1b、PDF/UA などのさまざまな標準に準拠した PDF のエクスポートをサポートし、アクセシビリティとアーカイブ要件を満たすことができます。 + +## **Additional Resources** -{{% /alert %}} \ No newline at end of file +- [Aspose.Slides for .NET Documentation](/slides/ja/net/) +- [Aspose.Slides for .NET API Reference](https://reference.aspose.com/slides/net/) +- [Aspose Free Online Converters](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md index 7171541382..caba10bc79 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md @@ -1,18 +1,18 @@ --- -title: PowerPointをC#でPNGに変換 +title: C#でPowerPointをPNGに変換 linktitle: PowerPointをPNGに変換 type: docs weight: 30 url: /ja/net/convert-powerpoint-to-png/ keywords: -- PowerPoint to png -- ppt to png -- pptx to png -- odp to png -- PowerPoint to PNG -- PPT to PNG -- PPTX to PNG -- ODP to PNG +- PowerPoint を PNG に変換 +- ppt を PNG に変換 +- pptx を PNG に変換 +- odp を PNG に変換 +- PowerPoint を PNG に変換 +- PPT を PNG に変換 +- PPTX を PNG に変換 +- ODP を PNG に変換 - C# - Csharp - Aspose.Slides for .NET @@ -21,42 +21,41 @@ description: C#でPowerPointプレゼンテーションをPNGに変換します ## **概要** -この記事では、C#を使用してPowerPointプレゼンテーションをPNG形式に変換する方法を説明します。以下のトピックをカバーしています。 +この記事では、C# を使用して PowerPoint プレゼンテーションを PNG 形式に変換する方法を説明します。以下のトピックを取り上げます。 -- [C#でPowerPointをPNGに変換](#convert-powerpoint-to-png) -- [C#でPPTをPNGに変換](#convert-powerpoint-to-png) -- [C#でPPTXをPNGに変換](#convert-powerpoint-to-png) -- [C#でODPをPNGに変換](#convert-powerpoint-to-png) -- [C#でPowerPointスライドを画像に変換](#convert-powerpoint-to-png) +- [C# で PowerPoint を PNG に変換](#convert-powerpoint-to-png) +- [C# で PPT を PNG に変換](#convert-powerpoint-to-png) +- [C# で PPTX を PNG に変換](#convert-powerpoint-to-png) +- [C# で ODP を PNG に変換](#convert-powerpoint-to-png) +- [C# で PowerPoint スライドを画像に変換](#convert-powerpoint-to-png) -## **C# PowerPointをPNGに変換** +## **C# PowerPoint を PNG に変換** -PowerPointをPNGに変換するためのC#サンプルコードについては、以下のセクション、つまり[C#でPowerPointをPNGに変換](#convert-powerpoint-to-png)を参照してください。このコードは、PresentationオブジェクトにPPT、PPTX、ODPなどの形式をロードし、スライドのサムネイルをPNG形式で保存します。他のPowerPointから画像への変換については、JPG、BMP、TIFF、SVGなど、これらの記事で説明しています。 +PowerPoint を PNG に変換する C# のサンプルコードについては、下記のセクション、すなわち [PowerPoint を PNG に変換](#convert-powerpoint-to-png) を参照してください。コードは PPT、PPTX、ODP などのさまざまな形式を Presentation オブジェクトで読み込み、スライドのサムネイルを PNG 形式で保存できます。他の PowerPoint から画像への変換(JPG、BMP、TIFF、SVG など)については、以下の記事をご覧ください。 -- [C# PowerPointをJPGに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) -- [C# PowerPointをBMPに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) -- [C# PowerPointをTIFFに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) -- [C# PowerPointをSVGに変換](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) +- [C# PowerPoint を JPG に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) +- [C# PowerPoint を BMP に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) +- [C# PowerPoint を TIFF に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) +- [C# PowerPoint を SVG に変換](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) -## **PowerPointをPNGに変換するについて** +## **PowerPoint を PNG に変換する概要** -PNG(Portable Network Graphics)形式はJPEG(Joint Photographic Experts Group)ほど一般的ではありませんが、それでも非常に人気です。 +PNG(Portable Network Graphics)形式は JPEG(Joint Photographic Experts Group)ほど一般的ではありませんが、依然として非常に人気があります。 -**使用例:** 複雑な画像があり、サイズが問題でない場合は、PNGはJPEGよりも優れた画像形式です。 +**使用例:** 画像が複雑でサイズが問題とならない場合、PNG は JPEG よりも優れた画像形式です。 -{{% alert title="ヒント" color="primary" %}} Asposeの無料**PowerPoint to PNGコンバーター**をチェックしたいかもしれません: [PPTX to PNG](https://products.aspose.app/slides/conversion/pptx-to-png)および[PPT to PNG](https://products.aspose.app/slides/conversion/ppt-to-png)。これらは、このページで説明されているプロセスのライブ実装です。 {{% /alert %}} +{{% alert title="Tip" color="primary" %}} Aspose の無料 **PowerPoint to PNG コンバータ** をご確認ください: [PPTX to PNG](https://products.aspose.app/slides/conversion/pptx-to-png) と [PPT to PNG](https://products.aspose.app/slides/conversion/ppt-to-png)。このページで説明したプロセスの実装例です。 {{% /alert %}} -## **PowerPointをPNGに変換する** +## **PowerPoint を PNG に変換** -これらの手順を実行します。 +以下の手順を実行します: -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスをインスタンス化します。 -2. [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide)インターフェイスの下にある[Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides)コレクションからスライドオブジェクトを取得します。 -3. [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/)メソッドを使用して、各スライドのサムネイルを取得します。 -4. [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5)メソッドを使用して、スライドのサムネイルをPNG形式で保存します。 - -このC#コードは、PowerPointプレゼンテーションをPNGに変換する方法を示しています。PresentationオブジェクトはPPT、PPTX、ODPなどをロードでき、プレゼンテーションオブジェクト内の各スライドはPNG形式または他の画像形式に変換されます。 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスをインスタンス化します。 +2. [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) インターフェイス下の [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) コレクションからスライドオブジェクトを取得します。 +3. [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/) メソッドを使用して各スライドのサムネイルを取得します。 +4. [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) メソッドを使用してスライドのサムネイルを PNG 形式で保存します。 +この C# コードは、PowerPoint プレゼンテーションを PNG に変換する方法を示しています。Presentation オブジェクトは PPT、PPTX、ODP などを読み込むことができ、プレゼンテーション内の各スライドを PNG 形式または他の画像形式に変換します。 ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -72,12 +71,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## **カスタム寸法でPowerPointをPNGに変換する** -特定のスケールに合わせたPNGファイルを取得したい場合は、結果のサムネイルの寸法を決定する`desiredX`および`desiredY`の値を設定できます。 +## **カスタム寸法で PowerPoint を PNG に変換** -このC#のコードは、説明された操作を示しています: +特定のスケールで PNG ファイルを取得したい場合、結果のサムネイルのサイズを決定する `desiredX` と `desiredY` の値を設定できます。 +この C# のコードは上記の操作を示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -95,12 +94,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## **カスタムサイズでPowerPointをPNGに変換する** -特定のサイズに合わせたPNGファイルを取得したい場合は、`imageSize`のために希望する`width`および`height`引数を渡すことができます。 +## **カスタムサイズで PowerPoint を PNG に変換** -このコードは、画像のサイズを指定してPowerPointをPNGに変換する方法を示しています: +特定のサイズで PNG ファイルを取得したい場合、`imageSize` の `width` と `height` 引数に希望の値を渡すことができます。 +このコードは、画像のサイズを指定して PowerPoint を PNG に変換する方法を示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -115,4 +114,16 @@ using (Presentation pres = new Presentation("pres.pptx")) } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**特定のシェイプ(例: グラフや画像)だけをエクスポートし、スライド全体をエクスポートしないにはどうすればよいですか?** +Aspose.Slides は [個々のシェイプのサムネイル生成](/slides/ja/net/create-shape-thumbnails/) をサポートしており、シェイプを PNG 画像としてレンダリングできます。 + +**サーバー上での並列変換はサポートされていますか?** +はい、ただしスレッド間で単一の Presentation インスタンスを共有しないでください。スレッドまたはプロセスごとに別々のインスタンスを使用してください。[共有しない](/slides/ja/net/multithreading/)。 + +**PNG にエクスポートする際の試用版の制限は何ですか?** +評価モードでは出力画像に透かしが追加され、ライセンスが適用されるまで [他の制限](/slides/ja/net/licensing/) が適用されます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md index 4a613da13c..196d67c55c 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md @@ -1,27 +1,48 @@ --- -title: PowerPointをSWFフラッシュに変換する +title: PowerPointをSWF Flashに変換 type: docs weight: 80 url: /ja/net/convert-powerpoint-to-swf-flash/ -keywords: "PowerPointの変換, プレゼンテーション, PowerPointからSWF, SWFフラッシュPPTからSWF, PPTXからSWF, C#, Csharp, .NET" -description: "C#または.NETでPowerPointプレゼンテーションをSWFフラッシュに変換する" +keywords: "PowerPointを変換, プレゼンテーション, PowerPointをSWFに, SWFフラッシュ PPTをSWFに, PPTXをSWFに, C#, Csharp, .NET" +description: "C#または.NETでPowerPointプレゼンテーションをSWF Flashに変換" --- -[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスが公開する[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)メソッドを使用して、全体のプレゼンテーションをSWFドキュメントに変換できます。生成されたSWFにコメントを含めるには、[SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions)クラスと[INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions)インターフェースを使用できます。以下の例は、SWFOptionsクラスによって提供されるオプションを使用してプレゼンテーションをSWFドキュメントに変換する方法を示しています。 +## **プレゼンテーションをFlashに変換** +[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) メソッドは、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスによって提供され、プレゼンテーション全体を SWF ドキュメントに変換するために使用できます。[SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) クラスと[INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions) インターフェイスを使用すると、生成された SWF にコメントを含めることもできます。以下の例は、SWFOptions クラスが提供するオプションを使用してプレゼンテーションを SWF ドキュメントに変換する方法を示しています。 ```c# -// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化する +// プレゼンテーションファイルを表す Presentation オブジェクトをインスタンス化 using (Presentation presentation = new Presentation("HelloWorld.pptx")) { SwfOptions swfOptions = new SwfOptions(); swfOptions.ViewerIncluded = false; + INotesCommentsLayoutingOptions notesOptions = swfOptions.NotesCommentsLayouting; notesOptions.NotesPosition = NotesPositions.BottomFull; - // プレゼンテーションとノートページを保存する + // プレゼンテーションとノートページを保存 presentation.Save("SaveAsSwf_out.swf", SaveFormat.Swf, swfOptions); swfOptions.ViewerIncluded = true; presentation.Save("SaveNotes_out.swf", SaveFormat.Swf, swfOptions); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**SWF に非表示スライドを含めることはできますか?** + +はい。[SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/) の[ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/showhiddenslides/) オプションを有効にしてください。デフォルトでは、非表示スライドはエクスポートされません。 + +**圧縮と最終的な SWF サイズをどのように制御できますか?** + +[Compressed](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/compressed/) フラグ(デフォルトで有効)を使用し、[JpegQuality](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/jpegquality/) を調整してファイルサイズと画像品質のバランスを取ります。 + +**'ViewerIncluded' は何のためにあり、いつ無効にすべきですか?** + +[ViewerIncluded](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/viewerincluded/) は埋め込みプレーヤー UI(ナビゲーションコントロール、パネル、検索)を追加します。独自のプレーヤーを使用する場合や UI のないシンプルな SWF フレームが必要な場合は無効にしてください。 + +**エクスポート先のマシンに元のフォントが存在しない場合はどうなりますか?** + +Aspose.Slides は、[SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/) の[DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/)で指定したフォントで置き換えを行い、意図しないフォント置換を防ぎます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index 579605ff39..0f11996777 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,25 +1,94 @@ --- -title: ノート付きPowerPointをTIFFに変換 +title: PowerPointをC#でノート付きTIFFに変換 +linktitle: PowerPointをノート付きTIFFに変換 type: docs weight: 100 url: /ja/net/convert-powerpoint-to-tiff-with-notes/ -keywords: "ノート付きPowerPointをTIFFに変換" -description: "Aspose.Slidesを使用してノート付きPowerPointをTIFFに変換します。" +keywords: +- PowerPointをTIFFに変換 +- プレゼンテーションをTIFFに変換 +- スライドをTIFFに変換 +- PPTをTIFFに変換 +- PPTXをTIFFに変換 +- ODPをTIFFに変換 +- PowerPointをTIFFに変換 +- プレゼンテーションをTIFFに変換 +- スライドをTIFFに変換 +- PPTをTIFFに変換 +- PPTXをTIFFに変換 +- ODPをTIFFに変換 +- ノート付きPowerPoint +- ノート付きプレゼンテーション +- ノート付きスライド +- ノート付きPPT +- ノート付きPPTX +- ノート付きODP +- ノート付きTIFF +- C# +- .NET +- Aspose.Slides +description: "Aspose.Slides for .NET を使用して、PowerPoint および OpenDocument のプレゼンテーションをノート付き TIFF に変換します。スピーカーノート付きスライドを効率的にエクスポートする方法を学びましょう。" --- -{{% alert title="ヒント" color="primary" %}} +## **概要** -Asposeの[無料PowerPointからポスターへの変換ツール](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online)をチェックしてみてください。 +Aspose.Slides for .NET は、PowerPoint および OpenDocument プレゼンテーション (PPT、PPTX、ODP) をノート付きで TIFF 形式に変換するシンプルなソリューションを提供します。この形式は高品質な画像保存、印刷、文書アーカイブに広く利用されています。Aspose.Slides を使用すれば、スピーカーノートを含むプレゼンテーション全体をエクスポートできるだけでなく、Notes スライドビューでスライドサムネイルを生成することもできます。変換プロセスはシンプルで効率的で、`Save` メソッドと [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスを利用して、ノートとレイアウトを保持しながらプレゼンテーション全体を一連の TIFF 画像に変換します。 -{{% /alert %}} +## **プレゼンテーションを Notes 付き TIFF に変換** + +Aspose.Slides for .NET を使用して PowerPoint または OpenDocument プレゼンテーションをノート付きで TIFF に保存する手順は次のとおりです。 + +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスをインスタンス化して PowerPoint または OpenDocument ファイルをロードします。 +1. 出力レイアウトオプションを構成します。[NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/notescommentslayoutingoptions/) クラスを使用してノートとコメントの表示方法を指定します。 +1. プレゼンテーションを TIFF に保存します。構成したオプションを [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) メソッドに渡します。 -TIFFは、Aspose.Slides for .NETがノート付きのPowerPoint PPTおよびPPTXプレゼンテーションを画像に変換するためにサポートしている広く使用されている画像フォーマットの1つです。また、ノートスライド表示でスライドのサムネイルを生成することもできます。[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)メソッドはPresentationクラスによって公開されており、ノートスライド表示でプレゼンテーション全体をTIFFに変換するために使用できます。Microsoft PowerPointプレゼンテーションをAspose.Slides for .NETを使用してTIFFノートに保存するプロセスは2行です。プレゼンテーションを開き、TIFFノートとして保存するだけです。また、個々のスライドに対してノートスライド表示でスライドのサムネイルを生成することもできます。以下のコードスニペットは、ノートスライド表示でTIFF画像に更新されたサンプルプレゼンテーションを示しています: +たとえば、次のスライドを含む "speaker_notes.pptx" ファイルがあるとします。 +![The presentation slide with speaker notes](slide_with_notes.png) + +以下のコードスニペットは、[SlidesLayoutOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/) プロパティを使用して Notes スライドビューでプレゼンテーションを TIFF 画像に変換する方法を示しています。 ```c# -// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します -using (Presentation presentation = new Presentation("NotesFile.pptx")) + // プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成します。 +using (Presentation presentation = new Presentation("speaker_notes.pptx")) { - // プレゼンテーションをTIFFノートとして保存します - presentation.Save("Notes_In_Tiff_out.tiff", SaveFormat.Tiff); + // Notes レイアウトで TIFF オプションを構成します。 + TiffOptions tiffOptions = new TiffOptions + { + DpiX = 300, + DpiY = 300, + + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull // スライドの下にノートを表示します。 + } + }; + + // スピーカーノート付きでプレゼンテーションを TIFF に保存します。 + presentation.Save("TIFF_with_notes.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +結果: + +![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/net/aspose.slides.export/tiffoptions/slideslayoutoptions/) を使用して、`None`、`BottomTruncated`、`BottomFull` のいずれかを選択できます。これらはそれぞれ、ノートを非表示にする、1 ページに収める、または複数ページにわたって表示することを意味します。 + +**品質の目立った低下なしにノート付き TIFF ファイルのサイズを削減する方法は?** + +[efficient compression](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/)(例: `LZW` または `RLE`)を選び、適切な DPI を設定し、許容できる場合は低い [pixel format](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/)(例えば 8 bpp やモノクロ用の 1 bpp)を使用します。また、[image dimensions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) を僅かに縮小することでも、可読性に大きな影響を与えずにサイズ削減が可能です。 + +**ノートのフォントがシステムに存在しない場合、結果に影響しますか?** + +はい。フォントが見つからないと [substitution](/slides/ja/net/font-selection-sequence/) が発生し、テキストのメトリクスや外観が変わる可能性があります。これを防ぐには、[required fonts](/slides/ja/net/custom-font/) を提供するか、デフォルトの [fallback font](/slides/ja/net/fallback-font/) を設定して、意図した書体が使用されるようにしてください。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md index 729eb10d07..b6ffeae229 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md @@ -1,120 +1,161 @@ --- -title: PowerPointをTIFFに変換 +title: C# で PowerPoint プレゼンテーションを TIFF に変換する +titlelink: PowerPoint を TIFF に変換 type: docs weight: 90 url: /ja/net/convert-powerpoint-to-tiff/ -keywords: "PowerPointプレゼンテーションを変換, PowerPointからTIFF, PPTからTIFF, PPTXからTIFF, C#, Csharp, .NET, Aspose.Slides" -description: "C#または.NETでPowerPointプレゼンテーションをTIFFに変換します。" - +keywords: +- PowerPoint を変換 +- OpenDocument を変換 +- プレゼンテーションを変換 +- スライドを変換 +- PowerPoint を TIFF に +- OpenDocument を TIFF に +- プレゼンテーションを TIFF に +- スライドを TIFF に +- PPT を TIFF に +- PPTX を TIFF に +- ODP を TIFF に +- C# +- .NET +- Aspose.Slides +description: "Aspose.Slides for .NET を使用して、PowerPoint (PPT、PPTX) および OpenDocument (ODP) プレゼンテーションを高品質な TIFF 画像に簡単に変換する方法を学びましょう。コード例付きのステップバイステップガイドです。" --- -TIFF (**Tagged Image File Format**)は、ロスレスのラスターおよび高品質な画像フォーマットです。プロフェッショナルは、デザイン、写真、デスクトップパブリッシングの目的でTIFFを使用します。例えば、デザインや画像のレイヤーや設定を保持したい場合、作業をTIFF画像ファイルとして保存することを検討するかもしれません。 - -Aspose.Slidesを使用すると、PowerPointのスライドを直接TIFFに変換できます。 +## **概要** -{{% alert title="ヒント" color="primary" %}} +TIFF(**Tagged Image File Format**)は、優れた画質とグラフィックの詳細な保持で知られる、広く使用されているロスレスラスタ画像フォーマットです。デザイナー、写真家、デスクトップパブリッシャーは、レイヤー、色精度、元の設定を画像に保持するために TIFF を選択することが多いです。 -Asposeの[無料のPowerPointからポスターへの変換ツール](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online)をチェックしてみてください。 - -{{% /alert %}} +Aspose.Slides を使用すると、PowerPoint スライド(PPT、PPTX)や OpenDocument スライド(ODP)を高品質な TIFF 画像に簡単に変換でき、プレゼンテーションの視覚的忠実度を最大限に保つことができます。 -## **PowerPointをTIFFに変換** +## **プレゼンテーションを TIFF に変換する** -[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスによって公開された[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/)メソッドを使用することで、PowerPointプレゼンテーション全体を迅速にTIFFに変換できます。生成されるTIFF画像は、スライドのデフォルトサイズに対応します。 +[保存](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) メソッドを [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスで使用すると、PowerPoint プレゼンテーション全体をすばやく TIFF に変換できます。生成される TIFF 画像はデフォルトのスライドサイズに対応しています。 -このC#コードは、PowerPointをTIFFに変換する方法を示しています: - -```c# -// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します -using (Presentation presentation = new Presentation("DemoFile.pptx")) +この C# コードは、PowerPoint プレゼンテーションを TIFF に変換する方法を示しています: +```cs +// プレゼンテーション ファイル (PPT、PPTX、ODP など) を表す Presentation クラスのインスタンスを作成します。 +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - // プレゼンテーションをTIFFとして保存します - presentation.Save("Tiffoutput_out.tiff", SaveFormat.Tiff); + // プレゼンテーションを TIFF として保存します。 + presentation.Save("Output.tiff", SaveFormat.Tiff); } ``` -## **PowerPointを白黒TIFFに変換** -Aspose.Slides 23.10では、[TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/)クラスに新しいプロパティ([BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/))が追加され、カラースライドや画像を白黒TIFFに変換する際に使用されるアルゴリズムを指定できるようになりました。この設定は、[CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/)プロパティが`CCITT4`または`CCITT3`に設定されている場合にのみ適用されます。 +## **プレゼンテーションを白黒 TIFF に変換する** + +[TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) クラスのプロパティ [BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/) を使用すると、カラーのスライドまたは画像を白黒 TIFF に変換する際に使用するアルゴリズムを指定できます。この設定は、[CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) プロパティが `CCITT4` または `CCITT3` に設定されている場合にのみ適用されます。 + +たとえば、次のような「sample.pptx」ファイルがあるとします: -このC#コードは、カラースライドや画像を白黒TIFFに変換する方法を示しています: +![プレゼンテーションスライド](slide_black_and_white.png) -```c# -var tiffOptions = new TiffOptions +この C# コードは、カラーのスライドを白黒 TIFF に変換する方法を示しています: +```cs +TiffOptions tiffOptions = new TiffOptions { CompressionType = TiffCompressionTypes.CCITT4, BwConversionMode = BlackWhiteConversionMode.Dithering }; -using var presentation = new Presentation("sample.pptx"); -presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +using (Presentation presentation = new Presentation("sample.pptx")) +{ + presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +} ``` -## **カスタムサイズでPowerPointをTIFFに変換** -特定の寸法を持つTIFF画像が必要な場合は、[TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/)に提供されるプロパティを介して希望の数値を定義できます。例えば、[ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/)プロパティを使用して、生成される画像のサイズを設定できます。 +結果: -このC#コードは、カスタムサイズでPowerPointをTIFF画像に変換する方法を示しています: +![白黒 TIFF](TIFF_black_and_white.png) -```c# -// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します -using (Presentation pres = new Presentation("Convert_Tiff_Custom.pptx")) -{ - // TiffOptionsクラスをインスタンス化します - TiffOptions opts = new TiffOptions(); +## **カスタムサイズの TIFF にプレゼンテーションを変換する** - // 圧縮タイプを設定します - opts.CompressionType = TiffCompressionTypes.Default; +特定のサイズの TIFF 画像が必要な場合は、[TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) で利用できるプロパティを使用して希望の値を設定できます。たとえば、[ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) プロパティを使用すると、生成される画像のサイズを定義できます。 - INotesCommentsLayoutingOptions notesOptions = opts.NotesCommentsLayouting; - notesOptions.NotesPosition = NotesPositions.BottomFull; - // 圧縮タイプ +この C# コードは、PowerPoint プレゼンテーションをカスタムサイズの TIFF 画像に変換する方法を示しています: +```cs +// プレゼンテーション ファイル (PPT、PPTX、ODP など) を表す Presentation クラスのインスタンスを作成します。 +using (Presentation presentation = new Presentation("sample.pptx")) +{ + TiffOptions tiffOptions = new TiffOptions(); + + // 圧縮タイプを設定します。 + tiffOptions.CompressionType = TiffCompressionTypes.Default; + /* + 圧縮タイプ: + Default - デフォルトの圧縮方式 (LZW) を指定します。 + None - 圧縮しないことを指定します。 + CCITT3 + CCITT4 + LZW + RLE + */ - // Default - デフォルトの圧縮方式を指定します (LZW)。 - // None - 圧縮なしを指定します。 - // CCITT3 - // CCITT4 - // LZW - // RLE + // 深度は圧縮タイプに依存し、手動で設定できません。 - // 深さは圧縮タイプによって決まり、手動で設定できません。 - // 解像度単位は常に「2」(インチあたりのドット)に等しいです。 + // 画像の DPI を設定します。 + tiffOptions.DpiX = 200; + tiffOptions.DpiY = 200; - // 画像のDPIを設定します - opts.DpiX = 200; - opts.DpiY = 100; + // 画像サイズを設定します。 + tiffOptions.ImageSize = new Size(1728, 1078); - // 画像サイズを設定します - opts.ImageSize = new Size(1728, 1078); + tiffOptions.SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - // 指定されたサイズでTIFFとしてプレゼンテーションを保存します - pres.Save("TiffWithCustomSize_out.tiff", SaveFormat.Tiff, opts); + // 指定したサイズでプレゼンテーションを TIFF として保存します。 + presentation.Save("custom_size.tiff", SaveFormat.Tiff, tiffOptions); } ``` -## **カスタム画像ピクセルフォーマットでPowerPointをTIFFに変換** -[TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions)クラスの[PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/)プロパティを使用することで、生成されるTIFF画像の希望するピクセルフォーマットを指定できます。 +## **カスタム画像ピクセル形式の TIFF にプレゼンテーションを変換する** -このC#コードは、カスタムピクセルフォーマットでPowerPointをTIFF画像に変換する方法を示しています: +[TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions) クラスの [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) プロパティを使用すると、生成される TIFF 画像のピクセル形式を指定できます。 -```c# -// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します -using (Presentation presentation = new Presentation("DemoFile.pptx")) +この C# コードは、カスタムピクセル形式の TIFF 画像に PowerPoint プレゼンテーションを変換する方法を示しています: +```cs +// プレゼンテーション ファイル (PPT、PPTX、ODP など) を表す Presentation クラスのインスタンスを作成します。 +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - TiffOptions options = new TiffOptions(); + TiffOptions tiffOptions = new TiffOptions(); - options.PixelFormat = ImagePixelFormat.Format8bppIndexed; + tiffOptions.PixelFormat = ImagePixelFormat.Format8bppIndexed; /* - ImagePixelFormatには次の値が含まれます(文書に記載された通り): - Format1bppIndexed; // 1ビット/ピクセル、インデックスされています。 - Format4bppIndexed; // 4ビット/ピクセル、インデックスされています。 - Format8bppIndexed; // 8ビット/ピクセル、インデックスされています。 - Format24bppRgb; // 24ビット/ピクセル、RGB。 - Format32bppArgb; // 32ビット/ピクセル、ARGB。 + ImagePixelFormat には以下の値が含まれます(ドキュメントに記載のとおり): + Format1bppIndexed - 1 ピクセルあたり 1 ビット、インデックスカラー。 + Format4bppIndexed - 1 ピクセルあたり 4 ビット、インデックスカラー。 + Format8bppIndexed - 1 ピクセルあたり 8 ビット、インデックスカラー。 + Format24bppRgb - 1 ピクセルあたり 24 ビット、RGB。 + Format32bppArgb - 1 ピクセルあたり 32 ビット、ARGB。 */ - // 指定された画像サイズでTIFFとしてプレゼンテーションを保存します - presentation.Save("Tiff_With_Custom_Image_Pixel_Format_out.tiff", SaveFormat.Tiff, options); + // 指定した画像サイズでプレゼンテーションを TIFF として保存します。 + presentation.Save("Custom_Image_Pixel_Format.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +{{% alert title="Tip" color="primary" %}} + +Aspose の [無料 PowerPoint からポスターへの変換ツール](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) をチェックしてください。 + +{{% /alert %}} + +## **FAQ** + +**個々のスライドだけを TIFF に変換できますか?** + +はい。Aspose.Slides を使用すると、PowerPoint および OpenDocument プレゼンテーションから個別のスライドを TIFF 画像として個別に変換できます。 + +**プレゼンテーションを TIFF に変換する際、スライド数に制限はありますか?** + +いいえ、Aspose.Slides にはスライド数に対する制限はありません。任意のサイズのプレゼンテーションを TIFF 形式に変換できます。 + +**スライドを TIFF に変換する際、PowerPoint のアニメーションやトランジション効果は保持されますか?** + +いいえ、TIFF は静止画像形式です。そのため、アニメーションやトランジション効果は保持されず、スライドの静的なスナップショットのみがエクスポートされます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md index ad1409ec76..fdedf59d35 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md @@ -1,60 +1,98 @@ --- -title: PowerPointをビデオに変換 +title: C# で PowerPoint プレゼンテーションを動画に変換 +linktitle: PowerPoint を動画に変換 type: docs weight: 130 url: /ja/net/convert-powerpoint-to-video/ -keywords: "PowerPointを変換, PPT, PPTX, プレゼンテーション, ビデオ, MP4, PPTをビデオに, PPTをMP4に, C#, Csharp, .NET, Aspose.Slides" -description: "C#または.NETでPowerPointをビデオに変換" +keywords: +- PowerPoint を動画に変換 +- PowerPoint を動画に変換する +- プレゼンテーションを動画に変換 +- プレゼンテーションを動画に変換する +- PPT を動画に変換 +- PPT を動画に変換する +- PPTX を動画に変換 +- PPTX を動画に変換する +- ODP を動画に変換 +- ODP を動画に変換する +- PowerPoint を MP4 に変換 +- PowerPoint を MP4 に変換する +- プレゼンテーションを MP4 に変換 +- プレゼンテーションを MP4 に変換する +- PPT を MP4 に変換 +- PPT を MP4 に変換する +- PPTX を MP4 に変換 +- PPTX を MP4 に変換する +- PowerPoint の動画変換 +- プレゼンテーションの動画変換 +- PPT の動画変換 +- PPTX の動画変換 +- ODP の動画変換 +- C# の動画変換 +- PowerPoint +- .NET +- C# +- Aspose.Slides +description: "C# を使用して PowerPoint と OpenDocument のプレゼンテーションを動画に変換する方法を学びます。サンプルコードと自動化手法を見つけて、作業フローを効率化しましょう。" --- -PowerPointプレゼンテーションをビデオに変換することで、次の利点があります。 +## **概要** -* **アクセシビリティの向上:** プレゼンテーションを開くアプリケーションと比較すると、すべてのデバイス(プラットフォームに関係なく)はデフォルトでビデオプレーヤーを備えているため、ユーザーはビデオを開くまたは再生するのが簡単です。 -* **到達範囲の拡大:** ビデオを通じて、広範なオーディエンスにリーチし、プレゼンテーションでは退屈に思えるかもしれない情報をターゲットにすることができます。ほとんどの調査や統計によると、人々は他の形態のコンテンツよりもビデオを視聴し、消費することが多く、一般的にそのようなコンテンツを好みます。 +PowerPoint または OpenDocument プレゼンテーションを動画に変換することで、次のメリットが得られます。 -{{% alert color="primary" %}} +**アクセシビリティの向上:** すべてのデバイスはデフォルトで動画プレーヤーを搭載しているため、従来のプレゼンテーションアプリケーションに比べて動画の再生や閲覧が容易です。 -こちらの[**PowerPointをビデオに変換するオンラインコンバーター**](https://products.aspose.app/slides/conversion/ppt-to-word)を確認することをお勧めします。これは、ここで説明されたプロセスのライブで効果的な実装です。 +**リーチの拡大:** 動画はより多くの視聴者にリーチでき、情報を魅力的な形式で提示できます。調査や統計によれば、人々は他の形式よりも動画コンテンツを見ることや消費することを好むため、メッセージのインパクトが高まります。 +{{% alert color="primary" %}} +[**PowerPoint to Video Online Converter**](https://products.aspose.app/slides/video) をご利用ください。こちらは本稿で説明したプロセスをライブかつ効果的に実装したツールです。 {{% /alert %}} -## **Aspose.SlidesにおけるPowerPointからビデオへの変換** - -[Aspose.Slides 22.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-22-11-release-notes/)で、プレゼンテーションからビデオへの変換をサポートしました。 +Aspose.Slides for .NET では、プレゼンテーションを動画に変換する機能を実装しています。 -* Aspose.Slidesを使用して、特定のFPS(フレーム毎秒)に対応する一連のフレーム(プレゼンテーションスライドから)を生成します。 -* FFMpegCore(ffmpeg)などのサードパーティユーティリティを使用して、フレームに基づいてビデオを作成します。 +* Aspose.Slides for .NET を使用して、指定したフレームレート(FPS)でスライドからフレームを生成します。 +* その後、ffmpeg などのサードパーティユーティリティを使用してフレームを動画に結合します。 -### **PowerPointをビデオに変換** +## **PowerPoint プレゼンテーションを動画に変換する** -1. dotnet add packageコマンドを使用して、Aspose.SlidesおよびFFMpegCoreライブラリをプロジェクトに追加します: - * `dotnet add package Aspose.Slides.NET --version 22.11.0`を実行します。 - * `dotnet add package FFMpegCore --version 4.8.0`を実行します。 -2. ここからffmpegをダウンロードします。[ここ](https://ffmpeg.org/download.html)。 -3. FFMpegCoreは、ダウンロードしたffmpegへのパスを指定する必要があります(例: "C:\tools\ffmpeg"に解凍した場合): `GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );` -4. PowerPointをビデオに変換するコードを実行します。 +1. `dotnet add package` コマンドで Aspose.Slides と FFMpegCore ライブラリをプロジェクトに追加します。 + * `dotnet add package Aspose.Slides.NET --version 22.11.0` を実行 + * `dotnet add package FFMpegCore --version 4.8.0` を実行 +2. ffmpeg を [here](https://ffmpeg.org/download.html) からダウンロードします。 +3. FFMpegCore では、ダウンロードした ffmpeg のパスを指定する必要があります(例: 「C:\tools\ffmpeg」に展開した場合)。 +```cs + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); +``` -このC#コードは、プレゼンテーション(図と2つのアニメーション効果を含む)をビデオに変換する方法を示しています: +4. PowerPoint から動画への変換コードを実行します。 +以下の C# コードは、シェイプと 2 つのアニメーション効果を含むプレゼンテーションを動画に変換する方法を示しています。 ```c# using System.Collections.Generic; using Aspose.Slides; -using FFMpegCore; // "c:\tools\ffmpeg"に解凍したFFmpegバイナリを使用します +using FFMpegCore; // 以前に抽出した FFmpeg バイナリ(C:\tools\ffmpeg)を使用します。 using Aspose.Slides.Animation; -using (Presentation presentation = new Presentation()) +using (Presentation presentation = new Presentation()) { - // 笑顔の形を追加し、アニメーションを加えます - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // スマイル形状を追加し、アニメーションを付けます。 + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; - const int Fps = 33; - List frames = new List(); + const int Fps = 33; + List frames = new List(); - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) { player.FrameTick += (sender, args) => @@ -66,46 +104,41 @@ using (Presentation presentation = new Presentation()) animationsGenerator.Run(presentation.Slides); } - // ffmpegバイナリフォルダーを設定します。このページを参照してください: https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // フレームをwebmビデオに変換します - FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // ffmpeg バイナリフォルダーを設定します。こちらのページをご覧ください: https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // フレームを WebM ビデオに変換します。 + FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` -## **ビデオ効果** -スライド上のオブジェクトにアニメーションを適用し、スライド間の遷移を使用できます。 +## **動画エフェクト** -{{% alert color="primary" %}} - -これらの文書をご覧になることをお勧めします: [PowerPointアニメーション](https://docs.aspose.com/slides/net/powerpoint-animation/)、[図形のアニメーション](https://docs.aspose.com/slides/net/shape-animation/)、および[図形効果](https://docs.aspose.com/slides/net/shape-effect/)。 +Aspose.Slides for .NET を使用して PowerPoint プレゼンテーションを動画に変換する際、出力の視覚品質を向上させるさまざまな動画エフェクトを適用できます。これらのエフェクトにより、スライドの外観を滑らかなトランジションやアニメーション、その他のビジュアル要素で制御できます。本節では利用可能な動画エフェクトオプションを説明し、適用方法を示します。 +{{% alert color="primary" %}} +参照: +- [C# で PowerPoint プレゼンテーションにアニメーションを追加する](https://docs.aspose.com/slides/net/powerpoint-animation/) +- [シェイプ アニメーション](https://docs.aspose.com/slides/net/shape-animation/) +- [C# で PowerPoint のシェイプエフェクトを適用する](https://docs.aspose.com/slides/net/shape-effect/) {{% /alert %}} -アニメーションと遷移はスライドショーをより魅力的で面白くし、ビデオに対しても同じことを行います。前のプレゼンテーションのコードに別のスライドと遷移を追加しましょう: - +アニメーションやトランジションはスライドショーをより魅力的にします――動画でも同様です。次のコード例では、前述のプレゼンテーションにスライドとトランジションを追加します。 ```c# -// 笑顔の形を追加し、アニメーションを加えます - -// ... - -// 新しいスライドとアニメーション遷移を追加します - -ISlide newSlide = presentation.Slides.AddEmptySlide(presentation.Slides[0].LayoutSlide); - -newSlide.Background.Type = BackgroundType.OwnBackground; - -newSlide.Background.FillFormat.FillType = FillType.Solid; - -newSlide.Background.FillFormat.SolidFillColor.Color = Color.Indigo; - -newSlide.SlideShowTransition.Type = TransitionType.Push; + // スマイル形状を追加し、アニメーションします。 + // ... + + // 新しいスライドとアニメーション付きのトランジションを追加します。 + ISlide newSlide = presentation.Slides.AddEmptySlide(presentation.Slides[0].LayoutSlide); + newSlide.Background.Type = BackgroundType.OwnBackground; + newSlide.Background.FillFormat.FillType = FillType.Solid; + newSlide.Background.FillFormat.SolidFillColor.Color = Color.Indigo; + newSlide.SlideShowTransition.Type = TransitionType.Push; ``` -Aspose.Slidesでは、テキストのアニメーションもサポートされています。したがって、オブジェクト上の段落にアニメーションを適用し、1秒の遅延で順に表示されるようにします: +Aspose.Slides はテキストアニメーションもサポートしています。以下の例では、オブジェクト上の段落を順番に表示し、各段落の間に 1 秒の遅延を設定しています。 ```c# using System.Collections.Generic; using Aspose.Slides.Export; @@ -115,41 +148,44 @@ using Aspose.Slides.Animation; using (Presentation presentation = new Presentation()) { - // テキストとアニメーションを追加します - IAutoShape autoShape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); + ISlide slide = presentation.Slides[0]; + + // テキストとアニメーションを追加します。 + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); Paragraph para1 = new Paragraph(); para1.Portions.Add(new Portion("Aspose Slides for .NET")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("テキストを含むPowerPointプレゼンテーションをビデオに変換")); + para2.Portions.Add(new Portion("Convert a PowerPoint presentation with text to video")); Paragraph para3 = new Paragraph(); - para3.Portions.Add(new Portion("段落ごとに")); + para3.Portions.Add(new Portion("paragraph by paragraph")); autoShape.TextFrame.Paragraphs.Add(para1); autoShape.TextFrame.Paragraphs.Add(para2); autoShape.TextFrame.Paragraphs.Add(para3); autoShape.TextFrame.Paragraphs.Add(new Paragraph()); - IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect1 = slide.Timeline.MainSequence.AddEffect( + para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect2 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect2 = slide.Timeline.MainSequence.AddEffect( + para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect3 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect3 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect4 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect4 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - effect.Timing.TriggerDelayTime = 1f; + effect1.Timing.TriggerDelayTime = 1f; effect2.Timing.TriggerDelayTime = 1f; effect3.Timing.TriggerDelayTime = 1f; effect4.Timing.TriggerDelayTime = 1f; - // フレームをビデオに変換します const int Fps = 33; List frames = new List(); - - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) - { player.FrameTick += (sender, args) => { @@ -157,34 +193,42 @@ using (Presentation presentation = new Presentation()) args.GetFrame().Save(frame); frames.Add(frame); }; + animationsGenerator.Run(presentation.Slides); } - // ffmpegバイナリフォルダーを設定します。このページを参照してください: https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // フレームをwebmビデオに変換します - FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // ffmpeg バイナリフォルダーを設定します。こちらのページをご覧ください: https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // フレームを WebM ビデオに変換します。 + FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` -## **ビデオ変換クラス** -PowerPointからビデオへの変換タスクを実行できるように、Aspose.Slidesは[PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/)および[PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/)クラスを提供します。 +## **動画変換クラス** -PresentationAnimationsGeneratorを使用すると、後で作成されるビデオのフレームサイズをコンストラクタを通じて設定できます。プレゼンテーションのインスタンスを渡すと、`Presentation.SlideSize`が使用され、[PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/)が使用するアニメーションを生成します。 +PowerPoint を動画に変換するために、Aspose.Slides for .NET は [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) と [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) クラスを提供しています。 -アニメーションが生成されると、各後続アニメーションについて`NewAnimation`イベントが生成され、[IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/)パラメータがあります。後者は、個別のアニメーション用のプレーヤーを表すクラスです。 +`PresentationAnimationsGenerator` はコンストラクタで動画のフレームサイズと FPS(フレーム毎秒)を設定できます。プレゼンテーションインスタンスを渡すと、`Presentation.SlideSize` が使用され、生成されたアニメーションは `PresentationPlayer` が利用します。 -[IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/)と連携するために、[Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/)(アニメーションの総持続時間)プロパティと[SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/)メソッドが使用されます。各アニメーション位置は*0からduration*の範囲内で設定され、次に`GetFrame`メソッドは、その時点でのアニメーション状態に対応するBitmapを返します。 +アニメーションが生成されると、各アニメーションごとに `NewAnimation` イベントが発生し、[IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/) パラメータが渡されます。このクラスは個々のアニメーションのプレーヤーを表します。 +[IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/) を操作するには、全体の長さを示す `Duration` プロパティと、位置を設定する `SetTimePosition` メソッドを使用します。各アニメーション位置は *0 から Duration* の範囲で設定され、`GetFrame` メソッドはその時点のアニメーション状態を表す Bitmap を返します。 ```c# using (Presentation presentation = new Presentation()) { - // 笑顔の形を追加し、アニメーションを加えます - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // スマイル形状を追加し、アニメーションを付けます。 + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; @@ -192,21 +236,21 @@ using (Presentation presentation = new Presentation()) { animationsGenerator.NewAnimation += animationPlayer => { - Console.WriteLine($"アニメーションの総持続時間: {animationPlayer.Duration}"); - - animationPlayer.SetTimePosition(0); // 初期アニメーション状態 - Bitmap bitmap = animationPlayer.GetFrame(); // 初期アニメーション状態のビットマップ + Console.WriteLine($"Total animation duration: {animationPlayer.Duration}"); + + animationPlayer.SetTimePosition(0); // 初期アニメーション状態です。 + Bitmap bitmap = animationPlayer.GetFrame(); // 初期アニメーション状態のビットマップです。 - animationPlayer.SetTimePosition(animationPlayer.Duration); // アニメーションの最終状態 - Bitmap lastBitmap = animationPlayer.GetFrame(); // アニメーションの最終フレーム + animationPlayer.SetTimePosition(animationPlayer.Duration); // アニメーションの最終状態です。 + Bitmap lastBitmap = animationPlayer.GetFrame(); // アニメーションの最後のフレームです。 lastBitmap.Save("last.png"); }; } } ``` -プレゼンテーション内のすべてのアニメーションを一度に再生する場合は、[PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/)クラスを使用します。このクラスは、[PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/)インスタンスと、効果のFPSをコンストラクタに取り込み、すべてのアニメーションを再生するために`FrameTick`イベントを呼び出します: +すべてのアニメーションを同時に再生するには、[PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) クラスを使用します。このクラスはコンストラクタで [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) インスタンスと FPS 値を受け取り、`FrameTick` イベントを呼び出してすべてのアニメーションを再生します。 ```c# using (Presentation presentation = new Presentation("animated.pptx")) { @@ -222,137 +266,154 @@ using (Presentation presentation = new Presentation("animated.pptx")) } ``` -生成されたフレームは、ビデオを作成するためにコンパイルできます。[PowerPointをビデオに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-video/#convert-powerpoint-to-video)セクションを参照してください。 -## **サポートされているアニメーションと効果** +生成されたフレームは動画に結合できます。詳細は [PowerPoint プレゼンテーションを動画に変換](/slides/ja/net/convert-powerpoint-to-video/#convert-a-powerpoint-presentation-to-video) 節をご覧ください。 + +## **サポートされているアニメーションとエフェクト** +PowerPoint を動画に変換する際に、出力でサポートされるアニメーションとエフェクトを把握しておくことが重要です。Aspose.Slides はフェード、フライイン、ズーム、回転などの一般的なエントランス、エグジット、エンファシス効果を幅広くサポートしています。ただし、一部の高度なカスタムアニメーションは完全に保持されないか、動画で異なる表示になる場合があります。本節ではサポート状況をまとめています。 -**入口**: +**エントランス**: -| アニメーションの種類 | Aspose.Slides | PowerPoint | +| アニメーションタイプ | Aspose.Slides | PowerPoint | |---|---|---| -| **出現** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **フェード** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **フライイン** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **フロートイン** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **スプリット** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **ワイプ** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **シェイプ** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **ホイール** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **ランダムバー** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **グロウ&ターン** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ズーム** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **スイベル** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **バウンス** | ![サポートされています](v.png) | ![サポートされています](v.png) | - - -**強調**: - -| アニメーションの種類 | Aspose.Slides | PowerPoint | +| **Appear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly In** | ![supported](v.png) | ![supported](v.png) | +| **Float In** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Grow & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | + +**エンファシス**: + +| アニメーションタイプ | Aspose.Slides | PowerPoint | |---|---|---| -| **パルス** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **カラー パルス** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ティーター** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **スピン** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **成長/縮小** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **デサチュレート** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **暗くする** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **明るくする** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **透明度** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **オブジェクトカラー** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **補色** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ラインカラー** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **塗りつぶしカラー** | ![サポートされていません](x.png) | ![サポートされています](v.png) | - -**退出**: - -| アニメーションの種類 | Aspose.Slides | PowerPoint | +| **Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Color Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Teeter** | ![supported](v.png) | ![supported](v.png) | +| **Spin** | ![supported](v.png) | ![supported](v.png) | +| **Grow/Shrink** | ![not supported](x.png) | ![supported](v.png) | +| **Desaturate** | ![not supported](x.png) | ![supported](v.png) | +| **Darken** | ![not supported](x.png) | ![supported](v.png) | +| **Lighten** | ![not supported](x.png) | ![supported](v.png) | +| **Transparency** | ![not supported](x.png) | ![supported](v.png) | +| **Object Color** | ![not supported](x.png) | ![supported](v.png) | +| **Complementary Color** | ![not supported](x.png) | ![supported](v.png) | +| **Line Color** | ![not supported](x.png) | ![supported](v.png) | +| **Fill Color** | ![not supported](x.png) | ![supported](v.png) | + +**エグジット**: + +| アニメーションタイプ | Aspose.Slides | PowerPoint | |---|---|---| -| **消失** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **フェード** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **フライアウト** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **フロートアウト** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **スプリット** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **ワイプ** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **シェイプ** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **ランダムバー** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **縮小&ターン** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ズーム** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **スイベル** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **バウンス** | ![サポートされています](v.png) | ![サポートされています](v.png) | - -**モーションパス**: - -| アニメーションの種類 | Aspose.Slides | PowerPoint | +| **Disappear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly Out** | ![supported](v.png) | ![supported](v.png) | +| **Float Out** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shrink & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | + +**モーション パス**: + +| アニメーションタイプ | Aspose.Slides | PowerPoint | |---|---|---| -| **ライン** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **アーク** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **ターン** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **形状** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **ループ** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **カスタムパス** | ![サポートされています](v.png) | ![サポートされています](v.png) | +| **Lines** | ![supported](v.png) | ![supported](v.png) | +| **Arcs** | ![supported](v.png) | ![supported](v.png) | +| **Turns** | ![supported](v.png) | ![supported](v.png) | +| **Shapes** | ![supported](v.png) | ![supported](v.png) | +| **Loops** | ![supported](v.png) | ![supported](v.png) | +| **Custom Path** | ![supported](v.png) | ![supported](v.png) | -## **サポートされているスライド遷移効果** +## **サポートされているスライド トランジション エフェクト** -**微妙**: +スライド トランジション エフェクトは、動画内でスムーズかつ視覚的に魅力的な切り替えを実現する重要な要素です。Aspose.Slides for .NET は、元のプレゼンテーションの流れとスタイルを保つために、一般的に使用されるさまざまなトランジション効果をサポートしています。本節では、変換プロセスでサポートされるトランジション効果を示します。 -| アニメーションの種類 | Aspose.Slides | PowerPoint | +**Subtle(微妙な効果)**: + +| アニメーションタイプ | Aspose.Slides | PowerPoint | |---|---|---| -| **モーフ** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **フェード** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **プッシュ** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **プル** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **ワイプ** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **スプリット** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **リビール** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ランダムバー** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **シェイプ** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **アンカバー** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **カバー** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **フラッシュ** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **ストリップ** | ![サポートされています](v.png) | ![サポートされています](v.png) | - -**エキサイティング**: - -| アニメーションの種類 | Aspose.Slides | PowerPoint | +| **Morph** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Push** | ![supported](v.png) | ![supported](v.png) | +| **Pull** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Reveal** | ![not supported](x.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![not supported](x.png) | ![supported](v.png) | +| **Uncover** | ![not supported](x.png) | ![supported](v.png) | +| **Cover** | ![supported](v.png) | ![supported](v.png) | +| **Flash** | ![supported](v.png) | ![supported](v.png) | +| **Strips** | ![supported](v.png) | ![supported](v.png) | + +**Exciting(エキサイティング)**: + +| アニメーションタイプ | Aspose.Slides | PowerPoint | |---|---|---| -| **フォールオーバー** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ドレープ** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **カーテン** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **風** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **プレステージ** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **フラクチャー** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **クラッシュ** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **剥がす** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ページカール** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **飛行機** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **折り紙** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **溶解** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **チェッカーボード** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ブラインド** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **時計** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **波紋** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ハニカム** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **グリッター** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **渦** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **シュレッド** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **スイッチ** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **フリップ** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ギャラリー** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **キューブ** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ドア** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ボックス** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **コーム** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **ズーム** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **ランダム** | ![サポートされていません](x.png) | ![サポートされています](v.png) | - -**動的コンテンツ**: - -| アニメーションの種類 | Aspose.Slides | PowerPoint | +| **Fall Over** | ![not supported](x.png) | ![supported](v.png) | +| **Drape** | ![not supported](x.png) | ![supported](v.png) | +| **Curtains** | ![not supported](x.png) | ![supported](v.png) | +| **Wind** | ![not supported](x.png) | ![supported](v.png) | +| **Prestige** | ![not supported](x.png) | ![supported](v.png) | +| **Fracture** | ![not supported](x.png) | ![supported](v.png) | +| **Crush** | ![not supported](x.png) | ![supported](v.png) | +| **Peel Off** | ![not supported](x.png) | ![supported](v.png) | +| **Page Curl** | ![not supported](x.png) | ![supported](v.png) | +| **Airplane** | ![not supported](x.png) | ![supported](v.png) | +| **Origami** | ![not supported](x.png) | ![supported](v.png) | +| **Dissolve** | ![supported](v.png) | ![supported](v.png) | +| **Checkerboard** | ![not supported](x.png) | ![supported](v.png) | +| **Blinds** | ![not supported](x.png) | ![supported](v.png) | +| **Clock** | ![supported](v.png) | ![supported](v.png) | +| **Ripple** | ![not supported](x.png) | ![supported](v.png) | +| **Honeycomb** | ![not supported](x.png) | ![supported](v.png) | +| **Glitter** | ![not supported](x.png) | ![supported](v.png) | +| **Vortex** | ![not supported](x.png) | ![supported](v.png) | +| **Shred** | ![not supported](x.png) | ![supported](v.png) | +| **Switch** | ![not supported](x.png) | ![supported](v.png) | +| **Flip** | ![not supported](x.png) | ![supported](v.png) | +| **Gallery** | ![not supported](x.png) | ![supported](v.png) | +| **Cube** | ![not supported](x.png) | ![supported](v.png) | +| **Doors** | ![not supported](x.png) | ![supported](v.png) | +| **Box** | ![not supported](x.png) | ![supported](v.png) | +| **Comb** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Random** | ![not supported](x.png) | ![supported](v.png) | + +**Dynamic Content(ダイナミック コンテンツ)**: + +| アニメーションタイプ | Aspose.Slides | PowerPoint | |---|---|---| -| **パン** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **観覧車** | ![サポートされています](v.png) | ![サポートされています](v.png) | -| **コンベヤ** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **回転** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **軌道** | ![サポートされていません](x.png) | ![サポートされています](v.png) | -| **飛行を通過する** | ![サポートされています](v.png) | ![サポートされています](v.png) | \ No newline at end of file +| **Pan** | ![not supported](x.png) | ![supported](v.png) | +| **Ferris Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Conveyor** | ![not supported](x.png) | ![supported](v.png) | +| **Rotate** | ![not supported](x.png) | ![supported](v.png) | +| **Orbit** | ![not supported](x.png) | ![supported](v.png) | +| **Fly Through** | ![supported](v.png) | ![supported](v.png) | + +## **FAQ** + +**パスワードで保護されたプレゼンテーションを変換できますか?** + +はい、Aspose.Slides for .NET はパスワード保護されたプレゼンテーションの操作をサポートしています。処理時に正しいパスワードを指定すれば、ライブラリはコンテンツにアクセスできます。 + +**Aspose.Slides for .NET はクラウド ソリューションでの使用をサポートしていますか?** + +はい、Aspose.Slides for .NET はクラウド アプリケーションやサービスに組み込むことができます。サーバー環境での高性能・スケーラビリティを考慮して設計されており、バッチ処理に適しています。 + +**変換時にプレゼンテーションのサイズ制限はありますか?** + +Aspose.Slides for .NET は実質的に任意のサイズのプレゼンテーションを処理できます。ただし、非常に大きなファイルを扱う場合は追加のシステムリソースが必要になることがあり、パフォーマンス向上のためにプレゼンテーションを最適化することが推奨されることがあります。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md index f98d9a60d8..d0d86e477c 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md @@ -1,85 +1,121 @@ --- -title: PowerPointをWordに変換 +title: C# で PowerPoint プレゼンテーションを Word ドキュメントに変換 +linktitle: PowerPoint を Word に変換 type: docs weight: 110 url: /ja/net/convert-powerpoint-to-word/ keywords: -- PowerPointを変換 -- PPT -- PPTX -- プレゼンテーション -- Word -- DOCX -- DOC -- PPTXをDOCXへ -- PPTをDOCへ -- PPTXをDOCへ -- PPTをDOCXへ +- PowerPoint を DOCX に変換 +- OpenDocument を DOCX に変換 +- プレゼンテーションを DOCX に変換 +- スライドを DOCX に変換 +- PPT を DOCX に変換 +- PPTX を DOCX に変換 +- ODP を DOCX に変換 +- PowerPoint を DOC に変換 +- OpenDocument を DOC に変換 +- プレゼンテーションを DOC に変換 +- スライドを DOC に変換 +- PPT を DOC に変換 +- PPTX を DOC に変換 +- ODP を DOC に変換 +- PowerPoint を Word に変換 +- OpenDocument を Word に変換 +- プレゼンテーションを Word に変換 +- スライドを Word に変換 +- PPT を Word に変換 +- PPTX を Word に変換 +- ODP を Word に変換 +- PowerPoint を変換 +- OpenDocument を変換 +- プレゼンテーションを変換 +- スライドを変換 +- PPT を変換 +- PPTX を変換 +- ODP を変換 - C# -- Csharp - .NET - Aspose.Slides -description: "C#または.NETでPowerPointプレゼンテーションをWordに変換" +description: "Aspose.Slides for .NET を使用して、PowerPoint および OpenDocument のプレゼンテーションを Word ドキュメントに簡単に変換する方法をご紹介します。サンプル C# コード付きのステップバイステップガイドは、ドキュメントワークフローを効率化したい開発者向けのソリューションです。" --- -プレゼンテーション(PPTまたはPPTX)からのテキストコンテンツや情報を新しい方法で使用する予定がある場合、プレゼンテーションをWord(DOCまたはDOCX)に変換することで利益を得られるかもしれません。 +## **概要** -* Microsoft PowerPointと比較して、Microsoft Wordアプリはコンテンツのためのツールや機能がより充実しています。 -* Wordの編集機能に加えて、コラボレーション、印刷、共有機能の向上も期待できます。 +この記事では、Aspose.Slides for .NET と Aspose.Words for .NET を使用して、PowerPoint および OpenDocument プレゼンテーションを Word 文書に変換するためのソリューションを開発者向けに提供します。ステップバイステップのガイドで、変換プロセスのすべての段階を案内します。 -{{% alert color="primary" %}} +## **プレゼンテーションを Word 文書に変換** -スライドからのテキストコンテンツを使用することで得られるものを確認するために、[**プレゼンテーションをWordにオンライン変換するツール**](https://products.aspose.app/slides/conversion/ppt-to-word)を試してみてください。 +以下の手順に従って、PowerPoint または OpenDocument プレゼンテーションを Word 文書に変換します。 -{{% /alert %}} - -### **Aspose.SlidesとAspose.Words** - -PowerPointファイル(PPTXまたはPPT)をWord(DOCXまたはDOC)に変換するには、[Aspose.Slides for .NET](https://products.aspose.com/slides/net/)と[Aspose.Words for .NET](https://products.aspose.com/words/net/)の両方が必要です。 +1. Presentation クラスをインスタンス化し、プレゼンテーション ファイルを読み込みます。 +2. Document クラスと DocumentBuilder クラスをインスタンス化して、Word 文書を生成します。 +3. DocumentBuilder.PageSetup プロパティを使用して、Word 文書のページサイズをプレゼンテーションと同じに設定します。 +4. DocumentBuilder.PageSetup プロパティを使用して、Word 文書の余白を設定します。 +5. Presentation.Slides プロパティを使用して、すべてのプレゼンテーション スライドを処理します。 + - `GetImage` メソッドを使用して ISlide インターフェイスからスライド画像を生成し、メモリ ストリームに保存します。 + - `InsertImage` メソッドを使用して DocumentBuilder クラスからスライド画像を Word 文書に追加します。 +6. Word 文書をファイルに保存します。 -スタンドアロンAPIとして、[Aspose.Slides](https://products.aspose.app/slides) for .NETは、プレゼンテーションからテキストを抽出するための機能を提供します。 +例えば、次のようなプレゼンテーション "sample.pptx" があるとします。 -[Aspose.Words](https://docs.aspose.com/words/net/)は、アプリケーションがファイルを生成、変更、変換、レンダリング、印刷、その他のドキュメント操作をMicrosoft Wordを利用せずに行うことを可能にする高度なドキュメント処理APIです。 +![PowerPoint プレゼンテーション](PowerPoint.png) -## **PowerPointをWordに変換** - -1. program.csファイルにこれらの名前空間を追加します: +以下の C# コード例は、PowerPoint プレゼンテーションを Word 文書に変換する方法を示しています。 +```cs +// プレゼンテーション ファイルをロードします。 +using var presentation = new Presentation("sample.pptx"); -```c# -using Aspose.Slides; -using Aspose.Words; -using System.IO; -``` +// Document と DocumentBuilder オブジェクトを作成します。 +var document = new Document(); +var builder = new DocumentBuilder(document); -2. このコードスニペットを使用して、PowerPointをWordに変換します: +// Word 文書のページサイズを設定します。 +var slideSize = presentation.SlideSize.Size; +builder.PageSetup.PageWidth = slideSize.Width; +builder.PageSetup.PageHeight = slideSize.Height; -```c# -using var presentation = new Presentation("sample.pptx"); +// Word 文書の余白を設定します。 +builder.PageSetup.LeftMargin = 0; +builder.PageSetup.RightMargin = 0; +builder.PageSetup.TopMargin = 0; +builder.PageSetup.BottomMargin = 0; -var doc = new Document(); -var builder = new DocumentBuilder(doc); +const float scaleX = 2, scaleY = 2; +// すべてのプレゼンテーション スライドを処理します。 foreach (var slide in presentation.Slides) { - // スライドの画像を生成し、メモリストリームに保存します - using var image = slide.GetImage(1, 1); + // スライド画像を生成し、メモリ ストリームに保存します。 + using var image = slide.GetImage(scaleX, scaleY); using var imageStream = new MemoryStream(); image.Save(imageStream, ImageFormat.Png); + // スライド画像を Word 文書に追加します。 imageStream.Seek(0, SeekOrigin.Begin); - builder.InsertImage(imageStream.ToArray()); - - // スライドのテキストを挿入します - foreach (var shape in slide.Shapes) - { - if (shape is AutoShape autoShape) - { - builder.Writeln(autoShape.TextFrame.Text); - } - } + builder.InsertImage(imageStream.ToArray(), builder.PageSetup.PageWidth, builder.PageSetup.PageHeight); builder.InsertBreak(BreakType.PageBreak); } -doc.Save("output.docx"); -``` \ No newline at end of file +// Word 文書をファイルに保存します。 +document.Save("output.docx"); +``` + + +結果: + +![Word 文書](Word.png) + +{{% alert color="primary" %}} +当社の[**オンライン PPT から Word 変換ツール**](https://products.aspose.app/slides/conversion/ppt-to-word)を試して、PowerPoint と OpenDocument プレゼンテーションを Word 文書に変換することで得られるメリットをご確認ください。 +{{% /alert %}} + +## **よくある質問** + +**PowerPoint と OpenDocument プレゼンテーションを Word 文書に変換するために必要なコンポーネントは何ですか?** + +C# プロジェクトに [Aspose.Slides for .NET](https://www.nuget.org/packages/Aspose.Slides.NET) と [Aspose.Words for .NET](https://www.nuget.org/packages/Aspose.Words/) の各 NuGet パッケージを追加するだけで済みます。両方のライブラリは単独の API として動作し、Microsoft Office をインストールする必要はありません。 + +**すべての PowerPoint と OpenDocument プレゼンテーション形式がサポートされていますか?** + +Aspose.Slides for .NET は、PPT、PPTX、ODP などの一般的なファイル形式を含むすべてのプレゼンテーション形式を [サポートしています](/slides/ja/net/supported-file-formats/)。これにより、さまざまなバージョンの Microsoft PowerPoint で作成されたプレゼンテーションを扱うことができます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md index b1ef92951f..1aeebe9c55 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md @@ -3,75 +3,84 @@ title: PowerPointをXPSに変換 type: docs weight: 70 url: /ja/net/convert-powerpoint-to-xps -keywords: "PowerPointプレゼンテーションの変換, PowerPointからXPS, PPTからXPS, PPTXからXPS, 変換, C#, Csharp, .NET, Aspose.Slides" +keywords: "PowerPointプレゼンテーションの変換, PowerPointからXPSへ, PPTからXPSへ, PPTXからXPSへ, 変換, C#, Csharp, .NET, Aspose.Slides" description: "C#または.NETでPowerPointプレゼンテーションをXPSに変換します。" --- -## **XPSについて** -マイクロソフトは[XPS](https://docs.fileformat.com/page-description-language/xps/)を[PDF](https://docs.fileformat.com/pdf/)の代替として開発しました。XPSはPDFに非常に似たファイルを出力することによって内容を印刷することを可能にします。XPS形式はXMLに基づいています。XPSファイルのレイアウトまたは構造は、すべてのオペレーティングシステムやプリンターで同じままです。 +## **XPS について** +Microsoft は [XPS](https://docs.fileformat.com/page-description-language/xps/) を [PDF](https://docs.fileformat.com/pdf/) の代替として開発しました。 PDF に非常に似たファイルを出力することでコンテンツを印刷できるようになります。 XPS フォーマットは XML に基づいています。 XPS ファイルのレイアウトや構造は、すべてのオペレーティングシステムやプリンターで同じままです。 -## Microsoft XPS形式を使用するタイミング +## **Microsoft XPS フォーマットを使用すべきとき** -{{% alert color="primary" %}} +{{% alert color="primary" %}} -Aspose.SlidesがPPTまたはPPTXプレゼンテーションをXPS形式に変換する方法を確認するには、[この無料のオンライン変換アプリ](https://products.aspose.app/slides/conversion)をチェックしてください。 +Microsoft PowerPoint の PPT または PPTX プレゼンテーションが XPS フォーマットにどのように変換されるかを確認したい場合は、[この無料オンライン変換アプリ](https://products.aspose.app/slides/conversion) をご利用ください。 -{{% /alert %}} +{{% /alert %}} -ストレージコストを削減したい場合は、Microsoft PowerPointプレゼンテーションをXPS形式に変換できます。これにより、ドキュメントの保存、共有、および印刷が容易になります。 +ストレージコストを削減したい場合は、Microsoft PowerPoint プレゼンテーションを XPS フォーマットに変換できます。これにより、ドキュメントの保存、共有、印刷が容易になります。 -MicrosoftはWindows(Windows 10でも)でXPSの強力なサポートを引き続き実装しているため、ファイルをこの形式で保存することを検討するかもしれません。Windows 8.1、Windows 8、Windows 7、Windows Vistaを使用している場合、特定の操作に対してXPSが最良の選択肢となる場合があります。 +Microsoft は Windows(Windows 10 でも)で XPS のサポートを強化し続けているため、このフォーマットでファイルを保存することを検討すべきです。Windows 8.1、Windows 8、Windows 7、Windows Vista を使用している場合、特定の操作では XPS が最適な選択肢になることがあります。 -- **Windows 8**はXPSファイルにOXPS(Open XPS)形式を使用します。OXPSは元のXPS形式の標準化されたバージョンです。Windows 8はPDFファイルよりもXPSファイルに対してより良いサポートを提供します。 - - **XPS:** 組み込みのXPSビューワ/リーダーとXPSへの印刷機能が利用可能です。 - - **PDF**: PDFリーダーは利用可能ですが、PDFへの印刷機能はありません。 +- **Windows 8** は XPS ファイルに OXPS(Open XPS)形式を使用します。 OXPS は元の XPS フォーマットの標準化バージョンです。Windows 8 は PDF ファイルよりも XPS ファイルのサポートが優れています。 + - **XPS:** 組み込みの XPS ビューア/リーダーと XPS への印刷機能が利用可能。 + - **PDF:** PDF リーダーは利用可能だが、PDF への印刷機能はなし。 -- **Windows 7およびWindows Vista**は元のXPS形式を使用します。これらのオペレーティングシステムはPDFよりもXPSファイルに対してより良いサポートを提供します。 - - **XPS**: 組み込みのXPSビューワとXPSへの印刷機能が利用可能です。 - - **PDF**: PDFリーダーはありません。PDFへの印刷機能はありません。 +- **Windows 7 と Windows Vista** は元の XPS フォーマットを使用します。これらの OS も PDF より XPS ファイルのサポートが優れています。 + - **XPS:** 組み込みの XPS ビューアと XPS への印刷機能が利用可能。 + - **PDF:** PDF リーダーなし。PDF への印刷機能なし。 -|

**入力PPT(X):

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**出力XPS:

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| +|

**入力 PPT(X):**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**出力 XPS:**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| | :- | :- | -Microsoftは最終的にWindows 10のPDFへの印刷機能を通じてPDFでの印刷操作のサポートを実装しました。それ以前は、ユーザーはXPS形式を通じて文書を印刷することが期待されていました。 +Microsoft は最終的に Windows 10 の「Print to PDF」機能を通じて PDF の印刷操作サポートを実装しました。以前はユーザーは XPS フォーマットを介して文書を印刷することが想定されていました。 -## Aspose.SlidesによるXPS変換 +## **Aspose.Slides を使用した XPS 変換** -[**Aspose.Slides**](https://products.aspose.com/slides/net/) for .NETでは、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスが公開する[**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)メソッドを使用して、プレゼンテーション全体をXPS文書に変換できます。 +.NET 用の [**Aspose.Slides**](https://products.aspose.com/slides/net/) では、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスが提供する [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) メソッドを使用して、プレゼンテーション全体を XPS ドキュメントに変換できます。 -プレゼンテーションをXPSに変換する際には、次のいずれかの設定を使用してプレゼンテーションを保存する必要があります: +プレゼンテーションを XPS に変換する際は、以下のいずれかの設定でプレゼンテーションを保存する必要があります。 -- デフォルト設定([**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)なし) -- カスタム設定([**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)あり) +- デフォルト設定([**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions) なし) +- カスタム設定([**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions) あり) -### **デフォルト設定を使用してプレゼンテーションをXPSに変換** - -このC#のサンプルコードは、標準設定を使用してプレゼンテーションをXPS文書に変換する方法を示しています: +### **既定設定を使用してプレゼンテーションを XPS に変換する** +この C# サンプルコードは、標準設定を使用してプレゼンテーションを XPS ドキュメントに変換する方法を示しています。 ```c# -// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化 +// プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化します using (Presentation pres = new Presentation("Convert_XPS.pptx")) { - // プレゼンテーションをXPS文書として保存 + // プレゼンテーションを XPS ドキュメントとして保存します pres.Save("XPS_Output_Without_XPSOption_out.xps", SaveFormat.Xps); } ``` -### **カスタム設定を使用してプレゼンテーションをXPSに変換** - -このサンプルコードは、カスタム設定を使用してプレゼンテーションをXPS文書に変換する方法を示しています: +### **カスタム設定を使用してプレゼンテーションを XPS に変換する** +このサンプルコードは、C# でカスタム設定を使用してプレゼンテーションを XPS ドキュメントに変換する方法を示しています。 ```c# -// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化 +// プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化します using (Presentation pres = new Presentation("Convert_XPS_Options.pptx")) { - // TiffOptionsクラスをインスタンス化 + // TiffOptions クラスをインスタンス化します XpsOptions options = new XpsOptions(); - // メタファイルをPNGとして保存 + // メタファイルを PNG として保存します options.SaveMetafilesAsPng = true; - // プレゼンテーションをXPS文書として保存 + // プレゼンテーションを XPS ドキュメントとして保存します pres.Save("XPS_With_Options_out.xps", SaveFormat.Xps, options); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**XPS をファイルではなくストリームに保存できますか?** + +はい。Aspose.Slides はストリームへ直接エクスポートできるため、Web API、サーバー側パイプライン、ファイルシステムに触れずに XPS を送信したいシナリオに最適です。 + +**非表示スライドは XPS に含まれますか?除外できますか?** + +既定では通常(表示)スライドのみがレンダリングされます。保存前に [エクスポート設定](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/) を使用して、[非表示スライドの含める・除外する](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/)ことができます。これにより、出力に意図したページだけが含まれます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index c078d28dc2..a51bd0248e 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -1,62 +1,90 @@ --- -title: C#でPPTをPPTXに変換 -linktitle: C#でPPTをPPTXに変換 +title: C# で PPT を PPTX に変換 +linktitle: PPT を PPTX に変換 type: docs weight: 20 url: /ja/net/convert-ppt-to-pptx/ -keywords: "C# PPTをPPTXに変換, PowerPointプレゼンテーションを変換, PPTからPPTX, C#, Csharp, .NET, Aspose.Slides" -description: "C#または.NETでPowerPoint PPTをPPTXに変換" +keywords: "C# PPT を PPTX に変換, PowerPoint プレゼンテーションを変換, PPT を PPTX に変換, C#, Csharp, .NET, Aspose.Slides" +description: "PowerPoint の PPT を C# または .NET で PPTX に変換" --- ## **概要** -この記事では、C#を使用してPPT形式のPowerPointプレゼンテーションをPPTX形式に変換する方法を説明します。また、オンラインのPPTからPPTXへの変換アプリについても触れます。以下のトピックがカバーされています。 +この記事では、C# とオンライン PPT から PPTX 変換アプリを使用して、PPT 形式の PowerPoint プレゼンテーションを PPTX 形式に変換する方法を説明します。以下のトピックが取り上げられています。 -- [C#でPPTをPPTXに変換](#convert-ppt-to-pptx) +- [C# で PPT を PPTX に変換](#convert-ppt-to-pptx) -## **C#でPPTをPPTXに変換** +## **C# PPT を PPTX に変換** -PPTをPPTXに変換するためのC#のサンプルコードについては、以下のセクションを参照してください。すなわち、[C#でPPTをPPTXに変換](#convert-ppt-to-pptx)です。これはPPTファイルを読み込み、PPTX形式で保存するだけです。異なる保存形式を指定することで、PDF、XPS、ODP、HTMLなどの他の多くの形式にPPTファイルを保存することも可能です。これらの記事で説明されています。 +C# のサンプルコードで PPT を PPTX に変換する方法については、以下のセクション、すなわち[**PPT を PPTX に変換**](#convert-ppt-to-pptx) を参照してください。これは PPT ファイルを読み込み、PPTX 形式で保存するだけです。異なる保存形式を指定することで、PDF、XPS、ODP、HTML などの他の多数の形式でも PPT ファイルを保存できます。これらの記事で説明されています。 -- [C#でPPTをPDFに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) -- [C#でPPTをXPSに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) -- [C#でPPTをHTMLに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) -- [C#でPPTをODPに変換](https://docs.aspose.com/slides/net/save-presentation/) -- [C#でPPTを画像に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) +- [C# PPT を PDF に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) +- [C# PPT を XPS に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) +- [C# PPT を HTML に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) +- [C# PPT を ODP に変換](https://docs.aspose.com/slides/net/save-presentation/) +- [C# PPT を画像に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -## **PPTからPPTXへの変換について** -古いPPT形式をAspose.Slides APIを使用してPPTXに変換します。数千のPPTプレゼンテーションをPPTX形式に変換する必要がある場合、最良の解決策はプログラム的に行うことです。Aspose.Slides APIを使用すれば、数行のコードで行うことができます。このAPIは、PPTプレゼンテーションをPPTXに変換するための完全な互換性をサポートしており、次のことが可能です: +## **PPT から PPTX への変換について** +古い PPT 形式を Aspose.Slides API で PPTX に変換します。数千の PPT プレゼンテーションを PPTX 形式に変換する必要がある場合、プログラムで実行するのが最適なソリューションです。Aspose.Slides API を使用すれば、数行のコードで実現できます。API は PPT プレゼンテーションを PPTX に完全互換で変換でき、次のことが可能です。 -- マスター、レイアウト、およびスライドの複雑な構造を変換。 -- チャートを含むプレゼンテーションを変換。 -- グループ形状、オートシェイプ(矩形や楕円など)、カスタムジオメトリを持つ形状を含むプレゼンテーションを変換。 -- オートシェイプのテクスチャとピクチャフィルスタイルを持つプレゼンテーションを変換。 -- プレースホルダー、テキストフレーム、およびテキストホルダーを持つプレゼンテーションを変換。 +- マスター、レイアウト、スライドの複雑な構造を変換。 +- グラフを含むプレゼンテーションを変換。 +- グループ シェイプ、オートシェイプ(矩形や楕円など)、カスタムジオメトリを持つシェイプを変換。 +- テクスチャや画像塗りつぶしスタイルを持つオートシェイプを変換。 +- プレースホルダー、テキスト フレーム、テキスト ホルダーを含むプレゼンテーションを変換。 {{% alert color="primary" %}} -[**Aspose.Slides PPTからPPTXへの変換**](https://products.aspose.app/slides/conversion/ppt-to-pptx)アプリをご覧ください: +以下の[**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) アプリをご覧ください: [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -このアプリは**Aspose.Slides API**に基づいて構築されているため、基本的なPPTからPPTXへの変換機能の生きた例を見ることができます。Aspose.Slides ConversionはWebアプリで、PPT形式のプレゼンテーションファイルをドロップしてPPTXに変換してダウンロードすることができます。 +このアプリは **Aspose.Slides API** を基盤に構築されており、基本的な PPT から PPTX への変換機能の実例を見ることができます。Aspose.Slides Conversion はウェブアプリで、PPT 形式のプレゼンテーション ファイルをドロップすると PPTX に変換してダウンロードできます。 -他の生きた[**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/)の例を見つけてください。 +他のライブ例は[**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) をご参照ください。 {{% /alert %}} - -## **PPTをPPTXに変換** -PPTをPPTXに変換するには、ファイル名と保存形式を[**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスの[**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)メソッドに渡します。以下のC#コードサンプルは、デフォルトのオプションを使用してPPTからPPTXにプレゼンテーションを変換します。 - +## **PPT を PPTX に変換** +PPT を PPTX に変換するには、[**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) メソッドにファイル名と保存形式を渡すだけです。下の C# コード サンプルは、デフォルト オプションで PPT から PPTX にプレゼンテーションを変換します。 ```c# -// PPTXファイルを表すPresentationオブジェクトをインスタンス化 + // PPTX ファイルを表す Presentation オブジェクトをインスタンス化します Presentation pres = new Presentation("PPTtoPPTX.ppt"); -// PPTX形式でPPTXプレゼンテーションを保存 +// PPTX プレゼンテーションを PPTX 形式で保存します pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` -[**PPTとPPTX**](/slides/ja/net/ppt-vs-pptx/)プレゼンテーション形式の詳細および[**Aspose.SlidesがPPTからPPTXへの変換をサポートする方法**](/slides/ja/net/convert-ppt-to-pptx/)についてもっと読む。 \ No newline at end of file +[PPT と PPTX の違い](/slides/ja/net/ppt-vs-pptx/) や、[**Aspose.Slides が PPT から PPTX への変換をサポートする方法**](/slides/ja/net/convert-ppt-to-pptx/) について詳しく読むことができます。 + +## **FAQ** + +**PPT と PPTX の形式の違いは何ですか?** + +PPT は Microsoft PowerPoint が使用する古いバイナリ形式で、PPTX は Microsoft Office 2007 で導入された XML ベースの新しい形式です。PPTX はパフォーマンスが向上し、ファイルサイズが小さくなり、データ復元が改善されています。 + +**.NET で PPT を PPTX に変換できますか?** + +はい、Aspose.Slides for .NET ライブラリを使用すれば、数行のコードで PPT ファイルを読み込み、PPTX 形式で保存できます。 + +**複数の PPT ファイルをバッチで PPTX に変換できますか?** + +はい、Aspose.Slides をループ内で使用すれば、複数の PPT ファイルをプログラム的に PPTX に変換でき、バッチ変換シナリオに適しています。 + +**変換後にコンテンツや書式は保持されますか?** + +Aspose.Slides は高忠実度でプレゼンテーションを変換します。スライド レイアウト、アニメーション、シェイプ、グラフ、その他のデザイン要素は PPT から PPTX への変換時に保持されます。 + +**PPT から PDF や HTML など他の形式に変換できますか?** + +はい、Aspose.Slides は PDF、XPS、HTML、ODP、PNG や JPEG などの画像形式への変換もサポートしています。 + +**Microsoft PowerPoint がインストールされていなくても PPT を PPTX に変換できますか?** + +はい、Aspose.Slides for .NET はスタンドアロン API であり、Microsoft PowerPoint やサードパーティ製ソフトウェアは不要です。 + +**オンラインで PPT を PPTX に変換できるツールはありますか?** + +はい、無料の [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) Web アプリを使用すれば、コードを書かずにブラウザー上で直接変換できます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md index 2b9e40880a..728cc5de55 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md @@ -4,33 +4,47 @@ linktitle: PPTXをPPTに変換 type: docs weight: 21 url: /ja/net/convert-pptx-to-ppt/ -keywords: "C# PPTXをPPTに変換, PowerPointプレゼンテーションを変換, PPTXをPPT, C#, Aspose.Slides" +keywords: "C# PPTXをPPTに変換, PowerPointプレゼンテーションを変換, PPTXからPPT, C#, Aspose.Slides" description: "C#でPowerPoint PPTXをPPTに変換" --- ## **概要** -この記事では、C#を使用してPPTX形式のPowerPointプレゼンテーションをPPT形式に変換する方法について説明します。以下のトピックが扱われます。 +この記事では、C# を使用して PPTX 形式の PowerPoint プレゼンテーションを PPT 形式に変換する方法を説明します。以下のトピックが取り上げられています。 -- C#でPPTXをPPTに変換 +- C# で PPTX を PPT に変換する -## **C#でPPTXをPPTに変換** +## **C# で PPTX を PPT に変換** -PPTXをPPTに変換するためのC#サンプルコードについては、以下の[Convert PPTX to PPT](#convert-pptx-to-ppt)のセクションを参照してください。これは、PPTXファイルを読み込み、PPT形式で保存するだけです。異なる保存形式を指定することで、PPTXファイルをPDF、XPS、ODP、HTMLなど多くの他の形式に保存することもできます。これらの記事で議論されています。 +C# のサンプルコードで PPTX を PPT に変換する方法については、以下のセクション[Convert PPTX to PPT](#convert-pptx-to-ppt) を参照してください。これは PPTX ファイルを読み込み、PPT 形式で保存するだけです。異なる保存形式を指定すれば、PDF、XPS、ODP、HTML などのさまざまな形式でも PPTX ファイルを保存できます。これらの記事で詳しく説明しています。 -- [C#でPPTXをPDFに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) -- [C#でPPTXをXPSに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) -- [C#でPPTXをHTMLに変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) -- [C#でPPTXをODPに変換](https://docs.aspose.com/slides/net/save-presentation/) -- [C#でPPTXを画像に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) - -## **PPTXをPPTに変換** -PPTXをPPTに変換するには、[**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスの[**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/)メソッドにファイル名と保存形式を渡すだけです。以下のC#コードサンプルは、デフォルトオプションを使用してPPTXからPPTにプレゼンテーションを変換します。 +- [C# PPTX を PDF に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) +- [C# PPTX を XPS に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) +- [C# PPTX を HTML に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) +- [C# PPTX を ODP に変換](https://docs.aspose.com/slides/net/save-presentation/) +- [C# PPTX を Image に変換](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) +## **PPTX を PPT に変換** +PPTX を PPT に変換するには、ファイル名と保存形式を [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) メソッドに渡すだけです。このメソッドは [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスにあります。以下の C# コードサンプルは、デフォルトオプションを使用して PPTX から PPT にプレゼンテーションを変換します。 ```c# -// PPTXファイルを表すPresentationオブジェクトをインスタンス化 +// PPTX ファイルを表す Presentation オブジェクトをインスタンス化します Presentation pres = new Presentation("presentation.pptx"); -// PPTXプレゼンテーションをPPT形式で保存 +// PPTX プレゼンテーションを PPT 形式で保存します pres.Save("presentation.ppt", SaveFormat.Ppt); -``` \ No newline at end of file +``` + + +## **よくある質問** + +**PPTX のすべてのエフェクトや機能は、レガシー PPT (97–2003) 形式に保存したときに保持されますか?** + +必ずしもそうではありません。PPT 形式には新しい機能のいくつか(例: 特定のエフェクト、オブジェクト、動作)が欠如しているため、変換時に機能が簡略化されたりラスタライズされたりすることがあります。 + +**プレゼンテーション全体ではなく、選択したスライドだけを PPT に変換できますか?** + +直接保存はプレゼンテーション全体を対象とします。特定のスライドだけを変換するには、必要なスライドだけで新しいプレゼンテーションを作成して PPT として保存します。あるいは、スライド単位の変換パラメータをサポートするサービス/API を使用します。 + +**パスワードで保護されたプレゼンテーションはサポートされていますか?** + +はい。ファイルが保護されているかを検出し、パスワードで開くことができます。また、保存する PPT の[保護/暗号化設定を構成する](/slides/ja/net/password-protected-presentation/)も設定できます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index c879303e6e..58aad330cd 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,39 +1,54 @@ --- -title: PPTとPPTX +title: "違いを理解する: PPT と PPTX" +linktitle: PPT と PPTX type: docs weight: 10 url: /ja/net/ppt-vs-pptx/ -keywords: "PPTとPPTX, PPTまたはPPTX, PowerPointプレゼンテーション, フォーマット, C#, Csharp, .NET" -description: "PowerPointプレゼンテーションフォーマットについて。PPTとPPTX。C#または.NETでの違い" +keywords: "PPT と PPTX, PowerPoint フォーマット, C#, .NET, PPT を PPTX に変換, .NET のプレゼンテーション" +description: "PPT と PPTX フォーマットの主要な違いを探ります。C# と .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) を基盤としています。この XML ベースの形式は柔軟性が高く、PowerPoint 2007 以降と互換性があります。PPTX のモジュラリティにより、新しいチャートやシェイプのタイプなど機能追加が容易になり、主要なフォーマット変更なしで下位互換性が保たれます。 -## **PPTとPPTX** -PPTXはより広範な機能を提供しますが、PPTは依然として非常に人気があります。PPTからPPTXへの変換、およびその逆の必要性は高い需要があります。 +## **PPT と PPTX の主な違いと変換のポイント** +PPTX は従来の PPT フォーマットに比べて機能が強化されていますが、これらの形式間の変換は頻繁に必要です。PPT から PPTX への移行は互換性の問題により固有の課題があります。PowerPoint は PPT ファイル内に PPTX 専用データを格納するための特定コンポーネント (MetroBlob) を作成することがあり、古いバージョンの PowerPoint では表示できませんが、新しいバージョンで開いたり PPTX に変換したりすると復元できます。 -しかし、古いPPTと新しいPPTXフォーマット間の変換は、他のMicrosoft Officeフォーマットの中で最も複雑な課題です。PPTフォーマットの仕様はオープンですが、それを扱うのは困難です。PowerPointは、PPTファイル内に特別な部分(MetroBlob)を作成して、PPTフォーマットではサポートされず、古いPowerPointバージョンでは表示できないPPTXからの情報を保存できます。この情報は、PPTファイルが現代のPowerPointバージョンでロードされるか、PPTXフォーマットに変換されるときに復元されます。 - -Aspose.Slidesは、すべてのプレゼンテーションフォーマットを操作するための共通インターフェースを提供します。これにより、PPTからPPTX、PPTXからPPTへの変換が非常に簡単に行えます。Aspose.SlidesはPPTからPPTXへの変換を完全にサポートしており、一部の制限付きでPPTXからPPTへの変換もサポートしています。可能な限りPPTXフォーマットを使用することをお勧めします。 +Aspose.Slides は PPT と PPTX の両方の形式での作業を簡素化し、シームレスな変換機能を提供します。PPT から PPTX への完全な変換はサポートされていますが、PPTX から PPT への変換には制限があります。可能な限り PPTX を使用することが、機能性と互換性の最適化に推奨されます。 {{% alert color="primary" %}} - -オンラインでPPTからPPTXおよびPPTXからPPTへの変換品質をチェックしてください。[**Aspose.Slides変換アプリ**](https://products.aspose.app/slides/conversion/)。 - -{{% /alert %}} - -```c# -// PPTXファイルを表すPresentationオブジェクトをインスタンス化します +高品質な変換を [**Aspose.Slides Conversion tool**](https://products.aspose.app/slides/conversion/) で体験してください。 +{{% /alert %}} +```csharp +// PPTX ファイルを表す Presentation オブジェクトをインスタンス化 Presentation pres = new Presentation("PPTtoPPTX.ppt"); -// PPTXプレゼンテーションをPPTXフォーマットで保存します +// PPTX プレゼンテーションを PPTX 形式で保存 pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` + {{% alert color="primary" %}} -プレゼンテーションをPPTからPPTXに変換する方法についてもっと読むには[**こちら**.](/slides/ja/net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +さらに詳しく: [**プレゼンテーションの PPT から PPTX への変換方法**](/slides/ja/net/convert-ppt-to-pptx/) +{{% /alert %}} + +## **FAQ** + +**古い PPT のプレゼンテーションをエラーなしで開ける場合、残しておく意味はありますか?** + +プレゼンテーションが確実に開き、共同作業や新機能を必要としない場合は PPT のままで構いません。しかし、将来の互換性と拡張性を考えると、[PPTX に変換](/slides/ja/net/convert-ppt-to-pptx/) する方が望ましいです。フォーマットはオープン OOXML 標準に基づき、最新のツールでより容易にサポートされます。 + +**どのファイルを優先的に PPTX に変換すべきか、判断する方法は?** + +まず以下の条件に該当するプレゼンテーションを変換してください: 複数のユーザーで編集されているもの; 複雑な[チャート](/slides/ja/net/create-chart/)/[シェイプ](/slides/ja/net/shape-manipulations/) を含むもの; 外部コミュニケーションで使用されるもの; または[開く](/slides/ja/net/open-presentation/) ときに警告が出るもの。 + +**PPT から PPTX、そして元に戻す際にパスワード保護は保持されますか?** + +パスワードは、正しい変換とツール側で暗号化がサポートされている場合にのみ引き継がれます。より確実なのは、[保護を解除](/slides/ja/net/password-protected-presentation/)、[変換](/slides/ja/net/convert-ppt-to-pptx/)、そしてセキュリティポリシーに従って再度保護を適用することです。 + +**PPTX を PPT に戻す際、なぜ一部のエフェクトが消えたり簡略化されたりするのですか?** + +PPT は新しいオブジェクトやプロパティをサポートしていないためです。PowerPoint やツールはこれらの情報を特殊ブロックに「痕跡」として保存し、後で復元できるようにしますが、古いバージョンの PowerPoint では表示できません。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index 47c0f545d1..1b77f6d53a 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,89 +1,88 @@ --- -title: C#でスライドをSVG画像としてレンダリングする -linktitle: C#でスライドをSVG画像としてレンダリングする +title: C# でスライドを SVG 画像としてレンダリング +linktitle: スライドを SVG 画像としてレンダリング type: docs weight: 50 url: /ja/net/render-a-slide-as-an-svg-image/ -description: この記事では、C#を使用してPowerPointプレゼンテーションをSVG形式に変換する方法について説明します。PPT、PPTX、ODP形式をSVG画像に変換できます。 -keywords: C# PowerPointをSVGに変換, C# PPTをSVGに, C# PPTXをSVGに +description: この項目では、C# を使用して PowerPoint プレゼンテーションを SVG 形式に変換する方法を説明します。PPT、PPTX、ODP 形式を SVG 画像に変換できます。 +keywords: C# PowerPoint を SVG に変換, C# PPT を SVG に変換, C# PPTX を SVG に変換 --- -## 概要 +## **概要** -この記事では、**C#を使用してPowerPointプレゼンテーションをSVG形式に変換する方法**について説明します。以下のトピックを扱っています。 +このドキュメントでは、**C# を使用して PowerPoint プレゼンテーションを SVG 形式に変換する方法**について説明します。以下のトピックを取り上げています。 _形式_: **PowerPoint** -- [C# PowerPointをSVGに](#csharp-powerpoint-to-svg) -- [C# PowerPointをSVGに変換](#csharp-powerpoint-to-svg) -- [C# PowerPointファイルをSVGに変換する方法](#csharp-powerpoint-to-svg) +- [C# PowerPoint を SVG に変換](#csharp-powerpoint-to-svg) +- [C# PowerPoint を SVG に変換](#csharp-powerpoint-to-svg) +- [C# PowerPoint を SVG に変換](#csharp-powerpoint-to-svg) _形式_: **PPT** -- [C# PPTをSVGに](#csharp-ppt-to-svg) -- [C# PPTをSVGに変換](#csharp-ppt-to-svg) -- [C# PPTファイルをSVGに変換する方法](#csharp-ppt-to-svg) +- [C# PPT を SVG に変換](#csharp-ppt-to-svg) +- [C# PPT を SVG に変換](#csharp-ppt-to-svg) +- [C# PPT を SVG に変換](#csharp-ppt-to-svg) _形式_: **PPTX** -- [C# PPTXをSVGに](#csharp-pptx-to-svg) -- [C# PPTXをSVGに変換](#csharp-pptx-to-svg) -- [C# PPTXファイルをSVGに変換する方法](#csharp-pptx-to-svg) +- [C# PPTX を SVG に変換](#csharp-pptx-to-svg) +- [C# PPTX を SVG に変換](#csharp-pptx-to-svg) +- [C# PPTX を SVG に変換](#csharp-pptx-to-svg) _形式_: **ODP** -- [C# ODPをSVGに](#csharp-odp-to-svg) -- [C# ODPをSVGに変換](#csharp-odp-to-svg) -- [C# ODPファイルをSVGに変換する方法](#csharp-odp-to-svg) +- [C# ODP を SVG に変換](#csharp-odp-to-svg) +- [C# ODP を SVG に変換](#csharp-odp-to-svg) +- [C# ODP を SVG に変換](#csharp-odp-to-svg) -_形式_: **スライド** -- [C# PowerPointスライドをSVGに変換](#render-a-slide-as-an-svg-image) -- [C# PPTスライドをSVGに変換](#render-a-slide-as-an-svg-image) -- [C# PPTXスライドをSVGに変換](#render-a-slide-as-an-svg-image) -- [C# ODPスライドをSVGに変換](#render-a-slide-as-an-svg-image) +_形式_: **Slide** +- [C# PowerPoint スライドを SVG に変換](#render-a-slide-as-an-svg-image) +- [C# PPT スライドを SVG に変換](#render-a-slide-as-an-svg-image) +- [C# PPTX スライドを SVG に変換](#render-a-slide-as-an-svg-image) +- [C# ODP スライドを SVG に変換](#render-a-slide-as-an-svg-image) -この記事で扱うその他のトピック。 -- [参照](#see-also) +この記事で取り上げているその他のトピック。 +- [関連項目](#see-also) -## SVG形式 -SVGは、Scalable Vector Graphicsの略で、二次元画像をレンダリングするために使用される標準のグラフィックタイプまたは形式です。SVGは、動作や外観を定義する詳細を持ったXMLのベクターとして画像を保存します。 +## **SVG 形式** +SVG(Scalable Vector Graphics の略称)は、2 次元画像を描画するために使用される標準的なグラフィックタイプ/形式です。SVG は画像を XML のベクトルとして保存し、動作や外観を定義する詳細情報を含みます。 -SVGは、拡張性、相互作用性、パフォーマンス、アクセシビリティ、プログラマビリティなどの点で非常に高い基準を満たす数少ない画像形式の1つです。これらの理由から、Web開発で一般的に使用されます。 +SVG は、拡張性、インタラクティブ性、パフォーマンス、アクセシビリティ、プログラマビリティなど、非常に高い基準を満たす数少ない画像形式のひとつです。そのため、ウェブ開発で広く利用されています。 -次の場合にSVGファイルを使用することを検討するかもしれません。 +以下のようなケースで SVG ファイルを使用したい場合があります。 -- **プレゼンテーションを*非常に大きなフォーマット*で印刷する必要がある場合。** SVG画像は、任意の解像度やレベルに拡張できます。SVG画像は、品質を損なうことなく必要に応じて何度でもサイズ変更できます。 -- **異なる媒体やプラットフォームでスライドのチャートやグラフを使用する場合。** 多くのリーダーはSVGファイルを解釈できます。 -- ***可能な限り最小の画像サイズ*を使用する場合。** SVGファイルは一般的に、他の形式の高解像度の同等物よりも小さいです、特にビットマップ(JPEGやPNG)に基づく形式のものは特にそうです。 +- **プレゼンテーションを *非常に大きなサイズ* で印刷**。SVG 画像は任意の解像度やサイズに拡大でき、品質を損なうことなく何度でもリサイズできます。 +- **スライド内のチャートやグラフを *さまざまな媒体やプラットフォーム* で使用**。ほとんどの閲覧者が SVG ファイルを解釈できます。 +- **可能な限り *小さなサイズ* の画像を使用**。SVG ファイルは、特にビットマップベース(JPEG や PNG)の高解像度版に比べて一般的にサイズが小さくなります。 -## スライドをSVG画像としてレンダリングする +## **スライドを SVG 画像としてレンダリング** -Aspose.Slides for .NETを使用すると、プレゼンテーション内のスライドをSVG画像としてエクスポートできます。SVG画像を生成するための手順は以下のとおりです。 +Aspose.Slides for .NET を使用すると、プレゼンテーション内のスライドを SVG 画像としてエクスポートできます。以下の手順で SVG 画像を生成します。 -_手順: C#でのPowerPointからSVGへの変換_ +_手順: C# で PowerPoint を SVG に変換_ -以下のサンプルコードは、.NETを使用したこれらの変換を説明します。 -- 手順: C#でPowerPointをSVGに変換する -- 手順: C#でPPTをSVGに変換する -- 手順: C#でPPTXをSVGに変換する -- 手順: C#でODPをSVGに変換する +以下のサンプルコードは、.NET を使用した変換方法を示しています。 +- 手順: C# で PowerPoint を SVG に変換 +- 手順: C# で PPT を SVG に変換 +- 手順: C# で PPTX を SVG に変換 +- 手順: C# で ODP を SVG に変換 -_コード手順:_ +**コード手順:** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスのインスタンスを作成します。 - * _.ppt_拡張子を使用して、_Presentation_クラス内に**PPT**ファイルをロードします。 - * _.pptx_拡張子を使用して、_Presentation_クラス内に**PPTX**ファイルをロードします。 - * _.odp_拡張子を使用して、_Presentation_クラス内に**ODP**ファイルをロードします。 - * _.pps_拡張子を使用して、_Presentation_クラス内に**PPS**ファイルをロードします。 -2. プレゼンテーション内のすべてのスライドを繰り返します。 -3. 各スライドをFileStreamを介して自身のSVGファイルに書き込みます。 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスのインスタンスを作成します。 + - _.ppt_ 拡張子で _Presentation_ クラスに **PPT** ファイルをロードします。 + - _.pptx_ 拡張子で _Presentation_ クラスに **PPTX** ファイルをロードします。 + - _.odp_ 拡張子で _Presentation_ クラスに **ODP** ファイルをロードします。 + - _.pps_ 拡張子で _Presentation_ クラスに **PPS** ファイルをロードします。 +2. プレゼンテーション内のすべてのスライドを反復処理します。 +3. 各スライドを FileStream を介して個別の SVG ファイルに書き出します。 {{% alert color="primary" %}} -私たちの[無料Webアプリケーション](https://products.aspose.app/slides/conversion/ppt-to-svg)を試してみることを検討するかもしれません。ここでは、Aspose.Slides for .NETからPPTをSVGに変換する機能を実装しています。 +当社の[無料のウェブアプリケーション](https://products.aspose.app/slides/conversion/ppt-to-svg)をぜひお試しください。Aspose.Slides for .NET の PPT から SVG への変換機能を実装しています。 {{% /alert %}} -このC#のサンプルコードは、Aspose.Slidesを使用してPowerPointをSVGに変換する方法を示しています: - +以下の C# サンプルコードは、Aspose.Slides を使用して PowerPoint を SVG に変換する方法を示しています。 ``` csharp -// Presentationオブジェクトは、PPT、PPTX、ODPなどのPowerPoint形式をロードできます。 +// Presentation オブジェクトは PPT、PPTX、ODP などの PowerPoint フォーマットを読み込むことができます。 using (Presentation pres = new Presentation("pres.pptx")) { for (var index = 0; index < pres.Slides.Count; index++) @@ -98,46 +97,61 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## 参照 -この記事では、次のトピックも扱っています。コードは上記と同じです。 +## **よくある質問** + +**なぜ生成された SVG はブラウザ間で見た目が異なる可能性があるのでしょうか?** + +特定の SVG 機能のサポートはブラウザエンジンごとに実装が異なります。[SVGOptions](https://reference.aspose.com/slides/net/aspose.slides.export/svgoptions/) パラメータを使用すると、互換性の問題を緩和できます。 + +**スライドだけでなく個々のシェイプも SVG としてエクスポートできますか?** + +はい。任意の[shape can be saved as a separate SVG](https://reference.aspose.com/slides/net/aspose.slides/shape/writeassvg/)で、アイコンやピクトグラム、グラフィックの再利用に便利です。 + +**複数のスライドを 1 つの SVG(ストリップ/ドキュメント)に結合できますか?** + +標準的なシナリオは「1 スライド → 1 SVG」です。複数スライドを単一の SVG キャンバスに結合する場合は、アプリケーションレベルでのポストプロセスが必要となります。 + +## **関連項目** + +この記事でもこれらのトピックを取り上げています。コードは上記と同じです。 _形式_: **PowerPoint** -- [C# PowerPointをSVGにコード](#csharp-powerpoint-to-svg) -- [C# PowerPointをSVGにAPI](#csharp-powerpoint-to-svg) -- [C# PowerPointをプログラムでSVGに変換](#csharp-powerpoint-to-svg) -- [C# PowerPointをSVGライブラリ](#csharp-powerpoint-to-svg) -- [C# PowerPointをSVGとして保存](#csharp-powerpoint-to-svg) -- [C# PowerPointからSVGを生成](#csharp-powerpoint-to-svg) -- [C# PowerPointからSVGを作成](#csharp-powerpoint-to-svg) -- [C# PowerPointをSVGコンバータ](#csharp-powerpoint-to-svg) +- [C# PowerPoint を SVG に変換コード](#csharp-powerpoint-to-svg) +- [C# PowerPoint を SVG に変換 API](#csharp-powerpoint-to-svg) +- [C# PowerPoint を SVG にプログラム的に変換](#csharp-powerpoint-to-svg) +- [C# PowerPoint を SVG に変換ライブラリ](#csharp-powerpoint-to-svg) +- [C# PowerPoint を SVG として保存](#csharp-powerpoint-to-svg) +- [C# PowerPoint から SVG を生成](#csharp-powerpoint-to-svg) +- [C# PowerPoint から SVG を作成](#csharp-powerpoint-to-svg) +- [C# PowerPoint to SVG コンバータ](#csharp-powerpoint-to-svg) _形式_: **PPT** -- [C# PPTをSVGにコード](#csharp-ppt-to-svg) -- [C# PPTをSVGにAPI](#csharp-ppt-to-svg) -- [C# PPTをプログラムでSVGに変換](#csharp-ppt-to-svg) -- [C# PPTをSVGライブラリ](#csharp-ppt-to-svg) -- [C# PPTをSVGとして保存](#csharp-ppt-to-svg) -- [C# PPTからSVGを生成](#csharp-ppt-to-svg) -- [C# PPTからSVGを作成](#csharp-ppt-to-svg) -- [C# PPTをSVGコンバータ](#csharp-ppt-to-svg) +- [C# PPT を SVG に変換コード](#csharp-ppt-to-svg) +- [C# PPT を SVG に変換 API](#csharp-ppt-to-svg) +- [C# PPT を SVG にプログラム的に変換](#csharp-ppt-to-svg) +- [C# PPT を SVG に変換ライブラリ](#csharp-ppt-to-svg) +- [C# PPT を SVG として保存](#csharp-ppt-to-svg) +- [C# PPT から SVG を生成](#csharp-ppt-to-svg) +- [C# PPT から SVG を作成](#csharp-ppt-to-svg) +- [C# PPT to SVG コンバータ](#csharp-ppt-to-svg) _形式_: **PPTX** -- [C# PPTXをSVGにコード](#csharp-pptx-to-svg) -- [C# PPTXをSVGにAPI](#csharp-pptx-to-svg) -- [C# PPTXをプログラムでSVGに変換](#csharp-pptx-to-svg) -- [C# PPTXをSVGライブラリ](#csharp-pptx-to-svg) -- [C# PPTXをSVGとして保存](#csharp-pptx-to-svg) -- [C# PPTXからSVGを生成](#csharp-pptx-to-svg) -- [C# PPTXからSVGを作成](#csharp-pptx-to-svg) -- [C# PPTXをSVGコンバータ](#csharp-pptx-to-svg) +- [C# PPTX を SVG に変換コード](#csharp-pptx-to-svg) +- [C# PPTX を SVG に変換 API](#csharp-pptx-to-svg) +- [C# PPTX を SVG にプログラム的に変換](#csharp-pptx-to-svg) +- [C# PPTX を SVG に変換ライブラリ](#csharp-pptx-to-svg) +- [C# PPTX を SVG として保存](#csharp-pptx-to-svg) +- [C# PPTX から SVG を生成](#csharp-pptx-to-svg) +- [C# PPTX から SVG を作成](#csharp-pptx-to-svg) +- [C# PPTX to SVG コンバータ](#csharp-pptx-to-svg) _形式_: **ODP** -- [C# ODPをSVGにコード](#csharp-odp-to-svg) -- [C# ODPをSVGにAPI](#csharp-odp-to-svg) -- [C# ODPをプログラムでSVGに変換](#csharp-odp-to-svg) -- [C# ODPをSVGライブラリ](#csharp-odp-to-svg) -- [C# ODPをSVGとして保存](#csharp-odp-to-svg) -- [C# ODPからSVGを生成](#csharp-odp-to-svg) -- [C# ODPからSVGを作成](#csharp-odp-to-svg) -- [C# ODPをSVGコンバータ](#csharp-odp-to-svg) \ No newline at end of file +- [C# ODP を SVG に変換コード](#csharp-odp-to-svg) +- [C# ODP を SVG に変換 API](#csharp-odp-to-svg) +- [C# ODP を SVG にプログラム的に変換](#csharp-odp-to-svg) +- [C# ODP を SVG に変換ライブラリ](#csharp-odp-to-svg) +- [C# ODP を SVG として保存](#csharp-odp-to-svg) +- [C# ODP から SVG を生成](#csharp-odp-to-svg) +- [C# ODP から SVG を作成](#csharp-odp-to-svg) +- [C# ODP to SVG コンバータ](#csharp-odp-to-svg) \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index efea07133f..e1e7ee0baf 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -1,34 +1,33 @@ --- -title: HTML5へのエクスポート +title: HTML5 にエクスポート type: docs weight: 40 url: /ja/net/export-to-html5/ keywords: -- PowerPointからHTMLへの変換 -- スライドをHTMLに変換 +- PowerPoint を HTML に変換 +- スライドを HTML に変換 - HTML5 -- HTMLエクスポート -- プレゼンテーションのエクスポート -- プレゼンテーションの変換 -- スライドの変換 +- HTML エクスポート +- プレゼンテーションをエクスポート +- プレゼンテーションを変換 +- スライドを変換 +- C# - C# -- Csharp - Aspose.Slides for .NET -description: "C#または.NETでPowerPointをHTML5にエクスポート" +description: "C# または .NET で PowerPoint を HTML5 にエクスポート" --- {{% alert title="情報" color="info" %}} -[Aspose.Slides 21.9](/slides/ja/net/aspose-slides-for-net-21-9-release-notes/) では、HTML5エクスポートのサポートを実装しました。ただし、WebExtensionsを使用してPowerPointをHTMLにエクスポートすることを希望される場合は、[この記事](/slides/ja/net/web-extensions/)をご覧ください。 - -{{% /alert %}} +[Aspose.Slides 21.9](/slides/ja/net/aspose-slides-for-net-21-9-release-notes/) では HTML5 エクスポートのサポートを実装しました。ただし、WebExtensions を使用して PowerPoint を HTML にエクスポートしたい場合は、代わりに [この記事](/slides/ja/net/web-extensions/)をご参照ください。 -ここでのHTML5へのエクスポートプロセスでは、WebExtensionsや依存関係を使用せずにPowerPointをHTMLに変換できます。この方法では、自分自身のテンプレートを使用して、エクスポートプロセスと生成されるHTML、CSS、JavaScript、アニメーション属性を定義する非常に柔軟なオプションを適用できます。 +{{% /alert %}} -## **PowerPointをHTML5にエクスポート** +ここでの HTML5 エクスポートプロセスは、WebExtensions や外部依存関係なしで PowerPoint を HTML に変換できます。独自のテンプレートを使用することで、エクスポートプロセスと生成される HTML、CSS、JavaScript、アニメーション属性を柔軟に定義するオプションを適用できます。 -このC#コードは、WebExtensionsや依存関係を使用せずにプレゼンテーションをHTML5にエクスポートする方法を示しています。 +## **PowerPoint を HTML5 にエクスポート** +以下の C# コードは、WebExtensions や依存関係なしでプレゼンテーションを HTML5 にエクスポートする方法を示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -36,14 +35,14 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` + {{% alert color="primary" %}} -この場合、クリーンなHTMLが得られます。 +この場合、クリーンな HTML が取得できます。 {{% /alert %}} -この方法で形状のアニメーションやスライドのトランジションの設定を指定することができます。 - +このようにして、図形アニメーションやスライド遷移の設定を指定することもできます: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -55,10 +54,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -#### **PowerPointをHTMLにエクスポート** -このC#コードは、標準のPowerPointからHTMLへのプロセスを示しています。 +## **PowerPoint を HTML にエクスポート** +以下の C# は標準的な PowerPoint → HTML のプロセスを示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -66,30 +65,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -この場合、プレゼンテーションの内容は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ファイルをブラウザで開くと、ウェブページ上でスライドビューのモードでプレゼンテーションが表示されます。 - -このC#コードは、PowerPointをHTML5スライドビューにエクスポートするプロセスを示しています。 +**Aspose.Slides** を使用すると、スライドがスライドビュー モードで表示される HTML5 ドキュメントに PowerPoint プレゼンテーションを変換できます。この場合、生成された HTML5 ファイルをブラウザで開くと、Web ページ上でスライドビュー モードのプレゼンテーションが表示されます。 +以下の C# コードは、PowerPoint を HTML5 スライドビューにエクスポートするプロセスを示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -101,17 +100,18 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## コメント付きのプレゼンテーションをHTML5文書に変換する -PowerPointのコメントは、ユーザーがプレゼンテーションスライドにメモやフィードバックを残すことを許可するツールです。これは特に共同作業プロジェクトで便利で、複数の人がメインコンテンツを変更することなく特定のスライド要素に提案やメモを追加できます。各コメントは著者の名前を表示し、誰がメモを残したかを追跡しやすくします。 +## **コメント付き HTML5 ドキュメントへのプレゼンテーション変換** + +PowerPoint のコメントは、スライド上の特定要素に対してメモやフィードバックを残すためのツールです。特に共同作業プロジェクトで有用で、複数のユーザーがメインコンテンツを変更せずに意見を追加できます。各コメントは作成者名を表示するため、誰がコメントしたかが容易に把握できます。 -以下のPowerPointプレゼンテーションが「sample.pptx」というファイルに保存されているとします。 +たとえば、"sample.pptx" ファイルに保存された次の PowerPoint プレゼンテーションがあるとします。 -![プレゼンテーションスライドの2つのコメント](two_comments_pptx.png) +![プレゼンテーションスライドの 2 つのコメント](two_comments_pptx.png) -PowerPointプレゼンテーションをHTML5文書に変換する際、出力文書にプレゼンテーションからのコメントを含めるかどうかを簡単に指定できます。これを行うには、[Html5Options](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/)クラスの`NotesCommentsLayouting`プロパティでコメントの表示パラメータを指定する必要があります。 +PowerPoint プレゼンテーションを HTML5 ドキュメントに変換する際に、コメントを出力ドキュメントに含めるかどうかを簡単に指定できます。そのためには、[Html5Options](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/) クラスの `NotesCommentsLayouting` プロパティでコメントの表示パラメータを指定します。 -以下のコード例は、スライドの右側に表示されるコメント付きでプレゼンテーションをHTML5文書に変換します。 +以下のコード例は、スライドの右側にコメントを表示した状態でプレゼンテーションを HTML5 ドキュメントに変換します。 ```cs var html5Options = new Html5Options { @@ -125,6 +125,21 @@ using var presentation = new Presentation("sample.pptx"); presentation.Save("output.html", SaveFormat.Html5, html5Options); ``` -「output.html」文書は、以下の画像に示されています。 -![出力HTML5文書のコメント](two_comments_html5.png) \ No newline at end of file +以下の画像は、生成された "output.html" ドキュメントです。 + +![出力された HTML5 ドキュメント内のコメント](two_comments_html5.png) + +## **FAQ** + +**HTML5 でオブジェクトのアニメーションやスライド遷移の再生を制御できますか?** + +はい、HTML5 では [shape animations](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animateshapes/) と [slide transitions](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animatetransitions/) を個別に有効化または無効化するオプションが用意されています。 + +**コメントの出力はサポートされていますか?また、スライドに対してどこに配置できますか?** + +はい、HTML5 でコメントを追加でき、[layout settings](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/notescommentslayouting/) を使用してスライドの右側など任意の位置に配置できます。 + +**セキュリティまたは CSP の理由で JavaScript を呼び出すリンクをスキップできますか?** + +はい、[setting](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/skipjavascriptlinks/) により、保存時に JavaScript 呼び出しを含むハイパーリンクをスキップできます。これにより、厳格なセキュリティポリシーへの準拠が容易になります。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/ja/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index 6f9b2d87cb..849281a076 100644 --- a/ja/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/ja/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -3,28 +3,25 @@ title: XAMLへのエクスポート type: docs weight: 30 url: /ja/net/export-to-xaml/ -keywords: "PowerPointプレゼンテーションをエクスポート, PowerPointを変換, XAML, PowerPointからXAML, PPTからXAML, PPTXからXAML, C#, Csharp, .NET" -description: "PowerPointプレゼンテーションをXAMLにエクスポートまたは変換" +keywords: "PowerPoint プレゼンテーションのエクスポート, PowerPoint の変換, XAML, PowerPoint を XAML に変換, PPT を XAML に変換, PPTX を XAML に変換, C#, Csharp, .NET" +description: "PowerPoint プレゼンテーションを XAML にエクスポートまたは変換" --- -# プレゼンテーションをXAMLにエクスポートする - -{{% alert title="情報" color="info" %}} - -[Aspose.Slides 21.6](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-6-release-notes/)で、XAMLエクスポートのサポートを実装しました。これで、プレゼンテーションをXAMLにエクスポートできるようになりました。 +# **プレゼンテーションをXAMLにエクスポート** +{{% alert title="Info" color="info" %}} +[Aspose.Slides 21.6](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-6-release-notes/)でXAMLエクスポートのサポートを実装しました。これでプレゼンテーションをXAMLにエクスポートできるようになりました。 {{% /alert %}} -# XAMLについて +# **XAMLについて** -XAMLは、アプリケーションのユーザーインターフェースを構築または記述するための記述型プログラミング言語であり、特にWPF(Windows Presentation Foundation)、UWP(Universal Windows Platform)、およびXamarinフォームを使用するアプリに関連しています。 +XAMLは、特にWPF(Windows Presentation Foundation)、UWP(Universal Windows Platform)、Xamarin Formsで使用されるアプリのユーザーインターフェイスを構築または記述できる記述型プログラミング言語です。 -XAMLはXMLベースの言語で、MicrosoftのGUIを記述するためのバリアントです。通常、デザイナーを使用してXAMLファイルで作業することが多いですが、GUIを書くことや編集することもできます。 +XMLベースの言語であるXAMLは、MicrosoftがGUIを記述するために提供しているバリアントです。多くの場合、デザイナーを使用してXAMLファイルを操作しますが、手動でGUIを記述・編集することも可能です。 -## デフォルトオプションでのプレゼンテーションをXAMLにエクスポートする +## **デフォルトオプションでプレゼンテーションをXAMLにエクスポート** このC#コードは、デフォルト設定でプレゼンテーションをXAMLにエクスポートする方法を示しています: - ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,15 +29,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## カスタムオプションでのプレゼンテーションをXAMLにエクスポートする -[IXamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions)インターフェースからオプションを選択でき、エクスポートプロセスを制御し、Aspose.SlidesがプレゼンテーションをXAMLにエクスポートする方法を決定します。 +## **カスタムオプションでプレゼンテーションをXAMLにエクスポート** -たとえば、Aspose.Slidesにプレゼンテーションから隠れたスライドをXAMLにエクスポートする際に追加させたい場合、[ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides)プロパティをtrueに設定できます。このサンプルC#コードを参照してください: +エクスポートプロセスを制御し、Aspose.SlidesがプレゼンテーションをXAMLにエクスポートする方法を決定するオプションは、[IXamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions)インターフェイスから選択できます。 +たとえば、エクスポート時に隠しスライドをXAMLに含めたい場合は、[ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides)プロパティをtrueに設定します。以下のC#サンプルをご参照ください: ```c# using (Presentation pres = new Presentation("pres.pptx")) { pres.Save(new XamlOptions { ExportHiddenSlides = true }); } -``` \ No newline at end of file +``` + + +## **よくある質問** + +**元のフォントがマシンに存在しない場合、フォントの予測可能性を確保するにはどうすればよいですか?** + +[XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/)の[DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/)を設定します。元のフォントが欠落しているときのフォールバックフォントとして使用され、予期しない置換を防止します。 + +**エクスポートされたXAMLはWPF専用ですか、それとも他のXAMLスタックでも使用可能ですか?** + +XAMLはWPF、UWP、Xamarin.Formsで使用される汎用UIマークアップ言語です。エクスポートはMicrosoftのXAMLスタックとの互換性を対象としており、具体的な動作や特定構文のサポートは対象プラットフォームに依存します。実際の環境でマークアップをテストしてください。 + +**隠しスライドはサポートされていますか?デフォルトでエクスポートされないようにするにはどうすればよいですか?** + +デフォルトでは隠しスライドは含まれません。[XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/)の[ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/exporthiddenslides/)でこの動作を制御できます。エクスポートが不要な場合は無効のままにしてください。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/create-presentation/_index.md b/ja/net/developer-guide/manage-presentation/create-presentation/_index.md index 76c52c3a3f..e24b2b3584 100644 --- a/ja/net/developer-guide/manage-presentation/create-presentation/_index.md +++ b/ja/net/developer-guide/manage-presentation/create-presentation/_index.md @@ -1,59 +1,97 @@ --- -title: .NETでプレゼンテーションを作成する -linktitle: プレゼンテーションを作成する +title: .NET でプレゼンテーションを作成 +linktitle: プレゼンテーションの作成 type: docs weight: 10 url: /ja/net/create-presentation/ -keywords: "PowerPointを作成, PPTX, PPT, プレゼンテーションを作成, プレゼンテーションを初期化, C#, .NET" -description: "C#でプログラムでPowerPointプレゼンテーションを作成する例(PPT, PPTX, ODPなど)。" +keywords: "PowerPoint の作成, PPTX, PPT, プレゼンテーションの作成, プレゼンテーションの初期化, C#, .NET" +description: "C# で PowerPoint プレゼンテーションをプログラム的に作成 (例: PPT, PPTX, ODP など)" --- -## PowerPointプレゼンテーションを作成する -選択したスライドにシンプルな直線を追加するには、以下の手順に従ってください。 +## **PowerPoint プレゼンテーションの作成** +プレゼンテーションの選択されたスライドにシンプルな直線を追加するには、以下の手順に従ってください。 -1. Presentationクラスのインスタンスを作成します。 -1. インデックスを使用してスライドの参照を取得します。 -1. Shapesオブジェクトが公開するAddAutoShapeメソッドを使用して、ラインタイプのAutoShapeを追加します。 -1. 修正したプレゼンテーションをPPTXファイルとして保存します。 - -以下の例では、プレゼンテーションの最初のスライドに線を追加しています。 +1. Presentation クラスのインスタンスを作成します。 +2. インデックスを使用してスライドの参照を取得します。 +3. Shapes オブジェクトが提供する AddAutoShape メソッドを使用して、Line タイプの AutoShape を追加します。 +4. 変更されたプレゼンテーションを PPTX ファイルとして書き出します。 +以下の例では、プレゼンテーションの最初のスライドに直線を追加しています。 ```c# -// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化します -using (Presentation presentation = new Presentation()) -{ - // 最初のスライドを取得します - ISlide slide = presentation.Slides[0]; - - // ライントタイプのオートシェイプを追加します - slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); - presentation.Save("NewPresentation_out.pptx", SaveFormat.Pptx); -} + // プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化します + using (Presentation presentation = new Presentation()) + { + // 最初のスライドを取得します + ISlide slide = presentation.Slides[0]; + + // ラインタイプのオートシェイプを追加します + slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); + presentation.Save("NewPresentation_out.pptx", SaveFormat.Pptx); + } ``` -## プレゼンテーションを作成して保存する -手順: C#でプレゼンテーションを作成して保存する +## **プレゼンテーションの作成と保存** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -2. _Presentation_を[SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/)がサポートする任意の形式で保存します。 +手順: C# でプレゼンテーションを作成して保存 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. _Presentation_ を [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) がサポートする任意の形式で保存します。 ```c# Presentation presentation = new Presentation(); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); ``` -## プレゼンテーションを開いて保存する -手順: C#でプレゼンテーションを開いて保存する +## **プレゼンテーションの開くと保存** -1. 任意の形式(PPT、PPTX、ODPなど)で[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -2. _Presentation_を[SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/)がサポートする任意の形式で保存します。 +手順: C# でプレゼンテーションを開くと保存 +1. 任意の形式(PPT、PPTX、ODP など)で [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. _Presentation_ を [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) がサポートする任意の形式で保存します。 ```c# -// PPT、PPTX、ODPなどの任意のサポートファイルをPresentationに読み込みます +// Presentation でサポートされている任意のファイルを読み込みます(例:ppt、pptx、odp など) Presentation presentation = new Presentation("Sample.odp"); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **よくある質問** + +**新しいプレゼンテーションをどの形式で保存できますか?** + +次のリンク先の形式で保存できます: [PPTX、PPT、ODP](/slides/ja/net/save-presentation/)、また、[PDF](/slides/ja/net/convert-powerpoint-to-pdf/)、[XPS](/slides/ja/net/convert-powerpoint-to-xps/)、[HTML](/slides/ja/net/convert-powerpoint-to-html/)、[SVG](/slides/ja/net/convert-powerpoint-to-png/)、および [images](/slides/ja/net/convert-powerpoint-to-png/) などにエクスポートできます。 + +**テンプレート(POTX/POTM)から開始し、通常の PPTX として保存できますか?** + +はい。テンプレートを読み込み、目的の形式で保存できます。POTX、POTM、PPTM などの形式は [サポートされています](/slides/ja/net/supported-file-formats/)。 + +**プレゼンテーション作成時にスライドサイズ/アスペクト比を制御するにはどうすればよいですか?** + +[スライドサイズ](/slides/ja/net/slide-size/) を設定します(4:3 や 16:9 などのプリセットまたはカスタム寸法を含む)。コンテンツのスケール方法を選択します。 + +**サイズと座標はどの単位で測定されますか?** + +ポイント単位です。1 インチは 72 ユニットに相当します。 + +**多数のメディアファイルを含む非常に大きなプレゼンテーションのメモリ使用量を削減するにはどうすればよいですか?** + +[BLOB 管理戦略](/slides/ja/net/manage-blob/) を使用し、一時ファイルを活用してメモリ内保存を制限し、純粋なインメモリ ストリームよりもファイルベースのワークフローを優先します。 + +**プレゼンテーションを並行して作成/保存できますか?** + +同じ [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) インスタンスを [複数のスレッド](/slides/ja/net/multithreading/) から操作することはできません。スレッドまたはプロセスごとに別々の、分離されたインスタンスを実行してください。 + +**トライアルの透かしと制限を削除するにはどうすればよいですか?** + +プロセスごとに一度、[ライセンスを適用](/slides/ja/net/licensing/)してください。ライセンス XML は変更せず、複数スレッドが関与する場合はライセンス設定を同期させる必要があります。 + +**作成した PPTX にデジタル署名できますか?** + +はい。プレゼンテーションは [デジタル署名](/slides/ja/net/digital-signature-in-powerpoint/)(追加と検証)がサポートされています。 + +**作成したプレゼンテーションでマクロ(VBA)はサポートされていますか?** + +はい。VBA プロジェクトの [作成/編集](/slides/ja/net/presentation-via-vba/) が可能で、PPTM/PPSM などのマクロ有効ファイルとして保存できます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/examine-presentation/_index.md b/ja/net/developer-guide/manage-presentation/examine-presentation/_index.md index 375d9010ea..15b7edc48c 100644 --- a/ja/net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/ja/net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,40 +1,37 @@ --- -title: プレゼンテーションの確認 +title: プレゼンテーションの検査 type: docs weight: 30 url: /ja/net/examine-presentation/ keywords: - PowerPoint - プレゼンテーション -- プレゼンテーションフォーマット -- プレゼンテーションプロパティ -- ドキュメントプロパティ -- プロパティを取得 -- プロパティを読み取る -- プロパティを変更 -- プロパティを修正 +- プレゼンテーション形式 +- プレゼンテーション プロパティ +- ドキュメント プロパティ +- プロパティの取得 +- プロパティの読み取り +- プロパティの変更 +- プロパティの修正 - PPTX - PPT - C# - Csharp - .NET -description: "C# または .NET で PowerPoint プレゼンテーションのプロパティを読み取り、修正します" +description: "C# または .NET で PowerPoint プレゼンテーションのプロパティを読み取りおよび変更" --- -Aspose.Slides for .NET を使用すると、プレゼンテーションを検査してそのプロパティを確認し、動作を理解することができます。 +Aspose.Slides for .NET は、プレゼンテーションを調べてそのプロパティを確認し、動作を理解することができます。 -{{% alert title="情報" color="info" %}} +{{% alert title="Info" color="info" %}} +[PresentationInfo](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo) と [DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/) クラスには、ここで使用する操作に必要なプロパティとメソッドが含まれています。 +{{% /alert %}} -[PresentationInfo](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo) および [DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/) クラスには、ここでの操作に使用されるプロパティとメソッドが含まれています。 +## **プレゼンテーション形式の確認** -{{% /alert %}} - -## **プレゼンテーションフォーマットの確認** - -プレゼンテーションに取り組む前に、現在プレゼンテーションがどのフォーマット (PPT、PPTX、ODP など) であるかを確認したい場合があります。 - -プレゼンテーションを読み込まずに、そのフォーマットを確認できます。以下の C# コードを参照してください。 +プレゼンテーションを操作する前に、現在のプレゼンテーションがどの形式(PPT、PPTX、ODP など)であるかを確認したい場合があります。 +プレゼンテーションを読み込まずに形式を確認できます。以下の C# コードをご覧ください。 ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); Console.WriteLine(info.LoadFormat); // PPTX @@ -46,10 +43,10 @@ IPresentationInfo info3 = PresentationFactory.Instance.GetPresentationInfo("pres Console.WriteLine(info3.LoadFormat); // ODP ``` -## **プレゼンテーションプロパティの取得** -この C# コードは、プレゼンテーションのプロパティ (プレゼンテーションに関する情報) を取得する方法を示しています。 +## **プレゼンテーションのプロパティ取得** +この C# コードは、プレゼンテーションのプロパティ(プレゼンテーションに関する情報)を取得する方法を示しています。 ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); IDocumentProperties props = info.ReadDocumentProperties(); @@ -59,40 +56,63 @@ Console.WriteLine(props.Title); // .. ``` -[DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties) クラスの下のプロパティを確認したいかもしれません。 -## **プレゼンテーションプロパティの更新** +DocumentProperties クラスの [DocumentProperties のプロパティ](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties) を確認したい場合があります。 -Aspose.Slides では、プレゼンテーションプロパティを変更することを可能にする [PresentationInfo.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties) メソッドが提供されています。 +## **プレゼンテーションのプロパティ更新** -例として、以下に示すドキュメントプロパティを持つ PowerPoint プレゼンテーションがあるとします。 +Aspose.Slides は、プレゼンテーションのプロパティを変更できる [PresentationInfo.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties) メソッドを提供します。 + +以下に示すように、ドキュメントプロパティが設定された PowerPoint プレゼンテーションがあるとします。 ![PowerPoint プレゼンテーションの元のドキュメントプロパティ](input_properties.png) このコード例は、いくつかのプレゼンテーションプロパティを編集する方法を示しています。 - ```c# string fileName = "sample.pptx"; IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo(fileName); IDocumentProperties properties = info.ReadDocumentProperties(); -properties.Title = "私のタイトル"; +properties.Title = "My title"; properties.LastSavedTime = DateTime.Now; info.UpdateDocumentProperties(properties); info.WriteBindedPresentation(fileName); ``` -ドキュメントプロパティを変更した結果は以下に示されています。 -![PowerPoint プレゼンテーションの変更されたドキュメントプロパティ](output_properties.png) +ドキュメントプロパティを変更した結果は、以下に示されています。 + +![PowerPoint プレゼンテーションの変更後ドキュメントプロパティ](output_properties.png) ## **便利なリンク** -プレゼンテーションとそのセキュリティ属性に関する詳細情報を取得するには、次のリンクが役立つかもしれません。 +プレゼンテーションとそのセキュリティ属性に関する詳細情報を取得するには、以下のリンクが役立つでしょう。 + +- [プレゼンテーションが暗号化されているかの確認](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) +- [プレゼンテーションが書き込み保護(読み取り専用)されているかの確認](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [読み込み前にプレゼンテーションがパスワード保護されているかの確認](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) +- [プレゼンテーションを保護するために使用されたパスワードの確認](https://docs.aspose.com/slides/net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation) + +## **よくある質問** + +**フォントが埋め込まれているか、どのフォントが埋め込まれているかを確認するには?** + +プレゼンテーションレベルで [埋め込みフォント情報](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getembeddedfonts/) を探し、[コンテンツ全体で実際に使用されているフォント](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getfonts/) と比較して、レンダリングに重要なフォントを特定します。 + +**ファイルに非表示スライドがあるか、またその数をすぐに確認するには?** + +[スライドコレクション](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) を反復処理し、各スライドの [可視性フラグ](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/) を確認します。 + +**カスタムスライドサイズと向きが使用されているか、デフォルトと異なるかを検出できますか?** + +はい。現在の [スライドサイズ](https://reference.aspose.com/slides/net/aspose.slides/presentation/slidesize/) と向きを標準のプリセットと比較します。これにより、印刷やエクスポート時の動作を予測できます。 + +**チャートが外部データソースを参照しているかすぐに確認する方法はありますか?** + +はい。すべての [チャート](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/) を走査し、各 [データソース](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/datasourcetype/) を確認して、データが内部かリンクベースか、破損したリンクがあるかどうかを把握します。 + +**レンダリングや PDF エクスポートを遅くする可能性のある「重い」スライドを評価するには?** -- [プレゼンテーションが暗号化されているかどうかの確認](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) -- [プレゼンテーションが書き込み保護されているかどうかの確認 (読み取り専用)](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) -- [プレゼンテーションを読み込む前にパスワード保護されているかどうかの確認](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [プレゼンテーションを保護するために使用されたパスワードの確認](https://docs.aspose.com/slides/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/net/developer-guide/manage-presentation/import-presentation/_index.md b/ja/net/developer-guide/manage-presentation/import-presentation/_index.md index a5f0a958ef..7a4f6075dc 100644 --- a/ja/net/developer-guide/manage-presentation/import-presentation/_index.md +++ b/ja/net/developer-guide/manage-presentation/import-presentation/_index.md @@ -1,27 +1,26 @@ --- -title: PDFまたはHTMLからPowerPointをインポート -linktitle: プレゼンテーションのインポート +title: PDF または HTML から PowerPoint をインポート +linktitle: プレゼンテーションをインポート type: docs weight: 60 url: /ja/net/import-presentation/ -keywords: "PowerPointのインポート, PDFからPowerPoint, HTMLからPowerPoint, PDFからPPT, HTMLからPPT, C#, Csharp, Aspose.Slides for .NET" -description: "PDFまたはHTMLからPowerPointをインポートします。PDFをPowerPointに変換します。HTMLをPowerPointに変換します。" +keywords: "PowerPoint のインポート, PDF から PowerPoint, HTML から PowerPoint, PDF から PPT, HTML から PPT, C#, Csharp, Aspose.Slides for .NET" +description: "PDF または HTML から PowerPoint をインポートします。PDF を PowerPoint に変換します。HTML を PowerPoint に変換します" --- -[**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/)を使用すると、他の形式のファイルからプレゼンテーションをインポートできます。Aspose.Slidesは、PDFドキュメントからプレゼンテーションをインポートするために[SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/)クラスを提供します。 +Using [**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/), you can import presentations from files in other formats. Aspose.Slides provides the [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) class to allow you to import presentations from PDF documents. -## **PDFからPowerPointをインポート** +## **PDF から PowerPoint をインポート** -この場合、PDFをPowerPointプレゼンテーションに変換できます。 +この場合、PDF を PowerPoint プレゼンテーションに変換できます。 pdf-to-powerpoint -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -2. [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1)メソッドを呼び出し、PDFファイルを渡します。 -3. [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5)メソッドを使用してファイルをPowerPoint形式で保存します。 - -このC#コードは、PDFからPowerPointへの操作を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) メソッドを呼び出し、PDF ファイルを渡します。 +3. [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) メソッドを使用して、ファイルを PowerPoint 形式で保存します。 +この C# コードは PDF から PowerPoint への変換操作を示しています: ```c# using (Presentation pres = new Presentation()) { @@ -30,22 +29,20 @@ using (Presentation pres = new Presentation()) } ``` -{{% alert title="ヒント" color="primary" %}} - -ここで説明したプロセスのライブ実装である**Aspose無料** [PDFからPowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint)ウェブアプリをチェックすることをお勧めします。 +{{% alert title="TIP" color="primary" %}} +このプロセスの実装例として、**Aspose free** の [PDF to PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint) Web アプリを確認すると便利です。 {{% /alert %}} -## **HTMLからPowerPointをインポート** - -この場合、HTMLドキュメントをPowerPointプレゼンテーションに変換できます。 +## **HTML から PowerPoint をインポート** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -2. [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml)メソッドを呼び出し、HTMLファイルを渡します。 -3. [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5)メソッドを使用してファイルをPowerPointドキュメントとして保存します。 +この場合、HTML ドキュメントを PowerPoint プレゼンテーションに変換できます。 -このC#コードは、HTMLからPowerPointへの操作を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +2. [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) メソッドを呼び出し、HTML ファイルを渡します。 +3. [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) メソッドを使用して、ファイルを PowerPoint ドキュメントとして保存します。 +この C#コードは HTML から PowerPoint への変換操作を示しています: ```c# using (var presentation = new Presentation()) { @@ -58,13 +55,19 @@ using (var presentation = new Presentation()) } ``` -{{% alert title="注意" color="warning" %}} -Aspose.Slidesを使用して、HTMLを他の人気のファイル形式に変換することもできます: +## **FAQ** + +**PDF をインポートする際にテーブルは保持されますか、検出精度を向上させることはできますか?** + +インポート時にテーブルを検出できます。[PdfImportOptions](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/) にはテーブル認識を有効にする [DetectTables](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/detecttables/) パラメータが含まれています。効果は PDF の構造に依存します。 + +{{% alert title="Note" color="warning" %}} +Aspose.Slides を使用して、HTML を他の一般的なファイル形式に変換することもできます: -* [HTMLから画像](https://products.aspose.com/slides/net/conversion/html-to-image/) -* [HTMLからJPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) -* [HTMLからXML](https://products.aspose.com/slides/net/conversion/html-to-xml/) -* [HTMLからTIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) +* [HTML から画像](https://products.aspose.com/slides/net/conversion/html-to-image/) +* [HTML から JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) +* [HTML から XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) +* [HTML から TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) {{% /alert %}} \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/manage-slide-show/_index.md b/ja/net/developer-guide/manage-presentation/manage-slide-show/_index.md new file mode 100644 index 0000000000..1c55671a2b --- /dev/null +++ b/ja/net/developer-guide/manage-presentation/manage-slide-show/_index.md @@ -0,0 +1,122 @@ +--- +title: スライドショーの管理 +type: docs +weight: 90 +url: /ja/net/manage-slide-show/ +keywords: +- ショータイプ +- スピーカーによる提示 +- 個人が閲覧 +- キオスクで閲覧 +- ショーオプション +- 継続的にループ +- ナレーションなしで表示 +- アニメーションなしで表示 +- ペンの色 +- スライドを表示 +- カスタムショー +- スライドを進める +- 手動で +- タイミングを使用 +- PowerPoint +- プレゼンテーション +- C# +- .NET +- Aspose.Slides for .NET +description: "C# を使用して PowerPoint プレゼンテーションのスライドショー設定を管理する" +--- + +Microsoft PowerPoint では、**Slide Show** 設定はプロフェッショナルなプレゼンテーションの作成と実施に不可欠なツールです。このセクションの最も重要な機能のひとつが **Set Up Show** で、プレゼンテーションを特定の条件や聴衆に合わせて調整でき、柔軟性と利便性を確保します。この機能を使用すると、ショーの種類(例:スピーカーが提示、個人が閲覧、キオスクでの閲覧)を選択したり、ループの有無を設定したり、表示するスライドを指定したり、タイミングを使用したりできます。準備段階のこのステップは、プレゼンテーションをより効果的でプロフェッショナルにするために重要です。 + +`SlideShowSettings` は[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスのプロパティで、型は[SlideShowSettings](https://reference.aspose.com/slides/net/aspose.slides/presentation/slideshowsettings/)です。これにより、PowerPoint プレゼンテーションのスライドショー設定を管理できます。本稿では、このプロパティを使用してスライドショー設定のさまざまな側面を構成・制御する方法を説明します。 + +## **Select Show Type** + +`SlideShowSettings.SlideShowType` はスライドショーの種類を定義し、以下のクラスのいずれかのインスタンスになります:[PresentedBySpeaker](https://reference.aspose.com/slides/net/aspose.slides/presentedbyspeaker/)、[BrowsedByIndividual](https://reference.aspose.com/slides/net/aspose.slides/browsedbyindividual/)、または[BrowsedAtKiosk](https://reference.aspose.com/slides/net/aspose.slides/browsedatkiosk/)。このプロパティを使用すると、自動キオスクや手動プレゼンテーションなど、さまざまな使用シナリオに合わせてプレゼンテーションを調整できます。 + +以下のコード例は新しいプレゼンテーションを作成し、スクロールバーを表示せずに「個人が閲覧」タイプに設定します。 +```cs +using var presentation = new Presentation(); + +var showType = new BrowsedByIndividual +{ + ShowScrollbar = false +}; + +presentation.SlideShowSettings.SlideShowType = showType; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Enable Show Options** + +`SlideShowSettings.Loop` はスライドショーを手動で停止するまでループさせるかどうかを決定します。これは、継続的に実行する必要がある自動プレゼンテーションに便利です。`SlideShowSettings.ShowNarration` はスライドショー中に音声ナレーションを再生するかどうかを決定します。聴衆向けに音声ガイダンスを含む自動プレゼンテーションに有用です。`SlideShowSettings.ShowAnimation` はスライドオブジェクトに追加されたアニメーションを再生するかどうかを決定します。プレゼンテーションの視覚効果を完全に提供するために役立ちます。 + +以下のコード例は新しいプレゼンテーションを作成し、スライドショーをループさせます。 +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.Loop = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Select Slides to Show** + +`SlideShowSettings.Slides` プロパティを使用すると、プレゼンテーション中に表示するスライドの範囲を選択できます。これにより、プレゼンテーション全体ではなく一部だけを表示したい場合に便利です。以下のコード例は新しいプレゼンテーションを作成し、スライド範囲を`2`から`9`に設定します。 +```cs +using var presentation = new Presentation(); + +var slideRange = new SlidesRange +{ + Start = 2, + End = 9 +}; + +presentation.SlideShowSettings.Slides = slideRange; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Use Advance Slides** + +`SlideShowSettings.UseTimings` プロパティは、各スライドの事前設定されたタイミングの使用を有効または無効にします。これにより、事前に定義された表示時間で自動的にスライドを切り替えることができます。以下のコード例は新しいプレゼンテーションを作成し、タイミングの使用を無効にします。 +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.UseTimings = false; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Show Media Controls** + +`SlideShowSettings.ShowMediaControls` プロパティは、マルチメディア コンテンツ(例:ビデオやオーディオ)が再生される際に、スライドショー中にメディアコントロール(再生、停止、停止など)を表示するかどうかを決定します。プレゼンテーション中にメディアの再生を制御したい場合に便利です。 + +以下のコード例は新しいプレゼンテーションを作成し、メディアコントロールの表示を有効にします。 +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.ShowMediaControls = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **FAQ** + +**Can I save a presentation so it opens directly in slide show mode?** + +はい。ファイルをPPSXまたはPPSM形式で保存すると、PowerPointで開いたときにスライドショーモードで直接起動します。Aspose.Slidesでは、エクスポート時に対応する保存形式を選択します[エクスポート時](/slides/ja/net/save-presentation/)。 + +**Can I exclude individual slides from the show without deleting them from the file?** + +はい。スライドを[非表示](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/)としてマークします。非表示スライドはプレゼンテーションに残りますが、スライドショー中には表示されません。 + +**Can Aspose.Slides play a slide show or control a live presentation on screen?** + +いいえ。Aspose.Slidesはプレゼンテーションファイルの編集、解析、変換を行うもので、実際の再生はPowerPointなどのビューア アプリケーションが担当します。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/merge-presentation/_index.md b/ja/net/developer-guide/manage-presentation/merge-presentation/_index.md index a557994a60..cc99b6cf5b 100644 --- a/ja/net/developer-guide/manage-presentation/merge-presentation/_index.md +++ b/ja/net/developer-guide/manage-presentation/merge-presentation/_index.md @@ -1,70 +1,87 @@ --- -title: C#を使用してPowerPointプレゼンテーションPPT、PPTXを統合する -linktitle: プレゼンテーションの統合 +title: C# を使用して PowerPoint プレゼンテーション (PPT, PPTX) を効率的にマージ +linktitle: プレゼンテーションのマージ type: docs weight: 40 url: /ja/net/merge-presentation/ -keywords: "PowerPointの統合, PPTX, PPT, PowerPointの結合, プレゼンテーションの統合, C#, Csharp, .NET" -description: "C#または.NETでPowerPointプレゼンテーションを統合または結合します" +keywords: "PowerPoint をマージ, PPTX, PPT, PowerPoint を結合, プレゼンテーションをマージ, プレゼンテーションを結合, C#, Csharp, .NET" +description: "C# または .NET で PowerPoint プレゼンテーションを簡単にマージまたは結合する方法を学びます。" --- -{{% alert title="ヒント" color="primary" %}} +## **プレゼンテーション統合の最適化** -**Asposeの無料オンライン** [Mergerアプリ](https://products.aspose.app/slides/merger)をチェックしてみてください。同じ形式のPowerPointプレゼンテーションを統合すること(PPTからPPT、PPTXからPPTXなど)や、異なる形式のプレゼンテーションを統合すること(PPTからPPTX、PPTXからODPなど)が可能です。 +Aspose.Slides for .NET を使用して、スタイル、レイアウト、すべての要素を保持しながら PowerPoint プレゼンテーションをシームレスに結合できます。他のツールとは異なり、Aspose.Slides は品質を損なったりデータを失ったりすることなくプレゼンテーションを統合します。プレゼンテーション全体、特定のスライド、さらには異なるファイル形式(PPT から PPTX など)もマージできます。 -[![todo:image_alt_text](slides-merger.png)](https://products.aspose.app/slides/merger) +### **マージ機能** -{{% /alert %}} +- **フルプレゼンテーションマージ**:すべてのスライドを単一ファイルにまとめます。 +- **特定スライドマージ**:選択したスライドを選んで結合します。 +- **クロスフォーマットマージ**:異なる形式のプレゼンテーションを統合し、整合性を維持します。 + +{{% alert title="Tip" color="primary" %}} + +PowerPoint プレゼンテーションを**無料のオンラインツール**で**すばやくマージ**したいですか?[**Aspose PowerPoint Merger**](https://products.aspose.app/slides/merger) を試してください。 + +- **PowerPoint ファイルを簡単にマージ**:複数の **PPT、PPTX、ODP** プレゼンテーションを単一ファイルに結合します。 +- **異なる形式に対応**:**PPT から PPTX**、**PPTX から ODP** などをマージできます。 +- **インストール不要**:ブラウザ上で直接動作し、速く安全です。 + +[![オンラインで PowerPoint ファイルをマージ](slides-merger.png)](https://products.aspose.app/slides/merger) +今すぐ **Aspose の無料オンラインツール** で PowerPoint ファイルのマージを開始しましょう! -## **プレゼンテーションの統合** +{{% /alert %}} + +## **プレゼンテーションのマージ** -[プレゼンテーションを別のプレゼンテーションに統合する](https://products.aspose.com/slides/net/merger/ppt/)際には、実際にスライドを単一のプレゼンテーションにまとめて1つのファイルを取得します。 +プレゼンテーションを[別のプレゼンテーションにマージ](https://products.aspose.com/slides/net/merger/ppt/)すると、スライドを単一のプレゼンテーションに結合して 1 つのファイルにします。 -{{% alert title="情報" color="info" %}} +{{% alert title="Info" color="info" %}} -ほとんどのプレゼンテーションプログラム(PowerPointまたはOpenOffice)には、そのようにプレゼンテーションを組み合わせる機能が不足しています。 +ほとんどのプレゼンテーションプログラム(PowerPoint や OpenOffice)には、このようにプレゼンテーションを結合する機能がありません。 -しかし、[**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/)を使用すれば、異なる方法でプレゼンテーションを統合できます。すべての図形、スタイル、テキスト、書式設定、コメント、アニメーションなどを気にせず、品質やデータの損失を心配することなく、プレゼンテーションを統合できます。 +[**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/) は、さまざまな方法でプレゼンテーションをマージできるようにします。形状、スタイル、テキスト、書式設定、コメント、アニメーションなど、すべての要素を失うことなくプレゼンテーションをマージできます。 -**関連情報** +**参照** -[スライドの複製](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* +[スライドをクローン](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* {{% /alert %}} -### **統合できるもの** +### **マージできるもの** -Aspose.Slidesを使用すると、次のことができます +Aspose.Slides を使用すると、次のものをマージできます -* プレゼンテーション全体。すべてのスライドが1つのプレゼンテーションにまとめられます -* 特定のスライド。選択したスライドが1つのプレゼンテーションにまとめられます -* 同じ形式のプレゼンテーション(PPTからPPT、PPTXからPPTXなど)や異なる形式のプレゼンテーション(PPTからPPTX、PPTXからODPなど)を互いに統合します。 +* プレゼンテーション全体。すべてのスライドが 1 つのプレゼンテーションにまとめられます +* 特定のスライド。選択したスライドが 1 つのプレゼンテーションにまとめられます +* 同一形式のプレゼンテーション(PPT → PPT、PPTX → PPTX 等)および異なる形式(PPT → PPTX、PPTX → ODP 等)間で相互にマージできます。 -{{% alert title="注意" color="warning" %}} +{{% alert title="Note" color="warning" %}} -プレゼンテーションの他に、Aspose.Slidesを使用すると、他のファイルも統合できます: +プレゼンテーション以外にも、Aspose.Slides は次のファイルをマージできます: -* [画像](https://products.aspose.com/slides/net/merger/image-to-image/)、たとえば [JPGからJPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/)や [PNGからPNG](https://products.aspose.com/slides/net/merger/png-to-png/) -* ドキュメント、たとえば [PDFからPDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/)や [HTMLからHTML](https://products.aspose.com/slides/net/merger/html-to-html/) -* そして、[画像からPDF](https://products.aspose.com/slides/net/merger/image-to-pdf/)や [JPGからPDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/)、または [TIFFからPDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/)など、2つの異なるファイルも統合できます。 +* [画像](https://products.aspose.com/slides/net/merger/image-to-image/)、例: [JPG から JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/)、[PNG から PNG](https://products.aspose.com/slides/net/merger/png-to-png/) +* ドキュメント、例: [PDF から PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/)、[HTML から HTML](https://products.aspose.com/slides/net/merger/html-to-html/) +* 異なるファイル同士、例: [画像から PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/)、[JPG から PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/)、[TIFF から PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/)。 {{% /alert %}} -### **統合オプション** +### **マージオプション** -出力プレゼンテーション内の各スライドがユニークなスタイルを保持するかどうか、または出力プレゼンテーション内のすべてのスライドに特定のスタイルを使用するかどうかを決定するオプションを適用できます。 +以下を決定するオプションを適用できます。 -プレゼンテーションを統合するために、Aspose.Slidesは[AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone)メソッドを提供しています([ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection)インターフェースから)。プレゼンテーションの統合プロセスのパラメータを定義するいくつかの実装の`AddClone`メソッドがあります。各プレゼンテーションオブジェクトには[Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides)コレクションがあるため、スライドを統合したいプレゼンテーションから`AddClone`メソッドを呼び出すことができます。 +* 出力プレゼンテーションの各スライドが固有のスタイルを保持するか +* 出力プレゼンテーションのすべてのスライドに特定のスタイルを使用するか -`AddClone`メソッドは、ソーススライドのクローンである`ISlide`オブジェクトを返します。出力プレゼンテーションのスライドは、ソースのスライドの単なるコピーです。したがって、ソースプレゼンテーションに影響を与えることを心配することなく、結果のスライドを変更(たとえば、スタイルや書式設定オプションやレイアウトを適用する)できます。 +プレゼンテーションをマージするには、Aspose.Slides は [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) メソッド([ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection) インターフェイス)を提供します。 `AddClone` メソッドには、マージプロセスのパラメータを定義する複数の実装があります。すべての Presentation オブジェクトは [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) コレクションを持っているので、スライドをマージしたいプレゼンテーションから `AddClone` メソッドを呼び出すことができます。 -## **プレゼンテーションを統合する** +`AddClone` メソッドは `ISlide` オブジェクトを返します。これはソーススライドのクローンです。出力プレゼンテーションのスライドは、単にソースのスライドのコピーです。したがって、元のプレゼンテーションに影響を与えることなく、結果として得られるスライドに変更(例: スタイルや書式オプション、レイアウトの適用)を加えることができます。 -Aspose.Slidesは、スライドのレイアウトとスタイルを保持しながらスライドを統合できる[**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone)メソッドを提供します(デフォルトのパラメータ)。 +## **プレゼンテーションのマージ** -このC#コードは、プレゼンテーションを統合する方法を示しています: +Aspose.Slides は、スライドのレイアウトとスタイルを保持したままスライドを結合できる [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) メソッドを提供します(デフォルトパラメータ)。 +以下の C# コードは、プレゼンテーションをマージする方法を示しています: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -78,12 +95,12 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **スライドマスターを使用したプレゼンテーションの統合** -Aspose.Slidesは、スライドマスタープレゼンテーションテンプレートを適用しながらスライドを統合できる[**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2)メソッドを提供します。この方法では、必要に応じて出力プレゼンテーション内のスライドスタイルを変更できます。 +## **スライドマスター付きプレゼンテーションのマージ** -このC#コードは、説明された操作を示しています: +Aspose.Slides は、スライドマスターテンプレートを適用しながらスライドを結合できる [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2) メソッドを提供します。必要に応じて、出力プレゼンテーションのスライドのスタイルを変更できます。 +この C# コードは上記の操作を示しています: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -97,35 +114,59 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -{{% alert title="注意" color="warning" %}} -スライドマスターのスライドレイアウトは自動的に決定されます。適切なレイアウトを決定できない場合、`AddClone`メソッドの`allowCloneMissingLayout`ブールパラメータがtrueに設定されている場合、ソーススライドのレイアウトが使用されます。それ以外の場合、[PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception)がスローされます。 +{{% alert title="Note" color="warning" %}} + +スライドマスターのレイアウトは自動的に決定されます。適切なレイアウトが決定できない場合、`AddClone` メソッドの `allowCloneMissingLayout` ブールパラメータが true に設定されていれば、ソーススライドのレイアウトが使用されます。そうでなければ、[PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception) がスローされます。 {{% /alert %}} -出力プレゼンテーション内のスライドに異なるスライドレイアウトを持たせたい場合は、統合時に代わりに[AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1)メソッドを使用してください。 +出力プレゼンテーションのスライドに別のレイアウトを適用したい場合は、マージ時に [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1) メソッドを使用してください。 -## **プレゼンテーションから特定のスライドを統合する** +## **プレゼンテーションから特定スライドをマージ** -このC#コードは、異なるプレゼンテーションから特定のスライドを選択し、1つの出力プレゼンテーションとして結合する方法を示しています: +複数のプレゼンテーションから特定のスライドをマージすることは、カスタムスライドデッキを作成するのに便利です。Aspose.Slides for .NET を使用すると、必要なスライドだけを選択してインポートできます。API は元のスライドの書式、レイアウト、デザインを保持します。 -```c# -using (Presentation pres1 = new Presentation("pres1.pptx"), - pres2 = new Presentation("pres2.pptx")) +以下の C# コードは新しいプレゼンテーションを作成し、他の 2 つのプレゼンテーションからタイトルスライドを追加し、結果をファイルに保存します: +```cs +using (Presentation presentation = new Presentation()) +using (Presentation presentation1 = new Presentation("presentation1.pptx")) +using (Presentation presentation2 = new Presentation("presentation2.pptx")) { - foreach (ISlide slide in pres2.Slides) + presentation.Slides.RemoveAt(0); + + ISlide slide1 = GetTitleSlide(presentation1); + + if (slide1 != null) + presentation.Slides.AddClone(slide1); + + ISlide slide2 = GetTitleSlide(presentation2); + + if (slide2 != null) + presentation.Slides.AddClone(slide2); + + presentation.Save("combined.pptx", SaveFormat.Pptx); +} +``` + +```cs +static ISlide GetTitleSlide(IPresentation presentation) +{ + foreach (ISlide slide in presentation.Slides) { - pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]); + if (slide.LayoutSlide.LayoutType == SlideLayoutType.Title) + { + return slide; + } } - - pres1.Save("combined.pptx", SaveFormat.Pptx); + return null; } ``` -## **スライドレイアウトを適用してプレゼンテーションを統合する** -このC#コードは、プレゼンテーションからスライドを結合し、お好みのスライドレイアウトを適用して1つの出力プレゼンテーションを取得する方法を示しています: +## **スライドレイアウト付きプレゼンテーションのマージ** +この C# コードは、好みのスライドレイアウトを適用しながらプレゼンテーションからスライドを結合し、1 つの出力プレゼンテーションを作成する方法を示しています: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -139,18 +180,18 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **異なるスライドサイズを持つプレゼンテーションを統合する** -{{% alert title="注意" color="warning" %}} +## **異なるスライドサイズのプレゼンテーションをマージ** -異なるスライドサイズを持つプレゼンテーションを統合することはできません。 +{{% alert title="Note" color="warning" %}} -{{% /alert %}} +異なるスライドサイズのプレゼンテーションはマージできません。 -異なるスライドサイズを持つ2つのプレゼンテーションを統合するには、1つのプレゼンテーションのサイズを変更して、もう1つのプレゼンテーションのサイズと一致させる必要があります。 +{{% /alert %}} -このサンプルコードは、説明された操作を示しています: +異なるスライドサイズのプレゼンテーションを 2 つマージするには、どちらかのプレゼンテーションのサイズを調整して、もう一方のサイズに合わせる必要があります。 +このサンプルコードは上記の操作を示しています: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -166,10 +207,10 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **プレゼンテーションセクションにスライドを統合する** -このC#コードは、特定のスライドをプレゼンテーション内のセクションに統合する方法を示しています: +## **スライドをプレゼンテーションのセクションにマージ** +この C# コードは、特定のスライドをプレゼンテーションのセクションにマージする方法を示しています: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -184,10 +225,29 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -スライドはセクションの最後に追加されます。 -{{% alert title="ヒント" color="primary" %}} +スライドはセクションの末尾に追加されます。 + +{{% alert title="Tip" color="primary" %}} + +Aspose は、[無料の Collage Web アプリ](https://products.aspose.app/slides/collage) を提供しています。このオンラインサービスを使用すると、[JPG から JPG](https://products.aspose.app/slides/collage/jpg) や PNG から PNG 画像をマージしたり、[フォトグリッド](https://products.aspose.app/slides/collage/photo-grid) を作成したりできます。 + +{{% /alert %}} + +## **よくある質問** + +**マージ時にスピーカーノートは保持されますか?** + +はい。スライドをクローンする際、Aspose.Slides はノート、書式設定、アニメーションなどすべてのスライド要素を引き継ぎます。 + +**コメントとその作成者は転送されますか?** + +コメントはスライドコンテンツの一部としてスライドにコピーされます。コメント作者ラベルは、結果のプレゼンテーションのコメントオブジェクトとして保持されます。 + +**元のプレゼンテーションがパスワードで保護されている場合はどうなりますか?** + +パスワードで[開く](/slides/ja/net/password-protected-presentation/)必要があります。[LoadOptions.Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) を使用して開き、ロード後にそれらのスライドを保護されていないターゲットファイル(または保護されたファイル)に安全にクローンできます。 -Asposeは[無料のコラージュウェブアプリ](https://products.aspose.app/slides/collage)を提供しています。このオンラインサービスを使用して、[JPGからJPG](https://products.aspose.app/slides/collage/jpg)やPNGからPNG画像を統合したり、[フォトグリッド](https://products.aspose.app/slides/collage/photo-grid)を作成したりできます。 +**マージ操作はどの程度スレッドセーフですか?** -{{% /alert %}} \ No newline at end of file +同じ [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) インスタンスを[複数スレッド](/slides/ja/net/multithreading/)から使用しないでください。推奨ルールは「1 ドキュメント ― 1 スレッド」です。別々のファイルは別スレッドで並行処理できます。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/open-presentation/_index.md b/ja/net/developer-guide/manage-presentation/open-presentation/_index.md index 579639ff2d..1475cf4c0f 100644 --- a/ja/net/developer-guide/manage-presentation/open-presentation/_index.md +++ b/ja/net/developer-guide/manage-presentation/open-presentation/_index.md @@ -4,104 +4,124 @@ linktitle: プレゼンテーションを開く type: docs weight: 20 url: /ja/net/open-presentation/ -keywords: "PowerPointを開く, PPTX, PPT, プレゼンテーションを開く, プレゼンテーションを読み込む, C#, Csharp, .NET" -description: "C#または.NETでプレゼンテーションPPT、PPTX、ODPを開くまたは読み込む" +keywords: +- PowerPointを開く +- プレゼンテーションを開く +- PPTXを開く +- PPTを開く +- ODPを開く +- プレゼンテーションを読み込む +- PPTXを読み込む +- PPTを読み込む +- ODPを読み込む +- 保護されたプレゼンテーション +- 大きなプレゼンテーション +- 外部リソース +- バイナリオブジェクト +- .NET +- C# +- Aspose.Slides +description: "Aspose.Slides for .NET を使用して、PowerPoint(.pptx、.ppt)および OpenDocument(.odp)プレゼンテーションを簡単に開く—高速、信頼性が高く、機能が豊富です。" --- -ゼロからPowerPointプレゼンテーションを作成するだけでなく、Aspose.Slidesを使用すると、既存のプレゼンテーションを開くことができます。プレゼンテーションを読み込んだ後、プレゼンテーションに関する情報を取得したり(スライドの内容)、プレゼンテーションを編集したり、新しいスライドを追加したり、既存のスライドを削除したりすることができます。 +## **概要** -## プレゼンテーションを開く +ゼロからPowerPointプレゼンテーションを作成するだけでなく、Aspose.Slidesは既存のプレゼンテーションを開くこともできます。プレゼンテーションをロードした後、その情報を取得したり、スライドの内容を編集したり、新しいスライドを追加したり、既存のスライドを削除したり、その他さまざまな操作が可能です。 -既存のプレゼンテーションを開くには、単に[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスをインスタンス化し、ファイルパス(開きたいプレゼンテーションへのパス)をそのコンストラクタに渡す必要があります。 +## **プレゼンテーションを開く** -このC#コードは、プレゼンテーションを開く方法と、スライドの数を調べる方法を示しています: +既存のプレゼンテーションを開くには、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスのインスタンスを作成し、ファイルパスをコンストラクタに渡します。 -```c# -// Presentationクラスをインスタンス化し、ファイルパスをコンストラクタに渡します -Presentation pres = new Presentation("OpenPresentation.pptx"); - -// プレゼンテーションに含まれるスライドの総数を出力します -System.Console.WriteLine(pres.Slides.Count.ToString()); +次のC#の例は、プレゼンテーションを開いてスライド数を取得する方法を示しています。 +```cs +// Presentation クラスのインスタンスを作成し、コンストラクタにファイル パスを渡します。 +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + // プレゼンテーション内のスライド総数を出力します。 + System.Console.WriteLine(presentation.Slides.Count); +} ``` -## **パスワード保護されたプレゼンテーションを開く** -パスワード保護されたプレゼンテーションを開く必要がある場合、[LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/)クラスの[Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/)プロパティを通じてパスワードを渡すことで、プレゼンテーションを復号化して読み込むことができます。このC#コードはその操作を示しています: +## **パスワード保護されたプレゼンテーションを開く** -```c# - LoadOptions loadOptions = new LoadOptions {Password = "YOUR_PASSWORD"}; - using (Presentation presentation = new Presentation("pres.pptx", loadOptions)) - { - // 復号化されたプレゼンテーションで作業を行う - } +パスワード保護されたプレゼンテーションを開く必要がある場合は、[LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) クラスの [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) プロパティにパスワードを渡して復号し、ロードします。次のC#コードはこの操作を示しています。 +```cs +LoadOptions loadOptions = new LoadOptions {Password = "YOUR_PASSWORD"}; +using (Presentation presentation = new Presentation("Sample.pptx", loadOptions)) +{ + // 復号化されたプレゼンテーションで操作を実行します。 +} ``` -## 大きなプレゼンテーションを開く -Aspose.Slidesは、[LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/)クラスの下に、[BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/)プロパティなどのオプションを提供し、大きなプレゼンテーションを読み込むことができます。 +## **大きなプレゼンテーションを開く** -このC#コードは、大きなプレゼンテーション(例えば2GBのサイズ)を読み込む操作を示します: +Aspose.Slidesは、大きなプレゼンテーションをロードするためのオプションを提供します。特に、[LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) クラスの [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) プロパティが役立ちます。 -```c# -const string pathToVeryLargePresentationFile = "veryLargePresentation.pptx"; +次のC#コードは、大きなプレゼンテーション(例: 2 GB)をロードする方法を示しています。 +```cs +const string filePath = "LargePresentation.pptx"; LoadOptions loadOptions = new LoadOptions { - BlobManagementOptions = { - // KeepLocked動作を選択します - "veryLargePresentation.pptx"は - // プレゼンテーションインスタンスのライフタイムのためにロックされますが、メモリに - // 読み込む必要はなく、一時ファイルにコピーする必要はありません + BlobManagementOptions = + { + // KeepLocked 動作を選択します—プレゼンテーション ファイルはインスタンスの存続期間中ロックされたままです。 + // ただし、メモリにロードしたり一時ファイルにコピーする必要はありません。 PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, + IsTemporaryFilesAllowed = true, + MaxBlobsBytesInMemory = 10 * 1024 * 1024 // 10 MB } }; -using (Presentation pres = new Presentation(pathToVeryLargePresentationFile, loadOptions)) +using (Presentation presentation = new Presentation(filePath, loadOptions)) { - // 大きなプレゼンテーションが読み込まれ、使用可能ですが、メモリ使用量は依然として低いです。 + // 大きなプレゼンテーションがロードされ、使用可能です。メモリ使用量は低く抑えられます。 - // プレゼンテーションに変更を加えます。 - pres.Slides[0].Name = "非常に大きなプレゼンテーション"; + // プレゼンテーションを変更します。 + presentation.Slides[0].Name = "Large presentation"; - // プレゼンテーションは別のファイルに保存されます。 操作中のメモリ使用量は低いまま保たれます。 - pres.Save("veryLargePresentation-copy.pptx", SaveFormat.Pptx); + // プレゼンテーションを別のファイルに保存します。この操作中もメモリ使用量は低く抑えられます。 + presentation.Save("LargePresentation-copy.pptx", SaveFormat.Pptx); - // それはできません! IO例外がスローされます。なぜならファイルはロックされており、presオブジェクトは - // 解放されません。 - File.Delete(pathToVeryLargePresentationFile); + // これを行わないでください!プレゼンテーションオブジェクトが破棄されるまでファイルがロックされているため、I/O 例外がスローされます。 + File.Delete(filePath); } -// ここで行うのは問題ありません。ソースファイルはpresオブジェクトによってロックされていません。 -File.Delete(pathToVeryLargePresentationFile); +// ここで実行しても問題ありません。プレゼンテーションオブジェクトによるロックが解除されているため、ソースファイルはロックされていません。 +File.Delete(filePath); ``` -{{% alert color="info" title="情報" %}} -ストリームとのやり取りにおける特定の制限を回避するために、Aspose.Slidesはストリームの内容をコピーすることがあります。ストリームを介して大きなプレゼンテーションを読み込むと、プレゼンテーションの内容がコピーされ、読み込みが遅くなります。したがって、大きなプレゼンテーションを読み込む予定がある場合は、ストリームではなくプレゼンテーションのファイルパスを使用することを強くお勧めします。 +{{% alert color="info" title="Info" %}} +ストリームを使用する際のいくつかの制限を回避するために、Aspose.Slidesはストリームの内容をコピーすることがあります。ストリームから大きなプレゼンテーションをロードすると、プレゼンテーションがコピーされ、ロードが遅くなる可能性があります。したがって、大きなプレゼンテーションをロードする必要がある場合は、ストリームではなくプレゼンテーションのファイルパスを使用することを強く推奨します。 -大きなオブジェクト(ビデオ、音声、大きな画像など)を含むプレゼンテーションを作成する場合は、[Blob機能](https://docs.aspose.com/slides/net/manage-blob/)を使用してメモリ使用量を減らすことができます。 +大きなオブジェクト(ビデオ、オーディオ、高解像度画像など)を含むプレゼンテーションを作成する場合は、メモリ使用量を削減するために [BLOB management](/slides/ja/net/manage-blob/) を使用できます。 +{{%/alert %}} -{{%/alert %}} +## **外部リソースの制御** -## プレゼンテーションを読み込む -Aspose.Slidesは、外部リソースを管理するために単一のメソッドを持つ[IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/)を提供します。このC#コードは、`IResourceLoadingCallback`インターフェースを使用する方法を示しています: +Aspose.Slidesは、外部リソースを管理できる [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) インターフェイスを提供します。次のC#コードは `IResourceLoadingCallback` インターフェイスの使用方法を示しています。 +```cs +LoadOptions loadOptions = new LoadOptions(); +loadOptions.ResourceLoadingCallback = new ImageLoadingHandler(); -```c# -LoadOptions opts = new LoadOptions(); -opts.ResourceLoadingCallback = new ImageLoadingHandler(); -Presentation presentation = new Presentation("presentation.pptx", opts); +Presentation presentation = new Presentation("Sample.pptx", loadOptions); ``` -```c# +```cs public class ImageLoadingHandler : IResourceLoadingCallback { public ResourceLoadingAction ResourceLoading(IResourceLoadingArgs args) { if (args.OriginalUri.EndsWith(".jpg")) { - try // 代替画像をロードします + try { - byte[] imageBytes = File.ReadAllBytes("c:\\aspose-logo.jpg"); - args.SetData(imageBytes); + // 代替画像を読み込む。 + byte[] imageData = File.ReadAllBytes("aspose-logo.jpg"); + args.SetData(imageData); return ResourceLoadingAction.UserProvided; } catch (Exception) @@ -111,53 +131,52 @@ public class ImageLoadingHandler : IResourceLoadingCallback } else if (args.OriginalUri.EndsWith(".png")) { - // 代替URLを設定します + // 代替 URL を設定する。 args.Uri = "http://www.google.com/images/logos/ps_logo2.png"; return ResourceLoadingAction.Default; } - // その他の画像はすべてスキップします + // 他のすべての画像をスキップする。 return ResourceLoadingAction.Skip; } } ``` -## 埋め込みバイナリオブジェクトなしでプレゼンテーションを読み込む - -PowerPointプレゼンテーションには、次の種類の埋め込みバイナリオブジェクトが含まれる場合があります: -- VBAプロジェクト ([IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); -- OLEオブジェクト埋め込みデータ ([IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); -- ActiveXコントロールバイナリデータ ([IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)); +## **埋め込みバイナリオブジェクトなしでプレゼンテーションをロードする** -[ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/)プロパティを使用すると、埋め込みバイナリオブジェクトなしでプレゼンテーションを読み込むことができます。 +PowerPointプレゼンテーションには、次の種類の埋め込みバイナリオブジェクトが含まれることがあります: -このプロパティは、潜在的に悪意のあるバイナリコンテンツを削除するのに役立ちます。 +- VBAプロジェクト([IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/) でアクセス可能); +- OLEオブジェクトの埋め込みデータ([IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/) でアクセス可能); +- ActiveXコントロールのバイナリデータ([IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/) でアクセス可能)。 -このC#コードは、悪意のあるコンテンツなしでプレゼンテーションを読み込んで保存する方法を示しています: +[ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/) プロパティを使用すると、埋め込みバイナリオブジェクトがないプレゼンテーションをロードできます。 -```c# +このプロパティは、潜在的に悪意のあるバイナリコンテンツを除去するのに役立ちます。次のC#コードは、埋め込みバイナリコンテンツなしでプレゼンテーションをロードする方法を示しています。 +```cs LoadOptions loadOptions = new LoadOptions() { - DeleteEmbeddedBinaryObjects = true + DeleteEmbeddedBinaryObjects = true } -using (var pres = new Presentation("malware.ppt", loadOptions)) +using (Presentation presentation = new Presentation("malware.ppt", loadOptions)) { - pres.Save("clean.ppt", SaveFormat.Ppt); + // プレゼンテーションで操作を実行します。 } ``` -

プレゼンテーションを開いて保存する

-手順: C#でプレゼンテーションを開いて保存する +## **FAQ** + +**ファイルが破損していて開けないことはどう判断できますか?** + +ロード時にパース/フォーマット検証例外がスローされます。この種のエラーは、ZIP構造が無効であるか、PowerPointのレコードが壊れていることを示すことが多いです。 + +**開く際に必要なフォントが欠落している場合はどうなりますか?** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスのインスタンスを作成し、開きたいファイルを渡します。 -2. プレゼンテーションを保存します。 +ファイルは開かれますが、後の [rendering/export](/slides/ja/net/convert-presentation/) 時にフォントが置き換えられる可能性があります。ランタイム環境に [フォント置換の構成](/slides/ja/net/font-substitution/) または [必要なフォントの追加](/slides/ja/net/custom-font/) を行ってください。 -```c# -// サポートされている任意のプレゼンテーションを読み込みます。例えばppt、pptx、odp -Presentation presentation = new Presentation("Sample.odp"); +**開く際の埋め込みメディア(ビデオ/オーディオ)はどう扱われますか?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +それらはプレゼンテーションのリソースとして利用可能になります。メディアが外部パスで参照されている場合は、そのパスが環境でアクセス可能であることを確認してください。そうでない場合、[rendering/export](/slides/ja/net/convert-presentation/) でメディアが省略される可能性があります。 \ No newline at end of file diff --git a/ja/net/developer-guide/manage-presentation/save-presentation/_index.md b/ja/net/developer-guide/manage-presentation/save-presentation/_index.md index 1499da11fa..66a8f043f8 100644 --- a/ja/net/developer-guide/manage-presentation/save-presentation/_index.md +++ b/ja/net/developer-guide/manage-presentation/save-presentation/_index.md @@ -1,155 +1,195 @@ --- -title: .NETでプレゼンテーションを保存 -linktitle: プレゼンテーションを保存 +title: .NET でプレゼンテーションを保存する +linktitle: プレゼンテーションの保存 type: docs weight: 80 url: /ja/net/save-presentation/ -keywords: "PowerPointを保存, PPT, PPTX, プレゼンテーションを保存, ファイル, ストリーム, C#, Csharp, .NET" -description: "C# または .NETで PowerPoint プレゼンテーションをファイルまたはストリームとして保存" +keywords: +- PowerPoint の保存 +- OpenDocument の保存 +- プレゼンテーションの保存 +- スライドの保存 +- PPT の保存 +- PPTX の保存 +- ODP の保存 +- ファイルへのプレゼンテーション +- ストリームへのプレゼンテーション +- 事前定義ビュータイプ +- Strict Office Open XML 形式 +- Zip64 モード +- サムネイルの更新 +- 保存進行状況 +- .NET +- C# +- Aspose.Slides +description: "Aspose.Slides を使用して .NET でプレゼンテーションを保存する方法を紹介します—レイアウト、フォント、エフェクトを保持したまま PowerPoint または OpenDocument へエクスポートできます。" --- -## **プレゼンテーションを保存** -プレゼンテーションを開く方法については、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスを使用してプレゼンテーションを開く方法を説明しています。この記事では、プレゼンテーションを作成し保存する方法を説明します。 -[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスはプレゼンテーションの内容を保持します。最初からプレゼンテーションを作成する場合でも、既存のプレゼンテーションを変更する場合でも、完了したらプレゼンテーションを保存したくなるでしょう。Aspose.Slides for .NETを使用すると、**ファイル**または**ストリーム**として保存できます。この記事では、プレゼンテーションをさまざまな方法で保存する方法を説明します。 +## **概要** -### **ファイルにプレゼンテーションを保存** -[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスの[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)メソッドを呼び出すことで、ファイルにプレゼンテーションを保存します。ファイル名と保存フォーマットを[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)メソッドに渡すだけです。以下の例は、C#を使用してAspose.Slides for .NETでプレゼンテーションを保存する方法を示しています。 +[Open Presentations in C#](/slides/ja/net/open-presentation/) では、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスを使用してプレゼンテーションを開く方法が説明されています。本稿では、プレゼンテーションの作成と保存方法を解説します。[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスはプレゼンテーションの内容を保持します。ゼロからプレゼンテーションを作成する場合でも、既存のものを変更する場合でも、作業が完了したら保存したくなるでしょう。Aspose.Slides for .NET では、**ファイル**または**ストリーム**に保存できます。本稿では、プレゼンテーションを保存するさまざまな方法を説明します。 -```c# -// PPTファイルを表すPresentationオブジェクトをインスタンス化 -Presentation presentation= new Presentation(); +## **ファイルにプレゼンテーションを保存する** -//...ここでいくつかの作業を行う... - -// プレゼンテーションをファイルに保存 -presentation.Save("Saved_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); +[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスの `Save` メソッドを呼び出して、ファイルにプレゼンテーションを保存します。メソッドにファイル名と保存形式を渡します。以下の例は、Aspose.Slides を使用してプレゼンテーションを保存する方法を示しています。 +```cs +// Presentation クラスのインスタンスを作成します(プレゼンテーション ファイルを表します)。 +using (Presentation presentation = new Presentation()) +{ + // ここで作業を行います... + + // プレゼンテーションをファイルに保存します。 + presentation.Save("Output.pptx", SaveFormat.Pptx); +} ``` -### **ストリームにプレゼンテーションを保存** -出力ストリームを[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのSaveメソッドに渡すことで、プレゼンテーションをストリームに保存することができます。プレゼンテーションを保存できるストリームのタイプは多数あります。以下の例では、新しいプレゼンテーションファイルを作成し、シェイプにテキストを追加して、プレゼンテーションをストリームに保存しています。 -```c# -// PPTファイルを表すPresentationオブジェクトをインスタンス化 +## **ストリームにプレゼンテーションを保存する** + +[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスの `Save` メソッドに出力ストリームを渡すことで、プレゼンテーションをストリームに保存できます。プレゼンテーションは多くのストリーム型に書き込むことができます。以下の例では、新しいプレゼンテーションを作成し、ファイルストリームに保存します。 +```cs +// プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成します。 using (Presentation presentation = new Presentation()) { + using (FileStream fileStream = new FileStream("Output.pptx", FileMode.Create)) + { + // プレゼンテーションをストリームに保存します。 + presentation.Save(fileStream, SaveFormat.Pptx); + } +} +``` - IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 200, 200); - // シェイプにテキストを追加 - shape.TextFrame.Text = "このデモでは、PowerPointファイルを作成し、それをストリームに保存する方法を示します。"; +## **事前定義されたビュータイプでプレゼンテーションを保存する** - FileStream toStream = new FileStream("Save_As_Stream_out.pptx", FileMode.Create); - presentation.Save(toStream, Aspose.Slides.Export.SaveFormat.Pptx); - toStream.Close(); +Aspose.Slides は、[ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/) クラスを介して、生成されたプレゼンテーションが開かれたときに PowerPoint が使用する初期ビューを設定できます。[LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/lastview/) プロパティに、[ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype/) 列挙体の値を設定します。 +```cs +using (Presentation presentation = new Presentation()) +{ + presentation.ViewProperties.LastView = ViewType.SlideMasterView; + presentation.Save("SlideMasterView.pptx", SaveFormat.Pptx); } ``` -### **既定のビュータイプでプレゼンテーションを保存** -Aspose.Slides for .NETは、[ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties)クラスを通じて、PowerPointで開いたときの生成されたプレゼンテーションのビュータイプを設定する機能を提供します。[LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/properties/lastview)プロパティは、[ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype)列挙体を使用してビュータイプを設定するために使用されます。 -```csharp -using (Presentation pres = new Presentation()) +## **Strict Office Open XML 形式でプレゼンテーションを保存する** + +Aspose.Slides は、Strict Office Open XML 形式でプレゼンテーションを保存できます。[PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/) クラスを使用し、保存時にその `Conformance` プロパティを設定します。`Conformance.Iso29500_2008_Strict` を設定すると、出力ファイルは Strict Office Open XML 形式で保存されます。 + +以下の例はプレゼンテーションを作成し、Strict Office Open XML 形式で保存します。 +```cs +PptxOptions options = new PptxOptions() +{ + Conformance = Conformance.Iso29500_2008_Strict +}; + +// プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成します。 +using (Presentation presentation = new Presentation()) { - pres.ViewProperties.LastView = ViewType.SlideMasterView; - pres.Save("pres-will-open-SlideMasterView.pptx", SaveFormat.Pptx); + // プレゼンテーションを Strict Office Open XML 形式で保存します。 + presentation.Save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options); } ``` -### **厳密なOffice Open XML形式でプレゼンテーションを保存** -Aspose.Slidesを使用すると、プレゼンテーションを厳密なOffice Open XML形式で保存できます。そのためには、プレゼンテーションファイルを保存する際にConformanceプロパティを設定できる[**Aspose.Slides.Export.PptxOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions)クラスが提供されています。その値をConformance.Iso29500_2008_Strictに設定すると、出力プレゼンテーションファイルは厳密なOffice Open XML形式で保存されます。 -以下のサンプルコードは、プレゼンテーションを作成し、厳密なOffice Open XML形式で保存するものです。プレゼンテーションのSaveメソッドを呼び出す際に、**[Aspose.Slides.Export.PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions)**オブジェクトが渡され、[**Conformance**](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/properties/conformance)プロパティは[**Conformance.Iso29500_2008_Strict**](https://reference.aspose.com/slides/net/aspose.slides.export/conformance)に設定されています。 +## **ZIP64 モードで Office Open XML 形式のプレゼンテーションを保存する** -```csharp - // プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化 - using (Presentation presentation = new Presentation()) - { - // 最初のスライドを取得 - ISlide slide = presentation.Slides[0]; +Office Open XML ファイルは ZIP アーカイブであり、非圧縮サイズ 4 GB (2^32 バイト)、圧縮サイズ 4 GB、アーカイブ全体のサイズ 4 GB、ファイル数 65 535 (2^16‑1) の制限があります。ZIP64 形式拡張により、これらの制限が 2^64 まで緩和されます。 - // ラインタイプのオートシェイプを追加 - slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); +[IPptxOptions.Zip64Mode](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/) プロパティを使用すると、Office Open XML ファイルを保存するときに ZIP64 形式拡張を使用するタイミングを選択できます。 - // プレゼンテーションを厳密なOffice Open XML形式で保存 - presentation.Save(dataDir + "NewPresentation_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx, - new PptxOptions() { Conformance = Conformance.Iso29500_2008_Strict }); +このプロパティは次のモードを提供します: - } +- `IfNecessary` は、プレゼンテーションが上記の制限を超える場合にのみ ZIP64 形式拡張を使用します。既定のモードです。 +- `Never` は ZIP64 形式拡張を使用しません。 +- `Always` は常に ZIP64 形式拡張を使用します。 +以下のコードは、ZIP64 形式拡張を有効にして PPTX としてプレゼンテーションを保存する方法を示しています: +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + presentation.Save("OutputZip64.pptx", SaveFormat.Pptx, new PptxOptions() + { + Zip64Mode = Zip64Mode.Always + }); +} ``` -### **Zip64モードでOffice Open XML形式のプレゼンテーションを保存** -Office Open XMLファイルはZIPアーカイブで、ファイルの未圧縮サイズ、圧縮サイズ、およびアーカイブの合計サイズに4GB(2^32バイト)の制限があり、アーカイブ内のファイル数も65,535(2^16-1)に制限されています。ZIP64形式の拡張により、これらの制限は2^64まで拡大されます。 -新しい[**IPptxOptions.Zip64Mode**](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/)プロパティを使用すると、保存されたOffice Open XMLファイルにZIP64形式の拡張を使用するかどうかを選択できます。 +{{% alert title="NOTE" color="warning" %}} +`Zip64Mode.Never` で保存すると、ZIP32 形式で保存できない場合に [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/) がスローされます。 +{{% /alert %}} -このプロパティは以下のモードを提供します: +## **サムネイルを更新せずにプレゼンテーションを保存する** -- [Zip64Mode.IfNecessary](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/)は、プレゼンテーションが上記の制限を超える場合のみZIP64形式の拡張が使用されることを意味します。これがデフォルトモードです。 -- [Zip64Mode.Never](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/)は、ZIP64形式の拡張が使用されないことを意味します。 -- [Zip64Mode.Always](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/)は、ZIP64形式の拡張が常に使用されることを意味します。 +[PptxOptions.RefreshThumbnail](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/refreshthumbnail/) プロパティは、PPTX 形式で保存する際のサムネイル生成を制御します: -以下のC#コードは、ZIP64形式の拡張を使用してプレゼンテーションをPPTX形式で保存する方法を示しています。 +- `true` に設定すると、保存時にサムネイルが更新されます。既定です。 +- `false` に設定すると、現在のサムネイルが保持されます。サムネイルが存在しない場合は生成されません。 -```c# -using (Presentation pres = new Presentation("Sample.pptx")) +以下のコードは、サムネイルを更新せずに PPTX としてプレゼンテーションを保存する例です。 +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) { - pres.Save("Sample-zip64.pptx", SaveFormat.Pptx, new PptxOptions() + presentation.Save("Output.pptx", SaveFormat.Pptx, new PptxOptions() { - Zip64Mode = Zip64Mode.Always + RefreshThumbnail = false }); } ``` -{{% alert title="注意" color="warning" %}} - -Zip64Mode.Neverモードで保存すると、プレゼンテーションがZIP32形式で保存できない場合に[PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/)がスローされます。 +{{% alert title="Info" color="info" %}} +このオプションを使用すると、PPTX 形式での保存にかかる時間を短縮できます。 {{% /alert %}} -### **パーセンテージでの進捗更新の保存** -新しい[**IProgressCallback**](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback)インターフェースが[**ISaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions)インターフェースと[**SaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions)抽象クラスに追加されました。**IProgressCallback**インターフェースは、パーセンテージでの保存進捗更新のためのコールバックオブジェクトを表します。 +## **保存進行状況をパーセンテージで取得する** -以下のコードスニペットは、IProgressCallbackインターフェースの使用方法を示しています。 +[IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/) インターフェイスは、[ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions/) インターフェイスが公開する `ProgressCallback` プロパティと、抽象クラス [SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/) を介して使用されます。`ProgressCallback` に [IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/) 実装を割り当てると、保存進行状況がパーセンテージで通知されます。 -```c# -using (Presentation presentation = new Presentation("ConvertToPDF.pptx")) +以下のコードスニペットは、`IProgressCallback` の使用方法を示しています。 +```cs +ISaveOptions saveOptions = new PdfOptions(); +saveOptions.ProgressCallback = new ExportProgressHandler(); + +using (Presentation presentation = new Presentation("Sample.pptx")) { - ISaveOptions saveOptions = new PdfOptions(); - saveOptions.ProgressCallback = new ExportProgressHandler(); - presentation.Save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions); + presentation.Save("Output.pdf", SaveFormat.Pdf, saveOptions); } - ``` -```c# +```cs class ExportProgressHandler : IProgressCallback { public void Reporting(double progressValue) { - // 進捗のパーセンテージ値をここで使用 + // ここで進捗パーセンテージの値を使用します。 int progress = Convert.ToInt32(progressValue); - Console.WriteLine(progress + "%ファイルが変換されました"); + + Console.WriteLine(progress + "% of the file has been converted."); } } ``` -{{% alert title="情報" color="info" %}} - -Asposeは独自のAPIを使用して、ユーザーがプレゼンテーションを複数のファイルに分割できる[無料のPowerPointスプリッターアプリ](https://products.aspose.app/slides/splitter)を開発しました。このアプリは、指定されたプレゼンテーションから選択したスライドを新しいPowerPoint(PPTXまたはPPT)ファイルとして保存します。 +{{% alert title="Info" color="info" %}} +Aspose は独自の API を使用した無料の PowerPoint Splitter アプリを提供しています。選択したスライドを新しい PPTX または PPT ファイルとして保存することで、プレゼンテーションを複数のファイルに分割できます。 {{% /alert %}} -

プレゼンテーションを開いて保存

+## **FAQ** + +**「高速保存」(インクリメンタル保存)はサポートされていますか?変更があった部分だけを書き込むことは可能ですか?** + +いいえ。保存は毎回完全なターゲットファイルを作成します。インクリメンタルの「高速保存」はサポートされていません。 + +**同じ Presentation インスタンスを複数スレッドから同時に保存することはスレッドセーフですか?** + +いいえ。[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) インスタンスは [スレッドセーフではありません](/slides/ja/net/multithreading/)。単一スレッドから保存してください。 -手順: C#でプレゼンテーションを開いて保存 +**ハイパーリンクや外部リンクされたファイルは保存時にどう扱われますか?** -1. 任意の形式(例: PPT, PPTX, ODPなど)で[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスのインスタンスを作成します。 -2. プレゼンテーションを[SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/)でサポートされている任意の形式で保存します。 +[ハイパーリンク](/slides/ja/net/manage-hyperlinks/) は保持されます。外部リンクされたファイル(たとえば相対パスで参照される動画など)は自動的にコピーされません。参照先パスが引き続きアクセス可能であることを確認してください。 -```c# -// プレゼンテーションに任意のサポートされたファイルを読み込む(例: ppt, pptx, odpなど) -Presentation presentation = new Presentation("Sample.odp"); +**文書メタデータ(作成者、タイトル、会社、日付)を設定/保存できますか?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +はい。標準の [文書プロパティ](/slides/ja/net/presentation-properties/) がサポートされており、保存時にファイルに書き込まれます。 \ No newline at end of file diff --git a/ja/net/developer-guide/modern-api/_index.md b/ja/net/developer-guide/modern-api/_index.md index 124f0f5382..81e69e9f1c 100644 --- a/ja/net/developer-guide/modern-api/_index.md +++ b/ja/net/developer-guide/modern-api/_index.md @@ -1,117 +1,116 @@ --- -title: モダンAPI +title: モダン API type: docs weight: 237 url: /ja/net/modern-api/ -keywords: "クロスプラットフォーム モダンAPI System.Drawing" -description: "モダンAPI" +keywords: "CrossPlatform モダン API System.Drawing" +description: "モダン API" --- -## はじめに +## **はじめに** -これまで、Aspose SlidesはSystem.Drawingに依存しており、公開APIには以下のクラスが含まれています: +歴史的に、Aspose Slides は System.Drawing に依存しており、公開 API にはそこからの以下のクラスが含まれています: - [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) - [Image](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.image) - [Bitmap](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.bitmap) - [PrinterSettings](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.printing.printersettings) -バージョン24.4から、この公開APIは非推奨と宣言されました。 +バージョン 24.4 以降、この公開 API は非推奨と宣言されています。 -System.Drawingのサポートは、.NET6以降の非Windowsバージョンでは削除されました([破壊的変更](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only))。したがって、Slidesは2つのライブラリバージョンアプローチを実施しました: -- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) - Windows向けの.NET6+サポート、Windows/Linux/MacOS向けの.NETStandard、.NETFramework 2+ (Windows)。 - - [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/)に依存しています。 -- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) - 依存関係のないWindows/Linux/MacOSバージョン。 +.NET6 以降のバージョンでの System.Drawing のサポートが非 Windows 環境向けに削除されたため([breaking change](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only))、Slides は 2 つのライブラリ バージョン方式を実装しました: +- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) - Windows 用 .NET6+、Windows/Linux/MacOS 用 .NETStandard、Windows 用 .NETFramework 2+ をサポート。 + - [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/) に依存しています。 +- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) - 依存関係のない Windows/Linux/MacOS 用バージョン。 -[Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform)の不便さは、同じ名前空間で独自のSystem.Drawingのバージョンを実装していることです(公開APIとの後方互換性をサポートするため)。したがって、Aspose.Slides.NET6.CrossPlatformと.NETFrameworkまたはSystem.Drawing.CommonパッケージのSystem.Drawingを同時に使用する場合、エイリアスを使用しない限り、名前の衝突が発生します。 +[Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) の不便な点は、同じ名前空間に独自の System.Drawing の実装を持ち(公開 API との下位互換性をサポートするため)、.NETFramework の System.Drawing または System.Drawing.Common パッケージと同時に使用するとエイリアスを使用しない限り名前の衝突が発生することです。 -Aspose.Slides.NETのメインパッケージにおけるSystem.Drawingへの依存関係を排除するために、いわゆる「モダンAPI」を追加しました。これは、以下のSystem.Drawingからの型:ImageおよびBitmapに対する依存関係を含む非推奨のAPIの代わりに使用するAPIです。PrinterSettingsとGraphicsは非推奨として宣言され、そのサポートは公開Slides APIから削除されました。 +メインの Aspose.Slides.NET パッケージから System.Drawing への依存を排除するために、いわゆる「モダン API」を追加しました。つまり、非推奨の API の代わりに使用すべき API で、シグネチャに System.Drawing の Image と Bitmap が含まれています。PrinterSettings と Graphics は非推奨とされ、公開 Slides API からのサポートが削除されました。 -System.Drawingへの依存関係を持つ非推奨の公開APIは、リリース24.8で削除される予定です。 +System.Drawing への依存を持つ非推奨の公開 API の削除は、リリース 24.8 で行われます。 -## モダンAPI +## **モダン API** -以下のクラスと列挙型が公開APIに追加されました: +公開 API に以下のクラスと列挙型を追加しました: -- Aspose.Slides.IImage - ラスタまたはベクトル画像を表します。 -- Aspose.Slides.ImageFormat - 画像のファイル形式を表します。 -- Aspose.Slides.Images - IImageインターフェースのインスタンス化および操作に使用されるメソッド。 +- Aspose.Slides.IImage – ラスタまたはベクタ画像を表します。 +- Aspose.Slides.ImageFormat – 画像のファイル形式を表します。 +- Aspose.Slides.Images – IImage インターフェイスを生成し操作するメソッド。 -IImageは破棄可能であることに注意してください(IDisposableインターフェースを実装しており、その使用はusingでラップするか、他の便利な方法で破棄する必要があります)。 +IImage は IDisposable を実装しており、using でラップするか、別の適切な方法で Dispose する必要があることに注意してください。 -新しいAPIの使用の典型的なシナリオは次のようになります: - -``` csharp +新しい API の典型的な使用シナリオは次のようになります: +```csharp using (Presentation pres = new Presentation()) { IPPImage ppImage; - // ディスク上のファイルからIImageの破棄可能なインスタンスをインスタンス化。 + // ディスク上のファイルから破棄可能な IImage インスタンスを生成します。 using (IImage image = Images.FromFile("image.png")) { - // IImageのインスタンスをプレゼンテーションの画像に追加してPowerPoint画像を作成。 + // IImage のインスタンスをプレゼンテーションの画像コレクションに追加して PowerPoint 画像を作成します。 ppImage = pres.Images.AddImage(image); } - // スライド#1に画像シェイプを追加 + // スライド #1 に画像シェイプを追加します。 pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); - // スライド#1を表すIImageのインスタンスを取得。 + // スライド #1 を表す IImage のインスタンスを取得します。 using (var slideImage = pres.Slides[0].GetImage(new Size(1920, 1080))) { - // ディスクに画像を保存。 + // 画像をディスクに保存します。 slideImage.Save("slide1.jpeg", ImageFormat.Jpeg); } } ``` -## 古いコードをモダンAPIに置き換える -移行を容易にするために、新しいIImageのインターフェースはImageおよびBitmapクラスの個別のシグニチャを繰り返します。一般的に、System.Drawingを使用した古いメソッドの呼び出しを新しいメソッドに置き換えるだけで済みます。 +## **モダン API への置き換え** -### スライドのサムネイルを取得 +移行を容易にするために、新しい IImage のインターフェイスは Image と Bitmap クラスの個別シグネチャを繰り返しています。基本的には、System.Drawing を使用した旧メソッド呼び出しを新しいものに置き換えるだけです。 -非推奨APIを使用したコード: +### **スライドのサムネイル取得** -``` csharp +非推奨 API を使用したコード: +```csharp using (Presentation pres = new Presentation("pres.pptx")) { pres.Slides[0].GetThumbnail().Save("slide1.png"); } ``` -モダンAPI: -``` csharp +モダン API: +```csharp using (Presentation pres = new Presentation("pres.pptx")) { pres.Slides[0].GetImage().Save("slide1.png"); } ``` -### シェイプのサムネイルを取得 -非推奨APIを使用したコード: +### **シェイプのサムネイル取得** -``` csharp +非推奨 API を使用したコード: +```csharp using (Presentation pres = new Presentation("pres.pptx")) { pres.Slides[0].Shapes[0].GetThumbnail().Save("shape.png"); } ``` -モダンAPI: -``` csharp +モダン API: +```csharp using (Presentation pres = new Presentation("pres.pptx")) { pres.Slides[0].Shapes[0].GetImage().Save("shape.png"); } ``` -### プレゼンテーションのサムネイルを取得 -非推奨APIを使用したコード: +### **プレゼンテーションのサムネイル取得** -``` csharp +非推奨 API を使用したコード: +```csharp using (Presentation pres = new Presentation("pres.pptx")) { var bitmaps = pres.GetThumbnails(new RenderingOptions(), new Size(1980, 1028)); @@ -133,9 +132,9 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -モダンAPI: -``` csharp +モダン API: +```csharp using (Presentation pres = new Presentation("pres.pptx")) { var images = pres.GetImages(new RenderingOptions(), new Size(1980, 1028)); @@ -157,11 +156,11 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### プレゼンテーションに画像を追加 -非推奨APIを使用したコード: +### **プレゼンテーションへの画像追加** -``` csharp +非推奨 API を使用したコード: +```csharp using (Presentation pres = new Presentation()) { IPPImage ppImage; @@ -174,9 +173,9 @@ using (Presentation pres = new Presentation()) } ``` -モダンAPI: -``` csharp +モダン API: +```csharp using (Presentation pres = new Presentation()) { IPPImage ppImage; @@ -188,92 +187,104 @@ using (Presentation pres = new Presentation()) pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); } ``` -## 取り除かれるメソッド/プロパティとモダンAPIでの置き換え -### プレゼンテーション -| メソッドシグネチャ | 置き換えメソッドシグネチャ | + +## **削除対象のメソッド/プロパティとモダン API における置換** + +### **Presentation** +| メソッド シグネチャ | 代替メソッド シグネチャ | |-----------------------------------------------|---------------------------------------------------------| -| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | -| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | +| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | +| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | | public Bitmap[] GetThumbnails(IRenderingOptions options, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_4) | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, int[] slides, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_2) | | public Bitmap[] GetThumbnails(IRenderingOptions options, Size imageSize) | [GetImages(IRenderingOptions options, Size imageSize)]() | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, Size imageSize) | [GetImages(IRenderingOptions options, int[] slides, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_3) | -| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | 完全に削除される予定 | -| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | 完全に削除される予定 | -| public void Print() | 完全に削除される予定 | -| public void Print(PrinterSettings printerSettings) | 完全に削除される予定 | -| public void Print(string printerName) | 完全に削除される予定 | -| public void Print(PrinterSettings printerSettings, string presName) | 完全に削除される予定 | - -### シェイプ -| メソッドシグネチャ | 置き換えメソッドシグネチャ | +| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | 完全に削除されます | +| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | 完全に削除されます | +| public void Print() | 完全に削除されます | +| public void Print(PrinterSettings printerSettings) | 完全に削除されます | +| public void Print(string printerName) | 完全に削除されます | +| public void Print(PrinterSettings printerSettings, string presName) | 完全に削除されます | + +### **Shape** +| メソッド シグネチャ | 代替メソッド シグネチャ | |----------------------------------------------------------------------|-------------------------------------------------------------------| -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | | public Bitmap GetThumbnail(ShapeThumbnailBounds bounds, float scaleX, float scaleY) | [GetImage(ShapeThumbnailBounds bounds, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage_1) | -### スライド -| メソッドシグネチャ | 置き換えメソッドシグネチャ | +### **Slide** +| メソッド シグネチャ | 代替メソッド シグネチャ | |----------------------------------------------------------------------|-----------------------------------------------------------------------| -| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | -| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | -| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | -| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | +| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | +| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | +| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | +| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | | public Bitmap GetThumbnail(IRenderingOptions options, float scaleX, float scaleY) | [GetImage(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_2) | -| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | 完全に削除される予定 | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | 完全に削除される予定 | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | 完全に削除される予定 | +| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | 完全に削除されます | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | 完全に削除されます | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | 完全に削除されます | -#### 出力 -| メソッドシグネチャ | 置き換えメソッドシグネチャ | +### **Output** +| メソッド シグネチャ | 代替メソッド シグネチャ | |-----------------------------------------------------------------|-------------------------------------------------------------| -| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | +| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | -### ImageCollection -| メソッドシグネチャ | 置き換えメソッドシグネチャ | +### **ImageCollection** +| メソッド シグネチャ | 代替メソッド シグネチャ | |-------------------------------------------|--------------------------------------------| -| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | +| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | -### ImageWrapperFactory -| メソッドシグネチャ | 置き換えメソッドシグネチャ | +### **ImageWrapperFactory** +| メソッド シグネチャ | 代替メソッド シグネチャ | |----------------------------------------------------------|---------------------------------------------------------| -| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | +| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | -### PPImage -| メソッド/プロパティシグネチャ | 置き換えメソッドシグネチャ | +### **PPImage** +| メソッド/プロパティ シグネチャ | 代替メソッド シグネチャ | |--------------------------------------|-----------------------------------------| -| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | -| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | +| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | +| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | -### PatternFormat -| メソッドシグネチャ | 置き換えメソッドシグネチャ | +### **PatternFormat** +| メソッド シグネチャ | 代替メソッド シグネチャ | |-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | -| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | +| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | +| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | -### IPatternFormatEffectiveData -| メソッドシグネチャ | 置き換えメソッドシグネチャ | +### **IPatternFormatEffectiveData** +| メソッド シグネチャ | 代替メソッド シグネチャ | |-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | +| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | -## Aspose.Slides.NET6.CrossPlatformのサポートは終了します +## **Graphics と PrinterSettings の API サポートは中止されます** -[Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET)バージョン24.8のリリースに続いて、[Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform)のサポートは終了する予定です。 - -## GraphicsおよびPrinterSettingsのAPIサポートは終了します - -[Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics)クラスは、.NET6以降のクロスプラットフォームバージョンではサポートされていません。Aspose Slidesでは、それを使用するAPIの一部が削除されます: +[Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) クラスは .NET6 以上のクロスプラットフォーム バージョンではサポートされません。Aspose Slides では、これを使用する API 部分が削除されます: [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide/) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_5) -また、印刷に関連するAPIの一部も削除されます: +また、印刷に関する API 部分も削除されます: [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): - [public void Presentation.Print](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print) - [public void Print(PrinterSettings printerSettings)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_1) - [public void Print(string printerName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_3) -- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) \ No newline at end of file +- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) + +# **FAQ** + +**なぜ System.Drawing.Graphics が削除されたのですか?** + +`Graphics` のサポートは、レンダリングと画像処理を統一し、プラットフォーム固有の依存関係を排除し、[IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) によるクロスプラットフォーム アプローチへ切り替えるために、公開 API から削除されます。すべての `Graphics` 向けレンダリング メソッドが削除されます。 + +**IImage は Image/Bitmap と比べて実際にどんな利点がありますか?** + +[IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) はラスタ画像とベクタ画像の両方を統一的に扱い、[ImageFormat](https://reference.aspose.com/slides/net/aspose.slides/imageformat/) を介したさまざまな形式への保存を簡素化し、`System.Drawing` への依存を低減し、環境間でのコード移植性を向上させます。 + +**モダン API はサムネイル生成のパフォーマンスに影響しますか?** + +`GetThumbnail` から `GetImage` への切り替えは性能を劣化させません。新メソッドはオプションとサイズ指定で画像を生成する同等の機能を提供し、シナリオによって得られるメリットやデメリットは異なりますが、機能的には置換は同等です。 \ No newline at end of file diff --git a/ja/net/developer-guide/powerpoint-animation/_index.md b/ja/net/developer-guide/powerpoint-animation/_index.md index e568fba4a1..a1d554015a 100644 --- a/ja/net/developer-guide/powerpoint-animation/_index.md +++ b/ja/net/developer-guide/powerpoint-animation/_index.md @@ -1,28 +1,55 @@ --- -title: PowerPointアニメーション +title: C# で PowerPoint プレゼンテーションをアニメーションで強化する +linktitle: PowerPoint アニメーション type: docs weight: 150 url: /ja/net/powerpoint-animation/ -keywords: "アニメーション, アニメーション効果, PowerPointアニメーション, アニメーションタイムライン, インタラクティブアニメーション, 形状アニメーション, アニメーションチャート, アニメーションテキスト, PowerPointプレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C#または.NETにおけるPowerPointプレゼンテーションのアニメーションと効果" +keywords: +- アニメーションを追加 +- アニメーションを更新 +- アニメーションを変更 +- アニメーションを削除 +- アニメーションを管理 +- アニメーションを制御 +- アニメーション効果 +- PowerPoint アニメーション +- アニメーション タイムライン +- インタラクティブ アニメーション +- カスタム アニメーション +- 図形アニメーション +- アニメーション化されたチャート +- アニメーションテキスト +- アニメーション図形 +- アニメーション OLE オブジェクト +- アニメーション画像 +- アニメーションテーブル +- PowerPoint プレゼンテーション +- C# +- Csharp +- Aspose.Slides for .NET +description: "Aspose.Slides for .NET の PowerPoint アニメーション処理機能を探ります。この一般的な概要では、主な機能をハイライトし、プレゼンテーションを強化するための洞察を提供します。" --- -プレゼンテーションは何かを提示するためのものであるため、作成する際には視覚的な外観とインタラクティブな動作が常に考慮されます。 +## **概要** -**PowerPointアニメーション**は、プレゼンテーションを視聴者にとって魅力的で目を引くものにするために重要な役割を果たします。Aspose.Slides for .NETは、PowerPointプレゼンテーションにアニメーションを追加するための幅広いオプションを提供します。 +プレゼンテーションは何かを提示するものなので、作成時には視覚的な外観とインタラクティブな動作が常に考慮されます。 -- 形状、チャート、表、OLEオブジェクトおよび他のプレゼンテーション要素にさまざまなタイプのPowerPointアニメーション効果を適用します。 -- 1つの形状に複数のPowerPointアニメーション効果を使用します。 -- アニメーション効果を制御するためにアニメーションタイムラインを使用します。 -- カスタムアニメーションを作成します。 +**PowerPoint アニメーション** は、プレゼンテーションを目を引くものにし、視聴者を引き込む重要な役割を果たします。Aspose.Slides for .NET は、PowerPoint プレゼンテーションにアニメーションを追加するための幅広いオプションを提供します: -Aspose.Slides for .NETでは、さまざまなアニメーション効果を形状に適用できます。スライド上のすべての要素(テキスト、画像、OLEオブジェクト、表など)は形状と見なされるため、スライドのすべての要素にアニメーション効果を適用することができます。 +- さまざまな種類の PowerPoint アニメーション効果を図形、チャート、テーブル、OLE オブジェクト、およびその他のプレゼンテーション要素に適用します。 +- 単一の図形に複数の PowerPoint アニメーション効果を使用します。 +- アニメーションタイムラインを利用してアニメーション効果を制御します。 +- カスタム アニメーションを作成します。 + +Aspose.Slides for .NET では、さまざまなアニメーション効果を図形に適用できます。スライド上のすべての要素(テキスト、画像、OLE オブジェクト、テーブルなど)は図形とみなされるため、スライド上の任意の要素にアニメーション効果を適用できます。 + +[Aspose.Slides.Animation](https://reference.aspose.com/slides/net/aspose.slides.animation/) 名前空間は、PowerPoint アニメーションを操作するためのクラスを提供します。 -[**Aspose.Slides.Animation**](https://reference.aspose.com/slides/net/aspose.slides.animation/) **名前空間**は、PowerPointアニメーションを操作するためのクラスを提供します。 ## **アニメーション効果** -Aspose.Slidesは、**150以上のアニメーション効果**をサポートしており、BounceやPathFootball、Zoom効果などの基本的なアニメーション効果や、OLEObjectShow、OLEObjectOpenなどの特定のアニメーション効果を含みます。アニメーション効果の完全なリストは、[**EffectType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype)列挙型で確認できます。 -さらに、これらのアニメーション効果は次のものと組み合わせて使用できます。 +Aspose.Slides は **150+ アニメーション効果** をサポートしており、Bounce、PathFootball、Zoom などの基本効果や OLEObjectShow、OLEObjectOpen といった特定の効果が含まれます。完全な一覧は [EffectType](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype) 列挙体で確認できます。 + +さらに、これらのアニメーション効果は以下と組み合わせて使用できます。 - [ColorEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/coloreffect) - [CommandEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/commandeffect) @@ -32,35 +59,59 @@ Aspose.Slidesは、**150以上のアニメーション効果**をサポートし - [RotationEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/rotationeffect) - [ScaleEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/scaleeffect) - [SetEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/seteffect) -## **カスタムアニメーション** -Aspose.Slidesでは、自分ownの**カスタムアニメーション**を作成することが可能です。これは、いくつかの動作を組み合わせて新しいカスタムアニメーションを作成することで実現できます。 -[**Behaviour**](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior)は、いかなるPowerPointアニメーション効果の構成要素です。すべてのアニメーション効果は実際には1つの戦略に組み合わされた動作のセットです。動作を一度カスタムアニメーションにまとめると、それを他のプレゼンテーションで再利用できます。標準のPowerPointアニメーション効果に新しい動作を追加すると、それは別のカスタムアニメーションになります。たとえば、アニメーションに繰り返し動作を追加して、何回も繰り返すようにすることができます。 +## **カスタム アニメーション** + +Aspose.Slides では、独自の **カスタム アニメーション** を作成できます。これは、複数のビヘイビアを組み合わせて新しいカスタム アニメーションにすることで実現します。 + +[Behaviour](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) は PowerPoint アニメーション効果の構成要素です。すべてのアニメーション効果は本質的にビヘイビアの集合で構成されています。ビヘイビアをカスタム アニメーションにまとめておけば、他のプレゼンテーションでも再利用できます。標準の PowerPoint アニメーション効果に新しいビヘイビアを追加すると、別のカスタム アニメーションになります。たとえば、アニメーションにリピート ビヘイビアを追加して数回繰り返すように設定できます。 + +[Animation Point](https://reference.aspose.com/slides/net/aspose.slides.animation/point) は、ビヘイビアを適用すべき位置を示すポイントです。 + +## **アニメーション タイムライン** + +[Sequence](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) は特定の図形に適用されるアニメーション効果のコレクションです。 + +[Timeline](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) はスライド内で使用されるシーケンスのセットです。PowerPoint 2002 で導入されたアニメーション エンジンで、以前のバージョンではアニメーション効果の追加が困難で回避策が必要でした。タイムラインは旧 AnimationSettings クラスに取って代わり、PowerPoint アニメーションのオブジェクトモデルを明確にします。スライドにはタイムラインは 1 つだけ設定できます。 + +## **インタラクティブ アニメーション** + +[Trigger](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) を使用すると、ユーザー アクション(例:ボタン クリック)で特定のアニメーションを開始できます。トリガーは最新バージョンの PowerPoint で導入されました。 -[**Animation Point**](https://reference.aspose.com/slides/net/aspose.slides.animation/point)は、動作を適用すべきポイントです。 -## **アニメーションタイムライン** -[**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence)は、具体的な形状に適用されるアニメーション効果のコレクションです。 +## **図形 アニメーション** -[**Timeline**](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline)は、具体的なスライドで使用されるSequenceのセットです。これはPowerPoint 2002以降のアニメーションエンジンを表しています。以前のPowerPointバージョンでは、プレゼンテーションにアニメーション効果を追加するのが難しく、さまざまな回避策を用いてのみ実現可能でした。タイムラインは旧式のAnimationSettingsクラスに代わり、PowerPointアニメーションのより明確なオブジェクトモデルを提供します。1つのスライドには1つのアニメーションタイムラインしかありません。 -## **インタラクティブアニメーション** -[**Trigger**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype)は、特定のアニメーションを開始するユーザーアクション(例:ボタンのクリック)を定義することを可能にします。トリガーは最新のPowerPointバージョンにのみ追加されました。 -## **形状アニメーション** -Aspose.Slidesでは、形状(テキスト、矩形、線、フレーム、OLEオブジェクトなど)にアニメーションを適用することが可能です。 +Aspose.Slides を使用すると、テキスト、長方形、線、フレーム、OLE オブジェクトなど、さまざまな図形にアニメーションを適用できます。 {{% alert color="primary" %}} -詳細は、[**形状アニメーションについて**](/slides/ja/net/shape-animation/)をご覧ください。 +Read more [**図形アニメーションについて**](/slides/ja/net/shape-animation/). {{% /alert %}} -## **アニメーションチャート** -アニメーションチャートを作成するには、形状と同じクラスをすべて使用する必要があります。ただし、PowerPointアニメーションはチャートカテゴリーまたはチャートシリーズにのみ使用できます。カテゴリ要素やシリーズ要素にアニメーション効果を適用することもできます。 +## **アニメーション チャート** + +アニメーション化されたチャートを作成するには、図形と同じクラスを使用します。ただし、PowerPoint のアニメーションはチャートのカテゴリまたはシリーズにのみ適用でき、カテゴリ要素やシリーズ要素にも効果を設定できます。 {{% alert color="primary" %}} -詳細は、[**アニメーションチャートについて**](/slides/ja/net/animated-charts/)をご覧ください。 +Read more [**アニメーション化されたチャートについて**](/slides/ja/net/animated-charts/). {{% /alert %}} -## **アニメーションテキスト** -アニメーションテキストの他に、段落にアニメーションを適用することも可能です。 +## **アニメーション テキスト** + +アニメーション テキストに加え、段落単位でアニメーションを適用することも可能です。 {{% alert color="primary" %}} -詳細は、[**アニメーションテキストについて**](/slides/ja/net/animated-text/)をご覧ください。 -{{% /alert %}} \ No newline at end of file +Read more [**アニメーションテキストについて**](/slides/ja/net/animated-text/). +{{% /alert %}} + +## **FAQ** + +**PDF にエクスポートしたときにアニメーションは保持されますか?** + +いいえ。PDF は静的フォーマットのため、アニメーションや[スライド トランジション](/slides/ja/net/slide-transition/)は再生されません。モーションが必要な場合は、代わりに[HTML5](/slides/ja/net/export-to-html5/)、[animated GIF](/slides/ja/net/convert-powerpoint-to-animated-gif/)、または[video](/slides/ja/net/convert-powerpoint-to-video/)にエクスポートしてください。 + +**アニメーション化されたプレゼンテーションを動画に変換し、フレームレートやサイズを制御できますか?** + +はい。プレゼンテーションをフレームとして[レンダリング](/slides/ja/net/convert-powerpoint-to-video/)し、ffmpeg などで動画にエンコードできます。この際、FPS と解像度を指定できます。レンダリング中にアニメーションとスライド トランジションは再生されます。 + +**ODP(PPTX だけでなく)でもアニメーションはそのまま残りますか?** + +PPT、PPTX、ODP は[読み取り](/slides/ja/net/open-presentation/)および[書き込み](/slides/ja/net/save-presentation/)がサポートされていますが、フォーマットの差異により一部の効果が若干異なる場合があります。重要なケースは実際のサンプルで検証してください。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-comments/_index.md b/ja/net/developer-guide/presentation-comments/_index.md index d753ef20c1..9e864fd986 100644 --- a/ja/net/developer-guide/presentation-comments/_index.md +++ b/ja/net/developer-guide/presentation-comments/_index.md @@ -1,74 +1,75 @@ --- -title: プレゼンテーションコメント +title: プレゼンテーションのコメント type: docs weight: 100 url: /ja/net/presentation-comments/ keywords: "コメント, PowerPoint コメント, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C# または .NET で PowerPoint プレゼンテーションにコメントと返信を追加します" +description: "C# または .NET で PowerPoint プレゼンテーションにコメントと返信を追加する" --- -PowerPoint では、コメントはスライド上のノートまたは注釈として表示されます。コメントをクリックすると、その内容やメッセージが表示されます。 +PowerPoint では、コメントはスライド上のメモや注釈として表示されます。コメントをクリックすると、その内容やメッセージが表示されます。 -## **プレゼンテーションにコメントを追加する理由は何ですか?** +## **プレゼンテーションにコメントを追加する理由** -プレゼンテーションをレビューする際に、フィードバックを提供したり、同僚とコミュニケーションを取るためにコメントを使用したい場合があります。 +プレゼンテーションをレビューする際に、フィードバックを提供したり同僚とやり取りしたりするためにコメントを使用したい場合があります。 PowerPoint プレゼンテーションでコメントを使用できるように、Aspose.Slides for .NET は以下を提供します。 -* [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラス。このクラスには、スライドにコメントを追加する著者のコレクション([CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index) プロパティから)があります。 -* [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection) インターフェース。このインターフェースには、個々の著者に対するコメントのコレクションがあります。 -* [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) クラス。このクラスには、著者およびそのコメントに関する情報が含まれています:コメントを追加した人、コメントが追加された時間、コメントの位置など。 -* [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor) クラス。このクラスには、個々の著者に関する情報が含まれています:著者の名前、イニシャル、著者の名前に関連付けられたコメントなど。 +* The [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスは、著者コレクション([CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index) プロパティから)を含みます。著者はスライドにコメントを追加します。 +* The [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection) インターフェイスは、個々の著者に対するコメントコレクションを含みます。 +* The [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) クラスは、著者とそのコメントに関する情報(コメントを追加した人物、追加された時間、コメントの位置など)を含みます。 +* The [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor) クラスは、個々の著者に関する情報(著者名、イニシャル、著者名に関連付けられたコメントなど)を含みます。 -## **スライドコメントを追加する** -この C# コードは、PowerPoint プレゼンテーションのスライドにコメントを追加する方法を示しています。 +## **スライド コメントの追加** +この C# コードは、PowerPoint プレゼンテーションのスライドにコメントを追加する方法を示しています: ```c# -// Presentation クラスをインスタンス化 +// Presentation クラスのインスタンスを作成します using (Presentation presentation = new Presentation()) { - // 空のスライドを追加 + // 空のスライドを追加します presentation.Slides.AddEmptySlide(presentation.LayoutSlides[0]); - // 著者を追加 + // 作者を追加します ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Jawad", "MF"); - // コメントの位置を設定 + // コメントの位置を設定します PointF point = new PointF(); point.X = 0.2f; point.Y = 0.2f; - // スライド 1 の著者用のスライドコメントを追加 - author.Comments.AddComment("こんにちは Jawad、これはスライドコメントです", presentation.Slides[0], point, DateTime.Now); + // スライド 1 の作者用スライドコメントを追加します + author.Comments.AddComment("Hello Jawad, this is slide comment", presentation.Slides[0], point, DateTime.Now); - // スライド 2 の著者用のスライドコメントを追加 - author.Comments.AddComment("こんにちは Jawad、これは2つ目のスライドコメントです", presentation.Slides[1], point, DateTime.Now); + // スライド 2 の作者用スライドコメントを追加します + author.Comments.AddComment("Hello Jawad, this is second slide comment", presentation.Slides[1], point, DateTime.Now); - // ISlide 1 にアクセス + // ISlide 1 にアクセスします ISlide slide = presentation.Slides[0]; - // 引数に null を渡すと、全著者のコメントが選択したスライドに取得されます + // 引数に null を渡すと、すべての作者のコメントが選択されたスライドに取得されます IComment[] Comments = slide.GetSlideComments(author); - // スライド 1 のインデックス 0 のコメントにアクセス + // スライド 1 のインデックス 0 のコメントにアクセスします String str = Comments[0].Text; presentation.Save("Comments_out.pptx", SaveFormat.Pptx); if (Comments.GetLength(0) > 0) { - // インデックス 0 で著者のコメントコレクションを選択 + // インデックス 0 の作者のコメントコレクションを選択します ICommentCollection commentCollection = Comments[0].Author.Comments; String Comment = commentCollection[0].Text; } } ``` -## **スライドコメントにアクセスする** -この C# コードは、PowerPoint プレゼンテーションのスライドにある既存のコメントにアクセスする方法を示しています。 +## **スライド コメントへのアクセス** + +この C#コードは、PowerPoint プレゼンテーションのスライド上にある既存のコメントにアクセスする方法を示しています: ```c# -// Presentation クラスをインスタンス化 +// Presentation クラスのインスタンスを作成します using (Presentation presentation = new Presentation("Comments1.pptx")) { foreach (var commentAuthor in presentation.CommentAuthors) @@ -77,44 +78,45 @@ using (Presentation presentation = new Presentation("Comments1.pptx")) foreach (var comment1 in author.Comments) { var comment = (Comment) comment1; - Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " のコメント: " + comment.Text + " 著者: " + comment.Author.Name + " 投稿日時 :" + comment.CreatedTime + "\n"); + Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " has comment: " + comment.Text + " with Author: " + comment.Author.Name + " posted on time :" + comment.CreatedTime + "\n"); } } } ``` -## **返信コメント** -親コメントは、コメントや返信の階層における最上位または元のコメントです。[ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) プロパティ([IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) インターフェースから)を使用して、親コメントを設定または取得できます。 -この C# コードは、コメントを追加し、その返信を取得する方法を示しています。 +## **コメントへの返信** + +親コメントは、コメントや返信の階層における最上位または元のコメントです。[ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) プロパティ([IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) インターフェイスから)を使用して、親コメントを設定または取得できます。 +この C# コードは、コメントを追加し、それに対する返信を取得する方法を示しています: ```c# using (Presentation pres = new Presentation()) { - // コメントを追加 + // コメントを追加します ICommentAuthor author1 = pres.CommentAuthors.AddAuthor("Author_1", "A.A."); - IComment comment1 = author1.Comments.AddComment("コメント1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment1 = author1.Comments.AddComment("comment1", pres.Slides[0], new PointF(10, 10), DateTime.Now); - // コメント1への返信を追加 + // comment1 に対する返信を追加します ICommentAuthor author2 = pres.CommentAuthors.AddAuthor("Autror_2", "B.B."); - IComment reply1 = author2.Comments.AddComment("コメント1への返信 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply1 = author2.Comments.AddComment("reply 1 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply1.ParentComment = comment1; - // コメント1への別の返信を追加 - IComment reply2 = author2.Comments.AddComment("コメント1への返信 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + // comment1 に対する別の返信を追加します + IComment reply2 = author2.Comments.AddComment("reply 2 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply2.ParentComment = comment1; - // 既存の返信への返信を追加 - IComment subReply = author1.Comments.AddComment("返信 2へのサブ返信 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + // 既存の返信に対する返信を追加します + IComment subReply = author1.Comments.AddComment("subreply 3 for reply 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); subReply.ParentComment = reply2; - IComment comment2 = author2.Comments.AddComment("コメント 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment comment3 = author2.Comments.AddComment("コメント 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment2 = author2.Comments.AddComment("comment 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment3 = author2.Comments.AddComment("comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment reply3 = author1.Comments.AddComment("コメント 3への返信 4", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply3 = author1.Comments.AddComment("reply 4 for comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply3.ParentComment = comment3; - // コンソールにコメントの階層を表示 + // コンソールにコメント階層を表示します ISlide slide = pres.Slides[0]; var comments = slide.GetSlideComments(null); for (int i = 0; i < comments.Length; i++) @@ -132,81 +134,79 @@ using (Presentation pres = new Presentation()) pres.Save("parent_comment.pptx",SaveFormat.Pptx); - // comment1 とそれに対する全ての返信を削除 + // comment1 とそれへのすべての返信を削除します comment1.Remove(); pres.Save("remove_comment.pptx", SaveFormat.Pptx); } ``` -{{% alert color="warning" title="注意" %}} - -* [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) メソッド([IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) インターフェースから)を使用してコメントを削除すると、そのコメントへの返信も削除されます。 -* [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) 設定が循環参照を引き起こすと、[PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception) がスローされます。 +{{% alert color="warning" title="注意" %}} +* [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) メソッド([IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) インターフェイスから)を使用してコメントを削除すると、そのコメントへの返信も削除されます。 +* [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) 設定が循環参照を引き起こす場合、[PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception) がスローされます。 {{% /alert %}} -## **モダンコメントを追加する** - -2021年、Microsoft は PowerPoint に*モダンコメント*を導入しました。モダンコメント機能は、PowerPoint におけるコラボレーションを大幅に改善します。モダンコメントを通じて、PowerPoint ユーザーはコメントを解決し、オブジェクトやテキストにコメントを固定し、以前よりも簡単に対話を行うことができます。 +## **モダン コメントの追加** -[Aspose Slides for .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/) では、[ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment) クラスを追加することにより、モダンコメントのサポートを実装しました。[AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) と [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) メソッドが [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection) クラスに追加されました。 +2021 年、Microsoft は PowerPoint に *モダン コメント* を導入しました。モダン コメント機能は PowerPoint のコラボレーションを大幅に向上させます。モダン コメントにより、PowerPoint ユーザーはコメントを解決したり、オブジェクトやテキストにコメントを固定したり、従来よりもはるかに簡単にやり取りできるようになります。 -この C# コードは、PowerPoint プレゼンテーションのスライドにモダンコメントを追加する方法を示しています: +[Aspose Slides for .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/) では、[ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment) クラスを追加することでモダン コメントのサポートを実装しました。[AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) と [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) メソッドが [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection) クラスに追加されました。 +この C# コードは、PowerPoint プレゼンテーションのスライドにモダン コメントを追加する方法を示しています: ```c# using (Presentation pres = new Presentation()) { - ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("著者名", "SA"); - IModernComment modernComment = newAuthor.Comments.AddModernComment("これはモダンコメントです", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); + ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("Some Author", "SA"); + IModernComment modernComment = newAuthor.Comments.AddModernComment("This is a modern comment", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## **コメントを削除する** -### **全コメントと著者を削除する** +## **コメントの削除** -この C# コードは、プレゼンテーションのすべてのコメントと著者を削除する方法を示しています。 +### **すべてのコメントと著者を削除** +この C# コードは、プレゼンテーション内のすべてのコメントと著者を削除する方法を示しています: ```c# using (var presentation = new Presentation("example.pptx")) { - // プレゼンテーションの全てのコメントを削除 + // プレゼンテーションからすべてのコメントを削除します foreach (var author in presentation.CommentAuthors) { author.Comments.Clear(); } - // すべての著者を削除 + // すべての作者を削除します presentation.CommentAuthors.Clear(); presentation.Save("example_out.pptx", SaveFormat.Pptx); } ``` -### **特定のコメントを削除する** -この C# コードは、スライドで特定のコメントを削除する方法を示しています。 +### **特定のコメントを削除** +この C# コードは、スライド上の特定のコメントを削除する方法を示しています: ```c# using (var presentation = new Presentation()) { ISlide slide = presentation.Slides[0]; - // コメントを追加... - ICommentAuthor author = presentation.CommentAuthors.AddAuthor("著者", "A"); - author.Comments.AddComment("コメント 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); - author.Comments.AddComment("コメント 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); + // コメントを追加します... + ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Author", "A"); + author.Comments.AddComment("comment 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); + author.Comments.AddComment("comment 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); - // "コメント 1" テキストを含むすべてのコメントを削除 + // テキスト "comment 1" を含むすべてのコメントを削除します foreach (ICommentAuthor commentAuthor in presentation.CommentAuthors) { List toRemove = new List(); foreach (IComment comment in slide.GetSlideComments(commentAuthor)) { - if (comment.Text == "コメント 1") + if (comment.Text == "comment 1") { toRemove.Add(comment); } @@ -220,4 +220,19 @@ using (var presentation = new Presentation()) presentation.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Aspose.Slides はモダン コメントに対して「解決済み」などのステータスをサポートしていますか?** + +はい。[Modern comments](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/) は [Status](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/status/) プロパティを公開しています。これにより、[コメントの状態](https://reference.aspose.com/slides/net/aspose.slides/moderncommentstatus/)(例として「解決済み」にマークする)を読み書きでき、この状態はファイルに保存され PowerPoint で認識されます。 + +**スレッド化されたディスカッション(返信チェーン)はサポートされていますか?また、入れ子の深さに制限はありますか?** + +はい。各コメントは [parent comment](https://reference.aspose.com/slides/net/aspose.slides/comment/parentcomment/) を参照できるため、任意の長さの返信チェーンを作成できます。API には特定の入れ子深さの上限は定義されていません。 + +**スライド上のコメント マーカーの位置はどの座標系で定義されていますか?** + +位置はスライドの座標系で浮動小数点数のポイントとして保存されます。そのため、コメント マーカーを必要な場所に正確に配置できます。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-blob/_index.md b/ja/net/developer-guide/presentation-content/manage-blob/_index.md index bdd826836c..c390a84a69 100644 --- a/ja/net/developer-guide/presentation-content/manage-blob/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-blob/_index.md @@ -1,73 +1,78 @@ --- -title: BLOBの管理 +title: Blob を管理する type: docs weight: 10 url: /ja/net/manage-blob/ -keywords: "BLOBを追加, BLOBをエクスポート, BLOBとして画像を追加, PowerPointプレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C#または.NETでPowerPointプレゼンテーションにBLOBを追加します。BLOBをエクスポートします。画像をBLOBとして追加します。" +keywords: "Blob の追加, Blob のエクスポート, 画像を Blob として追加, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" +description: "C# または .NET で PowerPoint プレゼンテーションに Blob を追加します。Blob をエクスポートします。画像を Blob として追加します" --- ## **BLOBについて** -**BLOB** (**Binary Large Object**)は、通常、バイナリ形式で保存される大きなアイテム(写真、プレゼンテーション、文書、またはメディア)のことです。 +**BLOB** (**Binary Large Object**) は、通常、バイナリ形式で保存される大きなアイテム(写真、プレゼンテーション、文書、またはメディア)です。 -Aspose.Slides for .NETは、大きなファイルが関与する場合にメモリ消費を抑える方法でオブジェクトにBLOBを使用することを可能にします。 +Aspose.Slides for .NET は、大きなファイルが関与する場合にメモリ使用量を削減する方法でオブジェクトに BLOB を使用できるようにします。 -## **BLOBを使用してメモリ消費を削減する** +## **BLOB を使用してメモリ使用量を削減する** -### **プレゼンテーションにBLOBを介して大きなファイルを追加する** +### **BLOB 経由で大きなファイルをプレゼンテーションに追加する** -[Aspose.Slides](/slides/ja/net/) for .NETは、メモリ消費を減らすためにBLOBを介したプロセスで大きなファイル(この場合は大きなビデオファイル)を追加することを可能にします。 - -このC#コードは、BLOBプロセスを介してプレゼンテーションに大きなビデオファイルを追加する方法を示しています: +[Aspose.Slides](/slides/ja/net/) for .NET は、メモリ使用量を削減するために BLOB を利用したプロセスで大きなファイル(この場合は大きなビデオファイル)を追加できるようにします。 +この C# は、BLOB プロセスを通じて大きなビデオファイルをプレゼンテーションに追加する方法を示します: ```c# const string pathToVeryLargeVideo = "veryLargeVideo.avi"; -// ビデオが追加される新しいプレゼンテーションを作成します +// ビデオを追加する新しいプレゼンテーションを作成します using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToVeryLargeVideo, FileMode.Open)) { - // プレゼンテーションにビデオを追加しましょう - "veryLargeVideo.avi"ファイルにアクセスするつもりはないので - // KeepLockedビヘイビアを選択します。 + // プレゼンテーションにビデオを追加します - KeepLocked 動作を選択したのは + // 「veryLargeVideo.avi」ファイルにアクセスするつもりがないためです。 IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddVideoFrame(0, 0, 480, 270, video); - // プレゼンテーションを保存します。大きなプレゼンテーションが出力される際、presオブジェクトのライフサイクルを通してメモリ消費は低いままです + // プレゼンテーションを保存します。大きなプレゼンテーションが出力される間、メモリ使用量は + // pres オブジェクトのライフサイクル全体で低く保たれます pres.Save("presentationWithLargeVideo.pptx", SaveFormat.Pptx); } } ``` -### **プレゼンテーションからBLOBを介して大きなファイルをエクスポートする** -Aspose.Slides for .NETは、プレゼンテーションからBLOBを介したプロセスで大きなファイル(この場合は音声またはビデオファイル)をエクスポートすることを可能にします。 例えば、プレゼンテーションから大きなメディアファイルを抽出する必要があるが、そのファイルをコンピュータのメモリに読み込みたくない場合があります。BLOBプロセスを介してファイルをエクスポートすることで、メモリ消費を低く抑えることができます。 -このC#コードは、説明した操作を示しています: +### **BLOB 経由でプレゼンテーションから大きなファイルをエクスポートする** +Aspose.Slides for .NET は、プレゼンテーションから BLOB を利用したプロセスで大きなファイル(この場合は音声またはビデオファイル)をエクスポートできます。 たとえば、プレゼンテーションから大きなメディアファイルを抽出したいが、コンピューターのメモリにロードしたくない場合があります。BLOB プロセスでエクスポートすることで、メモリ使用量を低く抑えることができます。 + +このコードは、上記の操作を C# で実演します: ```c# const string hugePresentationWithAudiosAndVideosFile = @"Large Video File Test1.pptx"; LoadOptions loadOptions = new LoadOptions { BlobManagementOptions = { - // ソースファイルをロックし、メモリに読み込まない + // ソースファイルをロックし、メモリに読み込まないようにします PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, } }; -// プレゼンテーションのインスタンスを作成し、"hugePresentationWithAudiosAndVideos.pptx"ファイルをロックします。 +// Presentation のインスタンスを作成し、"hugePresentationWithAudiosAndVideos.pptx" ファイルをロックします。 using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosFile, loadOptions)) { - // 各ビデオをファイルに保存しましょう。高いメモリ使用量を防ぐために、プレゼンテーションのビデオストリームから新しく作成するビデオファイルへのデータ転送に使用するバッファが必要です。 + // 各ビデオをファイルに保存しましょう。メモリ使用量が増えるのを防ぐため、バッファが必要です + // プレゼンテーションのビデオストリームから新しく作成したビデオファイル用のストリームへデータを転送するためです byte[] buffer = new byte[8 * 1024]; - // ビデオをイテレートします + // Iterates through the videos for (var index = 0; index < pres.Videos.Count; index++) { IVideo video = pres.Videos[index]; - // プレゼンテーションのビデオストリームを開きます。ビデオ.BinaryDataのようなプロパティには意図的にアクセスしないことに注意してください - このプロパティは、完全なビデオを含むバイト配列を返し、その後、バイトがメモリに読み込まれることになります。我々はvideo.GetStreamを使用し、Streamを返します - そして、ビデオ全体をメモリに読み込む必要はありません。 + // プレゼンテーションのビデオストリームを開きます。意図的にプロパティへのアクセスを回避したことに注意してください + // video.BinaryData のようなプロパティは、完全なビデオを含むバイト配列を返すため、 + // メモリにバイトがロードされます。代わりに video.GetStream を使用し、Stream を返すので、 + // メモリ全体にビデオ全体をロードする必要はありません。 using (Stream presVideoStream = video.GetStream()) { using (FileStream outputFileStream = File.OpenWrite($"video{index}.avi")) @@ -80,43 +85,44 @@ using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosF } } - // ビデオやプレゼンテーションのサイズに関係なく、メモリ消費は低いままとなります。 + // ビデオやプレゼンテーションのサイズに関係なく、メモリ使用量は低く保たれます } - // 必要に応じて、音声ファイルに対しても同様の手順を適用できます。 + // 必要に応じて、オーディオファイルにも同じ手順を適用できます。 } ``` -### **プレゼンテーションにBLOBとして画像を追加する** -[**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection)インターフェースや [**ImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/imagecollection)クラスのメソッドを使用して、BLOBとして扱われるように大きな画像をストリームとして追加できます。 -このC#コードは、BLOBプロセスを介して大きな画像を追加する方法を示しています: +### **プレゼンテーションに画像を BLOB として追加する** +[**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) インターフェイスと[**ImageCollection** ](https://reference.aspose.com/slides/net/aspose.slides/imagecollection)class のメソッドを使用すると、大きな画像をストリームとして追加し、BLOB として扱わせることができます。 +この C# コードは、BLOB プロセスを通じて大きな画像を追加する方法を示します: ```c# string pathToLargeImage = "large_image.jpg"; -// 画像が追加される新しいプレゼンテーションを作成します。 +// 画像を追加する新しいプレゼンテーションを作成します。 using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToLargeImage, FileMode.Open)) { - // プレゼンテーションに画像を追加しましょう - "largeImage.png"ファイルにアクセスするつもりはないので - // KeepLockedビヘイビアを選択します。 + // 画像をプレゼンテーションに追加します - KeepLocked 動作を選択したのは + // 「largeImage.png」ファイルにアクセスしないためです。 IPPImage img = pres.Images.AddImage(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, 300, 200, img); - // プレゼンテーションを保存します。大きなプレゼンテーションが出力される際、presオブジェクトのライフサイクルを通してメモリ消費は低いまま + // プレゼンテーションを保存します。大きなプレゼンテーションが出力される間、 + // pres オブジェクトのライフサイクル全体でメモリ消費は低く保たれます pres.Save("presentationWithLargeImage.pptx", SaveFormat.Pptx); } } ``` -## **メモリと大きなプレゼンテーション** -通常、大きなプレゼンテーションを読み込むためには、コンピュータは大量の一時メモリを必要とします。すべてのプレゼンテーションの内容がメモリに読み込まれ、プレゼンテーションが読み込まれたファイルは使用しなくなります。 +## **メモリと大規模プレゼンテーション** -例えば、1.5 GBのビデオファイルを含む大きなPowerPointプレゼンテーション(large.pptx)を考えてみてください。プレゼンテーションを読み込む標準的な方法は、以下のC#コードに示されています: +通常、大きなプレゼンテーションをロードするには、コンピューターに大量の一時メモリが必要です。プレゼンテーションの全コンテンツがメモリにロードされ、ロード元のファイルは使用されなくなります。 +1.5 GB のビデオファイルを含む大きな PowerPoint プレゼンテーション(large.pptx)を考えてみましょう。プレゼンテーションをロードする標準的な方法は、以下の C# コードで説明されています: ```c# using (Presentation pres = new Presentation("large.pptx")) { @@ -124,12 +130,12 @@ using (Presentation pres = new Presentation("large.pptx")) } ``` -しかし、この方法は約1.6 GBの一時メモリを消費します。 -### **BLOBとして大きなプレゼンテーションを読み込む** +ただし、この方法は約 1.6 GB の一時メモリを消費します。 -BLOBを介してプロセスを使用することで、少ないメモリで大きなプレゼンテーションを読み込むことができます。このC#コードは、BLOBプロセスを使用して大きなプレゼンテーションファイル(large.pptx)を読み込む実装を説明しています: +### **BLOB として大きなプレゼンテーションをロードする** +BLOB を利用したプロセスにより、少ないメモリで大きなプレゼンテーションをロードできます。この C# コードは、BLOB プロセスを使用して大きなプレゼンテーション ファイル(large.pptx)をロードする実装を示しています: ```c# LoadOptions loadOptions = new LoadOptions { @@ -146,10 +152,10 @@ using (Presentation pres = new Presentation("large.pptx", loadOptions)) } ``` -### **一時ファイルのフォルダーを変更する** -BLOBプロセスが使用されると、コンピュータはデフォルトの一時ファイルフォルダーに一時ファイルを作成します。一時ファイルを別のフォルダーに保持したい場合は、`TempFilesRootPath`を使用してストレージの設定を変更できます: +### **一時ファイルのフォルダーを変更する** +BLOB プロセスを使用すると、コンピューターは既定の一時ファイル フォルダーに一時ファイルを作成します。別のフォルダーに一時ファイルを保存したい場合は、`TempFilesRootPath` を使用して保存設定を変更できます: ```c# LoadOptions loadOptions = new LoadOptions { @@ -162,8 +168,31 @@ LoadOptions loadOptions = new LoadOptions }; ``` -{{% alert title="情報" color="info" %}} -`TempFilesRootPath`を使用する際、Aspose.Slidesは一時ファイルを保存するためのフォルダーを自動的に作成しません。フォルダーを手動で作成する必要があります。 +{{% alert title="Info" color="info" %}} + +`TempFilesRootPath` を使用すると、Aspose.Slides は一時ファイルを保存するフォルダーを自動的に作成しません。フォルダーは手動で作成する必要があります。 + +{{% /alert %}} + +## **FAQ** + +**Aspose.Slides プレゼンテーションで BLOB として扱われ、BLOB オプションで制御されるデータは何ですか?** + +画像、音声、ビデオなどの大きなバイナリオブジェクトは BLOB として扱われます。プレゼンテーション全体のファイルも、ロードまたは保存時に BLOB 処理が関与します。これらのオブジェクトは BLOB ポリシーに従い、メモリ使用量を管理し、必要に応じて一時ファイルへスピルできるようになっています。 + +**プレゼンテーションのロード時に BLOB 処理ルールを設定する場所はどこですか?** + +[LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) と [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/) を使用します。ここで BLOB のメモリ内上限を設定し、一時ファイルの使用可否、ルートパス、ソースロックの動作を選択できます。 + +**BLOB 設定はパフォーマンスに影響しますか?速度とメモリのバランスはどう取りますか?** + +はい。BLOB をメモリに保持すると速度が最大化しますが、RAM 使用量が増えます。メモリ上限を下げると作業の多くが一時ファイルに転嫁され、RAM は削減されますが I/O が増加します。[MaxBlobsBytesInMemory](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/maxblobsbytesinmemory/) の閾値を調整して、ワークロードと環境に適したバランスを取ってください。 + +**非常に大きなプレゼンテーション(例:ギガバイト単位)を開く際に BLOB オプションは役立ちますか?** + +はい。こうしたシナリオ向けに [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/) が設計されています。一時ファイルを有効にし、ソースロックを使用すると、ピーク時の RAM 使用量を大幅に削減し、非常に大きなデッキの処理を安定させます。 + +**ディスクファイルではなくストリームからロードする場合でも BLOB ポリシーを使用できますか?** -{{% /alert %}} \ No newline at end of file +はい。同じルールがストリームにも適用されます。プレゼンテーション インスタンスは入力ストリームを所有およびロックでき(選択したロックモードに依存)、許可されていれば一時ファイルが使用され、処理中のメモリ使用量を予測可能に保ちます。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-hyperlinks/_index.md b/ja/net/developer-guide/presentation-content/manage-hyperlinks/_index.md index 7c62e1d1a1..9a6debef93 100644 --- a/ja/net/developer-guide/presentation-content/manage-hyperlinks/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-hyperlinks/_index.md @@ -3,81 +3,78 @@ title: ハイパーリンクの管理 type: docs weight: 20 url: /ja/net/manage-hyperlinks/ -keywords: "ハイパーリンクの追加, PowerPointプレゼンテーション, PowerPointハイパーリンク, テキストハイパーリンク, スライドハイパーリンク, 形状ハイパーリンク, 画像ハイパーリンク, 動画ハイパーリンク, .NET, C#, Csharp" -description: "C#または.NETでPowerPointプレゼンテーションにハイパーリンクを追加する" +keywords: "ハイパーリンクを追加, PowerPoint プレゼンテーション, PowerPoint ハイパーリンク, テキスト ハイパーリンク, スライド ハイパーリンク, シェイプ ハイパーリンク, 画像 ハイパーリンク, ビデオ ハイパーリンク, .NET, C#, Csharp" +description: "C# または .NET で PowerPoint プレゼンテーションにハイパーリンクを追加する" --- -ハイパーリンクは、オブジェクト、データ、または何かの中の場所への参照です。PowerPointプレゼンテーションで一般的なハイパーリンクは次のとおりです。 +ハイパーリンクは、オブジェクトやデータ、または何かの中の場所への参照です。これらはPowerPointプレゼンテーションで一般的に使用されるハイパーリンクです: -* テキスト、形状、またはメディア内のウェブサイトへのリンク +* テキスト、シェイプ、またはメディア内のウェブサイトへのリンク * スライドへのリンク -Aspose.Slides for .NETを使用すると、プレゼンテーション内のハイパーリンクに関する多くの作業を実行できます。 +Aspose.Slides for .NET を使用すると、プレゼンテーション内のハイパーリンクに関する多くのタスクを実行できます。 {{% alert color="primary" %}} - -Asposeのシンプルな、[無料のオンラインPowerPointエディタ](https://products.aspose.app/slides/editor)をチェックしてみるとよいでしょう。 - +Asposeシンプル版や、[無料のオンラインPowerPointエディタ。](https://products.aspose.app/slides/editor)をご確認ください。 {{% /alert %}} -## **URLハイパーリンクの追加** +## **ハイパーリンクを使用した目次の作成** ### **テキストへのURLハイパーリンクの追加** このC#コードは、テキストにウェブサイトのハイパーリンクを追加する方法を示しています。 - ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50, false); - shape1.AddTextFrame("Aspose: ファイル形式API"); + shape1.AddTextFrame("Aspose: File Format APIs"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "70%以上のフォーチュン100企業がAspose APIを信頼しています"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; presentation.Save("presentation-out.pptx", SaveFormat.Pptx); } ``` -### **形状またはフレームへのURLハイパーリンクの追加** -このC#のサンプルコードは、形状にウェブサイトのハイパーリンクを追加する方法を示しています。 +### **シェイプまたはフレームへのURLハイパーリンクの追加** +このC#サンプルコードは、シェイプにウェブサイトのハイパーリンクを追加する方法を示しています。 ```c# using (Presentation pres = new Presentation()) { IShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50); shape.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape.HyperlinkClick.Tooltip = "70%以上のフォーチュン100企業がAspose APIを信頼しています"; + shape.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -### **メディアへのURLハイパーリンクの追加** -Aspose.Slidesを使用すると、画像、音声、および動画ファイルにハイパーリンクを追加することができます。 +### **メディアへのURLハイパーリンクの追加** -このサンプルコードは、**画像**にハイパーリンクを追加する方法を示しています。 +Aspose.Slides を使用すると、画像、音声、動画ファイルにハイパーリンクを追加できます。 +このサンプルコードは、**画像**にハイパーリンクを追加する方法を示しています: ```c# using (Presentation pres = new Presentation()) { // プレゼンテーションに画像を追加 IPPImage image = pres.Images.AddImage(File.ReadAllBytes("image.png")); - // 以前に追加した画像に基づいてスライド1に画像フレームを作成 + // 以前に追加した画像を元にスライド1に画像フレームを作成 IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, image); pictureFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - pictureFrame.HyperlinkClick.Tooltip = "70%以上のフォーチュン100企業がAspose APIを信頼しています"; + pictureFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspify APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -このサンプルコードは、**音声ファイル**にハイパーリンクを追加する方法を示しています。 +このサンプルコードは、**音声ファイル**にハイパーリンクを追加する方法を示しています: ```c# using (Presentation pres = new Presentation()) { @@ -85,14 +82,14 @@ using (Presentation pres = new Presentation()) IAudioFrame audioFrame = pres.Slides[0].Shapes.AddAudioFrameEmbedded(10, 10, 100, 100, audio); audioFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - audioFrame.HyperlinkClick.Tooltip = "70%以上のフォーチュン100企業がAspose APIを信頼しています"; + audioFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -このサンプルコードは、**動画**にハイパーリンクを追加する方法を示しています。 +このサンプルコードは、**動画**にハイパーリンクを追加する方法を示しています: ``` csharp using (Presentation pres = new Presentation()) { @@ -100,24 +97,22 @@ using (Presentation pres = new Presentation()) IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 100, 100, video); videoFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - videoFrame.HyperlinkClick.Tooltip = "70%以上のフォーチュン100企業がAspose APIを信頼しています"; + videoFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -{{% alert title="ヒント" color="primary" %}} -*[OLEの管理](https://docs.aspose.com/slides/net/manage-ole/)*を参照することをお勧めします。 +{{% alert title="Tip" color="primary" %}} +*[OLEの管理](https://docs.aspose.com/slides/net/manage-ole/)*をご覧ください。 +{{% /alert %}} -{{% /alert %}} +## **ハイパーリンクを使用した目次の作成** -## **ハイパーリンクを使用して目次を作成する** - -ハイパーリンクを使用すると、オブジェクトや場所への参照を追加できるため、目次を作成するために利用することができます。 - -このサンプルコードは、ハイパーリンクを使用して目次を作成する方法を示しています。 +ハイパーリンクはオブジェクトや場所への参照を追加できるため、目次の作成に利用できます。 +このサンプルコードは、ハイパーリンク付きの目次を作成する方法を示しています。 ```c# using (var presentation = new Presentation()) { @@ -132,10 +127,10 @@ using (var presentation = new Presentation()) var paragraph = new Paragraph(); paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - paragraph.Text = "スライド2のタイトル .......... "; + paragraph.Text = "Title of slide 2 .......... "; var linkPortion = new Portion(); - linkPortion.Text = "ページ2"; + linkPortion.Text = "Page 2"; linkPortion.PortionFormat.HyperlinkManager.SetInternalHyperlinkClick(secondSlide); paragraph.Portions.Add(linkPortion); @@ -145,100 +140,101 @@ using (var presentation = new Presentation()) } ``` -## **ハイパーリンクのフォーマット** -### **色** +## **ハイパーリンクの書式設定** -[IHyperlink](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink)インターフェースの[ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource)プロパティを使って、ハイパーリンクの色を設定したり、ハイパーリンクから色の情報を取得したりすることができます。この機能はPowerPoint 2019で初めて導入されたため、プロパティに関する変更は古いPowerPointバージョンには適用されません。 +### **カラー** -このサンプルコードは、異なる色のハイパーリンクが同じスライドに追加された操作を示しています。 +IHyperlink インターフェイスの [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource) プロパティを使用すると、ハイパーリンクの色を設定したり、ハイパーリンクから色情報を取得したりできます。この機能は PowerPoint 2019 で初めて導入されたため、プロパティに関する変更は古い PowerPoint バージョンには適用されません。 +このサンプルコードは、異なる色のハイパーリンクを同じスライドに追加する操作を示しています: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 450, 50, false); - shape1.AddTextFrame("これは色付きのハイパーリンクのサンプルです。"); + shape1.AddTextFrame("This is a sample of colored hyperlink."); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.ColorSource = HyperlinkColorSource.PortionFormat; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.FillType = FillType.Solid; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.SolidFillColor.Color = Color.Red; IAutoShape shape2 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 450, 50, false); - shape2.AddTextFrame("これは通常のハイパーリンクのサンプルです。"); + shape2.AddTextFrame("This is a sample of usual hyperlink."); shape2.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); presentation.Save("presentation-out-hyperlink.pptx", SaveFormat.Pptx); } ``` -### **音** -Aspose.Slidesは、ハイパーリンクを音で強調表示できるようにするためのこれらのプロパティを提供します: +### **サウンド** + +Aspose.Slides は、ハイパーリンクにサウンドを付加して強調できる以下のプロパティを提供します。 + - [IHyperlink.Sound](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/sound) - [IHyperlink.StopSoundOnClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/stopsoundonclick) #### **ハイパーリンクサウンドの追加** -このC#コードは、音を再生するハイパーリンクを設定し、別のハイパーリンクでそれを停止する方法を示しています。 - +このC#コードは、サウンドを再生するハイパーリンクを設定し、別のハイパーリンクで停止させる方法を示しています: ```c# using (Presentation pres = new Presentation()) { - // プレゼンテーションの音声コレクションに新しい音声を追加 + // プレゼンテーションのオーディオコレクションに新しいオーディオを追加 IAudio playSound = pres.Audios.AddAudio(File.ReadAllBytes("sampleaudio.wav")); ISlide firstSlide = pres.Slides[0]; - // 次のスライドへのハイパーリンクを持つ新しい形状を追加 + // 次のスライドへのハイパーリンクを持つ新しいシェイプを追加 IShape firstShape = firstSlide.Shapes.AddAutoShape(ShapeType.SoundButton, 100, 100, 100, 50); firstShape.HyperlinkClick = Hyperlink.NextSlide; - // "音なし"に対してハイパーリンクをチェック + // 「無音」かどうかハイパーリンクをチェック if (!firstShape.HyperlinkClick.StopSoundOnClick && firstShape.HyperlinkClick.Sound == null) { - // 音を再生するハイパーリンクを設定 + // 音声を再生するハイパーリンクを設定 firstShape.HyperlinkClick.Sound = playSound; } // 空のスライドを追加 ISlide secondSlide = pres.Slides.AddEmptySlide(firstSlide.LayoutSlide); - // NoActionハイパーリンクを持つ新しい形状を追加 + // NoAction ハイパーリンクを持つ新しいシェイプを追加 IShape secondShape = secondSlide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 100, 50); secondShape.HyperlinkClick = Hyperlink.NoAction; - // "前の音を停止"フラグを設定 + // ハイパーリンクの「前の音を停止」フラグを設定 secondShape.HyperlinkClick.StopSoundOnClick = true; pres.Save("hyperlink-sound.pptx", SaveFormat.Pptx); } ``` -#### **ハイパーリンク音の抽出** -このC#コードは、ハイパーリンクで使用されている音を抽出する方法を示しています。 +#### **ハイパーリンクサウンドの抽出** +このC#コードは、ハイパーリンクで使用されているサウンドを抽出する方法を示しています: ```c# using (Presentation pres = new Presentation("hyperlink-sound.pptx")) { ISlide firstSlide = pres.Slides[0]; - // 最初の形状のハイパーリンクを取得 + // 最初のシェイプのハイパーリンクを取得 IHyperlink link = firstSlide.Shapes[0].HyperlinkClick; if (link.Sound != null) { - // ハイパーリンク音をバイト配列として抽出 + // ハイパーリンクのサウンドをバイト配列として抽出 byte[] audioData = link.Sound.BinaryData; } } ``` -## **プレゼンテーションからのハイパーリンクの削除** -### **テキストからのハイパーリンクの削除** +## **プレゼンテーションからハイパーリンクを削除する** -このC#コードは、プレゼンテーションスライドのテキストからハイパーリンクを削除する方法を示しています。 +### **テキストからハイパーリンクを削除する** +このC#コードは、プレゼンテーションスライドのテキストからハイパーリンクを削除する方法を示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -262,10 +258,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **形状またはフレームからのハイパーリンクの削除** -このC#コードは、プレゼンテーションスライドの形状からハイパーリンクを削除する方法を示しています。 +### **シェイプまたはフレームからハイパーリンクを削除する** +このC#コードは、プレゼンテーションスライドのシェイプからハイパーリンクを削除する方法を示しています: ``` csharp using (Presentation pres = new Presentation("demo.pptx")) { @@ -278,27 +274,27 @@ using (Presentation pres = new Presentation("demo.pptx")) } ``` -## **ミュータブルハイパーリンク** -[Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink)クラスはミュータブルです。このクラスを使用すると、次のプロパティの値を変更できます。 +## **可変ハイパーリンク** + +[Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink) クラスは可変です。このクラスを使用すると、以下のプロパティの値を変更できます。 - [IHyperlink.TargetFrame](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/targetframe) - [IHyperlink.Tooltip](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/tooltip) - [IHyperlink.History](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/history) - [IHyperlink.HighlightClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/highlightclick) -このコードスニペットは、スライドにハイパーリンクを追加し、後でそのツールチップを編集する方法を示しています。 - +このコードスニペットは、スライドにハイパーリンクを追加し、後でツールチップを編集する方法を示しています: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50, false); - shape1.AddTextFrame("Aspose: ファイル形式API"); + shape1.AddTextFrame("Aspose: File Format APIs"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "70%以上のフォーチュン100企業がAspose APIを信頼しています"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; @@ -306,17 +302,32 @@ using (Presentation presentation = new Presentation()) } ``` -## **IHyperlinkQueriesでサポートされているプロパティ** -プレゼンテーション、スライド、またはハイパーリンクが定義されているテキストからIHyperlinkQueriesにアクセスできます。 +## **IHyperlinkQueries のサポートプロパティ** + +ハイパーリンクが定義されているプレゼンテーション、スライド、またはテキストから IHyperlinkQueries にアクセスできます。 - [IPresentation.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/properties/hyperlinkqueries) - [IBaseSlide.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ibaseslide/properties/hyperlinkqueries) - [ITextFrame.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/itextframe/properties/hyperlinkqueries) -IHyperlinkQueriesクラスは、次のメソッドとプロパティをサポートしています。 +IHyperlinkQueries クラスは、以下のメソッドとプロパティをサポートしています。 - [IHyperlinkQueries.GetHyperlinkClicks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkclicks) - [IHyperlinkQueries.GetHyperlinkMouseOvers();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkmouseovers) - [IHyperlinkQueries.GetAnyHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/getanyhyperlinks) -- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) \ No newline at end of file +- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) + +## **FAQ** + +**スライドだけでなく、セクションやセクションの最初のスライドへの内部ナビゲーションはどう作成できますか?** + +PowerPoint のセクションはスライドのグループであり、ナビゲーションは技術的には特定のスライドを対象とします。セクションへ「移動」するには、通常、そのセクションの最初のスライドへのリンクを作成します。 + +**マスタースライドの要素にハイパーリンクを付けて、すべてのスライドで機能させることはできますか?** + +はい。マスタースライドおよびレイアウト要素はハイパーリンクをサポートします。そのようなリンクは子スライド上に表示され、スライドショー中にクリック可能です。 + +**PDF、HTML、画像、動画へエクスポートするときにハイパーリンクは保持されますか?** + +[PDF](/slides/ja/net/convert-powerpoint-to-pdf/) と [HTML](/slides/ja/net/convert-powerpoint-to-html/) では、リンクは通常保持されます。[画像](/slides/ja/net/convert-powerpoint-to-png/) や [動画](/slides/ja/net/convert-powerpoint-to-video/) へエクスポートする場合、これらのフォーマットはラスターフレーム/ビデオでハイパーリンクをサポートしないため、クリック可能性は引き継がれません。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md b/ja/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md index a055c8154f..6d455b9ef5 100644 --- a/ja/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md @@ -1,154 +1,225 @@ --- -title: オーディオフレーム - C#を使用してPowerPointにオーディオを挿入および抽出する -linktitle: オーディオフレーム +title: C# を使用してプレゼンテーション内のオーディオを管理する +linktitle: オーディオ フレーム type: docs weight: 10 url: /ja/net/audio-frame/ -keywords: "オーディオサムネイル画像, オーディオを追加, オーディオフレーム, オーディオプロパティ, オーディオを抽出, C#, Csharp, Aspose.Slides for .NET" -description: "C#または.NETでPowerPointプレゼンテーションにオーディオを追加する" +keywords: +- オーディオ +- オーディオ フレーム +- サムネイル +- オーディオ の追加 +- オーディオ プロパティ +- オーディオ オプション +- オーディオ の抽出 +- .NET +- C# +- Aspose.Slides +description: "Aspose.Slides for .NET でオーディオ フレームを作成および制御します — C# の例で埋め込み、トリミング、ループ、再生設定を PPT、PPTX、ODP プレゼンテーションに適用します。" --- -## **オーディオフレームを作成する** -Aspose.Slides for .NETを使用すると、スライドにオーディオファイルを追加できます。オーディオファイルはオーディオフレームとしてスライドに埋め込まれます。 +## **オーディオフレームの作成** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを介してスライドの参照を取得します。 -3. スライドに埋め込むオーディオファイルのストリームをロードします。 -4. スライドに埋め込まれたオーディオフレーム(オーディオファイルを含む)を追加します。 -5. [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset)および[IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe)オブジェクトによって公開される`Volume`を設定します。 -6. 修正されたプレゼンテーションを保存します。 +Aspose.Slides for .NET を使用すると、スライドにオーディオ ファイルを追加できます。オーディオ ファイルはオーディオ フレームとしてスライドに埋め込まれます。 -このC#コードは、スライドに埋め込まれたオーディオフレームを追加する方法を示しています: +1. [プレゼンテーション ](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 +2. インデックスを使用してスライドの参照を取得します。 +3. スライドに埋め込むオーディオ ファイル ストリームを読み込みます。 +4. 埋め込みオーディオ フレーム(オーディオ ファイルを含む)をスライドに追加します。 +5. [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) と、[IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) オブジェクトが提供する `Volume` を設定します。 +6. 変更されたプレゼンテーションを保存します。 +以下の C# コードは、スライドに埋め込みオーディオ フレームを追加する方法を示しています: ```c# -// プレゼンテーションファイルを表すプレゼンテーションクラスをインスタンス化する +// プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成します using (Presentation pres = new Presentation()) { - // 最初のスライドを取得する + // 最初のスライドを取得します ISlide sld = pres.Slides[0]; - // wavサウンドファイルをストリームにロードする + // wav サウンド ファイルをストリームにロードします FileStream fstr = new FileStream("sampleaudio.wav", FileMode.Open, FileAccess.Read); - // オーディオフレームを追加する + // オーディオ フレームを追加します IAudioFrame audioFrame = sld.Shapes.AddAudioFrameEmbedded(50, 150, 100, 100, fstr); - // オーディオの再生モードと音量を設定する + // オーディオの再生モードと音量を設定します audioFrame.PlayMode = AudioPlayModePreset.Auto; audioFrame.Volume = AudioVolumeMode.Loud; - // PowerPointファイルをディスクに書き込む + // PowerPoint ファイルをディスクに保存します pres.Save("AudioFrameEmbed_out.pptx", SaveFormat.Pptx); } ``` -## **オーディオフレームのサムネイルを変更する** -プレゼンテーションにオーディオファイルを追加すると、オーディオは標準のデフォルト画像を持つフレームとして表示されます(下のセクションの画像を参照)。オーディオフレームのサムネイルを変更することができます(好みの画像を設定します)。 +## **オーディオフレームのサムネイルの変更** -このC#コードは、オーディオフレームのサムネイルまたはプレビュー画像を変更する方法を示しています: +プレゼンテーションにオーディオ ファイルを追加すると、オーディオは標準のデフォルト画像が設定されたフレームとして表示されます(以下のセクションの画像を参照)。オーディオ フレームのサムネイル(希望の画像)を変更できます。 +以下の C# コードは、オーディオ フレームのサムネイルまたはプレビュー画像を変更する方法を示しています: ```c# using (var presentation = new Presentation()) { var slide = presentation.Slides[0]; - // 指定された位置とサイズでスライドにオーディオフレームを追加する。 + // 指定した位置とサイズでスライドにオーディオ フレームを追加します。 var audioStream = new FileStream("sample2.mp3", FileMode.Open, FileAccess.Read); var audioFrame = slide.Shapes.AddAudioFrameEmbedded(150, 100, 50, 50, audioStream); audioStream.Dispose(); - // プレゼンテーションリソースに画像を追加する。 + // プレゼンテーションのリソースに画像を追加します。 var imageStream = File.OpenRead("eagle.jpeg"); var audioImage = presentation.Images.AddImage(imageStream); imageStream.Dispose(); - // オーディオフレームの画像を設定する。 + // オーディオ フレームの画像を設定します。 audioFrame.PictureFormat.Picture.Image = audioImage; // <----- - // 修正されたプレゼンテーションをディスクに保存 + // 変更されたプレゼンテーションをディスクに保存します。 presentation.Save("example_out.pptx", SaveFormat.Pptx); } ``` -## **オーディオ再生オプションを変更する** -Aspose.Slides for .NETを使用すると、オーディオの再生やプロパティを制御するオプションを変更できます。たとえば、オーディオの音量を調整したり、オーディオをループ再生するように設定したり、オーディオアイコンを隠すこともできます。 +## **オーディオ再生オプションの変更** -Microsoft PowerPointの**オーディオオプション**パネル: +Aspose.Slides for .NET を使用すると、オーディオの再生やプロパティを制御するオプションを変更できます。たとえば、オーディオの音量を調整したり、ループ再生に設定したり、オーディオ アイコンを非表示にしたりできます。 +Microsoft PowerPoint の **Audio Options** ペイン: ![example1_image](audio_frame_0.png) -PowerPointのオーディオオプションは、Aspose.Slidesの[AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe)プロパティに対応しています: - -- オーディオオプションの**開始**ドロップダウンメニューは、[AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode)プロパティに一致します -- オーディオオプションの**音量**は、[AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume)プロパティに一致します -- オーディオオプションの**スライド間再生**は、[AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides)プロパティに一致します -- オーディオオプションの**停止するまでループ**は、[AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode)プロパティに一致します -- オーディオオプションの**スライドショー中に隠す**は、[AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing)プロパティに一致します -- オーディオオプションの**再生後に巻き戻す**は、[AudioFrame.RewindAudio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio)プロパティに一致します - -オーディオ再生オプションを変更する方法は次のとおりです: - -1. [オーディオフレームを作成](#create-audio-frame)または取得します。 -2. 調整したいオーディオフレームプロパティの新しい値を設定します。 -3. 修正されたPowerPointファイルを保存します。 - -このC#コードは、オーディオのオプションを調整する操作を示しています: - -```csharp +PowerPoint の **Audio Options** は、Aspose.Slides の [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) プロパティに対応しています: +- **Start** ドロップダウン メニューは [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode) プロパティに対応しています +- **Volume** は [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume) プロパティに対応しています +- **Play Across Slides** は [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides) プロパティに対応しています +- **Loop until Stopped** は [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode) プロパティに対応しています +- **Hide During Show** は [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing) プロパティに対応しています +- **Rewind after Playing** は [AudioFrame.RewindAudio ](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio) プロパティに対応しています + +PowerPoint の **Editing** オプションは、Aspose.Slides の [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) プロパティに対応しています: +- **Fade In** は [AudioFrame.FadeInDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeinduration/) プロパティに対応しています +- **Fade Out** は [AudioFrame.FadeOutDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeoutduration/) プロパティに対応しています +- **Trim Audio Start Time** は [AudioFrame.TrimFromStart](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromstart/) プロパティに対応しています +- **Trim Audio End Time** の値は、オーディオの長さから [AudioFrame.TrimFromEnd](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromend/) プロパティの値を引いたものと同等です + +PowerPoint のオーディオ コントロール パネル上の **Volume controll** は [AudioFrame.VolumeValue](https://reference.aspose.com/slides/net/aspose.slides/audioframe/volumevalue/) プロパティに対応しています。音量をパーセンテージで変更できます。 + +オーディオ 再生 オプションを変更する手順は次のとおりです: +1. [作成](#create-audio-frame) またはオーディオ フレームを取得します。 +2. 調整したいオーディオ フレーム プロパティに新しい値を設定します。 +3. 変更された PowerPoint ファイルを保存します。 + +以下の C# コードは、オーディオのオプションを調整する操作を示しています: +``` csharp using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) { - // AudioFrameシェイプを取得します + // AudioFrame シェイプを取得します AudioFrame audioFrame = (AudioFrame)pres.Slides[0].Shapes[0]; - // 再生モードをクリック時に変更 + // 再生モードをクリック時再生に設定します audioFrame.PlayMode = AudioPlayModePreset.OnClick; - // 音量を低く設定 + // 音量を低に設定します audioFrame.Volume = AudioVolumeMode.Low; - // オーディオをスライド間で再生するように設定 + // スライド全体でオーディオを再生するように設定します audioFrame.PlayAcrossSlides = true; - // オーディオのループを無効にする + // オーディオのループを無効にします audioFrame.PlayLoopMode = false; - // スライドショー中にAudioFrameを隠す + // スライドショー中に AudioFrame を非表示にします audioFrame.HideAtShowing = true; - // 再生後にオーディオを巻き戻す + // 再生後にオーディオを先頭に巻き戻します audioFrame.RewindAudio = true; - // PowerPointファイルをディスクに保存 + // PowerPoint ファイルをディスクに保存します pres.Save("AudioFrameEmbed_changed.pptx", SaveFormat.Pptx); } ``` -## **オーディオを抽出する** -Aspose.Slides for .NETを使用すると、スライドショーのトランジションで使用される音声を抽出できます。たとえば、特定のスライドで使用される音声を抽出できます。 -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成し、オーディオを含むプレゼンテーションをロードします。 -2. インデックスを介して関連するスライドの参照を取得します。 -3. スライドのスライドショートランジションにアクセスします。 -4. バイトデータでサウンドを抽出します。 +以下の C# の例は、埋め込みオーディオを持つ新しいオーディオ フレームを追加し、トリミングし、フェード時間を設定する方法を示しています: +```c# +using (Presentation pres = new Presentation()) +{ + ISlide slide = pres.Slides[0]; + + byte[] audioData = File.ReadAllBytes("sampleaudio.mp3"); + IAudio audio = pres.Audios.AddAudio(audioData); + IAudioFrame audioFrame = slide.Shapes.AddAudioFrameEmbedded(50, 50, 100, 100, audio); + + // トリミング開始オフセットを1.5秒に設定します + audioFrame.TrimFromStart = 1500f; + // トリミング終了オフセットを2秒に設定します + audioFrame.TrimFromEnd = 2000f; + + // フェードイン時間を200ミリ秒に設定します + audioFrame.FadeInDuration = 200f; + // フェードアウト時間を500ミリ秒に設定します + audioFrame.FadeOutDuration = 500f; + + pres.Save("AudioFrameTrimFade_out.pptx", SaveFormat.Pptx); +} +``` -このC#コードは、スライドで使用されるオーディオを抽出する方法を示しています: +次のコードサンプルは、埋め込みオーディオを持つオーディオ フレームを取得し、音量を 85% に設定する方法を示しています: +```c# +using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) +{ + // オーディオ フレーム シェイプを取得します + IAudioFrame audioFrame = (IAudioFrame)pres.Slides[0].Shapes[0]; + + // オーディオの音量を85%に設定します + audioFrame.VolumeValue = 85f; + + pres.Save("AudioFrameValue_out.pptx", SaveFormat.Pptx); +} +``` + + +## **オーディオの抽出** + +Aspose.Slides for .NET を使用すると、スライドショーの遷移で使用されるサウンドを抽出できます。たとえば、特定のスライドで使用されるサウンドを抽出できます。 + +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成し、オーディオを含むプレゼンテーションをロードします。 +2. インデックスを使用して対象スライドの参照を取得します。 +3. スライドのスライドショー遷移にアクセスします。 +4. サウンドをバイト データとして抽出します。 + +以下の C# コードは、スライドで使用されるオーディオを抽出する方法を示しています: ```c# string presName = "AudioSlide.pptx"; -// プレゼンテーションファイルを表すプレゼンテーションクラスをインスタンス化する +// Instantiates a Presentation class that represents a presentation file Presentation pres = new Presentation(presName); -// スライドにアクセスする +// Accesses the slide ISlide slide = pres.Slides[0]; -// スライドのスライドショートランジション効果を取得する +// Gets the slideshow transition effects for the slide ISlideShowTransition transition = slide.SlideShowTransition; -//バイト配列で音声を抽出する +//Extracts the sound in byte array byte[] audio = transition.Sound.BinaryData; System.Console.WriteLine("Length: " + audio.Length); -``` \ No newline at end of file +``` + + +## **FAQ** + +**同じオーディオ アセットを複数のスライドで再利用して、ファイル サイズが増加しないようにできますか?** + +はい。オーディオをプレゼンテーションの共有 [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) に一度だけ追加し、その既存アセットを参照する追加のオーディオ フレームを作成します。これによりメディア データの重複が防止され、プレゼンテーションのサイズが抑制されます。 + +**既存のオーディオ フレームのサウンドを、形状を再作成せずに置き換えることはできますか?** + +はい。リンクサウンドの場合は、[link path](https://reference.aspose.com/slides/net/aspose.slides/audioframe/linkpathlong/) を新しいファイルを指すように更新します。埋め込みサウンドの場合は、[embedded audio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/embeddedaudio/) オブジェクトをプレゼンテーションの [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) から別のものに差し替えます。フレームの書式設定やほとんどの再生設定はそのまま保持されます。 + +**トリミングにより、プレゼンテーションに保存されている元のオーディオ データは変更されますか?** + +いいえ。トリミングは再生範囲のみを調整します。元のオーディオ バイト列はそのまま残り、埋め込みオーディオまたはプレゼンテーションのオーディオ コレクションを通じてアクセス可能です。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-media-files/flash/_index.md b/ja/net/developer-guide/presentation-content/manage-media-files/flash/_index.md index 107a5d921b..8acf476c90 100644 --- a/ja/net/developer-guide/presentation-content/manage-media-files/flash/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-media-files/flash/_index.md @@ -7,9 +7,8 @@ keywords: "フラッシュの抽出, PowerPoint プレゼンテーション, C#, description: "C# または .NET で PowerPoint プレゼンテーションからフラッシュオブジェクトを抽出する" --- -## **プレゼンテーションからフラッシュオブジェクトを抽出する** -Aspose.Slides for .NET は、プレゼンテーションからフラッシュオブジェクトを抽出する機能を提供します。名前でフラッシュコントロールにアクセスし、プレゼンテーションから抽出し、SWFオブジェクトデータを保存できます。 - +## **プレゼンテーションからFlashオブジェクトを抽出する** +Aspose.Slides for .NET は、プレゼンテーションからFlashオブジェクトを抽出する機能を提供します。名前でFlashコントロールにアクセスし、プレゼンテーションから抽出してSWFオブジェクトデータを保存することができます。 ```c# using (Presentation pres = new Presentation("withFlash.pptm")) { @@ -23,4 +22,23 @@ using (Presentation pres = new Presentation("withFlash.pptm")) } } } -``` \ No newline at end of file +``` + + +## **よくある質問** + +**Flashコンテンツを抽出する際にサポートされているプレゼンテーション形式は何ですか?** + +[Aspose.Slides supports](/slides/ja/net/supported-file-formats/) は、PPTやPPTXなどの主要なPowerPoint形式をサポートしています。これらのコンテナをロードし、Flash関連のActiveX要素を含むコントロールにアクセスできるためです。 + +**Flashを含むプレゼンテーションをHTML5に変換し、Flashのインタラクティブ性を保持できますか?** + +いいえ。Aspose.Slides はSWFコンテンツを実行したり、そのインタラクティブ性を変換したりしません。エクスポート先として[HTML](/slides/ja/net/convert-powerpoint-to-html/)/[HTML5](/slides/ja/net/export-to-html5/) がサポートされていますが、サポート終了のため、現代のブラウザではFlashは再生できません。推奨される方法は、エクスポート前にFlashをビデオやHTML5アニメーションなどの代替手段に置き換えることです。 + +**セキュリティ上の観点から、Aspose.Slidesはプレゼンテーションの読み取り中にSWFファイルを実行しますか?** + +いいえ。Aspose.Slides はFlashをファイルに埋め込まれたバイナリデータとして扱い、処理中にSWFコンテンツを実行しません。 + +**OLEを介して埋め込まれた他のファイルとともにFlashを含むプレゼンテーションはどのように扱うべきですか?** + +Aspose.Slides は[extracting embedded OLE objects](/slides/ja/net/manage-ole/) をサポートしているため、Flashコントロールと他のOLE埋め込みドキュメントを一度に処理し、関連するすべての埋め込みコンテンツを一括で扱うことができます。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-media-files/image/_index.md b/ja/net/developer-guide/presentation-content/manage-media-files/image/_index.md index cd58838d90..f250dadc73 100644 --- a/ja/net/developer-guide/presentation-content/manage-media-files/image/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-media-files/image/_index.md @@ -3,38 +3,56 @@ title: 画像 type: docs weight: 10 url: /ja/net/image/ -keywords: "画像を追加, ピクチャを追加, PowerPoint プレゼンテーション, EMF, SVG, C#, Csharp, Aspose.Slides for .NET" -description: "C# または .NET で PowerPoint スライドまたはプレゼンテーションに画像を追加" +keywords: +- 画像を追加 +- 画像を追加 +- ビットマップを追加 +- 画像を置換 +- 画像を置換 +- Web から +- 背景 +- PNG を追加 +- JPG を追加 +- SVG を追加 +- EMF を追加 +- WMF を追加 +- TIFF を追加 +- PowerPoint +- OpenDocument +- プレゼンテーション +- .NET +- C# +- Aspose.Slides +description: "Aspose.Slides for .NET を使用して、PowerPoint と OpenDocument の画像管理を効率化し、パフォーマンスを最適化しながらワークフローを自動化します。" --- -## **プレゼンテーションのスライド内の画像** +## **プレゼンテーションのスライドにおける画像** -画像はプレゼンテーションをより魅力的で興味深いものにします。Microsoft PowerPoint では、ファイル、インターネット、またはその他の場所からスライドに画像を挿入できます。同様に、Aspose.Slidesを使用すると、さまざまな手順を通じてプレゼンテーションのスライドに画像を追加できます。 +画像はプレゼンテーションをより魅力的で興味深いものにします。Microsoft PowerPoint では、ファイル、インターネット、またはその他の場所から画像をスライドに挿入できます。同様に、Aspose.Slides を使用すると、さまざまな手順でプレゼンテーションのスライドに画像を追加できます。 {{% 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 は無料コンバータとして、[JPEGからPowerPointへ](https://products.aspose.app/slides/import/jpg-to-ppt) と [PNGからPowerPointへ](https://products.aspose.app/slides/import/png-to-ppt) を提供しており、画像からプレゼンテーションをすばやく作成できます。 {{% /alert %}} {{% alert title="情報" color="info" %}} -フレームオブジェクトとして画像を追加したい場合(特にサイズを変更したり、効果を追加したりするために標準の書式設定オプションを使用する予定がある場合)は、[画像フレーム](https://docs.aspose.com/slides/net/picture-frame/)を参照してください。 +画像をフレームオブジェクトとして追加したい場合—特にサイズ変更やエフェクト追加などの標準書式設定オプションを使用する場合—は、[Picture Frame](https://docs.aspose.com/slides/net/picture-frame/) を参照してください。 {{% /alert %}} {{% alert title="注意" color="warning" %}} -画像と PowerPoint プレゼンテーションに関連する入出力操作を操作して、画像を1つの形式から別の形式に変換できます。これらのページを参照してください: [画像をJPGに変換](https://products.aspose.com/slides/net/conversion/image-to-jpg/); [JPGを画像に変換](https://products.aspose.com/slides/net/conversion/jpg-to-image/); [JPGをPNGに変換](https://products.aspose.com/slides/net/conversion/jpg-to-png/); [PNGをJPGに変換](https://products.aspose.com/slides/net/conversion/png-to-jpg/); [PNGをSVGに変換](https://products.aspose.com/slides/net/conversion/png-to-svg/); [SVGをPNGに変換](https://products.aspose.com/slides/net/conversion/svg-to-png/)。 +画像と PowerPoint プレゼンテーションに関わる入出力操作を操作して、画像をある形式から別の形式に変換できます。以下のページをご覧ください: 変換 [image to JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); 変換 [JPG to image](https://products.aspose.com/slides/net/conversion/jpg-to-image/); 変換 [JPG to PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), 変換 [PNG to JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); 変換 [PNG to SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), 変換 [SVG to PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/)。 {{% /alert %}} -Aspose.Slidesは、JPEG、PNG、BMP、GIFなどのこれらの一般的なフォーマットでの画像操作をサポートしています。 +Aspose.Slides は、JPEG、PNG、BMP、GIF などの一般的な形式の画像操作をサポートしています。 -## **ローカルに保存された画像をスライドに追加** - -コンピューター上の1つまたは複数の画像をプレゼンテーションのスライドに追加できます。このC#のサンプルコードは、スライドに画像を追加する方法を示しています。 +## **ローカルに保存された画像をスライドに追加する方法** +コンピューター上の 1 つまたは複数の画像をプレゼンテーションのスライドに追加できます。以下の C# のサンプルコードは、スライドに画像を追加する方法を示しています: ```c# using (Presentation pres = new Presentation()) { @@ -46,12 +64,12 @@ using (Presentation pres = new Presentation()) } ``` -## **ウェブからスライドに画像を追加** -スライドに追加したい画像がコンピューターで利用できない場合、ウェブから直接画像を追加できます。 +## **Web から画像をスライドに追加する方法** -このサンプルコードでは、C#のスライドにウェブから画像を追加する方法を示しています。 +コンピューターに画像が存在しない場合は、Web から直接画像を追加できます。 +以下のサンプルコードは、Web から画像を取得して C# でスライドに追加する手順を示しています: ```c# using (Presentation pres = new Presentation()) { @@ -70,12 +88,12 @@ using (Presentation pres = new Presentation()) } ``` -## **スライドマスターに画像を追加** -スライドマスターは、すべてのスライドに関する情報(テーマ、レイアウトなど)を格納し制御するトップスライドです。したがって、スライドマスターに画像を追加すると、その画像はそのスライドマスターの下にあるすべてのスライドに表示されます。 +## **スライドマスターに画像を追加する方法** -このC#のサンプルコードは、スライドマスターに画像を追加する方法を示しています。 +スライドマスターは、下位のすべてのスライドに関する情報(テーマ、レイアウトなど)を格納・制御する上位スライドです。したがって、スライドマスターに画像を追加すると、その画像はマスター配下のすべてのスライドに表示されます。 +この C# のサンプルコードは、スライドマスターに画像を追加する方法を示しています: ```c# using (Presentation pres = new Presentation()) { @@ -89,22 +107,22 @@ using (Presentation pres = new Presentation()) } ``` -## **スライドの背景として画像を追加** -特定のスライドまたは複数のスライドの背景として画像を使用することを決定する場合があります。その場合は、* [スライドの背景として画像を設定する](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*を参照してください。 +## **スライドの背景として画像を追加する方法** -## **プレゼンテーションにSVGを追加** -[ImageShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection)インターフェースに属する[AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe)メソッドを使用して、プレゼンテーションに任意の画像を追加または挿入できます。 +特定のスライドまたは複数のスライドの背景に画像を使用したい場合は、*[スライドの背景として画像を設定する](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)* を参照してください。 -SVG画像に基づいて画像オブジェクトを作成するには、次の手順を実行します。 +## **プレゼンテーションに SVG を追加する方法** +[AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe) メソッド([IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) インターフェイスの一部)を使用して、プレゼンテーションに任意の画像を追加または挿入できます。 -1. SvgImageオブジェクトを作成してImageShapeCollectionに挿入します -2. ISvgImageからPPImageオブジェクトを作成します -3. IPPImageインターフェースを使用してPictureFrameオブジェクトを作成します +SVG 画像に基づく画像オブジェクトを作成する手順は次のとおりです。 -このサンプルコードは、上記の手順を実装してプレゼンテーションにSVG画像を追加する方法を示しています。 +1. SvgImage オブジェクトを作成して ImageShapeCollection に挿入する +2. ISvgImage から PPImage オブジェクトを作成する +3. IPPImage インターフェイスを使用して PictureFrame オブジェクトを作成する -```csharp +以下のサンプルコードは、上記手順を実装して SVG 画像をプレゼンテーションに追加する方法を示しています: +``` csharp // ドキュメントディレクトリへのパス string dataDir = @"D:\Documents\"; @@ -114,10 +132,10 @@ string svgFileName = dataDir + "sample.svg"; // 出力プレゼンテーションファイル名 string outPptxPath = dataDir + "presentation.pptx"; -// 新しいプレゼンテーションを作成 +// Create new presentation using (var p = new Presentation()) { - // SVGファイルの内容を読み取る + // SVGファイル内容を読み込む string svgContent = File.ReadAllText(svgFileName); // SvgImageオブジェクトを作成 @@ -126,24 +144,24 @@ using (var p = new Presentation()) // PPImageオブジェクトを作成 IPPImage ppImage = p.Images.AddImage(svgImage); - // 新しいPictureFrameを作成 + // 新しいPictureFrameを作成 p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 200, 100, ppImage.Width, ppImage.Height, ppImage); - // PPTX形式でプレゼンテーションを保存 + // プレゼンテーションをPPTX形式で保存 p.Save(outPptxPath, SaveFormat.Pptx); } ``` -## **SVGをシェイプのセットに変換** -Aspose.SlidesのSVGからシェイプのセットへの変換は、SVG画像を操作するために使用されるPowerPointの機能に似ています: -![PowerPointポップアップメニュー](img_01_01.png) +## **SVG をシェイプの集合に変換する方法** +Aspose.Slides の SVG からシェイプへの変換は、PowerPoint の SVG 画像操作機能と同様です: -この機能は、最初の引数として[ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage)オブジェクトを受け取る[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection)インターフェースの[AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1)メソッドのオーバーロードの1つによって提供されます。 +![PowerPoint Popup Menu](img_01_01.png) -このサンプルコードは、SVGファイルをシェイプのセットに変換するために説明されたメソッドを使用する方法を示しています。 +この機能は、[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) インターフェイスの [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) メソッド(最初の引数に [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) オブジェクトを取るオーバーロード)のいずれかによって提供されます。 -```csharp +以下のサンプルコードは、記載されたメソッドを使用して SVG ファイルをシェイプの集合に変換する方法を示しています: +``` csharp // ドキュメントディレクトリへのパス string dataDir = @"D:\Documents\"; @@ -165,20 +183,20 @@ using (IPresentation presentation = new Presentation()) // スライドサイズを取得 SizeF slideSize = presentation.SlideSize.Size; - // SVG画像をスライドサイズにスケーリングしてシェイプのグループに変換 + // SVG画像をスライドサイズに合わせてシェイプのグループに変換 presentation.Slides[0].Shapes.AddGroupShape(svgImage, 0f, 0f, slideSize.Width, slideSize.Height); - // PPTX形式でプレゼンテーションを保存 + // プレゼンテーションをPPTX形式で保存 presentation.Save(outPptxPath, SaveFormat.Pptx); } ``` -## **スライドにEMFとして画像を追加** -Aspose.Slides for .NETを使用すると、ExcelシートからEMF画像を生成し、Aspose.Cellsを使用してスライドにEMFとして画像を追加できます。 -このサンプルコードは、上記のタスクを実行する方法を示しています。 +## **スライドに EMF 画像として画像を追加する方法** +Aspose.Slides for .NET は、Excel シートから EMF 画像を生成し、Aspose.Cells と組み合わせてスライドに EMF として画像を追加できます。 -```csharp +以下のサンプルコードは、記載されたタスクを実行する方法を示しています: +``` csharp using (Workbook book = new Workbook(dataDir + "chart.xlsx")) { Worksheet sheet = book.Worksheets[0]; @@ -187,7 +205,7 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) options.VerticalResolution = 200; options.ImageFormat = System.Drawing.Imaging.ImageFormat.Emf; - // ワークブックをストリームに保存 + //ワークブックをストリームに保存 SheetRender sr = new SheetRender(sheet, options); using (Presentation pres = new Presentation()) { @@ -210,8 +228,66 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) } ``` + +## **画像コレクション内の画像を置換する方法** + +Aspose.Slides は、プレゼンテーションの画像コレクション(スライドシェイプが使用している画像を含む)に格納された画像を置換できます。このセクションでは、コレクション内の画像を更新するいくつかのアプローチを示します。API は、バイト配列、[IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) インスタンス、またはコレクション内に既に存在する別の画像を使用して画像を置換するシンプルなメソッドを提供します。 + +以下の手順に従ってください。 + +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスを使用して画像を含むプレゼンテーション ファイルを読み込みます。 +2. ファイルから新しい画像をバイト配列に読み込みます。 +3. バイト配列を使用して対象画像を新しい画像に置換します。 +4. 2 番目のアプローチでは、画像を [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) オブジェクトに読み込み、そのオブジェクトで対象画像を置換します。 +5. 3 番目のアプローチでは、プレゼンテーションの画像コレクションに既に存在する画像で対象画像を置換します。 +6. 変更したプレゼンテーションを PPTX ファイルとして書き出します。 +```cs +// プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成します。 +using Presentation presentation = new Presentation("sample.pptx"); + +// 最初の方法。 +byte[] imageData = File.ReadAllBytes("image0.jpeg"); +IPPImage oldImage = presentation.Images[0]; +oldImage.ReplaceImage(imageData); + +// 二番目の方法。 +using IImage newImage = Images.FromFile("image1.png"); +oldImage = presentation.Images[1]; +oldImage.ReplaceImage(newImage); + +// 三番目の方法。 +oldImage = presentation.Images[2]; +oldImage.ReplaceImage(presentation.Images[3]); + +// プレゼンテーションをファイルに保存します。 +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + {{% alert title="情報" color="info" %}} -Asposeの無料[テキストをGIFに変換](https://products.aspose.app/slides/text-to-gif)コンバーターを使用すると、テキストを簡単にアニメーション化したり、テキストからGIFを作成したりできます。 +Aspose の無料 [Text to GIF](https://products.aspose.app/slides/text-to-gif) コンバータを使用すれば、テキストを簡単にアニメーション化したり、テキストから GIF を作成したりできます。 + +{{% /alert %}} + +## **FAQ** + +**挿入後も元の画像解像度は保たれますか?** + +はい。元のピクセルは保持されますが、最終的な見た目はスライド上で [picture](/slides/ja/net/picture-frame/) がどのようにスケーリングされるか、保存時に適用される圧縮に依存します。 + +**多数のスライドにまたがって同じロゴを一括で置換する最良の方法は?** + +マスタースライドまたはレイアウトにロゴを配置し、プレゼンテーションの画像コレクションで置換すれば、該当リソースを使用しているすべての要素に変更が反映されます。 + +**挿入した SVG を編集可能なシェイプに変換できますか?** + +はい。SVG をシェイプのグループに変換でき、その後各パーツは標準のシェイプ プロパティで編集可能になります。 + +**複数スライドの背景に一括で画像を設定するには?** + +マスタースライドまたは該当レイアウトで [画像を背景として割り当てる](/slides/ja/net/presentation-background/) と、同じマスタ/レイアウトを使用しているすべてのスライドが背景を継承します。 + +**画像が多数あるためにプレゼンテーションのサイズが膨らむのを防ぐには?** -{{% /alert %}} \ No newline at end of file +画像リソースを重複させずに 1 つだけ再利用し、適切な解像度を選択し、保存時に圧縮を適用し、必要に応じてマスターにグラフィックを配置してください。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/ja/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index 2b1313a90f..072ae0bc21 100644 --- a/ja/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -1,116 +1,112 @@ --- -title: ピクチャーフレーム +title: 画像フレーム type: docs weight: 10 url: /ja/net/picture-frame/ -keywords: -- ピクチャーフレームを追加 -- ピクチャーフレームを作成 +keywords: +- 画像フレーム +- 画像フレームを追加 +- 画像フレームを作成 - 画像を追加 - 画像を作成 - 画像を抽出 -- StretchOffプロパティ -- ピクチャーフレームの書式設定 -- ピクチャーフレームのプロパティ -- PowerPointプレゼンテーション +- 画像をトリミング +- StretchOff プロパティ +- 画像フレームの書式設定 +- 画像フレームのプロパティ +- 画像効果 +- アスペクト比 +- PowerPoint +- プレゼンテーション - C# - Csharp - Aspose.Slides for .NET -description: "C#または.NETでPowerPointプレゼンテーションにピクチャーフレームを追加します" +description: "C# または .NET で PowerPoint プレゼンテーションに画像フレームを追加" --- -ピクチャーフレームは画像を含むシェイプであり、フレームに入った写真のようなものです。 +画像フレームは画像を含む形状で、フレーム内の写真のようなものです。 -ピクチャーフレームを介してスライドに画像を追加できます。これにより、ピクチャーフレームの書式設定を利用して画像の書式設定ができます。 - -{{% 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)—を提供しています。 +画像フレームを使用してスライドに画像を追加できます。この方法では、画像フレームの書式設定により画像の書式設定が行えます。 +{{% 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 %}} -## **ピクチャーフレームを作成する** - -1. [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. プレゼンテーションオブジェクトに関連付けられた[IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection)に画像を追加して[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)オブジェクトを作成します。このオブジェクトはシェイプの塗りつぶしに使用されます。 -4. 画像の幅と高さを指定します。 -5. 参照されたスライドに関連付けられたシェイプオブジェクトによって公開される`AddPictureFrame`メソッドを通じて、画像の幅と高さに基づいて[PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe)を作成します。 -6. スライドにピクチャーフレーム(画像を含む)を追加します。 -7. 修正されたプレゼンテーションをPPTXファイルとして書き込みます。 +## **画像フレームの作成** -このC#コードは、ピクチャーフレームを作成する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. インデックスを使用してスライドの参照を取得します。 +3. プレゼンテーション オブジェクトに関連付けられた[IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) に画像を追加して[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) オブジェクトを作成します。 +4. 画像の幅と高さを指定します。 +5. 参照されたスライドに関連付けられたシェイプ オブジェクトが提供する `AddPictureFrame` メソッドを使用して、画像の幅と高さに基づく[PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) を作成します。 +6. スライドに画像フレーム(画像を含む)を追加します。 +7. 変更されたプレゼンテーションを PPTX ファイルとして書き出します。 ```c# -// PPTXファイルを表すPresentationクラスをインスタンス化 +// PPTX ファイルを表す Presentation クラスをインスタンス化します using (Presentation pres = new Presentation()) { - // 最初のスライドを取得 + // 最初のスライドを取得します ISlide slide = pres.Slides[0]; - // 画像を読み込み、プレゼンテーションの画像コレクションに追加 + // 画像を読み込み、プレゼンテーションの画像コレクションに追加します IImage image = Images.FromFile("aspose-logo.jpg"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // 同じ高さと幅のピクチャーフレームを追加 + // 同じ高さと幅で画像フレームを追加します IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // ピクチャーフレームにいくつかの書式設定を適用 + // 画像フレームにいくつかの書式設定を適用します pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; pictureFrame.LineFormat.Width = 20; pictureFrame.Rotation = 45; - // プレゼンテーションをPPTXファイルとして書き込む + // プレゼンテーションを PPTX ファイルに保存します pres.Save("RectPicFrameFormat_out.pptx", SaveFormat.Pptx); } ``` -{{% alert color="warning" %}} - -ピクチャーフレームを使用すると、画像に基づいてプレゼンテーションスライドを迅速に作成できます。ピクチャーフレームとAspose.Slidesの保存オプションを組み合わせることで、画像を別の形式に変換するための入出力操作を操作できます。これらのページを参照することをお勧めします:画像を[JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/)に変換する; [JPGから画像](https://products.aspose.com/slides/net/conversion/jpg-to-image/)に変換する; [JPGをPNGに](https://products.aspose.com/slides/net/conversion/jpg-to-png/)変換する; [PNGをJPGに](https://products.aspose.com/slides/net/conversion/png-to-jpg/)変換する; [PNGをSVGに](https://products.aspose.com/slides/net/conversion/png-to-svg/)変換する; [SVGをPNGに](https://products.aspose.com/slides/net/conversion/svg-to-png/)変換する。 +{{% alert color="warning" %}} +画像フレームを使用すると、画像に基づくプレゼンテーション スライドを迅速に作成できます。画像フレームと Aspose.Slides の保存オプションを組み合わせることで、画像形式の変換など入出力操作を操作できます。以下のページも参考になるでしょう: 変換 [image to JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); 変換 [JPG to image](https://products.aspose.com/slides/net/conversion/jpg-to-image/); 変換 [JPG to PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), 変換 [PNG to JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); 変換 [PNG to SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), 変換 [SVG to PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -## **相対スケールでピクチャーフレームを作成する** - -画像の相対スケーリングを変更することで、より複雑なピクチャーフレームを作成できます。 +## **相対スケール付き画像フレームの作成** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. プレゼンテーションの画像コレクションに画像を追加します。 -4. プレゼンテーションオブジェクトに関連付けられた[IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection)に画像を追加して[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)オブジェクトを作成します。このオブジェクトはシェイプを塗りつぶすのに使用されます。 -5. ピクチャーフレーム内の画像の相対的な幅と高さを指定します。 -6. 修正されたプレゼンテーションをPPTXファイルとして書き込みます。 - -このC#コードは、相対スケールでピクチャーフレームを作成する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. インデックスを使用してスライドの参照を取得します。 +3. プレゼンテーションの画像コレクションに画像を追加します。 +4. プレゼンテーション オブジェクトに関連付けられた[IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) に画像を追加して[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) オブジェクトを作成します。 +5. 画像フレーム内で画像の相対的な幅と高さを指定します。 +6. 変更されたプレゼンテーションを PPTX ファイルとして書き出します。 ```c# -// PPTXファイルを表すPresentationクラスをインスタンス化 +// PPTX ファイルを表す Presentation クラスをインスタンス化します using (Presentation presentation = new Presentation()) { - // 画像を読み込み、プレゼンテーションの画像コレクションに追加 + // 画像を読み込み、プレゼンテーションの画像コレクションに追加します IImage image = Images.FromFile("aspose-logo.jpg"); IPPImage ppImage = presentation.Images.AddImage(image); image.Dispose(); - // スライドにピクチャーフレームを追加 + // スライドに画像フレームを追加します IPictureFrame pictureFrame = presentation.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 100, 100, ppImage); - // 相対スケールの幅と高さを設定 + // 相対スケールの幅と高さを設定します pictureFrame.RelativeScaleHeight = 0.8f; pictureFrame.RelativeScaleWidth = 1.35f; - // プレゼンテーションを保存 + // プレゼンテーションを保存します presentation.Save("Adding Picture Frame with Relative Scale_out.pptx", SaveFormat.Pptx); } ``` -## **ピクチャーフレームから画像を抽出する** -[PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe)オブジェクトから画像を抽出し、PNG、JPGなどの形式で保存できます。以下のコード例は、"sample.pptx"というドキュメントから画像を抽出し、PNG形式で保存する方法を示しています。 +## **画像フレームからラスタ画像を抽出する** +画像フレーム([PictureFrame])オブジェクトからラスタ画像を抽出し、PNG、JPG などの形式で保存できます。以下のコード例は、ドキュメント "sample.pptx" から画像を抽出して PNG 形式で保存する方法を示しています。 ```c# using (var presentation = new Presentation("sample.pptx")) { @@ -125,12 +121,33 @@ using (var presentation = new Presentation("sample.pptx")) } ``` -## **画像の透明度を取得する** -Aspose.Slidesを使用すると、画像の透明度を取得できます。このC#コードはその操作を示しています: +## **画像フレームから SVG 画像を抽出する** +プレゼンテーションに [PictureFrame] シェイプ内に配置された SVG グラフィックが含まれる場合、Aspose.Slides for .NET は元のベクター画像を完全な忠実度で取得できます。スライドのシェイプコレクションを走査して各[PictureFrame] を特定し、基になる[IPPImage] が SVG コンテンツを保持しているか確認し、ネイティブ SVG 形式でディスクまたはストリームに保存できます。 + +```cs +using var presentation = new Presentation("sample.pptx"); + +var slide = presentation.Slides[0]; +var shape = slide.Shapes[0]; + +if (shape is IPictureFrame pictureFrame) +{ + var svgImage = pictureFrame.PictureFormat.Picture.Image.SvgImage; + if (svgImage != null) + { + File.WriteAllText("output.svg", svgImage.SvgContent); + } +} +``` + + +## **画像の透明度を取得する** + +Aspose.Slides では、画像に適用された透明度効果を取得できます。この C# コードはその操作を示しています。 ```c# -using (var presentation = new Presentation(folderPath + "Test.pptx")) +using (var presentation = new Presentation("Test.pptx")) { var pictureFrame = (IPictureFrame)presentation.Slides[0].Shapes[0]; var imageTransform = pictureFrame.PictureFormat.Picture.ImageTransform; @@ -139,68 +156,67 @@ using (var presentation = new Presentation(folderPath + "Test.pptx")) if (effect is IAlphaModulateFixed alphaModulateFixed) { var transparencyValue = 100 - alphaModulateFixed.Amount; - Console.WriteLine("画像の透明度: " + transparencyValue); + Console.WriteLine("Picture transparency: " + transparencyValue); } } } ``` -## **ピクチャーフレームの書式設定** -Aspose.Slidesは、ピクチャーフレームに適用できる多くの書式設定オプションを提供します。これらのオプションを使用して、特定の要件に合うようにピクチャーフレームを変更できます。 - -1. [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/)クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. プレゼンテーションオブジェクトに関連付けられた[IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection)に画像を追加して[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)オブジェクトを作成します。このオブジェクトはシェイプを塗りつぶすのに使用されます。 -4. 画像の幅と高さを指定します。 -5. 参照されたスライドに関連付けられた[IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection)オブジェクトによって公開される[AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe)メソッドを介して、画像の幅と高さに基づいて`PictureFrame`を作成します。 -6. スライドにピクチャーフレーム(画像を含む)を追加します。 -7. ピクチャーフレームの線の色を設定します。 -8. ピクチャーフレームの線の幅を設定します。 -9. ピクチャーフレームを回転させます。正の値または負の値を指定します。 - * 正の値は画像を時計回りに回転させます。 - * 負の値は画像を反時計回りに回転させます。 -10. スライドにピクチャーフレーム(画像を含む)を再度追加します。 -11. 修正されたプレゼンテーションをPPTXファイルとして書き込みます。 +{{% alert color="primary" %}} +画像に適用されたすべてのエフェクトは [Aspose.Slides.Effects](https://reference.aspose.com/slides/net/aspose.slides.effects/) で確認できます。 +{{% /alert %}} -このC#コードは、ピクチャーフレームの書式設定プロセスを示します: +## **画像フレームの書式設定** + +1. [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) クラスのインスタンスを作成します。 +2. インデックスを使用してスライドの参照を取得します。 +3. プレゼンテーション オブジェクトに関連付けられた[IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) に画像を追加して[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) オブジェクトを作成します。 +4. 画像の幅と高さを指定します。 +5. 参照されたスライドに関連付けられた[IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection) オブジェクトが提供する[AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe) メソッドを使用して、画像の幅と高さに基づく `PictureFrame` を作成します。 +6. スライドに画像フレーム(画像を含む)を追加します。 +7. 画像フレームの線の色を設定します。 +8. 画像フレームの線幅を設定します。 +9. 正の値または負の値を指定して画像フレームを回転させます。 + * 正の値は画像を時計回りに回転させます。 + * 負の値は画像を反時計回りに回転させます。 +10. スライドに画像フレーム(画像を含む)を再度追加します。 +11. 変更されたプレゼンテーションを PPTX ファイルとして書き出します。 ```c# -// PPTXファイルを表すPresentationクラスをインスタンス化 +// PPTX ファイルを表す Presentation クラスをインスタンス化します using (Presentation presentation = new Presentation()) { - // 最初のスライドを取得 + // 最初のスライドを取得します ISlide slide = presentation.Slides[0]; - // 画像を読み込み、プレゼンテーションの画像コレクションに追加 + // 画像を読み込み、プレゼンテーションの画像コレクションに追加します IImage image = Images.FromFile("aspose-logo.jpg"); IPPImage ppImage = presentation.Images.AddImage(image); image.Dispose(); - // 画像の等価な高さと幅を持つピクチャーフレームを追加 + // 画像と同じ高さと幅で画像フレームを追加します IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // ピクチャーフレームにいくつかの書式設定を適用 + // 画像フレームにいくつかの書式設定を適用します pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; pictureFrame.LineFormat.Width = 20; pictureFrame.Rotation = 45; - // プレゼンテーションをPPTXファイルとして書き込む + // プレゼンテーションを PPTX ファイルに書き出します presentation.Save("RectPicFrameFormat_out.pptx", SaveFormat.Pptx); } ``` -{{% alert 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 color="primary" %}} +Aspose は最近、[無料 Collage Maker](https://products.aspose.app/slides/collage) を提供開始しました。JPG/JPEG もしくは PNG 画像を結合したり、写真からグリッドを作成したりしたい場合はこのサービスをご利用ください。 {{% /alert %}} -## **リンクとして画像を追加** - -プレゼンテーションのサイズを大きくしないように、ファイルを直接埋め込むのではなく、リンクを介して画像(または動画)を追加できます。このC#コードは、プレースホルダーに画像と動画を追加する方法を示しています: +## **画像をリンクとして追加する** +プレゼンテーションのサイズが大きくなるのを防ぐため、ファイルを直接埋め込むのではなくリンク経由で画像(またはビデオ)を追加できます。この C# コードはプレースホルダーに画像とビデオを追加する方法を示しています。 ```c# using (var presentation = new Presentation("input.pptx")) { @@ -251,69 +267,114 @@ using (var presentation = new Presentation("input.pptx")) } ``` -## **画像を切り抜く** -このC#コードは、スライド上の既存の画像を切り抜く方法を示しています: +## **画像のトリミング** +この C# コードはスライド上の既存画像をトリミングする方法を示しています。 ```c# using (Presentation presentation = new Presentation()) { - // 新しい画像オブジェクトを作成 + // 新しい画像オブジェクトを作成します IImage image = Images.FromFile(imagePath); IPPImage newImage = presentation.Images.AddImage(image); image.Dispose(); - // スライドにピクチャーフレームを追加 + // スライドに PictureFrame を追加します IPictureFrame picFrame = presentation.Slides[0].Shapes.AddPictureFrame( ShapeType.Rectangle, 100, 100, 420, 250, newImage); - // 画像を切り抜く(パーセンテージ値) + // 画像をトリミングします(パーセンテージ値) picFrame.PictureFormat.CropLeft = 23.6f; picFrame.PictureFormat.CropRight = 21.5f; picFrame.PictureFormat.CropTop = 3; picFrame.PictureFormat.CropBottom = 31; - // 結果を保存 + // 結果を保存します presentation.Save("PictureFrameCrop.pptx", SaveFormat.Pptx); } ``` -## 切り抜いた部分を削除する -フレーム内の画像の切り抜かれた部分を削除したい場合は、[IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/)メソッドを使用できます。このメソッドは、切り抜かれた画像または切り抜きが不要な場合は元の画像を返します。 - -このC#コードはその操作を示します: +## **画像フレームのトリミング領域を削除する** +画像フレーム内のトリミングされた領域を削除したい場合は、[IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) メソッドを使用できます。このメソッドは、トリミングが不要な場合は元の画像を、トリミングが必要な場合はトリミングされた画像を返します。 ```c# using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) { ISlide slide = presentation.Slides[0]; - // 最初のスライドからピクチャーフレームを取得 + // 最初のスライドから PictureFrame を取得します IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; - // ピクチャーフレーム画像の切り抜かれた部分を削除し、切り抜かれた画像を返す + // PictureFrame 画像のトリミング領域を削除し、トリミングされた画像を返します IPPImage croppedImage = picFrame.PictureFormat.DeletePictureCroppedAreas(); - // 結果を保存 + // 結果を保存します presentation.Save("PictureFrameDeleteCroppedAreas.pptx", SaveFormat.Pptx); } ``` -{{% alert title="注意" color="warning" %}} -[IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/)メソッドは、切り抜かれた画像をプレゼンテーションの画像コレクションに追加します。この画像が処理された[PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/)内でのみ使用される場合、この設定によりプレゼンテーションのサイズを削減できます。そうでなければ、結果として得られるプレゼンテーション内の画像の数は増加します。 +{{% alert title="NOTE" color="warning" %}} +[IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) メソッドはトリミングされた画像をプレゼンテーションの画像コレクションに追加します。対象の [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) のみで画像が使用されている場合、この設定によりプレゼンテーションのサイズが削減されます。そうでない場合は、結果のプレゼンテーションの画像数が増加します。 + +このメソッドはトリミング処理で WMF/EMF メタファイルをラスタ PNG 画像に変換します。 +{{% /alert %}} + +## **画像を圧縮する** -このメソッドはWMF/EMFメタファイルをラスタPNG画像に変換します。 +[`IPictureFillFormat.CompressImage`](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/compressimage/) メソッドを使用してプレゼンテーション内の画像を圧縮できます。このメソッドはシェイプのサイズと指定された解像度に基づいて画像サイズを縮小し、必要に応じてトリミング領域を削除します。 +PowerPoint の **図の書式 → 画像の圧縮 → 解像度** 機能と同様に、画像のサイズと解像度を調整します。 + +以下の C# 例は、対象解像度を指定し、オプションでトリミング領域を削除して画像を圧縮する方法を示しています。 +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + // スライドから PictureFrame を取得します + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; + + // 画像を 150 DPI(Web 解像度)のターゲット解像度で圧縮し、トリミング領域を削除します + bool result = picFrame.PictureFormat.CompressImage(true, PicturesCompression.Dpi150); + + // 圧縮の結果を確認します + if (result) + { + Console.WriteLine("Image successfully compressed."); + } + else + { + Console.WriteLine("Image compression failed or no changes were necessary."); + } +} +``` + + +またはカスタム DPI 値を直接指定する場合: +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; + + // 画像を 150 DPI(Web 解像度)に圧縮し、トリミング領域を削除します + bool result = picFrame.PictureFormat.CompressImage(true, 150f); +} +``` + + +{{% alert title="NOTE" color="warning" %}} +このメソッドはシェイプのサイズと提供された DPI に基づき画像を低解像度に変換します。トリミング領域も削除してファイルサイズを最適化できます。画像がメタファイル (WMF/EMF) または SVG の場合は圧縮は適用されません。JPEG は解像度に応じて品質が維持または若干低下します。 {{% /alert %}} ## **アスペクト比をロックする** -形状が画像を含む場合、画像のサイズを変更してもアスペクト比を保持するには、[IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/)プロパティを使用して*アスペクト比をロック*設定を指定できます。 - -このC#コードは、形状のアスペクト比をロックする方法を示しています: +画像を含むシェイプのサイズ変更後もアスペクト比を保持したい場合は、[IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) プロパティを使用して「アスペクト比をロック」設定を行います。 +この C# コードはシェイプのアスペクト比をロックする方法を示しています。 ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -326,35 +387,33 @@ using (Presentation pres = new Presentation("pres.pptx")) IPictureFrame pictureFrame = emptySlide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, presImage.Width, presImage.Height, presImage); - // リサイズ時にアスペクト比を保持するようにシェイプを設定 + // リサイズ時に形状のアスペクト比を保持するように設定します pictureFrame.PictureFrameLock.AspectRatioLocked = true; } ``` -{{% alert title="注意" color="warning" %}} - -この*アスペクト比をロック*設定は、形状のアスペクト比のみを保持し、含まれる画像のアスペクト比は保持しません。 +{{% alert title="NOTE" color="warning" %}} +この「アスペクト比をロック」設定はシェイプのアスペクト比のみを保持し、内部の画像自体の比率は保持しません。 {{% /alert %}} -## **StretchOffプロパティを使用する** +## **StretchOff プロパティの使用** -[StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft)、[StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop)、[StretchOffsetRight,](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright)および[StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom)プロパティを[IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat)インターフェースと[PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat)クラスから使用すると、塗りつぶし矩形を指定できます。 +[StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft)、[StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop)、[StretchOffsetRight](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) および [StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) プロパティを [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) インターフェイスと [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat) クラスで使用すると、塗りつぶし矩形を指定できます。 -画像の拡張が指定されると、ソース矩形が指定された塗りつぶし矩形に合わせてスケーリングされます。塗りつぶし矩形の各辺は、シェイプの境界ボックスの対応する辺からのパーセンテージオフセットによって定義されます。正のパーセンテージは内側を指定し、負のパーセンテージは外側を指定します。 +画像にストレッチ指定がある場合、ソース矩形は指定された塗りつぶし矩形に合わせてスケーリングされます。塗りつぶし矩形の各辺は、シェイプのバウンディングボックスの対応する辺からのパーセンテージオフセットで定義されます。正のパーセンテージはインセット、負のパーセンテージはアウトセットを表します。 -1. [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/)クラスのインスタンスを作成します。 -2. インデックスを通じてスライドの参照を取得します。 -3. 四角形の`AutoShape`を追加します。 -4. 画像を作成します。 -5. シェイプの塗りつぶしタイプを設定します。 -6. シェイプの画像塗りつぶしモードを設定します。 -7. シェイプを塗りつぶすためにセット画像を追加します。 -8. シェイプの境界ボックスの対応する辺からの画像オフセットを指定します。 -9. 修正されたプレゼンテーションをPPTXファイルとして書き込みます。 - -このC#コードは、StretchOffプロパティを使用したプロセスを示しています: +1. [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) クラスのインスタンスを作成します。 +2. インデックスを使用してスライドの参照を取得します。 +3. 四角形 `AutoShape` を追加します。 +4. 画像を作成します。 +5. シェイプの塗りつぶしタイプを設定します。 +6. シェイプの画像塗りつぶしモードを設定します。 +7. 塗りつぶしに使用する画像を設定します。 +8. シェイプのバウンディングボックスの対応する辺からの画像オフセットを指定します。 +9. 変更されたプレゼンテーションを PPTX ファイルとして書き出します。 +この C# コードは StretchOff プロパティを使用したプロセスを示しています: ```c# using (Presentation pres = new Presentation()) { @@ -364,7 +423,7 @@ using (Presentation pres = new Presentation()) IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 400, 400, ppImage); - // 形状の内部から各辺に向かって画像を拡張する + // シェイプ本体の各側面から画像が伸びるように設定します pictureFrame.PictureFormat.PictureFillMode = PictureFillMode.Stretch; pictureFrame.PictureFormat.StretchOffsetLeft = 24; pictureFrame.PictureFormat.StretchOffsetRight = 24; @@ -373,4 +432,19 @@ using (Presentation pres = new Presentation()) pres.Save("imageStretch.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**画像フレームでサポートされている画像形式はどのように確認できますか?** +Aspose.Slides は、[PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) に割り当てられる画像オブジェクトを通じて、ラスタ画像(PNG、JPEG、BMP、GIF など)とベクター画像(例: SVG)をサポートしています。サポートされる形式の一覧は、スライドおよび画像変換エンジンの機能とほぼ一致します。 + +**多数の大容量画像を追加すると PPTX のサイズとパフォーマンスはどう影響しますか?** +画像を埋め込むとファイルサイズとメモリ使用量が増加します。リンクで画像を追加するとプレゼンテーションのサイズを抑えられますが、外部ファイルが利用可能である必要があります。Aspose.Slides はリンクで画像を追加する機能を提供し、ファイルサイズ削減に役立ちます。 + +**画像オブジェクトの誤操作による移動やサイズ変更を防ぐには?** +[PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) 用の[shape locks](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/pictureframelock/) を使用します(例: 移動やサイズ変更を無効化)。ロック機構の詳細は、別の[保護に関する記事](/slides/ja/net/applying-protection-to-presentation/) に記載されており、PictureFrame を含むさまざまなシェイプタイプでサポートされています。 + +**SVG ベクターの忠実度は PDF/画像へのエクスポート時に保持されますか?** +Aspose.Slides は、[PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) から元のベクターとして SVG を抽出できます。PDF(/slides/net/convert-powerpoint-to-pdf/)やラスタ形式(/slides/net/convert-powerpoint-to-png/)へのエクスポート時は、エクスポート設定に応じてラスタ化される場合がありますが、抽出動作により元の SVG がベクターとして保持されていることが確認できます。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/ja/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index 38a4b6f7cf..5433b0cd11 100644 --- a/ja/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -3,51 +3,50 @@ title: ビデオフレーム type: docs weight: 10 url: /ja/net/video-frame/ -keywords: "ビデオを追加, ビデオフレームを作成, ビデオを抽出, PowerPointプレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C# または .NET で PowerPoint プレゼンテーションにビデオフレームを追加する" +keywords: "動画の追加、ビデオフレームの作成、動画の抽出、PowerPointプレゼンテーション、C#、Csharp、Aspose.Slides for .NET" +description: "C#または.NETでPowerPointプレゼンテーションにビデオフレームを追加する" --- -プレゼンテーションにおいて適切に配置されたビデオは、メッセージをより説得力のあるものにし、聴衆とのエンゲージメントレベルを高めることができます。 +プレゼンテーションに適切に配置された動画は、メッセージをより説得力のあるものにし、オーディエンスとのエンゲージメントレベルを高めることができます。 -PowerPointでは、プレゼンテーションのスライドにビデオを追加する方法が2つあります: +PowerPoint では、プレゼンテーションのスライドに動画を追加する方法が 2 つあります。 -* ローカルビデオを追加または埋め込む(自分のマシンに保存されているビデオ) -* オンラインビデオを追加する(YouTubeなどのウェブソースから)。 +* ローカル動画(マシンに保存)を追加または埋め込む +* オンライン動画(YouTube などのウェブソース)を追加する -プレゼンテーションにビデオ(ビデオオブジェクト)を追加できるように、Aspose.Slidesは[IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/)インターフェース、[IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/)インターフェース、およびその他の関連タイプを提供しています。 +プレゼンテーションに動画(ビデオオブジェクト)を追加できるように、Aspose.Slides は [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) インターフェイス、[IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) インターフェイス、およびその他の関連タイプを提供します。 -## **埋め込まれたビデオフレームを作成する** +## **埋め込みビデオフレームの作成** -スライドに追加したいビデオファイルがローカルに保存されている場合、プレゼンテーションにビデオを埋め込むためのビデオフレームを作成できます。 +スライドに追加したい動画ファイルがローカルに保存されている場合、プレゼンテーションに動画を埋め込むビデオフレームを作成できます。 -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -1. インデックスを通じてスライドの参照を取得します。 -1. [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/)オブジェクトを追加し、プレゼンテーションにビデオを埋め込むためのビデオファイルパスを渡します。 -1. ビデオのフレームを作成するために[IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/)オブジェクトを追加します。 -1. 修正されたプレゼンテーションを保存します。 - -このC#コードは、ローカルに保存されたビデオをプレゼンテーションに追加する方法を示しています: +1. [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +1. インデックスを使用してスライドの参照を取得します。 +1. [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) オブジェクトを追加し、動画ファイルのパスを渡してプレゼンテーションに動画を埋め込みます。 +1. [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) オブジェクトを追加して動画用のフレームを作成します。 +1. 変更されたプレゼンテーションを保存します。 +この C# コードは、ローカルに保存された動画をプレゼンテーションに追加する方法を示しています: ```c# -// プレゼンテーションクラスのインスタンスを作成 +// Presentation クラスのインスタンスを作成します using (Presentation pres = new Presentation("pres.pptx")) { - // ビデオをロード + // 動画をロードします using (FileStream fileStream = new FileStream("Wildlife.mp4", FileMode.Open, FileAccess.Read)) { IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); - // 最初のスライドを取得し、ビデオフレームを追加 + // 最初のスライドを取得し、ビデオフレームを追加します pres.Slides[0].Shapes.AddVideoFrame(10, 10, 150, 250, video); - // プレゼンテーションをディスクに保存 + // プレゼンテーションをディスクに保存します pres.Save("pres-with-video.pptx", SaveFormat.Pptx); } } ``` -また、[AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/)メソッドにビデオのファイルパスを直接渡すことで、ビデオを追加することもできます: -```csharp +あるいは、動画のファイルパスを直接 [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/) メソッドに渡して動画を追加することもできます: +``` csharp using (Presentation pres = new Presentation()) { ISlide sld = pres.Slides[0]; @@ -55,21 +54,22 @@ using (Presentation pres = new Presentation()) } ``` -## **ウェブソースからのビデオでビデオフレームを作成する** -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/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -1. インデックスを通じてスライドの参照を取得します。 -1. [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/)オブジェクトを追加し、ビデオへのリンクを渡します。 -1. ビデオフレームのサムネイルを設定します。 -1. プレゼンテーションを保存します。 +## **Web ソースからの動画でビデオフレームを作成** + +Microsoft [PowerPoint 2013 and newer](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)に動画がある場合、そのウェブリンクを使用してプレゼンテーションに追加できます。 -このC#コードは、PowerPointプレゼンテーション内のスライドにウェブからビデオを追加する方法を示しています: +1. [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +1. インデックスを使用してスライドの参照を取得します。 +1. [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) オブジェクトを追加し、動画へのリンクを渡します。 +1. ビデオフレームのサムネイルを設定します。 +1. プレゼンテーションを保存します。 +この C# コードは、Web から動画を取得して PowerPoint のスライドに追加する方法を示しています: ```c# public static void Run() { - // プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化 + // プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化します using (Presentation pres = new Presentation()) { AddVideoFromYouTube(pres, "Tj75Arhq5ho"); @@ -79,11 +79,11 @@ public static void Run() private static void AddVideoFromYouTube(Presentation pres, string videoId) { - // ビデオフレームを追加 + // VideoFrame を追加します IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId); videoFrame.PlayMode = VideoPlayModePreset.Auto; - // サムネイルをロード + // サムネイルを読み込みます using (WebClient client = new WebClient()) { string thumbnailUri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg"; @@ -92,27 +92,28 @@ private static void AddVideoFromYouTube(Presentation pres, string videoId) } ``` -## **スライドからビデオを抽出する** -スライドにビデオを追加することに加えて、Aspose.Slidesはプレゼンテーションに埋め込まれたビデオを抽出することも可能です。 -1. ビデオを含むプレゼンテーションをロードするために[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. すべての[ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide)オブジェクトを反復処理します。 -3. すべての[IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape)オブジェクトを反復処理し、[VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe)を見つけます。 -4. ビデオをディスクに保存します。 +## **スライドから動画を抽出** + +動画をスライドに追加するだけでなく、Aspose.Slides を使用するとプレゼンテーションに埋め込まれた動画を抽出できます。 -このC#コードは、プレゼンテーションスライドからビデオを抽出する方法を示しています: +1. 動画を含むプレゼンテーションを読み込むために [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. すべての [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) オブジェクトを列挙します。 +3. すべての [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) オブジェクトを列挙し、[VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe) を探します。 +4. 動画をディスクに保存します。 +この C# コードは、プレゼンテーションのスライドから動画を抽出する方法を示しています: ```c# -// プレゼンテーションファイルを表すPresentationオブジェクトをインスタンス化 +// プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化します Presentation presentation = new Presentation("Video.pptx"); -// スライドを反復 +// スライドを反復処理します foreach (ISlide slide in presentation.Slides) { - // シェイプを反復 + // 図形を反復処理します foreach (IShape shape in presentation.Slides[0].Shapes) { - // ビデオを含むVideoFrameが見つかった場合、ディスクにビデオを保存 + // 動画を含む VideoFrame が見つかったら、動画をディスクに保存します if (shape is VideoFrame) { IVideoFrame vf = shape as IVideoFrame; @@ -127,4 +128,19 @@ foreach (ISlide slide in presentation.Slides) } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Which video playback parameters can be changed for a VideoFrame?** +[playback mode](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playmode/)(自動またはクリック時)と [looping](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playloopmode/) を制御できます。これらのオプションは [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe/) オブジェクトのプロパティを介して利用可能です。 + +**Does adding a video affect the PPTX file size?** +はい。ローカル動画を埋め込むとバイナリデータがドキュメントに含まれるため、ファイルサイズは動画のサイズに比例して増加します。オンライン動画を追加するとリンクとサムネイルが埋め込まれるだけなので、サイズ増加は小さく抑えられます。 + +**Can I replace the video in an existing VideoFrame without changing its position and size?** +はい。フレーム内の [video content](https://reference.aspose.com/slides/net/aspose.slides/videoframe/embeddedvideo/) を入れ替えることで、形状の位置やサイズを保持したまま動画を差し替えることができます。これは既存レイアウトのメディアを更新する一般的なシナリオです。 + +**Can the content type (MIME) of an embedded video be determined?** +はい。埋め込まれた動画には [content type](https://reference.aspose.com/slides/net/aspose.slides/video/contenttype/) があり、これを取得して使用できます(例: ディスクに保存する際など)。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-ole/_index.md b/ja/net/developer-guide/presentation-content/manage-ole/_index.md index 0724dce964..79197c9a13 100644 --- a/ja/net/developer-guide/presentation-content/manage-ole/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-ole/_index.md @@ -1,328 +1,345 @@ ---- -title: OLEの管理 -type: docs -weight: 40 -url: /ja/net/manage-ole/ -keywords: -- OLEの追加 -- OLEの埋め込み -- オブジェクトの追加 -- オブジェクトの埋め込み -- ファイルの埋め込み -- リンクされたオブジェクト -- オブジェクトのリンクと埋め込み -- OLEオブジェクト -- PowerPoint -- プレゼンテーション -- C# -- Csharp -- Aspose.Slides for .NET -description: C#または.NETでPowerPointプレゼンテーションにOLEオブジェクトを追加する ---- - -{{% alert title="情報" color="info" %}} - -OLE(オブジェクトリンクと埋め込み)は、Microsoftの技術で、1つのアプリケーションで作成されたデータやオブジェクトを、リンクまたは埋め込みを通じて別のアプリケーションに配置することを可能にします。 - -{{% /alert %}} - -MS Excelで作成されたチャートを考えてみましょう。そのチャートは、PowerPointのスライドの中に置かれます。そのExcelのチャートはOLEオブジェクトと見なされます。 - -- OLEオブジェクトはアイコンとして表示される場合があります。この場合、アイコンをダブルクリックすると、チャートが関連付けられたアプリケーション(Excel)で開かれるか、オブジェクトの開くまたは編集のためのアプリケーションを選択するように求められます。 -- OLEオブジェクトは実際の内容を表示する場合があります。たとえば、チャートの内容が表示されます。この場合、チャートはPowerPointでアクティブ化され、チャートインターフェースが読み込まれ、PowerPointアプリ内でチャートのデータを修正できます。 - -[Aspose.Slides for .NET](https://products.aspose.com/slides/net/)を使用すると、OLEオブジェクトをOLEオブジェクトフレーム([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe))としてスライドに挿入できます。 - -## **スライドにOLEオブジェクトフレームを追加する** -Microsoft Excelで作成したチャートをOLEオブジェクトフレームとしてAspose.Slides for .NETを使ってスライドに埋め込むことを想定します。このように行うことができます: - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 -2. インデックスを使ってスライドの参照を取得します。 -3. Excelチャートオブジェクトを含むExcelファイルを開き、`MemoryStream`に保存します。 -4. OLEオブジェクトに関するバイトの配列とその他の情報を含むスライドに[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)を追加します。 -5. 修正されたプレゼンテーションをPPTXファイルとして書き込みます。 - -以下の例では、Aspose.Slides for .NETを使用してExcelファイルからスライドに[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)としてチャートを追加しました。 -**注意**:[IOleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo)コンストラクタは、埋め込み可能なオブジェクトの拡張子を2番目のパラメーターとして受け取ります。この拡張子により、PowerPointはファイルタイプを正しく解釈し、このOLEオブジェクトを開くために適切なアプリケーションを選択できます。 - -``` csharp -// PPTXファイルを表すPresentationクラスをインスタンス化 -using (Presentation pres = new Presentation()) -{ - // 最初のスライドにアクセス - ISlide sld = pres.Slides[0]; - - // Excelファイルをストリームに読み込む - MemoryStream mstream = new MemoryStream(); - using (FileStream fs = new FileStream("book1.xlsx", FileMode.Open, FileAccess.Read)) - { - byte[] buf = new byte[4096]; - - while (true) - { - int bytesRead = fs.Read(buf, 0, buf.Length); - if (bytesRead <= 0) - break; - mstream.Write(buf, 0, bytesRead); - } - } - - // 埋め込み用のデータオブジェクトを作成 - IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(mstream.ToArray(), "xlsx"); - - // Ole Object Frame形状を追加 - IOleObjectFrame oleObjectFrame = sld.Shapes.AddOleObjectFrame(0, 0, pres.SlideSize.Size.Width, - pres.SlideSize.Size.Height, dataInfo); - - // PPTXファイルを書き込む - pres.Save("OleEmbed_out.pptx", SaveFormat.Pptx); -} -``` -### リンクされたOLEオブジェクトフレームの追加 - -Aspose.Slides for .NETでは、データを埋め込まずにファイルへのリンクのみで[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)を追加できます。 - -このC#コードは、スライドにリンクされたExcelファイルを持つ[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)を追加する方法を示しています: - -``` csharp -using (Presentation pres = new Presentation()) -{ - // 最初のスライドにアクセス - ISlide slide = pres.Slides[0]; - - // リンクされたExcelファイルを持つOle Object Frameを追加 - IOleObjectFrame oleObjectFrame = slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book1.xlsx"); - - // PPTXファイルを書き込む - pres.Save("OleLinked_out.pptx", SaveFormat.Pptx); -} -``` - -## **OLEオブジェクトフレームへのアクセス** -スライドにOLEオブジェクトがすでに埋め込まれている場合、そのオブジェクトを簡単に見つけたりアクセスしたりできます。 - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 -2. インデックスを使ってスライドの参照を取得します。 -3. [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)形状にアクセスします。 - この例では、最初のスライドに1つの形状を持つ以前に作成されたPPTXを使用しました。そして、*キャスト*して[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)としてそのオブジェクトを使用しました。これがアクセスすべきOLEオブジェクトフレームです。 -4. OLEオブジェクトフレームにアクセスすると、任意の操作を行うことができます。 -以下の例では、OLEオブジェクトフレーム(スライドに埋め込まれたExcelチャートオブジェクト)にアクセスし、そのファイルデータをExcelファイルに書き込みます: -``` csharp -// PPTXをプレゼンテーションオブジェクトに読み込む -using (Presentation pres = new Presentation("AccessingOLEObjectFrame.pptx")) -{ - // 最初のスライドにアクセス - ISlide sld = pres.Slides[0]; - - // OleObjectFrameに形状をキャスト - OleObjectFrame oleObjectFrame = sld.Shapes[0] as OleObjectFrame; - - // OLEオブジェクトを読み込み、ディスクに書き込む - if (oleObjectFrame != null) - { - // 埋め込まれたファイルデータを取得 - byte[] data = oleObjectFrame.EmbeddedData.EmbeddedFileData; - - // 埋め込まれたファイルの拡張子を取得 - string fileExtention = oleObjectFrame.EmbeddedData.EmbeddedFileExtension; - - // 抽出したファイルを保存するパスを作成 - string extractedPath = "excelFromOLE_out" + fileExtention; - - // 抽出したデータを保存 - using (FileStream fstr = new FileStream(extractedPath, FileMode.Create, FileAccess.Write)) - { - fstr.Write(data, 0, data.Length); - } - } -} -``` - -### リンクされたOLEオブジェクトフレームのプロパティにアクセスする - -Aspose.Slidesでは、リンクされたOLEオブジェクトフレームのプロパティにアクセスできます。 - -このC#コードは、OLEオブジェクトがリンクされているかどうかを確認し、リンクされたファイルへのパスを取得する方法を示しています: -```csharp -using (Presentation pres = new Presentation("OleLinked.ppt")) -{ - // 最初のスライドにアクセス - ISlide slide = pres.Slides[0]; - - // 最初の形状をOLEオブジェクトフレームとして取得 - OleObjectFrame oleObjectFrame = slide.Shapes[0] as OleObjectFrame; - - // Oleオブジェクトがリンクされているか確認。 - if (oleObjectFrame != null && oleObjectFrame.IsObjectLink) - { - // リンクされたファイルへのフルパスを出力 - Console.WriteLine("Oleオブジェクトフレームは次にリンクされています:" + oleObjectFrame.LinkPathLong); - - // 存在する場合は、リンクされたファイルへの相対パスを出力。 - // 相対パスを含むことができるのはPPTプレゼンテーションのみ。 - string relativePath = oleObjectFrame.LinkPathRelative; - if (!string.IsNullOrEmpty(relativePath)) - { - Console.WriteLine("Oleオブジェクトフレームの相対パス:" + oleObjectFrame.LinkPathRelative); - } - } -} -``` -## **OLEオブジェクトデータの変更** - -スライドにOLEオブジェクトがすでに埋め込まれている場合、そのオブジェクトに簡単にアクセスしてデータを修正できます。 - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成して、埋め込まれたOLEオブジェクトを含むプレゼンテーションを開きます。 -2. インデックスを使ってスライドの参照を取得します。 -3. [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)形状にアクセスします。 - この例では、最初のスライドに1つの形状を持つ以前に作成されたPPTXを使用しました。そして、*キャスト*して[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)としてそのオブジェクトを使用しました。これがアクセスすべきOLEオブジェクトフレームです。 -4. OLEオブジェクトフレームにアクセスすると、任意の操作を行うことができます。 -5. Workbookオブジェクトを作成し、OLEデータにアクセスします。 -6. 希望のワークシートにアクセスし、データを修正します。 -7. 更新されたWorkbookをストリームに保存します。 -8. ストリームデータからOLEオブジェクトデータを変更します。 -以下の例では、OLEオブジェクトフレーム(スライドに埋め込まれたExcelチャートオブジェクト)にアクセスし、チャートデータを変更するためにファイルデータを修正します: -``` csharp -using (Presentation pres = new Presentation("ChangeOLEObjectData.pptx")) -{ - ISlide slide = pres.Slides[0]; - - OleObjectFrame ole = null; - - // Oleフレームのためにすべての形状を走査 - foreach (IShape shape in slide.Shapes) - { - if (shape is OleObjectFrame) - { - ole = (OleObjectFrame)shape; - } - } - - if (ole != null) - { - using (MemoryStream msln = new MemoryStream(ole.EmbeddedData.EmbeddedFileData)) - { - // Workbook内のオブジェクトデータを読み込む - Workbook Wb = new Workbook(msln); - - using (MemoryStream msout = new MemoryStream()) - { - // ワークブックデータを修正 - Wb.Worksheets[0].Cells[0, 4].PutValue("E"); - Wb.Worksheets[0].Cells[1, 4].PutValue(12); - Wb.Worksheets[0].Cells[2, 4].PutValue(14); - Wb.Worksheets[0].Cells[3, 4].PutValue(15); - - OoxmlSaveOptions so1 = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); - Wb.Save(msout, so1); - - // Oleフレームオブジェクトデータを変更 - IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(msout.ToArray(), ole.EmbeddedData.EmbeddedFileExtension); - ole.SetEmbeddedData(newData); - } - } - } - - pres.Save("OleEdit_out.pptx", SaveFormat.Pptx); -} -``` -## **スライドに他のファイルタイプを埋め込む** - -Excelチャートに加えて、Aspose.Slides for .NETでは他の種類のファイルをスライドに埋め込むこともできます。たとえば、HTML、PDF、およびZIPファイルをオブジェクトとしてスライドに挿入できます。ユーザーが挿入されたオブジェクトをダブルクリックすると、そのオブジェクトは自動的に関連するプログラムで起動されるか、ユーザーがオブジェクトを開くための適切なプログラムを選択するように指示されます。 - -このC#コードは、スライドにHTMLとZIPを埋め込む方法を示しています: -```c# -using (Presentation pres = new Presentation()) -{ - ISlide slide = pres.Slides[0]; - - byte[] htmlBytes = File.ReadAllBytes("embedOle.html"); - IOleEmbeddedDataInfo dataInfoHtml = new OleEmbeddedDataInfo(htmlBytes, "html"); - IOleObjectFrame oleFrameHtml = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, dataInfoHtml); - oleFrameHtml.IsObjectIcon = true; - - byte[] zipBytes = File.ReadAllBytes("embedOle.zip"); - IOleEmbeddedDataInfo dataInfoZip = new OleEmbeddedDataInfo(zipBytes, "zip"); - IOleObjectFrame oleFrameZip = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, dataInfoZip); - oleFrameZip.IsObjectIcon = true; - - pres.Save("embeddedOle.pptx", SaveFormat.Pptx); -} -``` -## **埋め込まれたオブジェクトのファイルタイプを設定する** - -プレゼンテーションに取り組んでいるときに、古いOLEオブジェクトを新しいものに置き換える必要があるかもしれません。あるいは、サポートされていないOLEオブジェクトをサポートされているものに置き換える必要があるかもしれません。 - -Aspose.Slides for .NETでは、埋め込まれたオブジェクトのファイルタイプを設定できます。このようにして、OLEフレームデータまたはその拡張子を変更できます。 - -このC#コードは、埋め込まれたOLEオブジェクトのファイルタイプを設定する方法を示しています: -```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) -{ - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; - Console.WriteLine($"現在の埋め込まれたデータ拡張子は:{oleObjectFrame.EmbeddedData.EmbeddedFileExtension}"); - - oleObjectFrame.SetEmbeddedData(new OleEmbeddedDataInfo(File.ReadAllBytes("embedOle.zip"), "zip")); - - pres.Save("embeddedChanged.pptx", SaveFormat.Pptx); -} -``` -## **埋め込まれたオブジェクトのアイコン画像とタイトルを設定する** - -OLEオブジェクトを埋め込むと、アイコン画像とタイトルから成るプレビューが自動的に追加されます。このプレビューは、ユーザーがOLEオブジェクトにアクセスまたはオープンする前に見るものです。 - -特定の画像とテキストをプレビューの要素として使用したい場合、Aspose.Slides for .NETを使用してアイコン画像とタイトルを設定できます。 - -このC#コードは、埋め込まれたオブジェクトのアイコン画像とタイトルを設定する方法を示しています: -```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) -{ - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; - - IPPImage oleImage = pres.Images.AddImage(File.ReadAllBytes("image.png")); - oleObjectFrame.SubstitutePictureTitle = "私のタイトル"; - oleObjectFrame.SubstitutePictureFormat.Picture.Image = oleImage; - oleObjectFrame.IsObjectIcon = false; - - pres.Save("embeddedOle-newImage.pptx", SaveFormat.Pptx); -} -``` - -## **OLEオブジェクトフレームがリサイズおよび再配置されるのを防ぐ** - -プレゼンテーションスライドにリンクされたOLEオブジェクトを追加した後、PowerPointでプレゼンテーションを開くと、リンクを更新するように求められるメッセージが表示される場合があります。「リンクを更新」ボタンをクリックすると、OLEオブジェクトフレームのサイズや位置が変更されることがあります。これは、PowerPointがリンクされたOLEオブジェクトからデータを更新し、オブジェクトプレビューをリフレッシュするからです。PowerPointがオブジェクトのデータを更新するように促すのを防ぐには、[IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/)インターフェースの`UpdateAutomatic`プロパティを`false`に設定します: - -```cs -oleObjectFrame.UpdateAutomatic = false; -``` - -## **埋め込まれたファイルの抽出** - -Aspose.Slides for .NETを使用すると、OLEオブジェクトとしてスライドに埋め込まれたファイルを次のように抽出できます: -1. 抽出したいOLEオブジェクトを含む[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. プレゼンテーション内のすべての形状をループし、[OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)形状にアクセスします。 -3. OLEオブジェクトフレームから埋め込まれたファイルのデータにアクセスし、ディスクに書き込みます。 -このC#コードは、スライドに埋め込まれたファイルをOLEオブジェクトとして抽出する方法を示しています: -```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) -{ - ISlide slide = pres.Slides[0]; - - for (var index = 0; index < slide.Shapes.Count; index++) - { - IShape shape = slide.Shapes[index]; - - IOleObjectFrame oleFrame = shape as IOleObjectFrame; - - if (oleFrame != null) - { - byte[] data = oleFrame.EmbeddedData.EmbeddedFileData; - string extension = oleFrame.EmbeddedData.EmbeddedFileExtension; - - File.WriteAllBytes($"oleFrame{index}{extension}", data); - } - } -} -``` \ No newline at end of file +--- +title: C# を使用したプレゼンテーションの OLE 管理 +linktitle: OLE の管理 +type: docs +weight: 40 +url: /ja/net/manage-ole/ +keywords: +- OLE オブジェクト +- オブジェクト リンキングとエンベディング +- OLE の追加 +- OLE の埋め込み +- オブジェクトの追加 +- オブジェクトの埋め込み +- ファイルの追加 +- ファイルの埋め込み +- リンクされたオブジェクト +- リンクされたファイル +- OLE の変更 +- OLE アイコン +- OLE タイトル +- OLE の抽出 +- オブジェクトの抽出 +- ファイルの抽出 +- PowerPoint +- プレゼンテーション +- .NET +- C# +- Aspose.Slides +description: "Aspose.Slides for .NET を使用して、PowerPoint および OpenDocument ファイル内の OLE オブジェクト管理を最適化します。OLE コンテンツをシームレスに埋め込み、更新、エクスポートできます。" +--- + +{{% alert title="Info" color="info" %}} + +OLE(Object Linking & Embedding)は、あるアプリケーションで作成したデータやオブジェクトを、リンクまたは埋め込みにより別のアプリケーションに配置できる Microsoft の技術です。 + +{{% /alert %}} + +Microsoft Excel で作成したチャートを考えてみてください。そのチャートを PowerPoint のスライドに配置します。この Excel のチャートは OLE オブジェクトと見なされます。 + +- OLE オブジェクトはアイコンとして表示されることがあります。この場合、アイコンをダブルクリックすると、チャートは関連付けられたアプリケーション(Excel)で開かれるか、オブジェクトの開閉や編集に使用するアプリケーションの選択を求められます。 +- OLE オブジェクトは実際の内容(たとえばチャートの内容)を表示することもあります。この場合、PowerPoint 内でチャートがアクティブになり、チャート インターフェイスがロードされ、PowerPoint 上でチャートのデータを変更できます。 + +[Aspose.Slides for .NET](https://products.aspose.com/slides/net/) を使用すると、スライドに OLE オブジェクトを OLE オブジェクト フレーム([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe))として挿入できます。 + +## **Adding OLE Object Frames to Slides** + +Microsoft Excel で既にチャートを作成し、Aspose.Slides for .NET を使用して OLE オブジェクト フレームとしてスライドに埋め込みたい場合、次の手順で実行できます。 + +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. インデックスを使用してスライドの参照を取得します。 +3. Excel ファイルをバイト配列として読み取ります。 +4. バイト配列と OLE オブジェクトに関するその他の情報を含む [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) をスライドに追加します。 +5. 変更されたプレゼンテーションを PPTX ファイルとして保存します。 + +以下の例では、Excel ファイルからチャートを取得し、Aspose.Slides for .NET を使用して [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) としてスライドに追加しています。 +**Note** [OleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides.dom.ole/oleembeddeddatainfo/) のコンストラクタは、2 番目のパラメータとして埋め込み可能なオブジェクト拡張子を受け取ります。この拡張子により、PowerPoint はファイルタイプを正しく解釈し、適切なアプリケーションで OLE オブジェクトを開くことができます。 +```csharp +using (Presentation presentation = new Presentation()) +{ + SizeF slideSize = presentation.SlideSize.Size; + ISlide slide = presentation.Slides[0]; + + // OLE オブジェクト用のデータを準備します。 + byte[] fileData = File.ReadAllBytes("book.xlsx"); + IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(fileData, "xlsx"); + + // スライドに OLE オブジェクト フレームを追加します。 + slide.Shapes.AddOleObjectFrame(0, 0, slideSize.Width, slideSize.Height, dataInfo); + + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +### **Adding Linked OLE Object Frames** + +Aspose.Slides for .NET を使用すると、データを埋め込まずにファイルへのリンクだけで [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) を追加できます。 + +以下の C# コードは、リンクされた Excel ファイルを使用してスライドに [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) を追加する方法を示しています。 +```csharp +using (Presentation presentation = new Presentation()) +{ + ISlide slide = presentation.Slides[0]; + + // リンクされた Excel ファイルを使用した OLE オブジェクト フレームを追加します。 + slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book.xlsx"); + + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +## **Accessing OLE Object Frames** + +スライドに OLE オブジェクトが既に埋め込まれている場合、次の手順で簡単に検索または取得できます。 + +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成して、埋め込まれた OLE オブジェクトを含むプレゼンテーションを読み込みます。 +2. インデックスを使用してスライドの参照を取得します。 +3. [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) シェイプにアクセスします。 + 例では、最初のスライドに 1 つだけシェイプがある既存の PPTX を使用しました。そのシェイプを [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe) に *cast* して、目的の OLE オブジェクト フレームを取得しました。 +4. OLE オブジェクト フレームにアクセスできたら、任意の操作を実行できます。 + +以下の例では、OLE オブジェクト フレーム(スライドに埋め込まれた Excel チャート オブジェクト)とそのファイル データにアクセスしています。 +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + // 最初のシェイプを OLE オブジェクト フレームとして取得します。 + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; + + if (oleFrame != null) + { + // 埋め込みファイル データを取得します。 + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + + // 埋め込みファイルの拡張子を取得します。 + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + + // ... + } +} +``` + + +### **Accessing Linked OLE Object Frame Properties** + +Aspose.Slides を使用すると、リンクされた OLE オブジェクト フレームのプロパティにアクセスできます。 + +以下の C# コードは、OLE オブジェクトがリンクされているかどうかを確認し、リンク先ファイルへのパスを取得する方法を示しています。 +```csharp +using (Presentation presentation = new Presentation("sample.ppt")) +{ + ISlide slide = presentation.Slides[0]; + + // 最初のシェイプを OLE オブジェクト フレームとして取得します。 + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; + + // OLE オブジェクトがリンクされているか確認します。 + if (oleFrame != null && oleFrame.IsObjectLink) + { + // リンクされたファイルへのフルパスを出力します。 + Console.WriteLine("OLE object frame is linked to: " + oleFrame.LinkPathLong); + + // リンクされたファイルへの相対パスがある場合に出力します。 + // 相対パスは PPT プレゼンテーションにのみ含まれます。 + if (!string.IsNullOrEmpty(oleFrame.LinkPathRelative)) + { + Console.WriteLine("OLE object frame relative path: " + oleFrame.LinkPathRelative); + } + } +} +``` + + +## **Changing OLE Object Data** + +{{% alert color="primary" %}} + +このセクションでは、以下のコード例で [Aspose.Cells for .NET](/cells/net/) を使用しています。 + +{{% /alert %}} + +スライドに OLE オブジェクトが既に埋め込まれている場合、次の手順でオブジェクトにアクセスしデータを変更できます。 + +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成して、埋め込まれた OLE オブジェクトを含むプレゼンテーションを読み込みます。 +2. インデックスを使用してスライドの参照を取得します。 +3. [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) シェイプにアクセスします。 + 例では、最初のスライドに 1 つだけシェイプがある PPTX を使用し、そのシェイプを [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe) に *cast* して目的のフレームを取得しました。 +4. OLE オブジェクト フレームにアクセスできたら、任意の操作を実行できます。 +5. `Workbook` オブジェクトを作成し、OLE データにアクセスします。 +6. 目的の `Worksheet` にアクセスし、データを修正します。 +7. 更新された `Workbook` をストリームに保存します。 +8. ストリームから OLE オブジェクト データを変更します。 + +以下の例では、OLE オブジェクト フレーム(スライドに埋め込まれた Excel チャート オブジェクト)にアクセスし、ファイル データを変更してチャート データを更新しています。 +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + // OLE オブジェクト フレームとして最初のシェイプを取得します。 + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; + + if (oleFrame != null) + { + using (MemoryStream oleStream = new MemoryStream(oleFrame.EmbeddedData.EmbeddedFileData)) + { + // OLE オブジェクト データを Workbook オブジェクトとして読み取ります。 + Workbook workbook = new Workbook(oleStream); + + using (MemoryStream newOleStream = new MemoryStream()) + { + // Workbook のデータを変更します。 + workbook.Worksheets[0].Cells[0, 4].PutValue("E"); + workbook.Worksheets[0].Cells[1, 4].PutValue(12); + workbook.Worksheets[0].Cells[2, 4].PutValue(14); + workbook.Worksheets[0].Cells[3, 4].PutValue(15); + + OoxmlSaveOptions fileOptions = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); + workbook.Save(newOleStream, fileOptions); + + // OLE フレーム オブジェクトのデータを変更します。 + IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(newOleStream.ToArray(), oleFrame.EmbeddedData.EmbeddedFileExtension); + oleFrame.SetEmbeddedData(newData); + } + } + } + + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +## **Embedding Other File Types in Slides** + +Excel チャート以外にも、Aspose.Slides for .NET を使用すると、HTML、PDF、ZIP などの他のファイル形式をスライドに埋め込むことができます。ユーザーが挿入されたオブジェクトをダブルクリックすると、関連するプログラムで自動的に開くか、適切なプログラムを選択するように求められます。 + +以下の C# コードは、HTML と ZIP をスライドに埋め込む方法を示しています。 +```c# +using (Presentation presentation = new Presentation()) +{ + ISlide slide = presentation.Slides[0]; + + byte[] htmlData = File.ReadAllBytes("sample.html"); + IOleEmbeddedDataInfo htmlDataInfo = new OleEmbeddedDataInfo(htmlData, "html"); + IOleObjectFrame htmlOleFrame = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, htmlDataInfo); + htmlOleFrame.IsObjectIcon = true; + + byte[] zipData = File.ReadAllBytes("sample.zip"); + IOleEmbeddedDataInfo zipDataInfo = new OleEmbeddedDataInfo(zipData, "zip"); + IOleObjectFrame zipOleFrame = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, zipDataInfo); + zipOleFrame.IsObjectIcon = true; + + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +## **Setting File Types for Embedded Objects** + +プレゼンテーションで作業する際、古い OLE オブジェクトを新しいものに置き換えたり、サポートされていない OLE オブジェクトをサポートされているものに置き換えたりする必要がある場合があります。Aspose.Slides for .NET を使用すると、埋め込みオブジェクトのファイル タイプを設定でき、OLE フレーム データや拡張子を更新できます。 + +以下の C# コードは、埋め込まれた OLE オブジェクトのファイル タイプを `zip` に設定する方法を示しています。 +```c# +using (Presentation presentation = new Presentation("sample.pptx")) +{ + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + + Console.WriteLine($"Current embedded file extension is: {fileExtension}"); + + // ファイルタイプを ZIP に変更します。 + oleFrame.SetEmbeddedData(new OleEmbeddedDataInfo(fileData, "zip")); + + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +## **Setting Icon Images and Titles for Embedded Objects** + +OLE オブジェクトを埋め込むと、アイコン画像からなるプレビューが自動的に追加されます。このプレビューは、ユーザーが OLE オブジェクトにアクセスまたは開く前に表示されるものです。特定の画像とテキストをプレビューに使用したい場合、Aspose.Slides for .NET を使用してアイコン画像とタイトルを設定できます。 + +以下の C# コードは、埋め込まれたオブジェクトのアイコン画像とタイトルを設定する方法を示しています。 +```c# +using (Presentation presentation = new Presentation("sample.pptx")) +{ + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + // プレゼンテーションのリソースに画像を追加します。 + byte[] imageData = File.ReadAllBytes("image.png"); + IPPImage oleImage = presentation.Images.AddImage(imageData); + + // OLE プレビュー用にタイトルと画像を設定します。 + oleFrame.SubstitutePictureTitle = "My title"; + oleFrame.SubstitutePictureFormat.Picture.Image = oleImage; + oleFrame.IsObjectIcon = true; + + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +## **Prevent an OLE Object Frame from Being Resized and Pepositioned** + +リンクされた OLE オブジェクトをプレゼンテーション スライドに追加した後、PowerPoint でプレゼンテーションを開くと、リンクの更新を求めるメッセージが表示されることがあります。「Update Links」ボタンをクリックすると、PowerPoint がリンクされた OLE オブジェクトからデータを更新し、プレビューを再描画するため、OLE オブジェクト フレームのサイズや位置が変更されることがあります。PowerPoint がオブジェクトのデータ更新を促さないようにするには、[IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/) インターフェイスの `UpdateAutomatic` プロパティを `false` に設定します。 +```cs +oleFrame.UpdateAutomatic = false; +``` + + +## **Extracting Embedded Files** + +Aspose.Slides for .NET を使用すると、スライドに OLE オブジェクトとして埋め込まれたファイルを次の手順で抽出できます。 + +1. 埋め込まれた OLE オブジェクトを含む [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. プレゼンテーション内のすべてのシェイプをループし、[OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) シェイプにアクセスします。 +3. OLE オブジェクト フレームから埋め込みファイルのデータを取得し、ディスクに書き出します。 + +以下の C# コードは、スライドに埋め込まれたファイルを OLE オブジェクトとして抽出する方法を示しています。 +```c# +using (Presentation presentation = new Presentation("sample.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + for (int index = 0; index < slide.Shapes.Count; index++) + { + IShape shape = slide.Shapes[index]; + IOleObjectFrame oleFrame = shape as IOleObjectFrame; + + if (oleFrame != null) + { + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + + string filePath = $"OLE_object_{index}{fileExtension}"; + File.WriteAllBytes(filePath, fileData); + } + } +} +``` + + +## **FAQ** + +**Will the OLE content be rendered when exporting slides to PDF/images?** + +スライドに表示されているものがレンダリングされます—アイコンや代替画像(プレビュー)です。「ライブ」な OLE コンテンツはレンダリング時に実行されません。必要に応じて独自のプレビュー画像を設定し、エクスポートされた PDF で期待通りの外観になるようにしてください。 + +**How can I lock an OLE object on a slide so users cannot move/edit it in PowerPoint?** + +シェイプをロックします。Aspose.Slides は [shape-level locks](/slides/ja/net/applying-protection-to-presentation/) を提供しています。これは暗号化ではありませんが、誤って編集や移動されるのを実質的に防止します。 + +**Why does a linked Excel object "jump" or change size when I open the presentation?** + +PowerPoint がリンクされた OLE のプレビューを更新するためです。安定した外観を保つには、[Working Solution for Worksheet Resizing](/slides/ja/net/working-solution-for-worksheet-resizing/) の手順に従い、フレームを範囲に合わせるか、範囲を固定フレームに合わせて適切な代替画像を設定してください。 + +**Will relative paths for linked OLE objects be preserved in the PPTX format?** + +PPTX 形式では「相対パス」情報は保持されず、フル パスのみが保存されます。相対パスは古い PPT 形式でのみ利用可能です。ポータビリティを確保するには、信頼できる絶対パスまたはアクセス可能な URI、または埋め込みを使用することを推奨します。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-text/animated-text/_index.md b/ja/net/developer-guide/presentation-content/manage-text/animated-text/_index.md index f76d706bb0..ae35fbc7f3 100644 --- a/ja/net/developer-guide/presentation-content/manage-text/animated-text/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-text/animated-text/_index.md @@ -3,22 +3,21 @@ title: アニメーションテキスト type: docs weight: 60 url: /ja/net/animated-text/ -keywords: "アニメーションテキスト, アニメーション効果, PowerPointプレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C#または.NETでPowerPointプレゼンテーションにアニメーションテキストと効果を追加する" +keywords: "アニメーションテキスト, アニメーション効果, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" +description: "C# または .NET で PowerPoint プレゼンテーションにアニメーションテキストと効果を追加します" --- -## 段落にアニメーション効果を追加する - -[**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) メソッドを [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) と [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence) クラスに追加しました。このメソッドを使用すると、単一の段落にアニメーション効果を追加できます。このサンプルコードは、単一の段落にアニメーション効果を追加する方法を示しています: +## **段落へのアニメーション効果の追加** +We added the [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) method to the [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) and [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence) classes. This method allows you to add animation effects to a single paragraph. This sample code shows you how to add an animation effect to a single paragraph: ```c# using (Presentation presentation = new Presentation(dataDir + "Presentation1.pptx")) { - // 効果を追加する段落を選択 + // エフェクトを追加する段落を選択 IAutoShape autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; - // 選択した段落にフライアニメーション効果を追加 + // 選択した段落に Fly アニメーション効果を追加 IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(paragraph, EffectType.Fly, EffectSubtype.Left, EffectTriggerType.OnClick); @@ -27,13 +26,11 @@ using (Presentation presentation = new Presentation(dataDir + "Presentation1.ppt ``` +## **段落内のアニメーション効果の取得** -## 段落内のアニメーション効果を取得する - -段落に追加されたアニメーション効果を調べることを決定するかもしれません。例えば、あるシナリオでは、別の段落や図形にそれらの効果を適用する計画があるため、段落のアニメーション効果を取得したいと思います。 - -Aspose.Slides for .NETを使用すると、テキストフレーム(図形)に含まれる段落に適用されたすべてのアニメーション効果を取得できます。このサンプルコードは、段落のアニメーション効果を取得する方法を示しています: +You may decide to find out the animation effects added to a paragraph—for example, in one scenario, you want to get the animation effects in a paragraph because you plan to apply those effects to another paragraph or shape. +Aspose.Slides for .NET allows you to get all the animation effects applied to paragraphs contained in a text frame (shape). This sample code shows you how to get the animation effects in a paragraph: ```c# using (Presentation pres = new Presentation("Test.pptx")) { @@ -45,7 +42,22 @@ using (Presentation pres = new Presentation("Test.pptx")) IEffect[] effects = sequence.GetEffectsByParagraph(paragraph); if (effects.Length > 0) - Console.WriteLine("段落 \"" + paragraph.Text + "\" には " + effects[0].Type + " 効果があります。"); + Console.WriteLine("Paragraph \"" + paragraph.Text + "\" has " + effects[0].Type + " effect."); } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**テキストアニメーションはスライドトランジションとどう違い、組み合わせることはできますか?** + +Text animations control object behavior over time on a slide, while [transitions](/slides/ja/net/slide-transition/) control how slides change. They’re independent and can be used together; playback order is governed by the animation timeline and the transition settings. + +**PDFや画像にエクスポートしたとき、テキストアニメーションは保持されますか?** + +No. PDF and raster images are static, so you’ll see a single state of the slide without motion. To keep movement, use [video](/slides/ja/net/convert-powerpoint-to-video/) or [HTML](/slides/ja/net/export-to-html5/) export. + +**レイアウトやスライドマスタでテキストアニメーションは機能しますか?** + +Effects applied to layout/master objects are inherited by slides, but their timing and interaction with slide-level animations depend on the final sequence on the slide. \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md b/ja/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md index 0b05d31212..7980365700 100644 --- a/ja/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md @@ -1,127 +1,152 @@ --- -title: プレゼンテーションからテキストを抽出する +title: C# におけるプレゼンテーションからの高度なテキスト抽出 +linktitle: テキスト抽出 type: docs weight: 90 url: /ja/net/extract-text-from-presentation/ -keywords: "スライドからテキストを抽出, PowerPointからテキストを抽出, C#, Csharp, Aspose.Slides for .NET" -description: "C#または.NETでスライドまたはPowerPointプレゼンテーションからテキストを抽出する" +keywords: +- テキスト抽出 +- スライドからテキスト抽出 +- プレゼンテーションからテキスト抽出 +- PowerPointからテキスト抽出 +- PPTからテキスト抽出 +- PPTXからテキスト抽出 +- ODPからテキスト抽出 +- C# +- .NET +- Aspose.Slides +description: ".NET 用 Aspose.Slides を使用して、PowerPoint プレゼンテーションからテキストを迅速かつ簡単に抽出する方法を学びます。シンプルなステップバイステップのガイドに従うことで、時間を節約し、アプリケーションでスライドコンテンツに効率的にアクセスできます。" --- -{{% alert color="primary" %}} +## **概要** -開発者がプレゼンテーションからテキストを抽出する必要があることは珍しくありません。そのためには、プレゼンテーションのすべてのスライドにあるすべてのシェイプからテキストを抽出する必要があります。この記事では、Aspose.Slidesを使用してMicrosoft PowerPoint PPTXプレゼンテーションからテキストを抽出する方法を説明します。テキストは以下の方法で抽出できます。 +プレゼンテーションからテキストを抽出することは、スライドコンテンツを扱う開発者にとって一般的でありながら重要な作業です。Microsoft PowerPoint の PPT または PPTX 形式、あるいは OpenDocument プレゼンテーション(ODP)を対象とする場合でも、テキストデータへのアクセスと取得は、分析、Automation、インデックス作成、またはコンテンツ移行の目的で重要になることがあります。 -- [1つのスライドからテキストを抽出する](/slides/ja/net/extracting-text-from-the-presentation/) -- [GetAllTextBoxesメソッドを使用してテキストを抽出する](/slides/ja/net/extracting-text-from-the-presentation/) -- [分類された高速なテキスト抽出](/slides/ja/net/extracting-text-from-the-presentation/) +本記事では、Aspose.Slides for .NET を使用して PPT、PPTX、ODP などのさまざまなプレゼンテーション形式からテキストを効率的に抽出する方法を包括的に解説します。プレゼンテーション要素を体系的に反復処理し、必要なテキストコンテンツを正確に取得する方法を学びます。 -{{% /alert %}} ## **スライドからテキストを抽出する** -Aspose.Slides for .NETは、SlideUtilクラスを含むAspose.Slides.Util名前空間を提供します。このクラスは、プレゼンテーションまたはスライドからすべてのテキストを抽出するためのオーバーロードされた静的メソッドをいくつか公開しています。 PPTXプレゼンテーションのスライドからテキストを抽出するには、 -SlideUtilクラスによって公開された[GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextboxes)オーバーロード済み静的メソッドを使用します。このメソッドは、Slideオブジェクトをパラメータとして受け取ります。 -実行すると、Slideメソッドはパラメータとして渡されたスライドからすべてのテキストをスキャンし、TextFrameオブジェクトの配列を返します。これは、テキストに関連付けられたフォーマット情報が利用可能であることを意味します。以下のコードは、プレゼンテーションの最初のスライドのすべてのテキストを抽出します。 -```c# -//PPTXファイルを表すPresentationクラスをインスタンス化 -Presentation pptxPresentation = new Presentation("demo.pptx"); +Aspose.Slides for .NET は、[Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/) 名前空間を提供し、その中に [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/) クラスがあります。このクラスは、プレゼンテーションまたはスライド全体からテキストを抽出するための、複数のオーバーロードされた静的メソッドを公開しています。プレゼンテーション内のスライドからテキストを抽出するには、[GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextboxes/) メソッドを使用します。このメソッドは、[ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) 型のオブジェクトをパラメータとして受け取ります。実行すると、メソッドはスライド全体を走査してテキストを検索し、[ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) 型のオブジェクト配列を返し、テキストの書式情報を保持します。 -//PPTXのすべてのスライドからITextFrameオブジェクトの配列を取得 -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +以下のコードスニペットは、プレゼンテーションの最初のスライドからすべてのテキストを抽出します。 +```cs +int slideIndex = 0; -//TextFramesの配列をループ -for (int i = 0; i < textFramesPPTX.Length; i++) +// プレゼンテーションファイル (PPT、PPTX、ODP など) を表す Presentation クラスのインスタンスを作成します。 +using Presentation presentation = new Presentation("demo.pptx"); + +// スライドへの参照を取得します。 +ISlide slide = presentation.Slides[slideIndex]; + +// スライドからテキストフレームの配列を取得します。 +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextBoxes(slide); + +// テキストフレームの配列をループ処理します。 +for (int i = 0; i < textFrames.Length; i++) { - //現在のITextFrameの段落をループ - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) - { - //現在のIParagraphの部分をループ - foreach (IPortion port in para.Portions) - { - //現在の部分のテキストを表示 - Console.WriteLine(port.Text); - - //テキストのフォント高さを表示 - Console.WriteLine(port.PortionFormat.FontHeight); - - //テキストのフォント名を表示 - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } - } + // 現在のテキストフレーム内の段落をループ処理します。 + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // 現在の段落内のテキスト部分をループ処理します。 + foreach (IPortion portion in paragraph.Portions) + { + // 現在のテキスト部分のテキストを表示します。 + Console.WriteLine(portion.Text); + + // テキストのフォント高さを表示します。 + Console.WriteLine(portion.PortionFormat.FontHeight); + + // テキストのフォント名を表示します。 + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } } ``` - - ## **プレゼンテーションからテキストを抽出する** -プレゼンテーション全体からテキストをスキャンするには、 -SlideUtilクラスによって公開された[GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextframes)静的メソッドを使用します。このメソッドは2つのパラメータを取ります: -1. 最初に、テキストが抽出されるPPTXプレゼンテーションを表すPresentationオブジェクト。 -1. 2番目に、プレゼンテーションからテキストをスキャンする際にマスタースライドを含めるかどうかを決定するBoolean値。 - このメソッドは、テキストフォーマット情報を含むTextFrameオブジェクトの配列を返します。以下のコードは、マスタースライドを含むプレゼンテーションからテキストとフォーマット情報をスキャンします。 +プレゼンテーション全体のテキストを走査するには、[SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/) クラスが提供する [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextframes/) 静的メソッドを使用します。このメソッドは 2 つのパラメータを受け取ります。 -```c# -//PPTXファイルを表すPresentationクラスをインスタンス化 -Presentation pptxPresentation = new Presentation("demo.pptx"); +1. 最初に、テキストを抽出する対象となる PowerPoint または OpenDocument プレゼンテーションを表す [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) オブジェクト。 +2. 次に、プレゼンテーションのテキストを走査する際にマスタースライドを含めるかどうかを示す `Boolean` 値。 -//PPTXのすべてのスライドからITextFrameオブジェクトの配列を取得 -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +このメソッドは、書式情報を含む [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) 型オブジェクトの配列を返します。以下のコードは、プレゼンテーション全体(マスタースライドを含む)のテキストと書式情報を走査します。 +```cs +// プレゼンテーションファイル (PPT、PPTX、ODP など) を表す Presentation クラスのインスタンスを作成します。 +using Presentation presentation = new Presentation("demo.pptx"); -//TextFramesの配列をループ -for (int i = 0; i < textFramesPPTX.Length; i++) +// プレゼンテーション内のすべてのスライドからテキストフレームの配列を取得します。 +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(presentation, true); - //現在のITextFrameの段落をループ - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) +// テキストフレームの配列をループ処理します。 +for (int i = 0; i < textFrames.Length; i++) +{ + // 現在のテキストフレーム内の段落をループ処理します。 + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // 現在の段落内のテキスト部分をループ処理します。 + foreach (IPortion portion in paragraph.Portions) + { + // 現在のテキスト部分のテキストを表示します。 + Console.WriteLine(portion.Text); + + // テキストのフォント高さを表示します。 + Console.WriteLine(portion.PortionFormat.FontHeight); + + // テキストのフォント名を表示します。 + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } +} +``` - //現在のIParagraphの部分をループ - foreach (IPortion port in para.Portions) - { - //現在の部分のテキストを表示 - Console.WriteLine(port.Text); - //テキストのフォント高さを表示 - Console.WriteLine(port.PortionFormat.FontHeight); +## **カテゴリ別かつ高速なテキスト抽出** - //テキストのフォント名を表示 - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } +[PresentationFactory](https://reference.aspose.com/slides/net/aspose.slides/presentationfactory/) クラスも、プレゼンテーションからすべてのテキストを抽出する静的メソッドを提供します。 +``` cs +IPresentationText GetPresentationText(string file, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode, ILoadOptions options); ``` +`[TextExtractionArrangingMode](https://reference.aspose.com/slides/net/aspose.slides/textextractionarrangingmode/)` 列挙体の引数は、テキスト抽出結果の整理方法を示し、以下の値に設定できます。 +- `Unarranged` - スライド上の位置を考慮しない生テキスト。 +- `Arranged` - スライド上の順序と同じ順序でテキストが配置されます。 +速度が重要な場合は `Unarranged` モードを使用できます。`Arranged` モードよりも高速です。 -## **分類された高速テキスト抽出** -Presentationクラスに新しい静的メソッドGetPresentationTextが追加されました。このメソッドには2つのオーバーロードがあります: +`[IPresentationText](https://reference.aspose.com/slides/net/aspose.slides/ipresentationtext/)` は、プレゼンテーションから抽出された生テキストを表します。`[Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/)` 名前空間の `SlidesText` プロパティを介して取得でき、`[ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/)` 型オブジェクトの配列を返します。各オブジェクトは対応するスライド上のテキストを表します。`[ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/)` 型のオブジェクトは以下のプロパティを持ちます。 -``` csharp -PresentationText GetPresentationText(Stream stream) -PresentationText GetPresentationText(Stream stream, ExtractionMode mode) +- `Text` - スライドのシェイプ内のテキスト。 +- `MasterText` - 該当スライドに関連付けられたマスタースライドのシェイプ内のテキスト。 +- `LayoutText` - 該当スライドに関連付けられたレイアウトスライドのシェイプ内のテキスト。 +- `NotesText` - 該当スライドのノートスライドのシェイプ内のテキスト。 +- `CommentsText` - 該当スライドに付随するコメント内のテキスト。 +```cs +IPresentationText text = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); +Console.WriteLine(text.SlidesText[0].Text); +Console.WriteLine(text.SlidesText[0].LayoutText); +Console.WriteLine(text.SlidesText[0].MasterText); +Console.WriteLine(text.SlidesText[0].NotesText); +Console.WriteLine(text.SlidesText[0].CommentsText); ``` -ExtractionMode列挙型の引数は、テキスト結果の出力を整理するモードを示し、以下の値に設定できます: -Unarranged - スライド上の位置を無視した生のテキスト -Arranged - スライド上の順序と同じ順序で配置されたテキスト -速度が重要な場合、Unarrangedモードが利用できます。これは、Arrangedモードよりも高速です。 +## **FAQ** + +**Aspose.Slides はテキスト抽出時に大規模なプレゼンテーションをどれくらい高速に処理できますか?** -PresentationTextは、プレゼンテーションから抽出された生のテキストを表します。これは、ISlideTextオブジェクトの配列を返すAspose.Slides.Util名前空間のSlidesTextプロパティを含みます。各オブジェクトは、対応するスライド上のテキストを表します。ISlideTextオブジェクトには以下のプロパティがあります: +Aspose.Slides は高性能に最適化されており、大規模なプレゼンテーションでも効率的に処理できるため、リアルタイムやバルク処理のシナリオに適しています。 -ISlideText.Text - スライドのシェイプ上のテキスト -ISlideText.MasterText - このスライドのマスターページのシェイプ上のテキスト -ISlideText.LayoutText - このスライドのレイアウトページのシェイプ上のテキスト -ISlideText.NotesText - このスライドのノートページのシェイプ上のテキスト +**Aspose.Slides はプレゼンテーション内の表やチャートからテキストを抽出できますか?** -SlideTextクラスもISlideTextインターフェースを実装しています。 +はい、Aspose.Slides は表、チャート、その他の複雑なスライド要素からテキストを抽出する機能を完全にサポートしており、すべてのテキストコンテンツに簡単にアクセスして分析できます。 -新しいAPIは次のように使用できます: +**プレゼンテーションからテキストを抽出するために特別な Aspose.Slides ライセンスは必要ですか?** -```c# -IPresentationText text1 = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); -Console.WriteLine(text1.SlidesText[0].Text); -Console.WriteLine(text1.SlidesText[0].LayoutText); -Console.WriteLine(text1.SlidesText[0].MasterText); -Console.WriteLine(text1.SlidesText[0].NotesText); -``` \ No newline at end of file +無料試用版でもテキスト抽出は可能ですが、処理できるスライド数に制限があります。制限なく大規模なプレゼンテーションを扱うには、フルライセンスの購入を推奨します。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md b/ja/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md index ff04224610..ac20758ccf 100644 --- a/ja/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md @@ -1,42 +1,56 @@ --- -title: 自動調整設定の管理 +title: C# の AutoFit でプレゼンテーションを強化する +linktitle: AutoFit 設定の管理 type: docs weight: 30 url: /ja/net/manage-autofit-settings/ -keywords: "テキストボックス, 自動調整, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C# または .NET で PowerPoint のテキストボックスの自動調整設定を設定する" +keywords: +- テキストボックス +- AutoFit +- 自動調整しない +- テキストに合わせる +- テキストを縮小 +- テキストの折り返し +- 図形のサイズ変更 +- PowerPoint +- プレゼンテーション +- C# +- .NET +- Aspose.Slides +description: "Aspose.Slides for .NET で AutoFit 設定を管理し、PowerPoint および OpenDocument のプレゼンテーションにおけるテキスト表示を最適化してコンテンツの可読性を向上させる方法を学びます。" --- -デフォルトでは、テキストボックスを追加すると、Microsoft PowerPoint はテキストボックスに対して **テキストに合わせて図形をサイズ変更** 設定を使用します—これは、テキストが常にテキストボックスに収まるように、自動的にテキストボックスのサイズを変更します。 +## **概要** -![textbox-in-powerpoint](textbox-in-powerpoint.png) +デフォルトでは、テキストボックスを追加すると、Microsoft PowerPoint はテキストボックスに対して **Resize shape to fit text** 設定を使用します。テキストが常に収まるようにテキストボックスのサイズが自動的に変更されます。 -* テキストボックス内のテキストが長くなったり大きくなったりすると、PowerPoint はテキストボックスを自動的に拡大し—高さを増加させて—より多くのテキストを保持できるようにします。 -* テキストボックス内のテキストが短くなったり小さくなったりすると、PowerPoint はテキストボックスを自動的に縮小し—高さを減少させて—無駄なスペースを取り除きます。 +![PowerPoint のテキストボックス](textbox-in-powerpoint.png) -PowerPoint では、テキストボックスの自動調整動作を制御するための 4 つの重要なパラメーターまたはオプションがあります: +* テキストボックス内のテキストが長くまたは大きくなると、PowerPoint はテキストボックスを自動的に拡大し(高さを増やし)、より多くのテキストを収められるようにします。 +* テキストボックス内のテキストが短くまたは小さくなると、PowerPoint はテキストボックスの高さを減らして自動的に縮小し、余分なスペースを取り除きます。 -* **自動調整しない** -* **オーバーフロー時にテキストを縮小** -* **テキストに合わせて図形をサイズ変更** -* **形状内でテキストを折り返す。** +PowerPoint では、テキストボックスの AutoFit 動作を制御する重要な 4 つのパラメータまたはオプションがあります: -![autofit-options-powerpoint](autofit-options-powerpoint.png) +* **Do not Autofit** +* **Shrink text on overflow** +* **Resize shape to fit text** +* **Wrap text in shape** -Aspose.Slides for .NET では、プレゼンテーション内のテキストボックスの自動調整動作を制御できる、[TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) クラスのいくつかのプロパティに類似したオプションが提供されます。 +![PowerPoint の AutoFit オプション](autofit-options-powerpoint.png) -## **テキストに合わせて図形をサイズ変更** +Aspose.Slides for .NET は、プレゼンテーション内のテキストボックスの AutoFit 動作を制御できる、[TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) クラスのプロパティという形で、同様のオプションを提供します。 -ボックス内のテキストが変更されても常にそのボックスに収まるようにしたい場合は、**テキストに合わせて図形をサイズ変更** オプションを使用する必要があります。この設定を指定するには、[AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) プロパティ([TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) クラスから)を `Shape` に設定します。 +## **テキストに合わせて図形のサイズを変更** -![alwaysfit-setting-powerpoint](alwaysfit-setting-powerpoint.png) +ボックス内のテキストを常にそのボックスに合わせたい場合は、**Resize shape to fit text** オプションを使用する必要があります。この設定を指定するには、[TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) クラスの `AutofitType` プロパティを `Shape` に設定します。 -この C# コードは、PowerPoint プレゼンテーション内でテキストが常にボックスに収まるように指定する方法を示しています: +![PowerPoint の「テキストに合わせて図形のサイズを変更」設定](alwaysfit-setting-powerpoint.png) +この C# コードは、PowerPoint プレゼンテーションでテキストが常にボックスに収まるように指定する方法を示しています: ```c# - using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -47,24 +61,24 @@ Aspose.Slides for .NET では、プレゼンテーション内のテキストボ ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Shape; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -テキストが長くなったり大きくなったりした場合、テキストボックスは自動的にリサイズされ(高さが増加し)、すべてのテキストが収まるようにします。テキストが短くなると、反対のことが起こります。 -## **自動調整しない** +テキストが長くまたは大きくなると、テキストボックスは自動的にサイズ変更(高さが増加)され、すべてのテキストが収まるようになります。テキストが短くなると、逆の処理が行われます。 -テキストが変更されてもテキストボックスや図形の寸法を保持したい場合は、**自動調整しない** オプションを使用する必要があります。この設定を指定するには、[AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) プロパティ([TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) クラスから)を `None` に設定します。 +## **自動調整しない** -![donotautofit-setting-powerpoint](donotautofit-setting-powerpoint.png) +テキストボックスや図形のサイズを、テキストの変更に関係なく保持したい場合は、**Do not Autofit** オプションを使用する必要があります。この設定を指定するには、[TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) クラスの `AutofitType` プロパティを `None` に設定します。 -この C# コードは、PowerPoint プレゼンテーション内でテキストボックスが常にその寸法を保持するように指定する方法を示しています: +![PowerPoint の「自動調整しない」設定](donotautofit-setting-powerpoint.png) +この C# コードは、PowerPoint プレゼンテーションでテキストボックスが常にサイズを保持するように指定する方法を示しています: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -75,24 +89,24 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.None; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -テキストがボックスに対して長すぎる場合、テキストはあふれ出します。 -## **オーバーフロー時にテキストを縮小** +テキストがボックスに対して長くなりすぎると、テキストがはみ出します。 -テキストがボックスに対して長すぎる場合、**オーバーフロー時にテキストを縮小** オプションを使用すると、テキストのサイズと間隔を減少させて、ボックスに収まるように指定できます。この設定を指定するには、[AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) プロパティ([TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) クラスから)を `Normal` に設定します。 +## **オーバーフロー時にテキストを縮小** -![shrinktextonoverflow-setting-powerpoint](shrinktextonoverflow-setting-powerpoint.png) +テキストがボックスに対して長くなりすぎた場合、**Shrink text on overflow** オプションを使用して、テキストのサイズと行間を縮小し、ボックスに収めることができます。この設定を指定するには、[TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) クラスの `AutofitType` プロパティを `Normal` に設定します。 -この C# コードは、PowerPoint プレゼンテーション内でテキストがオーバーフロー時に縮小されるように指定する方法を示しています: +![PowerPoint の「オーバーフロー時にテキストを縮小」設定](shrinktextonoverflow-setting-powerpoint.png) +この C# コードは、PowerPoint プレゼンテーションでテキストがオーバーフローしたときに縮小されるように指定する方法を示しています: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -103,26 +117,24 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Normal; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="情報" color="info" %}} - -**オーバーフロー時にテキストを縮小** オプションが使用される場合、設定はテキストがボックスに対して長すぎる場合にのみ適用されます。 +{{% alert title="Info" color="info" %}} +**Shrink text on overflow** オプションが使用されると、テキストがボックスの幅を超えた場合にのみ設定が適用されます。 {{% /alert %}} -## **テキストを折り返す** - -テキストが形状の境界を超える場合(幅のみ)にテキストをその形状内で折り返したい場合は、**形状内でテキストを折り返す** パラメーターを使用する必要があります。この設定を指定するには、[WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/wraptext) プロパティ([TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) クラスから)を `true` に設定する必要があります。 +## **テキストの折り返し** -この C# コードは、PowerPoint プレゼンテーション内でテキストの折り返し設定を使用する方法を示しています: +テキストが図形の幅を超えたときに、テキストをその図形内で折り返したい場合は、**Wrap text in shape** パラメータを使用します。この設定を指定するには、[TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) クラスの `WrapText` プロパティを `NullableBool.True` に設定します。 +この C# コードは、PowerPoint プレゼンテーションでテキストの折り返し設定を使用する方法を示しています: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -133,12 +145,25 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.WrapText = NullableBool.True; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="注意" color="warning" %}} -形状の `WrapText` プロパティを `False` に設定すると、形状内のテキストが形状の幅を超えて長くなると、テキストは 1 行で形状の境界を超えて延長されます。 +{{% alert title="Note" color="warning" %}} +`WrapText` プロパティを `NullableBool.False` に設定した場合、図形内のテキストが図形の幅より長くなると、テキストは単一行で図形の境界を超えて伸びます。 +{{% /alert %}} + +## **よくある質問** + +**テキスト フレームの内部余白は AutoFit に影響しますか?** + +はい。パディング(内部余白)はテキストの使用可能領域を減らすため、AutoFit が早期に作動し、フォントが縮小されたり図形がリサイズされたりします。AutoFit を調整する前に余白を確認し、必要に応じて調整してください。 + +**AutoFit は手動改行やソフト改行とどのように連動しますか?** + +強制改行はそのまま保持され、AutoFit はそれらの周囲でフォントサイズや行間を調整します。不要な改行を削除すると、AutoFit が過度にテキストを縮小する必要が減ります。 + +**テーマフォントの変更やフォント置換は AutoFit の結果に影響しますか?** -{{% /alert %}} \ No newline at end of file +はい。字形メトリクスが異なるフォントに置換すると、テキストの幅や高さが変わり、最終的なフォントサイズや改行位置が変化する可能性があります。フォントを変更または置換した後は、必ずスライドを再確認してください。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md b/ja/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md index a233441b06..aa17203199 100644 --- a/ja/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md @@ -3,57 +3,56 @@ title: 箇条書きと番号付きリストの管理 type: docs weight: 70 url: /ja/net/manage-bullet-and-numbered-lists -keywords: "箇条書き, 箇条書きリスト, 番号, 番号付きリスト, 画像の箇条書き, 階層付き箇条書き, PowerPointプレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C#または.NETでPowerPointプレゼンテーションに箇条書きと番号付きリストを作成する" +keywords: "箇条書き, 箇条書きリスト, 番号, 番号付きリスト, 画像箇条書き, 多層箇条書き, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" +description: "PowerPoint プレゼンテーションで C# または .NET を使用して箇条書きと番号付きリストを作成する" --- -**Microsoft PowerPoint**では、Wordや他のテキストエディタと同様に箇条書きや番号付きリストを作成できます。 **Aspose.Slides for .NET**でも、プレゼンテーションのスライドで箇条書きや番号を使用できます。 +In **Microsoft PowerPoint**では、Word や他のテキストエディタと同じ方法で箇条書きや番号付きリストを作成できます。**Aspose.Slides for .NET** でもプレゼンテーションのスライドで箇条書きや番号を使用できます。 -### 箇条書きを使用する理由 +## **箇条書きを使用する理由** -箇条書きは、情報を迅速かつ効率的に整理し、提示するのに役立ちます。 +箇条書きは情報を迅速かつ効率的に整理・提示するのに役立ちます。 **箇条書きの例** -ほとんどの場合、箇条書きは次の3つの主要な機能を果たします: +ほとんどの場合、箇条書きは次の 3 つの主な機能を果たします: -- 読者や視聴者の注意を重要な情報に引き付ける +- 読者や視聴者の注意を重要な情報に引きつける - 読者や視聴者が重要なポイントを簡単にスキャンできるようにする -- 重要な詳細を効率的に伝達する +- 重要な詳細を効率的に伝達する。 -### 番号付きリストを使用する理由 +## **番号付きリストを使用する理由** -番号付きリストも情報を整理し提示するのに役立ちます。理想的には、項目の順序(例:*ステップ1、ステップ2*)が重要な場合や、項目に参照を付ける必要がある場合(例:*ステップ3を参照*)、番号(箇条書きの代わりに)を使用すべきです。 +番号付きリストも情報の整理と提示に役立ちます。エントリの順序(例: *step 1、step 2* など)が重要な場合や、エントリを参照する必要がある場合(例: *see step 3*)は、箇条書きの代わりに番号を使用すべきです。 **番号付きリストの例** -以下は、**箇条書き作成手順**のステップ(ステップ1からステップ15)の概要です: +以下の **Creating Bullets** 手順におけるステップ(step 1 から step 15) の概要です: -1. プレゼンテーションクラスのインスタンスを作成する。 -2. いくつかのタスクを実行する(ステップ3からステップ14)。 -3. プレゼンテーションを保存する。 +1. プレゼンテーション クラスのインスタンスを作成します。 +2. いくつかのタスクを実行します(step 3 から step 14)。 +3. プレゼンテーションを保存します。 -## 箇条書きの作成 +## **箇条書きの作成** -箇条書きを作成するには、次の手順に従います: +箇条書きリストを作成するには、以下の手順を実行します: -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成する。 -2. スライドコレクション内の箇条書きリストを追加したいスライドに[ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index)オブジェクトを介してアクセスする。 -3. 選択したスライドに[AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape)を追加する。 -4. 追加した形状の[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)にアクセスする。 -5. [TextFrame]()内のデフォルトの段落を削除する。 -6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph)クラスを使用して最初の段落インスタンスを作成する。 -8. 箇条書きの種類を記号に設定し、箇条書き文字を設定する。 -9. 段落のテキストを設定する。 -10. 箇条書きを設定するために段落のインデントを設定する。 -11. 箇条書きの色を設定する。 -12. 箇条書きの高さを設定する。 -13. 作成した段落を[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)の段落コレクションに追加する。 -14. 2番目の段落を追加し、手順7-12を繰り返す。 -15. プレゼンテーションを保存する。 - -以下のC#のサンプルコードは、上記の手順を実装したもので、スライドに箇条書きを作成する方法を示します: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index) オブジェクトを介して、スライド コレクション内の(箇条書きリストを追加したい)スライドにアクセスします。 +3. 選択したスライドに [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) を追加します。 +4. 追加したシェイプの [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) にアクセスします。 +5. [TextFrame]() 内のデフォルト段落を削除します。 +6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) クラスを使用して最初の段落インスタンスを作成します。 +8. 箇条書きの種類を Symbol に設定し、次に箇条書き文字を設定します。 +9. 段落テキストを設定します。 +10. 箇条書きを設定するために段落インデントを設定します。 +11. 箇条書きの色を設定します。 +12. 箇条書きの高さを設定します。 +13. 作成した段落を [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) の段落コレクションに追加します。 +14. 2 番目の段落を追加し、ステップ 7〜12 を繰り返します。 +15. プレゼンテーションを保存します。 +上記の手順を実装した C# のサンプルコードは、スライドで箇条書きリストを作成する方法を示します: ```c# using (Presentation pres = new Presentation()) { @@ -79,38 +78,36 @@ using (Presentation pres = new Presentation()) } ``` -## 画像の箇条書きの作成 - -Aspose.Slides for .NETでは、箇条書きリストの箇条書きを変更できます。箇条書きをカスタム記号や画像に置き換えることができます。リストに視覚的な興味を追加したり、リスト内の項目にさらに注意を引いたりしたい場合は、自分の画像を箇条書きとして使用できます。 - {{% alert color="primary" %}} +## **画像箇条書きの作成** -理想的には、通常の箇条書き記号を画像に置き換える意図がある場合は、透過的な背景を持つシンプルなグラフィック画像を選択した方が良いでしょう。このような画像はカスタム箇条書き記号として最適です。 +Aspose.Slides for .NET を使用すると、箇条書きリストの箇条書きを変更できます。箇条書きをカスタムシンボルや画像に置き換えることができます。リストに視覚的な興味を加えたり、項目への注意をさらに引きつけたい場合は、独自の画像を箇条書きとして使用できます。 -いずれにせよ、選択した画像は非常に小さなサイズに縮小されるため、箇条書き記号の代わりとしてリストで見栄えの良い画像を選択することを強くお勧めします。 +{{% alert color="primary" %}} +理想的には、通常の箇条書きシンボルを画像に置き換える場合、透過背景のシンプルな画像を選択すると良いでしょう。このような画像はカスタム箇条書きシンボルとして最適です。 +いずれにせよ、選択した画像は非常に小さなサイズに縮小されるため、リスト内で箇条書きシンボルの代替として見栄えの良い画像を選択することを強く推奨します。 {{% /alert %}} -画像の箇条書きを作成するには、次の手順に従います: - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成する。 -2. スライドコレクション内の任意のスライドに[ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index)オブジェクトを使用してアクセスする。 -3. 選択したスライドに[AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape)を追加する。 -4. 追加した形状の[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)にアクセスする。 -5. [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)内のデフォルトの段落を削除する。 -6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph)クラスを使用して最初の段落インスタンスを作成する。 -7. ディスクから画像を読み込み、[Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images)に追加し、[AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index)メソッドから返された[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)インスタンスを使用する。 -8. 箇条書きの種類を画像に設定し、画像を設定する。 -9. 段落のテキストを設定する。 -10. 箇条書きを設定するために段落のインデントを設定する。 -11. 箇条書きの色を設定する。 -12. 箇条書きの高さを設定する。 -13. 作成した段落を[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)の段落コレクションに追加する。 -14. 2番目の段落を追加し、手順7-13を繰り返す。 -15. プレゼンテーションを保存する。 - -このC#コードは、スライドに画像の箇条書きを作成する方法を示しています: - +画像箇条書きを作成するには、以下の手順を実行します: + +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index) オブジェクトを使用してスライド コレクション内の目的のスライドにアクセスします。 +3. 選択したスライドに [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) を追加します。 +4. 追加したシェイプの [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) にアクセスします。 +5. [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) のデフォルト段落を削除します。 +6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) クラスを使用して最初の段落インスタンスを作成します。 +7. ディスクから画像をロードし、[Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images) に追加し、次に [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index) メソッドが返す [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) インスタンスを使用します。 +8. 箇条書きの種類を Picture に設定し、画像を設定します。 +9. 段落テキストを設定します。 +10. 箇条書きを設定するために段落インデントを設定します。 +11. 箇条書きの色を設定します。 +12. 箇条書きの高さを設定します。 +13. 作成した段落を [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) の段落コレクションに追加します。 +14. 2 番目の段落を追加し、ステップ 7〜13 を繰り返します。 +15. プレゼンテーションを保存します。 + +この C# のコードは、スライドで画像箇条書きを作成する方法を示します: ```c# using (Presentation pres = new Presentation()) { @@ -136,24 +133,24 @@ using (Presentation pres = new Presentation()) } ``` -## 階層付き箇条書きの作成 -異なるレベルの項目を含む箇条書きリスト—メインの箇条書きリストの下にある追加リスト—を作成するには、次の手順に従います: +## **多層箇条書きの作成** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成する。 -2. スライドコレクション内の任意のスライドに[ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index)オブジェクトを使用してアクセスする。 -3. 選択したスライドに[AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape)を追加する。 -4. 追加した形状の[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)にアクセスする。 -5. [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)内のデフォルトの段落を削除する。 -6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph)クラスを使用して深さを0に設定した最初の段落インスタンスを作成する。 -7. [Paragraph]クラスを使用して深さを1に設定した2番目の段落インスタンスを作成する。 -8. [Paragraph]クラスを使用して深さを2に設定した3番目の段落インスタンスを作成する。 -9. [Paragraph]クラスを使用して深さを3に設定した4番目の段落インスタンスを作成する。 -10. 作成した段落を[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)の段落コレクションに追加する。 -11. プレゼンテーションを保存する。 +異なるレベルの項目(メイン箇条書きの下に追加リスト)を含む箇条書きリストを作成するには、以下の手順を実行します: -以下のコードは、上記の手順を実装したもので、C#で階層付き箇条書きリストを作成する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index) オブジェクトを使用してスライド コレクション内の目的のスライドにアクセスします。 +3. 選択したスライドに [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) を追加します。 +4. 追加したシェイプの [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) にアクセスします。 +5. [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) のデフォルト段落を削除します。 +6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) クラスを使用し、深さを 0 に設定して最初の段落インスタンスを作成します。 +7. Paragraph クラスを使用し、深さを 1 に設定して2 番目の段落インスタンスを作成します。 +8. Paragraph クラスを使用し、深さを 2 に設定して3 番目の段落インスタンスを作成します。 +9. Paragraph クラスを使用し、深さを 3 に設定して4 番目の段落インスタンスを作成します。 +10. 作成した段落を [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) の段落コレクションに追加します。 +11. プレゼンテーションを保存します。 +上記の手順を実装したこのコードは、C# で多層箇条書きリストを作成する方法を示します: ```c# using (Presentation pres = new Presentation()) { @@ -186,10 +183,10 @@ using (Presentation pres = new Presentation()) } ``` -## 番号の作成 -以下のC#コードは、スライドに番号付きリストを作成する方法を示しています: +## **番号の作成** +この C# のコードは、スライドで番号付きリストを作成する方法を示します: ```c# using (Presentation pres = new Presentation()) { @@ -212,4 +209,19 @@ using (Presentation pres = new Presentation()) pres.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Aspose.Slidesで作成した箇条書きや番号付きリストは、PDFや画像などの他の形式にエクスポートできますか?** + +はい。Aspose.Slides は、プレゼンテーションを PDF、画像などの形式にエクスポートする際、箇条書きや番号付きリストの書式と構造を完全に保持し、一貫した結果を保証します。 + +**既存のプレゼンテーションから箇条書きや番号付きリストをインポートできますか?** + +はい。Aspose.Slides は、既存のプレゼンテーションから箇条書きや番号付きリストをインポートして編集でき、元の書式や外観を保持します。 + +**Aspose.Slides は、複数の言語で作成されたプレゼンテーションの箇条書きや番号付きリストをサポートしていますか?** + +はい。Aspose.Slides は多言語プレゼンテーションを完全にサポートしており、特殊文字や非ラテン文字を含む任意の言語で箇条書きや番号付きリストを作成できます。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md b/ja/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md index d87c39e303..4a77a40705 100644 --- a/ja/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md @@ -1,394 +1,396 @@ --- -title: C#でPowerPointの段落を管理する +title: C# で PowerPoint の段落を管理する type: docs weight: 40 url: /ja/net/manage-paragraph/ -keywords: -- 段落の追加 -- 段落の管理 -- 段落のインデント -- 段落のプロパティ -- HTMLテキスト -- 段落テキストのエクスポート -- PowerPointプレゼンテーション +keywords: +- テキストを追加 +- 段落を追加 +- テキストを管理 +- 段落を管理 +- 段落インデント +- 段落箇条書き +- 番号付きリスト +- 段落プロパティ +- HTML のインポート +- テキストを HTML に変換 +- 段落を HTML に変換 +- 段落を画像に変換 +- 段落のエクスポート +- PowerPoint プレゼンテーション - C# - Csharp -- Aspose.Slides for .NET -description: "C#または.NETでPowerPointプレゼンテーションの段落、テキスト、インデント、およびプロパティを作成および管理します" +- .NET 用 Aspose.Slides +description: "C# または .NET で PowerPoint プレゼンテーションの段落を作成し、段落プロパティを管理する" --- -Aspose.Slidesは、C#でPowerPointのテキスト、段落、およびポーションを操作するために必要なすべてのインターフェースとクラスを提供します。 +Aspose.Slides は、C# で PowerPoint のテキスト、段落、ポーションを操作するために必要なすべてのインターフェイスとクラスを提供します。 -* Aspose.Slidesは、段落を表すオブジェクトを追加するための[ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/)インターフェースを提供します。`ITextFrame`オブジェクトは、1つまたは複数の段落を持つことができます(各段落はキャリッジリターンによって作成されます)。 -* Aspose.Slidesは、ポーションを表すオブジェクトを追加するための[IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/)インターフェースを提供します。`IParagraph`オブジェクトは、1つまたは複数のポーション(iPortionsオブジェクトのコレクション)を持つことができます。 -* Aspose.Slidesは、テキストとそのフォーマットプロパティを表すオブジェクトを追加するための[IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/)インターフェースを提供します。 +* Aspose.Slides は段落を表すオブジェクトを追加できるようにする [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) インターフェイスを提供します。`ITextFame` オブジェクトは 1 つまたは複数の段落を持つことができます(各段落は改行で作成されます)。 +* Aspose.Slides はポーションを表すオブジェクトを追加できるようにする [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) インターフェイスを提供します。`IParagraph` オブジェクトは 1 つまたは複数のポーション(iPortions オブジェクトのコレクション)を持つことができます。 +* Aspose.Slides はテキストとその書式プロパティを表すオブジェクトを追加できるようにする [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) インターフェイスを提供します。 -`IParagraph`オブジェクトは、基になる`IPortion`オブジェクトを介して異なるフォーマットプロパティを持つテキストを処理することができます。 +`IParagraph` オブジェクトは、基になる `IPortion` オブジェクトを通じて、異なる書式プロパティを持つテキストを処理できます。 -## **複数のポーションを含む複数の段落を追加** +## **複数のポーションを含む複数段落の追加** -これらの手順は、3つの段落を含むテキストフレームを追加し、各段落に3つのポーションを含める方法を示します。 +この手順では、3 つの段落を持ち、各段落が 3 つのポーションを含むテキストフレームを追加する方法を示します。 -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを介して関連スライドの参照にアクセスします。 -3. スライドに矩形[IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)を追加します。 -4. [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)に関連するITextFrameを取得します。 -5. 2つの[IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/)オブジェクトを作成し、それを[IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)の`IParagraphs`コレクションに追加します。 -6. 各新しい`IParagraph`に対して3つの[IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/)オブジェクトを作成し、各`IParagraph`のIPortionコレクションに各`IPortion`オブジェクトを追加します。 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. インデックスを使用して対象スライドへの参照にアクセスします。 +3. スライドに矩形の [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) を追加します。 +4. [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) に関連付けられた ITextFrame を取得します。 +5. 2 つの [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) オブジェクトを作成し、[ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) の `IParagraphs` コレクションに追加します。 +6. 各新しい `IParagraph` に対して 3 つの [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) オブジェクト(デフォルト段落の場合は 2 つの Portion)を作成し、各 `IParagraph` の IPortion コレクションに追加します。 7. 各ポーションにテキストを設定します。 -8. `IPortion`オブジェクトによって公開されているフォーマットプロパティを使用して、各ポーションにお好みのフォーマット機能を適用します。 -9. 修正されたプレゼンテーションを保存します。 - -このC#コードは、ポーションを含む段落を追加する手順の実装です: +8. `IPortion` オブジェクトが提供する書式プロパティを使用して、各ポーションに希望する書式機能を適用します。 +9. 変更したプレゼンテーションを保存します。 +この C# コードは、ポーションを含む段落を追加する手順の実装例です: ```c# -// PPTXファイルを表すPresentationクラスをインスタンス化 -using (Presentation pres = new Presentation()) -{ - // 最初のスライドにアクセス - ISlide slide = pres.Slides[0]; - - // 矩形IAutoShapeを追加 - IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 150, 300, 150); - - // AutoShapeのTextFrameにアクセス - ITextFrame tf = ashp.TextFrame; - - // 異なるテキストフォーマットを持つ段落とポーションを作成 - IParagraph para0 = tf.Paragraphs[0]; - IPortion port01 = new Portion(); - IPortion port02 = new Portion(); - para0.Portions.Add(port01); - para0.Portions.Add(port02); - - IParagraph para1 = new Paragraph(); - tf.Paragraphs.Add(para1); - IPortion port10 = new Portion(); - IPortion port11 = new Portion(); - IPortion port12 = new Portion(); - para1.Portions.Add(port10); - para1.Portions.Add(port11); - para1.Portions.Add(port12); - - IParagraph para2 = new Paragraph(); - tf.Paragraphs.Add(para2); - IPortion port20 = new Portion(); - IPortion port21 = new Portion(); - IPortion port22 = new Portion(); - para2.Portions.Add(port20); - para2.Portions.Add(port21); - para2.Portions.Add(port22); - - for (int i = 0; i < 3; i++) - for (int j = 0; j < 3; j++) - { - tf.Paragraphs[i].Portions[j].Text = "Portion0" + j.ToString(); - if (j == 0) - { - tf.Paragraphs[i].Portions[j].PortionFormat.FillFormat.FillType = FillType.Solid; - tf.Paragraphs[i].Portions[j].PortionFormat.FillFormat.SolidFillColor.Color = Color.Red; - tf.Paragraphs[i].Portions[j].PortionFormat.FontBold = NullableBool.True; - tf.Paragraphs[i].Portions[j].PortionFormat.FontHeight = 15; - } - else if (j == 1) - { - tf.Paragraphs[i].Portions[j].PortionFormat.FillFormat.FillType = FillType.Solid; - tf.Paragraphs[i].Portions[j].PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; - tf.Paragraphs[i].Portions[j].PortionFormat.FontItalic = NullableBool.True; - tf.Paragraphs[i].Portions[j].PortionFormat.FontHeight = 18; - } - } - // 修正されたプレゼンテーションを保存 - pres.Save("multiParaPort_out.pptx", SaveFormat.Pptx); - -} + // PPTX ファイルを表す Presentation クラスのインスタンスを作成します + using (Presentation pres = new Presentation()) + { + // 最初のスライドにアクセスします + ISlide slide = pres.Slides[0]; + + // 矩形の IAutoShape を追加します + IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 150, 300, 150); + + // AutoShape の TextFrame にアクセスします + ITextFrame tf = ashp.TextFrame; + + // 異なるテキスト形式の Paragraph と Portion を作成します + IParagraph para0 = tf.Paragraphs[0]; + IPortion port01 = new Portion(); + IPortion port02 = new Portion(); + para0.Portions.Add(port01); + para0.Portions.Add(port02); + + IParagraph para1 = new Paragraph(); + tf.Paragraphs.Add(para1); + IPortion port10 = new Portion(); + IPortion port11 = new Portion(); + IPortion port12 = new Portion(); + para1.Portions.Add(port10); + para1.Portions.Add(port11); + para1.Portions.Add(port12); + + IParagraph para2 = new Paragraph(); + tf.Paragraphs.Add(para2); + IPortion port20 = new Portion(); + IPortion port21 = new Portion(); + IPortion port22 = new Portion(); + para2.Portions.Add(port20); + para2.Portions.Add(port21); + para2.Portions.Add(port22); + + for (int i = 0; i < 3; i++) + for (int j = 0; j < 3; j++) + { + tf.Paragraphs[i].Portions[j].Text = "Portion0" + j.ToString(); + if (j == 0) + { + tf.Paragraphs[i].Portions[j].PortionFormat.FillFormat.FillType = FillType.Solid; + tf.Paragraphs[i].Portions[j].PortionFormat.FillFormat.SolidFillColor.Color = Color.Red; + tf.Paragraphs[i].Portions[j].PortionFormat.FontBold = NullableBool.True; + tf.Paragraphs[i].Portions[j].PortionFormat.FontHeight = 15; + } + else if (j == 1) + { + tf.Paragraphs[i].Portions[j].PortionFormat.FillFormat.FillType = FillType.Solid; + tf.Paragraphs[i].Portions[j].PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; + tf.Paragraphs[i].Portions[j].PortionFormat.FontItalic = NullableBool.True; + tf.Paragraphs[i].Portions[j].PortionFormat.FontHeight = 18; + } + } + // 変更されたプレゼンテーションを保存します + pres.Save("multiParaPort_out.pptx", SaveFormat.Pptx); + } ``` -## **段落の箇条書きを管理する** -箇条書きのリストは、情報を迅速かつ効率的に整理および提示するのに役立ちます。箇条書きの段落は、常に読みやすく理解しやすいです。 - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを介して関連スライドの参照にアクセスします。 -3. 選択したスライドに[autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)を追加します。 -4. autoshapeの[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/)にアクセスします。 -5. `TextFrame`のデフォルトの段落を削除します。 -6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/)クラスを使用して最初の段落インスタンスを作成します。 -8. 段落の弾丸`Type`を`Symbol`に設定し、弾丸の文字を設定します。 -9. 段落`Text`を設定します。 -10. 弾丸のために段落`Indent`を設定します。 -11. 弾丸の色を設定します。 -12. 弾丸の高さを設定します。 -13. 新しい段落を`TextFrame`段落コレクションに追加します。 -14. 2番目の段落を追加し、ステップ7から13で与えられたプロセスを繰り返します。 -15. プレゼンテーションを保存します。 -このC#コードは、段落の弾丸を追加する方法を示しています: +## **段落の箇条書きの管理** +箇条書きリストは、情報を迅速かつ効率的に整理・提示するのに役立ちます。箇条書きされた段落は常に読みやすく、理解しやすいです。 + +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. インデックスを使用して対象スライドへの参照にアクセスします。 +3. 選択したスライドに [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) を追加します。 +4. autoshape の [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) にアクセスします。 +5. `TextFrame` のデフォルト段落を削除します。 +6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) クラスを使用して最初の段落インスタンスを作成します。 +8. 段落の `Type` を `Symbol` に設定し、箇条書き文字を指定します。 +9. 段落の `Text` を設定します。 +10. 箇条書きのインデントを段落に設定します。 +11. 箇条書きの色を設定します。 +12. 箇条書きの高さを設定します。 +13. 新しい段落を `TextFrame` の段落コレクションに追加します。 +14. 2 番目の段落を追加し、手順 7~13 を繰り返します。 +15. プレゼンテーションを保存します。 +この C# コードは、段落の箇条書きを追加する方法を示します: ```c# -// PPTXファイルを表すPresentationクラスをインスタンス化 -using (Presentation pres = new Presentation()) -{ - - // 最初のスライドにアクセス - ISlide slide = pres.Slides[0]; - - - // Autoshapeを追加してアクセス - IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - - // autoshapeのテキストフレームにアクセス - ITextFrame txtFrm = aShp.TextFrame; - - // デフォルトの段落を削除 - txtFrm.Paragraphs.RemoveAt(0); - - // 段落を作成 - Paragraph para = new Paragraph(); - - // 段落の弾丸スタイルと記号を設定 - para.ParagraphFormat.Bullet.Type = BulletType.Symbol; - para.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); - - // 段落テキストを設定 - para.Text = "Aspose.Slidesへようこそ"; - - // 弾丸のインデントを設定 - para.ParagraphFormat.Indent = 25; - - // 弾丸の色を設定 - para.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; - para.ParagraphFormat.Bullet.Color.Color = Color.Black; - para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // 自分の弾丸色を使用するためにIsBulletHardColorをtrueに設定 - - // 弾丸の高さを設定 - para.ParagraphFormat.Bullet.Height = 100; - - // テキストフレームに段落を追加 - txtFrm.Paragraphs.Add(para); - - // 2番目の段落を作成 - Paragraph para2 = new Paragraph(); - - // 段落の弾丸タイプとスタイルを設定 - para2.ParagraphFormat.Bullet.Type = BulletType.Numbered; - para2.ParagraphFormat.Bullet.NumberedBulletStyle = NumberedBulletStyle.BulletCircleNumWDBlackPlain; - - // 段落テキストを追加 - para2.Text = "これは番号付き弾丸です"; - - // 弾丸のインデントを設定 - para2.ParagraphFormat.Indent = 25; - - para2.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; - para2.ParagraphFormat.Bullet.Color.Color = Color.Black; - para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // 自分の弾丸色を使用するためにIsBulletHardColorをtrueに設定 - - // 弾丸の高さを設定 - para2.ParagraphFormat.Bullet.Height = 100; - - // テキストフレームに段落を追加 - txtFrm.Paragraphs.Add(para2); - - - // 修正されたプレゼンテーションを保存 - pres.Save("Bullet_out.pptx", SaveFormat.Pptx); - -} + // PPTX ファイルを表す Presentation クラスのインスタンスを作成します + using (Presentation pres = new Presentation()) + { + + // 最初のスライドにアクセスします + ISlide slide = pres.Slides[0]; + + + // オートシェイプを追加しアクセスします + IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); + + // オートシェイプのテキストフレームにアクセスします + ITextFrame txtFrm = aShp.TextFrame; + + // デフォルトの段落を削除します + txtFrm.Paragraphs.RemoveAt(0); + + // 段落を作成します + Paragraph para = new Paragraph(); + + // 段落の箇条書きスタイルとシンボルを設定します + para.ParagraphFormat.Bullet.Type = BulletType.Symbol; + para.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); + + // 段落のテキストを設定します + para.Text = "Welcome to Aspose.Slides"; + + // 箇条書きのインデントを設定します + para.ParagraphFormat.Indent = 25; + + // 箇条書きの色を設定します + para.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; + para.ParagraphFormat.Bullet.Color.Color = Color.Black; + para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // IsBulletHardColor を true に設定して独自の箇条書き色を使用します + + // 箇条書きの高さを設定します + para.ParagraphFormat.Bullet.Height = 100; + + // 段落をテキストフレームに追加します + txtFrm.Paragraphs.Add(para); + + // 2 番目の段落を作成します + Paragraph para2 = new Paragraph(); + + // 段落の箇条書きタイプとスタイルを設定します + para2.ParagraphFormat.Bullet.Type = BulletType.Numbered; + para2.ParagraphFormat.Bullet.NumberedBulletStyle = NumberedBulletStyle.BulletCircleNumWDBlackPlain; + + // 段落のテキストを追加します + para2.Text = "This is numbered bullet"; + + // 箇条書きのインデントを設定します + para2.ParagraphFormat.Indent = 25; + + para2.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; + para2.ParagraphFormat.Bullet.Color.Color = Color.Black; + para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // IsBulletHardColor を true に設定して独自の箇条書き色を使用します + + // 箇条書きの高さを設定します + para2.ParagraphFormat.Bullet.Height = 100; + + // 段落をテキストフレームに追加します + txtFrm.Paragraphs.Add(para2); + + + // 変更されたプレゼンテーションを保存します + pres.Save("Bullet_out.pptx", SaveFormat.Pptx); + + } ``` -## **画像の弾丸を管理する** -箇条書きのリストは、情報を迅速かつ効率的に整理および提示するのに役立ちます。画像の段落は、読みやすく理解しやすいです。 - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを介して関連スライドの参照にアクセスします。 -3. スライドに[autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)を追加します。 -4. autoshapeの[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)にアクセスします。 -5. `TextFrame`のデフォルトの段落を削除します。 -6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/)クラスを使用して最初の段落インスタンスを作成します。 -7. [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/)に画像を読み込みます。 -8. 弾丸タイプを[Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/)に設定し、画像を設定します。 -9. 段落`Text`を設定します。 -10. 弾丸のために段落`Indent`を設定します。 -11. 弾丸の色を設定します。 -12. 弾丸の高さを設定します。 -13. 新しい段落を`TextFrame`段落コレクションに追加します。 -14. 2番目の段落を追加し、前のステップに基づいてプロセスを繰り返します。 -15. 修正されたプレゼンテーションを保存します。 - -このC#コードは、画像の弾丸を追加および管理する方法を示しています: - +## **画像箇条書きの管理** +画像箇条書きリストは、情報を迅速かつ効率的に整理・提示するのに役立ちます。画像段落は読みやすく、理解しやすいです。 + +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. インデックスを使用して対象スライドへの参照にアクセスします。 +3. スライドに [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) を追加します。 +4. autoshape の [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) にアクセスします。 +5. `TextFrame` のデフォルト段落を削除します。 +6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) クラスを使用して最初の段落インスタンスを作成します。 +7. [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) で画像を読み込みます。 +8. 箇条書きの種類を [Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) に設定し、画像を指定します。 +9. 段落の `Text` を設定します。 +10. 箇条書きのインデントを段落に設定します。 +11. 箇条書きの色を設定します。 +12. 箇条書きの高さを設定します。 +13. 新しい段落を `TextFrame` の段落コレクションに追加します。 +14. 2 番目の段落を追加し、前述の手順を繰り返します。 +15. 変更したプレゼンテーションを保存します。 + +この C# コードは、画像箇条書きを追加および管理する方法を示します: ```c# -// PPTXファイルを表すPresentationクラスをインスタンス化 -Presentation presentation = new Presentation(); + // PPTX ファイルを表す Presentation クラスのインスタンスを作成します + Presentation presentation = new Presentation(); -// 最初のスライドにアクセス -ISlide slide = presentation.Slides[0]; + // 最初のスライドにアクセスします + ISlide slide = presentation.Slides[0]; -// 弾丸用の画像をインスタンス化 -IImage image = Images.FromFile("bullets.png"); -IPPImage ippxImage = presentation.Images.AddImage(image); -image.Dispose(); + // 箇条書き用の画像を作成します + IImage image = Images.FromFile("bullets.png"); + IPPImage ippxImage = presentation.Images.AddImage(image); + image.Dispose(); -// Autoshapeを追加してアクセス -IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); + // オートシェイプを追加し、アクセスします + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); -// autoshapeのテキストフレームにアクセス -ITextFrame textFrame = autoShape.TextFrame; + // オートシェイプのテキストフレームにアクセスします + ITextFrame textFrame = autoShape.TextFrame; -// デフォルトの段落を削除 -textFrame.Paragraphs.RemoveAt(0); + // デフォルトの段落を削除します + textFrame.Paragraphs.RemoveAt(0); -// 新しい段落を作成 -Paragraph paragraph = new Paragraph(); -paragraph.Text = "Aspose.Slidesへようこそ"; + // 新しい段落を作成します + Paragraph paragraph = new Paragraph(); + paragraph.Text = "Welcome to Aspose.Slides"; -// 段落の弾丸スタイルと画像を設定 -paragraph.ParagraphFormat.Bullet.Type = BulletType.Picture; -paragraph.ParagraphFormat.Bullet.Picture.Image = ippxImage; + // 段落の箇条書きスタイルと画像を設定します + paragraph.ParagraphFormat.Bullet.Type = BulletType.Picture; + paragraph.ParagraphFormat.Bullet.Picture.Image = ippxImage; -// 弾丸の高さを設定 -paragraph.ParagraphFormat.Bullet.Height = 100; + // 箇条書きの高さを設定します + paragraph.ParagraphFormat.Bullet.Height = 100; -// 段落をテキストフレームに追加 -textFrame.Paragraphs.Add(paragraph); + // 段落をテキストフレームに追加します + textFrame.Paragraphs.Add(paragraph); -// PPTXファイルとしてプレゼンテーションを書き込む -presentation.Save("ParagraphPictureBulletsPPTX_out.pptx", SaveFormat.Pptx); + // プレゼンテーションを PPTX ファイルとして保存します + presentation.Save("ParagraphPictureBulletsPPTX_out.pptx", SaveFormat.Pptx); -// PPTファイルとしてプレゼンテーションを書き込む -presentation.Save("ParagraphPictureBulletsPPT_out.ppt", SaveFormat.Ppt); + // プレゼンテーションを PPT ファイルとして保存します + presentation.Save("ParagraphPictureBulletsPPT_out.ppt", SaveFormat.Ppt); ``` -## **マルチレベルの弾丸を管理する** -箇条書きのリストは、情報を迅速かつ効率的に整理および提示するのに役立ちます。マルチレベルの弾丸は、読みやすく理解しやすいです。 - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを介して関連スライドの参照にアクセスします。 -3. 新しいスライドに[autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)を追加します。 -4. autoshapeの[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)にアクセスします。 -5. `TextFrame`のデフォルトの段落を削除します。 -6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/)クラスを介して最初の段落インスタンスを作成し、深さを0に設定します。 -7. `Paragraph`クラスを介して2番目の段落インスタンスを作成し、深さを1に設定します。 -8. `Paragraph`クラスを介して3番目の段落インスタンスを作成し、深さを2に設定します。 -9. `Paragraph`クラスを介して4番目の段落インスタンスを作成し、深さを3に設定します。 -10. 新しい段落を`TextFrame`段落コレクションに追加します。 -11. 修正されたプレゼンテーションを保存します。 +## **多階層箇条書きの管理** +多階層箇条書きリストは、情報を迅速かつ効率的に整理・提示するのに役立ちます。多階層箇条書きは読みやすく、理解しやすいです。 -このC#コードは、マルチレベルの弾丸を追加および管理する方法を示しています: +1. [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. インデックスを使用して対象スライドへの参照にアクセスします。 +3. 新しいスライドに [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) を追加します。 +4. autoshape の [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) にアクセスします。 +5. `TextFrame` のデフォルト段落を削除します。 +6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) クラスを使用して最初の段落インスタンスを作成し、深さを 0 に設定します。 +7. `Paragraph` クラスを使用して 2 番目の段落インスタンスを作成し、深さを 1 に設定します。 +8. `Paragraph` クラスを使用して 3 番目の段落インスタンスを作成し、深さを 2 に設定します。 +9. `Paragraph` クラスを使用して 4 番目の段落インスタンスを作成し、深さを 3 に設定します。 +10. 新しい段落を `TextFrame` の段落コレクションに追加します。 +11. 変更したプレゼンテーションを保存します。 +この C# コードは、多階層箇条書きを追加および管理する方法を示します: ```c# -// PPTXファイルを表すPresentationクラスをインスタンス化 +// PPTX ファイルを表す Presentation クラスのインスタンスを作成します using (Presentation pres = new Presentation()) { - // 最初のスライドにアクセス + // 最初のスライドにアクセスします ISlide slide = pres.Slides[0]; - // Autoshapeを追加してアクセス + // オートシェイプを追加しアクセスします IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // 作成したautoshapeのテキストフレームにアクセス + // 作成したオートシェイプのテキストフレームにアクセスします ITextFrame text = aShp.AddTextFrame(""); - // デフォルトの段落をクリア + // デフォルトの段落をクリアします text.Paragraphs.Clear(); - // 最初の段落を追加 + // 最初の段落を追加します IParagraph para1 = new Paragraph(); - para1.Text = "内容"; + para1.Text = "Content"; para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para1.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // 弾丸レベルを設定 + // 箇条書きレベルを設定します para1.ParagraphFormat.Depth = 0; - // 2番目の段落を追加 + // 2 番目の段落を追加します IParagraph para2 = new Paragraph(); - para2.Text = "第二レベル"; + para2.Text = "Second Level"; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = '-'; para2.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para2.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // 弾丸レベルを設定 + // 箇条書きレベルを設定します para2.ParagraphFormat.Depth = 1; - // 3番目の段落を追加 + // 3 番目の段落を追加します IParagraph para3 = new Paragraph(); - para3.Text = "第三レベル"; + para3.Text = "Third Level"; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para3.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para3.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // 弾丸レベルを設定 + // 箇条書きレベルを設定します para3.ParagraphFormat.Depth = 2; - // 4番目の段落を追加 + // 4 番目の段落を追加します IParagraph para4 = new Paragraph(); - para4.Text = "第四レベル"; + para4.Text = "Fourth Level"; para4.ParagraphFormat.Bullet.Type = BulletType.Symbol; para4.ParagraphFormat.Bullet.Char = '-'; para4.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para4.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // 弾丸レベルを設定 + // 箇条書きレベルを設定します para4.ParagraphFormat.Depth = 3; - // コレクションに段落を追加 + // 段落をコレクションに追加します text.Paragraphs.Add(para1); text.Paragraphs.Add(para2); text.Paragraphs.Add(para3); text.Paragraphs.Add(para4); - // PPTXファイルとしてプレゼンテーションを書き込む + // プレゼンテーションを PPTX ファイルとして保存します pres.Save("MultilevelBullet.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **カスタム番号付きリストの段落を管理する** -[IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/)インターフェースは、カスタム番号付けやフォーマットを持つ段落を管理できる[NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith)プロパティなどを提供します。 - -1. [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. 段落を含むスライドにアクセスします。 -3. スライドに[autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)を追加します。 -4. autoshapeの[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)にアクセスします。 -5. `TextFrame`のデフォルトの段落を削除します。 -6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/)クラスを介して最初の段落インスタンスを作成し、[NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith)を2に設定します。 -7. `Paragraph`クラスを介して2番目の段落インスタンスを作成し、`NumberedBulletStartWith`を3に設定します。 -8. `Paragraph`クラスを介して3番目の段落インスタンスを作成し、`NumberedBulletStartWith`を7に設定します。 -9. 新しい段落を`TextFrame`段落コレクションに追加します。 -10. 修正されたプレゼンテーションを保存します。 +## **カスタム番号リスト付き段落の管理** +[IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) インターフェイスは、[NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) プロパティなどを提供し、カスタム番号付けや書式設定を持つ段落を管理できます。 -このC#コードは、カスタム番号付けまたはフォーマットを持つ段落を追加および管理する方法を示しています: +1. [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. 対象段落が含まれるスライドにアクセスします。 +3. スライドに [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) を追加します。 +4. autoshape の [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) にアクセスします。 +5. `TextFrame` のデフォルト段落を削除します。 +6. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) クラスを使用して最初の段落インスタンスを作成し、[NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) を 2 に設定します。 +7. `Paragraph` クラスを使用して 2 番目の段落インスタンスを作成し、`NumberedBulletStartWith` を 3 に設定します。 +8. `Paragraph` クラスを使用して 3 番目の段落インスタンスを作成し、`NumberedBulletStartWith` を 7 に設定します。 +9. 新しい段落を `TextFrame` の段落コレクションに追加します。 +10. 変更したプレゼンテーションを保存します。 +この C# コードは、カスタム番号付けや書式設定を持つ段落を追加および管理する方法を示します: ```c# using (var presentation = new Presentation()) { var shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // 作成したautoshapeのテキストフレームにアクセス + // 作成したオートシェイプのテキストフレームにアクセスします ITextFrame textFrame = shape.TextFrame; - // 既存のデフォルト段落を削除 + // デフォルトの既存段落を削除します textFrame.Paragraphs.RemoveAt(0); // 最初のリスト - var paragraph1 = new Paragraph { Text = "弾丸 2" }; + var paragraph1 = new Paragraph { Text = "bullet 2" }; paragraph1.ParagraphFormat.Depth = 4; paragraph1.ParagraphFormat.Bullet.NumberedBulletStartWith = 2; paragraph1.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph1); - var paragraph2 = new Paragraph { Text = "弾丸 3" }; + var paragraph2 = new Paragraph { Text = "bullet 3" }; paragraph2.ParagraphFormat.Depth = 4; paragraph2.ParagraphFormat.Bullet.NumberedBulletStartWith = 3; paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph2); - var paragraph5 = new Paragraph { Text = "弾丸 7" }; + var paragraph5 = new Paragraph { Text = "bullet 7" }; paragraph5.ParagraphFormat.Depth = 4; paragraph5.ParagraphFormat.Bullet.NumberedBulletStartWith = 7; paragraph5.ParagraphFormat.Bullet.Type = BulletType.Numbered; @@ -399,40 +401,39 @@ using (var presentation = new Presentation()) ``` -## **段落のインデントを設定する** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -1. インデックスを介して関連スライドの参照にアクセスします。 -1. スライドに矩形[autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)を追加します。 -1. 矩形autoshapeに3つの段落を持つ[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)を追加します。 -1. 矩形の線を非表示にします。 -1. 各[Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/)のBulletOffsetプロパティを介してインデントを設定します。 -1. 修正されたプレゼンテーションをPPTファイルとして書き込みます。 - -このC#コードは、段落のインデントを設定する方法を示しています: +## **段落インデントの設定** +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +1. インデックスを使用して対象スライドへの参照にアクセスします。 +1. スライドに矩形 [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) を追加します。 +1. 矩形 autoshape に 3 段落を持つ [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) を追加します。 +1. 矩形の枠線を非表示にします。 +1. 各 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) の `BulletOffset` プロパティを使用してインデントを設定します。 +1. 変更したプレゼンテーションを PPT ファイルとして書き出します。 +この C# コードは、段落インデントを設定する方法を示します: ```c# -// Presentationクラスをインスタンス化 +// Presentation クラスをインスタンス化 Presentation pres = new Presentation(); // 最初のスライドを取得 ISlide sld = pres.Slides[0]; -// 矩形形状を追加 +// 矩形シェイプを追加 IAutoShape rect = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 500, 150); -// 矩形にTextFrameを追加 -ITextFrame tf = rect.AddTextFrame("これは最初の行です\rこれは2番目の行です\rこれは3番目の行です"); +// 矩形に TextFrame を追加 +ITextFrame tf = rect.AddTextFrame("This is first line \rThis is second line \rThis is third line"); -// 形状に合わせてテキストを設定 +// テキストをシェイプに合わせて設定 tf.TextFrameFormat.AutofitType = TextAutofitType.Shape; // 矩形の線を非表示にする rect.LineFormat.FillFormat.FillType = FillType.Solid; -// TextFrameの最初の段落を取得し、そのインデントを設定 +// TextFrame の最初の Paragraph を取得しインデントを設定 IParagraph para1 = tf.Paragraphs[0]; -// 段落の弾丸スタイルと記号を設定 +// 段落の箇条書きスタイルとシンボルを設定 para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.Alignment = TextAlignment.Left; @@ -440,7 +441,7 @@ para1.ParagraphFormat.Alignment = TextAlignment.Left; para1.ParagraphFormat.Depth = 2; para1.ParagraphFormat.Indent = 30; -// TextFrameの2番目の段落を取得し、そのインデントを設定 +// TextFrame の2番目の Paragraph を取得しインデントを設定 IParagraph para2 = tf.Paragraphs[1]; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -448,7 +449,7 @@ para2.ParagraphFormat.Alignment = TextAlignment.Left; para2.ParagraphFormat.Depth = 2; para2.ParagraphFormat.Indent = 40; -// TextFrameの3番目の段落を取得し、そのインデントを設定 +// TextFrame の3番目の Paragraph を取得しインデントを設定 IParagraph para3 = tf.Paragraphs[2]; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -456,14 +457,14 @@ para3.ParagraphFormat.Alignment = TextAlignment.Left; para3.ParagraphFormat.Depth = 2; para3.ParagraphFormat.Indent = 50; -// プレゼンテーションをディスクに書き込む +// プレゼンテーションをディスクに保存 pres.Save("InOutDent_out.pptx", SaveFormat.Pptx); ``` -## **段落のぶら下げインデントを設定する** -このC#コードは、段落のぶら下げインデントを設定する方法を示しています: +## **段落のハンギングインデントの設定** +この C# コードは、段落のハンギングインデントを設定する方法を示します: ```c# using (Presentation pres = new Presentation()) { @@ -471,15 +472,15 @@ using (Presentation pres = new Presentation()) Paragraph para1 = new Paragraph { - Text = "例" + Text = "Example" }; Paragraph para2 = new Paragraph { - Text = "段落のぶら下げインデントを設定する" + Text = "Set Hanging Indent for Paragraph" }; Paragraph para3 = new Paragraph { - Text = "このC#コードは、段落のぶら下げインデントを設定する方法を示しています:" + Text = "This C# code shows you how to set the hanging indent for a paragraph: " }; para2.ParagraphFormat.MarginLeft = 10f; @@ -493,28 +494,28 @@ using (Presentation pres = new Presentation()) } ``` -## **段落の終了段落ランプロパティを管理する** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -1. スライドの参照を取得し、段落の位置を介してアクセスします。 -1. スライドに矩形[autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)を追加します。 -1. 矩形に2つの段落を持つ[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)を追加します。 -1. 段落の`FontHeight`およびフォントタイプを設定します。 -1. 段落の終了プロパティを設定します。 -1. 修正されたプレゼンテーションをPPTXファイルとして書き込みます。 +## **段落の End プロパティの管理** -このC#コードは、PowerPointの段落の終了プロパティを設定する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +1. 位置を基に段落が含まれるスライドへの参照を取得します。 +1. スライドに矩形 [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) を追加します。 +1. 矩形に 2 段落を持つ [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) を追加します。 +1. 段落の `FontHeight` とフォント種別を設定します。 +1. 段落の End プロパティを設定します。 +1. 変更したプレゼンテーションを PPTX ファイルとして書き出します。 +この C# コードは、PowerPoint の段落に End プロパティを設定する方法を示します: ```c# using (Presentation pres = new Presentation("Test.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 200, 250); Paragraph para1 = new Paragraph(); - para1.Portions.Add(new Portion("サンプルテキスト")); + para1.Portions.Add(new Portion("Sample text")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("サンプルテキスト2")); + para2.Portions.Add(new Portion("Sample text 2")); PortionFormat endParagraphPortionFormat = new PortionFormat(); endParagraphPortionFormat.FontHeight = 48; endParagraphPortionFormat.LatinFont = new FontData("Times New Roman"); @@ -528,82 +529,192 @@ using (Presentation pres = new Presentation("Test.pptx")) ``` -## **HTMLテキストを段落にインポートする** -Aspose.Slidesは、段落にHTMLテキストをインポートするための強化されたサポートを提供します。 +## **HTML テキストを段落にインポートする** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを介して関連スライドの参照にアクセスします。 -3. スライドに[autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)を追加します。 -4. autoshapeの[ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/)を追加してアクセスします。 -5. `ITextFrame`のデフォルトの段落を削除します。 -6. ソースHTMLファイルをTextReaderで読み込みます。 -7. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/)クラスを介して最初の段落インスタンスを作成します。 -8. 読み込んだTextReaderのHTMLファイルの内容をTextFrameの[ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/)に追加します。 -9. 修正されたプレゼンテーションを保存します。 +Aspose.Slides は、HTML テキストを段落にインポートするための拡張サポートを提供します。 -このC#コードは、段落にHTMLテキストをインポートする手順の実装です: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. インデックスを使用して対象スライドへの参照にアクセスします。 +3. スライドに [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) を追加します。 +4. `autoshape` の [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) を追加および取得します。 +5. `ITextFrame` のデフォルト段落を削除します。 +6. TextReader でソース HTML ファイルを読み取ります。 +7. [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) クラスを使用して最初の段落インスタンスを作成します。 +8. 読み取った TextReader の HTML コンテンツを TextFrame の [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) に追加します。 +9. 変更したプレゼンテーションを保存します。 +この C# コードは、段落への HTML テキスト インポート手順の実装例です: ```c# -// 空のプレゼンテーションインスタンスを作成 +// 空のプレゼンテーション インスタンスを作成します using (Presentation pres = new Presentation()) { - // プレゼンテーションのデフォルトの最初のスライドにアクセス + // プレゼンテーションのデフォルトの最初のスライドにアクセスします ISlide slide = pres.Slides[0]; - // HTMLコンテンツを格納するためのAutoShapeを追加 + // HTML コンテンツを格納する AutoShape を追加します IAutoShape ashape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, pres.SlideSize.Size.Width - 20, pres.SlideSize.Size.Height - 10); ashape.FillFormat.FillType = FillType.NoFill; - // 形状にテキストフレームを追加 + // シェイプにテキストフレームを追加します ashape.AddTextFrame(""); - // 追加したテキストフレーム内のすべての段落をクリア + // 追加したテキストフレーム内のすべての段落をクリアします ashape.TextFrame.Paragraphs.Clear(); - // ストリームリーダーを使用してHTMLファイルを読み込みます + // ストリームリーダーを使用して HTML ファイルを読み込みます TextReader tr = new StreamReader("file.html"); - // テキストフレームにHTMLストリームリーダーのテキストを追加 + // HTML ストリームリーダーからテキストをテキストフレームに追加します ashape.TextFrame.Paragraphs.AddFromHtml(tr.ReadToEnd()); - // プレゼンテーションを保存 + // プレゼンテーションを保存します pres.Save("output_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **段落のテキストをHTMLにエクスポートする** -Aspose.Slidesは、段落に含まれるテキストをHTMLにエクスポートするための強化されたサポートを提供します。 +## **段落テキストを HTML にエクスポートする** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成し、目的のプレゼンテーションをロードします。 -2. インデックスを介して関連スライドの参照にアクセスします。 -3. HTMLにエクスポートされるテキストを含む形状にアクセスします。 -4. 形状の[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)にアクセスします。 -5. `StreamWriter`のインスタンスを作成し、新しいHTMLファイルを追加します。 -6. StreamWriterに開始インデックスを設定し、好みの段落をエクスポートします。 +Aspose.Slides は、段落に含まれるテキストを HTML にエクスポートするための拡張サポートを提供します。 -このC#コードは、PowerPointの段落テキストをHTMLにエクスポートする方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成し、目的のプレゼンテーションをロードします。 +2. インデックスを使用して対象スライドへの参照にアクセスします。 +3. HTML にエクスポートするテキストを含むシェイプにアクセスします。 +4. シェイプの [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) にアクセスします。 +5. `StreamWriter` のインスタンスを作成し、新しい HTML ファイルを追加します。 +6. `StreamWriter` に開始インデックスを指定し、希望する段落をエクスポートします。 +この C# コードは、PowerPoint の段落テキストを HTML にエクスポートする方法を示します: ```c# -// プレゼンテーションファイルをロード +// プレゼンテーション ファイルをロードします using (Presentation pres = new Presentation("ExportingHTMLText.pptx")) { - // プレゼンテーションのデフォルトの最初のスライドにアクセス + // プレゼンテーションのデフォルトの最初のスライドにアクセスします ISlide slide = pres.Slides[0]; - // 必要なインデックスにアクセス + // 必要なインデックスにアクセスします int index = 0; - // 追加された形状にアクセス + // 追加されたシェイプにアクセスします IAutoShape ashape = (IAutoShape)slide.Shapes[index]; StreamWriter sw = new StreamWriter("output_out.html", false, Encoding.UTF8); - // 段落データをHTMLに書き込み、段落の開始インデックスとコピーする段落数を指定 + // 段落の開始インデックスとコピーする段落数を指定して、段落データを HTML に書き出します sw.Write(ashape.TextFrame.Paragraphs.ExportToHtml(0, ashape.TextFrame.Paragraphs.Count, null)); sw.Close(); } -``` \ No newline at end of file +``` + + +## **段落を画像として保存する** + +このセクションでは、[IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) インターフェイスで表されるテキスト段落を画像として保存する 2 つの例を示します。両例とも、[IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/) インターフェイスの `GetImage` メソッドで段落を含むシェイプの画像を取得し、シェイプ内の段落の境界を計算してビットマップ画像としてエクスポートします。これにより、PowerPoint プレゼンテーションから特定のテキスト部分を抽出し、別々の画像として保存でき、さまざまなシナリオでの利用が可能になります。 + +例として、1 枚のスライドを持つ `sample.pptx` というプレゼンテーションファイルがあり、最初のシェイプは 3 段落を含むテキストボックスです。 + +![3 段落を含むテキストボックス](paragraph_to_image_input.png) + +**例 1** + +この例では、2 番目の段落を画像として取得します。プレゼンテーションの最初のスライドからシェイプの画像を抽出し、テキストフレーム内の 2 番目の段落の境界を計算します。その後、段落を新しいビットマップ画像に再描画し、PNG 形式で保存します。この方法は、テキストの正確なサイズと書式を保持しながら、特定の段落だけを別画像として保存したい場合に特に有用です。 +```csharp +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap. +using var shapeImage = firstShape.GetImage(); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +結果: + +![段落画像](paragraph_to_image_output.png) + +**例 2** + +この例では、前述のアプローチにスケーリング係数を加えて拡張します。シェイプをプレゼンテーションから抽出し、スケーリング係数 `2` で画像として保存します。これにより、段落をエクスポートする際に高解像度の出力が得られます。段落の境界はスケールを考慮して計算されます。スケーリングは、印刷物など高品質な画像が必要な場合に特に有用です。 +```csharp +var imageScaleX = 2f; +var imageScaleY = imageScaleX; + +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap with scaling. +using var shapeImage = firstShape.GetImage(ShapeThumbnailBounds.Shape, imageScaleX, imageScaleY); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); +paragraphRectangle.X *= imageScaleX; +paragraphRectangle.Y *= imageScaleY; +paragraphRectangle.Width *= imageScaleX; +paragraphRectangle.Height *= imageScaleY; + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +## **FAQ** + +**テキストフレーム内で改行を完全に無効にできますか?** + +はい。テキストフレームの折り返し設定 ([WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/wraptext/)) をオフにすれば、フレームの端で行が折り返されなくなります。 + +**特定の段落のスライド上での正確な境界を取得するには?** + +段落(や単一ポーション)のバウンディング矩形を取得すれば、スライド上での正確な位置とサイズが分かります。 + +**段落の配置(左揃え/右揃え/中央揃え/両端揃え)はどこで制御しますか?** + +[ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/) の `Alignment` プロパティは段落レベルの設定で、個々のポーション書式に関係なく段落全体に適用されます。 + +**段落の一部(例: 1 単語)だけにスペルチェック言語を設定できますか?** + +できます。言語はポーションレベルで設定される([PortionFormat.LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/))ため、1 段落内に複数言語を共存させることが可能です。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md b/ja/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md index e6d671cafa..4bbb9407d6 100644 --- a/ja/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md @@ -3,73 +3,71 @@ title: プレースホルダーの管理 type: docs weight: 10 url: /ja/net/manage-placeholder/ -keywords: "プレースホルダー, プレースホルダー テキスト, プロンプト テキスト, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C#または.NETでPowerPointプレゼンテーションのプレースホルダーテキストとプロンプトテキストを変更します" +keywords: "プレースホルダー, プレースホルダー テキスト, プロンプトテキスト, PowerPoint プレゼンテーション, C#, C#, Aspose.Slides for .NET" +description: "PowerPoint プレゼンテーションのプレースホルダー テキストとプロンプトテキストを C# または .NET で変更する" --- ## **プレースホルダーのテキストを変更する** -[Aspose.Slides for .NET](/slides/ja/net/)を使用すると、プレゼンテーションのスライド上のプレースホルダーを見つけて修正できます。Aspose.Slidesを使用すると、プレースホルダー内のテキストを変更できます。 +Aspose.Slides for .NET を使用すると、プレゼンテーションのスライド内のプレースホルダーを検索・変更できます。Aspose.Slides を使って、プレースホルダー内のテキストを変更できます。 -**前提条件**: プレースホルダーを含むプレゼンテーションが必要です。標準のMicrosoft PowerPointアプリでそのようなプレゼンテーションを作成できます。 +**Prerequisite**: プレースホルダーが含まれるプレゼンテーションが必要です。そのようなプレゼンテーションは標準の Microsoft PowerPoint アプリで作成できます。 -これが、そのプレゼンテーションのプレースホルダー内のテキストを置き換えるためのAspose.Slidesの使用方法です: +以下は、Aspose.Slides を使用してそのプレゼンテーションのプレースホルダーのテキストを置換する手順です。 -1. [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスをインスタンス化し、プレゼンテーションを引数として渡します。 -2. インデックスを使用してスライドの参照を取得します。 -3. シェイプを繰り返してプレースホルダーを見つけます。 -4. プレースホルダーシェイプを[`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)に型キャストし、[`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)に関連付けられた[`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/)を使用してテキストを変更します。 -5. 修正されたプレゼンテーションを保存します。 - -このC#コードは、プレースホルダー内のテキストを変更する方法を示しています: +1. `Presentation` クラスのインスタンスを作成し、プレゼンテーションを引数として渡します。 +2. インデックスを使用してスライド参照を取得します。 +3. シェイプをイテレートしてプレースホルダーを見つけます。 +4. プレースホルダーシェイプを `AutoShape` にキャストし、`AutoShape` に関連付けられた `TextFrame` を使用してテキストを変更します。 +5. 変更したプレゼンテーションを保存します。 +この C# コードは、プレースホルダーのテキストを変更する方法を示しています。 ```c# -// プレゼンテーションクラスをインスタンス化 +// Presentation クラスのインスタンスを作成します using (Presentation pres = new Presentation("ReplacingText.pptx")) { - // 最初のスライドにアクセス + // 最初のスライドにアクセスします ISlide sld = pres.Slides[0]; - // プレースホルダーを見つけるためにシェイプを繰り返す + // プレースホルダーを探すためにシェイプを列挙します foreach (IShape shp in sld.Shapes) if (shp.Placeholder != null) { - // 各プレースホルダーのテキストを変更 - ((IAutoShape)shp).TextFrame.Text = "これはプレースホルダーです"; + // 各プレースホルダーのテキストを変更します + ((IAutoShape)shp).TextFrame.Text = "This is a Placeholder"; } - // プレゼンテーションをディスクに保存 + // プレゼンテーションをディスクに保存します pres.Save("output_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` ## **プレースホルダーのプロンプトテキストを設定する** -標準およびプリビルドのレイアウトには、***タイトルを追加するにはクリック***や***サブタイトルを追加するにはクリック***のようなプレースホルダープロンプトテキストが含まれています。Aspose.Slidesを使用すると、プレースホルダーレイアウトに好みのプロンプトテキストを挿入できます。 - -このC#コードは、プレースホルダー内のプロンプトテキストを設定する方法を示しています: +標準およびプリセットのレイアウトには、***クリックしてタイトルを追加*** や ***クリックしてサブタイトルを追加*** などのプレースホルダー用プロンプトテキストが含まれています。Aspose.Slides を使用すると、好きなプロンプトテキストをプレースホルダーレイアウトに挿入できます。 +この C# コードは、プレースホルダーにプロンプトテキストを設定する方法を示しています。 ```c# using (Presentation pres = new Presentation("Presentation2.pptx")) { ISlide slide = pres.Slides[0]; - foreach (IShape shape in slide.Slide.Shapes) // スライドを繰り返す + foreach (IShape shape in slide.Slide.Shapes) // スライドをイテレートします { if (shape.Placeholder != null && shape is AutoShape) { string text = ""; - if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPointは「タイトルを追加するにはクリック」と表示 + if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPoint は「Click to add title」を表示します { - text = "タイトルを追加"; + text = "Add Title"; } - else if (shape.Placeholder.Type == PlaceholderType.Subtitle) // サブタイトルを追加 + else if (shape.Placeholder.Type == PlaceholderType.Subtitle) // サブタイトルを追加します { - text = "サブタイトルを追加"; + text = "Add Subtitle"; } ((IAutoShape)shape).TextFrame.Text = text; - Console.WriteLine($"テキストを含むプレースホルダー: {text}"); + Console.WriteLine($"Placeholder with text: {text}"); } } @@ -77,12 +75,12 @@ using (Presentation pres = new Presentation("Presentation2.pptx")) } ``` -## **プレースホルダーの画像の透過性を設定する** -Aspose.Slidesを使用すると、テキストプレースホルダー内の背景画像の透過性を設定できます。このようなフレーム内の画像の透過性を調整することで、テキストや画像が際立つようにできます(テキストと画像の色に応じて)。 +## **プレースホルダー画像の透明度を設定する** -このC#コードは、シェイプ内の画像背景の透過性を設定する方法を示しています: +Aspose.Slides では、テキスト プレースホルダー内の背景画像の透明度を設定できます。そのフレーム内の画像の透明度を調整することで、テキストまたは画像を際立たせることができます(テキストと画像の色によります)。 +この C# コードは、シェイプ内の画像背景の透明度を設定する方法を示しています。 ```c# using (var presentation = new Presentation()) { @@ -93,4 +91,19 @@ using (var presentation = new Presentation()) autoShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; autoShape.FillFormat.PictureFillFormat.Picture.ImageTransform.AddAlphaModulateFixedEffect(75); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**ベースプレースホルダーとは何か、スライド上のローカルシェイプとはどのように異なるか** + +ベースプレースホルダーは、レイアウトまたはマスタ上にあるスライドのシェイプが継承する元となるシェイプです。そのタイプ、位置、および一部の書式設定はベースプレースホルダーから継承されます。ローカルシェイプは独立しており、ベースプレースホルダーが存在しない場合は継承は適用されません。 + +**プレゼンテーション全体のタイトルやキャプションを、各スライドを走査せずに更新するにはどうすればよいですか?** + +レイアウトまたはマスタ上の該当プレースホルダーを編集します。そのレイアウトやマスタを使用しているスライドは、変更を自動的に継承します。 + +**標準のヘッダー/フッタープレースホルダー(日付と時刻、スライド番号、フッターテキスト)をどのように制御できますか?** + +適切なスコープ(通常スライド、レイアウト、マスタ、ノート/配布資料)の HeaderFooter マネージャーを使用して、これらのプレースホルダーを有効または無効にし、内容を設定します。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md b/ja/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md index 476ef0ac57..ee5c91f35f 100644 --- a/ja/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md @@ -3,111 +3,148 @@ title: テキストボックスの管理 type: docs weight: 20 url: /ja/net/manage-textbox/ -keywords: "Textbox, テキストフレーム, テキストボックスの追加, ハイパーリンク付きテキストボックス, C#, Csharp, Aspose.Slides for .NET" -description: "C#または.NETでPowerPointプレゼンテーションにテキストボックスまたはテキストフレームを追加します" +keywords: +- テキストボックス +- テキストフレーム +- テキストの追加 +- テキストの更新 +- ハイパーリンク付きテキストボックス +- PowerPoint +- プレゼンテーション +- C# +- C# +- Aspose.Slides for .NET +description: "C# または .NET を使用して PowerPoint プレゼンテーション内のテキストボックスまたはテキストフレームを管理します" --- -スライド上のテキストは通常、テキストボックスまたは図形として存在します。したがって、スライドにテキストを追加するには、まずテキストボックスを追加し、その後テキストボックス内にテキストを入れる必要があります。 +スライド上のテキストは通常、テキストボックスまたはシェイプに存在します。そのため、スライドにテキストを追加するには、まずテキストボックスを追加し、そのテキストボックスの中にテキストを入れる必要があります。 -テキストを保持できる図形を追加できるようにするために、Aspose.Slides for .NETは[IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape)インターフェースを提供しています。 +テキストを保持できるシェイプを追加できるように、Aspose.Slides for .NET は [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) インターフェイスを提供しています。 -{{% alert title="注意" color="warning" %}} - -Aspose.Slidesはまた、スライドに図形を追加できるようにするために[IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape)インターフェースも提供しています。ただし、`IShape`インターフェースを通じて追加されたすべての図形がテキストを保持できるわけではありません。[IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape)インターフェースを通じて追加された図形には、通常テキストが含まれています。 - -したがって、テキストを追加したい既存の図形を扱う際には、それが`IAutoShape`インターフェースを介してキャストされたことを確認する必要があります。それによってのみ、`IAutoShape`のプロパティである[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe)を操作することができます。このページの[テキストの更新](https://docs.aspose.com/slides/net/manage-textbox/#update-text)セクションを参照してください。 +{{% alert title="Note" color="warning" %}} +Aspose.Slides はまた、スライドにシェイプを追加できるように [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) インターフェイスも提供しています。ただし、`IShape` インターフェイスを通じて追加されたすべてのシェイプがテキストを保持できるわけではありません。[IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) インターフェイスを通じて追加されたシェイプは通常、テキストを含みます。 +したがって、テキストを追加したい既存のシェイプを扱う場合、そのシェイプが `IAutoShape` インターフェイスにキャストされているか確認したいでしょう。そうして初めて、`IAutoShape` の下にあるプロパティである [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe) を操作できます。このページの [Update Text](https://docs.aspose.com/slides/net/manage-textbox/#update-text) セクションをご参照ください。 {{% /alert %}} -## **スライドにテキストボックスを作成する** +## **スライド上にテキストボックスを作成** -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを使用して最初のスライドの参照を取得します。 -3. 指定された位置に`ShapeType`を`Rectangle`として設定した[IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape)オブジェクトを追加し、新しく追加された`IAutoShape`オブジェクトの参照を取得します。 -4. テキストを含む`TextFrame`プロパティを`IAutoShape`オブジェクトに追加します。以下の例では、次のテキストを追加しました:*Aspose TextBox* -5. 最後に、`Presentation`オブジェクトを介してPPTXファイルを書き込みます。 - -上記のステップを実装したこのC#コードは、スライドにテキストを追加する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. インデックスを使用して最初のスライドの参照を取得します。 +3. スライド上の指定位置に、[ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype) を `Rectangle` に設定した [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) オブジェクトを追加し、新しく追加された `IAutoShape` オブジェクトの参照を取得します。 +4. `IAutoShape` オブジェクトにテキストを保持する `TextFrame` プロパティを追加します。以下の例では、*Aspose TextBox* というテキストを追加しました。 +5. 最後に、`Presentation` オブジェクトを使用して PPTX ファイルを書き込みます。 +以下の C# コードは、上記の手順を実装したもので、スライドにテキストを追加する方法を示しています: ```c# -// PresentationExをインスタンス化 -using (Presentation pres = new Presentation()) -{ - // プレゼンテーションの最初のスライドを取得 - ISlide sld = pres.Slides[0]; - - // 自動図形を追加し、タイプをRectangleに設定 - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - - // 矩形にTextFrameを追加 - ashp.AddTextFrame(" "); - - // テキストフレームにアクセス - ITextFrame txtFrame = ashp.TextFrame; - - // テキストフレームのための段落オブジェクトを作成 - IParagraph para = txtFrame.Paragraphs[0]; - - // 段落のためのポーションオブジェクトを作成 - IPortion portion = para.Portions[0]; - - // テキストを設定 - portion.Text = "Aspose TextBox"; - - // プレゼンテーションをディスクに保存 - pres.Save("TextBox_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -} + // PresentationEx をインスタンス化 + using (Presentation pres = new Presentation()) + { + + // プレゼンテーションの最初のスライドを取得 + ISlide sld = pres.Slides[0]; + + // タイプを Rectangle に設定した AutoShape を追加 + IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); + + // Rectangle に TextFrame を追加 + ashp.AddTextFrame(" "); + + // テキストフレームにアクセス + ITextFrame txtFrame = ashp.TextFrame; + + // テキストフレーム用の Paragraph オブジェクトを作成 + IParagraph para = txtFrame.Paragraphs[0]; + + // 段落用の Portion オブジェクトを作成 + IPortion portion = para.Portions[0]; + + // テキストを設定 + portion.Text = "Aspose TextBox"; + + // プレゼンテーションをディスクに保存 + pres.Save("TextBox_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); + } ``` -## **テキストボックス図形を確認する** -Aspose.Slidesは、テキストボックスを見分けるために[IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/)プロパティ([AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)クラスから)を提供しています。 +## **テキストボックスシェイプの確認** -![テキストボックスと図形](istextbox.png) +Aspose.Slides は、[IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) インターフェイスから取得できる [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) プロパティを提供し、シェイプを調査してテキストボックスかどうかを識別できます。 -このC#コードは、図形がテキストボックスとして作成されたかどうかを確認する方法を示しています: +![テキストボックスとシェイプ](istextbox.png) +以下の C# コードは、シェイプがテキストボックスとして作成されたかどうかを確認する方法を示しています: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - Aspose.Slides.LowCode.ForEach.Shape(pres, (shape, slide, index) => + Aspose.Slides.LowCode.ForEach.Shape(presentation, (shape, slide, index) => { - if (shape is AutoShape autoShape) + if (shape is IAutoShape autoShape) { - Console.WriteLine(autoShape.IsTextBox ? "図形はテキストボックスです" : "図形はテキストボックスではありません"); + Console.WriteLine(autoShape.IsTextBox ? "shape is a text box" : "shape is not a text box"); } }); } ``` -## **テキストボックスに列を追加する** -Aspose.Slidesは、テキストボックスに列を追加できるようにするために、[ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount)および[ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing)プロパティ([ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat)インターフェースおよび[TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)クラスから)を提供しています。テキストボックス内の列の数を指定し、列間のスペーシングをポイント単位で指定できます。 +`AddAutoShape` メソッド([IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/) インターフェイス)でオートシェイプを単に追加しただけでは、そのオートシェイプの `IsTextBox` プロパティは `false` を返します。しかし、`AddTextFrame` メソッドまたは `Text` プロパティを使用してオートシェイプにテキストを追加すると、`IsTextBox` プロパティは `true` を返します。 +```cs +using (Presentation presentation = new Presentation()) +{ + ISlide slide = presentation.Slides[0]; + + IAutoShape shape1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 100, 40); + // shape1.IsTextBox は false + shape1.AddTextFrame("shape 1"); + // shape1.IsTextBox は true + + IAutoShape shape2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 110, 100, 40); + // shape2.IsTextBox は false + shape2.TextFrame.Text = "shape 2"; + // shape2.IsTextBox は true + + IAutoShape shape3 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 210, 100, 40); + // shape3.IsTextBox は false + shape3.AddTextFrame(""); + // shape3.IsTextBox は false + + IAutoShape shape4 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 310, 100, 40); + // shape4.IsTextBox は false + shape4.TextFrame.Text = ""; + // shape4.IsTextBox は false +} +``` + + +## **テキストボックスに列を追加** -このC#コードは、説明した操作を示します: +Aspose.Slides は、テキストボックスに列を追加できるように、[ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) インターフェイスと [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) クラスから取得できる [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) と [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) プロパティを提供します。テキストボックスの列数と、列間のポイント単位の間隔を指定できます。 +以下の C# コードは、上記の操作を示しています: ```c# using (Presentation presentation = new Presentation()) { // プレゼンテーションの最初のスライドを取得 ISlide slide = presentation.Slides[0]; - // 自動図形を追加し、タイプをRectangleに設定 + // タイプを Rectangle に設定した AutoShape を追加 IAutoShape aShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 300, 300); - // 矩形にTextFrameを追加 - aShape.AddTextFrame("これらのすべての列は単一のテキストコンテナ内に制限されています -- " + - "テキストを追加または削除すると、新しいテキストまたは残りのテキストが自動的に調整されて " + - "コンテナ内に流れるようになります。ただし、テキストが1つのコンテナから別のコンテナに流れることはありません -- " + - "PowerPointのテキストオプションは制限されています!"); + // Rectangle に TextFrame を追加 + aShape.AddTextFrame("All these columns are limited to be within a single text container -- " + + "you can add or delete text and the new or remaining text automatically adjusts " + + "itself to flow within the container. You cannot have text flow from one container " + + "to other though -- we told you PowerPoint's column options for text are limited!"); - // TextFrameのテキストフォーマットを取得 + // TextFrame のテキスト書式を取得 ITextFrameFormat format = aShape.TextFrame.TextFrameFormat; - // TextFrameの列数を指定 + // TextFrame の列数を指定 format.ColumnCount = 3; - // 列間のスペーシングを指定 + // 列間の間隔を指定 format.ColumnSpacing = 10; // プレゼンテーションを保存 @@ -115,12 +152,12 @@ using (Presentation presentation = new Presentation()) } ``` -## **テキストフレームに列を追加する** -Aspose.Slides for .NETは、テキストフレームに列を追加できるようにするために、[ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount)プロパティ([ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat)インターフェースから)を提供しています。このプロパティを通じて、テキストフレーム内の列数を指定できます。 +## **テキストフレームに列を追加** -このC#コードは、テキストフレーム内に列を追加する方法を示しています: +Aspose.Slides for .NET は、テキストフレームに列を追加できるように、[ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) インターフェイスから取得できる [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) プロパティを提供します。このプロパティを使用して、テキストフレーム内の希望する列数を指定できます。 +以下の C# コードは、テキストフレーム内に列を追加する方法を示しています: ```c# string outPptxFileName = "ColumnsTest.pptx"; using (Presentation pres = new Presentation()) @@ -129,10 +166,10 @@ using (Presentation pres = new Presentation()) TextFrameFormat format = (TextFrameFormat)shape1.TextFrame.TextFrameFormat; format.ColumnCount = 2; - shape1.TextFrame.Text = "これらのすべての列は単一のテキストコンテナにとどまるよう強制されています -- " + - "テキストを追加または削除しても、残ったテキストは自動的に調整され、 " + - "コンテナ内にとどまるようになります。ただし、テキストが1つのコンテナから " + - "他のコンテナにあふれることはありません -- PowerPointのテキストオプションは制限されています!"; + shape1.TextFrame.Text = "All these columns are forced to stay within a single text container -- " + + "you can add or delete text - and the new or remaining text automatically adjusts " + + "itself to stay within the container. You cannot have text spill over from one container " + + "to other, though -- because PowerPoint's column options for text are limited!"; pres.Save(outPptxFileName, SaveFormat.Pptx); using (Presentation test = new Presentation(outPptxFileName)) @@ -162,12 +199,12 @@ using (Presentation pres = new Presentation()) } ``` -## **テキストの更新** -Aspose.Slidesは、テキストボックス内のテキストまたはプレゼンテーション内のすべてのテキストを変更または更新することを許可します。 +## **テキストの更新** -このC#コードは、プレゼンテーション内のすべてのテキストが更新または変更される操作を示します: +Aspose.Slides を使用すると、テキストボックス内のテキストやプレゼンテーション全体に含まれるテキストを変更または更新できます。 +以下の C# コードは、プレゼンテーション内のすべてのテキストを更新または変更する操作を示しています: ```c# using(Presentation pres = new Presentation("text.pptx")) { @@ -175,53 +212,53 @@ using(Presentation pres = new Presentation("text.pptx")) { foreach (IShape shape in slide.Shapes) { - if (shape is IAutoShape autoShape) // 形状がテキストフレーム(IAutoShape)をサポートしているか確認します + if (shape is IAutoShape autoShape) //shape がテキストフレーム (IAutoShape) をサポートしているか確認します。 { - foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) // テキストフレーム内の段落を繰り返します + foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) //テキストフレーム内の段落を繰り返し処理します { - foreach (IPortion portion in paragraph.Portions) // 各部分を段落内で繰り返します + foreach (IPortion portion in paragraph.Portions) //段落内の各ポーションを繰り返し処理します { - portion.Text = portion.Text.Replace("years", "months"); // テキストを変更します - portion.PortionFormat.FontBold = NullableBool.True; // 書式を変更します + portion.Text = portion.Text.Replace("years", "months"); //テキストを変更します + portion.PortionFormat.FontBold = NullableBool.True; //書式を変更します } } } } } - - // 修正されたプレゼンテーションを保存します + + //変更されたプレゼンテーションを保存します pres.Save("text-changed.pptx", SaveFormat.Pptx); } ``` -## **ハイパーリンク付きテキストボックスの追加** -テキストボックス内にリンクを挿入できます。テキストボックスがクリックされると、ユーザーはリンクを開くように指示されます。 +## **ハイパーリンク付きテキストボックスの追加** -1. `Presentation`クラスのインスタンスを作成します。 -2. インデックスを使用して最初のスライドの参照を取得します。 -3. 指定された位置に`ShapeType`を`Rectangle`として設定した`AutoShape`オブジェクトを追加し、新しく追加されたAutoShapeオブジェクトの参照を取得します。 -4. デフォルトのテキストとして*Aspose TextBox*を含む`TextFrame`を`AutoShape`オブジェクトに追加します。 -5. `IHyperlinkManager`クラスをインスタンス化します。 -6. お好きな`TextFrame`の部分に関連付けられた[HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick)プロパティに`IHyperlinkManager`オブジェクトを設定します。 -7. 最後に、`Presentation`オブジェクトを介してPPTXファイルを書き込みます。 +テキストボックス内にリンクを挿入できます。テキストボックスがクリックされると、ユーザーはリンク先を開くように誘導されます。 -上記のステップを実装したこのC#コードは、スライドにハイパーリンク付きテキストボックスを追加する方法を示しています: +1. `Presentation` クラスのインスタンスを作成します。 +2. インデックスを使用して最初のスライドの参照を取得します。 +3. スライド上の指定位置に、`ShapeType` を `Rectangle` に設定した `AutoShape` オブジェクトを追加し、新しく追加された AutoShape オブジェクトの参照を取得します。 +4. `AutoShape` オブジェクトに、デフォルトテキストとして *Aspose TextBox* を含む `TextFrame` を追加します。 +5. `IHyperlinkManager` クラスのインスタンスを作成します。 +6. `TextFrame` の目的の部分に関連付けられた [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick) プロパティに `IHyperlinkManager` オブジェクトを割り当てます。 +7. 最後に、`Presentation` オブジェクトを使用して PPTX ファイルを書き込みます。 +以下の C# コードは、上記の手順を実装したもので、ハイパーリンク付きテキストボックスをスライドに追加する方法を示しています: ```c# -// PPTXを表すPresentationクラスをインスタンス化 +// PPTX を表す Presentation クラスのインスタンスを作成 Presentation pptxPresentation = new Presentation(); // プレゼンテーションの最初のスライドを取得 ISlide slide = pptxPresentation.Slides[0]; -// 自動図形オブジェクトを追加し、タイプをRectangleに設定 +// タイプを Rectangle に設定した AutoShape オブジェクトを追加 IShape pptxShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 150, 150, 50); -// 形状をAutoShapeにキャスト +// シェイプを AutoShape にキャスト IAutoShape pptxAutoShape = (IAutoShape)pptxShape; -// AutoShapeに関連付けられたITextFrameプロパティにアクセス +// AutoShape に関連付けられた ITextFrame プロパティにアクセス pptxAutoShape.AddTextFrame(""); ITextFrame ITextFrame = pptxAutoShape.TextFrame; @@ -233,6 +270,17 @@ ITextFrame.Paragraphs[0].Portions[0].Text = "Aspose.Slides"; IHyperlinkManager HypMan = ITextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkManager; HypMan.SetExternalHyperlinkClick("http://www.aspose.com"); -// PPTXプレゼンテーションを保存 +// PPTX プレゼンテーションを保存 pptxPresentation.Save("hLinkPPTX_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**テキストボックスとマスタースライドで使用するテキストプレースホルダーの違いは何ですか?** + +[placeholder](/slides/ja/net/manage-placeholder/) は [master](https://reference.aspose.com/slides/net/aspose.slides/masterslide/) からスタイルと位置を継承し、[layouts](https://reference.aspose.com/slides/net/aspose.slides/layoutslide/) で上書きできます。一方、通常のテキストボックスは特定のスライド上の独立したオブジェクトで、レイアウトを切り替えても変わりません。 + +**チャート、テーブル、SmartArt 内のテキストに触れずに、プレゼンテーション全体でテキストを一括置換するにはどうすればよいですか?** + +テキストフレームを持つオートシェイプに対してのみ反復処理を行い、埋め込みオブジェクト([charts](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/)、[tables](https://reference.aspose.com/slides/net/aspose.slides/table/)、[SmartArt](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartart/))はそれぞれのコレ列を別々に走査するか、これらのオブジェクトタイプをスキップして除外してください。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md b/ja/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md index fba81f1327..c8f82fe1a6 100644 --- a/ja/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md @@ -3,26 +3,41 @@ title: プレゼンテーションのローカリゼーション type: docs weight: 100 url: /ja/net/presentation-localization/ -keywords: "言語を変更する, スペルチェック, スペル チェック, スペル チェッカー, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "PowerPoint プレゼンテーションの言語を変更または確認します。C# または .NET でテキストのスペルチェック" +keywords: "言語を変更, スペルチェック, スペルチェック, スペルチェッカー, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" +description: "PowerPoint プレゼンテーションで言語を変更または確認します。C# または .NET でテキストのスペルチェックを行います" --- -## **プレゼンテーションおよび図形のテキストの言語を変更する** + +## **プレゼンテーションとシェイプのテキストの言語を変更する** - [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 - インデックスを使用してスライドの参照を取得します。 -- スライドに長方形タイプのオートシェイプを追加します。 -- テキストフレームにいくつかのテキストを追加します。 -- テキストの言語 ID を設定します。 -- プレゼンテーションを PPTX ファイルとして保存します。 - -上記手順の実装は、以下の例で示されています。 +- スライドに矩形タイプのAutoShapeを追加します。 +- TextFrameにテキストを追加します。 +- テキストにLanguage Idを設定します。 +- プレゼンテーションをPPTXファイルとして書き出します。 +上記の手順の実装例を以下に示します。 ```c# using (Presentation pres = new Presentation("test0.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); - shape.AddTextFrame("スペルチェック言語を適用するテキスト"); + shape.AddTextFrame("Text to apply spellcheck language"); shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId = "en-EN"; pres.Save("test1.pptx",Aspose.Slides.Export.SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**language_idは自動テキスト翻訳をトリガーしますか?** + +いいえ。Aspose.Slides の [language_id](https://reference.aspose.com/slides/net/aspose.slides/portionformat/languageid/) はスペルチェックと文法校正のための言語情報を保持しますが、テキスト内容を翻訳したり変更したりはしません。これは PowerPoint が校正用に理解するメタデータです。 + +**language_idはレンダリング時のハイフネーションや改行に影響しますか?** + +Aspose.Slides では、[LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) は校正用です。ハイフネーションの品質や改行は主に、[proper fonts](/slides/ja/net/powerpoint-fonts/) の利用可能性や、書記体系に対するレイアウト/改行設定に依存します。正しいレンダリングを確保するには、必要なフォントを利用可能にし、[font substitution rules](/slides/ja/net/font-substitution/) を設定するか、またはプレゼンテーションに[embed fonts](/slides/ja/net/embedded-font/) を埋め込んでください。 + +**単一の段落内で異なる言語を設定できますか?** + +はい。[LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) はテキストの部分レベルで適用されるため、単一の段落内で複数の言語を混在させ、それぞれ異なる校正設定を使用できます。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md b/ja/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md index 010b56fccb..a229314b33 100644 --- a/ja/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md @@ -1,78 +1,114 @@ --- -title: 上付き文字と下付き文字 +title: C#で上付き文字と下付き文字を管理する +linktitle: 上付き文字と下付き文字 type: docs weight: 80 url: /ja/net/superscript-and-subscript/ -keywords: "上付き文字, 下付き文字, 上付き文字テキストを追加, 下付き文字テキストを追加, PowerPointプレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C# または .NET で PowerPoint プレゼンテーションに上付き文字と下付き文字テキストを追加する" +keywords: +- 上付き文字 +- 下付き文字 +- 上付き文字の追加 +- 下付き文字の追加 +- PowerPoint +- OpenDocument +- プレゼンテーション +- C# +- Csharp +- Aspose.Slides +description: "Aspose.Slides for .NET で上付き文字と下付き文字をマスターし、プレゼンテーションをプロフェッショナルなテキスト書式で強化して最大のインパクトを実現します。" --- -## **上付き文字と下付き文字テキストの管理** -任意の段落部分内に上付き文字と下付き文字テキストを追加できます。Aspose.Slides テキストフレームに上付き文字または下付き文字テキストを追加するには、**Escapement** プロパティを PortionFormat クラスの使用する必要があります。 +## **概要** -このプロパティは、上付き文字または下付き文字のテキストを返すか設定します(値は -100%(下付き文字)から 100%(上付き文字)まで)。例えば: +Aspose.Slides for .NET は、PowerPoint(PPT、PPTX)および OpenDocument(ODP)プレゼンテーションに上付き文字と下付き文字のテキストを統合する機能を提供します。化学式、数式、または脚注でコンテンツに注釈を付ける必要がある場合でも、これらの特殊な書式設定オプションは明瞭さと正確さを保つのに役立ちます。本稿では、上付き文字と下付き文字のスタイルをシームレスに適用し、すべてのスライドでプロフェッショナルな結果を得る方法を学びます。 -- [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 -- インデックスを使用してスライドの参照を取得します。 -- スライドに長方形タイプの IAutoShape を追加します。 -- IAutoShape に関連付けられている ITextFrame にアクセスします。 -- 既存の段落をクリアします。 -- 上付き文字テキストを保持する新しい段落オブジェクトを作成し、ITextFrame の IParagraphs コレクションに追加します。 -- 新しいポーションオブジェクトを作成します。 -- 上付き文字を追加するためにポーションの Escapement プロパティを 0 から 100 の間に設定します。(0 は上付き文字なしを意味します) -- ポーションのテキストを設定し、それを段落のポーションコレクションに追加します。 -- 下付き文字テキストを保持する新しい段落オブジェクトを作成し、ITextFrame の IParagraphs コレクションに追加します。 -- 新しいポーションオブジェクトを作成します。 -- 下付き文字を追加するためにポーションの Escapement プロパティを 0 から -100 の間に設定します。(0 は下付き文字なしを意味します) -- ポーションのテキストを設定し、それを段落のポーションコレクションに追加します。 -- プレゼンテーションを PPTX ファイルとして保存します。 +## **上付き文字および下付き文字のテキストを追加** -上記の手順の実装は以下の通りです。 +任意の段落内に上付き文字や下付き文字のテキストを追加できます。Aspose.Slides でこれを実現するには、[PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) クラスの `Escapement` プロパティを使用する必要があります。 +このプロパティを使用すると、上付き文字または下付き文字のテキストを設定でき、値は -100%(下付き)から 100%(上付き)までです。 + +実装手順: + +1. Presentation クラスのインスタンスを作成します。 +1. インデックスを使用してスライドへの参照を取得します。 +1. `Rectangle` タイプの [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) をスライドに追加します。 +1. [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) に関連付けられた [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) にアクセスします。 +1. 既存の段落をクリアします。 +1. 上付き文字テキスト用に新しい [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) を作成し、[ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) の段落コレクションに追加します。 +1. 新しいテキスト部分オブジェクトを作成します。 +1. `Escapement` プロパティを 0 から 100 の範囲で設定し、上付き文字を適用します(0 は上付きなし)。 +1. [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) にテキストを設定し、段落の部分コレクションに追加します。 +1. 下付き文字テキスト用に別の [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) を作成し、段落コレクションに追加します。 +1. 新しいテキスト部分オブジェクトを作成します。 +1. `Escapement` プロパティを 0 から -100 の範囲で設定し、下付き文字を適用します(0 は下付きなし)。 +1. [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) にテキストを設定し、段落の部分コレクションに追加します。 +1. プレゼンテーションを PPTX ファイルとして保存します。 + +以下の C# コードはこれらの手順を実装しています: ```c# -using (Presentation presentation = new Presentation("test.pptx")) +using (Presentation presentation = new Presentation()) { - // スライドを取得 + // 最初のスライドを取得します。 ISlide slide = presentation.Slides[0]; - // テキストボックスを作成 + // テキストボックスを作成します。 IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 200, 100); ITextFrame textFrame = shape.TextFrame; + textFrame.Paragraphs.Clear(); - // 上付き文字テキスト用の段落を作成 + // 上付き文字用の段落を作成します。 IParagraph superPar = new Paragraph(); - // 通常のテキストを持つポーションを作成 + // 通常テキストのテキスト部分を作成します。 IPortion portion1 = new Portion(); - portion1.Text = "SlideTitle"; + portion1.Text = "MyProduct"; superPar.Portions.Add(portion1); - // 上付き文字テキストを持つポーションを作成 + // 上付き文字のテキスト部分を作成します。 IPortion superPortion = new Portion(); superPortion.PortionFormat.Escapement = 30; superPortion.Text = "TM"; superPar.Portions.Add(superPortion); - // 下付き文字テキスト用の段落を作成 + // 下付き文字用の段落を作成します。 IParagraph paragraph2 = new Paragraph(); - // 通常のテキストを持つポーションを作成 + // 通常テキストのテキスト部分を作成します。 IPortion portion2 = new Portion(); portion2.Text = "a"; paragraph2.Portions.Add(portion2); - // 下付き文字テキストを持つポーションを作成 + // 下付き文字のテキスト部分を作成します。 IPortion subPortion = new Portion(); subPortion.PortionFormat.Escapement = -25; subPortion.Text = "i"; paragraph2.Portions.Add(subPortion); - // テキストボックスに段落を追加 + // 段落をテキストボックスに追加します。 textFrame.Paragraphs.Add(superPar); textFrame.Paragraphs.Add(paragraph2); - presentation.Save("TestOut.pptx", SaveFormat.Pptx); - System.Diagnostics.Process.Start("TestOut.pptx"); -} -``` \ No newline at end of file + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +結果: + +![上付き文字と下付き文字](superscript_and_subscript.png) + +## **よくある質問** + +**上付き文字と下付き文字は PDF や他の形式にエクスポートする際に保持されますか?** + +はい、Aspose.Slides for .NET は、PDF、PPT/PPTX、画像、その他のサポートされている形式へプレゼンテーションをエクスポートする際に、上付き文字と下付き文字の書式設定を適切に保持します。特殊な書式はすべての出力ファイルでそのまま残ります。 + +**上付き文字と下付き文字は、太字や斜体などの他の書式スタイルと組み合わせることができますか?** + +はい、Aspose.Slides では、単一のテキスト部分内でさまざまなテキストスタイルを組み合わせることができます。太字、斜体、下線を有効にし、同時に上付き文字や下付き文字を適用するには、[PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) の対応するプロパティを設定します。 + +**上付き文字と下付き文字の書式設定は、表、チャート、または SmartArt 内のテキストでも機能しますか?** + +はい、Aspose.Slides for .NET は、表やチャート要素を含むほとんどのオブジェクト内での書式設定をサポートしています。SmartArt を使用する場合は、適切な要素(たとえば [SmartArtNode](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartartnode/))とそのテキストコンテナにアクセスし、同様の方法で [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) プロパティを設定する必要があります。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md b/ja/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md index 894ac4cc11..003aa2b219 100644 --- a/ja/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md @@ -1,664 +1,521 @@ --- -title: テキストフォーマット -linktitle: テキストフォーマット +title: C# で PowerPoint テキストをフォーマットする +linktitle: テキスト書式設定 type: docs weight: 50 url: /ja/net/text-formatting/ keywords: -- テキスト強調 +- テキストのハイライト - 正規表現 -- テキスト段落の整列 +- 段落の配置 +- テキストスタイル +- テキスト背景 - テキストの透明度 -- 段落フォントプロパティ -- フォントファミリ -- テキストの回転 -- カスタム角度回転 +- 文字間隔 +- フォントプロパティ +- フォントファミリー +- テキスト回転 +- 回転角度 - テキストフレーム - 行間 -- オートフィットプロパティ +- 自動調整プロパティ - テキストフレームアンカー -- テキストタブ -- デフォルトのテキストスタイル +- テキストタブ設定 +- 既定言語 +- PowerPoint +- OpenDocument +- プレゼンテーション - C# -- Aspose.Slides for .NET -description: "C#でテキストとテキストフレームプロパティを管理および操作します" +- Aspose.Slides +description: "Aspose.Slides for .NET を使用して、PowerPoint および OpenDocument のプレゼンテーションでテキストをフォーマットおよびスタイル設定する方法を学びます。フォント、色、配置などを強力な C# コード例でカスタマイズできます。" --- -## 概要 +## **概要** -この記事では、**C#を使ったPowerPointプレゼンテーションのテキストフォーマットの操作方法**について説明します。例えば、テキストの強調表示、正規表現の適用、テキスト段落の整列、テキストの透明度の設定、段落フォントプロパティの変更、フォントファミリの使用、テキストの回転の設定、角度回転のカスタマイズ、テキストフレームの管理、行間の設定、オートフィットプロパティの使用、テキストフレームアンカーの設定、テキストタブの変更などのトピックを扱います。 +この記事では、Aspose.Slides for .NET を使用して PowerPoint および OpenDocument プレゼンテーション内のテキストの管理と書式設定方法を紹介します。フォントの選択、サイズ、色、ハイライト、背景色、間隔、配置などのテキスト書式設定機能の適用方法を学びます。さらに、テキストフレーム、段落、書式設定、およびカスタム回転や自動調整動作などの高度なレイアウトオプションの操作方法もカバーします。 -## **テキストを強調表示する** +プログラムでプレゼンテーションを生成する場合でも、既存のコンテンツをカスタマイズする場合でも、これらの例はスライドの可読性を向上させ、プロフェッショナルな外観のテキストレイアウトを作成するのに役立ちます。 -新しいHighlightTextメソッドがITextFrameインターフェイスとTextFrameクラスに追加されました。 +以下の例では、最初のスライドに単一のテキストボックスが含まれる「sample.pptx」ファイルを使用し、テキストは次のとおりです。 -これにより、PowerPoint 2019のテキストハイライトカラーツールに似た、テキストサンプルを使用して背景色でテキストの一部を強調表示できます。 +![サンプルテキスト](sample_text.png) -1. 入力ファイルを持つ[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)クラスのインスタンスを作成します。 - - 入力ファイルはPPT、PPTX、ODPなどが可能です。 -2. [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/)コレクションを使って、そのスライドにアクセスします。 -3. [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/)コレクションを使用して、形状に[AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)としてアクセスします。 -4. [TextFrame.Highlight()](https://reference.aspose.com/slides/net/aspose.slides/textframe/highlighttext/#highlighttext)メソッドを使用してテキストを強調表示します。 -5. 希望の出力形式(PPT、PPTXまたはODPなど)でプレゼンテーションを保存します。 +## **テキストのハイライト** -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("title", Color.LightBlue); // 'important'のすべての単語を強調表示します -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("to", Color.Violet, new TextHighlightingOptions() -{ - WholeWordsOnly = true -}); // 'the'のすべての別々の出現を強調表示します -presentation.Save("SomePresentation-out2.pptx", SaveFormat.Pptx); -``` - -{{% alert color="primary" %}} +[ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/) メソッドを使用すると、マッチするテキストサンプルに基づいてテキストの一部を背景色でハイライトできます。 -Asposeは、シンプルな[無料オンラインPowerPoint編集サービス](https://products.aspose.app/slides/editor)を提供します。 +このメソッドを使用する手順は次のとおりです。 -{{% /alert %}} +1. 入力ファイル (PPT、PPTX、ODP など) を指定して [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) クラスのインスタンスを作成します。 +1. [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/) コレクションから目的のスライドにアクセスします。 +1. [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) コレクションから対象のシェイプにアクセスし、[IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) にキャストします。 +1. サンプルテキストとカラーを指定して [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/) メソッドで目的のテキストをハイライトします。 +1. 任意の出力形式 (PPT、PPTX、ODP など) でプレゼンテーションを保存します。 -## **正規表現を使用してテキストを強調表示する** +以下のコード例は文字列 **"try"** と単語 **"to"** のすべての出現箇所をハイライトします。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + // 最初のスライドから最初のシェイプを取得します。 + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; -新しいHighlightRegexメソッドがITextFrameインターフェイスとTextFrameクラスに追加されました。 + // シェイプ内の単語 "try" をハイライトします。 + shape.TextFrame.HighlightText("try", Color.LightBlue); -これにより、正規表現を使用して背景色でテキストの一部を強調表示できます。これは、PowerPoint 2019のテキストハイライトカラーツールに似ています。 + var searchOptions = new TextSearchOptions() + { + WholeWordsOnly = true + }; -以下のコードスニペットは、この機能を使用する方法を示しています: + // シェイプ内の単語 "to" をハイライトします。 + shape.TextFrame.HighlightText("to", Color.Violet, searchOptions, null); -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -TextHighlightingOptions options = new TextHighlightingOptions(); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightRegex(@"\b[^\s]{5,}\b", Color.Blue, options); // 10文字以上のすべての単語を強調表示します -presentation.Save("SomePresentation-out.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text.pptx", SaveFormat.Pptx); +} ``` -## **テキストの背景色を設定する** -Aspose.Slidesを使用すると、テキストの背景に好みの色を指定できます。 +結果: -以下のC#コードは、全体のテキストの背景色を設定する方法を示しています: +![ハイライトされたテキスト](highlighted_text.png) -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Black"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Red "); - - var portion3 = new Portion("Black"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} - -using (Presentation pres = new Presentation("text.pptx")) -{ - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; +{{% alert color="primary" %}} - foreach (IPortion portion in autoShape.TextFrame.Paragraphs[0].Portions) - { - portion.PortionFormat.HighlightColor.Color = Color.Blue; - } +Aspose はシンプルな、[FREE Online PowerPoint Editor](https://products.aspose.app/slides/editor) を提供しています。 - pres.Save("text-red.pptx", SaveFormat.Pptx); -} -``` +{{% /alert %}} -このC#コードは、テキストの一部の背景色を設定する方法を示しています: +## **正規表現を使用したテキストのハイライト** -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Black"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Red "); - - var portion3 = new Portion("Black"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +Aspose.Slides for .NET では、正規表現を使用して PowerPoint スライド内の特定のテキスト部分を検索およびハイライトできます。この機能は、キーワード、パターン、データ駆動型コンテンツを動的に強調表示したい場合に特に便利です。[ITextFrame.HighlightRegex](https://docs.aspose.com/slides/net/text-formatting/) メソッドを使用すると、正規表現で一致したテキスト部分を背景色でハイライトできます。 -using (Presentation pres = new Presentation("text.pptx")) +以下のコード例は **7 文字以上** の単語すべてをハイライトします。 +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; - IPortion redPortion = autoShape.TextFrame.Paragraphs[0].Portions - .First(p => p.Text.Contains("Red")); + // 7文字以上の単語すべてをハイライトします。 + shape.TextFrame.HighlightRegex(@"\b[^\s]{7,}\b", Color.Yellow, null); - redPortion.PortionFormat.HighlightColor.Color = Color.Red; - - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text_using_regex.pptx", SaveFormat.Pptx); } ``` -## **テキスト段落を整列する** -テキストフォーマットは、さまざまな文書やプレゼンテーションを作成する際の重要な要素の一つです。Aspose.Slides for .NETはスライドにテキストを追加することをサポートしていますが、このトピックでは、スライド内のテキスト段落の整列をどのように制御するかを見ていきます。以下の手順に従って、Aspose.Slides for .NETを使用してテキスト段落を整列してください: +結果: -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを使用してスライドの参照を取得します。 -3. スライド内のプレースホルダー形状にアクセスし、それらをAutoShapeにキャストします。 -4. AutoShapeによって公開されたTextFrameから(整列が必要な)段落を取得します。 -5. 段落を整列します。段落は右、左、中央、均等に整列できます。 -6. 修正されたプレゼンテーションをPPTXファイルとして書き込みます。 +![正規表現でハイライトされたテキスト](highlighted_text_using_regex.png) -上記のステップの実装は以下に示されています。 +## **テキストの背景色の設定** -```c# -// PPTXファイルを表すPresentationオブジェクトを作成する -using (Presentation pres = new Presentation("ParagraphsAlignment.pptx")) +Aspose.Slides for .NET では、PowerPoint スライド内の段落全体または個々のテキスト部分に背景色を適用できます。この機能は、特定の単語やフレーズを強調したり、重要なメッセージに注意を引いたり、プレゼンテーションの視覚的魅力を高めたい場合に便利です。 + +以下のコード例は **段落全体** の背景色を設定する方法を示しています。 +```cs +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // 最初のスライドにアクセスする - ISlide slide = pres.Slides[0]; + // 段落全体のハイライト色を設定します。 + paragraph.ParagraphFormat.DefaultPortionFormat.HighlightColor.Color = Color.LightGray; - // スライド内の最初と2番目のプレースホルダーにアクセスし、AutoShapeとしてキャストする - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; + presentation.Save("gray_paragraph.pptx", SaveFormat.Pptx); +} +``` - // 両方のプレースホルダーのテキストを変更する - tf1.Text = "Asposeによるセンターアライン"; - tf2.Text = "Asposeによるセンターアライン"; - // プレースホルダーの最初の段落を取得する - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; +結果: - // テキスト段落を中央に整列させる - para1.ParagraphFormat.Alignment = TextAlignment.Center; - para2.ParagraphFormat.Alignment = TextAlignment.Center; +![グレーの段落](gray_paragraph.png) + +以下のコード例は **太字フォントのテキスト部分** の背景色を設定する方法を示しています。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; + + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // テキスト部分のハイライト色を設定します。 + portion.PortionFormat.HighlightColor.Color = Color.LightGray; + } + } - // PPTXファイルとしてプレゼンテーションを書き込む - pres.Save("Centeralign_out.pptx", SaveFormat.Pptx); + presentation.Save("gray_text_portions.pptx", SaveFormat.Pptx); } ``` -## **テキストの透明度を設定する** -この記事では、Aspose.Slides for .NETを使用してテキスト形状に透明度プロパティを設定する方法を示します。テキストに透明度を設定するには、以下の手順に従ってください: +結果: -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. スライドの参照を取得します。 -3. 影の色を設定します。 -4. プレゼンテーションをPPTXファイルとして書き込みます。 +![グレーのテキスト部分](gray_text_portions.png) -上記のステップの実装は以下に示されています。 +## **テキスト段落の配置** -```c# -using (Presentation pres = new Presentation("transparency.pptx")) -{ - IAutoShape shape = (IAutoShape)pres.Slides[0].Shapes[0]; - IEffectFormat effects = shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.EffectFormat; - - IOuterShadow outerShadowEffect = effects.OuterShadowEffect; +テキストの配置は、可読性と視覚的魅力の両方に影響するスライド書式設定の重要な要素です。Aspose.Slides for .NET では、テキストフレーム内の段落配置を正確に制御でき、センタリング、左揃え、右揃え、両端揃えなど、一貫した表示を実現できます。このセクションでは、PowerPoint プレゼンテーションでテキスト配置を適用およびカスタマイズする方法を説明します。 - Color shadowColor = outerShadowEffect.ShadowColor.Color; - Console.WriteLine($"{shadowColor} - 透明度は:{((float)shadowColor.A / byte.MaxValue) * 100}"); +以下のコード例は段落を **中央** に揃える方法を示しています。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // 透明度をゼロパーセントに設定する - outerShadowEffect.ShadowColor.Color = Color.FromArgb(255, shadowColor); + // 段落の配置を中央に設定します。 + paragraph.ParagraphFormat.Alignment = TextAlignment.Center; - pres.Save("transparency-2.pptx", SaveFormat.Pptx); + presentation.Save("aligned_paragraph.pptx", SaveFormat.Pptx); } ``` -## **テキストの文字間隔を設定する** -Aspose.Slidesを使用すると、テキストボックス内の文字間のスペースを設定できます。これにより、文字の間隔を広げたり縮めたりすることで、行やブロックの視覚的な密度を調整できます。 +結果: -以下のC#コードは、1行のテキストの間隔を広げ、別の行の間隔を縮める方法を示しています: +![揃えられた段落](aligned_paragraph.png) -```c# -var presentation = new Presentation("in.pptx"); +## **テキストの透明度の設定** -var textBox1 = (IAutoShape)presentation.Slides[0].Shapes[0]; -var textBox2 = (IAutoShape)presentation.Slides[0].Shapes[1]; +テキストの透明度を調整すると、微妙な視覚効果を作成し、スライドの美観を向上させることができます。Aspose.Slides for .NET は、段落やテキスト部分の透明度レベルを設定する機能を提供し、テキストを背景とブレンドしたり、特定の要素を強調したりするのが簡単になります。このセクションでは、プレゼンテーションのテキストに透明度設定を適用する方法を示します。 + +以下のコード例は **段落全体** に透明度を適用する方法を示しています。 +```cs +int alpha = 50; + +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -textBox1.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = 20; // 拡張 -textBox2.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = -2; // 縮小 + // テキストの塗りつぶし色を透過色に設定します。 + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); -presentation.Save("out.pptx", SaveFormat.Pptx); + presentation.Save("transparent_paragraph.pptx", SaveFormat.Pptx); +} ``` -## **段落のフォントプロパティを管理する** -プレゼンテーションには通常、テキストと画像の両方が含まれています。テキストは、特定のセクションや単語を強調表示するためにさまざまにフォーマットできます。また、企業スタイルに適合させることも可能です。テキストフォーマットは、プレゼンテーションコンテンツの外観と感触を変えるのに役立ちます。この記事では、Aspose.Slides for .NETを使用してスライドのテキスト段落のフォントプロパティを構成する方法を示します。Aspose.Slides for .NETを使用して段落のフォントプロパティを管理するには: +結果: -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを使用してスライドの参照を取得します。 -3. スライド内のプレースホルダー形状にアクセスし、それらをAutoShapeにキャストします。 -4. AutoShapeによって公開されたTextFrameから段落を取得します。 -5. 段落を均等に整列させます。 -6. 段落のテキストポーションにアクセスします。 -7. FontDataを使ってフォントを定義し、テキストポーションのフォントを設定します。 - 1. フォントを太字に設定します。 - 1. フォントを斜体に設定します。 -8. ポーションオブジェクトによって公開されたFillFormatを使用してフォントの色を設定します。 -9. 修正されたプレゼンテーションを[PPTX](https://docs.fileformat.com/presentation/pptx/)ファイルとして書き込みます。 +![透明な段落](transparent_paragraph.png) -以下に、上記のステップの実装を示します。これは、装飾のないプレゼンテーションを取り、スライドの1つでフォントをフォーマットします。 +以下のコード例は **太字フォントのテキスト部分** に透明度を適用する方法を示しています。 +```cs +int alpha = 50; -```c# -// PPTXファイルを表すPresentationオブジェクトを作成する -using (Presentation pres = new Presentation("FontProperties.pptx")) +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // スライドの位置を使用してアクセスする - ISlide slide = pres.Slides[0]; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // テキスト部分の透明度を設定します。 + portion.PortionFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); + } + } - // スライドの最初と2番目のプレースホルダーにアクセスし、AutoShapeとしてキャストする - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; + presentation.Save("transparent_text_portions.pptx", SaveFormat.Pptx); +} +``` - // 最初の段落にアクセスする - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - // 最初のポーションにアクセスする - IPortion port1 = para1.Portions[0]; - IPortion port2 = para2.Portions[0]; +結果: - // 新しいフォントを定義する - FontData fd1 = new FontData("Elephant"); - FontData fd2 = new FontData("Castellar"); +![透明なテキスト部分](transparent_text_portions.png) - // ポーションに新しいフォントを割り当てる - port1.PortionFormat.LatinFont = fd1; - port2.PortionFormat.LatinFont = fd2; +## **テキストの文字間隔の設定** - // フォントを太字に設定する - port1.PortionFormat.FontBold = NullableBool.True; - port2.PortionFormat.FontBold = NullableBool.True; +Aspose.Slides では、テキストボックス内の文字間隔を設定できます。これにより、文字間のスペースを拡大または縮小して、行やブロックの視覚的密度を調整できます。 - // フォントを斜体に設定する - port1.PortionFormat.FontItalic = NullableBool.True; - port2.PortionFormat.FontItalic = NullableBool.True; +以下の C# コードは **段落全体** の文字間隔を拡大する方法を示しています。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // フォント色を設定する - port1.PortionFormat.FillFormat.FillType = FillType.Solid; - port1.PortionFormat.FillFormat.SolidFillColor.Color = Color.Purple; - port2.PortionFormat.FillFormat.FillType = FillType.Solid; - port2.PortionFormat.FillFormat.SolidFillColor.Color = Color.Peru; + // 注:文字間隔を縮めるには負の値を使用します。 + paragraph.ParagraphFormat.DefaultPortionFormat.Spacing = 3; // 文字間隔を拡大します。 - // PPTXをディスクに書き込む - pres.Save("WelcomeFont_out.pptx", SaveFormat.Pptx); + presentation.Save("character_spacing_in_paragraph.pptx", SaveFormat.Pptx); } ``` -## **テキストのフォントファミリを管理する** -ポーションは、段落内の同様の書式スタイルを持つテキストを保持するために使用されます。この記事では、Aspose.Slides for .NETを使用してテキストボックスを作成し、特定のフォント、さまざまなフォントファミリのプロパティを定義する方法を示します。テキストボックスを作成し、テキストのフォントプロパティを設定するには: +結果: -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. インデックスを使用してスライドの参照を取得します。 -3. スライドに長方形のAutoShapeを追加します。 -4. AutoShapeに関連付けられた塗りつぶしスタイルを削除します。 -5. AutoShapeのTextFrameにアクセスします。 -6. TextFrameにテキストを追加します。 -7. TextFrameに関連付けられたPortionオブジェクトにアクセスします。 -8. Portionのために使用するフォントを定義します。 -9. 太字、斜体、下線、色、高さなどの他のフォントプロパティを設定します。 -10. 修正されたプレゼンテーションをPPTXファイルとして書き込みます。 +![段落内の文字間隔](character_spacing_in_paragraph.png) -上記のステップの実装は以下に示されています。 - -```c# -// プレゼンテーションをインスタンス化する -using (Presentation presentation = new Presentation()) +以下のコード例は **太字フォントのテキスト部分** の文字間隔を拡大する方法を示しています。 +```cs +using (var presentation = new Presentation("sample.pptx")) { - - // 最初のスライドを取得する - ISlide sld = presentation.Slides[0]; - - // 長方形のタイプのAutoShapeを追加する - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // AutoShapeに関連付けられた塗りつぶしスタイルを削除する - ashp.FillFormat.FillType = FillType.NoFill; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // 注: 文字間隔を縮めるには負の値を使用します。 + portion.PortionFormat.Spacing = 3; // 文字間隔を拡大します。 + } + } - // AutoShapeに関連付けられたTextFrameにアクセスする - ITextFrame tf = ashp.TextFrame; - tf.Text = "Aspose TextBox"; + presentation.Save("character_spacing_in_text_portions.pptx", SaveFormat.Pptx); +} +``` - // TextFrameに関連付けられたポーションにアクセスする - IPortion port = tf.Paragraphs[0].Portions[0]; - // ポーションのフォントを設定する - port.PortionFormat.LatinFont = new FontData("Times New Roman"); +結果: - // フォントの太字プロパティを設定する - port.PortionFormat.FontBold = NullableBool.True; +![テキスト部分の文字間隔](character_spacing_in_text_portions.png) - // フォントの斜体プロパティを設定する - port.PortionFormat.FontItalic = NullableBool.True; +## **テキストのフォントプロパティの管理** - // フォントの下線プロパティを設定する - port.PortionFormat.FontUnderline = TextUnderlineType.Single; +Aspose.Slides for .NET では、段落レベルと個々のテキスト部分の両方でフォント設定を細かく調整でき、視覚的な一貫性を保ち、プレゼンテーションのデザイン要件を満たすことができます。フォントスタイル、サイズ、その他の書式オプションを段落全体に定義でき、テキストの外観をより細かく制御できます。このセクションでは、スライド内のテキスト段落のフォントプロパティを管理する方法を示します。 - // フォントの高さを設定する - port.PortionFormat.FontHeight = 25; +以下のコードは段落全体のフォントとテキストスタイルを設定します。フォントサイズ、太字、イタリック、点線下線、Times New Roman フォントを段落内のすべての部分に適用します。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // フォントの色を設定する - port.PortionFormat.FillFormat.FillType = FillType.Solid; - port.PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; + // 段落のフォントプロパティを設定します。 + paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 12; + paragraph.ParagraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontItalic = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontUnderline = TextUnderlineType.Dotted; + paragraph.ParagraphFormat.DefaultPortionFormat.LatinFont = new FontData("Times New Roman"); - // PPTXをディスクに書き込む - presentation.Save("SetTextFontProperties_out.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_paragraph.pptx", SaveFormat.Pptx); } ``` -## **フォントサイズを設定する** -Aspose.Slidesを使用すると、段落内の既存のテキストや後で追加されるテキストに好みのフォントサイズを選択できます。 +結果: -以下のC#コードは、段落に含まれるテキストのフォントサイズを設定する方法を示しています。 +![段落のフォントプロパティ](font_properties_for_paragraph.png) -```c# -var presentation = new Presentation("example.pptx"); - -// 最初の形状を取得する -var shape = presentation.Slides[0].Shapes[0]; - -if (shape is IAutoShape autoShape) +以下のコード例は **太字フォントのテキスト部分** に同様のプロパティを適用します。 +```cs +using (var presentation = new Presentation("sample.pptx")) { - // 最初の段落を取得する + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; var paragraph = autoShape.TextFrame.Paragraphs[0]; - // 段落内のすべてのテキストポーションに対してデフォルトのフォントサイズを20ptに設定する。 - paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 20; - - // 段落内の現在のテキストポーションに対してフォントサイズを20ptに設定する。 foreach (var portion in paragraph.Portions) { - portion.PortionFormat.FontHeight = 20; + if (portion.PortionFormat.GetEffective().FontBold) + { + // テキスト部分のフォントプロパティを設定します。 + portion.PortionFormat.FontHeight = 13; + portion.PortionFormat.FontItalic = NullableBool.True; + portion.PortionFormat.FontUnderline = TextUnderlineType.Dotted; + portion.PortionFormat.LatinFont = new FontData("Times New Roman"); + } } -} -presentation.Save("output.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_text_portions.pptx", SaveFormat.Pptx); +} ``` -## **テキストを回転させる** - -Aspose.Slides for .NETでは、開発者がテキストを回転させることができます。テキストは、水平、垂直、270度垂直、WordArt垂直、東アジア垂直、モンゴル垂直、または右から左へのWordArt垂直として表示できます。テキストフレームのテキストを回転させるには、以下の手順に従ってください: - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. 最初のスライドにアクセスします。 -3. スライドに任意の形状を追加します。 -4. TextFrameにアクセスします。 -5. テキストを回転させます。 -6. ファイルをディスクに保存します。 -```c# -// Presentationクラスのインスタンスを作成する -Presentation presentation = new Presentation(); +結果: -// 最初のスライドを取得する -ISlide slide = presentation.Slides[0]; +![テキスト部分のフォントプロパティ](font_properties_for_text_portions.png) -// 長方形のタイプのAutoShapeを追加する -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); +## **テキストの回転の設定** -// 長方形にTextFrameを追加する -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; +テキストを回転させることで、スライドのレイアウトを強化し、特定のコンテンツを強調できます。Aspose.Slides for .NET を使用すると、シェイプ内のテキストに簡単に回転を適用でき、デザインに合わせて角度を調整できます。このセクションでは、目的の視覚効果を得るためのテキスト回転の設定と制御方法を示します。 -// テキストフレームにアクセスする -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; - -// テキストフレームの段落オブジェクトを作成する -IParagraph para = txtFrame.Paragraphs[0]; +以下のコード例はシェイプ内のテキスト方向を `Vertical270` に設定し、テキストを **90 度反時計回り** に回転させます。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// 段落のポーションオブジェクトを作成する -IPortion portion = para.Portions[0]; -portion.Text = "速い茶色の狐が怠け者の犬を飛び越える。速い茶色の狐が怠け者の犬を飛び越える。"; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; -// プレゼンテーションを保存する -presentation.Save("RotateText_out.pptx", SaveFormat.Pptx); + presentation.Save("text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **テキストフレームのカスタム回転角度を設定する** - -Aspose.Slides for .NETでは、テキストフレームのカスタム回転角度を設定することがサポートされました。このトピックでは、Aspose.SlidesのRotationAngleプロパティを設定する方法を例を用いて見ていきます。新しいプロパティRotationAngleがIChartTextBlockFormatおよびITextFrameFormatインターフェイスに追加され、テキストフレームのカスタム回転角度を設定できるようになりました。RotationAngleプロパティを設定するには、以下の手順に従ってください: -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. スライドにチャートを追加します。 -3. RotationAngleプロパティを設定します。 -4. プレゼンテーションをPPTXファイルとして書き込みます。 +結果: -以下の例では、RotationAngleプロパティを設定しています。 +![テキストの回転](text_rotation.png) -```c# -// Presentationクラスのインスタンスを作成する -Presentation presentation = new Presentation(); +## **テキストフレームのカスタム回転の設定** -IChart chart = presentation.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 300); +`TextFrame` にカスタム回転角度を設定すると、正確な角度でテキストを配置でき、より創造的で柔軟なスライドデザインが可能になります。Aspose.Slides for .NET はテキストフレームの回転をフルコントロールでき、他のスライド要素とテキストを整列させやすくします。このセクションでは、`TextFrame` に特定の回転角度を適用する手順を説明します。 -IChartSeries series = chart.ChartData.Series[0]; - -series.Labels.DefaultDataLabelFormat.ShowValue = true; -series.Labels.DefaultDataLabelFormat.TextFormat.TextBlockFormat.RotationAngle = 65; +以下のコード例はシェイプ内でテキストフレームを **時計回りに 3 度** 回転させます。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -chart.HasTitle = true; -chart.ChartTitle.AddTextFrameForOverriding("カスタムタイトル").TextFrameFormat.RotationAngle = -30; + autoShape.TextFrame.TextFrameFormat.RotationAngle = 3; -// プレゼンテーションを保存する -presentation.Save("textframe-rotation_out.pptx", SaveFormat.Pptx); + presentation.Save("custom_text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **段落の行間を設定する** - -Aspose.Slidesは、段落の行間を管理するためのプロパティ([SpaceAfter](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spaceafter)、[SpaceBefore](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacebefore)、および[SpaceWithin](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacewithin))を提供します。これらのプロパティは以下のように使用されます: -* 段落の行間をパーセントで指定するには、正の値を使用します。 -* 段落の行間をポイントで指定するには、負の値を使用します。 +結果: -例えば、段落に16ptの行間を適用するには、`SpaceBefore`プロパティを-16に設定します。 +![カスタムテキスト回転](custom_text_rotation.png) -特定の段落の行間を指定するには、以下の手順を実行します: +## **段落の行間の設定** -1. テキストが含まれるAutoShapeを持つプレゼンテーションを読み込みます。 -2. インデックスを通じてスライドの参照を取得します。 -3. TextFrameにアクセスします。 -4. 段落にアクセスします。 -5. 段落のプロパティを設定します。 -6. プレゼンテーションを保存します。 +Aspose.Slides は [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/) クラスの `SpaceAfter`、`SpaceBefore`、`SpaceWithin` プロパティを提供し、段落の行間を管理できます。これらのプロパティは次のように使用します。 -以下のC#コードは、段落の行間を指定する方法を示しています: +* 正の値を使用すると、行間を行の高さのパーセンテージで指定します。 +* 負の値を使用すると、行間をポイント単位で指定します。 -```c# -// Presentationクラスのインスタンスを作成する -Presentation presentation = new Presentation("Fonts.pptx"); - -// インデックスを使用してスライドの参照を取得します -ISlide sld = presentation.Slides[0]; - -// TextFrameにアクセスします -ITextFrame tf1 = ((IAutoShape)sld.Shapes[0]).TextFrame; +以下のコード例は段落内の行間を指定する方法を示しています。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// 段落にアクセスします -IParagraph para1 = tf1.Paragraphs[0]; + paragraph.ParagraphFormat.SpaceWithin = 200; -// 段落のプロパティを設定します -para1.ParagraphFormat.SpaceWithin = 80; -para1.ParagraphFormat.SpaceBefore = 40; -para1.ParagraphFormat.SpaceAfter = 40; -// プレゼンテーションを保存します -presentation.Save("LineSpacing_out.pptx", SaveFormat.Pptx); + presentation.Save("line_spacing.pptx", SaveFormat.Pptx); +} ``` -## **テキストフレームのAutofitTypeプロパティを設定する** - -このトピックでは、テキストフレームのさまざまなフォーマットプロパティを探ります。この記事では、テキストフレームのAutofitTypeプロパティの設定、テキストのアンカー、プレゼンテーション内のテキストの回転について説明します。Aspose.Slides for .NETは、任意のテキストフレームのAutofitTypeプロパティを設定できるようにします。AutofitTypeはNormalまたはShapeに設定できます。Normalに設定すると、形状はそのままで、テキストが調整され形状を変更しません。一方、AutofitTypeがShapeに設定されている場合、形状は変更され、必要なテキストのみが収まります。テキストフレームのAutofitTypeプロパティを設定するには、以下の手順に従います: - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. 最初のスライドにアクセスします。 -3. スライドに任意の形状を追加します。 -4. TextFrameにアクセスします。 -5. TextFrameのAutofitTypeを設定します。 -6. ファイルをディスクに保存します。 - -```c# -// Presentationクラスのインスタンスを作成する -Presentation presentation = new Presentation(); -// 最初のスライドにアクセスする -ISlide slide = presentation.Slides[0]; +結果: -// 長方形のタイプのAutoShapeを追加する -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); +![段落内の行間](line_spacing.png) -// 長方形にTextFrameを追加する -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; +## **テキストフレームの Autofit タイプの設定** -// テキストフレームにアクセスする -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; - -// テキストフレームの段落オブジェクトを作成する -IParagraph para = txtFrame.Paragraphs[0]; +AutofitType プロパティは、テキストがコンテナの境界を超えたときの動作を決定します。Aspose.Slides for .NET では、テキストを縮小して合わせるか、はみ出すか、シェイプを自動的にリサイズするかを制御できます。このセクションでは、`TextFrame` の `AutofitType` を設定してシェイプ内のテキストレイアウトを効果的に管理する方法を示します。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// 段落のポーションオブジェクトを作成する -IPortion portion = para.Portions[0]; -portion.Text = "速い茶色の狐が怠け者の犬を飛び越える。速い茶色の狐が怠け者の犬を飛び越える。"; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// プレゼンテーションを保存する -presentation.Save("formatText_out.pptx", SaveFormat.Pptx); + presentation.Save("autofit_type.pptx", SaveFormat.Pptx); +} ``` -## **テキストフレームのアンカーを設定する** - -Aspose.Slides for .NETは、任意のTextFrameのアンカーを設定できます。TextAnchorTypeは、テキストが形状内のどこに配置されるかを指定します。TextAnchorTypeはTop、Center、Bottom、Justified、またはDistributedに設定できます。任意のTextFrameのアンカーを設定するには、以下の手順に従います: -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. 最初のスライドにアクセスします。 -3. スライドに任意の形状を追加します。 -4. TextFrameにアクセスします。 -5. TextAnchorTypeをTextFrameに設定します。 -6. ファイルをディスクに保存します。 +## **テキストフレームのアンカーの設定** -```c# -// Presentationクラスのインスタンスを作成する -Presentation presentation = new Presentation(); +アンカーはテキストをシェイプ内で垂直方向に配置する方法を定義します。Aspose.Slides for .NET を使用すると、`TextFrame` のアンカータイプを設定してテキストをシェイプの上部、中央、下部に配置できます。このセクションでは、テキストの垂直配置を調整するアンカー設定の方法を示します。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// 最初のスライドを取得する -ISlide slide = presentation.Slides[0]; + autoShape.TextFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; -// 長方形のタイプのAutoShapeを追加する -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); + presentation.Save("text_anchor.pptx", SaveFormat.Pptx); +} +``` -// 長方形にTextFrameを追加する -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; -// テキストフレームにアクセスする -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; +## **テキストのタブ設定** -// テキストフレームの段落オブジェクトを作成する -IParagraph para = txtFrame.Paragraphs[0]; +タブ設定は、コンテンツ要素間に一貫したスペースを追加して、テキストを整理されたレイアウトにするのに役立ちます。Aspose.Slides for .NET は、テキスト段落内にカスタムタブストップを設定する機能をサポートし、テキスト位置の正確な制御が可能です。このセクションでは、整列と書式設定を向上させるためのテキストタブ設定方法を示します。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// 段落のポーションオブジェクトを作成する -IPortion portion = para.Portions[0]; -portion.Text = "速い茶色の狐が怠け者の犬を飛び越える。速い茶色の狐が怠け者の犬を飛び越える。"; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.ParagraphFormat.DefaultTabSize = 100; + paragraph.ParagraphFormat.Tabs.Add(30, TabAlignment.Left); -// プレゼンテーションを保存する -presentation.Save("AnchorText_out.pptx", SaveFormat.Pptx); + presentation.Save("paragraph_tabs.pptx", SaveFormat.Pptx); +} ``` -## **テキストタブを設定する** -- EffectiveTabs.ExplicitTabCount(ここでは2)は、Tabs.Countに等しいプロパティです。 -- EffectiveTabsコレクションには、すべてのタブ(Tabsコレクションからとデフォルトタブ)が含まれます。 -- EffectiveTabs.DefaultTabSize(294)は、デフォルトタブ間の距離を示します(この例では3と4)。 -- EffectiveTabs.GetTabByIndex(index)でindex=0は最初の明示的タブ(位置=731)を返し、index=1は2番目のタブ(位置=1241)を返します。index=2で次のタブを取得しようとすると最初のデフォルトタブ(位置=1470)が返されます。 -- EffectiveTabs.GetTabAfterPosition(pos)は、テキストの後の次のタブを取得するために使用されます。例えば、テキストが「Helloworld!」とあるとき、「world!」を描画する開始位置を知る必要があります。最初に、「Hello」の長さをピクセル単位で計算し、その値でGetTabAfterPositionを呼び出します。そうすると、「world!」を描画するための次のタブ位置が得られます。 -## **校正言語を設定する** +結果: + +![段落タブ](paragraph_tabs.png) -Aspose.Slidesは、PowerPointドキュメントの校正言語を設定できるように、[PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/)クラスが提供する[LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/)プロパティを提供します。校正言語は、PowerPointのスペルや文法がチェックされる言語です。 +## **校正言語の設定** -以下のC#コードは、PowerPointの校正言語を設定する方法を示しています: +Aspose.Slides は [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) クラスの `LanguageId` プロパティを提供し、PowerPoint ドキュメントの校正言語を設定できます。校正言語は PowerPoint のスペルチェックや文法チェックに使用される言語を決定します。 -```c# -using (Presentation pres = new Presentation(pptxFileName)) +以下のコード例はテキスト部分の校正言語を設定する方法を示しています。 +```cs +using (var presentation = new Presentation("presentation.pptx")) { - AutoShape autoShape = (AutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; - IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; paragraph.Portions.Clear(); - Portion newPortion = new Portion(); + var font = new FontData("SimSun"); + + var textPortion = new Portion(); + textPortion.PortionFormat.ComplexScriptFont = font; + textPortion.PortionFormat.EastAsianFont = font; + textPortion.PortionFormat.LatinFont = font; - IFontData font = new FontData("SimSun"); - IPortionFormat portionFormat = newPortion.PortionFormat; - portionFormat.ComplexScriptFont = font; - portionFormat.EastAsianFont = font; - portionFormat.LatinFont = font; + // 校正言語の ID を設定します。 + textPortion.PortionFormat.LanguageId = "zh-CN"; - portionFormat.LanguageId = "zh-CN"; // 校正言語のIDを設定します - - newPortion.Text = "1。"; - paragraph.Portions.Add(newPortion); + textPortion.Text = "1。"; + paragraph.Portions.Add(textPortion); + + presentation.Save("proofing_language.pptx", SaveFormat.Pptx); } ``` -## **デフォルトの言語を設定する** -以下のC#コードは、PowerPointプレゼンテーション全体のデフォルト言語を設定する方法を示しています: +## **既定言語の設定** -```c# -LoadOptions loadOptions = new LoadOptions(); +テキストの既定言語を指定すると、PowerPoint で正しいスペルチェック、ハイフネーション、音声読み上げが行われます。Aspose.Slides for .NET は、テキスト部分または段落レベルで言語を設定できます。このセクションでは、プレゼンテーションテキストの既定言語を定義する方法を示します。 +```cs +var loadOptions = new LoadOptions(); loadOptions.DefaultTextLanguage = "en-US"; -using (Presentation pres = new Presentation(loadOptions)) + +using (var presentation = new Presentation(loadOptions)) { - // テキスト付きの新しい長方形の形状を追加します - IAutoShape shp = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 50); - shp.TextFrame.Text = "新しいテキスト"; - - // 最初のポーションの言語を確認します - Console.WriteLine(shp.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId); + var slide = presentation.Slides[0]; + + // テキスト付きの新しい矩形シェイプを追加します。 + var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 150, 50); + shape.TextFrame.Text = "Sample text"; + + // 最初の部分の言語を確認します。 + var portion = shape.TextFrame.Paragraphs[0].Portions[0]; + Console.WriteLine(portion.PortionFormat.LanguageId); } ``` -## **デフォルトのテキストスタイルを設定する** -プレゼンテーション内のすべてのテキスト要素に同じデフォルトのテキストフォーマットを一度に適用する必要がある場合、[IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/)インターフェイスからの`DefaultTextStyle`プロパティを使用して、好みのフォーマッティングを設定できます。以下のコード例は、新しいプレゼンテーション内のすべてのスライドのテキストにデフォルトの太字フォント(14pt)を設定する方法を示しています。 +## **既定テキストスタイルの設定** -```c# -using (Presentation presentation = new Presentation()) +プレゼンテーション内のすべてのテキスト要素に同一の既定テキスト書式を一括で適用したい場合は、[IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) インターフェイスの `DefaultTextStyle` プロパティを使用して、好みの書式を定義できます。 + +以下のコード例は新規プレゼンテーションのすべてのスライドのテキストに、サイズ 14 ポイントの太字フォントを既定として設定する方法を示しています。 +```cs +using (var presentation = new Presentation()) { - // トップレベルの段落フォーマットを取得します。 - IParagraphFormat paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); + // 最上位レベルの段落フォーマットを取得します。 + var paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); if (paragraphFormat != null) { @@ -666,6 +523,51 @@ using (Presentation presentation = new Presentation()) paragraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; } - presentation.Save("DefaultTextStyle.pptx", SaveFormat.Pptx); + presentation.Save("default_text_style.pptx", SaveFormat.Pptx); +} +``` + + +## **すべて大文字効果でテキストを抽出する** + +PowerPoint では、**All Caps** フォント効果を適用すると、スライド上でテキストが大文字で表示されますが、実際のテキストは元の小文字のままです。Aspose.Slides でそのテキスト部分を取得すると、入力されたままの文字列が返されます。対処方法として、[TextCapType](https://reference.aspose.com/slides/net/aspose.slides/textcaptype/) が `All` を示す場合は、取得した文字列を大文字に変換して、スライド上に表示されている内容と一致させます。 + +以下の図は sample2.pptx ファイルの最初のスライドにあるテキストボックスを示しています。 + +![すべて大文字効果](all_caps_effect.png) + +以下のコード例は **All Caps** 効果が適用されたテキストを抽出する方法を示しています。 +```cs +using (var presentation = new Presentation("sample2.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var textPortion = autoShape.TextFrame.Paragraphs[0].Portions[0]; + + Console.WriteLine($"Original text: {textPortion.Text}"); + + var textFormat = textPortion.PortionFormat.GetEffective(); + if (textFormat.TextCapType == TextCapType.All) + { + var text = textPortion.Text.ToUpper(); + Console.WriteLine($"All-Caps effect: {text}"); + } } -``` \ No newline at end of file +``` + + +出力: +```text +Original text: Hello, Aspose! +All-Caps effect: HELLO, ASPOSE! +``` + + +## **FAQ** + +**スライド上のテーブルのテキストを変更するには?** + +テーブルのテキストを変更するには、[ITable](https://reference.aspose.com/slides/net/aspose.slides/itable/) オブジェクトを使用します。テーブル内のすべてのセルを反復処理し、各セルの `TextFrame` と `ParagraphFormat` プロパティにアクセスしてテキストを変更できます。 + +**PowerPoint スライドのテキストにグラデーションカラーを適用するには?** + +テキストにグラデーションカラーを適用するには、[PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) の `FillFormat` プロパティを使用します。`FillFormat` を `Gradient` に設定し、開始色と終了色、方向、透明度などのプロパティを定義してテキストにグラデーション効果を作成します。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-text/wordart/_index.md b/ja/net/developer-guide/presentation-content/manage-text/wordart/_index.md index 9de7477b68..a4fffcf6b2 100644 --- a/ja/net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,372 +1,257 @@ --- -title: ワードアート +title: C# で WordArt 効果を作成および適用する +linktitle: WordArt type: docs weight: 110 url: /ja/net/wordart/ -keywords: "ワードアート, Word Art, ワードアートを作成, ワードアートテンプレート, ワードアート効果, シャドウ効果, 表示効果, グロー効果, ワードアート変換, 3D効果, 外部シャドウ効果, 内部シャドウ効果, C#, Csharp, Aspose.Slides for .NET" -description: "C# または Aspose.Slides for .NET で PowerPoint プレゼンテーションにワードアートと効果を追加、操作、管理します" +keywords: +- WordArt +- WordArt の作成 +- WordArt テンプレート +- WordArt 効果 +- 影効果 +- 表示効果 +- 光彩効果 +- WordArt 変形 +- 3D 効果 +- 外側の影効果 +- 内側の影効果 +- C# +- C# +- .NET +- Aspose.Slides +description: "Aspose.Slides for .NET で WordArt 効果を作成およびカスタマイズする方法を学びます。このステップバイステップ ガイドは、開発者が C# でスタイリッシュでプロフェッショナルなテキストを使用してプレゼンテーションを向上させるのに役立ちます。" --- -## **ワードアートとは?** -ワードアートは、テキストに効果を適用して目立たせる機能です。たとえば、ワードアートを使用すると、テキストにアウトラインを付けたり、色(またはグラデーション)で塗りつぶしたり、3D効果を追加したりできます。また、テキストの形状を傾けたり、曲げたり、伸ばしたりすることもできます。 +## **概要** -{{% alert color="primary" %}} - -ワードアートは、テキストをグラフィックオブジェクトとして扱うことを可能にします。ワードアートは、テキストに適用される効果や特別な変更から成り、より魅力的または目立つものになります。 - -{{% /alert %}} - -**Microsoft PowerPoint のワードアート** - -Microsoft PowerPoint でワードアートを使用するには、あらかじめ定義されたワードアートテンプレートのいずれかを選択する必要があります。ワードアートテンプレートは、テキストまたはその形状に適用される効果のセットです。 - -**Aspose.Slides のワードアート** - -Aspose.Slides for .NET 20.10 では、ワードアートのサポートを実装し、その後の Aspose.Slides for .NET のリリースで機能を改善しました。 +WordArt 効果を使用すると、PowerPoint プレゼンテーションに視覚的に魅力的でスタイリッシュなテキストを追加できます。Aspose.Slides for .NET を使用すれば、Office をインストールせずに、Microsoft PowerPoint と同様に WordArt をプログラムで作成、カスタマイズ、管理できます。本記事では、.NET で WordArt を扱う概要を説明し、テキスト変換、塗りつぶしスタイル、アウトライン、影、その他の書式設定オプションを適用して、プレゼンテーションの内容をより表現力豊かで魅力的にする方法を紹介します。WordArt はテキストをグラフィック オブジェクトとして扱うことができます。テキストに対して適用される効果や特別な変更により、テキストをより目立たせたり魅力的にしたりします。 -Aspose.Slides for .NET を使用すると、C# で独自のワードアートテンプレート(1 つの効果または効果の組み合わせ)を簡単に作成し、テキストに適用できます。 +## **シンプルな WordArt テンプレートを作成しテキストに適用する** -## シンプルなワードアートテンプレートの作成とテキストへの適用 +このセクションでは、Aspose.Slides for .NET を使用してシンプルな WordArt テンプレートを作成し、テキストに適用する方法を探ります。WordArt は、印象的なビジュアル効果やスタイルでテキストの外観を向上させる簡単な手段です。WordArt の作成と使用の基本手順を学べば、任意のプロジェクトにすぐに適用でき、プレゼンテーションをより鮮やかで記憶に残るものにできます。 -**Aspose.Slides を使用する** - -まず、次の C# コードを使用してシンプルなテキストを作成します: - -``` csharp -using (Presentation pres = new Presentation()) +まず、次の C# コードでシンプルなテキストを作成します。 +```cs +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); + ISlide slide = presentation.Slides[0]; + + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 400, 200); ITextFrame textFrame = autoShape.TextFrame; - Portion portion = (Portion)textFrame.Paragraphs[0].Portions[0]; + IPortion portion = textFrame.Paragraphs[0].Portions[0]; portion.Text = "Aspose.Slides"; } ``` -次に、テキストのフォントサイズを大きく設定して、次のコードを通じて効果がより目立つようにします: - -``` csharp -FontData fontData = new FontData("Arial Black"); -portion.PortionFormat.LatinFont = fontData; -portion.PortionFormat.FontHeight = 36; -``` - -**Microsoft PowerPoint を使用する** -Microsoft PowerPoint でワードアート効果のメニューにアクセスします: -![todo:image_alt_text](image-20200930113926-1.png) - -右側のメニューからあらかじめ定義されたワードアート効果を選択できます。左のメニューからは新しいワードアートの設定を指定できます。 - -利用可能なパラメータまたはオプションの一部は次のとおりです: - -![todo:image_alt_text](image-20200930114015-3.png) - -**Aspose.Slides を使用する** - -ここでは、次のコードを使用してテキストに SmallGrid パターンカラーを適用し、幅 1 の黒いテキストボーダーを追加します: - -``` csharp -portion.PortionFormat.FillFormat.FillType = FillType.Pattern; -portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; -portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; -portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; - -portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +次に、以下のコードでテキストのフォントの高さを大きく設定し、効果を目立たせます。 +```cs + portion.PortionFormat.LatinFont = new FontData("Arial Black"); + portion.PortionFormat.FontHeight = 36; ``` -得られたテキスト: -![todo:image_alt_text](image-20200930114108-4.png) +ここでは、SmallGrid パターン塗りつぶしをテキストに適用し、幅 1 の黒いテキスト枠線を追加します。 +```cs + portion.PortionFormat.FillFormat.FillType = FillType.Pattern; + portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; + portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; + portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; + + portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +``` -## 他のワードアート効果の適用 -**Microsoft PowerPoint を使用する** +結果のテキスト: -プログラムのインターフェイスから、テキスト、テキストブロック、形状、または類似の要素にこれらの効果を適用できます: +![単純なWordArtテンプレート](WordArt_template.png) -![todo:image_alt_text](image-20200930114129-5.png) +## **その他の WordArt 効果を適用する** -たとえば、シャドウ、反射、グロー効果をテキストに適用することができ、3D形式および3D回転効果はテキストブロックに適用できます。ソフトエッジプロパティはシェイプオブジェクトにも適用できます(3D形式プロパティが設定されていない場合でも効果が残ります)。 +基本的な変形に加えて、Aspose.Slides for .NET では、テキストの外観を強化するさまざまな高度な WordArt 効果を適用できます。これらにはアウトライン、塗りつぶし、影、反射、光彩効果が含まれます。これらの機能を組み合わせることで、プレゼンテーションで際立つ目を引くテキスト スタイルを作成できます。このセクションでは、シンプルでクリーンなコード例を使って、これらの効果をプログラムで適用する方法を示します。 -### シャドウ効果の適用 +### **外側の影効果を適用する** -ここでは、テキストに関するプロパティを設定することを目的としています。次の C# コードを使用してテキストにシャドウ効果を適用します: +外側の影効果は、テキストの輪郭の背後に影を付けて深みと背景からの分離感を生み出し、テキストを際立たせます。Aspose.Slides for .NET を使用すると、WordArt テキストに外側の影を簡単に適用およびカスタマイズできます。このセクションでは、影の色、方向、距離、ぼかし半径などを設定して、目的のビジュアル インパクトを実現する方法を学びます。 -``` csharp -portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 65; -portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4.73; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 2; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 30; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); +次の C# コード スニペットは、上記で作成したテキストに影効果を適用します。 +```cs + portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 30; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 20; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); ``` -Aspose.Slides API は、OuterShadow、InnerShadow、および PresetShadow の 3 種類のシャドウをサポートしています。 - - PresetShadow を使用すると、テキストにシャドウを適用できます(プレセット値を使用)。 -**Microsoft PowerPoint を使用する** +結果のテキスト: -PowerPoint では、1 つの種類のシャドウを使用できます。以下はその例です: +![外側の影効果](outer_shadow_effect.png) -![todo:image_alt_text](image-20200930114225-6.png) - -**Aspose.Slides を使用する** - -Aspose.Slides では、実際に InnerShadow と PresetShadow の 2 種類のシャドウを同時に適用できます。 - -**注:** - -- OuterShadow と PresetShadow を一緒に使用すると、OuterShadow 効果だけが適用されます。 -- OuterShadow と InnerShadow を同時に使用すると、適用される効果は PowerPoint のバージョンによって異なります。たとえば、PowerPoint 2013 では効果が二重になりますが、PowerPoint 2007 では OuterShadow 効果が適用されます。 +{{% alert color="primary" %}} +- OuterShadow と PresetShadow を同時に使用すると、適用されるのは OuterShadow 効果のみです。 +- OuterShadow と InnerShadow を同時に使用した場合、結果の効果は PowerPoint のバージョンに依存します。たとえば、PowerPoint 2013 では効果が二重になり、PowerPoint 2007 では OuterShadow 効果のみが適用されます。 +{{% /alert %}} + +### **反射効果を適用する** + +このセクションでは、Aspose.Slides for .NET を使用してスライドに反射効果を適用する方法を探ります。反射効果は、テキストや図形にスタイリッシュでモダンな外観を与え、重要な要素を際立たせ、プレゼンテーションに奥行きを加える効果的な手段です。これらの効果の適用とカスタマイズ手順を理解すれば、デザイン要件やブランド要件に合わせて簡単に調整できます。 + +次の C# コード例でテキストに反射効果を追加します。 +```cs + portion.PortionFormat.EffectFormat.EnableReflectionEffect(); + portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; + portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; + portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; +``` -### テキストへの表示の適用 -次の C# コードサンプルを使用して、テキストに表示を追加します: +結果のテキスト: -``` csharp -portion.PortionFormat.EffectFormat.EnableReflectionEffect(); -portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; -portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; -portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; -``` +![反射効果](reflection_effect.png) -### テキストへのグロー効果の適用 +### **光彩効果を適用する** -次のコードを使用して、テキストにグロー効果を適用して目立たせます: +このセクションでは、Aspose.Slides for .NET を使用してテキストに光彩効果を適用する方法を探ります。光彩効果は、テキストに光る輪郭を付けて際立たせ、スライドの視覚的魅力を高めます。色や強度などの設定を調整することで、デザインやブランドのニーズに合わせた光彩を簡単に作成でき、プレゼンテーションの重要ポイントを観客の注意に引き付けることができます。 -``` csharp -portion.PortionFormat.EffectFormat.EnableGlowEffect(); -portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; -portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); -portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; +次のコードでテキストに光彩効果を適用し、輝かせます。 +```cs + portion.PortionFormat.EffectFormat.EnableGlowEffect(); + portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; + portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); + portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; ``` -操作の結果: -![todo:image_alt_text](image-20200930114621-7.png) +結果のテキスト: -{{% alert color="primary" %}} - -シャドウ、表示、グローのパラメータを変更できます。効果のプロパティは、テキストの各部分に個別に設定されます。 +![光彩効果](glow_effect.png) -{{% /alert %}} +### **WordArt の変形を適用する** -### ワードアートでの変換の使用 +このセクションでは、Aspose.Slides for .NET で WordArt の変形を使用する方法を探ります。変形によりテキストを曲げたり伸ばしたり、歪めたりして、独自で視覚的に際立った効果を作り出せます。これらのテクニックを習得すれば、テキストの形状やスタイルをブランドやクリエイティブなビジョンに合わせて簡単に調整でき、説得力のある洗練されたプレゼンテーションを実現できます。 -次のコードを通じて、テキスト全体のブロックに固有の Transform プロパティを使用します: -``` csharp -textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; +次のコードで `Transform` プロパティ(テキスト全体に適用)を使用します。 +```cs + textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; ``` -結果: - -![todo:image_alt_text](image-20200930114712-8.png) -{{% alert color="primary" %}} +結果のテキスト: -Microsoft PowerPoint と Aspose.Slides for .NET では、あらかじめ定義された特定の変換タイプの数を提供しています。 +![WordArt 変形効果](transform_effect.png) +{{% alert color="primary" %}} +Aspose.Slides for .NET は、事前定義された[変形タイプ](https://reference.aspose.com/slides/net/aspose.slides/textshapetype/)のセットを提供します。 {{% /alert %}} -**PowerPoint を使用する** - -あらかじめ定義された変換タイプにアクセスするには、**フォーマット** -> **テキスト効果** -> **変換** を経由します。 - -**Aspose.Slides を使用する** +### **シェイプとテキストに 3D 効果を適用する** -変換タイプを選択するには、TextShapeType 列挙型を使用します。 +リアルで目を引くビジュアルを作成すると、プレゼンテーションのインパクトが大幅に向上します。このセクションでは、Aspose.Slides for .NET を使用してシェイプに三次元 (3D) 効果を適用する方法を探ります。深さ、角度、照明などのパラメーターを操作することで、観客の注意を瞬時に引く印象的な 3D 変形を作成できます。微妙なハイライトからドラマチックな錯覚まで、これらの機能はデザインを格上げし、アイデアをより魅力的に伝える柔軟な手段を提供します。 -### テキストや形状への 3D 効果の適用 +次のサンプルコードでシェイプに 3D 効果を設定します。 +```cs + autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelBottom.Height = 10.5; + autoShape.ThreeDFormat.BevelBottom.Width = 10.5; -次のサンプル コードを使用して、テキスト形状に 3D 効果を設定します: + autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelTop.Height = 12.5; + autoShape.ThreeDFormat.BevelTop.Width = 11; -``` csharp -autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelBottom.Height = 10.5; -autoShape.ThreeDFormat.BevelBottom.Width = 10.5; + autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + autoShape.ThreeDFormat.ExtrusionHeight = 6; -autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelTop.Height = 12.5; -autoShape.ThreeDFormat.BevelTop.Width = 11; + autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; + autoShape.ThreeDFormat.ContourWidth = 1.5; -autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -autoShape.ThreeDFormat.ExtrusionHeight = 6; + autoShape.ThreeDFormat.Depth = 3; -autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; -autoShape.ThreeDFormat.ContourWidth = 1.5; + autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; -autoShape.ThreeDFormat.Depth = 3; + autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; - -autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); - -autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -得られたテキストとその形状: -![todo:image_alt_text](image-20200930114816-9.png) +結果のシェイプ: -次の C# コードを使用してテキストにも 3D 効果を適用します: +![シェイプの 3D 効果](shape_3D_effect.png) -``` csharp -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; +次のサンプルコードでテキストに 3D 効果を設定します。 +```cs + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; -textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; -textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; + textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; + textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; -textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; + textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; -textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; + textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); + textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -操作の結果: -![todo:image_alt_text](image-20200930114905-10.png) - -{{% alert color="primary" %}} +結果のテキスト: -テキストやその形状への 3D 効果の適用および効果間の相互作用は、特定のルールに基づいています。 +![テキストの 3D 効果](text_3D_effect.png) -テキストとそのテキストを含む形状のシーンを考慮してください。3D 効果には3Dオブジェクトの表現とそのオブジェクトが配置されたシーンが含まれます。 - -- シーンが図とテキストの両方に設定されている場合、図のシーンが優先され、テキストのシーンは無視されます。 -- 図が独自のシーンを持っていないが 3D 表現がある場合、テキストのシーンが使用されます。 -- そうでなければ—形状に元々 3D 効果がない場合—形状は平坦で、3D 効果はテキストのみに適用されます。 +{{% alert color="primary" %}} +テキストまたはそのシェイプに 3D 効果を適用する際のルールと、これらの効果間の相互作用は特定の規則に従います。テキストとそのテキストを含むシェイプの両方がシーンを持つケースを考えてみましょう。3D 効果にはオブジェクトの 3D 表現と配置先シーンが含まれます。 -説明は、[ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/lightrig) および [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/camera) プロパティに関連しています。 +- シェイプとテキストの両方にシーンが設定されている場合、シェイプのシーンが優先され、テキストのシーンは無視されます。 +- シェイプにシーンがないが 3D 表現がある場合、テキストのシーンが使用されます。 +- シェイプに 3D 効果がまったくない場合、フラットとして扱われ、3D 効果はテキストのみに適用されます。 +これらの挙動は [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/lightrig/) と [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/camera/) プロパティに関連しています。 {{% /alert %}} -## **テキストへの外部シャドウ効果の適用** -Aspose.Slides for .NET では、テキストにシャドウ効果を適用するための [**IOuterShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/ioutershadow) および [**IInnerShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/iinnershadow) クラスを提供しています。これらの手順に従ってください: - -1. [Presentation](https://reference.aspose.com/slides/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 ファイルとして書き出します。 - -以下の C# コードサンプル—上記の手順の実装—では、テキストに外部シャドウ効果を適用する方法を示します: - -```c# -using (Presentation pres = new Presentation()) -{ - - // スライドの参照を取得 - ISlide sld = pres.Slides[0]; - - // 長方形型の AutoShape を追加 - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - - // Rectangle に TextFrame を追加 - ashp.AddTextFrame("Aspose TextBox"); - - // テキストのシャドウを取得する場合、形状の塗りつぶしを無効にします - ashp.FillFormat.FillType = FillType.NoFill; +## **FAQ** - // 外部シャドウを追加し、必要なすべてのパラメーターを設定します - ashp.EffectFormat.EnableOuterShadowEffect(); - IOuterShadow shadow = ashp.EffectFormat.OuterShadowEffect; - shadow.BlurRadius = 4.0; - shadow.Direction = 45; - shadow.Distance = 3; - shadow.RectangleAlign = RectangleAlignment.TopLeft; - shadow.ShadowColor.PresetColor = PresetColor.Black; +**異なるフォントやスクリプト(例: アラビア語、中国語)でも WordArt 効果は使えますか?** - // プレゼンテーションをディスクに保存 - pres.Save("pres_out.pptx", SaveFormat.Pptx); -} -``` +はい、Aspose.Slides for .NET は Unicode をサポートし、すべての主要フォントとスクリプトで動作します。影、塗りつぶし、アウトラインなどの WordArt 効果は言語に関係なく適用できますが、フォントの可用性や描画はシステムにインストールされたフォントに依存する場合があります。 +**スライド マスターの要素にも WordArt 効果を適用できますか?** -## **形状に内部シャドウ効果を適用** -以下の手順に従ってください: +はい、マスタースライド上のシェイプ(タイトル プレースホルダー、フッター、背景テキストなど)にも WordArt 効果を適用できます。マスター レイアウトに加えた変更は、関連付けられたすべてのスライドに反映されます。 -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 -2. スライドの参照を取得します。 -3. 長方形型の AutoShape を追加します。 -4. InnerShadowEffect を有効にします。 -5. 必要なすべてのパラメーターを設定します。 -6. ColorType を Scheme に設定します。 -7. スキームカラーを設定します。 -8. プレゼンテーションを [PPTX](https://docs.fileformat.com/presentation/pptx/) ファイルとして保存します。 +**WordArt 効果はプレゼンテーションのファイルサイズに影響しますか?** -以下の C# コードサンプル(上記の手順に基づいて)は、2 つの形状の間にコネクタを追加する方法を示しています: +わずかに影響します。影、光彩、グラデーション塗りつぶしなどの効果は、追加の書式メタデータが発生するためファイルサイズを少しだけ増加させますが、差は通常は無視できる程度です。 -```c# -using(Presentation presentation = new Presentation()) -{ - // スライドの参照を取得 - ISlide slide = presentation.Slides[0]; +**プレゼンテーションを保存せずに WordArt 効果の結果をプレビューできますか?** - // 長方形型の AutoShape を追加 - IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 400, 300); - ashp.FillFormat.FillType = FillType.NoFill; - - // Rectangle に TextFrame を追加 - ashp.AddTextFrame("Aspose TextBox"); - IPortion port = ashp.TextFrame.Paragraphs[0].Portions[0]; - IPortionFormat pf = port.PortionFormat; - pf.FontHeight = 50; - - // InnerShadowEffect を有効にします - IEffectFormat ef = pf.EffectFormat; - ef.EnableInnerShadowEffect(); - - // 必要なすべてのパラメーターを設定します - ef.InnerShadowEffect.BlurRadius = 8.0; - ef.InnerShadowEffect.Direction = 90.0F; - ef.InnerShadowEffect.Distance = 6.0; - ef.InnerShadowEffect.ShadowColor.B = 189; - - // ColorType を Scheme に設定します - ef.InnerShadowEffect.ShadowColor.ColorType = ColorType.Scheme; - - // スキームカラーを設定します - ef.InnerShadowEffect.ShadowColor.SchemeColor = SchemeColor.Accent1; - - // プレゼンテーションを保存 - presentation.Save("WordArt_out.pptx", SaveFormat.Pptx); -} -``` \ No newline at end of file +はい、`GetImage` メソッドを使用して、WordArt を含むスライドを画像(PNG、JPEG など)にレンダリングできます。これは、[IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/) または [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) インターフェイスから取得でき、保存やエクスポートを行う前にメモリ内または画面上で結果をプレビューできます。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/manage-zoom/_index.md b/ja/net/developer-guide/presentation-content/manage-zoom/_index.md index b20e3e96ba..4979aff2a2 100644 --- a/ja/net/developer-guide/presentation-content/manage-zoom/_index.md +++ b/ja/net/developer-guide/presentation-content/manage-zoom/_index.md @@ -3,304 +3,298 @@ title: ズームの管理 type: docs weight: 60 url: /ja/net/manage-zoom/ -keywords: +keywords: - ズーム - ズームフレーム - ズームの追加 -- ズームフレームのフォーマット -- サマリーズーム +- ズームフレームの書式設定 +- サマリズーム - PowerPointプレゼンテーション - C# - Csharp - Aspose.Slides for .NET -description: "C#または.NETでPowerPointプレゼンテーションにズームまたはズームフレームを追加する" +description: "C# または .NET で PowerPoint プレゼンテーションにズームまたはズームフレームを追加する" --- ## **概要** -PowerPointのズーム機能を使用すると、特定のスライド、セクション、およびプレゼンテーションの一部にジャンプすることができます。プレゼンテーションを行う際に、この内容間を迅速にナビゲートする機能は非常に便利です。 +PowerPoint のズーム機能を使用すると、特定のスライド、セクション、プレゼンテーションの一部にジャンプしたり戻ったりできます。プレゼンテーション中に、コンテンツを素早く移動できるこの機能は非常に便利です。 -![overview_image](overview.png) +![概要画像](overview.png) -* プレゼンテーション全体を1枚のスライドに要約するには、[サマリーズーム](#Summary-Zoom)を使用します。 -* 選択したスライドのみを表示するには、[スライズーム](#Slide-Zoom)を使用します。 -* 単一のセクションのみを表示するには、[セクションズーム](#Section-Zoom)を使用します。 +* プレゼンテーション全体を 1 枚のスライドに要約するには、[Summary Zoom](#Summary-Zoom) を使用します。 +* 選択したスライドのみを表示するには、[Slide Zoom](#Slide-Zoom) を使用します。 +* 単一のセクションのみを表示するには、[Section Zoom](#Section-Zoom) を使用します。 -## **スライズーム** -スライズームを使用すると、プレゼンテーションをよりダイナミックにし、プレゼンテーションの流れを中断することなく、選択した順序でスライド間を自由にナビゲートできます。スライズームは、多くのセクションがない短いプレゼンテーションに最適ですが、さまざまなプレゼンテーションシナリオでも使用できます。 +## **スライドズーム** +スライドズームを使用すると、プレゼンテーションがよりダイナミックになり、任意の順序でスライド間を自由に移動でき、プレゼンテーションの流れを中断せずに済みます。スライドズームは、セクションが少ない短いプレゼンテーションに最適ですが、さまざまなシナリオでも使用できます。 -スライズームを使用すると、1つのキャンバス上にいるように感じながら、複数の情報に深く掘り下げることができます。 +スライドズームは、単一のキャンバス上にいるかのように複数の情報にドリルダウンできるようにします。 ![overview_image](slidezoomsel.png) -スライズームオブジェクトについて、Aspose.Slidesは[ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype)列挙型、[IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe)インターフェイス、および[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection)インターフェイスのいくつかのメソッドを提供しています。 +スライドズームオブジェクトについては、Aspose.Slides が [ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype) 列挙型、[IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe) インターフェイス、および [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) インターフェイスのいくつかのメソッドを提供します。 -### **ズームフレームの作成** +### **Creating Zoom Frames** +スライドにズームフレームを追加する手順は次のとおりです。 -次の手順でスライドにズームフレームを追加できます。 - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. ズームフレームをリンクするスライドを新しく作成します。 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. ズームフレームをリンクする新しいスライドを作成します。 3. 作成したスライドに識別テキストと背景を追加します。 -4. 最初のスライドにズームフレーム(作成したスライドへの参照を含む)を追加します。 -5. 修正したプレゼンテーションをPPTXファイルとして保存します。 - -このC#コードは、スライド上にズームフレームを作成する方法を示しています: +4. 最初のスライドに、作成したスライドへの参照を含むズームフレームを追加します。 +5. 変更したプレゼンテーションを書き出して PPTX ファイルに保存します。 -``` csharp +この C# コードは、スライド上にズームフレームを作成する方法を示しています: +``` csharp using (Presentation pres = new Presentation()) { - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します ISlide slide2 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); ISlide slide3 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); - // 2番目のスライドの背景を作成 + // 2枚目のスライドの背景を作成します slide2.Background.Type = BackgroundType.OwnBackground; slide2.Background.FillFormat.FillType = FillType.Solid; slide2.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // 2番目のスライド用のテキストボックスを作成 + // 2枚目のスライド用のテキストボックスを作成します IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "2番目のスライド"; + autoshape.TextFrame.Text = "Second Slide"; - // 3番目のスライドの背景を作成 + // 3枚目のスライドの背景を作成します slide3.Background.Type = BackgroundType.OwnBackground; slide3.Background.FillFormat.FillType = FillType.Solid; slide3.Background.FillFormat.SolidFillColor.Color = Color.DarkKhaki; - // 3番目のスライド用のテキストボックスを作成 + // 3枚目のスライド用のテキストボックスを作成します autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "第3のスライド"; + autoshape.TextFrame.Text = "Trird Slide"; - //ズームフレームオブジェクトを追加 + //ZoomFrame オブジェクトを追加します pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); - // プレゼンテーションを保存 + // プレゼンテーションを保存します pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **カスタム画像を使用したズームフレームの作成** -Aspose.Slides for .NETを使用して、異なるスライドプレビュー画像を持つズームフレームを次のように作成できます: -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. ズームフレームをリンクする新しいスライドを作成します。 -3. スライドに識別テキストと背景を追加します。 -4. [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)オブジェクトを作成し、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)オブジェクトに関連付けられたImagesコレクションに画像を追加します。これがフレームを埋めるために使用されます。 -5. 最初のスライドにズームフレーム(作成したスライドへの参照を含む)を追加します。 -6. 修正したプレゼンテーションをPPTXファイルとして保存します。 -このC#コードは、異なる画像を持つズームフレームを作成する方法を示しています: +### **Creating Zoom Frames with Custom Images** +Aspose.Slides for .NET を使用すると、異なるスライドプレビュー画像を持つズームフレームを次の手順で作成できます。 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. ズームフレームをリンクする新しいスライドを作成します。 +3. スライドに識別テキストと背景を追加します。 +4. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) オブジェクトに関連付けられた Images コレクションに画像を追加して、[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) オブジェクトを作成し、フレームの塗りつぶしに使用します。 +5. 最初のスライドに、作成したスライドへの参照を含むズームフレームを追加します。 +6. 変更したプレゼンテーションを書き出して PPTX ファイルに保存します。 +この C# コードは、異なる画像を使用したズームフレームを作成する方法を示しています: ``` csharp using (Presentation pres = new Presentation()) { - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); - // 2番目のスライドの背景を作成 + // 2枚目のスライドの背景を作成します slide.Background.Type = BackgroundType.OwnBackground; slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // 3番目のスライド用のテキストボックスを作成 + // 3枚目のスライド用のテキストボックスを作成します IAutoShape autoshape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "2番目のスライド"; + autoshape.TextFrame.Text = "Second Slide"; - // ズームオブジェクト用の新しい画像を作成 + // ズームオブジェクト用の新しい画像を作成します IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // ズームフレームオブジェクトを追加 + //ZoomFrame オブジェクトを追加します pres.Slides[0].Shapes.AddZoomFrame(20, 20, 300, 200, slide, ppImage); - // プレゼンテーションを保存 + // プレゼンテーションを保存します pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **ズームフレームのフォーマット** -前のセクションでは、シンプルなズームフレームを作成する方法を示しました。より複雑なズームフレームを作成するには、シンプルなフレームのフォーマットを変更する必要があります。ズームフレームに適用できるフォーマットオプションはいくつかあります。 -スライド上のズームフレームのフォーマットを次のように制御できます: +### **Formatting Zoom Frames** +前のセクションでは、シンプルなズームフレームの作成方法を示しました。より複雑なズームフレームを作成するには、シンプルなフレームの書式設定を変更する必要があります。ズームフレームに適用できる書式設定オプションはいくつかあります。 -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. ズームフレームをリンクしたい新しいスライドを作成します。 -3. 作成したスライドに識別テキストと背景をいくつか追加します。 -4. 最初のスライドにズームフレーム(作成したスライドへの参照を含む)を追加します。 -5. [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)オブジェクトを作成し、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)オブジェクトに関連付けられたImagesコレクションに画像を追加します。これがフレームを埋めるために使用されます。 -6. 最初のズームフレームオブジェクトにカスタム画像を設定します。 -7. 2番目のズームフレームオブジェクトのラインフォーマットを変更します。 -8. 2番目のズームフレームオブジェクトの画像から背景を削除します。 -5. 修正したプレゼンテーションをPPTXファイルとして保存します。 +スライド上でズームフレームの書式設定を制御する手順は次のとおりです。 -このC#コードは、スライド上のズームフレームのフォーマットを変更する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. ズームフレームをリンクする新しいスライドを作成します。 +3. 作成したスライドに識別テキストと背景を追加します。 +4. 最初のスライドに、作成したスライドへの参照を含むズームフレームを追加します。 +5. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) オブジェクトに関連付けられた Images コレクションに画像を追加して、[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) オブジェクトを作成します。 +6. 最初のズームフレームオブジェクトにカスタム画像を設定します。 +7. 2 番目のズームフレームオブジェクトの線の書式を変更します。 +8. 2 番目のズームフレームオブジェクトの画像背景を削除します。 +5. 変更したプレゼンテーションを書き出して PPTX ファイルに保存します。 +この C# コードは、スライド上でズームフレームの書式設定を変更する方法を示しています: ``` csharp using (Presentation pres = new Presentation()) { - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します ISlide slide2 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); ISlide slide3 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); - // 2番目のスライドの背景を作成 + // 2枚目のスライドの背景を作成します slide2.Background.Type = BackgroundType.OwnBackground; slide2.Background.FillFormat.FillType = FillType.Solid; slide2.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // 2番目のスライド用のテキストボックスを作成 + // 2枚目のスライド用のテキストボックスを作成します IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "2番目のスライド"; + autoshape.TextFrame.Text = "Second Slide"; - // 3番目のスライドの背景を作成 + // 3枚目のスライドの背景を作成します slide3.Background.Type = BackgroundType.OwnBackground; slide3.Background.FillFormat.FillType = FillType.Solid; slide3.Background.FillFormat.SolidFillColor.Color = Color.DarkKhaki; - // 3番目のスライド用のテキストボックスを作成 + // 3枚目のスライド用のテキストボックスを作成します autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "第3のスライド"; + autoshape.TextFrame.Text = "Trird Slide"; - //ズームフレームオブジェクトを追加 + //ZoomFrame オブジェクトを追加します IZoomFrame zoomFrame1 = pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); IZoomFrame zoomFrame2 = pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); - // ズームオブジェクト用の新しい画像を作成 + // ズームオブジェクト用の新しい画像を作成します IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // zoomFrame1オブジェクトのカスタム画像を設定 + // zoomFrame1 オブジェクトのカスタム画像を設定します zoomFrame1.ZoomImage = ppImage; - // zoomFrame2オブジェクトのフォーマットを設定 + // zoomFrame2 オブジェクトのズームフレーム書式を設定します zoomFrame2.LineFormat.Width = 5; zoomFrame2.LineFormat.FillFormat.FillType = FillType.Solid; zoomFrame2.LineFormat.FillFormat.SolidFillColor.Color = Color.HotPink; zoomFrame2.LineFormat.DashStyle = LineDashStyle.DashDot; - // zoomFrame2オブジェクトの背景を表示しない設定 + // zoomFrame2 オブジェクトの背景を表示しない設定 zoomFrame2.ShowBackground = false; - // プレゼンテーションを保存 + // プレゼンテーションを保存します pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -## **セクションズーム** -セクションズームは、プレゼンテーション内のセクションへのリンクです。セクションズームを使用すると、本当に強調したいセクションに戻ることができます。また、プレゼンテーションの特定の部分がどのように関連しているかを強調表示するために使用することもできます。 +## **セクションズーム** +セクションズームは、プレゼンテーション内のセクションへのリンクです。強調したいセクションに戻るために使用したり、プレゼンテーションの各部分がどのように接続しているかを強調したりできます。 ![overview_image](seczoomsel.png) -セクションズームオブジェクトについて、Aspose.Slidesは[ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe)インターフェイスと[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection)インターフェイスのいくつかのメソッドを提供しています。 +セクションズームオブジェクトについては、Aspose.Slides が [ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe) インターフェイスと、[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) インターフェイスのいくつかのメソッドを提供します。 -### **セクションズームフレームの作成** +### **Creating Section Zoom Frames** +スライドにセクションズームフレームを追加する手順は次のとおりです。 -次の手順でスライドにセクションズームフレームを追加できます: - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. 新しいスライドを作成します。 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. 新しいスライドを作成します。 3. 作成したスライドに識別背景を追加します。 -4. ズームフレームをリンクする新しいセクションを作成します。 -5. 最初のスライドにセクションズームフレーム(作成したセクションへの参照を含む)を追加します。 -6. 修正したプレゼンテーションをPPTXファイルとして保存します。 - -このC#コードは、スライドにズームフレームを作成する方法を示しています: +4. ズームフレームをリンクする新しいセクションを作成します。 +5. 最初のスライドに、作成したセクションへの参照を含むセクションズームフレームを追加します。 +6. 変更したプレゼンテーションを書き出して PPTX ファイルに保存します。 +この C# コードは、スライド上にセクションズームフレームを作成する方法を示しています: ``` csharp using (Presentation pres = new Presentation()) { - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - pres.Sections.AddSection("セクション 1", slide); + // プレゼンテーションに新しいセクションを追加します + pres.Sections.AddSection("Section 1", slide); - // セクションズームフレームオブジェクトを追加 + // SectionZoomFrame オブジェクトを追加します ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); - // プレゼンテーションを保存 + // プレゼンテーションを保存します pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **カスタム画像を使用したセクションズームフレームの作成** -Aspose.Slides for .NETを使用すると、異なるスライドプレビュー画像を持つセクションズームフレームを次のように作成できます: +### **Creating Section Zoom Frames with Custom Images** +Aspose.Slides for .NET を使用すると、異なるスライドプレビュー画像を持つセクションズームフレームを次の手順で作成できます。 -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 2. 新しいスライドを作成します。 3. 作成したスライドに識別背景を追加します。 -4. ズームフレームをリンクする新しいセクションを作成します。 -5. [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)オブジェクトを作成し、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)オブジェクトに関連付けられたImagesコレクションに画像を追加します。これがフレームを埋めるために使用されます。 -6. 最初のスライドにセクションズームフレーム(作成したセクションへの参照を含む)を追加します。 -7. 修正したプレゼンテーションをPPTXファイルとして保存します。 - -このC#コードは、異なる画像を持つズームフレームを作成する方法を示しています: +4. ズームフレームをリンクする新しいセクションを作成します。 +5. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) オブジェクトに関連付けられた Images コレクションに画像を追加して、[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) オブジェクトを作成します。 +5. 最初のスライドに、作成したセクションへの参照を含むセクションズームフレームを追加します。 +6. 変更したプレゼンテーションを書き出して PPTX ファイルに保存します。 +この C# コードは、異なる画像を使用したセクションズームフレームを作成する方法を示しています: ``` csharp using (Presentation pres = new Presentation()) { - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - pres.Sections.AddSection("セクション 1", slide); + // 新しいセクションをプレゼンテーションに追加します + pres.Sections.AddSection("Section 1", slide); - // ズームオブジェクト用の新しい画像を作成 + // ズームオブジェクト用の新しい画像を作成します IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // セクションズームフレームオブジェクトを追加 + // SectionZoomFrame オブジェクトを追加します ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1], ppImage); - // プレゼンテーションを保存 + // プレゼンテーションを保存します pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **セクションズームフレームのフォーマット** -より複雑なセクションズームフレームを作成するには、シンプルなフレームのフォーマットを変更する必要があります。セクションズームフレームに適用できるフォーマットオプションはいくつかあります。 +### **Formatting Section Zoom Frames** +より複雑なセクションズームフレームを作成するには、シンプルなフレームの書式設定を変更する必要があります。セクションズームフレームに適用できる書式設定オプションはいくつかあります。 -スライド上のセクションズームフレームのフォーマットを次のように制御できます: +スライド上でセクションズームフレームの書式設定を制御する手順は次のとおりです。 -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 2. 新しいスライドを作成します。 3. 作成したスライドに識別背景を追加します。 -4. ズームフレームにリンクする新しいセクションを作成します。 -5. 最初のスライドにセクションズームフレーム(作成したセクションへの参照を含む)を追加します。 +4. ズームフレームをリンクする新しいセクションを作成します。 +5. 最初のスライドに、作成したセクションへの参照を含むセクションズームフレームを追加します。 6. 作成したセクションズームオブジェクトのサイズと位置を変更します。 -7. [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)オブジェクトを作成し、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)オブジェクトに関連付けられたImagesコレクションに画像を追加します。これがフレームを埋めるために使用されます。 +7. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) オブジェクトに関連付けられた Images コレクションに画像を追加して、[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) オブジェクトを作成します。 8. 作成したセクションズームフレームオブジェクトにカスタム画像を設定します。 -9. *リンクされたセクションから元のスライドに戻る*機能を設定します。 -10. セクションズームフレームオブジェクトの画像から背景を削除します。 -11. 2番目のズームフレームオブジェクトのラインフォーマットを変更します。 -12. トランジションの持続時間を変更します。 -13. 修正したプレゼンテーションをPPTXファイルとして保存します。 - -このC#コードは、セクションズームフレームのフォーマットを変更する方法を示しています: +9. *リンクされたセクションから元のスライドに戻る* 動作を設定します。 +10. セクションズームフレームオブジェクトの画像背景を削除します。 +11. 2 番目のズームフレームオブジェクトの線の書式を変更します。 +12. トランジションの継続時間を変更します。 +13. 変更したプレゼンテーションを書き出して PPTX ファイルに保存します。 +この C# コードは、セクションズームフレームの書式設定を変更する方法を示しています: ``` csharp using (Presentation pres = new Presentation()) { - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - pres.Sections.AddSection("セクション 1", slide); + // プレゼンテーションに新しいセクションを追加します + pres.Sections.AddSection("Section 1", slide); - // セクションズームフレームオブジェクトを追加 + // SectionZoomFrame オブジェクトを追加します ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); - // セクションズームフレームのフォーマット + // SectionZoomFrame の書式設定 sectionZoomFrame.X = 100; sectionZoomFrame.Y = 300; sectionZoomFrame.Width = 100; @@ -322,186 +316,182 @@ using (Presentation pres = new Presentation()) sectionZoomFrame.TransitionDuration = 1.5f; - // プレゼンテーションを保存 + // プレゼンテーションを保存します pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -## **サマリーズーム** -サマリーズームは、プレゼンテーションのすべての要素が一度に表示されるランディングページのようなものです。プレゼンテーションを行っているときに、ズームを使用してプレゼンテーション内の任意の場所に好きな順番で移動することができます。創造的になることができ、前に進んだり、スライドショーの部分を訪れたりして、プレゼンテーションの流れを中断することなく行えます。 +## **サマリズーム** +サマリズームは、プレゼンテーションのすべての要素が一度に表示されるランディングページのようなものです。プレゼンテーション中に、任意の順序で任意の場所へジャンプできるため、創造的に進めたり、前後に飛び回ったりしても、プレゼンテーションの流れを中断せずに済みます。 ![overview_image](sumzoomsel.png) -サマリーズームオブジェクトについて、Aspose.Slidesは[ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe)、[ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)、および[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection)インターフェイスと[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection)インターフェイスのいくつかのメソッドを提供しています。 +サマリズームオブジェクトについては、Aspose.Slides が [ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe)、[ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)、[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) インターフェイスと、[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) インターフェイスのいくつかのメソッドを提供します。 -### **サマリーズームの作成** +### **Creating Summary Zoom** +スライドにサマリズームフレームを追加する手順は次のとおりです。 -次の手順でスライドにサマリーズームフレームを追加できます: - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. 識別背景を持つ新しいスライドを作成し、作成したスライド用に新しいセクションを作成します。 -3. 最初のスライドにサマリーズームフレームを追加します。 -4. 修正したプレゼンテーションをPPTXファイルとして保存します。 - -このC#コードは、スライドにサマリーズームフレームを作成する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. 作成したスライド用に識別背景と新しいセクションを持つ新しいスライドを作成します。 +3. 最初のスライドにサマリズームフレームを追加します。 +4. 変更したプレゼンテーションを書き出して PPTX ファイルに保存します。 +この C# コードは、スライド上にサマリズームフレームを作成する方法を示しています: ``` csharp using (Presentation pres = new Presentation()) { - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - pres.Sections.AddSection("セクション 1", slide); + // プレゼンテーションに新しいセクションを追加します + pres.Sections.AddSection("Section 1", slide); - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - pres.Sections.AddSection("セクション 2", slide); + // プレゼンテーションに新しいセクションを追加します + pres.Sections.AddSection("Section 2", slide); - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Chartreuse; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - pres.Sections.AddSection("セクション 3", slide); + // プレゼンテーションに新しいセクションを追加します + pres.Sections.AddSection("Section 3", slide); - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.DarkGreen; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - pres.Sections.AddSection("セクション 4", slide); + // プレゼンテーションに新しいセクションを追加します + pres.Sections.AddSection("Section 4", slide); - // サマリーズームフレームオブジェクトを追加 + // SummaryZoomFrame オブジェクトを追加します ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); - // プレゼンテーションを保存 + // プレゼンテーションを保存します pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **サマリーズームセクションの追加と削除** -サマリーズームフレーム内のすべてのセクションは[ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)オブジェクトとして表されており、これらは[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection)オブジェクトに保存されています。サマリーズームセクションオブジェクトを[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection)インターフェイスを介してこのようにして追加または削除できます: +### **Adding and Removing Summary Zoom Section** +サマリズームフレーム内のすべてのセクションは [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection) オブジェクトとして表され、[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) オブジェクトに格納されます。サマリズームセクションオブジェクトは、[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) インターフェイスを介して次の手順で追加または削除できます。 -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. 識別背景を持つ新しいスライドを作成し、作成したスライド用に新しいセクションを作成します。 -3. 最初のスライドにサマリーズームフレームを追加します。 -4. 新しいスライドとセクションをプレゼンテーションに追加します。 -5. 作成したセクションをサマリーズームフレームに追加します。 -6. サマリーズームフレームから最初のセクションを削除します。 -7. 修正したプレゼンテーションをPPTXファイルとして保存します。 - -このC#コードは、サマリーズームフレーム内でセクションを追加および削除する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. 作成したスライド用に識別背景と新しいセクションを持つ新しいスライドを作成します。 +3. 最初のスライドにサマリズームフレームを追加します。 +4. プレゼンテーションに新しいスライドとセクションを追加します。 +5. 作成したセクションをサマリズームフレームに追加します。 +6. サマリズームフレームから最初のセクションを削除します。 +7. 変更したプレゼンテーションを書き出して PPTX ファイルに保存します。 +この C# コードは、サマリズームフレームでセクションを追加および削除する方法を示しています: ``` csharp using (Presentation pres = new Presentation()) { - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - pres.Sections.AddSection("セクション 1", slide); + // プレゼンテーションに新しいセクションを追加します + pres.Sections.AddSection("Section 1", slide); - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - pres.Sections.AddSection("セクション 2", slide); + // プレゼンテーションに新しいセクションを追加します + pres.Sections.AddSection("Section 2", slide); - // サマリーズームフレームオブジェクトを追加 + // SummaryZoomFrame オブジェクトを追加します ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Chartreuse; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - ISection section3 = pres.Sections.AddSection("セクション 3", slide); + // プレゼンテーションに新しいセクションを追加します + ISection section3 = pres.Sections.AddSection("Section 3", slide); - // サマリーズームにセクションを追加 + // Summary Zoom にセクションを追加します summaryZoomFrame.SummaryZoomCollection.AddSummaryZoomSection(section3); - // サマリーズームからセクションを削除 + // Summary Zoom からセクションを削除します summaryZoomFrame.SummaryZoomCollection.RemoveSummaryZoomSection(pres.Sections[1]); - // プレゼンテーションを保存 + // プレゼンテーションを保存します pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **サマリーズームセクションのフォーマット** - -より複雑なサマリーズームセクションオブジェクトを作成するには、シンプルなフレームのフォーマットを変更する必要があります。サマリーズームセクションオブジェクトに適用できるフォーマットオプションはいくつかあります。 -サマリーズームフレーム内のサマリーズームセクションオブジェクトのフォーマットを次のように制御できます: +### **Formatting Summary Zoom Sections** +より複雑なサマリズームセクションオブジェクトを作成するには、シンプルなフレームの書式設定を変更する必要があります。サマリズームセクションオブジェクトに適用できる書式設定オプションはいくつかあります。 -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのインスタンスを作成します。 -2. 識別背景を持つ新しいスライドを作成し、作成したスライド用に新しいセクションを作成します。 -3. 最初のスライドにサマリーズームフレームを追加します。 -4. `ISummaryZoomSectionCollection`から最初のオブジェクトのサマリーズームセクションオブジェクトを取得します。 -5. [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)オブジェクトを作成し、[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)オブジェクトに関連付けられた画像コレクションに画像を追加します。これがフレームを埋めるために使用されます。 -6. 作成したセクションズームフレームオブジェクトにカスタム画像を設定します。 -7. *リンクされたセクションから元のスライドに戻る*機能を設定します。 -8. 2番目のズームフレームオブジェクトのラインフォーマットを変更します。 -9. トランジションの持続時間を変更します。 -10. 修正したプレゼンテーションをPPTXファイルとして保存します。 +サマリズームフレーム内のサマリズームセクションオブジェクトの書式設定を制御する手順は次のとおりです。 -このC#コードは、サマリーズームセクションオブジェクトのフォーマットを変更する方法を示しています: +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +2. 作成したスライド用に識別背景と新しいセクションを持つ新しいスライドを作成します。 +3. 最初のスライドにサマリズームフレームを追加します。 +4. `ISummaryZoomSectionCollection` から最初のオブジェクトのサマリズームセクションオブジェクトを取得します。 +7. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) オブジェクトに関連付けられた images コレクションに画像を追加して、[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) オブジェクトを作成します。 +8. 作成したセクションズームフレームオブジェクトにカスタム画像を設定します。 +9. *リンクされたセクションから元のスライドに戻る* 動作を設定します。 +11. 2 番目のズームフレームオブジェクトの線の書式を変更します。 +12. トランジションの継続時間を変更します。 +13. 変更したプレゼンテーションを書き出して PPTX ファイルに保存します。 +この C# コードは、サマリズームセクションオブジェクトの書式設定を変更する方法を示しています: ``` csharp using (Presentation pres = new Presentation()) { - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - pres.Sections.AddSection("セクション 1", slide); + // プレゼンテーションに新しいセクションを追加します + pres.Sections.AddSection("Section 1", slide); - //プレゼンテーションに新しいスライドを追加 + //プレゼンテーションに新しいスライドを追加します slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // プレゼンテーションに新しいセクションを追加 - pres.Sections.AddSection("セクション 2", slide); + // プレゼンテーションに新しいセクションを追加します + pres.Sections.AddSection("Section 2", slide); - // サマリーズームフレームオブジェクトを追加 + // SummaryZoomFrame オブジェクトを追加します ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); - // 最初のサマリーズームセクションオブジェクトを取得 + // 最初の SummaryZoomSection オブジェクトを取得します ISummaryZoomSection summarySection = summaryZoomFrame.SummaryZoomCollection[0]; IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // サマリーズームセクションオブジェクトのフォーマットを設定 + // SummaryZoomSection オブジェクトの書式設定 summarySection.ZoomImage = ppImage; summarySection.ReturnToParent = false; @@ -512,7 +502,22 @@ using (Presentation pres = new Presentation()) summarySection.TransitionDuration = 1.5f; - // プレゼンテーションを保存 + // プレゼンテーションを保存します pres.Save("presentation.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Can I control returning to the 'parent' slide after showing the target?** + +はい。[Zoom frame](https://reference.aspose.com/slides/net/aspose.slides/zoomframe/) または [section](https://reference.aspose.com/slides/net/aspose.slides/sectionzoomframe/) には `ReturnToParent` 動作があり、これを有効にすると対象コンテンツの表示後に元のスライドに戻ります。 + +**Can I adjust the 'speed' or duration of the Zoom transition?** + +はい。Zoom では `TransitionDuration` を設定でき、ジャンプアニメーションの長さを制御できます。 + +**Are there limits on how many Zoom objects a presentation can contain?** + +ドキュメントに記載されたハードな API 制限はありません。実際の制限はプレゼンテーションの全体的な複雑さやビューアのパフォーマンスに依存します。多数のズームフレームを追加できますが、ファイルサイズとレンダリング時間を考慮してください。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md b/ja/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md index 35a8d670d1..5974f04fe9 100644 --- a/ja/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md +++ b/ja/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md @@ -1,30 +1,27 @@ --- -title: タグとカスタムデータの管理 +title: タグとカスタム データの管理 type: docs weight: 300 url: /ja/net/managing-tags-and-custom-data -keywords: "タグ, カスタムデータ, タグの値, タグを追加, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C# または .NET で PowerPoint プレゼンテーションにタグとカスタムデータを追加します" +keywords: "タグ, カスタム データ, タグの値, タグの追加, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" +description: "C# または .NET で PowerPoint プレゼンテーションにタグとカスタム データを追加する" --- -## プレゼンテーションファイルのデータストレージ +## **プレゼンテーション ファイルのデータ保存** -PPTXファイル(.pptx拡張子を持つアイテム)は、Office Open XML仕様の一部であるPresentationML形式で保存されます。Office Open XML形式は、プレゼンテーションに含まれるデータの構造を定義しています。 +PPTX ファイル(.pptx 拡張子のアイテム)は PresentationML フォーマットで保存されており、これは Office Open XML 仕様の一部です。Office Open XML フォーマットはプレゼンテーションに含まれるデータの構造を定義します。 -*スライド*はプレゼンテーションの要素の1つであり、*スライドパート*は1つのスライドの内容を含んでいます。スライドパートは、ISO/IEC 29500によって定義された多くのパート—ユーザー定義タグなど—との明示的な関係を持つことが許可されています。 +スライドはプレゼンテーションの要素の一つであり、*スライド パート* は単一のスライドのコンテンツを含みます。スライド パートは ISO/IEC 29500 で定義されたユーザー定義タグなど、複数のパートへの明示的なリレーションシップを持つことが許可されています。 -プレゼンテーションに特有のカスタムデータまたはユーザーは、タグ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection))およびCustomXmlParts([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection))として存在することができます。 +カスタム データ(プレゼンテーション固有)やユーザーはタグ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection))および CustomXmlParts([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection))として存在できます。 {{% alert color="primary" %}} - -タグは本質的に文字列-キーのペア値です。 - +タグは本質的に文字列キーと値のペアです。 {{% /alert %}} -## タグの値を取得する - -スライドでは、タグはIDocumentProperties.Keywordsプロパティに対応します。このサンプルコードは、Aspose.Slides for .NETを使用して[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)のタグの値を取得する方法を示しています: +## **タグの値の取得** +スライドでは、タグは IDocumentProperties.Keywords プロパティに対応します。このサンプルコードは、Aspose.Slides for .NET の [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) でタグの値を取得する方法を示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,17 +29,17 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## プレゼンテーションにタグを追加する -Aspose.Slidesを使用すると、プレゼンテーションにタグを追加することができます。タグは通常、2つの項目で構成されます: +## **プレゼンテーションへのタグの追加** -- カスタムプロパティの名前 - `MyTag` -- カスタムプロパティの値 - `My Tag Value` +Aspose.Slides を使用すると、プレゼンテーションにタグを追加できます。タグは通常、2 つの項目で構成されます: -特定のルールやプロパティに基づいていくつかのプレゼンテーションを分類する必要がある場合は、それらのプレゼンテーションにタグを追加することでメリットを得ることができます。たとえば、北米の国々からのすべてのプレゼンテーションをカテゴリ化またはまとめたい場合は、北米タグを作成し、関連する国(アメリカ、メキシコ、カナダ)を値として割り当てることができます。 +- カスタム プロパティの名前 - `MyTag` +- カスタム プロパティの値 - `My Tag Value` -このサンプルコードは、Aspose.Slides for .NETを使用して[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)にタグを追加する方法を示しています: +特定のルールやプロパティに基づいてプレゼンテーションを分類する必要がある場合、タグを追加すると便利です。たとえば、北米の国々のプレゼンテーションをまとめて分類したい場合、北米タグを作成し、該当する国(米国、メキシコ、カナダ)を値として割り当てることができます。 +このサンプルコードは、Aspose.Slides for .NET を使用して [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) にタグを追加する方法を示しています: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -51,8 +48,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -タグは[Slide](https://reference.aspose.com/slides/net/aspose.slides/slide)にも設定できます: +タグは [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide) に対しても設定できます: ```csharp using(Presentation pres = new Presentation()) { @@ -61,8 +58,8 @@ using(Presentation pres = new Presentation()) } ``` -または、個々の[Shape](https://reference.aspose.com/slides/net/aspose.slides/shape)にも: +または個々の [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape) に対しても設定できます: ```csharp using(Presentation pres = new Presentation()) { @@ -71,4 +68,19 @@ using(Presentation pres = new Presentation()) shape.TextFrame.Text = "My text"; shape.CustomData.Tags["tag"] = "value"; } -``` \ No newline at end of file +``` + + +## **FAQ** + +**プレゼンテーション、スライド、またはシェイプからすべてのタグを一括で削除できますか?** + +はい。[tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) は [clear](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/clear/) 操作をサポートしており、すべてのキーと値のペアを一度に削除します。 + +**コレクション全体を反復処理せずに、名前で単一のタグを削除するにはどうすればよいですか?** + +タグのキーで削除するには、[TagCollection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) の [Remove(name)](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/remove/) 操作を使用します。 + +**分析やフィルタリングのためにタグ名の完全なリストを取得するにはどうすればよいですか?** + +[tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) で [GetNamesOfTags](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/getnamesoftags/) を使用すると、すべてのタグ名の配列が返されます。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md b/ja/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md index c5070a9131..5d5732eab0 100644 --- a/ja/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md +++ b/ja/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md @@ -1,33 +1,33 @@ --- -title: アニメーションチャート +title: アニメーション化されたチャート type: docs weight: 80 url: /ja/net/animated-charts/ keywords: "チャート, チャートシリーズ, アニメーション PowerPoint プレゼンテーション, PPTX, PPT, C#, Csharp, Aspose.Slides for .NET" -description: "C# または .NET における PowerPoint チャートシリーズとアニメーション" +description: "C# または .NET での PowerPoint チャートシリーズとアニメーション" --- -Aspose.Slides for .NET は、チャート要素のアニメーションをサポートしています。 **シリーズ**、**カテゴリー**、**シリーズ要素**、**カテゴリー要素**は、[**ISequence**.**AddEffect**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect) メソッドと二つの列挙型 [**EffectChartMajorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype) と [**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype) でアニメーションさせることができます。 -## **チャートシリーズのアニメーション** -チャートシリーズをアニメーションさせたい場合は、以下の手順に従ってコードを書いてください: +Aspose.Slides for .NET はチャート要素のアニメーションをサポートしています。**Series**、**Categories**、**Series Elements**、**Categories Elements** は [**ISequence**.**AddEffect**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect) メソッドと 2 つの列挙型 **EffectChartMajorGroupingType** と **EffectChartMinorGroupingType** を使用してアニメーション化できます。 -1. プレゼンテーションを読み込む。 -1. チャートオブジェクトの参照を取得する。 -1. シリーズをアニメーションさせる。 -1. プレゼンテーションファイルをディスクに書き込む。 +## **Chart Series Animation** +チャートのシリーズをアニメーション化したい場合は、以下の手順に従ってコードを記述します。 -以下の例では、チャートシリーズをアニメーションさせました。 +1. プレゼンテーションを読み込みます。 +1. チャート オブジェクトへの参照を取得します。 +1. シリーズをアニメーション化します。 +1. プレゼンテーション ファイルをディスクに書き出します。 +以下の例では、チャートシリーズをアニメーション化しています。 ```c# -// プレゼンテーションクラスをインスタンス化してプレゼンテーションファイルを表す +// プレゼンテーション ファイルを表す Presentation クラスのインスタンスを作成 using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // チャートオブジェクトの参照を取得 + // チャート オブジェクトへの参照を取得 var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; - // シリーズをアニメーションさせる + // シリーズをアニメーション化 slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); @@ -47,31 +47,30 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) EffectChartMajorGroupingType.BySeries, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // 修正されたプレゼンテーションをディスクに書き込む + // 変更されたプレゼンテーションをディスクに保存 presentation.Save("AnimatingSeries_out.pptx", SaveFormat.Pptx); } ``` -## **チャートカテゴリーのアニメーション** -チャートカテゴリーをアニメーションさせたい場合は、以下の手順に従ってコードを書いてください: +## **Chart Category Animation** +チャートのカテゴリをアニメーション化したい場合は、以下の手順に従ってコードを記述します。 -1. プレゼンテーションを読み込む。 -1. チャートオブジェクトの参照を取得する。 -1. カテゴリーをアニメーションさせる。 -1. プレゼンテーションファイルをディスクに書き込む。 - -以下の例では、チャートカテゴリーをアニメーションさせました。 +1. プレゼンテーションを読み込みます。 +1. チャート オブジェクトへの参照を取得します。 +1. カテゴリをアニメーション化します。 +1. プレゼンテーション ファイルをディスクに書き出します。 +以下の例では、チャートカテゴリをアニメーション化しています。 ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // チャートオブジェクトの参照を取得 + // チャートオブジェクトへの参照を取得 var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; - // カテゴリーの要素をアニメーションさせる + // カテゴリ要素をアニメーション化 slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); @@ -88,32 +87,31 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // プレゼンテーションファイルをディスクに書き込む + // プレゼンテーションファイルをディスクに保存 presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx); } ``` -## **シリーズ要素のアニメーション** -シリーズ要素をアニメーションさせたい場合は、以下の手順に従ってコードを書いてください: - -1. プレゼンテーションを読み込む。 -1. チャートオブジェクトの参照を取得する。 -1. シリーズ要素をアニメーションさせる。 -1. プレゼンテーションファイルをディスクに書き込む。 +## **Animation in Series Element** +シリーズ要素をアニメーション化したい場合は、以下の手順に従ってコードを記述します。 -以下の例では、シリーズの要素をアニメーションさせました。 +1. プレゼンテーションを読み込みます。 +1. チャート オブジェクトへの参照を取得します。 +1. シリーズ要素をアニメーション化します。 +1. プレゼンテーション ファイルをディスクに書き出します。 +以下の例では、シリーズの要素をアニメーション化しました。 ```c# -// プレゼンテーションを読み込む + // プレゼンテーションを読み込む using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // チャートオブジェクトの参照を取得 + // チャートオブジェクトへの参照を取得 var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; - // シリーズ要素をアニメーションさせる + // シリーズ要素をアニメーション化 slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); @@ -131,30 +129,30 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // プレゼンテーションファイルをディスクに書き込む + // プレゼンテーションファイルをディスクに保存 presentation.Save("AnimatingSeriesElements_out.pptx", SaveFormat.Pptx); +} ``` -## **カテゴリー要素のアニメーション** -カテゴリー要素をアニメーションさせたい場合は、以下の手順に従ってコードを書いてください: +## **Animation in Category Element** +カテゴリ要素をアニメーション化したい場合は、以下の手順に従ってコードを記述します。 -1. プレゼンテーションを読み込む。 -1. チャートオブジェクトの参照を取得する。 -1. カテゴリー要素をアニメーションさせる。 -1. プレゼンテーションファイルをディスクに書き込む。 - -以下の例では、カテゴリー要素をアニメーションさせました。 +1. プレゼンテーションを読み込みます。 +1. チャート オブジェクトへの参照を取得します。 +1. カテゴリ要素をアニメーション化します。 +1. プレゼンテーション ファイルをディスクに書き出します。 +以下の例では、カテゴリ要素をアニメーション化しました。 ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // チャートオブジェクトの参照を取得 + // チャートオブジェクトへの参照を取得 var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; - // カテゴリーの要素をアニメーションさせる + // カテゴリ要素をアニメーション化 slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); @@ -171,7 +169,30 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // プレゼンテーションファイルをディスクに書き込む + // プレゼンテーションファイルをディスクに保存 presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Are different effect types (e.g., entrance, emphasis, exit) supported for charts like for regular shapes?** + +はい。チャートはシェイプとして扱われるため、エントランス、エンファシス、エグジットなどの標準的なアニメーション効果タイプがすべてサポートされ、スライドのタイムラインとアニメーション シーケンスでフルコントロールできます。 + +**Can I combine chart animation with slide transitions?** + +はい。[Transitions](/slides/ja/net/slide-transition/) はスライド全体に適用され、アニメーション効果はスライド上のオブジェクトに適用されます。両方を同じプレゼンテーションで組み合わせて使用でき、それぞれを個別に制御できます。 + +**Are chart animations preserved when saving to PPTX?** + +はい。プレゼンテーションを[save to PPTX](/slides/ja/net/save-presentation/) すると、すべてのアニメーション効果とその順序がプレゼンテーションのネイティブ アニメーション モデルの一部として保持されます。 + +**Can I read existing chart animations from a presentation and modify them?** + +はい。[API](https://reference.aspose.com/slides/net/aspose.slides.animation/) はスライドのタイムライン、シーケンス、エフェクトへのアクセスを提供し、既存のチャート アニメーションを検査し、最初から作り直すことなく変更できます。 + +**Can I produce a video that includes chart animations using Aspose.Slides?** + +はい。プレゼンテーションを[export a presentation to video](/slides/ja/net/convert-powerpoint-to-video/) すると、アニメーションを保持したままビデオにエクスポートでき、タイミングやその他のエクスポート設定を構成して、アニメーション再生を反映したクリップを作成できます。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md index e7750c7d0d..95b0208a91 100644 --- a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md +++ b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md @@ -3,13 +3,12 @@ title: チャート計算 type: docs weight: 50 url: /ja/net/chart-calculations/ -keywords: "チャート計算, チャート要素, 要素位置, チャート値 C#, Csharp, Aspose.Slides for .NET" -description: "C#または.NETにおけるPowerPointチャート計算と値" +keywords: "チャート計算, チャート要素, 要素の位置, チャート値 C#, C#, Aspose.Slides for .NET" +description: "PowerPoint のチャート計算と値(C# または .NET)" --- -## **チャート要素の実際の値を計算する** -Aspose.Slides for .NETは、これらのプロパティを取得するためのシンプルなAPIを提供します。これにより、チャート要素の実際の値を計算することができます。実際の値には、IActualLayoutインターフェースを実装する要素の位置(IActualLayout.ActualX、IActualLayout.ActualY、IActualLayout.ActualWidth、IActualLayout.ActualHeight)および実際の軸値(IAxis.ActualMaxValue、IAxis.ActualMinValue、IAxis.ActualMajorUnit、IAxis.ActualMinorUnit、IAxis.ActualMajorUnitScale、IAxis.ActualMinorUnitScale)が含まれます。 - +## **チャート要素の実際の値を計算** +Aspose.Slides for .NET は、これらのプロパティを取得するためのシンプルな API を提供します。これにより、チャート要素の実際の値を計算できます。実際の値には、IActualLayout インターフェイスを実装する要素の位置 (IActualLayout.ActualX、IActualLayout.ActualY、IActualLayout.ActualWidth、IActualLayout.ActualHeight) と、実際の軸の値 (IAxis.ActualMaxValue、IAxis.ActualMinValue、IAxis.ActualMajorUnit、IAxis.ActualMinorUnit、IAxis.ActualMajorUnitScale、IAxis.ActualMinorUnitScale) が含まれます。 ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -19,17 +18,17 @@ using (Presentation pres = new Presentation("test.pptx")) double y = chart.PlotArea.ActualY; double w = chart.PlotArea.ActualWidth; double h = chart.PlotArea.ActualHeight; - - // プレゼンテーションを保存する - pres.Save("Result.pptx", SaveFormat.Pptx); + + // プレゼンテーションを保存 + pres.Save("Result.pptx", SaveFormat.Pptx); } ``` -## **親チャート要素の実際の位置を計算する** -Aspose.Slides for .NETは、これらのプロパティを取得するためのシンプルなAPIを提供します。IActualLayoutのプロパティは、親チャート要素の実際の位置に関する情報を提供します。プロパティに実際の値を設定するには、IChart.ValidateChartLayout()メソッドを事前に呼び出す必要があります。 +## **親チャート要素の実際の位置を計算** +Aspose.Slides for .NET は、これらのプロパティを取得するためのシンプルな API を提供します。IActualLayout のプロパティは、親チャート要素の実際の位置に関する情報を提供します。実際の値でプロパティを埋めるには、事前に IChart.ValidateChartLayout() メソッドを呼び出す必要があります。 ```c# -// 空のプレゼンテーションを作成する +// 空のプレゼンテーションを作成 using (Presentation pres = new Presentation()) { Chart chart = (Chart)pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 500, 350); @@ -42,28 +41,28 @@ using (Presentation pres = new Presentation()) } ``` -## **チャートから情報を隠す** -このトピックは、チャートから情報を隠す方法を理解するのに役立ちます。Aspose.Slides for .NETを使用すると、チャートから**タイトル、縦軸、横軸**、および**グリッド線**を隠すことができます。以下のコード例は、これらのプロパティを使用する方法を示しています。 +## **チャートから情報を非表示にする** +このトピックでは、チャートから情報を非表示にする方法を解説します。Aspose.Slides for .NET を使用すると、**タイトル、垂直軸、水平軸** および **グリッド線** をチャートから非表示にできます。以下のコード例は、これらのプロパティの使用方法を示しています。 ```c# using (Presentation pres = new Presentation()) { ISlide slide = pres.Slides[0]; IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 140, 118, 320, 370); - // チャートタイトルを隠す + //チャートのタイトルを非表示にする chart.HasTitle = false; - // 値軸を隠す + ///値軸を非表示にする chart.Axes.VerticalAxis.IsVisible = false; - // カテゴリー軸の可視性 + //カテゴリ軸の表示 chart.Axes.HorizontalAxis.IsVisible = false; - // 凡例を隠す + //凡例を非表示にする chart.HasLegend = false; - // メジャーグリッドラインを隠す + //主要グリッド線を非表示にする chart.Axes.HorizontalAxis.MajorGridLinesFormat.Line.FillFormat.FillType = FillType.NoFill; for (int i = 0; i < chart.ChartData.Series.Count; i++) @@ -78,11 +77,26 @@ using (Presentation pres = new Presentation()) series.Labels.DefaultDataLabelFormat.Position = LegendDataLabelPosition.Top; series.Marker.Size = 15; - // シリーズの線の色を設定する + //系列の線の色を設定する series.Format.Line.FillFormat.FillType = FillType.Solid; series.Format.Line.FillFormat.SolidFillColor.Color = Color.Purple; series.Format.Line.DashStyle = LineDashStyle.Solid; pres.Save("HideInformationFromChart.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**外部の Excel ワークブックをデータ ソースとして使用できますか?また、再計算にどのように影響しますか?** + +はい。チャートは外部ワークブックを参照できます。外部ソースに接続または更新すると、数式と値はそのワークブックから取得され、チャートは開く/編集する操作中に更新を反映します。API を使用すると、[外部ワークブックを指定](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/) パスを設定し、リンクされたデータを管理できます。 + +**自分で回帰分析を実装せずにトレンドラインを計算・表示できますか?** + +はい。[トレンドライン](/slides/ja/net/trend-line/)(線形、指数など)は Aspose.Slides によって追加・更新され、パラメータはシリーズ データから自動的に再計算されるため、独自の計算を実装する必要はありません。 + +**プレゼンテーションに外部リンクを持つ複数のチャートがある場合、各チャートが計算値に使用するワークブックを制御できますか?** + +はい。各チャートはそれぞれの[外部ワークブック](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/) を指すことができ、他のチャートとは独立してチャートごとに外部ワークブックを作成または置き換えることも可能です。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md index 68f07b48a4..197e7c124e 100644 --- a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md +++ b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md @@ -2,13 +2,12 @@ title: コールアウト type: docs url: /ja/net/callout/ -keywords: "チャートコールアウト, チャートデータラベル, C#, Csharp, Aspose.Slides for .NET" -description: "C# または .NET における PowerPoint チャートコールアウトとデータラベル" +keywords: "チャート コールアウト, チャート データ ラベル, C#, Csharp, Aspose.Slides for .NET" +description: "PowerPoint のチャートコールアウトとデータラベル(C# または .NET)" --- -## **コールアウトの使用** -新しいプロパティ **ShowLabelAsDataCallout** が **DataLabelFormat** クラスと **IDataLabelFormat** インターフェイスに追加され、指定されたチャートのデータラベルがデータコールアウトとして表示されるかデータラベルとして表示されるかを決定します。以下の例では、コールアウトを設定しました。 - +## **Callouts の使用** +新しいプロパティ **ShowLabelAsDataCallout** が **DataLabelFormat** クラスおよび **IDataLabelFormat** インターフェイスに追加され、指定したチャートのデータラベルをデータコールアウトとして表示するかデータラベルとして表示するかを決定します。以下の例では、コールアウトを設定しています。 ```c# using (Presentation presentation = new Presentation()) { @@ -22,9 +21,9 @@ using (Presentation presentation = new Presentation()) -## **ドーナツチャートのコールアウトの設定** -Aspose.Slides for .NET では、ドーナツチャートの系列データラベルコールアウト形状の設定をサポートしています。以下にサンプル例を示します。 +## **ドーナツ チャートのコールアウト設定** +Aspose.Slides for .NET は、ドーナツ チャートの系列データラベルコールアウト形状の設定をサポートします。以下にサンプル例を示します。 ```c# Presentation pres = new Presentation("testc.pptx"); ISlide slide = pres.Slides[0]; @@ -82,4 +81,15 @@ while (categoryIndex < 15) categoryIndex++; } pres.Save("chart.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**プレゼンテーションを PDF、HTML5、SVG、または画像に変換するときにコールアウトは保持されますか?** + +はい。コールアウトはチャートのレンダリングの一部であるため、[PDF](/slides/ja/net/convert-powerpoint-to-pdf/)、[HTML5](/slides/ja/net/export-to-html5/)、[SVG](/slides/ja/net/render-a-slide-as-an-svg-image/)、または[raster images](/slides/ja/net/convert-powerpoint-to-png/) にエクスポートすると、スライドの書式設定とともに保持されます。 + +**カスタムフォントはコールアウトで機能しますか、エクスポート時に外観を保持できますか?** + +はい。Aspose.Slides はプレゼンテーションへの[フォントの埋め込み](/slides/ja/net/embedded-font/)をサポートし、[PDF](/slides/ja/net/convert-powerpoint-to-pdf/) などのエクスポート時にフォント埋め込みを制御するため、異なるシステム間でもコールアウトの外観が同じになります。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index f2ec34fb1b..6f3ac4db00 100644 --- a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,18 +1,17 @@ --- -title: チャートの軸 +title: チャート軸 type: docs url: /ja/net/chart-axis/ keywords: "PowerPoint チャート軸, プレゼンテーションチャート, C#, .NET, チャート軸の操作, チャートデータ" -description: "C#または.NETでPowerPointチャートの軸を編集する" +description: "C# または .NET で PowerPoint のチャート軸を編集" --- +## **チャートの垂直軸の最大値を取得** +Aspose.Slides for .NET を使用すると、垂直軸の最小値と最大値を取得できます。次の手順に従ってください。 -## **チャートの垂直軸の最大値を取得する** -Aspose.Slides for .NETでは、垂直軸上の最小値と最大値を取得することができます。次の手順を実行してください: - -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 1. 最初のスライドにアクセスします。 -1. デフォルトデータを持つチャートを追加します。 +1. デフォルトデータのチャートを追加します。 1. 軸上の実際の最大値を取得します。 1. 軸上の実際の最小値を取得します。 1. 軸の実際の主要単位を取得します。 @@ -20,8 +19,7 @@ Aspose.Slides for .NETでは、垂直軸上の最小値と最大値を取得す 1. 軸の実際の主要単位スケールを取得します。 1. 軸の実際の副単位スケールを取得します。 -このサンプルコードは、上記の手順の実装を示しており、C#で必要な値を取得する方法を示しています: - +このサンプルコード(上記手順の実装)は、C# で必要な値を取得する方法を示しています。 ```c# using (Presentation pres = new Presentation()) { @@ -34,35 +32,32 @@ using (Presentation pres = new Presentation()) double majorUnit = chart.Axes.HorizontalAxis.ActualMajorUnit; double minorUnit = chart.Axes.HorizontalAxis.ActualMinorUnit; - // プレゼンテーションを保存 + // プレゼンテーションを保存します presentation.Save("ErrorBars_out.pptx", SaveFormat.Pptx); } ``` -## **軸間でデータを入れ替える** -Aspose.Slidesでは、軸間でデータを迅速に入れ替えることができます—垂直軸(y軸)に表示されているデータが水平軸(x軸)に移動し、その逆も同様です。 - -このC#コードは、チャート上の軸間でデータを入れ替える作業を行う方法を示しています: +## **軸間のデータ交換** +Aspose.Slides を使用すると、軸間のデータを簡単に入れ替えることができます。垂直軸(y 軸)のデータが水平軸(x 軸)に、逆も同様に移動します。 +この C# コードは、チャートの軸間でデータを入れ替える方法を示しています: ```c# // 空のプレゼンテーションを作成 using (Presentation pres = new Presentation()) { IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 400, 300); - // 行と列を入れ替え - chart.ChartData.SwitchRowColumn(); + //行と列を入れ替えます - // プレゼンテーションを保存 + // プレゼンテーションを保存します pres.Save("SwitchChartRowColumns_out.pptx", SaveFormat.Pptx); } ``` -## **線チャートの垂直軸を無効にする** - -このC#コードは、線チャートの垂直軸を非表示にする方法を示しています: +## **折れ線グラフの垂直軸を無効化** +この C# コードは、折れ線グラフの垂直軸を非表示にする方法を示しています: ```c# using (Presentation pres = new Presentation()) { @@ -73,10 +68,9 @@ using (Presentation pres = new Presentation()) } ``` -## **線チャートの水平軸を無効にする** - -このコードは、線チャートの水平軸を非表示にする方法を示しています: +## **折れ線グラフの水平軸を無効化** +このコードは、折れ線グラフの水平軸を非表示にする方法を示しています: ```c# using (Presentation pres = new Presentation()) { @@ -87,10 +81,9 @@ using (Presentation pres = new Presentation()) } ``` -## **カテゴリー軸の変更** - -**CategoryAxisType**プロパティを使用して、好みのカテゴリー軸タイプ(**date**または**text**)を指定できます。このC#コードは、その操作を示しています: +## **カテゴリ軸の変更** +**CategoryAxisType** プロパティを使用すると、希望するカテゴリ軸のタイプ(**date** または **text**)を指定できます。この C# のコードはその操作を示しています: ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -103,9 +96,9 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) } ``` -## **カテゴリー軸値に対する日付形式の設定** -Aspose.Slides for .NETでは、カテゴリー軸値の日付形式を設定することができます。この操作は、次のC#コードで示されています: +## **カテゴリ軸の値の日時形式を設定** +Aspose.Slides for .NET を使用すると、カテゴリ軸の値に対して日付形式を設定できます。この操作は以下の C# コードで示しています: ```c# using (Presentation pres = new Presentation()) { @@ -134,23 +127,23 @@ using (Presentation pres = new Presentation()) } ``` -## **チャート軸タイトルの回転角度を設定する** -Aspose.Slides for .NETでは、チャート軸タイトルの回転角度を設定することができます。このC#コードは、その操作を示しています: +## **チャート軸タイトルの回転角度設定** +Aspose.Slides for .NET を使用すると、チャート軸タイトルの回転角度を設定できます。この C# コードはその操作を示しています: ```c# using (Presentation pres = new Presentation()) { IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 450, 300); chart.Axes.VerticalAxis.HasTitle = true; - chart.Axes.VerticalAxis.Title.TextFormat.TextBlockFormat.RotationAngle = 90; + chart.Axes.VerticalAxis.Title.TextFormat.TextBlockFormat.RotationAngle = 90; pres.Save("test.pptx", SaveFormat.Pptx); } ``` -## **カテゴリーまたは値軸の位置を設定する** -Aspose.Slides for .NETでは、カテゴリーまたは値軸の位置を設定することができます。このC#コードは、その作業を行う方法を示しています: +## **カテゴリ軸または値軸の位置設定** +Aspose.Slides for .NET を使用すると、カテゴリ軸または値軸の位置を設定できます。この C# コードはその手順を示しています: ```c# using (Presentation pres = new Presentation()) { @@ -161,9 +154,9 @@ using (Presentation pres = new Presentation()) } ``` -## **チャート値軸に表示単位ラベルを有効にする** -Aspose.Slides for .NETでは、チャートの値軸に単位ラベルを表示するように構成することができます。このC#コードは、その操作を示しています: +## **チャート値軸に表示単位ラベルを有効化** +Aspose.Slides for .NET を使用すると、チャートの値軸に単位ラベルを表示するように設定できます。この C# コードはその操作を示しています: ```c# using (Presentation pres = new Presentation(dataDir+"Test.pptx")) { @@ -171,4 +164,15 @@ using (Presentation pres = new Presentation(dataDir+"Test.pptx")) chart.Axes.VerticalAxis.DisplayUnit = DisplayUnitType.Millions; pres.Save("Result.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**軸が他の軸と交差する値(軸の交差点)を設定するにはどうすればよいですか?** + +軸は [crossing setting](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/crosstype/) を提供しています。0、カテゴリ/値の最大、または特定の数値で交差させるかを選択できます。これにより、X 軸を上下にずらしたり、基準線を強調したりすることが可能です。 + +**軸に対する目盛ラベルの位置(軸側、外側、内側)を設定するにはどうすればよいですか?** + +[label position](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/majortickmark/) を "cross"、"outside"、または "inside" に設定します。これにより可読性が向上し、特に小さなチャートでのスペース節約に役立ちます。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md index 7759305a8f..5e4dc32c72 100644 --- a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md +++ b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md @@ -1,17 +1,16 @@ --- -title: チャートデータラベル +title: チャート データ ラベル type: docs url: /ja/net/chart-data-label/ -keywords: "チャートデータラベル,ラベル距離, C#, Csharp, Aspose.Slides for .NET" -description: "C#または.NETでPowerPointチャートデータラベルと距離を設定します" +keywords: "チャート データ ラベル,label 距離, C#, Csharp, Aspose.Slides for .NET" +description: "C# または .NET で PowerPoint のチャート データ ラベルと距離を設定する" --- -チャート上のデータラベルは、チャートデータ系列や個々のデータポイントに関する詳細を表示します。これにより、読者はデータ系列を迅速に特定し、チャートを理解しやすくします。 +チャートのデータ ラベルは、チャートのデータ シリーズまたは個々のデータ ポイントに関する詳細を示します。読者はデータ シリーズをすばやく識別でき、チャートの理解もしやすくなります。 -## **チャートデータラベルのデータ精度を設定する** - -このC#コードは、チャートデータラベルにおけるデータの精度を設定する方法を示しています: +## **チャート データ ラベルのデータ精度を設定する** +この C# コードは、チャート データ ラベルのデータ 精度を設定する方法を示します。 ```c# using (Presentation pres = new Presentation()) { @@ -23,11 +22,12 @@ using (Presentation pres = new Presentation()) } ``` -## **パーセンテージをラベルとして表示する** -Aspose.Slides for .NETを使用すると、表示されたチャートにパーセンテージラベルを設定できます。このC#コードはその操作を示しています: +## **ラベルとしてパーセンテージを表示** + +Aspose.Slides for .NET は、表示されるチャートにパーセンテージ ラベルを設定できます。この C# コードはその操作を示します。 ```c# -// プレゼンテーションクラスのインスタンスを作成 +// Presentation クラスのインスタンスを作成します Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; @@ -72,45 +72,46 @@ for (int x = 0; x < chart.ChartData.Series.Count; x++) } } -// チャートを含むプレゼンテーションを保存 +// チャートを含むプレゼンテーションを保存します presentation.Save("DisplayPercentageAsLabels_out.pptx", SaveFormat.Pptx); ``` -## **チャートデータラベルにパーセンテージ記号を設定する** -このC#コードは、チャートデータラベルにパーセンテージ記号を設定する方法を示しています: +## **チャート データ ラベルにパーセンテージ記号を設定** + +この C# コードは、チャート データ ラベルにパーセンテージ記号を設定する方法を示します。 ```c# -// プレゼンテーションクラスのインスタンスを作成 +// Presentation クラスのインスタンスを作成します Presentation presentation = new Presentation(); -// スライドのインデックスを通じて参照を取得 +// インデックスでスライドの参照を取得します ISlide slide = presentation.Slides[0]; -// スライドにパーセント積み上げ棒グラフを作成 +// スライドに PercentsStackedColumn チャートを作成します IChart chart = slide.Shapes.AddChart(ChartType.PercentsStackedColumn, 20, 20, 500, 400); -// NumberFormatLinkedToSourceをfalseに設定 +// NumberFormatLinkedToSource を false に設定します chart.Axes.VerticalAxis.IsNumberFormatLinkedToSource = false; chart.Axes.VerticalAxis.NumberFormat = "0.00%"; chart.ChartData.Series.Clear(); int defaultWorksheetIndex = 0; -// チャートデータワークシートを取得 +// チャート データ ワークシートを取得します IChartDataWorkbook workbook = chart.ChartData.ChartDataWorkbook; -// 新しい系列を追加 +// 新しい系列を追加します IChartSeries series = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 1, "Reds"), chart.Type); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 1, 0.30)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 1, 0.50)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 3, 1, 0.80)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 4, 1, 0.65)); -// 系列の塗りつぶし色を設定 +// 系列の塗りつぶし色を設定します series.Format.Fill.FillType = FillType.Solid; series.Format.Fill.SolidFillColor.Color = Color.Red; -// LabelFormatプロパティを設定 +// LabelFormat プロパティを設定します series.Labels.DefaultDataLabelFormat.ShowValue = true; series.Labels.DefaultDataLabelFormat.IsNumberFormatLinkedToSource = false; series.Labels.DefaultDataLabelFormat.NumberFormat = "0.0%"; @@ -119,14 +120,14 @@ series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.FillTyp series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.White; series.Labels.DefaultDataLabelFormat.ShowValue = true; -// 新しい系列を追加 +// 新しい系列を追加します IChartSeries series2 = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 2, "Blues"), chart.Type); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 2, 0.70)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 2, 0.50)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 3, 2, 0.20)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 4, 2, 0.35)); -// 塗りつぶしタイプと色を設定 +// 塗りつぶしタイプと色を設定します series2.Format.Fill.FillType = FillType.Solid; series2.Format.Fill.SolidFillColor.Color = Color.Blue; series2.Labels.DefaultDataLabelFormat.ShowValue = true; @@ -136,36 +137,37 @@ series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FontHeight = 10; series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.FillType = FillType.Solid; series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.White; -// プレゼンテーションをディスクに書き込む +// プレゼンテーションをディスクに保存します presentation.Save("SetDataLabelsPercentageSign_out.pptx", SaveFormat.Pptx); ``` -## **軸からのラベル距離を設定する** -このC#コードは、軸からカテゴリラベルの距離を設定する方法を示しています: +## **軸からラベルまでの距離を設定** + +この C# コードは、軸からプロットされたチャートのカテゴリ 軸へのラベル距離を設定する方法を示します。 ```c# -// プレゼンテーションクラスのインスタンスを作成 +// Presentation クラスのインスタンスを作成します Presentation presentation = new Presentation(); -// スライドの参照を取得 +// スライドの参照を取得します ISlide sld = presentation.Slides[0]; -// スライドにチャートを作成 +// スライド上にチャートを作成します IChart ch = sld.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 300); -// 軸からのラベル距離を設定 +// 軸からラベルまでの距離を設定します ch.Axes.HorizontalAxis.LabelOffset = 500; -// プレゼンテーションをディスクに書き込む +// プレゼンテーションをディスクに保存します presentation.Save("SetCategoryAxisLabelDistance_out.pptx", SaveFormat.Pptx); ``` -## **ラベル位置を調整する** -チャートを作成する際、軸に依存しないチャート(例:円グラフ)では、チャートのデータラベルがエッジに近すぎる場合があります。このような場合、リーダラインがはっきり表示されるようにデータラベルの位置を調整する必要があります。 +## **ラベル位置の調整** -このC#コードは、円グラフでラベルの位置を調整する方法を示します: +軸に依存しないチャート(例えば円グラフ)を作成すると、チャートのデータ ラベルがエッジに近すぎることがあります。その場合、リーダー ラインが明確に表示されるようにデータ ラベルの位置を調整する必要があります。 +この C# コードは、円グラフのラベル位置を調整する方法を示します。 ```c# using (Presentation pres = new Presentation()) { @@ -183,4 +185,19 @@ using (Presentation pres = new Presentation()) } ``` -![pie-chart-adjusted-label](pie-chart-adjusted-label.png) \ No newline at end of file + +![円グラフ-調整ラベル](pie-chart-adjusted-label.png) + +## **FAQ** + +**密集したチャートでデータ ラベルが重なるのを防ぐには?** + +自動ラベル配置、リーダー ライン、フォント サイズの削減を組み合わせます。必要に応じて一部のフィールド(例: カテゴリ)を非表示にするか、極端または重要なポイントのみにラベルを表示します。 + +**ゼロ、負、または空の値に対してのみラベルを無効にするには?** + +ラベルを有効にする前にデータ ポイントをフィルタリングし、0、負の値、または欠損値に対して表示をオフにするルールを適用します。 + +**PDF/画像にエクスポートするときにラベル スタイルを一貫させるには?** + +フォント(ファミリ、サイズ)を明示的に設定し、レンダリング側でフォントが利用可能か確認してフォント フォールバックを防止します。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index d042c03ca7..119f86971a 100644 --- a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,62 +1,58 @@ --- -title: チャートデータマーカー +title: チャート データ マーカー type: docs url: /ja/net/chart-data-marker/ keywords: -- チャートマーカーオプション +- チャート マーカー オプション - PowerPoint - プレゼンテーション - C# - Csharp - Aspose.Slides for .NET -description: "C# または .NET で PowerPoint プレゼンテーションのチャートマーカーオプションを設定します" +description: "PowerPoint プレゼンテーションで C# または .NET を使用してチャート マーカー オプションを設定します" --- -## **チャートマーカーオプションの設定** -マーカーは特定のシリーズ内のチャートデータポイントに設定できます。チャートマーカーオプションを設定するには、以下の手順に従ってください。 +## **チャート マーカー オプションの設定** +マーカーは特定の系列のチャート データ ポイントに設定できます。チャート マーカー オプションを設定するには、以下の手順に従ってください。 -- [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +- Presentation クラスのインスタンスを作成します。[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラス。 - デフォルトのチャートを作成します。 - 画像を設定します。 -- 最初のチャートシリーズを取得します。 -- 新しいデータポイントを追加します。 +- 最初のチャート系列を取得します。 +- 新しいデータ ポイントを追加します。 - プレゼンテーションをディスクに保存します。 -以下の例では、データポイントレベルでチャートマーカーオプションを設定しています。 - +以下の例では、データ ポイント レベルでチャート マーカー オプションを設定しています。 ```c# -// Create an instance of Presentation class +// Presentation クラスのインスタンスを作成します using Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; -// Creating the default chart -IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 0, 0, 400, 400); - -// Getting the default chart data worksheet index +// デフォルトのチャート データ ワークシート インデックスを取得しています int defaultWorksheetIndex = 0; -// Getting the chart data worksheet +// チャート データ ワークシートを取得しています IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook; -// Delete demo series +// デモ シリーズを削除します chart.ChartData.Series.Clear(); -// Add new series -chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "シリーズ 1"), chart.Type); +// 新しいシリーズを追加します +chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type); -// Set the picture +// 画像を設定します using IImage image1 = Images.FromFile("aspose-logo.jpg"); IPPImage imgx1 = presentation.Images.AddImage(image1); -// Set the picture +// 画像を設定します using IImage image2 = Images.FromFile("Tulips.jpg"); IPPImage imgx2 = presentation.Images.AddImage(image2); -// Take first chart series +// 最初のチャート シリーズを取得します IChartSeries series = chart.ChartData.Series[0]; -// Add new point (1:3) there. +// そこに新しいポイント (1:3) を追加します IChartDataPoint point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, (double)4.5)); point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx1; @@ -73,9 +69,20 @@ point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorkshee point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx2; -// Changing the chart series marker +// チャート シリーズのマーカーを変更しています series.Marker.Size = 15; -// Write presentation to disk +// プレゼンテーションをディスクに保存します presentation.Save("MarkOptions_out.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**標準で利用できるマーカー形状はどれですか?** + +標準の形状(円、四角、ダイヤモンド、三角形など)が利用可能です。一覧は[MarkerStyleType](https://reference.aspose.com/slides/net/aspose.slides.charts/markerstyletype/) 列挙体で定義されています。標準外の形状が必要な場合は、画像塗り付きマーカーを使用してカスタム ビジュアルをエミュレートしてください。 + +**チャートを画像や SVG にエクスポートしたとき、マーカーは保持されますか?** + +はい。チャートを[raster formats](/slides/ja/net/convert-powerpoint-to-png/) にレンダリングしたり、[shapes as SVG](/slides/ja/net/render-a-slide-as-an-svg-image/) として保存したりすると、マーカーは外観や設定(サイズ、塗り、輪郭など)を保持します。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md index 570fe48adc..b5561ae6eb 100644 --- a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md +++ b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md @@ -1,22 +1,21 @@ --- -title: チャートデータテーブル +title: チャート データテーブル type: docs url: /ja/net/chart-data-table/ -keywords: "フォントプロパティ, チャートデータテーブル, PowerPointプレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C#または.NETでのPowerPointプレゼンテーションにおけるチャートデータベーステーブルのフォントプロパティを設定する" +keywords: "フォント プロパティ, チャート データテーブル, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" +description: "PowerPoint プレゼンテーションにおけるチャート データテーブルのフォント プロパティを C# または .NET で設定します" --- -## **チャートデータテーブルのフォントプロパティを設定する** -Aspose.Slides for .NETは、シリーズカラーのカテゴリの色を変更するサポートを提供します。 +## **チャート データ テーブルのフォント プロパティを設定** +Aspose.Slides for .NET は、シリーズのカテゴリの色を変更する機能を提供します。 -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)クラスのオブジェクトをインスタンス化します。 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラス オブジェクトをインスタンス化します。 1. スライドにチャートを追加します。 1. チャートテーブルを設定します。 1. フォントの高さを設定します。 -1. 修正されたプレゼンテーションを保存します。 - -以下にサンプル例を示します。 +1. 変更されたプレゼンテーションを保存します。 +以下にサンプル例が示されています。 ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -29,4 +28,23 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**チャートのデータテーブルの値の横に小さな凡例キーを表示できますか?** + +はい。データテーブルは[凡例キー](https://reference.aspose.com/slides/net/aspose.slides.charts/datatable/showlegendkey/)をサポートしており、オンまたはオフにできます。 + +**プレゼンテーションを PDF、HTML、または画像にエクスポートする際にデータテーブルは保持されますか?** + +はい。Aspose.Slides はチャートをスライドの一部としてレンダリングするため、エクスポートされた[PDF](/slides/ja/net/convert-powerpoint-to-pdf/)/[HTML](/slides/ja/net/convert-powerpoint-to-html/)/[画像](/slides/ja/net/convert-powerpoint-to-png/)にはデータテーブルを含むチャートが含まれます。 + +**テンプレート ファイルから取得したチャートのデータテーブルはサポートされていますか?** + +はい。既存のプレゼンテーションまたはテンプレートから読み込まれた任意のチャートについて、チャートのプロパティを使用してデータテーブルが[表示されているか](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/)を確認および変更できます。 + +**ファイル内のどのチャートでデータテーブルが有効になっているかをすばやく見つけるにはどうすればよいですか?** + +各チャートのデータテーブルが[表示されているか](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/)を示すプロパティを確認し、スライドを反復処理して有効になっているチャートを特定します。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index 1c8ab9e59d..046776108c 100644 --- a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,54 +1,53 @@ --- -title: チャートの凡例 +title: チャート凡例 type: docs url: /ja/net/chart-legend/ -keywords: "チャート 凡例, 凡例のフォントサイズ, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "C# または .NET で PowerPoint プレゼンテーションのチャート凡例の位置とフォントサイズを設定する" +keywords: "チャート凡例, 凡例フォントサイズ, PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" +description: "PowerPoint プレゼンテーションにおけるチャート凡例の位置設定とフォントサイズを C# または .NET で設定します" --- ## **凡例の位置設定** -凡例のプロパティを設定するためには、以下の手順に従ってください: +凡例のプロパティを設定するには、以下の手順に従ってください。 - [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 -- スライドの参照を取得します。 +- スライドへの参照を取得します。 - スライドにチャートを追加します。 - 凡例のプロパティを設定します。 -- プレゼンテーションを PPTX ファイルとして保存します。 - -以下の例では、チャートの凡例の位置とサイズを設定しています。 +- プレゼンテーションを PPTX ファイルとして書き出します。 +以下の例では、チャート凡例の位置とサイズを設定しています。 ```c# -// Create an instance of Presentation class +// Presentation クラスのインスタンスを作成します Presentation presentation = new Presentation(); -// Get reference of the slide +// スライドの参照を取得します ISlide slide = presentation.Slides[0]; -// Add a clustered column chart on the slide +// スライドにクラスター化列チャートを追加します IChart chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 500); -// Set Legend Properties +// 凡例のプロパティを設定します chart.Legend.X = 50 / chart.Width; chart.Legend.Y = 50 / chart.Height; chart.Legend.Width = 100 / chart.Width; chart.Legend.Height = 100 / chart.Height; -// Write presentation to disk +// プレゼンテーションをディスクに保存します presentation.Save("Legend_out.pptx", SaveFormat.Pptx); ``` -## **凡例のフォントサイズを設定** -Aspose.Slides for .NET では、開発者が凡例のフォントサイズを設定することを可能にしています。以下の手順に従ってください: + +## **凡例のフォントサイズの設定** +Aspose.Slides for .NET では、開発者が凡例のフォントサイズを設定できます。以下の手順に従ってください。 - `Presentation` クラスをインスタンス化します。 - デフォルトのチャートを作成します。 - フォントサイズを設定します。 - 最小軸値を設定します。 - 最大軸値を設定します。 -- プレゼンテーションをディスクに保存します。 - +- プレゼンテーションをディスクに書き出します。 ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -65,8 +64,9 @@ using (Presentation pres = new Presentation("test.pptx")) ``` -## **個別の凡例のフォントサイズを設定** -Aspose.Slides for .NET では、開発者が個々の凡例エントリのフォントサイズを設定することを可能にしています。以下の手順に従ってください: + +## **個別凡例エントリのフォントサイズの設定** +Aspose.Slides for .NET では、開発者が個別の凡例エントリのフォントサイズを設定できます。以下の手順に従ってください。 - `Presentation` クラスをインスタンス化します。 - デフォルトのチャートを作成します。 @@ -74,8 +74,7 @@ Aspose.Slides for .NET では、開発者が個々の凡例エントリのフォ - フォントサイズを設定します。 - 最小軸値を設定します。 - 最大軸値を設定します。 -- プレゼンテーションをディスクに保存します。 - +- プレゼンテーションをディスクに書き出します。 ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -90,4 +89,19 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**凡例を有効にして、チャートが凡例の上に重ねるのではなく自動的にスペースを確保するようにできますか?** + +はい。オーバーレイモードを無効にします([Overlay](https://reference.aspose.com/slides/net/aspose.slides.charts/legend/overlay/) = `false`)。この場合、プロット領域は凡例を収めるために縮小されます。 + +**複数行の凡例ラベルを作成できますか?** + +はい。ラベルが長い場合はスペースが不足すると自動的に折り返されます。また、シリーズ名に改行文字を入れることで強制改行も可能です。 + +**凡例をプレゼンテーションのテーマカラーに合わせるにはどうすればよいですか?** + +凡例やそのテキストに対して明示的に色・塗りつぶし・フォントを設定しないでください。テーマから継承され、デザインが変わっても自動的に更新されます。 \ No newline at end of file diff --git a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index 6a80b555a9..59b70fb3bf 100644 --- a/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/ja/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,23 +1,22 @@ --- -title: チャートプロットエリア +title: チャート プロット領域 type: docs url: /ja/net/chart-plot-area/ -keywords: "チャートプロットエリア PowerPointプレゼンテーション, C#, Csharp, Aspose.Slides for .NET" -description: "チャートプロットエリアの幅、高さを取得する。レイアウトモードを設定する。C#または.NETでのPowerPointプレゼンテーション" +keywords: "チャート プロット領域 PowerPoint プレゼンテーション, C#, Csharp, Aspose.Slides for .NET" +description: "チャート プロット領域の幅と高さを取得します。レイアウトモードを設定します。C# または .NET による PowerPoint プレゼンテーション" --- -## **チャートプロットエリアの幅、高さを取得する** -Aspose.Slides for .NETは、シンプルなAPIを提供します。  +## **チャート プロット領域の幅と高さを取得する** +Aspose.Slides for .NET はシンプルな API を提供します。 -1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 +1. [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) クラスのインスタンスを作成します。 1. 最初のスライドにアクセスします。 -1. デフォルトデータでチャートを追加します。 -1. 実際の値を取得するために、メソッド IChart.ValidateChartLayout() を呼び出します。 -1. チャート要素の実際のX位置(左)をチャートの左上隅に対して取得します。 -1. チャート要素の実際の上部をチャートの左上隅に対して取得します。 +1. デフォルト データでチャートを追加します。 +1. 実際の値を取得するために、IChart.ValidateChartLayout() メソッドを呼び出します。 +1. チャート要素の左上隅に対する実際の X 位置(左)を取得します。 +1. チャート要素の左上隅に対する実際の上位置を取得します。 1. チャート要素の実際の幅を取得します。 1. チャート要素の実際の高さを取得します。 - ```c# using (Presentation pres = new Presentation("test.Pptx")) { @@ -29,19 +28,22 @@ using (Presentation pres = new Presentation("test.Pptx")) double w = chart.PlotArea.ActualWidth; double h = chart.PlotArea.ActualHeight; - // チャート付きのプレゼンテーションを保存 + // チャートでプレゼンテーションを保存 pres.Save("Chart_out.pptx", SaveFormat.Pptx); } ``` -## **チャートプロットエリアのレイアウトモードを設定する** -Aspose.Slides for .NETは、チャートプロットエリアのレイアウトモードを設定するためのシンプルなAPIを提供します。プロパティ **LayoutTargetType** は **ChartPlotArea** および **IChartPlotArea** クラスに追加されました。プロットエリアのレイアウトが手動で定義されている場合、このプロパティは、プロットエリアを内部(軸および軸ラベルを含まない)または外部(軸および軸ラベルを含む)でレイアウトするかどうかを指定します。**LayoutTargetType** 列挙型に定義された2つの可能な値があります。 -- **LayoutTargetType.Inner** - プロットエリアのサイズが、目盛りマークおよび軸ラベルを含まないプロットエリアのサイズを決定することを指定します。 -- **LayoutTargetType.Outer** - プロットエリアのサイズが、目盛りマークおよび軸ラベルを含むプロットエリアのサイズを決定することを指定します。 -サンプルコードは以下の通りです。 + +## **チャート プロット領域のレイアウトモードを設定する** +Aspose.Slides for .NET はチャート プロット領域のレイアウトモードを設定するためのシンプルな API を提供します。**LayoutTargetType** プロパティが **ChartPlotArea** と **IChartPlotArea** クラスに追加されました。プロット領域のレイアウトが手動で定義されている場合、このプロパティは領域を内部(軸と軸ラベルを含まない)でレイアウトするか、外部(軸と軸ラベルを含む)でレイアウトするかを指定します。**LayoutTargetType** 列挙体には 2 つの可能な値が定義されています。 + +- **LayoutTargetType.Inner** - プロット領域のサイズがプロット領域のサイズを決定し、目盛りと軸ラベルは含まれないことを指定します。 +- **LayoutTargetType.Outer** - プロット領域のサイズがプロット領域、目盛り、軸ラベルのサイズを決定することを指定します。 + +サンプルコードは以下に示します。 ```c# using (Presentation presentation = new Presentation()) { @@ -55,4 +57,23 @@ using (Presentation presentation = new Presentation()) presentation.Save("SetLayoutMode_outer.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**ActualX、ActualY、ActualWidth、ActualHeight はどの単位で返されますか?** + +ポイント単位です。1 インチ = 72 ポイントです。これらは Aspose.Slides の座標単位です。 + +**コンテンツの観点で、プロット領域はチャート領域とどのように異なりますか?** + +プロット領域はデータ描画領域(系列、グリッド線、トレンドラインなど)です。チャート領域はタイトルや凡例などの周囲要素を含みます。3D チャートの場合、プロット領域には壁/床と軸も含まれます。 + +**レイアウトが手動の場合、プロット領域の X、Y、幅、そして高さはどのように解釈されますか?** + +それらはチャート全体サイズに対する割合(0–1)です。このモードでは自動配置が無効になり、設定した割合が使用されます。 + +**凡例を追加/移動した後、プロット領域の位置が変わったのはなぜですか?** + +凡例はプロット領域の外側のチャート領域に配置されますが、レイアウトと利用可能なスペースに影響するため、自動配置が有効な場合、プロット領域が移動することがあります。(これは PowerPoint チャートの標準的な動作です。) \ No newline at end of file diff --git a/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..d622035136 --- /dev/null +++ b/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,198 @@ +--- +title: ".NETでPowerPoint生成を自動化:動的プレゼンテーションを簡単に作成" +linktitle: PowerPoint生成の自動化 +type: docs +weight: 20 +url: /ja/net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- クラウドプラットフォーム +- PowerPoint生成の自動化 +- プログラムでプレゼンテーションを生成 +- PowerPoint自動化 +- 動的スライド作成 +- 自動化されたビジネスレポート +- PPT自動化 +- .NETプレゼンテーション +- C# +- Aspose.Slides +description: "Aspose.Slides for .NETを使用してクラウドプラットフォーム上でスライド作成を自動化し、PowerPointおよびOpenDocumentファイルを迅速かつ確実に生成、編集、変換します。" +--- + +## **はじめに** + +PowerPoint プレゼンテーションを手動で作成するのは、時間がかかり繰り返しの作業になることが多く、特にコンテンツが頻繁に変わる動的データに基づく場合はなおさらです。週次のビジネスレポート作成、教育教材の組み立て、クライアント向けの販売デッキ作成など、Automation によって膨大な時間を節約し、チーム間での一貫性を保つことができます。 + +.NET 開発者にとって、PowerPoint 作成の自動化は強力な可能性を提供します。スライド生成を Web ポータル、デスクトップツール、バックエンドサービス、またはクラウドプラットフォームに組み込むことで、データをオンデマンドでプロフェッショナルかつブランド化されたプレゼンテーションに変換できます。 + +本稿では、.NET アプリ(クラウド展開を含む)における PowerPoint 自動生成の一般的なユースケースと、なぜ現代のソリューションで必須機能となりつつあるのかを解説します。リアルタイムのビジネスデータ取得からテキストや画像をスライドに変換するまで、目的は生のコンテンツを構造化された視覚フォーマットに変換し、観客に即座に理解させることです。 + +## **.NET における PowerPoint 自動化の主なユースケース** + +PowerPoint の自動生成は、プレゼンテーション内容を動的に組み立てたり、パーソナライズしたり、頻繁に更新したりするシナリオで特に有用です。代表的な実務ユースケースは以下の通りです。 + +- **ビジネスレポート & ダッシュボード** + データベースや API からライブデータを取得し、売上サマリー、KPI、財務実績レポートを生成。 + +- **パーソナライズされた販売・マーケティングデック** + CRM やフォームデータを元にクライアント別のピッチデックを自動作成し、迅速な納品とブランド一貫性を確保。 + +- **教育コンテンツ** + 学習教材、クイズ、コースサマリーを構造化スライドに変換し、eラーニングプラットフォームで活用。 + +- **データ & AI 主導のインサイト** + 自然言語処理や分析エンジンを利用し、生データや長文テキストを要約プレゼンテーションに変換。 + +- **メディアベースのスライド** + アップロードされた画像、注釈付きスクリーンショット、ビデオキーフレームと説明文からプレゼンテーションを組み立て。 + +- **ドキュメント変換** + Word 文書、PDF、フォーム入力を最小限の手作業でビジュアルプレゼンテーションに自動変換。 + +- **開発者向け技術ツール** + コードや Markdown コンテンツから直接、技術デモ、ドキュメント概要、変更履歴をスライド形式で生成。 + +これらのワークフローを自動化することで、組織はコンテンツ作成をスケールし、一貫性を保ち、戦略的業務にリソースを振り向けられます。 + +## **コードを書いてみましょう** + +本例では、**[Aspose.Slides for .NET](https://products.aspose.com/slides/net)** を使用して PowerPoint 自動化をデモします。Aspose.Slides は包括的な機能とプログラムからプレゼンテーションを扱う際の使いやすさが特長です。 + +低レベル API の **[Open XML SDK](https://github.com/dotnet/Open-XML-SDK)** と異なり、Aspose.Slides は高レベル API を提供します。Open XML 構造を直接操作する必要がなく、レイアウト、書式設定、データバインドといったプレゼンテーションロジックに集中できます。 + +Aspose.Slides は商用ライブラリですが、[無料トライアル](https://releases.aspose.com/slides/net/)版でも本稿のサンプルは問題なく実行可能です。概念実証や機能テスト、プロトタイプ作成に十分な能力を持ち、ライセンス購入前に試すのに便利です。オープンソースやライセンスフリーの代替としては、Open XML SDK や [NPOI](https://github.com/dotnetcore/NPOI) がありますが、コード量が増え、ファイル形式への深い理解が求められます。 + +それでは、実際のコンテンツを使ってサンプルプレゼンテーションを作成していきましょう。 + +開始前に Aspose.Slides NuGet パッケージへの参照を追加してください: +```sh +dotnet add package Aspose.Slides.NET +``` + + +### **タイトルスライドの作成** + +新しいプレゼンテーションを作成し、メイン見出しとサブタイトルを持つタイトルスライドを追加します。 +```cs +using var presentation = new Presentation(); + +var slide0 = presentation.Slides[0]; +slide0.LayoutSlide = presentation.LayoutSlides.GetByType(SlideLayoutType.Title); + +var titleShape = slide0.Shapes[0] as IAutoShape; +var subtitleShape = slide0.Shapes[1] as IAutoShape; + +titleShape.TextFrame.Text = "Quarterly Business Review – Q1 2025"; +subtitleShape.TextFrame.Text = "Prepared for Executive Team"; +``` + + +![タイトルスライド](slide_0.png) + +### **柱状グラフ付きスライドの追加** + +次に、地域別売上実績を柱状グラフで示すスライドを作成します。 +```cs +var layoutSlide1 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide1 = presentation.Slides.AddEmptySlide(layoutSlide1); + +var chart = slide1.Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.Legend.Position = LegendPositionType.Bottom; +chart.HasTitle = true; +chart.ChartTitle.AddTextFrameForOverriding("Data from January – March 2025"); +chart.ChartTitle.Overlay = false; + +var workbook = chart.ChartData.ChartDataWorkbook; +var worksheetIndex = 0; + +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 1, 0, "North America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 2, 0, "Europe")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 4, 0, "Latin America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 5, 0, "Middle East")); + +var series = chart.ChartData.Series.Add(workbook.GetCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.Type); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 1, 1, 480)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 2, 1, 365)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 3, 1, 290)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 4, 1, 150)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 5, 1, 120)); +``` + + +![チャート付きスライド](slide_1.png) + +### **表付きスライドの追加** + +続いて、主要パフォーマンス指標を表形式で提示するスライドを追加します。 +```cs +var layoutSlide2 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide2 = presentation.Slides.AddEmptySlide(layoutSlide2); + +var columnWidths = new double[] { 200, 100 }; +var rowHeights = new double[] { 40, 40, 40, 40, 40 }; + +var table = slide2.Shapes.AddTable(200, 200, columnWidths, rowHeights); +table[0, 0].TextFrame.Text = "Metric"; +table[1, 0].TextFrame.Text = "Value"; +table[0, 1].TextFrame.Text = "Total Revenue"; +table[1, 1].TextFrame.Text = "$1.4M"; +table[0, 2].TextFrame.Text = "Gross Margin"; +table[1, 2].TextFrame.Text = "54%"; +table[0, 3].TextFrame.Text = "New Customers"; +table[1, 3].TextFrame.Text = "340"; +table[0, 4].TextFrame.Text = "Customer Retention"; +table[1, 4].TextFrame.Text = "87%"; +``` + + +![表付きスライド](slide_2.png) + +### **箇条書きまとめスライドの追加** + +最後に、シンプルな箇条書きリストで要約とアクションプランを示すスライドを追加します。 +```cs +IParagraph CreateBulletParagraph(string text) +{ + var paragraph = new Paragraph(); + paragraph.ParagraphFormat.Bullet.Type = BulletType.Symbol; + paragraph.ParagraphFormat.Indent = 15; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.Text = text; + return paragraph; +} +``` + +```cs +var layoutSlide3 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide3 = presentation.Slides.AddEmptySlide(layoutSlide3); + +var bulletList = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.FillFormat.FillType = FillType.NoFill; +bulletList.LineFormat.FillFormat.FillType = FillType.NoFill; + +bulletList.TextFrame.Paragraphs.Clear(); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Schedule follow-up review in early July")); +``` + + +![テキスト付きスライド](slide_3.png) + +### **プレゼンテーションの保存** + +最後に、プレゼンテーションをディスクに保存します: +```cs +presentation.Save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **結論** + +.NET アプリケーションで PowerPoint の自動生成を導入すると、時間短縮と手作業削減という明確なメリットが得られます。チャート、表、テキストといった動的コンテンツを組み込むことで、開発者はビジネスレポートやクライアントミーティング、教育コンテンツ向けの一貫したプロフェッショナルなプレゼンテーションを迅速に作成できます。 + +本稿では、タイトルスライド、グラフ、表を含むプレゼンテーションをゼロから自動生成する手順を示しました。この手法は、データ駆動型プレゼンテーションが必要とされるさまざまなユースケースに適用可能です。 + +適切なツールを活用することで、.NET 開発者は PowerPoint 作成を効率的に自動化し、生産性を向上させ、プレゼンテーション全体の一貫性を確保できます。 \ No newline at end of file diff --git a/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ja/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..0059054d75 --- /dev/null +++ b/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "JavaScriptでPowerPoint生成を自動化:ダイナミックなプレゼンテーションを簡単に作成" +linktitle: PowerPoint生成の自動化 +type: docs +weight: 20 +url: /ja/nodejs-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- クラウドプラットフォーム +- PowerPoint生成の自動化 +- プログラムでプレゼンテーションを生成 +- PowerPoint自動化 +- 動的スライド作成 +- 自動化されたビジネスレポート +- PPT自動化 +- JavaScriptプレゼンテーション +- Node.js +- JavaScript +- Aspose.Slides +description: "Aspose.Slides for Node.jsを使用してクラウドプラットフォーム上でスライド作成を自動化—PowerPointおよびOpenDocumentファイルを高速かつ信頼性高く生成、編集、変換します。" +--- + +## **はじめに** + +PowerPoint プレゼンテーションを手動で作成するのは、時間がかかり繰り返し作業になることがあります—特にコンテンツが頻繁に変わる動的データに基づく場合はなおさらです。週次のビジネスレポート作成、教育資料のまとめ、クライアント向けセールスデッキの作成など、どれも自動化すれば膨大な時間を節約でき、チーム全体での一貫性を保てます。 + +Node.js 開発者にとって、PowerPoint プレゼンテーションの自動作成は強力な可能性を提供します。スライド生成をウェブポータル、デスクトップツール、バックエンドサービス、またはクラウドプラットフォームに統合し、データをオンデマンドでプロフェッショナルかつブランド化されたプレゼンテーションに動的に変換できます。 + +本稿では、Node.js アプリ(クラウドプラットフォームへのデプロイを含む)における PowerPoint 自動生成の一般的なユースケースと、なぜそれが現代のソリューションで必須機能となりつつあるのかを見ていきます。リアルタイムのビジネスデータの取得からテキストや画像をスライドに変換するまで、目的は生のコンテンツを構造化された視覚的フォーマットへ変換し、聴衆が即座に理解できるようにすることです。 + +## **JavaScript における PowerPoint 自動化の一般的なユースケース** + +PowerPoint の生成を自動化すると、プレゼンテーションのコンテンツを動的に組み立てたり、パーソナライズしたり、頻繁に更新したりする必要があるシナリオで特に有用です。代表的な実務ユースケースは次のとおりです: + +- **ビジネスレポートとダッシュボード** + データベースや API からリアルタイムデータを取得し、売上サマリー、KPI、財務実績レポートを生成します。 + +- **パーソナライズされたセールス・マーケティングデッキ** + CRM やフォームデータを利用して、顧客固有のピッチデッキを自動作成し、迅速な納期とブランド一貫性を確保します。 + +- **教育コンテンツ** + 学習教材、クイズ、コースサマリーを eラーニングプラットフォーム向けの構造化されたスライドデッキに変換します。 + +- **データ・AI 活用インサイト** + 自然言語処理や分析エンジンを活用し、生データや長文テキストを要約プレゼンテーションに変換します。 + +- **メディアベースのスライド** + アップロードされた画像、注釈付きスクリーンショット、ビデオのキーフレームと説明文を組み合わせてプレゼンテーションを作成します。 + +- **ドキュメント変換** + Word 文書、PDF、フォーム入力を最小限の手作業で視覚的なプレゼンテーションに自動変換します。 + +- **開発者向け・技術ツール** + コードや Markdown コンテンツから直接、技術デモ、ドキュメント概要、変更ログをスライド形式で作成します。 + +これらのワークフローを自動化することで、組織はコンテンツ作成をスケールし、一貫性を保ち、戦略的業務に割く時間を確保できます。 + +## **コードを書いてみましょう** + +この例では、PowerPoint の自動化をデモするために、包括的な機能セットとプログラムでプレゼンテーションを操作する際の使いやすさから **[Aspose.Slides for Node.js](https://products.aspose.com/slides/nodejs-java/)** を選択しました。 + +Open XML 構造を直接扱う必要がある低レベルのライブラリとは異なり(コードが冗長で読みづらくなることが多い)、Aspose.Slides は上位レベルの API を提供します。複雑さを抽象化し、開発者は PowerPoint ファイル形式の詳細を理解せずに、レイアウトや書式設定、データバインディングといったプレゼンテーションロジックに集中できます。 + +Aspose.Slides は商用ライブラリですが、この記事で示したサンプルを完全に実行できる [無料トライアル](https://releases.aspose.com/slides/nodejs-java/) 版が提供されています。アイデアのデモや機能テスト、ここで紹介するような概念実証の構築において、トライアル版で十分です。ライセンスを事前に取得せずに PowerPoint 自動生成を試せる便利なオプションとなります。 + +それでは、実際のコンテンツを使ってサンプルプレゼンテーションを作成する手順を見ていきましょう。 + +### **タイトルスライドの作成** + +まず新しいプレゼンテーションを作成し、メインヘッダーとサブタイトルを持つタイトルスライドを追加します。 +```js +let presentation = new aspose.slides.Presentation(); + +let slide0 = presentation.getSlides().get_Item(0); + +let layoutSlide = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Title)); +slide0.setLayoutSlide(layoutSlide); + +let titleShape = slide0.getShapes().get_Item(0); +let subtitleShape = slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![タイトルスライド](slide_0.png) + +### **柱状図のスライドを追加** + +次に、地域別販売実績を柱状グラフで示すスライドを作成します。 +```js +let layoutSlide1 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +let chart = slide1.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(aspose.slides.LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +let workbook = chart.getChartData().getChartDataWorkbook(); +let worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +let series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![チャート付きスライド](slide_1.png) + +### **表付きスライドを追加** + +続いて、主要パフォーマンス指標を表形式で示すスライドを追加します。 +```js +let layoutSlide2 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +let columnWidths = java.newArray("double", [200, 100]); +let rowHeights = java.newArray("double", [40, 40, 40, 40, 40]); + +let table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![表付きスライド](slide_2.png) + +### **箇条書きの概要スライドを追加** + +最後に、シンプルな箇条書きリストで概要とアクションプランを含めます。 +```js +function createBulletParagraph(text) { + let paragraph = new aspose.slides.Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(java.newByte(aspose.slides.BulletType.Symbol)); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid)); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLACK")); + paragraph.setText(text); + return paragraph; +} +``` + +```js +let layoutSlide3 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +let bulletList = slide3.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); +bulletList.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![テキスト付きスライド](slide_3.png) + +### **プレゼンテーションの保存** + +最後に、プレゼンテーションをディスクに保存します: +```js +presentation.save("presentation.pptx", aspose.slides.SaveFormat.Pptx); +``` + + +## **結論** + +Node.js アプリケーションで PowerPoint の生成を自動化することで、時間節約と手作業の削減という明確なメリットが得られます。チャート、表、テキストといった動的コンテンツを統合することで、開発者は一貫したプロフェッショナルなプレゼンテーションを迅速に作成でき、ビジネスレポートやクライアントミーティング、教育コンテンツに最適です。 + +本稿では、タイトルスライド、チャート、表の追加を含む、ゼロからプレゼンテーションを自動作成する方法を示しました。このアプローチは、自動化されたデータ駆動型プレゼンテーションが必要とされるさまざまなユースケースに適用できます。 + +適切なツールを活用することで、Node.js 開発者は PowerPoint の作成を効率的に自動化でき、生産性を向上させ、プレゼンテーション全体の一貫性を確保できます。 \ No newline at end of file diff --git a/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ja/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..6a3ae97acb --- /dev/null +++ b/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "PHPでPowerPoint生成の自動化:動的なプレゼンテーションを簡単に作成" +linktitle: PowerPoint生成の自動化 +type: docs +weight: 20 +url: /ja/php-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- クラウドプラットフォーム +- PowerPoint生成の自動化 +- プログラムでプレゼンテーションを生成 +- PowerPoint自動化 +- 動的スライド作成 +- 自動化されたビジネスレポート +- PPT自動化 +- PHPプレゼンテーション +- PHP +- Aspose.Slides +description: "Aspose.Slides for PHPを使用してクラウドプラットフォーム上でスライド作成を自動化し、PowerPointおよびOpenDocumentファイルを高速かつ確実に生成、編集、変換します。" +--- + +## **イントロダクション** + +PowerPoint プレゼンテーションを手動で作成することは、特にコンテンツが頻繁に変わる動的データに基づく場合、時間がかかり繰り返しの作業となります。週次の業務レポート作成、教育資料の組み立て、クライアント向けの営業デッキ作成など、さまざまなシーンで自動化することで、膨大な時間を節約し、チーム間の一貫性を保つことができます。 + +PHP 開発者にとって、PowerPoint プレゼンテーションの自動作成は強力な可能性を提供します。スライド生成を Web ポータル、デスクトップツール、バックエンドサービス、またはクラウドプラットフォームに組み込むことで、データを動的にプロフェッショナルでブランド化されたプレゼンテーションに変換し、オンデマンドで提供できます。 + +本記事では、PHP アプリ(クラウド プラットフォーム上でのデプロイを含む)における PowerPoint 自動生成の代表的なユースケースと、現代のソリューションで不可欠な機能となりつつある理由を探ります。リアルタイムの業務データ取得からテキストや画像のスライド変換まで、目的は生のコンテンツを視覚的に構造化された形式に変換し、聴衆が即座に理解できるようにすることです。 + +## **PHP における PowerPoint 自動化の一般的なユースケース** + +PowerPoint の自動生成は、プレゼンテーション コンテンツを動的に組み立てたり、パーソナライズしたり、頻繁に更新したりする必要があるシナリオで特に有用です。代表的な実務ユースケースは次のとおりです。 + +- **業務レポート&ダッシュボード** + データベースや API からリアルタイム データを取得し、売上サマリー、KPI、財務実績レポートを生成します。 + +- **パーソナライズされた営業・マーケティング デッキ** + CRM やフォーム データを使用して顧客別のピッチ デッキを自動作成し、迅速な納品とブランドの一貫性を確保します。 + +- **教育コンテンツ** + 学習教材、クイズ、コース要約を構造化されたスライド デッキに変換し、 eラーニング プラットフォームで利用します。 + +- **データ&AI 主導のインサイト** + 自然言語処理や分析エンジンを活用し、生データや長文テキストを要約されたプレゼンテーションに変換します。 + +- **メディアベースのスライド** + アップロードされた画像、注釈付きスクリーンショット、ビデオのキーフレームを組み合わせ、説明文を添えてプレゼンテーションを作成します。 + +- **文書変換** + Word 文書、PDF、フォーム入力を最小限の手作業でビジュアル プレゼンテーションに変換します。 + +- **開発者向け・技術ツール** + コードや Markdown コンテンツから直接、技術デモ、ドキュメント概要、チェンジログをスライド形式で作成します。 + +これらのワークフローを自動化することで、組織はコンテンツ作成をスケールし、一貫性を維持し、戦略的業務に割く時間を確保できます。 + +## **コードを書いてみましょう** + +この例では、**[Aspose.Slides for PHP](https://products.aspose.com/slides/php-java/)** を使用して PowerPoint 自動化をデモします。豊富な機能とプログラムによるプレゼンテーション操作の容易さが特徴です。 + +低レベルのライブラリは Open XML 構造を直接扱う必要があり、冗長で読みにくいコードになりがちですが、Aspose.Slides は高レベル API を提供します。複雑さを抽象化し、レイアウト、書式設定、データバインディングなどプレゼンテーション ロジックに集中でき、PowerPoint のファイル形式を詳細に理解する必要はありません。 + +Aspose.Slides は商用ライブラリですが、[無料トライアル](https://releases.aspose.com/slides/php-java/) が利用可能で、本記事のサンプルをフルに動作させられます。アイデアの検証、機能のテスト、概念実証の構築に十分です。ライセンスを先に購入することなく、PowerPoint 自動生成の実験が可能です。 + +それでは、実務に即したコンテンツでサンプル プレゼンテーションを作成する手順を見ていきましょう。 + +### **タイトル スライドの作成** + +新しいプレゼンテーションを作成し、メイン見出しとサブタイトルを持つタイトル スライドを追加します。 +```php +$presentation = new Presentation(); + +$slide0 = $presentation->getSlides()->get_Item(0); + +$layoutSlide = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Title); +$slide0->setLayoutSlide($layoutSlide); + +$titleShape = $slide0->getShapes()->get_Item(0); +$subtitleShape = $slide0->getShapes()->get_Item(1); + +$titleShape->getTextFrame()->setText("Quarterly Business Review – Q1 2025"); +$subtitleShape->getTextFrame()->setText("Prepared for Executive Team"); +``` + + +![タイトル スライド](slide_0.png) + +### **列グラフ付きスライドの追加** + +次に、地域別売上実績を列グラフで示すスライドを作成します。 +```php +$layoutSlide1 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide1 = $presentation->getSlides()->addEmptySlide($layoutSlide1); + +$chart = $slide1->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +$chart->getLegend()->setPosition(LegendPositionType::Bottom); +$chart->setTitle(true); +$chart->getChartTitle()->addTextFrameForOverriding("Data from January – March 2025"); +$chart->getChartTitle()->setOverlay(false); + +$workbook = $chart->getChartData()->getChartDataWorkbook(); +$worksheetIndex = 0; + +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 1, 0, "North America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 2, 0, "Europe")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 3, 0, "Asia Pacific")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 4, 0, "Latin America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 5, 0, "Middle East")); + +$series = $chart->getChartData()->getSeries()->add($workbook->getCell($worksheetIndex, 0, 1, "Sales (\$K)"), $chart->getType()); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 1, 1, 480)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 2, 1, 365)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 3, 1, 290)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 4, 1, 150)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 5, 1, 120)); +``` + + +![グラフ付きスライド](slide_1.png) + +### **テーブル付きスライドの追加** + +続いて、主要パフォーマンス指標をテーブル形式で提示するスライドを追加します。 +```php +$layoutSlide2 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide2 = $presentation->getSlides()->addEmptySlide($layoutSlide2); + +$columnWidths = [200, 100]; +$rowHeights = [40, 40, 40, 40, 40]; + +$table = $slide2->getShapes()->addTable(200, 200, $columnWidths, $rowHeights); +$table->getColumns()->get_Item(0)->get_Item(0)->getTextFrame()->setText("Metric"); +$table->getColumns()->get_Item(1)->get_Item(0)->getTextFrame()->setText("Value"); +$table->getColumns()->get_Item(0)->get_Item(1)->getTextFrame()->setText("Total Revenue"); +$table->getColumns()->get_Item(1)->get_Item(1)->getTextFrame()->setText("\$1.4M"); +$table->getColumns()->get_Item(0)->get_Item(2)->getTextFrame()->setText("Gross Margin"); +$table->getColumns()->get_Item(1)->get_Item(2)->getTextFrame()->setText("54%"); +$table->getColumns()->get_Item(0)->get_Item(3)->getTextFrame()->setText("New Customers"); +$table->getColumns()->get_Item(1)->get_Item(3)->getTextFrame()->setText("340"); +$table->getColumns()->get_Item(0)->get_Item(4)->getTextFrame()->setText("Customer Retention"); +$table->getColumns()->get_Item(1)->get_Item(4)->getTextFrame()->setText("87%"); +``` + + +![テーブル付きスライド](slide_2.png) + +### **箇条書きのサマリースライドの追加** + +最後に、シンプルな箇条書きでサマリーとアクション プランを示すスライドを作成します。 +```php +function createBulletParagraph($text) { + $paragraph = new Paragraph(); + $paragraph->getParagraphFormat()->getBullet()->setType(BulletType::Symbol); + $paragraph->getParagraphFormat()->setIndent(15); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK); + $paragraph->setText($text); + return $paragraph; +} +``` + +```php +$layoutSlide3 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide3 = $presentation->getSlides()->addEmptySlide($layoutSlide3); + +$bulletList = $slide3->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +$bulletList->getFillFormat()->setFillType(FillType::NoFill); +$bulletList->getLineFormat()->getFillFormat()->setFillType(FillType::NoFill); + +$bulletList->getTextFrame()->getParagraphs()->clear(); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Prepare new campaign strategy for Q2")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![テキスト付きスライド](slide_3.png) + +### **プレゼンテーションの保存** + +最後に、プレゼンテーションをディスクに保存します。 +```php +$presentation->save("presentation.pptx", SaveFormat::Pptx); +``` + + +## **結論** + +PHP アプリケーションで PowerPoint の自動生成を導入すれば、時間削減と手作業の削減という明確なメリットが得られます。チャート、テーブル、テキストなどの動的コンテンツを組み込むことで、ビジネスレポート、クライアントミーティング、教育コンテンツ向けの一貫したプロフェッショナルなプレゼンテーションを迅速に作成できます。 + +本記事では、タイトル スライド、グラフ、テーブルを含むプレゼンテーションをゼロから自動構築する手順を示しました。このアプローチは、データ駆動型プレゼンテーションが求められるさまざまなユースケースに応用可能です。 + +適切なツールを活用すれば、PHP 開発者は PowerPoint 作成を効率的に自動化でき、生産性向上とプレゼンテーションの一貫性を同時に実現できます。 \ No newline at end of file diff --git a/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ja/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index c209ee6db0..1d63c844bd 100644 --- a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -1,92 +1,91 @@ --- -title: PythonでPowerPointプレゼンテーションをHTMLに変換 -linktitle: PowerPointからHTMLへ +title: PowerPoint プレゼンテーションを Python で HTML に変換 +linktitle: PowerPoint を HTML に変換 type: docs weight: 30 url: /ja/python-net/convert-powerpoint-to-html/ keywords: -- PowerPointを変換 +- PowerPoint を変換 - プレゼンテーションを変換 - スライドを変換 -- PPTを変換 -- PPTXを変換 -- PowerPointからHTMLへ -- プレゼンテーションからHTMLへ -- スライドからHTMLへ -- PPTからHTMLへ -- PPTXからHTMLへ -- PowerPointをHTMLとして保存 -- プレゼンテーションをHTMLとして保存 -- スライドをHTMLとして保存 -- PPTをHTMLとして保存 -- PPTXをHTMLとして保存 +- PPT を変換 +- PPTX を変換 +- PowerPoint を HTML に変換 +- プレゼンテーションを HTML に変換 +- スライドを HTML に変換 +- PPT を HTML に変換 +- PPTX を HTML に変換 +- PowerPoint を HTML として保存 +- プレゼンテーションを HTML として保存 +- スライドを HTML として保存 +- PPT を HTML として保存 +- PPTX を HTML として保存 - Python - Aspose.Slides -description: "PythonでPowerPointプレゼンテーションをレスポンシブHTMLに変換します。レイアウト、リンク、画像を保持し、Aspose.Slidesの変換ガイドに従って高速かつ完璧な結果を得られます。" +description: "Python で PowerPoint プレゼンテーションをレスポンシブ HTML に変換します。レイアウト、リンク、画像を保持し、Aspose.Slides の変換ガイドで高速かつ完璧な結果を実現します。" --- ## **概要** -本記事では、Python を使用して PowerPoint プレゼンテーションを HTML 形式に変換する方法を説明します。以下のトピックについて解説します。 +この記事では、Python を使用して PowerPoint プレゼンテーションを HTML 形式に変換する方法を説明します。以下のトピックを扱います。 -- Python で PowerPoint を HTML に変換 -- Python で PPT を HTML に変換 -- Python で PPTX を HTML に変換 -- Python で ODP を HTML に変換 -- Python で PowerPoint スライドを HTML に変換 +- PowerPoint を Python で HTML に変換 +- PPT を Python で HTML に変換 +- PPTX を Python で HTML に変換 +- ODP を Python で HTML に変換 +- PowerPoint スライドを Python で HTML に変換 -## **Python PowerPoint を HTML に変換** +## **Python PowerPoint to HTML** -PowerPoint を HTML に変換する Python のサンプルコードについては、以下のセクション、すなわち [Convert PowerPoint to HTML](#convert-powerpoint-to-html) を参照してください。このコードは PPT、PPTX、ODP などの複数の形式を Presentation オブジェクトで読み込み、HTML 形式で保存できます。 +Python で PowerPoint を HTML に変換するサンプルコードについては、以下のセクション「[PowerPoint を HTML に変換](#convert-powerpoint-to-html)」をご覧ください。このコードは PPT、PPTX、ODP などの形式を Presentation オブジェクトで読み込み、HTML 形式で保存できます。 -## **PowerPoint から HTML への変換について** +## **PowerPointからHTMLへの変換について** +[**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/) を使用すると、アプリケーションや開発者は PowerPoint プレゼンテーションを **PPTX から HTML** または **PPT から HTML** に変換できます。 -[**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/) を使用すると、アプリケーションや開発者は PowerPoint プレゼンテーションを HTML に変換できます:**PPTX to HTML** または **PPT to HTML**。 +**Aspose.Slides** は、主に [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) クラスから提供される多数のオプションを通じて、PowerPoint から HTML への変換プロセスを定義します。 -Aspose.Slides は、PowerPoint を HTML に変換するプロセスを定義する多数のオプション(主に [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) クラス)を提供します: - -* PowerPoint プレゼンテーション全体を HTML に変換します。 -* PowerPoint プレゼンテーション内の特定のスライドを HTML に変換します。 -* プレゼンテーションのメディア(画像、動画など)を HTML に変換します。 -* PowerPoint プレゼンテーションをレスポンシブ HTML に変換します。 -* スピーカーノートを含めるか除外した HTML に PowerPoint プレゼンテーションを変換します。 -* コメントを含めるか除外した HTML に PowerPoint プレゼンテーションを変換します。 -* 元のフォントまたは埋め込みフォントを使用した HTML に PowerPoint プレゼンテーションを変換します。 -* 新しい CSS スタイルを使用した HTML に PowerPoint プレゼンテーションを変換します。 +* PowerPoint プレゼンテーション全体を HTML に変換 +* PowerPoint プレゼンテーションの特定のスライドを HTML に変換 +* プレゼンテーションのメディア(画像、動画など)を HTML に変換 +* レスポンシブ HTML に変換 +* スピーカーノートを含むまたは除外した HTML に変換 +* コメントを含むまたは除外した HTML に変換 +* 元のフォントまたは埋め込みフォントで HTML に変換 +* 新しい CSS スタイルを使用した HTML に変換 {{% alert color="primary" %}} -独自の API を使用して、Aspose は無料の [presentation to HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) コンバータを開発しました: [PPT to HTML](https://products.aspose.app/slides/conversion/ppt-to-html)、[PPTX to HTML](https://products.aspose.app/slides/conversion/pptx-to-html)、[ODP to HTML](https://products.aspose.app/slides/conversion/odp-to-html) など。 +独自 API を使用して、Aspose は無料の[プレゼンテーションから HTML への変換](https://products.aspose.app/slides/conversion/powerpoint-to-html)コンバータを開発しました: [PPT から HTML](https://products.aspose.app/slides/conversion/ppt-to-html)、[PPTX から HTML](https://products.aspose.app/slides/conversion/pptx-to-html)、[ODP から HTML](https://products.aspose.app/slides/conversion/odp-to-html) など。 [![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) -他の Aspose の無料コンバータもご覧ください。 +他の Aspose の無料コンバータもぜひご確認ください: [free converters from Aspose](https://products.aspose.app/slides/conversion)。 {{% /alert %}} {{% alert title="Note" color="warning" %}} -ここで説明した変換プロセスに加えて、Aspose.Slides は HTML 形式に関わる以下の変換操作もサポートしています: +本稿で説明した変換プロセスに加えて、Aspose.Slides は HTML 形式に関する以下の変換操作もサポートしています。 -* [HTML to image](https://products.aspose.com/slides/python-net/conversion/html-to-image/) -* [HTML to JPG](https://products.aspose.com/slides/python-net/conversion/html-to-jpg/) -* [HTML to XML](https://products.aspose.com/slides/python-net/conversion/html-to-xml/) -* [HTML to TIFF](https://products.aspose.com/slides/python-net/conversion/html-to-tiff/) +* [HTML から画像](https://products.aspose.com/slides/python-net/conversion/html-to-image/) +* [HTML から JPG](https://products.aspose.com/slides/python-net/conversion/html-to-jpg/) +* [HTML から XML](https://products.aspose.com/slides/python-net/conversion/html-to-xml/) +* [HTML から TIFF](https://products.aspose.com/slides/python-net/conversion/html-to-tiff/) {{% /alert %}} -## **PowerPoint を HTML に変換** -Aspose.Slides を使用すると、PowerPoint プレゼンテーション全体を次のように HTML に変換できます: +## **PowerPoint を HTML に変換** +Aspose.Slides を使用すると、次の手順で PowerPoint プレゼンテーション全体を HTML に変換できます。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します -2. [Save ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)method を使用してオブジェクトを HTML ファイルとして保存します。 +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成 +1. [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) メソッドを使用してオブジェクトを HTML ファイルとして保存 -このコードは、PowerPoint を Python で HTML に変換する方法を示しています: +以下のコードは、Python で PowerPoint を HTML に変換する方法を示しています: ```python import aspose.slides as slides -# プレゼンテーションファイルを表す Presentation オブジェクトをインスタンス化します +# プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化します pres = slides.Presentation("Convert_HTML.pptx") options = slides.export.HtmlOptions() @@ -94,16 +93,16 @@ options = slides.export.HtmlOptions() options.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL options.html_formatter = slides.export.HtmlFormatter.create_document_formatter("", False) -# Saving the presentation to HTML +# プレゼンテーションを HTML に保存します pres.save("ConvertWholePresentationToHTML_out.html", slides.export.SaveFormat.HTML, options) ``` ## **PowerPoint をレスポンシブ HTML に変換** -Aspose.Slides は、レスポンシブ HTML ファイルを生成できる [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) クラスを提供します。このコードは、PowerPoint プレゼンテーションを Python でレスポンシブ HTML に変換する方法を示しています: +Aspose.Slides は、レスポンシブ HTML ファイルの生成を可能にする [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) クラスを提供しています。以下のコードは、Python でプレゼンテーションをレスポンシブ HTML に変換する方法を示しています: ```py -# プレゼンテーションファイルを表す Presentation オブジェクトをインスタンス化します +# プレゼンテーション ファイルを表す Presentation オブジェクトをインスタンス化します import aspose.slides as slides pres = slides.Presentation("Convert_HTML.pptx") @@ -118,8 +117,7 @@ pres.save("ConvertPresentationToResponsiveHTML_out.html", slides.export.SaveForm ## **PowerPoint をノート付き HTML に変換** - -このコードは、PowerPoint を Python でノート付き HTML に変換する方法を示しています: +以下のコードは、Python でノート付きの PowerPoint を HTML に変換する方法を示しています: ```py import aspose.slides as slides @@ -133,18 +131,17 @@ pres.save("Output.html", slides.export.SaveFormat.HTML, opt) ## **PowerPoint を元フォント付き HTML に変換** +Aspose.Slides は、プレゼンテーションを HTML に変換する際にすべてのフォントを埋め込むことができる [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) クラスを提供しています。 -Aspose.Slides は、プレゼンテーションを HTML に変換する際にすべてのフォントを埋め込むことができる [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) クラスを提供します。 +特定のフォントを埋め込まないようにするには、[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) のパラメータ化されたコンストラクタにフォント名の配列を渡します。Calibri や Arial のような一般的なフォントは、ほとんどのシステムに既にインストールされているため、埋め込む必要はありません。これらのフォントを埋め込むと、生成される HTML ドキュメントが不要に大きくなります。 -特定のフォントを埋め込むのを防止するには、[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) クラスのパラメータ化されたコンストラクタにフォント名の配列を渡すことができます。Calibri や Arial などの一般的なフォントは、ほとんどのシステムに既に存在するため、埋め込む必要はありません。これらのフォントを埋め込むと、生成される HTML 文書が不必要に大きくなります。 - -[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) クラスは継承をサポートし、`WriteFont` メソッドを提供します。このメソッドはオーバーライドすることが想定されています。 +[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) クラスは継承をサポートし、`WriteFont` メソッドをオーバーライドできるように提供しています。 ```py import aspose.slides as slides pres = slides.Presentation("input.pptx") -# デフォルトのプレゼンテーションフォントを除外 +# デフォルトのプレゼンテーション フォントを除外 fontNameExcludeList = ["Calibri", "Arial"] htmlOptionsEmbed = slides.export.HtmlOptions() @@ -155,36 +152,33 @@ pres.save("input-PFDinDisplayPro-Regular-installed.html", slides.export.SaveForm ## **スライドを HTML に変換** - -別個のプレゼンテーション スライドを HTML に変換します。そのためには、全体の PPT(X) プレゼンテーションを HTML ドキュメントに変換する際に使用される [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスが提供する同じ [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) メソッドを使用します。また、追加の変換オプションを設定するために [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) クラスも使用できます: +個別のスライドを HTML に変換します。その際は、全体の PPT(X) プレゼンテーションを HTML 文書に変換する際に使用する [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) メソッドと同じものを使用します。また、追加の変換オプションを設定するために [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) クラスも利用できます: ```py # [TODO[not_supported_yet]: .net インターフェイスの Python 実装] ``` -## **HTML にエクスポートする際に CSS と画像を保存** -新しい CSS スタイル ファイルを使用すると、PowerPoint から HTML への変換プロセスで生成される HTML ファイルのスタイルを簡単に変更できます。 +## **HTML エクスポート時に CSS と画像を保存** +新しい CSS スタイルファイルを使用すると、PowerPoint から HTML への変換プロセスで生成される HTML のスタイルを簡単に変更できます。 -この例の Python コードは、オーバーライド可能なメソッドを使用して CSS ファイルへのリンクを含むカスタム HTML ドキュメントを作成する方法を示しています: +この例の Python コードは、オーバーライド可能なメソッドを使用して CSS ファイルへのリンクを含むカスタム HTML ドキュメントを作成する方法を示しています: ```py # [TODO[not_supported_yet]: .net インターフェイスの Python 実装] ``` ## **プレゼンテーションを HTML に変換する際にすべてのフォントをリンク** +フォントを埋め込まず(結果の HTML のサイズ増加を防ぐために)すべてのフォントをリンクしたい場合は、独自の `LinkAllFontsHtmlController` 実装を作成できます。 -フォントを埋め込みたくない(HTML のサイズ増加を防ぎたい)場合は、独自の `LinkAllFontsHtmlController` 実装によりすべてのフォントをリンクできます。 - -この Python コードは、すべてのフォントをリンクしつつ、システムに既に存在する「Calibri」と「Arial」を除外して PowerPoint を HTML に変換する方法を示しています: +以下の Python コードは、すべてのフォントをリンクし、システムに既に存在する「Calibri」および「Arial」を除外して PowerPoint を HTML に変換する方法を示しています: ```py -# [TODO[not_supported_yet]: .net インターフェイスの Python 実装] +# [TODO[not_supported_yet]: python 実装の .net インターフェイス] ``` ## **SVG レスポンシブ プロパティのサポート** - -以下のコードサンプルは、レスポンシブ レイアウトで PPT(X) プレゼンテーションを HTML にエクスポートする方法を示しています: +以下のサンプルコードは、レスポンシブレイアウトで PPT(X) プレゼンテーションを HTML にエクスポートする方法を示しています: ```py presentation = slides.Presentation("SomePresentation.pptx") @@ -195,20 +189,20 @@ presentation.save("SomePresentation-out.html", slides.export.SaveFormat.HTML, sa ``` -## **メディアファイルを HTML ファイルへエクスポート** -Aspose.Slides for python を使用すると、次の手順でメディアファイルをエクスポートできます: +## **メディア ファイルを HTML ファイルにエクスポート** +Aspose.Slides for python を使用して、メディア ファイルを次の手順でエクスポートできます。 -1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成します。 -2. スライドへの参照を取得します。 -3. スライドにビデオを追加します。 -4. プレゼンテーションを HTML ファイルとして書き出します。 +1. [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成 +1. スライドへの参照を取得 +1. スライドにビデオを追加 +1. プレゼンテーションを HTML ファイルとして書き込む -この Python コードは、プレゼンテーションにビデオを追加し、HTML として保存する方法を示しています: +以下の Python コードは、プレゼンテーションにビデオを追加し、HTML として保存する方法を示しています: ```py import aspose.slides as slides -# プレゼンテーションの読み込み +# プレゼンテーションを読み込み presentation = slides.Presentation("Media File.pptx") path = "C:\\" @@ -227,44 +221,44 @@ presentation.save(path + "ExportMediaFiles_out.html", slides.export.SaveFormat.H ``` -## **よくある質問** +## **FAQ** -### **Python を使用して PowerPoint プレゼンテーションを HTML に変換する方法は?** +**Python を使用して PowerPoint プレゼンテーションを HTML に変換するにはどうすればよいですか?** -`save()` メソッドに `SaveFormat.HTML` を指定して、Aspose.Slides for Python via .NET ライブラリで PPT、PPTX、または ODP ファイルを読み込み、HTML に変換できます。 +Aspose.Slides for Python via .NET ライブラリを使用して PPT、PPTX、または ODP ファイルを読み込み、`save()` メソッドに `SaveFormat.HTML` を指定して HTML に変換できます。 -### **Aspose.Slides は個々の PowerPoint スライドを HTML に変換することをサポートしていますか?** +**Aspose.Slides は個々の PowerPoint スライドを HTML に変換することをサポートしていますか?** -はい、Aspose.Slides は `HtmlOptions` を構成することで、プレゼンテーション全体または特定のスライドを HTML に変換できます。 +はい。Aspose.Slides は `HtmlOptions` を構成することで、プレゼンテーション全体または特定のスライドを HTML に変換できます。 -### **PowerPoint プレゼンテーションからレスポンシブ HTML を生成できますか?** +**PowerPoint プレゼンテーションからレスポンシブ HTML を生成できますか?** -はい、`ResponsiveHtmlController` クラスを使用すると、さまざまな画面サイズに適応するレスポンシブ HTML レイアウトにエクスポートできます。 +はい。`ResponsiveHtmlController` クラスを使用すると、さまざまな画面サイズに適応するレスポンシブ HTML レイアウトにエクスポートできます。 -### **エクスポートされた HTML にスピーカーノートやコメントを含めることは可能ですか?** +**エクスポートした HTML にスピーカーノートやコメントを含めることは可能ですか?** -はい、`HtmlOptions` を設定して、スピーカーノートやコメントを含めるか除外するかを選択できます。 +はい。`HtmlOptions` を設定して、スピーカーノートやコメントの含有・除外を制御できます。 -### **プレゼンテーションを HTML に変換する際にフォントを埋め込むことはできますか?** +**プレゼンテーションを HTML に変換する際にフォントを埋め込むことはできますか?** -はい、`EmbedAllFontsHtmlController` クラスを使用すると、フォントを埋め込むか、特定のフォントを除外して出力ファイルサイズを削減するかを選択できます。 +はい。`EmbedAllFontsHtmlController` クラスを使用すると、フォントを埋め込んだり、特定のフォントを除外したりして出力ファイルサイズを削減できます。 -### **PowerPoint から HTML への変換はビデオやオーディオなどのメディアファイルをサポートしていますか?** +**PowerPoint から HTML への変換はビデオや音声などのメディア ファイルをサポートしていますか?** -はい、`VideoPlayerHtmlController` などの関連クラスを使用して、スライドに埋め込まれたメディアコンテンツを HTML にエクスポートできます。 +はい。`VideoPlayerHtmlController` などの関連クラスを使用して、スライドに埋め込まれたメディア コンテンツを HTML にエクスポートできます。 -### **HTML への変換でサポートされているファイル形式は何ですか?** +**HTML への変換でサポートされているファイル形式は何ですか?** -Aspose.Slides は PPT、PPTX、ODP のプレゼンテーション形式を HTML に変換することをサポートしています。また、スライド内容を SVG として保存したり、メディア資産をエクスポートしたりできます。 +Aspose.Slides は PPT、PPTX、ODP のプレゼンテーション形式を HTML に変換できます。また、スライド コンテンツを SVG として保存したり、メディア資産をエクスポートしたりすることも可能です。 -### **フォントを埋め込まずに HTML の出力サイズを削減できますか?** +**フォントを埋め込まずに HTML の出力サイズを削減できますか?** -はい、Arial や Calibri などシステムに既に存在するフォントは埋め込まずにリンクするカスタム `HtmlController` 実装を作成できます。 +はい。Arial や Calibri などの一般的なシステムフォントは埋め込まずにリンクするカスタム `HtmlController` 実装を使用してサイズを抑えることができます。 -### **PowerPoint を HTML に変換するオンラインツールはありますか?** +**オンラインで PowerPoint を HTML に変換するツールはありますか?** -はい、[PPT to HTML](https://products.aspose.app/slides/conversion/ppt-to-html) や [PPTX to HTML](https://products.aspose.app/slides/conversion/pptx-to-html) など、Aspose の無料ウェブツールを使用してブラウザー上でコードを書かずに直接変換できます。 +はい。Aspose の無料ウェブツール(例: [PPT to HTML](https://products.aspose.app/slides/conversion/ppt-to-html) や [PPTX to HTML](https://products.aspose.app/slides/conversion/pptx-to-html))を使用すれば、コードを書かずにブラウザー上で直接変換できます。 -### **エクスポートされた HTML ファイルにカスタム CSS スタイルを使用できますか?** +**エクスポートした HTML にカスタム CSS スタイルを使用できますか?** -はい、変換時に外部 CSS ファイルへのリンクを設定できるため、生成される HTML コンテンツの外観を完全にカスタマイズできます。 \ No newline at end of file +はい。変換時に外部 CSS ファイルへのリンクを設定できるため、生成された HTML の外観を自由にカスタマイズできます。 diff --git a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index f1f9be41b5..a79cf91824 100644 --- a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,259 +1,255 @@ --- -title: Python で PPT & PPTX を PDF に変換 | 高度なオプション -linktitle: PowerPoint を PDF に +title: Python で PPT と PPTX を PDF に変換 | 高度なオプション +linktitle: PowerPoint を PDF に変換 type: docs weight: 40 url: /ja/python-net/convert-powerpoint-to-pdf/ keywords: - PowerPoint を変換 - プレゼンテーション -- PowerPoint を PDF に -- PPT を PDF に -- PPTX を PDF に +- PowerPoint を PDF に変換 +- PPT を PDF に変換 +- PPTX を PDF に変換 - PowerPoint を PDF として保存 - PDF/A1a - PDF/A1b - PDF/UA - Python -- Aspose.Slides -description: "Aspose.Slides を使用して、Python で PPT、PPTX、ODP を高品質かつ WCAG 準拠の PDF に変換するステップバイステップ ガイド。パスワード保護、スライド選択、画像品質制御を含みます。" +- Python 用 Aspose.Slides +description: "Aspose.Slides を使用して Python で PPT、PPTX、ODP を高品質かつ WCAG 準拠の PDF に変換するステップバイステップ ガイドです。パスワード保護、スライド選択、画像品質の制御も含まれます。" +showReadingTime: true --- ## **概要** -PowerPoint文書をPDF形式に変換することは、異なるデバイス間の互換性を保証し、プレゼンテーションのレイアウトと書式を保持するなど、いくつかの利点があります。この記事では、プレゼンテーションをPDF文書に変換する方法、画像品質を制御するさまざまなオプションを使用する方法、非表示のスライドを含める方法、PDF文書をパスワードで保護する方法、フォントの置き換えを検出する方法、変換するスライドを選択する方法、および出力文書に準拠基準を適用する方法を示します。 +PowerPoint プレゼンテーション(PPT、PPTX、ODP)を Python で PDF 形式に変換すると、さまざまな利点があります。デバイス間の互換性を確保し、プレゼンテーションのレイアウトと書式設定を保持できます。本ガイドでは、プレゼンテーションを PDF ドキュメントに変換する方法、画像品質を制御するさまざまなオプションの利用、非表示スライドの含め方、PDF 文書へのパスワード保護、フォント置換の検出、特定スライドの選択変換、出力文書へのコンプライアンス基準の適用方法を示します。 -## **PowerPointからPDFへの変換** +## **PowerPoint から PDF への変換** -Aspose.Slidesを使用すると、次の形式のプレゼンテーションをPDFに変換できます: +Aspose.Slides を使用すると、次の形式のプレゼンテーションを PDF に変換できます。 -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -PythonでプレゼンテーションをPDFに変換するには、[Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/)クラスにファイル名を引数として渡し、その後[Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods)メソッドを使用してプレゼンテーションをPDFとして保存するだけです。[Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/)クラスは、プレゼンテーションをPDFに変換するために通常使用される[Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods)メソッドを公開しています。 - -{{% alert title="注意" color="warning" %}} - -Aspose.Slides for Pythonは、出力文書にAPI情報とバージョン番号を直接記載します。たとえば、プレゼンテーションをPDFに変換するとき、Aspose.Slides for PythonはApplicationフィールドに'*Aspose.Slides*'の値を入力し、PDF Producerフィールドには'*Aspose.Slides v XX.XX*'という形式の値を入力します。**注意**として、Aspose.Slides for Pythonにこの情報を出力文書から変更または削除するよう指示することはできません。 +Python でプレゼンテーションを PDF に変換するには、[Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) クラスにファイル名を引数として渡し、その後 [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) メソッドで PDF として保存します。[Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) クラスは、プレゼンテーションを PDF に変換する際に通常使用される [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) メソッドを公開しています。 +{{% alert title="NOTE" color="warning" %}} +Aspose.Slides for Python は、出力文書に API 情報とバージョン番号を直接書き込みます。たとえば、プレゼンテーションを PDF に変換すると、Aspose.Slides for Python は Application フィールドに「*Aspose.Slides*」という値を、PDF Producer フィールドに「*Aspose.Slides v XX.XX*」という形式の値を設定します。**注意**:Aspose.Slides for Python に対して、これらの情報を変更または削除するよう指示することはできません。 {{% /alert %}} -Aspose.Slidesでは、次のことが可能です: +Aspose.Slides では、次の変換が可能です。 -* 全体のプレゼンテーションをPDFに変換する -* プレゼンテーション内の特定のスライドをPDFに変換する -* プレゼンテーションを +* プレゼンテーション全体を PDF に変換 +* プレゼンテーション内の特定スライドを PDF に変換 -Aspose.Slidesは、プレゼンテーションからの内容が元のプレゼンテーションと非常に似ている方法でPDFにエクスポートします。これらの既知の要素と属性は、プレゼンテーションからPDFへの変換で正しくレンダリングされることが多いです: +Aspose.Slides はプレゼンテーションを PDF にエクスポートし、生成された PDF の内容が元のプレゼンテーションとほぼ同一になるようにします。変換時に正確にレンダリングされる要素と属性は以下のとおりです。 * 画像 -* テキストボックスやその他の図形 -* テキストとその書式 -* 段落とその書式 +* テキスト ボックスとシェイプ +* テキストの書式設定 +* 段落の書式設定 * ハイパーリンク * ヘッダーとフッター * 箇条書き -* テーブル +* 表 -## **PowerPointをPDFに変換する** +## **PowerPoint を PDF に変換する** -標準的なPowerPoint PDF変換操作は、デフォルトのオプションを使用して実行されます。この場合、Aspose.Slidesは、提供されたプレゼンテーションを最大の品質レベルで最適な設定を使用してPDFに変換しようとします。このPythonコードでは、PowerPointをPDFに変換する方法を示します: +標準の PowerPoint PDF 変換操作はデフォルトオプションで実行されます。この場合、Aspose.Slides は最適な設定と最高品質レベルで提供されたプレゼンテーションを PDF に変換しようとします。以下の Python コードは、PowerPoint を PDF に変換する方法を示しています。 -_手順:PythonでのPowerPointからPDFへの変換_ +_手順: Python での PowerPoint から PDF への変換_ -以下のサンプルコードでは、.NET経由でPythonを使用したこれらの変換を説明します -- 手順:.NET経由でPythonを使用してPowerPointをPDFに変換する -- 手順:.NET経由でPythonを使用してPPTをPDFに変換する -- 手順:.NET経由でPythonを使用してPPTXをPDFに変換する -- 手順:.NET経由でPythonを使用してODPをPDFに変換する -- 手順:.NET経由でPythonを使用してPPSをPDFに変換する +以下のサンプルコードは、.NET 経由で Python を使用した変換を説明しています +- 手順: .NET 経由で Python を使用して PowerPoint を PDF に変換 +- 手順: .NET 経由で Python を使用して PPT を PDF に変換 +- 手順: .NET 経由で Python を使用して PPTX を PDF に変換 +- 手順: .NET 経由で Python を使用して ODP を PDF に変換 +- 手順: .NET 経由で Python を使用して PPS を PDF に変換 -_コード手順:_ - -- [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)クラスのインスタンスを作成し、PowerPointファイルを提供します。 - * _.ppt_拡張子を使用して_Presentation_クラス内に**PPT**ファイルをロードします。 - * _.pptx_拡張子を使用して_Presentation_クラス内に**PPTX**ファイルをロードします。 - * _.odp_拡張子を使用して_Presentation_クラス内に**ODP**ファイルをロードします。 - * _.pps_拡張子を使用して_Presentation_クラス内に**PPS**ファイルをロードします。 -- **Save**メソッドを呼び出して_Presentation_を**PDF**形式で保存します。 +**コード手順:** +- [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスのインスタンスを作成し、PowerPoint ファイルを渡します。 + * _.ppt_ 拡張子で **PPT** ファイルを _Presentation_ クラスにロードします。 + * _.pptx_ 拡張子で **PPTX** ファイルを _Presentation_ クラスにロードします。 + * _.odp_ 拡張子で **ODP** ファイルを _Presentation_ クラスにロードします。 + * _.pps_ 拡張子で **PPS** ファイルを _Presentation_ クラスにロードします。 +- **Save** メソッドを呼び出し、**SaveFormat.PDF** 列挙体を使用して _Presentation_ を **PDF** 形式で保存します。 ```python import aspose.slides as slides -# PowerPointファイルを表すPresentationクラスのインスタンスを作成 +# PowerPoint ファイルを表す Presentation クラスのインスタンスを作成します presentation = slides.Presentation("PowerPoint.ppt") -# プレゼンテーションをPDFとして保存 +# プレゼンテーションを PDF として保存します presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF) ``` -{{% alert color="primary" %}} - -Asposeは、プレゼンテーションをPDFに変換するプロセスを示す無料のオンライン[**PowerPointからPDFへの変換ツール**](https://products.aspose.app/slides/conversion/ppt-to-pdf)を提供しています。ここで説明されている手順のライブ実装のために、変換ツールでテストを行うことができます。 +{{% alert color="primary" %}} +Aspose は、プレゼンテーションを PDF に変換するプロセスを実演する無料のオンライン [**PowerPoint から PDF へのコンバータ**](https://products.aspose.app/slides/conversion/ppt-to-pdf) を提供しています。ここで説明した手順の実装をライブで確認したい場合は、コンバータでテストできます。 {{% /alert %}} -## PowerPointをオプション付きでPDFに変換する +## **オプションを使用して PowerPoint を PDF に変換する** -Aspose.Slidesは、変換プロセスから得られるPDFをカスタマイズしたり、パスワードでPDFをロックしたり、変換プロセスの方法を指定したりできるカスタムオプションを提供します。 +Aspose.Slides は、[PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) クラスのプロパティとしてカスタムオプションを提供し、PDF(変換プロセスの結果)をカスタマイズしたり、パスワードでロックしたり、変換プロセスの挙動を指定したりできます。 -### **カスタムオプションを使用してPowerPointをPDFに変換する** +### **カスタムオプションで PowerPoint を PDF に変換する** -カスタム変換オプションを使用することで、ラスタ画像に対して好みの品質設定を設定したり、メタファイルの取り扱いを指定したり、テキストの圧縮レベルを設定したり、画像のDPIを設定したりできます。 - -以下のコード例では、PowerPointプレゼンテーションを複数のカスタムオプションでPDFに変換する操作を示しています: +カスタム変換オプションを使用すると、ラスタ画像の品質設定、メタファイルの取り扱い、テキストの圧縮レベル、画像の DPI などを指定できます。 +以下のコード例は、複数のカスタムオプションを使用して PowerPoint プレゼンテーションを PDF に変換する操作を示しています: ```python import aspose.slides as slides -# PdfOptionsクラスのインスタンスを作成 +# PdfOptions クラスのインスタンスを作成します pdf_options = slides.export.PdfOptions() -# JPG画像の品質を設定 +# JPG 画像の品質を設定します pdf_options.jpeg_quality = 90 -# 画像のDPIを設定 +# 画像の DPI を設定します pdf_options.sufficient_resolution = 300 -# メタファイルの動作を設定 +# メタファイルの処理方法を設定します pdf_options.save_metafiles_as_png = True -# テキストコンテンツの圧縮レベルを設定 +# テキストコンテンツの圧縮レベルを設定します pdf_options.text_compression = slides.export.PdfTextCompression.FLATE -# PDF準拠モードを定義 +# PDF コンプライアンスモードを定義します pdf_options.compliance = slides.export.PdfCompliance.PDF15 -# PowerPoint文書を表すPresentationクラスのインスタンスを作成 +# PowerPoint ドキュメントを表す Presentation クラスのインスタンスを作成します with slides.Presentation("PowerPoint.pptx") as presentation: - # プレゼンテーションをPDF文書として保存 + # プレゼンテーションを PDF ドキュメントとして保存します presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options) ``` -### **非表示スライドを含めてPowerPointをPDFに変換する** -プレゼンテーションに非表示のスライドが含まれている場合は、カスタムオプションとして[PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)クラスの`show_hidden_slides`プロパティを使用して、Aspose.Slidesに非表示のスライドをPDFのページとして含めるよう指示できます。 +### **非表示スライドを含めて PowerPoint を PDF に変換する** -このPythonコードでは、非表示スライドを含めてPowerPointプレゼンテーションをPDFに変換する方法を示します: +プレゼンテーションに非表示スライドが含まれている場合、[PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) クラスの `show_hidden_slides` プロパティというカスタムオプションを使用して、Aspose.Slides に非表示スライドを結果の PDF のページとして含めるよう指示できます。 +以下の Python コードは、非表示スライドを含めて PowerPoint プレゼンテーションを PDF に変換する方法を示しています: ```python import aspose.slides as slides -# PowerPointファイルを表すPresentationクラスのインスタンスを作成 +# PowerPoint ファイルを表す Presentation クラスのインスタンスを作成します presentation = slides.Presentation("PowerPoint.pptx") -# PdfOptionsクラスのインスタンスを作成 +# PdfOptions クラスのインスタンスを作成します pdfOptions = slides.export.PdfOptions() -# 非表示スライドを追加 +# 非表示スライドを追加します pdfOptions.show_hidden_slides = True -# プレゼンテーションをPDFとして保存 +# プレゼンテーションを PDF として保存します presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### **パスワード保護されたPDFにPowerPointを変換する** -このPythonコードでは、PowerPointをパスワード保護されたPDFに変換する方法を示します([PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)クラスの保護パラメータを使用): +### **パスワード保護された PDF に PowerPoint を変換する** +以下の Python コードは、[PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) クラスの保護パラメーターを使用して、PowerPoint をパスワード保護された PDF に変換する方法を示しています: ```python import aspose.slides as slides -# PowerPointファイルを表すPresentationオブジェクトのインスタンスを作成 +# PowerPoint ファイルを表す Presentation オブジェクトのインスタンスを作成します presentation = slides.Presentation("PowerPoint.pptx") -# PdfOptionsクラスのインスタンスを作成 +# PdfOptions クラスのインスタンスを作成します pdfOptions = slides.export.PdfOptions() -# PDFパスワードとアクセス許可を設定 +# PDF のパスワードとアクセス権限を設定します pdfOptions.password = "password" pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMENT | slides.export.PdfAccessPermissions.HIGH_QUALITY_PRINT -# プレゼンテーションをPDFとして保存 +# プレゼンテーションを PDF として保存します presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### フォントの置き換えを検出する -Aspose.Slidesは、プレゼンテーションからPDFへの変換プロセスでフォントの置き換えを検出するための[SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/)クラスの`warning_callback`プロパティを提供します。 +### **フォント置換を検出する** -このPythonコードでは、フォントの置き換えを検出する方法を示します: +Aspose.Slides は、[SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/) クラスの `warning_callback` プロパティを提供し、プレゼンテーションから PDF への変換プロセスでフォント置換を検出できます。 +以下の Python コードは、フォント置換を検出する方法を示しています: ```python [TODO[SLIDESPYNET-91]: コールバックは現在サポートされていません] ``` -{{% alert color="primary" %}} - -フォントの置き換えに関する詳細は、[フォントの置き換え](https://docs.aspose.com/slides/python-net/font-substitution/)の記事を参照してください。 +{{% alert color="primary" %}} +フォント置換の詳細については、[フォント置換](https://docs.aspose.com/slides/python-net/font-substitution/) 記事をご参照ください。 {{% /alert %}} -## **PowerPoint内の選択したスライドをPDFに変換する** - -このPythonコードでは、PowerPointプレゼンテーション内の特定のスライドをPDFに変換する方法を示します: +## **PowerPoint の特定スライドを PDF に変換する** +以下の Python コードは、PowerPoint プレゼンテーション内の特定スライドを PDF に変換する方法を示しています: ```python import aspose.slides as slides -# PowerPointファイルを表すPresentationオブジェクトのインスタンスを作成 +# PowerPoint ファイルを表す Presentation オブジェクトのインスタンスを作成します presentation = slides.Presentation("PowerPoint.pptx") -# スライド位置の配列を設定 +# スライド位置の配列を設定します slides_array = [ 1, 3 ] -# プレゼンテーションをPDFとして保存 +# プレゼンテーションを PDF として保存します presentation.save("PPTX-to-PDF.pdf", slides_array, slides.export.SaveFormat.PDF) ``` -## **カスタムスライドサイズでPowerPointをPDFに変換する** -このPythonコードでは、スライドサイズが指定されたPowerPointをPDFに変換する方法を示します: +## **カスタムスライドサイズで PowerPoint を PDF に変換する** +以下の Python コードは、スライドサイズが指定された PowerPoint を PDF に変換する方法を示しています: ```python import aspose.slides as slides -# PowerPointファイルを表すPresentationオブジェクトのインスタンスを作成 -presentation = slides.Presentation("SelectedSlides.pptx") -auxPresentation = slides.Presentation() +slide_width = 612 +slide_height = 792 -slide = presentation.slides[0] +# PowerPoint または OpenDocument ファイルを表す Presentation クラスをインスタンス化します。 +with slides.Presentation("SelectedSlides.pptx") as presentation: -auxPresentation.slides.insert_clone(0, slide) + # 調整されたスライドサイズで新しいプレゼンテーションを作成します。 + with slides.Presentation() as resized_presentation: -# スライドのタイプとサイズを設定 -auxPresentation.slide_size.set_size(612, 792, slides.SlideSizeScaleType.ENSURE_FIT) + # カスタムスライドサイズを設定します。 + resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT) -pdfOptions = slides.export.PdfOptions() -pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL + # 元のプレゼンテーションから最初のスライドをクローンします。 + slide = presentation.slides[0] + resized_presentation.slides.insert_clone(0, slide) -auxPresentation.save("PDFnotes_out.pdf", slides.export.SaveFormat.PDF, pdfOptions) + # サイズ変更されたプレゼンテーションをノート付き PDF として保存します。 + resized_presentation.save("PDF_with_notes.pdf", slides.export.SaveFormat.PDF) ``` -## **ノートスライドビューでPowerPointをPDFに変換する** -このPythonコードでは、PowerPointをPDFノートに変換する方法を示します: +## **ノートスライドビューで PowerPoint を PDF に変換する** +以下の Python コードは、PowerPoint のノートを PDF に変換する方法を示しています: ```python import aspose.slides as slides -# PowerPointファイルを表すPresentationクラスのインスタンスを作成 +# PowerPoint ファイルを表す Presentation クラスのインスタンスを作成します presentation = slides.Presentation("NotesFile.pptx") pdfOptions = slides.export.PdfOptions() pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL -# プレゼンテーションをPDFノートとして保存 +# プレゼンテーションを PDF ノートとして保存します presentation.Save("Pdf_Notes_out.tiff", slides.export.SaveFormat.PDF, pdfOptions) ``` -## **PDFのアクセシビリティと準拠基準** -Aspose.Slidesでは、[Webコンテンツアクセシビリティガイドライン(**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html)に準拠した変換手順を使用することができます。これらの準拠基準のいずれかを使用して、PowerPoint文書をPDFにエクスポートできます:**PDF/A1a**、**PDF/A1b**、および**PDF/UA**。 +## **PDF のアクセシビリティとコンプライアンス基準** -このPythonコードは、異なる準拠基準に基づいて複数のPDFを取得するPowerPointからPDFへの変換操作を示しています: +Aspose.Slides は、[Web Content Accessibility Guidelines (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html) に準拠した変換手順を使用できます。次のコンプライアンス標準のいずれかを使用して PowerPoint 文書を PDF にエクスポートできます:**PDF/A1a**、**PDF/A1b**、**PDF/UA**。 +以下の Python コードは、異なるコンプライアンス標準に基づく複数の PDF を取得する PowerPoint から PDF への変換操作をデモンストレーションします: ```python import aspose.slides as slides @@ -271,8 +267,47 @@ options.compliance = slides.export.PdfCompliance.PDF_UA pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options) ``` -{{% alert title="注意" color="warning" %}} -Aspose.SlidesのPDF変換操作は、PDFを最も人気のあるファイル形式に変換することを許可します。[PDFからHTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/)、[PDFから画像](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/)、[PDFからJPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/)、および[PDFからPNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/)への変換ができます。他のPDF変換操作では、[PDFからSVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/)、[PDFからTIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/)、および[PDFからXML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/)への変換もサポートされています。 +{{% alert title="Note" color="warning" %}} +Aspose.Slides の PDF 変換機能は、PDF を最も一般的なファイル形式に変換することもサポートしています。[PDF から HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/)、[PDF から画像](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/)、[PDF から JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/)、および [PDF から PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/) への変換が可能です。さらに、[PDF から SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/)、[PDF から TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/)、[PDF から XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/) といった特殊形式への変換もサポートされています。 +{{% /alert %}} + +## **FAQ** + +**Aspose.Slides for Python は PDF からアプリケーション情報を削除できますか?** + +いいえ、Aspose.Slides for Python は出力 PDF に API 情報とバージョン番号を自動的に含めます。この情報は変更も削除もできません。 + +**PDF 変換時に特定のスライドだけを含めるにはどうすればよいですか?** + +`save` メソッドにスライド位置の配列を渡すことで、変換したいスライドインデックスを指定できます。 + +**変換時に PDF にパスワードを設定できますか?** + +はい、`PdfOptions` クラスでパスワードとアクセス権限を設定してから、プレゼンテーションを PDF として保存できます。 + +**Aspose.Slides は PDF を他の形式に変換できますか?** + +はい、Aspose.Slides は PDF を HTML、画像形式(JPG、PNG)、SVG、TIFF、XML などに変換することをサポートしています。 + +**PDF がアクセシビリティ基準に準拠しているか確認するには?** + +`PdfOptions` の `compliance` プロパティを `PDF_A1A`、`PDF_A1B`、または `PDF_UA` に設定することで、アクセシビリティガイドラインへの準拠を保証できます。 + +**非表示スライドを PDF に含めることはできますか?** + +はい、`PdfOptions` の `show_hidden_slides` プロパティを `True` に設定すれば、非表示スライドが PDF に含まれます。 + +**変換時に画像の品質と解像度を調整するには?** + +`PdfOptions` の `jpeg_quality` と `sufficient_resolution` プロパティを使用して、生成される PDF の画像品質と解像度を制御できます。 + +**Aspose.Slides はフォント置換を自動的に処理しますか?** + +Aspose.Slides は変換中にフォント置換を検出し、`SaveOptions` の `warning_callback` プロパティでそれらを処理できます(現在は制限あり)。 + +## **追加リソース** -{{% /alert %}} \ No newline at end of file +- [Aspose.Slides for .NET ドキュメント](https://docs.aspose.com/slides/python-net/) +- [Aspose.Slides API リファレンス](https://reference.aspose.com/slides/python-net/) +- [Aspose 無料オンラインコンバータ](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index 83a09b958f..3b0e207a02 100644 --- a/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/ja/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -1,66 +1,63 @@ --- -title: Python で PPT を PPTX に変換する -linktitle: PPT から PPTX へ +title: PythonでPPTをPPTXに変換 +linktitle: PPTからPPTXへ type: docs weight: 20 url: /ja/python-net/convert-ppt-to-pptx/ keywords: -- PPT を変換 -- PPT から PPTX へ +- PPTを変換 +- PPTからPPTXへ - PowerPoint - プレゼンテーション - Python - Aspose.Slides -description: "Aspose.Slides を使用して、レガシーな PPT プレゼンテーションを Python で高速に最新の PPTX に変換します — 明確なチュートリアル、無料のコードサンプル、Microsoft Office 不要です。" +description: "Aspose.Slides を使用して、Python でレガシー PPT プレゼンテーションを最新の PPTX に高速に変換します — 明瞭なチュートリアル、無料のコードサンプル、Microsoft Office 不要。" --- ## **概要** -この記事では、Python とオンライン PPT から PPTX への変換アプリを使用して、PPT 形式の PowerPoint プレゼンテーションを PPTX 形式に変換する方法を説明します。以下のトピックが扱われます: +この記事では、Python とオンライン PPT から PPTX への変換アプリを使用して、PPT 形式の PowerPoint プレゼンテーションを PPTX 形式に変換する方法を説明します。以下のトピックがカバーされています: - Python で PPT を PPTX に変換 -## **PythonでPPTをPPTXに変換** +## **Python で PPT を PPTX に変換** -PPT を PPTX に変換する Python のサンプルコードについては、以下のセクション、すなわち [Convert PPT to PPTX](#convert-ppt-to-pptx) を参照してください。これは単に PPT ファイルを読み込み、PPTX 形式で保存するだけのものです。保存形式を変更すれば、PDF、XPS、ODP、HTML などの多くの形式にも PPT ファイルを保存できます。これらの記事でも説明しています: +Python で PPT を PPTX に変換するサンプルコードについては、以下のセクション、すなわち [Convert PPT to PPTX](#convert-ppt-to-pptx) を参照してください。これは PPT ファイルを読み込み、PPTX 形式で保存するだけです。保存形式を変更することで、PDF、XPS、ODP、HTML など多数の形式に PPT ファイルを保存できます。これらの記事で詳しく説明しています: -- [PythonでPPTをPDFに変換](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-pdf/) -- [PythonでPPTをXPSに変換](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/) -- [PythonでPPTをHTMLに変換](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/) -- [PythonでPPTをODPに変換](https://docs.aspose.com/slides/python-net/save-presentation/) -- [PythonでPPTを画像に変換](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-png/) +- [Python で PPT を PDF に変換](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-pdf/) +- [Python で PPT を XPS に変換](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/) +- [Python で PPT を HTML に変換](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/) +- [Python で PPT を ODP に変換](https://docs.aspose.com/slides/python-net/save-presentation/) +- [Python で PPT を画像に変換](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-png/) -## **PPTからPPTX変換について** +## **PPT から PPTX への変換について** +古い PPT 形式を Aspose.Slides API で PPTX に変換します。数千件の PPT プレゼンテーションを PPTX 形式に変換する必要がある場合、最適なソリューションはプログラムで行うことです。Aspose.Slides API を使用すれば、数行のコードで実現できます。API は PPT プレゼンテーションを PPTX に完全互換で変換でき、以下が可能です: -Aspose.Slides API を使用して古い PPT 形式を PPTX に変換します。数千件もの PPT プレゼンテーションを PPTX 形式に変換する必要がある場合、最適な解決策はプログラムで実行することです。Aspose.Slides API を使用すれば、数行のコードで実現できます。API は PPT プレゼンテーションを PPTX に変換する完全な互換性をサポートしており、次のことが可能です: - -- マスター、レイアウト、スライドの複雑な構造を変換します。 +- マスター、レイアウト、スライドなどの複雑な構造を変換します。 - チャートを含むプレゼンテーションを変換します。 -- グループシェイプ、オートシェイプ(矩形や楕円など)、カスタムジオメトリを持つシェイプを含むプレゼンテーションを変換します。 -- テクスチャや画像塗りつぶしスタイルを持つオートシェイプを含むプレゼンテーションを変換します。 +- グループシェイプ、オートシェイプ(矩形や楕円など)、カスタムジオメトリのシェイプを含むプレゼンテーションを変換します。 +- テクスチャや画像塗りつぶしスタイルを持つオートシェイプのプレゼンテーションを変換します。 - プレースホルダー、テキストフレーム、テキストホルダーを含むプレゼンテーションを変換します。 {{% alert color="primary" %}} -以下の [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) アプリをご覧ください: +次の [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) アプリをご覧ください: [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -このアプリは **Aspose.Slides API** に基づいて構築されており、基本的な PPT から PPTX への変換機能のライブ例を確認できます。Aspose.Slides Conversion は、PPT 形式のプレゼンテーションファイルをドロップし、PPTX に変換された状態でダウンロードできるWebアプリです。 - -他のライブ例は [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) をご参照ください。 +このアプリは **Aspose.Slides API** をベースに構築されているため、基本的な PPT から PPTX への変換機能のライブ例を見ることができます。Aspose.Slides Conversion は、PPT 形式のプレゼンテーションファイルをドロップして PPTX に変換された状態でダウンロードできるウェブアプリです。 +他のライブ例は [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) をご覧ください。 {{% /alert %}} -## **PPTをPPTXに変換** - -PPT を PPTX に変換するには、ファイル名と保存形式を [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) メソッドに渡すだけです。このメソッドは [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスに属します。以下の Python コードサンプルは、デフォルトオプションを使用して PPT から PPTX にプレゼンテーションを変換します。 +## **PPT を PPTX に変換** +PPT を PPTX に変換するには、[**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) クラスの [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) メソッドにファイル名と保存形式を渡すだけです。以下の Python コードサンプルは、デフォルトオプションで PPT から PPTX にプレゼンテーションを変換します。 ```python import aspose.slides as slides -# PPT ファイルを表す Presentation オブジェクトを作成します +# PPT ファイルを表す Presentation オブジェクトをインスタンス化します pres = slides.Presentation("PPTtoPPTX.ppt") # プレゼンテーションを PPTX 形式で保存します @@ -68,38 +65,34 @@ pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` -[PPT と PPTX の違い](/slides/ja/python-net/ppt-vs-pptx/) や、[Aspose.Slides が PPT から PPTX への変換をサポートしている方法](/slides/ja/python-net/convert-ppt-to-pptx/) について詳しく読むことができます。 +[**PPT と PPTX の違い**](/slides/ja/python-net/ppt-vs-pptx/) のプレゼンテーション形式と、[**Aspose.Slides が PPT から PPTX への変換をサポート**](/slides/ja/python-net/convert-ppt-to-pptx/) について、さらに詳しくご覧ください。 -## よくある質問 +## **よくある質問** -### **PPT と PPTX 形式の違いは何ですか?** +**PPT と PPTX の形式の違いは何ですか?** -PPT は Microsoft PowerPoint が使用する旧式のバイナリ形式で、PPTX は Microsoft Office 2007 で導入された XML ベースの新形式です。PPTX ファイルはパフォーマンスが向上し、ファイルサイズが小さく、データ復旧が改善されています。 +PPT は Microsoft PowerPoint が使用する古いバイナリファイル形式で、PPTX は Microsoft Office 2007 で導入された新しい XML ベースの形式です。PPTX ファイルはパフォーマンスが向上し、ファイルサイズが小さくなり、データ復元が改善されます。 -### **Python で PPT を PPTX に変換できますか?** +**Python で PPT を PPTX に変換できますか?** はい、Aspose.Slides for Python via .NET ライブラリを使用すれば、数行のコードで PPT ファイルを読み込み、PPTX 形式で保存できます。 -### **PPT から PPTX への変換に Aspose.Slides for Python via .NET は必須ですか?** - -はい、Aspose.Slides API はプログラムから PowerPoint プレゼンテーションを変換、操作、保存するために必要なメソッドとクラスを提供しており、Microsoft PowerPoint が不要です。 - -### **複数の PPT ファイルを一括で PPTX に変換できますか?** +**Aspose.Slides は複数の PPT ファイルをまとめて PPTX に変換するバッチ変換をサポートしていますか?** -はい、ループ内で Aspose.Slides を使用すれば、複数の PPT ファイルをプログラムで順次 PPTX に変換でき、一括変換シナリオに適しています。 +はい、ループ内で Aspose.Slides を使用して、複数の PPT ファイルをプログラムで PPTX に変換できるため、バッチ変換シナリオに適しています。 -### **変換後にコンテンツや書式は保持されますか?** +**変換後にコンテンツや書式は保持されますか?** -Aspose.Slides は高い忠実度でプレゼンテーションを変換します。スライドレイアウト、アニメーション、シェイプ、チャート、その他のデザイン要素は PPT から PPTX への変換時に保持されます。 +Aspose.Slides はプレゼンテーションの高忠実度変換を維持します。スライドレイアウト、アニメーション、シェイプ、チャート、その他のデザイン要素は PPT から PPTX への変換中に保持されます。 -### **PPT ファイルから PDF や HTML など他の形式に変換できますか?** +**PPT ファイルから PDF や HTML などの他の形式に変換できますか?** はい、Aspose.Slides は PPT ファイルを PDF、XPS、HTML、ODP、PNG や JPEG などの画像形式に変換することをサポートしています。 -### **Microsoft PowerPoint がインストールされていなくても PPT を PPTX に変換できますか?** +**Microsoft PowerPoint がインストールされていなくても PPT を PPTX に変換できますか?** -はい、Aspose.Slides for Python via .NET はスタンドアロンの API であり、Microsoft PowerPoint やサードパーティ製ソフトウェアは不要です。 +はい、Aspose.Slides for Python via .NET はスタンドアロン API であり、Microsoft PowerPoint やサードパーティ製ソフトウェアを必要とせずに変換を実行できます。 -### **オンラインで PPT を PPTX に変換できるツールはありますか?** +**PPT から PPTX への変換に利用できるオンラインツールはありますか?** -はい、無料の [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) Web アプリを使用すれば、コードを書かずにブラウザ上で直接変換できます。 \ No newline at end of file +はい、無料の [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) Web アプリケーションを使用すれば、コードを書かずにブラウザ上で直接変換を実行できます。 diff --git a/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..a3b4a519ab --- /dev/null +++ b/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "PythonでPowerPoint生成を自動化:動的なプレゼンテーションを簡単に作成" +linktitle: PythonでPowerPoint生成を自動化 +type: docs +weight: 20 +url: /ja/python-net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- クラウドプラットフォーム +- PowerPoint生成の自動化 +- プログラムでプレゼンテーションを生成 +- PowerPoint自動化 +- 動的スライド作成 +- 自動化ビジネスレポート +- PPT自動化 +- Pythonプレゼンテーション +- Python +- Aspose.Slides +description: "Aspose.Slides for Python を使用してクラウドプラットフォーム上でスライド作成を自動化—PowerPoint および OpenDocument ファイルを高速かつ確実に生成、編集、変換します。" +--- + +## **はじめに** + +手作業でPowerPointプレゼンテーションを作成することは、時間がかかり繰り返しの作業になることがあります。特にコンテンツが頻繁に変わる動的データに基づいている場合は顕著です。週次のビジネスレポートの作成、教育資料の編成、クライアント向けのセールスデックの生成など、Automation によって膨大な時間を節約でき、チーム間での一貫性も保てます。 + +Python 開発者にとって、PowerPoint プレゼンテーションの自動作成は強力な可能性を提供します。スライド生成を Web ポータル、デスクトップツール、バックエンドサービス、クラウドプラットフォームに統合し、データをオンデマンドでプロフェッショナルかつブランド化されたプレゼンテーションに変換できます。 + +本稿では、Python アプリ(クラウド プラットフォーム上のデプロイを含む)における PowerPoint 自動生成の一般的なユースケースと、なぜ現代のソリューションで必須機能となりつつあるのかを探ります。リアルタイムのビジネスデータ取得からテキストや画像のスライド変換まで、目的は生のコンテンツを視覚的に構造化し、聴衆がすぐに理解できる形式に変えることです。 + +## **Python における PowerPoint Automation の主なユースケース** + +PowerPoint の自動生成は、プレゼンテーション コンテンツを動的に組み立てたり、パーソナライズしたり、頻繁に更新したりする必要があるシナリオで特に有用です。代表的な実装例は次のとおりです。 + +- **ビジネスレポート & ダッシュボード** + データベースや API からリアルタイムデータを取得し、売上サマリー、KPI、財務パフォーマンス レポートを生成します。 + +- **パーソナライズされた営業 & マーケティング デック** + CRM やフォーム データを使用して顧客別ピッチ デックを自動作成し、迅速な納品とブランド一貫性を確保します。 + +- **教育コンテンツ** + 学習教材、クイズ、コースサマリーを構造化されたスライド デックに変換し、eラーニング プラットフォームで活用します。 + +- **データ & AI 主導のインサイト** + 自然言語処理や分析エンジンを利用して、生データや長文テキストを要約プレゼンテーションに変換します。 + +- **メディアベースのスライド** + アップロードされた画像、注釈付きスクリーンショット、動画のキーフレームに説明文を添えてプレゼンテーションを構築します。 + +- **ドキュメント変換** + Word 文書、PDF、フォーム入力を最小限の手作業でビジュアル プレゼンテーションに自動変換します。 + +- **開発者向け技術ツール** + コードや Markdown コンテンツから直接、技術デモ、ドキュメント概要、チェンジログをスライド形式で作成します。 + +これらのワークフローを自動化することで、組織はコンテンツ作成をスケールさせ、一貫性を保ち、戦略的業務に割く時間を確保できます。 + +## **コードを書いてみよう** + +本例では、**[Aspose.Slides for Python](https://products.aspose.com/slides/python-net/)** を使用して PowerPoint Automation をデモします。豊富な機能とプログラムからプレゼンテーションを扱う際の使いやすさが評価ポイントです。 + +低レベルのライブラリは Open XML 構造を直接操作する必要があり、コードが冗長で読みにくくなることが多いですが、Aspose.Slides は上位レベルの API を提供し、複雑さを隠蔽します。その結果、レイアウト、書式設定、データ バインディングといったプレゼンテーション ロジックに集中でき、PowerPoint ファイル形式の詳細を理解する必要がなくなります。 + +Aspose.Slides は商用ライブラリですが、[無料トライアル](https://releases.aspose.com/slides/python-net/)版があり、本稿のサンプルを実行するのに十分な機能を備えています。概念実証や機能テスト、PoC 作成など、ライセンスを取得せずに自動 PowerPoint 生成を試すには最適です。 + +では、実際のコンテンツを用いたサンプル プレゼンテーションの作成手順を見ていきましょう。 + +### **タイトルスライドの作成** + +まず新規プレゼンテーションを作成し、メイン見出しとサブタイトルを持つタイトルスライドを追加します。 +```py +import aspose.slides as slides +import aspose.slides.charts as charts +import aspose.pydrawing as draw + +with slides.Presentation() as presentation: + + slide_0 = presentation.slides[0] + slide_0.layout_slide = presentation.layout_slides.get_by_type(slides.SlideLayoutType.TITLE) + + title_shape = slide_0.shapes[0] + subtitle_shape = slide_0.shapes[1] + + title_shape.text_frame.text = "Quarterly Business Review – Q1 2025" + subtitle_shape.text_frame.text = "Prepared for Executive Team" +``` + + +![タイトルスライド](slide_0.png) + +### **縦棒グラフ付きスライドの追加** + +次に、地域別売上実績を縦棒グラフで示すスライドを作成します。 +```py +layout_slide_1 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_1 = presentation.slides.add_empty_slide(layout_slide_1) + +chart = slide_1.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350, False) +chart.legend.position = charts.LegendPositionType.BOTTOM +chart.has_title = True +chart.chart_title.add_text_frame_for_overriding("Data from January – March 2025") +chart.chart_title.overlay = False + +workbook = chart.chart_data.chart_data_workbook +worksheet_index = 0 + +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 1, 0, "North America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 2, 0, "Europe")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 3, 0, "Asia Pacific")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 4, 0, "Latin America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 5, 0, "Middle East")) + +series = chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 1, "Sales ($K)"), chart.type) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 1, 480)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 1, 365)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 1, 290)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 4, 1, 150)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 5, 1, 120)) +``` + + +![グラフ付きスライド](slide_1.png) + +### **テーブル付きスライドの追加** + +続いて、主要パフォーマンス指標をテーブル形式で提示するスライドを追加します。 +```py +layout_slide_2 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_2 = presentation.slides.add_empty_slide(layout_slide_2) + +column_widths = [200, 100] +row_heights = [40, 40, 40, 40, 40] + +table = slide_2.shapes.add_table(200, 200, column_widths, row_heights) +table.columns[0][0].text_frame.text = "Metric" +table.columns[1][0].text_frame.text = "Value" +table.columns[0][1].text_frame.text = "Total Revenue" +table.columns[1][1].text_frame.text = "$1.4M" +table.columns[0][2].text_frame.text = "Gross Margin" +table.columns[1][2].text_frame.text = "54%" +table.columns[0][3].text_frame.text = "New Customers" +table.columns[1][3].text_frame.text = "340" +table.columns[0][4].text_frame.text = "Customer Retention" +table.columns[1][4].text_frame.text = "87%" +``` + + +![テーブル付きスライド](slide_2.png) + +### **箇条書きのサマリースライドの追加** + +最後に、シンプルな箇条書きでサマリーとアクションプランを示すスライドを作成します。 +```py +def create_bullet_paragraph(text): + paragraph = slides.Paragraph() + paragraph.paragraph_format.bullet.type = slides.BulletType.SYMBOL + paragraph.paragraph_format.indent = 15 + paragraph.paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID + paragraph.paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.black + paragraph.text = text + return paragraph +``` + +```py +layout_slide_3 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_3 = presentation.slides.add_empty_slide(layout_slide_3) + +bullet_list = slide_3.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 50, 600, 200) +bullet_list.fill_format.fill_type = slides.FillType.NO_FILL +bullet_list.line_format.fill_format.fill_type = slides.FillType.NO_FILL + +bullet_list.text_frame.paragraphs.clear() +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Strong performance in North America; growth opportunity in Asia Pacific")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Improve marketing outreach in underperforming regions")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Prepare new campaign strategy for Q2")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Schedule follow-up review in early July")) +``` + + +![テキスト付きスライド](slide_3.png) + +### **プレゼンテーションの保存** + +最後に、プレゼンテーションをディスクに保存します: +```py +presentation.save("presentation.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **結論** + +Python アプリケーションにおける PowerPoint の自動生成は、時間の節約と手作業の削減という明確なメリットをもたらします。チャート、テーブル、テキストといった動的コンテンツを組み込むことで、ビジネスレポート、クライアント向けミーティング、教育資料など、あらゆるシーンで一貫したプロフェッショナルなプレゼンテーションを迅速に作成できます。 + +本稿では、タイトルスライド、グラフ、テーブルを含むプレゼンテーションをゼロから自動生成する手順を示しました。この手法は、データ駆動型プレゼンテーションが求められるさまざまなユースケースに応用可能です。 + +適切なツールを活用すれば、Python 開発者は PowerPoint 作成を効率的に自動化でき、生産性を向上させつつプレゼンテーション全体の一貫性を確保できます。 \ No newline at end of file diff --git a/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ja/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..10da81800b --- /dev/null +++ b/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Автоматизация создания PowerPoint на Android: создавайте динамические презентации легко" +linktitle: Автоматизация создания PowerPoint +type: docs +weight: 20 +url: /ru/androidjava/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- облачные платформы +- автоматизация создания PowerPoint +- программная генерация презентаций +- автоматизация PowerPoint +- динамическое создание слайдов +- автоматизированные бизнес-отчёты +- автоматизация PPT +- презентации для Android +- Java +- Aspose.Slides +description: "Автоматизируйте создание слайдов на облачных платформах с помощью Aspose.Slides для Android - быстро и надёжно генерируйте, редактируйте и конвертируйте файлы PowerPoint и OpenDocument." +--- + +## **Введение** + +Создание презентаций PowerPoint вручную может быть трудоёмкой и повторяющейся задачей, особенно когда контент основан на динамических данных, которые часто меняются. Будь то еженедельные бизнес‑отчёты, учебные материалы или готовые к использованию коммерческие презентации, автоматизация экономит бесчисленное количество часов и обеспечивает единообразие в командах. + +Для разработчиков Android автоматизация создания презентаций PowerPoint открывает мощные возможности. Вы можете интегрировать генерацию слайдов в веб‑порталы, desktop‑инструменты, бекенд‑службы или облачные платформы, динамически преобразуя данные в профессиональные бренд‑презентации — по запросу. + +В этой статье мы рассмотрим типичные сценарии использования автоматической генерации PowerPoint в Android‑приложениях (включая развертывание в облаке) и объясним, почему это становится обязательной функцией современных решений. От получения данных в реальном времени до преобразования текста или изображений в слайды — цель состоит в том, чтобы превратить сырой контент в структурированный визуальный формат, понятный аудитории сразу. + +## **Типичные сценарии автоматизации PowerPoint на Android** + +Автоматизация генерации PowerPoint особенно полезна в ситуациях, когда содержание презентации должно собираться динамически, персонализироваться или часто обновляться. Некоторые из самых распространённых реальных сценариев применения: + +- **Бизнес‑отчёты и панели** + Генерация сводок продаж, KPI или финансовых отчётов путём извлечения живых данных из баз данных или API. + +- **Персонализированные презентации продаж и маркетинга** + Автоматическое создание клиент‑ориентированных презентаций на основе данных CRM или форм, обеспечивая быструю отдачу и согласованность бренда. + +- **Образовательный контент** + Преобразование учебных материалов, викторин или резюме курсов в структурированные слайды для платформ e‑learning. + +- **Аналитика и инсайты на основе данных и ИИ** + Использование обработки естественного языка или аналитических движков для превращения сырых данных или длинных текстов в краткие презентации. + +- **Слайды с медиа‑контентом** + Сборка презентаций из загруженных изображений, аннотированных скриншотов или ключевых кадров видео с сопровождающими описаниями. + +- **Конвертация документов** + Автоматическое преобразование Word‑документов, PDF‑файлов или вводов из форм в визуальные презентации с минимальными ручными усилиями. + +- **Инструменты для разработчиков и технической документации** + Создание технических демонстраций, обзоров документации или журналов изменений в виде слайдов непосредственно из кода или markdown‑контента. + +Автоматизируя эти рабочие процессы, организации могут масштабировать создание контента, поддерживать его согласованность и освобождать время для более стратегических задач. + +## **Кодим** + +В этом примере мы выбрали **[Aspose.Slides for Android](https://products.aspose.com/slides/android-java/)** для демонстрации автоматизации PowerPoint благодаря обширному набору функций и простоте использования при программной работе с презентациями. + +В отличие от низкоуровневых библиотек, требующих от разработчиков прямой работы со структурой Open XML (что часто приводит к громоздкому и тяжело читаемому коду), Aspose.Slides предоставляет более высокий уровень API. Он абстрагирует сложность, позволяя сосредоточиться на логике презентации — например, макете, форматировании и привязке данных — не погружаясь в детали формата PowerPoint. + +Хотя Aspose.Slides — коммерческая библиотека, она предлагает [бесплатную пробную](https://releases.aspose.com/slides/androidjava/) версию, полностью способную выполнять примеры, приведённые в этой статье. Для демонстрации идей, тестирования функций или построения прототипа, как в нашем случае, пробная версия более чем достаточна. Это делает её удобным вариантом для экспериментов с автоматической генерацией PowerPoint без необходимости сразу приобретать лицензию. + +Итак, перейдём к построению примерной презентации на основе реального контента. + +### **Создание титульного слайда** + +Сначала создаём новую презентацию и добавляем титульный слайд с главным заголовком и подзаголовком. +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![The title slide](slide_0.png) + +### **Добавление слайда с диаграммой‑столбцом** + +Далее создаём слайд, показывающий региональные показатели продаж в виде диаграммы‑столбца. +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![The slide with the chart](slide_1.png) + +### **Добавление слайда с таблицей** + +Теперь добавляем слайд, представляющий ключевые показатели эффективности в табличном виде. +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![The slide with the table](slide_2.png) + +### **Добавление итогового слайда со списком маркеров** + +Наконец, включаем итог и план действий с помощью простого маркированного списка. +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![The slide with the text](slide_3.png) + +### **Сохранение презентации** + +В завершение сохраняем презентацию на диск: +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Заключение** + +Автоматизация генерации PowerPoint в Android‑приложениях явно экономит время и уменьшает ручные усилия. Интегрируя динамический контент, такой как диаграммы, таблицы и текст, разработчики быстро создают единообразные профессиональные презентации — идеальные для бизнес‑отчётов, встреч с клиентами или образовательных материалов. + +В этой статье мы продемонстрировали, как полностью автоматизировать создание презентации с нуля, включая добавление титульного слайда, диаграмм и таблиц. Этот подход применим к самым разным сценариям, где требуются автоматические, основанные на данных презентации. + +Используя подходящие инструменты, разработчики Android могут эффективно автоматизировать создание PowerPoint, повышая производительность и обеспечивая согласованность презентаций. \ No newline at end of file diff --git a/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ru/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..2ac33edf08 --- /dev/null +++ b/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Автоматизация создания PowerPoint в C++: легко создавать динамические презентации" +linktitle: Автоматизация создания PowerPoint +type: docs +weight: 20 +url: /ru/cpp/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- облачные платформы +- автоматизация создания PowerPoint +- программная генерация презентаций +- автоматизация PowerPoint +- динамическое создание слайдов +- автоматические бизнес‑отчёты +- автоматизация PPT +- презентация C++ +- C++ +- Aspose.Slides +description: "Автоматизируйте создание слайдов на облачных платформах с помощью Aspose.Slides для C++ — быстро и надёжно генерируйте, редактируйте и конвертируйте файлы PowerPoint и OpenDocument." +--- + +## **Введение** + +Создание презентаций PowerPoint вручную может быть трудоёмкой и повторяющейся задачей — особенно когда содержание основано на динамических данных, которые часто меняются. Будь то генерация еженедельных бизнес‑отчётов, сбор образовательных материалов или создание готовых к использованию клиентских презентаций, автоматизация может сэкономить бесчисленные часы и обеспечить согласованность в командах. + +Для разработчиков C++ автоматизация создания презентаций PowerPoint открывает мощные возможности. Вы можете интегрировать генерацию слайдов в веб‑порталы, настольные инструменты, серверные службы или облачные платформы, чтобы динамически преобразовывать данные в профессиональные, брендированные презентации по запросу. + +В этой статье мы рассмотрим типичные сценарии использования автоматической генерации PowerPoint в приложениях C++ (включая развертывание на облачных платформах) и почему это становится необходимой функцией современных решений. От извлечения оперативных бизнес‑данных до преобразования текста или изображений в слайды, цель — превратить сырой контент в структурированные визуальные форматы, которые аудитория может сразу понять. + +## **Типичные сценарии использования автоматизации PowerPoint в C++** + +Автоматизация генерации PowerPoint особенно полезна в сценариях, где содержимое презентации должно собираться динамически, персонализироваться или часто обновляться. Некоторые из самых распространённых практических сценариев включают: + +- **Бизнес‑отчёты и панели мониторинга** + Генерировать сводки продаж, KPI или отчёты о финансовой эффективности, извлекая живые данные из баз данных или API. + +- **Персонализированные презентации по продажам и маркетингу** + Автоматически создавать презентации, адаптированные под конкретного клиента, используя данные CRM или формы, обеспечивая быструю подготовку и согласованность бренда. + +- **Образовательный контент** + Преобразовывать учебные материалы, викторины или резюме курсов в структурированные наборы слайдов для платформ e‑learning. + +- **Аналитика с использованием данных и ИИ** + Использовать обработку естественного языка или аналитические движки для преобразования сырых данных или длинных текстов в краткие презентации. + +- **Слайды на основе медиа** + Собирать презентации из загруженных изображений, аннотированных скриншотов или ключевых кадров видео с сопроводительными описаниями. + +- **Конвертация документов** + Автоматически преобразовывать документы Word, PDF или вводимые формы в визуальные презентации с минимальными ручными усилиями. + +- **Инструменты для разработчиков и технические средства** + Создавать технические демо, обзоры документации или журналы изменений в виде слайдов напрямую из кода или содержимого markdown. + +Автоматизируя эти рабочие процессы, организации могут масштабировать создание контента, поддерживать согласованность и освобождать время для более стратегической работы. + +## **Напишем код** + +Для этого примера мы выбрали **[Aspose.Slides for C++](https://products.aspose.com/slides/cpp/)**, чтобы продемонстрировать автоматизацию PowerPoint благодаря его обширному набору функций и простоте использования при программной работе с презентациями. + +В отличие от низкоуровневых библиотек, требующих от разработчиков прямой работы со структурой Open XML (что часто приводит к громоздкому и менее читаемому коду), Aspose.Slides предоставляет API более высокого уровня. Он скрывает сложность, позволяя разработчикам сосредоточиться на логике презентации — такой как макет, форматирование и привязка данных — без необходимости детально разбираться в формате файлов PowerPoint. + +Хотя Aspose.Slides является коммерческой библиотекой, она предлагает [бесплатную trial‑версию](https://releases.aspose.com/slides/cpp/), полностью способную запускать примеры, приведённые в этой статье. Для демонстрации идей, тестирования функций или создания прототипа, как в данном случае, trial‑версия более чем достаточна. Это делает её удобным вариантом для экспериментов с автоматической генерацией PowerPoint без необходимости сразу приобретать лицензию. + +Итак, давайте пройдёмся по созданию примерной презентации с использованием реального контента. + +### **Создать титульный слайд** + +Мы начнём с создания новой презентации и добавления титульного слайда с главным заголовком и подзаголовком. +```cpp +auto presentation = MakeObject(); + +auto slide0 = presentation->get_Slide(0); + +auto layoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Title); +slide0->set_LayoutSlide(layoutSlide); + +auto titleShape = ExplicitCast(slide0->get_Shape(0)); +auto subtitleShape = ExplicitCast(slide0->get_Shape(1)); + +titleShape->get_TextFrame()->set_Text(u"Quarterly Business Review – Q1 2025"); +subtitleShape->get_TextFrame()->set_Text(u"Prepared for Executive Team"); +``` + + +![Титульный слайд](slide_0.png) + +### **Добавить слайд со столбчатой диаграммой** + +Затем мы создадим слайд, отображающий региональные показатели продаж в виде столбчатой диаграммы. +```cpp +auto layoutSlide1 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide1 = presentation->get_Slides()->AddEmptySlide(layoutSlide1); + +auto chart = slide1->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +chart->get_Legend()->set_Position(LegendPositionType::Bottom); +chart->set_HasTitle(true); +chart->get_ChartTitle()->AddTextFrameForOverriding(u"Data from January – March 2025"); +chart->get_ChartTitle()->set_Overlay(false); + +auto workbook = chart->get_ChartData()->get_ChartDataWorkbook(); +auto worksheetIndex = 0; + +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 1, 0, ObjectExt::Box(u"North America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 2, 0, ObjectExt::Box(u"Europe"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 3, 0, ObjectExt::Box(u"Asia Pacific"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 4, 0, ObjectExt::Box(u"Latin America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 5, 0, ObjectExt::Box(u"Middle East"))); + +auto series = chart->get_ChartData()->get_Series()->Add(workbook->GetCell(worksheetIndex, 0, 1, ObjectExt::Box(u"Sales ($K)")), chart->get_Type()); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 1, 1, ObjectExt::Box(480))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 2, 1, ObjectExt::Box(365))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 3, 1, ObjectExt::Box(290))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 4, 1, ObjectExt::Box(150))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 5, 1, ObjectExt::Box(120))); +``` + + +![Слайд с диаграммой](slide_1.png) + +### **Добавить слайд с таблицей** + +Теперь мы добавим слайд, представляющий ключевые показатели эффективности в виде таблицы. +```cpp +auto layoutSlide2 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide2 = presentation->get_Slides()->AddEmptySlide(layoutSlide2); + +auto columnWidths = MakeArray({ 200, 100 }); +auto rowHeights = MakeArray({ 40, 40, 40, 40, 40 }); + +auto table = slide2->get_Shapes()->AddTable(200, 200, columnWidths, rowHeights); +table->get_Column(0)->idx_get(0)->get_TextFrame()->set_Text(u"Metric"); +table->get_Column(1)->idx_get(0)->get_TextFrame()->set_Text(u"Value"); +table->get_Column(0)->idx_get(1)->get_TextFrame()->set_Text(u"Total Revenue"); +table->get_Column(1)->idx_get(1)->get_TextFrame()->set_Text(u"$1.4M"); +table->get_Column(0)->idx_get(2)->get_TextFrame()->set_Text(u"Gross Margin"); +table->get_Column(1)->idx_get(2)->get_TextFrame()->set_Text(u"54%"); +table->get_Column(0)->idx_get(3)->get_TextFrame()->set_Text(u"New Customers"); +table->get_Column(1)->idx_get(3)->get_TextFrame()->set_Text(u"340"); +table->get_Column(0)->idx_get(4)->get_TextFrame()->set_Text(u"Customer Retention"); +table->get_Column(1)->idx_get(4)->get_TextFrame()->set_Text(u"87%"); +``` + + +![Слайд с таблицей](slide_2.png) + +### **Добавить итоговый слайд с маркированным списком** + +Наконец, мы включим итог и план действий, используя простой маркированный список. +```cpp +static SharedPtr CreateBulletParagraph(String text) { + auto paragraph = MakeObject(); + paragraph->get_ParagraphFormat()->get_Bullet()->set_Type(BulletType::Symbol); + paragraph->get_ParagraphFormat()->set_Indent(15); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->set_FillType(FillType::Solid); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Black()); + paragraph->set_Text(text); + return paragraph; +} +``` + +```cpp +auto layoutSlide3 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide3 = presentation->get_Slides()->AddEmptySlide(layoutSlide3); + +auto bulletList = slide3->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +bulletList->get_FillFormat()->set_FillType(FillType::NoFill); +bulletList->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill); + +bulletList->get_TextFrame()->get_Paragraphs()->Clear(); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Improve marketing outreach in underperforming regions")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Prepare new campaign strategy for Q2")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Schedule follow-up review in early July")); +``` + + +![Слайд с текстом](slide_3.png) + +### **Сохранить презентацию** + +Наконец, сохраняем презентацию на диск: +```java +presentation->Save(u"presentation.pptx", SaveFormat::Pptx); +``` + + +## **Заключение** + +Автоматизация генерации PowerPoint в приложениях C++ даёт явные преимущества в экономии времени и снижении ручных усилий. Интегрируя динамический контент, такой как диаграммы, таблицы и текст, разработчики могут быстро создавать согласованные, профессиональные презентации — идеально подходящие для бизнес‑отчётов, встреч с клиентами или образовательного контента. + +В этой статье мы продемонстрировали, как автоматизировать создание презентации с нуля, включая добавление титульного слайда, диаграмм и таблиц. Такой подход можно применить в различных сценариях, где требуются автоматические презентации, основанные на данных. + +Используя подходящие инструменты, разработчики C++ могут эффективно автоматизировать создание PowerPoint, повышая продуктивность и обеспечивая согласованность презентаций. \ No newline at end of file diff --git a/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ru/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..67d103f97d --- /dev/null +++ b/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Автоматизация создания PowerPoint в Java: легко создавайте динамические презентации" +linktitle: "Автоматизация создания PowerPoint" +type: docs +weight: 20 +url: /ru/java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- облачные платформы +- автоматизировать создание PowerPoint +- программно генерировать презентации +- автоматизация PowerPoint +- динамическое создание слайдов +- автоматизированные бизнес-отчёты +- автоматизация PPT +- презентация Java +- Java +- Aspose.Slides +description: "Автоматизируйте создание слайдов на облачных платформах с помощью Aspose.Slides for Java — быстро и надёжно генерируйте, редактируйте и конвертируйте файлы PowerPoint и OpenDocument." +--- + +## **Введение** + +Создание презентаций PowerPoint вручную может быть трудоёмкой и повторяющейся задачей — особенно когда содержание основано на динамических данных, которые часто меняются. Будь то генерация еженедельных бизнес‑отчётов, сбор образовательных материалов или подготовка готовых к использованию клиентских презентаций, автоматизация может сэкономить бесчисленное количество часов и обеспечить согласованность в командах. + +Для Java‑разработчиков автоматизация создания презентаций PowerPoint открывает мощные возможности. Вы можете внедрять генерацию слайдов в веб‑порталы, настольные инструменты, серверные службы или облачные платформы, чтобы динамически преобразовывать данные в профессиональные фирменные презентации — по запросу. + +В этой статье мы рассмотрим типичные сценарии использования автоматизированного создания PowerPoint в Java‑приложениях (включая развертывание в облачных платформах) и объясним, почему эта функция становится необходимой в современных решениях. От извлечения данных в реальном времени до преобразования текста или изображений в слайды — цель состоит в том, чтобы превратить необработанное содержание в структурированные визуальные форматы, которые аудитория поймёт мгновенно. + +## **Общие сценарии использования автоматизации PowerPoint в Java** + +Автоматизация создания PowerPoint особенно полезна в ситуациях, когда содержание презентаций должно формироваться динамически, персонализироваться или часто обновляться. Наиболее распространённые реальные сценарии включают: + +- **Бизнес‑отчёты и панели мониторинга** + Генерация сводок продаж, ключевых показателей или финансовых отчётов путём извлечения живых данных из баз данных или API. + +- **Персонализированные презентации по продажам и маркетингу** + Автоматическое создание клиент‑ориентированных презентаций с использованием данных CRM или форм, обеспечивая быструю подготовку и согласованность бренда. + +- **Образовательный контент** + Преобразование учебных материалов, викторин или резюме курсов в структурированные наборы слайдов для платформ электронного обучения. + +- **Аналитика и инсайты на базе ИИ** + Использование обработки естественного языка или аналитических движков для преобразования сырьевых данных или объёмного текста в свернутые презентации. + +- **Слайды на основе медиа** + Сбор презентаций из загруженных изображений, аннотированных скриншотов или ключевых кадров видео с сопроводительными описаниями. + +- **Конвертация документов** + Автоматическое преобразование Word‑документов, PDF‑файлов или вводимых форм в визуальные презентации с минимальными усилиями. + +- **Инструменты для разработчиков и технической документации** + Создание технических демо, обзоров документации или журналов изменений в виде слайдов непосредственно из кода или markdown‑контента. + +Автоматизируя эти рабочие процессы, организации могут масштабировать создание контента, поддерживать единообразие и освобождать время для более стратегических задач. + +## **Кодируем** + +Для примера мы выбрали **[Aspose.Slides для Java](https://products.aspose.com/slides/java/)**, чтобы продемонстрировать автоматизацию PowerPoint благодаря его широкому набору функций и простоте использования при программной работе с презентациями. + +В отличие от низкоуровневых библиотек, требующих от разработчиков прямого взаимодействия со структурой Open XML (что часто приводит к громоздкому и трудночитаемому коду), Aspose.Slides предоставляет более высокий уровень API. Он скрывает сложность, позволяя сосредоточиться на логике презентации — такой как макет, форматирование и привязка данных — без необходимости глубокого понимания формата файлов PowerPoint. + +Хотя Aspose.Slides является коммерческой библиотекой, она предлагает [бесплатную пробную версию](https://releases.aspose.com/slides/java/), полностью способную выполнить примеры, приведённые в этой статье. Для целей демонстрации идей, тестирования функций или создания прототипа, подобного рассматриваемому здесь, пробная версия более чем достаточна. Это делает её удобным вариантом для экспериментов с автоматическим созданием PowerPoint без необходимости сразу приобретать лицензию. + +Хорошо, давайте пройдёмся по созданию образцовой презентации с использованием реальных данных. + +### **Создать титульный слайд** + +Мы начнём с создания новой презентации и добавления титульного слайда с главным заголовком и подзаголовком. +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![Титульный слайд](slide_0.png) + +### **Добавить слайд со столбчатой диаграммой** + +Далее мы создадим слайд, показывающий региональные показатели продаж в виде столбчатой диаграммы. +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![Слайд с диаграммой](slide_1.png) + +### **Добавить слайд с таблицей** + +Теперь добавим слайд, представляющий ключевые показатели эффективности в виде таблицы. +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![Слайд с таблицей](slide_2.png) + +### **Добавить итоговый слайд с маркерами** + +Наконец, включим резюме и план действий, используя простой маркированный список. +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![Слайд с текстом](slide_3.png) + +### **Сохранить презентацию** + +В конце мы сохраняем презентацию на диск: +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Заключение** + +Автоматизация создания PowerPoint в Java‑приложениях приносит очевидные выгоды: экономию времени и снижение ручных усилий. Интегрируя динамический контент, такой как диаграммы, таблицы и текст, разработчики могут быстро генерировать согласованные, профессиональные презентации — идеальные для бизнес‑отчётов, встреч с клиентами или учебных материалов. + +В этой статье мы продемонстрировали, как автоматизировать процесс создания презентации с нуля, включая добавление титульного слайда, диаграмм и таблиц. Такой подход применим к широкому спектру сценариев, где требуются автоматические, ориентированные на данные презентации. + +Используя подходящие инструменты, Java‑разработчики могут эффективно автоматизировать создание PowerPoint, повышая продуктивность и обеспечивая единообразие презентаций. \ No newline at end of file diff --git a/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ru/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ru/net/developer-guide/3d-presentation/_index.md b/ru/net/developer-guide/3d-presentation/_index.md index c486cd87df..090b26ae69 100644 --- a/ru/net/developer-guide/3d-presentation/_index.md +++ b/ru/net/developer-guide/3d-presentation/_index.md @@ -1,189 +1,239 @@ --- -title: 3D Презентация +title: 3D‑презентация type: docs weight: 232 url: /ru/net/3d-presentation/ -keywords: "3D, 3D PowerPoint, 3D презентация, 3D вращение, 3D глубина, 3D экструзия, 3D градиент, 3D текст, презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "3D презентация PowerPoint на C# или .NET" +keywords: +- 3D +- 3D PowerPoint +- 3D‑презентация +- 3D‑поворот +- 3D‑глубина +- 3D‑выдавливание +- 3D‑градиент +- 3D‑текст +- Презентация PowerPoint +- C# +- CSharp +- Aspose.Slides для .NET +description: "3D‑презентация PowerPoint на C# или .NET" --- +## **Обзор** +Как обычно вы создаёте 3D‑презентацию в PowerPoint? +Microsoft PowerPoint позволяет создавать 3D‑презентации, добавлять 3D‑модели, применять 3D‑эффекты к объектам, +создавать 3D‑текст, загружать 3D‑графику в презентацию, создавать 3D‑анимацию в PowerPoint. -## Обзор -Как вы обычно создаете 3D презентацию PowerPoint? -Microsoft PowerPoint позволяет создавать 3D презентации, добавляя туда 3D модели, применяя 3D эффекты к фигурам, -создавая 3D текст, загружая 3D графику в презентацию, создавая 3D анимации PowerPoint. +Создание 3D‑эффектов оказывает сильное влияние на улучшение вашей презентации, превращая её в 3D‑презентацию, и может быть самым простым способом реализации 3D‑презентации. +Начиная с версии Aspose.Slides 20.9 добавлен новый **кроссплатформенный 3D‑движок**. Новый 3D‑движок позволяет +экспортировать и растрировать объекты и текст с 3D‑эффектами. В предыдущих версиях +объекты Slides с применёнными 3D‑эффектами отображались плоско. Теперь же возможно +отображать объекты с **полноценным 3D**. +Более того, теперь можно создавать объекты с 3D‑эффектами через публичный API Slides. -Создание 3D эффектов значительно улучшает вашу презентацию, превращая ее в 3D презентацию, и это может быть самым простым способом реализации 3D презентации. -С версии Aspose.Slides 20.9 добавлен новый **кросс-платформенный 3D движок**. Новый 3D движок позволяет -экспортировать и растрировать фигуры и текст с 3D эффектами. В предыдущих версиях фигуры с примененными 3D эффектами отображались плоско. Но теперь стало возможным -отображать фигуры с **полноценным 3D**. -Кроме того, теперь можно создавать фигуры с 3D эффектами через публичный API Slides. - -В API Aspose.Slides, чтобы сделать -фигуру 3D фигурой PowerPoint, используйте свойство [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat), -которое наследует функции интерфейса [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat): +В API Aspose.Slides, чтобы превратить объект в 3D‑объект PowerPoint, используйте свойство [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat), +которое наследует возможности интерфейса [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat): - [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) -и [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop): задайте фаску для фигуры, определите тип фаски (например, Угол, Круг, Мягкий Круг), определите высоту и ширину фаски. -- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): используется для имитации движения камеры вокруг объекта. Другими словами, задавая вращение камеры, зум и другие параметры - вы можете взаимодействовать со своими -фигурами как с 3D моделью в PowerPoint. -- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) -и [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth): задайте параметры контура, чтобы фигура выглядела как 3D фигура PowerPoint. +and [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop): задать фаску объекту, определить тип фаски (например, Angle, Circle, SoftRound), высоту и ширину фаски. +- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): используется для имитации движений камеры вокруг объекта. Иными словами, задавая вращение, масштаб и другие свойства, вы можете управлять объектами как 3D‑моделью в PowerPoint. +- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) +and [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth): задают свойства контура, чтобы объект выглядел как 3D‑объект PowerPoint. - [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth), [ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) -и [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight): используются для придания фигуре трехмерности, что означает преобразование 2D фигуры в 3D фигуру, -путем задания ее глубины или экструзии. -- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig): может создать световой эффект для 3D фигуры. Логика этого свойства схожа с Camera, вы можете задать вращение света -относительно 3D фигуры и выбрать тип света. -- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material): настройка типа материала 3D фигуры может добавить более живой эффект. Свойство предоставляет набор предустановленных материалов, таких как: -Металл, Пластик, Порошок, Матовая поверхность и т.д. - -Все 3D функции могут быть применены как к фигурам, так и к тексту. Давайте посмотрим, как получить доступ к свойствам, упомянутым выше, а затем рассмотрим их подробно шаг за шагом: +and [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight): используются для придания объекту трёхмерности, то есть преобразования 2D‑объекта в 3D‑объект, задавая его глубину или экструдируя его. +- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig): может создавать световой эффект на 3D‑объекте. Логика этого свойства схожа с Camera, можно задать вращение света относительно 3D‑объекта и выбрать тип света. +- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material): установка типа материала 3D‑объекта может придать ему более живой вид. Свойство предоставляет набор предопределённых материалов, таких как: Metal, Plastic, Powder, Matte и др. + +Все 3D‑возможности могут быть применены как к объектам, так и к тексту. Давайте посмотрим, как получить доступ к упомянутым выше свойствам, а затем подробно рассмотрим их шаг за шагом: ``` csharp -using (Presentation pres = new Presentation()) +const float imageScale = 2; + +using (Presentation presentation = new Presentation()) { - IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); + ISlide slide = presentation.Slides[0]; + + IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.TextFrame.Text = "3D"; shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 64; - + shape.ThreeDFormat.Camera.CameraType = CameraPresetType.OrthographicFront; shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); shape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Flat; shape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; - shape.ThreeDFormat.Material = MaterialPresetType.Flat; + shape.ThreeDFormat.Material = MaterialPresetType.Flat; shape.ThreeDFormat.ExtrusionHeight = 100; shape.ThreeDFormat.ExtrusionColor.Color = Color.Blue; - - pres.Slides[0].GetThumbnail(2, 2).Save("sample_3d.png"); - pres.Save("sandbox_3d.pptx", SaveFormat.Pptx); + + using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) + { + thumbnail.Save("sample_3d.png"); + } + + presentation.Save("sandbox_3d.pptx", SaveFormat.Pptx); } ``` -Созданный мини-просмотр выглядит так: + +Сгенерированная миниатюра выглядит следующим образом: ![todo:image_alt_text](img_01_01.png) -## 3D Вращение -Возможно вращать 3D фигуры PowerPoint в 3D плоскости, что делает их более интерактивными. Чтобы вращать 3D фигуру в PowerPoint, вы обычно используете следующее меню: +## **3D‑поворот** +Можно вращать 3D‑объекты PowerPoint в 3D‑пространстве, что повышает интерактивность. Чтобы повернуть 3D‑объект в PowerPoint, обычно используется следующее меню: ![todo:image_alt_text](img_02_01.png) -В API Aspose.Slides вращение 3D фигуры может управляться с помощью свойства [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): - +В API Aspose.Slides вращение 3D‑объекта можно управлять с помощью свойства [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera): ``` csharp -IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); +IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); -// ... установить другие параметры 3D сцены -pres.Slides[0].GetThumbnail(2, 2).Save("sample_3d.png"); +// ... задать другие параметры 3D сцены + +using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) +{ + thumbnail.Save("sample_3d.png"); +} ``` -## 3D Глубина и Экструзия -Чтобы придать третье измерение вашей фигуре и сделать ее 3D фигурой, используйте свойства [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) -и [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor): +## **3D‑глубина и экструзия** +Чтобы добавить третье измерение вашему объекту и превратить его в 3D‑объект, используйте свойства [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) +and [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor): ``` csharp -IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); +IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); shape.ThreeDFormat.ExtrusionHeight = 100; shape.ThreeDFormat.ExtrusionColor.Color = Color.Purple; -// ... установить другие параметры 3D сцены -pres.Slides[0].GetThumbnail(2, 2).Save("sample_3d.png"); +// ... задать другие параметры 3D сцены + +using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) +{ + thumbnail.Save("sample_3d.png"); +} ``` -Обычно вы используете меню Глубина в PowerPoint, чтобы задать Глубину для 3D фигуры PowerPoint: -![todo:image_alt_text](img_02_02.png) +Обычно в PowerPoint используется меню Depth для установки глубины 3D‑объекта PowerPoint: +![todo:image_alt_text](img_02_02.png) -## 3D Градиент -Градиент может использоваться для заливки цвета 3D фигуры PowerPoint. Давайте создадим фигуру с градиентной заливкой и применим к ней 3D эффект: +## **3D‑градиент** +Градиент можно использовать для заполнения цвета 3D‑объекта PowerPoint. Давайте создадим объект с заливкой градиентом и применим к нему 3D‑эффект: ``` csharp -using (Presentation pres = new Presentation()) +const float imageScale = 2; + +using (Presentation presentation = new Presentation()) { - IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); - shape.TextFrame.Text = "3D Градиент"; + ISlide slide = presentation.Slides[0]; + + IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); + shape.TextFrame.Text = "3D Gradient"; shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 64; shape.FillFormat.FillType = FillType.Gradient; shape.FillFormat.GradientFormat.GradientStops.Add(0, Color.Blue); shape.FillFormat.GradientFormat.GradientStops.Add(100, Color.Orange); - + shape.ThreeDFormat.Camera.CameraType = CameraPresetType.OrthographicFront; shape.ThreeDFormat.Camera.SetRotation(10, 20, 30); shape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Flat; shape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; shape.ThreeDFormat.ExtrusionHeight = 150; shape.ThreeDFormat.ExtrusionColor.Color = Color.DarkOrange; - - pres.Slides[0].GetThumbnail(2, 2).Save("sample_3d.png"); + + using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) + { + thumbnail.Save("sample_3d.png"); + } } ``` -А вот и результат: + +И вот результат: ![todo:image_alt_text](img_02_03.png) -Кроме градиентной заливки, возможно заполнить фигуры изображением: +Помимо градиентной заливки, можно заполнить объект изображением: ``` csharp +byte[] imageData = File.ReadAllBytes("image.jpg"); +IPPImage image = presentation.Images.AddImage(imageData); + shape.FillFormat.FillType = FillType.Picture; -shape.FillFormat.PictureFillFormat.Picture.Image = pres.Images.AddImage(File.ReadAllBytes("image.jpg")); +shape.FillFormat.PictureFillFormat.Picture.Image = image; shape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; -// .. настройка 3D: shape.ThreeDFormat.Camera, shape.ThreeDFormat.LightRig, shape.ThreeDFormat.Extrusion* свойства -pres.Slides[0].GetThumbnail(2, 2).Save("sample_3d.png"); +// ... настройка 3D: shape.ThreeDFormat.Camera, shape.ThreeDFormat.LightRig, shape.ThreeDFormat.Extrusion* properties + +using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) +{ + thumbnail.Save("sample_3d.png"); +} ``` -Вот как это выглядит: +Так это выглядит: ![todo:image_alt_text](img_02_04.png) -## 3D Текст (WordArt) -Aspose.Slides также позволяет применять 3D эффекты к тексту. Для создания 3D текста можно использовать эффект трансформации WordArt: - +## **3D‑текст (WordArt)** +Aspose.Slides также позволяет применять 3D к тексту. Для создания 3D‑текста можно использовать трансформирующий эффект WordArt: ``` csharp -using (Presentation pres = new Presentation()) +const float imageScale = 2; + +using (Presentation presentation = new Presentation()) { - IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); + ISlide slide = presentation.Slides[0]; + + IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); shape.FillFormat.FillType = FillType.NoFill; shape.LineFormat.FillFormat.FillType = FillType.NoFill; - shape.TextFrame.Text = "3D Текст"; - + shape.TextFrame.Text = "3D Text"; + Portion portion = (Portion)shape.TextFrame.Paragraphs[0].Portions[0]; portion.PortionFormat.FillFormat.FillType = FillType.Pattern; portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.LargeGrid; - + shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 128; - - ITextFrame textFrame = shape.TextFrame; - // настройка эффекта трансформации WordArt "Арка вверх" - textFrame.TextFrameFormat.Transform = TextShapeType.ArchUp; - - textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight = 3.5f; - textFrame.TextFrameFormat.ThreeDFormat.Depth = 3; - textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; - textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; - textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; - textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); - - textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; - - pres.Slides[0].GetThumbnail(2, 2).Save("text3d.png"); - pres.Save("text3d.pptx", SaveFormat.Pptx); + + ITextFrameFormat textFrameFormat = shape.TextFrame.TextFrameFormat; + // установить трансформ-эффект WordArt "Arch Up" + textFrameFormat.Transform = TextShapeType.ArchUp; + + textFrameFormat.ThreeDFormat.ExtrusionHeight = 3.5f; + textFrameFormat.ThreeDFormat.Depth = 3; + textFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; + textFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + textFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + textFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); + + textFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + + using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) + { + thumbnail.Save("text3d.png"); + } + + presentation.Save("text3d.pptx", SaveFormat.Pptx); } ``` -Вот такой результат: + +Вот результат: ![todo:image_alt_text](img_02_05.png) +## **FAQ** + +**Сохранятся ли 3D‑эффекты при экспорте презентации в изображения/PDF/HTML?** + +Да. 3D‑движок Slides рендерит 3D‑эффекты при экспорте в поддерживаемые форматы ([изображения](/slides/ru/net/convert-powerpoint-to-png/), [PDF](/slides/ru/net/convert-powerpoint-to-pdf/), [HTML](/slides/ru/net/convert-powerpoint-to-html/), и др.). + +**Могу ли я получить «эффективные» (окончательные) значения параметров 3D, учитывающие темы, наследование и т.д.?** + +Да. Slides предоставляет API для [чтения эффективных значений](/slides/ru/net/shape-effective-properties/) (включая 3D‑параметры — освещение, фаски и т.п.), что позволяет увидеть окончательные применённые настройки. -## Не Поддерживается - В ближайшее время -Следующие функции 3D PowerPoint пока не поддерживаются: -- Фаска -- Материал -- Контур -- Освещение +**Работают ли 3D‑эффекты при преобразовании презентации в видео?** -Мы продолжаем улучшать наш 3D движок, и эти функции находятся в процессе дальнейшей реализации. \ No newline at end of file +Да. При [создании кадров для видео](/slides/ru/net/convert-powerpoint-to-video/) 3D‑эффекты рендерятся так же, как и при [экспорте изображений](/slides/ru/net/convert-powerpoint-to-png/). \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/_index.md index 229633f33c..7258608337 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -1,5 +1,5 @@ --- -title: Конвертация презентации +title: Конвертировать презентацию type: docs weight: 70 url: /ru/net/convert-presentation/ @@ -8,36 +8,66 @@ url: /ru/net/convert-presentation/ ## **Конвертация PPT в PPTX** ### **О конвертации PPT в PPTX** Aspose.Slides теперь поддерживает конвертацию PPT в PPTX. -### **Конвертация PPT в PPTX с помощью Aspose.Slides** -Aspose.Slides для .NET частично поддерживает конвертацию презентаций формата PPT в презентации формата PPTX. Поскольку поддержка данной функции конвертации презентаций была введена в Aspose.Slides для .NET, на данный момент она обладает ограниченными возможностями и работает только для простых форм презентаций. Основное преимущество, которое предоставляет библиотека API Aspose.Slides для .NET для конвертации презентаций PPT в формат PPTX, — это простота использования API для достижения желаемой цели. Пожалуйста, перейдите по [ссылке](/slides/ru/net/convert-presentation/) в раздел сниппетов кода для получения дополнительной информации. Следующий раздел четко иллюстрирует, какие функции поддерживаются, а какие нет при конвертации презентаций формата PPT в формат PPTX. +### **Конвертация PPT в PPTX с Aspose.Slides** +Aspose.Slides for .NET предоставляет частичную поддержку конвертации презентаций в формате PPT в презентации в формате PPTX. Поскольку поддержка указанной функции конвертации презентаций только что была внедрена в Aspose.Slides for .NET, в данный момент она имеет ограниченные возможности и работает только с простыми формами презентаций. Основное преимущество, которое библиотека API Aspose.Slides for .NET предоставляет для конвертации презентаций PPT в формат PPTX, — простота использования API для достижения желаемой цели. Пожалуйста, перейдите к этой [link](/slides/ru/net/convert-presentation/) в раздел примеров кода для получения дополнительных сведений. Следующий раздел ясно показывает, какие функции поддерживаются, а какие нет при конвертации презентаций PPT в презентации PPTX. {{% alert color="primary" %}} -Читать далее [**Как конвертировать PPT в PPTX**](/slides/ru/net/convert-ppt-to-pptx/). +Подробнее [**Как конвертировать PPT в PPTX**](/slides/ru/net/convert-ppt-to-pptx/). {{% /alert %}} -## **Конвертация презентации в PDF** -### **Об PDF** -[Portable Document Format](https://en.wikipedia.org/wiki/PDF) (PDF) — это формат файла, который был создан компании Adobe для обмена документами между различными организациями. Цель этого формата заключается в том, чтобы содержимое документов можно было представить таким образом, чтобы их визуальное отображение не зависело от платформы, на которой они просматриваются. -### **PDF в Aspose.Slides для .NET** -[PDF](https://docs.fileformat.com/pdf/) — это формат файла, который был создан компанией Adobe для обмена документами между различными организациями. Цель этого формата — сделать так, чтобы визуальное отображение содержимого документа не зависело от платформы, на которой оно просматривается. +## **Конвертация презентаций в PDF** +### **О PDF** +[Portable Document Format](https://en.wikipedia.org/wiki/PDF) — это файловый формат, созданный компанией Adobe System для обмена документами между различными организациями. Цель этого формата — обеспечить возможность представления содержимого документов так, чтобы их визуальное отображение не зависело от платформы, на которой они просматриваются. +### **PDF в Aspose.Slides for .NET** +[PDF](https://docs.fileformat.com/pdf/) — это файловый формат, созданный компанией Adobe System для обмена документами между различными организациями. Цель этого формата — обеспечить возможность того, чтобы визуальное отображение содержимого документа не зависело от платформы, на которой он просматривается. -Любой документ-презентация, который можно загрузить в Aspose.Slides для .NET, может быть конвертирован в документ PDF. Вы можете экспортировать документы презентаций в PDF напрямую, используя только компонент Aspose.Slides для .NET. Вам не нужно никаких других сторонних библиотек или компонентов Aspose.PDF для этой цели. +Любой документ презентации, который можно загрузить в Aspose.Slides for .NET, может быть конвертирован в документ PDF. Вы можете экспортировать документы презентаций в PDF напрямую, используя только компонент Aspose.Slides for .NET. Для этой цели не требуются сторонние библиотеки или компонент Aspose.PDF. {{% alert color="primary" %}} -Читать далее [**Как конвертировать презентацию в PDF**](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-pdf/). +Подробнее [**Как конвертировать презентацию в PDF**](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-pdf/). {{% /alert %}} -## **Конвертация презентации в XPS** -### **Об XPS** -[XML Parser Specification](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) (XPS) — это язык описания страницы и фиксированный формат документа, первоначально разработанный Microsoft. Как и PDF, XPS — это формат документа с фиксированной компоновкой, предназначенный для сохранения точности документа и обеспечения не зависящего от устройства внешнего вида документа. -### **Конвертация презентации в XPS с помощью Aspose.Slides** -Любой документ-презентация, который можно загрузить в Aspose.Slides для .NET, может быть конвертирован в формат XPS. Aspose.Slides для .NET использует высококачественный макет страницы и движок рендеринга для получения результата в фиксированном формате документа XPS. Стоит упомянуть, что Aspose.Slides для .NET напрямую генерирует XPS, не полагаясь на классы Windows Presentation Foundation (WPF), которые поставляются с .NET Framework 3.5, что позволяет Aspose.Slides для .NET генерировать документы XPS на машинах, работающих на версиях .NET Framework ниже 3.5. Вы можете узнать о экспорте документов презентаций в документы XPS с помощью Aspose.Slides для .NET в [этом разделе](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). +## **Конвертация презентаций в XPS** +### **О XPS** +[XML Parser Specification](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) — это язык описания страниц и формат фиксированных документов, изначально разработанный компанией Microsoft. Как и PDF, XPS является форматом фиксированного макета, предназначенным для сохранения точности документа и обеспечения независимости отображения от устройства. +### **Конвертация презентаций в XPS с Aspose.Slides** +Любой документ презентации, который можно загрузить с помощью Aspose.Slides for .NET, может быть конвертирован в формат XPS. Aspose.Slides for .NET использует высокоточный движок раскладки страниц и рендеринга для создания вывода в фиксированном формате XPS. Стоит отметить, что Aspose.Slides for .NET напрямую генерирует XPS без зависимости от классов Windows Presentation Foundation (WPF), включённых в .NET Framework 3.5, что позволяет Aspose.Slides for .NET создавать документы XPS на машинах с версиями .NET Framework старше 3.5. Вы можете узнать о экспортировании документов презентаций в документы XPS через Aspose.Slides for .NET в [this topic](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). {{% alert color="primary" %}} -Читать далее [**Как конвертировать презентацию в XPS**](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) +Подробнее [**Как конвертировать презентацию в XPS**](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/). {{% /alert %}} -## **Конвертация презентации в TIFF** +## **Конвертация презентаций в TIFF** ### **О TIFF** -[Tagged Image File Format](https://en.wikipedia.org/wiki/TIFF) (TIFF), который известен тем, что позволяет хранить несколько изображений в одном документе, изначально был создан компанией Aldus. Этот формат широко поддерживается приложениями для сканирования, факсимильной связи и другими приложениями для обработки изображений. -### **Конвертация презентации в TIFF с помощью Aspose.Slides** -Любой документ, который можно загрузить в Aspose.Slide для .NET, также может быть напрямую конвертирован в документ TIFF с помощью Aspose.Slides для .NET, что устраняет необходимость в сторонних компонентах. Более того, вы можете по желанию задать размеры изображений в итоговом документе TIFF. Вы можете найти информацию о экспорте документов презентаций в документы TIFF с помощью Aspose.Slides для .NET в [этом разделе](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-tiff/). +[Tagged Image File Format](https://en.wikipedia.org/wiki/TIFF) — известный формат для хранения нескольких изображений в одном документе, изначально созданный компанией Aldus. Этот формат широко поддерживается сканирующими, факсимильными и другими приложениями для обработки изображений. +### **Конвертация презентаций в TIFF с Aspose.Slides** +Любой документ, который можно загрузить в Aspose.Slides for .NET, также может быть напрямую конвертирован в документ TIFF, устраняя необходимость в сторонних компонентах. Кроме того, вы можете при желании задать размер изображений в результирующем документе TIFF. Информацию об экспортировании документов презентаций в документы TIFF через Aspose.Slides for .NET можно найти в [this topic](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-tiff/). {{% alert color="primary" %}} -Читать далее [**Как конвертировать презентацию в TIFF**](/slides/ru/net/convert-powerpoint-to-tiff/) -{{% /alert %}} \ No newline at end of file +Подробнее [**Как конвертировать презентацию в TIFF**](/slides/ru/net/convert-powerpoint-to-tiff/). +{{% /alert %}} + +## **FAQ** + +**Можно ли включать скрытые слайды при экспорте в PDF/XPS?** + +Да. Экспорт поддерживает включение скрытых слайдов через соответствующую опцию в настройках [PDF](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/)/[XPS](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/) . + +**Поддерживается ли сохранение в формате PDF/A (для архивного хранения)?** + +Да, уровни соответствия PDF/A [доступны](https://reference.aspose.com/slides/net/aspose.slides.export/pdfcompliance/) (включая A-2a/A-2b/A-2u и A-3a/A-3b) при экспорте. + +**Что происходит со шрифтами при конвертации: они встраиваются или заменяются?** + +Есть гибкие варианты: вы можете [встроить все глифы или только используемые подмножества](/slides/ru/net/embedded-font/), указать [резервный шрифт](/slides/ru/net/fallback-font/), и [управлять поведением](/slides/ru/net/font-substitution/) при отсутствии определённых стилей у шрифта. + +**Как контролировать качество и размер получаемого PDF?** + +Доступны параметры для [качества JPEG](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/jpegquality/), [сжатия текста](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/textcompression/), а также порог [достаточного разрешения](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/sufficientresolution/) изображений, плюс режим, выбирающий [наилучшее сжатие для картинок](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/bestimagescompressionratio/) . + +**Можно ли экспортировать только диапазон слайдов (например, 5–12)?** + +Да, экспорт поддерживает выбор подмножества слайдов. + +**Поддерживается ли многопоточная обработка нескольких файлов одновременно?** + +Допустимо обрабатывать разные презентации параллельно в отдельных процессах. Важно: один и тот же объект [презентации](https://reference.aspose.com/slides/net/aspose.slides/presentation/) не должен быть загружен или сохранён из [нескольких потоков](/slides/ru/net/multithreading/) . + +**Есть ли риски при применении лицензии из разных потоков?** + +Да, вызовы установки лицензии [license-setting](/slides/ru/net/licensing/) не являются потокобезопасными и требуют синхронизации. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md index 2ccb77dedd..184bf39fef 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md @@ -1,49 +1,85 @@ --- -title: Конвертация OpenOffice ODP +title: Конвертировать презентации OpenDocument (ODP) на C# +linktitle: Конвертировать OpenDocument type: docs weight: 10 url: /ru/net/convert-openoffice-odp/ -keywords: "Конвертация ODP в PDF, ODP в PPT, ODP в PPTX, ODP в XPS, ODP в HTML, ODP в TIFF" -description: "Конвертация ODP в PDF, ODP в PPT, ODP в PPTX, ODP в HTML и другие форматы с помощью Aspose.Slides." +keywords: +- конвертировать ODP +- ODP в изображение +- ODP в GIF +- ODP в HTML +- ODP в JPG +- ODP в MD +- ODP в PDF +- ODP в PNG +- ODP в PPT +- ODP в PPTX +- ODP в TIFF +- ODP в видео +- ODP в Word +- ODP в XPS +description: "Aspose.Slides for .NET позволяет легко конвертировать ODP в PDF, HTML и форматы изображений. Ускорьте свои .NET приложения с помощью быстрой и точной конвертации презентаций." --- -[**API Aspose.Slides**](https://products.aspose.com/slides/net/) позволяет вам конвертировать презентации OpenOffice ODP в различные форматы. API, используемый для конвертации ODP файлов в другие документные форматы, такой же, как и для операций конвертации PowerPoint (PPT и PPTX). +## **Обзор** -Эти примеры покажут вам, как конвертировать ODP документы в другие форматы (просто измените исходный ODP файл): +Aspose.Slides for .NET предоставляет мощный API для конвертации презентаций OpenDocument (ODP) в различные другие форматы. Используя аналогичный подход, применяемый к файлам PowerPoint (PPT и PPTX), разработчики могут легко экспортировать ODP‑документы в такие форматы, как HTML, PDF, TIFF, JPG, XPS и другие. -- [Конвертировать ODP в HTML](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-html/) -- [Конвертировать ODP в PDF](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-pdf/) -- [Конвертировать ODP в TIFF](/slides/ru/net/convert-powerpoint-to-tiff/) -- [Конвертировать ODP в SWF Flash](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-swf-flash/) -- [Конвертировать ODP в XPS](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) -- [Конвертировать ODP в PDF с заметками](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-pdf-with-notes/) -- [Конвертировать ODP в TIFF с заметками](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-tiff-with-notes/) +Эти примеры показывают, как конвертировать ODP‑документы в другие форматы (просто замените источник на ODP‑файл): -Например, если вам нужно конвертировать презентацию ODP в PDF, это можно сделать следующим образом: +- [Преобразовать ODP в HTML](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-html/) +- [Преобразовать ODP в PDF](/slides/ru/net/convert-powerpoint-ppt-and-pptx-to-pdf/) +- [Преобразовать ODP в TIFF](/slides/ru/net/convert-powerpoint-to-tiff/) +- [Преобразовать ODP в SWF](/slides/ru/net/convert-powerpoint-to-swf-flash/) +- [Преобразовать ODP в XPS](/slides/ru/net/convert-powerpoint-to-xps/) +- [Преобразовать ODP в PDF с примечаниями](/slides/ru/net/convert-powerpoint-to-pdf-with-notes/) +- [Преобразовать ODP в TIFF с примечаниями](/slides/ru/net/convert-powerpoint-to-tiff-with-notes/) -```csharp -using (Presentation pres = new Presentation("pres.odp")) +Для примера, конвертация презентации ODP в PDF требует всего несколько строк кода на C#: +```cs +using (Presentation presentation = new Presentation("presentation.odp")) { - pres.Save("pres.pdf", SaveFormat.Pdf); + presentation.Save("presentation.pdf", SaveFormat.Pdf); } ``` -## Презентация OpenDocument в различных приложениях -Когда файл Презентации OpenDocument открывается в PowerPoint, он может утратить форматирование, которое было в оригинальном приложении, где он был создан, потому что приложение Презентации OpenDocument и приложение PowerPoint предоставляют разные функции и опции. +## **Презентация OpenDocument в разных приложениях** -Вот некоторые различия: -- В PowerPoint все таблицы обычно загружаются последними и накладываются на другие фигуры (независимо от расположения фигур на слайде ODP). +Когда файл презентации OpenDocument (ODP) открывается в PowerPoint, он может не сохранять исходное форматирование из приложения, в котором был создан. Это происходит потому, что приложение OpenDocument и приложение PowerPoint предоставляют разные возможности и поведения отрисовки. + +Некоторые из различий: + +- В PowerPoint таблицы обычно отрисовываются последними и могут перекрывать другие фигуры, независимо от их порядка на слайде ODP. - Заполнение изображением для таблиц ODP не поддерживается в PowerPoint. -- Вертикальное вращение текста (270, стопка) и распределенное выравнивание не поддерживаются в LibreOffice/OpenOffice Impress. -- Заполнение изображением, градиентное заполнение и паттерн заполнения для текста не поддерживаются в LibreOffice/OpenOffice Impress. +- Вертикальное вращение текста (270°, несколько строк) и распределённое выравнивание не поддерживаются в LibreOffice/OpenOffice Impress. +- Заполнение изображением, градиентное заполнение и заполнение узором для текста не поддерживаются в LibreOffice/OpenOffice Impress. + +MS PowerPoint и LibreOffice/OpenOffice Impress также по‑разному обрабатывают списки. Файл ODP, созданный в PowerPoint, может отображаться некорректно в LibreOffice/OpenOffice Impress, и наоборот. + +Ниже изображён пример того, как список выглядит при создании в LibreOffice Impress: + +![Пример списка ODP](odp-list-example.png) + +Aspose.Slides сохраняет списки ODP таким образом, чтобы они корректно отображались в LibreOffice/OpenOffice Impress. + +[Узнать больше о формате OpenDocument и PowerPoint](https://support.microsoft.com/en-us/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0). + +## **FAQ** + +**Что делать, если форматирование моего файла ODP меняется после конвертации?** + +ODP и PowerPoint используют разные модели презентаций, и некоторые элементы — такие как таблицы, пользовательские шрифты или стили заливки — могут отображаться не одинаково. Рекомендуется проверить результат и при необходимости скорректировать макет или форматирование в коде. + +**Нужен ли установленный OpenOffice или LibreOffice для выполнения конвертации ODP?** -MS PowerPoint и LibreOffice/OpenOffice Impress также по-разному обрабатывают списки. Файл ODP, созданный в PowerPoint, не откроется правильно в LibreOffice/OpenOffice и наоборот. +Нет, Aspose.Slides for .NET — это автономная библиотека, которая не требует установки OpenOffice или LibreOffice в вашей системе. -Это изображение показывает вид списка, созданного в LibreOffice Impress: +**Можно ли настроить формат вывода при конвертации ODP (например, задать параметры PDF)?** -![odp-list-example](odp-list-example.png) +Да, Aspose.Slides предоставляет широкие возможности настройки вывода. Например, при сохранении в PDF вы можете управлять сжатием, качеством изображений, отрисовкой текста и многим другим через класс [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/). -**Aspose.Slides** сохраняет списки ODP, чтобы обеспечить их правильное отображение в LibreOffice/OpenOffice Impress. +**Подходит ли Aspose.Slides для серверной или облачной обработки ODP?** -[Узнайте больше о формате OpenDocument и PowerPoint](https://support.microsoft.com/en-gb/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0/). \ No newline at end of file +Безусловно. Aspose.Slides for .NET разработан для работы как в настольных, так и в серверных окружениях, включая облачные платформы такие как Azure, AWS и контейнеры Docker, без каких‑либо зависимостей от пользовательского интерфейса. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md index f2d9376b99..d4e16667cf 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md @@ -1,34 +1,53 @@ --- -title: Конвертация ODP в PPTX на C# -linktitle: Конвертация ODP в PPTX +title: Преобразовать ODP в PPTX на C# +linktitle: Преобразовать ODP в PPTX type: docs weight: 10 url: /ru/net/convert-odp-to-pptx/ -keywords: "Конвертация OpenOffice Presentation, ODP, ODP в PPTX, C#, Csharp, .NET" -description: "Конвертация OpenOffice ODP в PowerPoint Presentation PPTX на C# или .NET" +keywords: "Преобразовать презентацию OpenOffice, ODP, ODP в PPTX, C#, Csharp, .NET" +description: "Преобразовать OpenOffice ODP в презентацию PowerPoint PPTX на C# или .NET" --- -## Обзор +## **Обзор** -В этой статье разобраны следующие темы. +Эта статья объясняет следующие темы. -- [C# Конвертация ODP в PPTX](#csharp-odp-to-pptx) -- [C# Конвертация ODP в PowerPoint](#csharp-odp-to-powerpoint) +- [C# Преобразовать ODP в PPTX](#csharp-odp-to-pptx) +- [C# Преобразовать ODP в PowerPoint](#csharp-odp-to-powerpoint) -## Конвертация ODP в PPTX на C# +## **Преобразование ODP в PPTX** -Aspose.Slides для .NET предлагает класс Presentation, который представляет файл презентации. Класс [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) теперь также может получать доступ к ODP через конструктор Presentation при создании объекта. Следующий пример показывает, как конвертировать ODP-презентацию в PPTX-презентацию. - -Шаги: Конвертация ODP в PPTX на C# | -Шаги: Конвертация ODP в PowerPoint на C# +Aspose.Slides for .NET предоставляет класс Presentation, который представляет файл презентации. [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) класс теперь также может получать доступ к ODP через конструктор Presentation при создании объекта. Ниже показан пример, как преобразовать ODP‑презентацию в PPTX‑презентацию. +Шаги: Преобразование ODP в PPTX на C# | +Шаги: Преобразование ODP в PowerPoint на C# ```c# // Открыть файл ODP Presentation pres = new Presentation("AccessOpenDoc.odp"); -// Сохранение ODP-презентации в формате PPTX +// Сохранение презентации ODP в формат PPTX pres.Save("AccessOpenDoc_out.pptx", SaveFormat.Pptx); ``` + ## **Пример в реальном времени** -Вы можете посетить веб-приложение [**Конвертация Aspose.Slides**](https://products.aspose.app/slides/conversion/), которое разработано с использованием **Aspose.Slides API.** Приложение демонстрирует, как можно реализовать конвертацию ODP в PPTX с помощью Aspose.Slides API. \ No newline at end of file + +Вы можете посетить веб‑приложение [**Конверсия Aspose.Slides**](https://products.aspose.app/slides/conversion/), построенное с использованием **Aspose.Slides API**. Приложение демонстрирует, как можно реализовать преобразование ODP в PPTX с помощью Aspose.Slides API. + +## **Вопросы и ответы** + +**Нужно ли устанавливать Microsoft PowerPoint или LibreOffice для преобразования ODP в PPTX?** + +Нет. Aspose.Slides работает автономно и не требует сторонних приложений для чтения или записи ODP/PPTX. + +**Сохраняются ли мастер‑слайды, макеты и темы при преобразовании?** + +Да. Библиотека использует полную объектную модель презентации и сохраняет структуру, включая мастер‑слайды и макеты, поэтому дизайн остаётся корректным после преобразования. + +**Могу ли я преобразовать защищённые паролем файлы ODP?** + +Да. Aspose.Slides поддерживает обнаружение защиты, открытие и работу с [защищённые презентации](/slides/ru/net/password-protected-presentation/) (включая ODP), когда вы предоставляете пароль, а также настройку шифрования и доступ к свойствам документа. + +**Подходит ли Aspose.Slides для облачных или REST‑ориентированных сервисов преобразования?** + +Да. Вы можете использовать локальную библиотеку в своём бэкэнде или [Aspose.Slides Cloud](https://products.aspose.cloud/slides/family/) (REST API); оба варианта поддерживают преобразование ODP → PPTX. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md new file mode 100644 index 0000000000..c8b003428a --- /dev/null +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md @@ -0,0 +1,65 @@ +--- +title: Конвертировать презентации в режиме раздаточного листа в C# +type: docs +weight: 150 +url: /ru/net/convert-powerpoint-in-Handout-mode/ +keywords: +- конвертировать PowerPoint +- режим раздаточного листа +- раздаточный лист +- PowerPoint +- PPT +- PPTX +- презентация +- C# +- Csharp +- .NET +- Aspose.Slides +description: "Конвертировать презентации в режиме раздаточного листа в C#" +--- + +## **Экспорт в режиме раздаточного листа** + +Aspose.Slides предоставляет возможность конвертировать презентации в различные форматы, в том числе создавать раздаточные материалы для печати в режиме Handout. Этот режим позволяет настроить отображение нескольких слайдов на одной странице, что удобно для конференций, семинаров и прочих мероприятий. Вы можете включить этот режим, задав свойство `SlidesLayoutOptions` в интерфейсах [IPdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ipdfoptions/), [IRenderingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/irenderingoptions/), [IHtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ihtmloptions/) и [ITiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/itiffoptions/). + +Для настройки режима раздаточного листа используйте объект [HandoutLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/handoutlayoutingoptions/), который определяет количество слайдов, помещаемых на одну страницу, и другие параметры отображения. + +Ниже приведён пример кода, демонстрирующий, как конвертировать презентацию в PDF в режиме Handout. +```c# +// Загрузить презентацию. +using var presentation = new Presentation("sample.pptx"); + +// Установить параметры экспорта. +var pdfOptions = new PdfOptions +{ + SlidesLayoutOptions = new HandoutLayoutingOptions + { + Handout = HandoutType.Handouts4Horizontal, // 4 слайда на одной странице по горизонтали + PrintSlideNumbers = true, // печатать номера слайдов + PrintFrameSlide = true, // печатать рамку вокруг слайдов + PrintComments = false // без комментариев + } +}; + +// Экспортировать презентацию в PDF с выбранным макетом. +presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); +``` + + +{{% alert color="warning" %}} +Имейте в виду, что свойство `SlidesLayoutOptions` доступно только для некоторых форматов вывода, таких как PDF, HTML, TIFF, а также при рендеринге в виде изображений. +{{% /alert %}} + +## **FAQ** + +**Каково максимальное количество миниатюр слайдов на странице в режиме Handout?** + +Aspose.Slides поддерживает [предустановки](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) до 9 миниатюр на странице с горизонтальной или вертикальной сортировкой: 1, 2, 3, 4 (horizontal/vertical), 6 (horizontal/vertical) и 9 (horizontal/vertical). + +**Могу ли я задать пользовательскую сетку, например 5 или 8 слайдов на страницу?** + +Нет. Количество и порядок миниатюр строго контролируются перечислением [HandoutType](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/); произвольные макеты не поддерживаются. + +**Могу ли я включить скрытые слайды в вывод раздаточного листа?** + +Да. Включите параметр `ShowHiddenSlides` в настройках экспорта для целевого формата, например [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions/) или [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index 1b6c537736..e03eac57ff 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -1,16 +1,15 @@ --- -title: Преобразование PowerPoint в анимированный GIF +title: Конвертировать PowerPoint в анимированный GIF type: docs weight: 65 url: /ru/net/convert-powerpoint-to-animated-gif/ -keywords: "Преобразовать PowerPoint, PPT, PPTX, анимированный GIF, PPT в анимированный GIF, PPTX в анимированный GIF C#, Csharp, .NET, параметры по умолчанию, пользовательские параметры" -description: "Преобразование презентации PowerPoint в анимированный GIF: PPT в GIF, PPTX в GIF на C# или .NET" +keywords: "Конвертировать PowerPoint, PPT, PPTX, анимированный GIF, PPT в анимированный GIF, PPTX в анимированный GIF C#, Csharp, .NET, настройки по умолчанию, пользовательские настройки " +description: "Конвертировать презентацию PowerPoint в анимированный GIF: PPT в GIF, PPTX в GIF на C# или .NET" --- -## Преобразование презентаций в анимированный GIF с использованием параметров по умолчанию ## - -Этот пример кода на C# показывает, как преобразовать презентацию в анимированный GIF с использованием стандартных параметров: +## **Конвертировать презентации в анимированный GIF с использованием настроек по умолчанию** +Этот пример кода на C# показывает, как преобразовать презентацию в анимированный GIF, используя стандартные настройки: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -18,31 +17,39 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Анимированный GIF будет создан с параметрами по умолчанию. - -{{% alert title="Совет" color="primary" %}} -Если вы хотите настроить параметры для GIF, вы можете использовать класс [GifOptions](https://reference.aspose.com/slides/net/aspose.slides.export/gifoptions). Смотрите пример кода ниже. +Анимированный GIF будет создан с параметрами по умолчанию. +{{% alert title="TIP" color="primary" %}} +Если вы предпочитаете настроить параметры GIF, вы можете использовать класс [GifOptions](https://reference.aspose.com/slides/net/aspose.slides.export/gifoptions). См. пример кода ниже. {{% /alert %}} -## Преобразование презентаций в анимированный GIF с использованием пользовательских параметров ## -Этот пример кода показывает, как преобразовать презентацию в анимированный GIF с использованием пользовательских параметров на C#: +## **Конвертировать презентации в анимированный GIF с использованием пользовательских настроек** +Этот пример кода показывает, как преобразовать презентацию в анимированный GIF, используя пользовательские настройки в C#: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { pres.Save("pres.gif", SaveFormat.Gif, new GifOptions { FrameSize = new Size(960, 720), // размер полученного GIF - DefaultDelay = 2000, // как долго каждый слайд будет отображаться, прежде чем будет заменен на следующий - TransitionFps = 35 // увеличьте FPS для улучшения качества анимации перехода + DefaultDelay = 2000, // как долго каждый слайд будет отображаться до переключения на следующий + TransitionFps = 35 // увеличьте FPS для лучшего качества анимации перехода }); } ``` -{{% 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 %}} + +## **Часто задаваемые вопросы** + +**Что делать, если используемые в презентации шрифты не установлены в системе?** + +Установите недостающие шрифты или [настройте резервные шрифты](/slides/ru/net/powerpoint-fonts/). Aspose.Slides заменит их, но внешний вид может отличаться. Для брендирования всегда убедитесь, что требуемые типографские наборы явно доступны. + +**Можно ли наложить водяной знак на кадры GIF?** -{{% /alert %}} \ No newline at end of file +Да. [Добавьте полупрозрачный объект/логотип](/slides/ru/net/watermark/) на главный слайд или на отдельные слайды перед экспортом — водяной знак появится на каждом кадре. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index ea43685b3e..29fbb7d292 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -1,190 +1,205 @@ --- -title: Преобразование PowerPoint в HTML на C# .NET -linktitle: Преобразование PowerPoint в HTML +title: Преобразовать презентации PowerPoint в HTML на C# +linktitle: Преобразовать PowerPoint в HTML type: docs weight: 30 url: /ru/net/convert-powerpoint-to-html/ -keywords: "C# PowerPoint в HTML, C# PPT в HTML, C# ODP в HTML, C# Слайд в HTML, Преобразовать презентацию PowerPoint, PPTX, PPT, PPT в HTML, PPTX в HTML, PowerPoint в HTML, Сохранить PowerPoint как HTML, Сохранить PPT как HTML, Сохранить PPTX как HTML, C#, Csharp, .NET, Aspose.Slides, экспорт HTML" -description: "Преобразование PowerPoint в HTML: Сохраните PPTX или PPT как HTML. Сохраните слайды как HTML" +keywords: +- PowerPoint в HTML +- презентация в HTML +- слайд в HTML +- PPT в HTML +- PPTX в HTML +- ODP в HTML +- преобразовать презентацию PowerPoint +- конвертация PowerPoint +- конвертация презентаций +- конвертация HTML +- сохранить PowerPoint как HTML +- сохранить презентацию как HTML +- сохранить слайд как HTML +- сохранить PPT как HTML +- сохранить PPTX как HTML +- экспорт HTML +- C# +- .NET +- Aspose.Slides +description: "Узнайте, как преобразовать презентации PowerPoint и OpenDocument в HTML с помощью Aspose.Slides для .NET. Это руководство содержит инструкции, примеры кода и рекомендации по конвертации слайдов в веб‑дружественный формат." --- ## **Обзор** -В этой статье объясняется, как преобразовать презентацию PowerPoint в формат HTML с использованием C#. Внутри рассматриваются следующие темы. +Улучшите ваш рабочий процесс, преобразуя презентации PowerPoint и OpenDocument в HTML с помощью Aspose.Slides для .NET. Это руководство предлагает подробные инструкции, надёжные примеры кода и проверенные методы, обеспечивая надёжный и эффективный процесс конвертации, оптимизированный для просмотра в вебе. -- [Преобразование PowerPoint в HTML на C#](#convert-powerpoint-to-html) -- [Преобразование PPT в HTML на C#](#convert-powerpoint-to-html) -- [Преобразование PPTX в HTML на C#](#convert-powerpoint-to-html) -- [Преобразование ODP в HTML на C#](#convert-powerpoint-to-html) -- [Преобразование слайда PowerPoint в HTML на C#](#convert-slide-to-html) +Aspose.Slides предоставляет множество параметров — в основном из класса [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) — которые определяют процесс преобразования из формата PowerPoint (или OpenDocument) в HTML: -## **C# PowerPoint в HTML** +* Преобразовать всю презентацию PowerPoint в HTML. +* Преобразовать конкретный слайд презентации PowerPoint в HTML. +* Преобразовать медиа презентации (изображения, видео и т.д.) в HTML. +* Преобразовать презентацию PowerPoint в адаптивный HTML. +* Преобразовать презентацию PowerPoint в HTML с включёнными или исключёнными заметками докладчика. +* Преобразовать презентацию PowerPoint в HTML с включёнными или исключёнными комментариями. +* Преобразовать презентацию PowerPoint в HTML с оригинальными или встроенными шрифтами. +* Преобразовать презентацию PowerPoint в HTML с использованием нового стиля CSS. -Для примера кода на C# для преобразования PowerPoint в HTML смотрите раздел ниже, т.е. [Преобразование PowerPoint в HTML](#convert-powerpoint-to-html). Код может загружать множество форматов, таких как PPT, PPTX и ODP в объект Presentation и сохранять его в формате HTML. +## **Преобразовать презентацию в HTML** -## **О преобразовании PowerPoint в HTML** -Используя [**Aspose.Slides для .NET**](https://products.aspose.com/slides/net/), приложения и разработчики могут преобразовать презентацию PowerPoint в HTML: **PPTX в HTML** или **PPT в HTML**. +С помощью Aspose.Slides вы можете преобразовать всю презентацию PowerPoint или OpenDocument в HTML следующим образом: -**Aspose.Slides** предлагает множество опций (в основном из класса [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions)), которые определяют процесс преобразования PowerPoint в HTML: - -* Преобразование всей презентации PowerPoint в HTML. -* Преобразование конкретного слайда в презентации PowerPoint в HTML. -* Преобразование мультимедиа презентации (изображения, видео и т.д.) в HTML. -* Преобразование презентации PowerPoint в адаптивный HTML. -* Преобразование презентации PowerPoint в HTML с заметками спикера, включенными или исключенными. -* Преобразование презентации PowerPoint в HTML с комментариями, включенными или исключенными. -* Преобразование презентации PowerPoint в HTML с оригинальными или встроенными шрифтами. -* Преобразование презентации PowerPoint в HTML с использованием нового CSS-стиля. - -{{% alert color="primary" %}} - -Используя свой собственный API, Aspose разработал бесплатные [конвертеры презентаций в HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html): [PPT в HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX в HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP в HTML](https://products.aspose.app/slides/conversion/odp-to-html) и т.д. - -[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) - -Вы можете также посмотреть другие [бесплатные конвертеры от Aspose](https://products.aspose.app/slides/conversion). - -{{% /alert %}} - -{{% alert title="Примечание" color="warning" %}} - -Кроме описанных здесь процессов преобразования, Aspose.Slides также поддерживает операции преобразования, касающиеся формата HTML: - -* [HTML в изображение](https://products.aspose.com/slides/net/conversion/html-to-image/) -* [HTML в JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) -* [HTML в XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) -* [HTML в TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) - -{{% /alert %}} - - -## **Преобразование PowerPoint в HTML** -С использованием Aspose.Slides вы можете преобразовать всю презентацию PowerPoint в HTML следующим образом: - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Используйте метод [Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save), чтобы сохранить объект в виде HTML-файла. - -Этот код показывает, как преобразовать PowerPoint в HTML на C#: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Используйте метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) для сохранения объекта в файл HTML. +Этот код показывает, как преобразовать презентацию PowerPoint в HTML на C#: ```c# -// Создание объекта презентации, представляющего файл презентации, например PPT, PPTX, ODP и т.д. -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// Создайте экземпляр класса Presentation, представляющего файл презентации (например, PPT, PPTX, ODP и т.д.). +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions htmlOpt = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOpt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; - - htmlOpt.HtmlFormatter = HtmlFormatter.CreateDocumentFormatter("", false); - - // Сохранение презентации в HTML - presentation.Save("ConvertWholePresentationToHTML_out.html", SaveFormat.Html, htmlOpt); + // Сохраните презентацию в формате HTML. + presentation.Save("output.html", SaveFormat.Html); } ``` -## **Преобразование PowerPoint в адаптивный HTML** -Aspose.Slides предоставляет класс [ResponsiveHtmlController ](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller), который позволяет генерировать адаптивные HTML-файлы. Этот код показывает, как преобразовать презентацию PowerPoint в адаптивный HTML на C#: +## **Преобразовать презентацию в адаптивный HTML** +Aspose.Slides предоставляет класс [ResponsiveHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller), который позволяет генерировать адаптивные HTML‑файлы. Этот код демонстрирует, как преобразовать презентацию PowerPoint в адаптивный HTML на C#: ```c# -// Создание объекта Presentation, представляющего файл презентации -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// Создайте экземпляр класса Presentation, представляющего файл презентации. +using (Presentation presentation = new Presentation("presentation.pptx")) { ResponsiveHtmlController controller = new ResponsiveHtmlController(); - HtmlOptions htmlOptions = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) }; - // Сохранение презентации в HTML - presentation.Save("ConvertPresentationToResponsiveHTML_out.html", SaveFormat.Html, htmlOptions); + HtmlOptions htmlOptions = new HtmlOptions + { + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) + }; + + // Сохраните презентацию в формате HTML. + presentation.Save("responsive.html", SaveFormat.Html, htmlOptions); } ``` -## **Преобразование PowerPoint в HTML с заметками** -Этот код показывает, как преобразовать PowerPoint в HTML с заметками на C#: +## **Преобразовать презентацию в HTML с заметками докладчика** + +При преобразовании презентации PowerPoint или OpenDocument в HTML с заметками докладчика важно сохранить полное содержание исходного документа. Этот процесс гарантирует, что не только визуальные элементы слайдов отображаются точно, но и сопровождающие их заметки докладчика сохраняются, обогащая контент дополнительным контекстом и инсайтами. + +Предположим, у нас есть презентация PowerPoint со следующим слайдом: + +![Слайд презентации с заметками докладчика](slide_with_notes.png) + +Этот код демонстрирует, как преобразовать презентацию PowerPoint в HTML с заметками докладчика на C#: ```c# -using (Presentation pres = new Presentation("Presentation.pptx")) +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions opt = new HtmlOptions(); + // Установите параметры для заметок докладчика. + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - INotesCommentsLayoutingOptions options = opt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + // Установите параметры для выходного HTML-документа. + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions + }; - // Сохранение страниц с заметками - pres.Save("Output.html", SaveFormat.Html, opt); + // Сохраните презентацию в HTML с заметками докладчика. + presentation.Save("slide_with_notes.html", SaveFormat.Html, htmlOptions); } ``` -## **Преобразование PowerPoint в HTML с оригинальными шрифтами** -Aspose.Slides предоставляет класс [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller), который позволяет встроить все шрифты в презентацию при преобразовании презентации в HTML. +Результат: + +![HTML‑документ со слайдом и заметками докладчика](HTML_with_notes.png) + +## **Преобразовать презентацию в HTML с оригинальными шрифтами** -Чтобы предотвратить встраивание определенных шрифтов, вы можете передать массив названий шрифтов в параметризованный конструктор класса [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller). Популярные шрифты, такие как Calibri или Arial, при использовании в презентации не нужно встраивать, так как большинство систем уже содержат такие шрифты. Когда эти шрифты встраивают, результирующий HTML-документ становится ненужным образом большим. +Aspose.Slides предоставляет класс [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller), который позволяет встроить все шрифты презентации при её преобразовании в HTML. -Класс [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) поддерживает наследование и предоставляет метод [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont), который предназначен для переопределения. +Чтобы исключить из встраивания некоторые шрифты, можно передать массив имён шрифтов в параметризованный конструктор класса [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller). Популярные шрифты, такие как Calibri или Arial, не требуется встраивать, потому что они уже присутствуют в большинстве систем. Их встраивание только увеличит размер получаемого HTML‑документа. +Класс [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) поддерживает наследование и предоставляет метод [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont), который предназначен для переопределения. ```c# -using (Presentation pres = new Presentation("input.pptx")) +using (Presentation presentation = new Presentation("input.pptx")) { - // Исключает шрифты презентации по умолчанию - string[] fontNameExcludeList = { "Calibri", "Arial" }; + // Исключить шрифты презентации по умолчанию. + string[] excludeFonts = { "Calibri", "Arial" }; - EmbedAllFontsHtmlController embedFontsController = new EmbedAllFontsHtmlController(fontNameExcludeList); + EmbedAllFontsHtmlController fontController = new EmbedAllFontsHtmlController(excludeFonts); - HtmlOptions htmlOptionsEmbed = new HtmlOptions + HtmlOptions htmlOptions = new HtmlOptions { - HtmlFormatter = HtmlFormatter.CreateCustomFormatter(embedFontsController) + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(fontController) }; - pres.Save("input-PFDinDisplayPro-Regular-installed.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("embedded_fonts.html", SaveFormat.Html, htmlOptions); } ``` -## **Преобразование PowerPoint в HTML с изображениями высокого качества** -По умолчанию, когда вы преобразуете PowerPoint в HTML, Aspose.Slides выводит маленький HTML с изображениями при 72 DPI и удаленными обрезанными областями. Чтобы получить HTML-файлы с изображениями более высокого качества, вам необходимо установить свойство `PicturesCompression` (из класса `HtmlOptions`) на 96 (т.е. `PicturesCompression.Dpi96`) или более [высокие значения](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression). +## **Преобразовать презентацию в HTML с изображениями высокого качества** -Этот код на C# показывает, как преобразовать презентацию PowerPoint в HTML, получая изображения высокого качества при 150 DPI (т.е. `PicturesCompression.Dpi150`): +По умолчанию при преобразовании презентации PowerPoint в HTML Aspose.Slides создаёт небольшой HTML‑файл с изображениями размером 72 DPI и удаляет обрезанные области. Чтобы получать HTML‑файлы с изображениями более высокого качества, необходимо установить свойство `PicturesCompression` (из класса `HtmlOptions`) в значение 96 (`PicturesCompression.Dpi96`) или выше, как описано в [этой справке](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression). +Этот код на C# демонстрирует, как преобразовать презентацию PowerPoint в HTML, получая изображения высокого качества с разрешением 150 DPI (`PicturesCompression.Dpi150`): ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - PicturesCompression = PicturesCompression.Dpi150 -}; -pres.Save("OutputDoc-dpi150.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + PicturesCompression = PicturesCompression.Dpi150 + }; + + presentation.Save("output_dpi_150.html", SaveFormat.Html, htmlOptions); +} ``` -Этот код на C# показывает, как вывести HTML с изображениями полного качества: +Этот код на C# показывает, как преобразовать презентацию PowerPoint в HTML без удаления обрезанных областей: ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - DeletePicturesCroppedAreas = false -}; -pres.Save("Outputdoc-noCrop.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + DeletePicturesCroppedAreas = false + }; + + presentation.Save("output_no_crop.html", SaveFormat.Html, htmlOptions); +} ``` -## **Преобразование слайда в HTML** -Чтобы преобразовать конкретный слайд в PowerPoint в HTML, вам необходимо создать экземпляр того же класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) (используемого для преобразования целых презентаций в HTML) и затем использовать метод [Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save), чтобы сохранить файл в виде HTML. Класс [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions**) может использоваться для указания дополнительных параметров преобразования: -Этот код на C# показывает, как преобразовать слайд в презентации PowerPoint в HTML: +## **Преобразовать слайд презентации в HTML** +Чтобы преобразовать конкретный слайд презентации PowerPoint в HTML, нужно создать экземпляр того же класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), который используется для конвертации всей презентации, и затем вызвать метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) для сохранения файла в формате HTML. Класс [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) позволяет задать дополнительные параметры конвертации. + +Этот код на C# демонстрирует, как преобразовать слайд с заметками докладчика в презентации PowerPoint в HTML: ```c# public static void Run() { - using (Presentation presentation = new Presentation("Individual-Slide.pptx")) + using (Presentation presentation = new Presentation("sample.pptx")) { - HtmlOptions htmlOptions = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()); + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions, + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()) + }; - // Сохранение файла for (int i = 0; i < presentation.Slides.Count; i++) - presentation.Save("Individual Slide" + (i + 1) + "_out.html", new[] { i + 1 }, SaveFormat.Html, htmlOptions); + { + int slideIndex = i + 1; + + // Сохранить слайд в HTML‑файл. + string fileName = $"output_slide_{slideIndex}.html"; + presentation.Save(fileName, new[] { slideIndex }, SaveFormat.Html, htmlOptions); + } } } @@ -218,27 +233,28 @@ public class CustomFormattingController : IHtmlFormattingController ``` -## **Сохранение CSS и изображений при экспортировании в HTML** -Используя новые CSS-стили, вы можете легко изменить стиль HTML-файла, полученного в результате процесса преобразования PowerPoint в HTML. +## **Сохранить CSS и изображения при экспорте в HTML** -Код на C# из этого примера демонстрирует, как использовать переопределяемые методы для создания настраиваемого HTML-документа с ссылкой на CSS-файл: +Используя новые файлы стилей CSS, вы можете легко изменить внешний вид HTML‑файла, генерируемого в процессе преобразования PowerPoint в HTML. +Код на C# в этом примере показывает, как использовать переопределяемые методы для создания пользовательского HTML‑документа, включающего ссылку на файл CSS: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { CustomHeaderAndFontsController htmlController = new CustomHeaderAndFontsController("styles.css"); + HtmlOptions options = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(htmlController), }; - pres.Save("pres.html", SaveFormat.Html, options); + presentation.Save("pres.html", SaveFormat.Html, options); } ``` ```c# public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController { - // Шаблон пользовательского заголовка + // Пользовательский шаблон заголовка. const string Header = "\n" + "\n" + "\n" + @@ -247,7 +263,6 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController "\n" + ""; - private readonly string m_cssFileName; public CustomHeaderAndFontsController(string cssFileName) @@ -263,27 +278,24 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController public override void WriteAllFonts(IHtmlGenerator generator, IPresentation presentation) { - generator.AddHtml(""); + generator.AddHtml(""); base.WriteAllFonts(generator, presentation); } } ``` -## **Ссылка на все шрифты при преобразовании презентации в HTML** -Если вы не хотите встраивать шрифты (чтобы избежать увеличения размера результирующего HTML), вы можете ссылаться на все шрифты, реализовав собственную версию `LinkAllFontsHtmlController`. +## **Ссылка на все шрифты при преобразовании презентации в HTML** -Этот код на C# показывает, как преобразовать PowerPoint в HTML, ссылаясь на все шрифты и исключая "Calibri" и "Arial" (так как они уже существуют в системе): +Если вы не хотите встраивать шрифты (чтобы не увеличивать размер получаемого HTML), можно вместо этого ссылаться на все шрифты, реализовав собственную версию `LinkAllFontsHtmlController`. +Этот код на C# показывает, как преобразовать презентацию PowerPoint в HTML, ссылаясь на все шрифты и исключая «Calibri» и «Arial» (поскольку они уже установлены в системе): ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { - // Исключает шрифты презентации по умолчанию + // Исключить шрифты презентации по умолчанию. string[] fontNameExcludeList = { "Calibri", "Arial" }; - Paragraph para = new Paragraph(); - ITextFrame txt; - LinkAllFontsHtmlController linkcont = new LinkAllFontsHtmlController(fontNameExcludeList, @"C:\Windows\Fonts\");; HtmlOptions htmlOptionsEmbed = new HtmlOptions @@ -291,12 +303,12 @@ using (Presentation pres = new Presentation("pres.pptx")) HtmlFormatter = HtmlFormatter.CreateCustomFormatter(linkcont) }; - pres.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); } ``` -Этот код на C# показывает, как реализован `LinkAllFontsHtmlController`: +Этот код на C# демонстрирует реализацию `LinkAllFontsHtmlController`: ```c# public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController { @@ -319,7 +331,7 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController try { string fontName = substitutedFont == null ? originalFont.FontName : substitutedFont.FontName; - string path = fontName + ".woff"; // Возможно, потребуется санитация пути + string path = fontName + ".woff"; // Может потребоваться очистка пути. File.WriteAllBytes(Path.Combine(m_basePath, path), fontData); @@ -339,30 +351,36 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController } ``` -## **Преобразование PowerPoint в адаптивный HTML** -Этот код на C# показывает, как преобразовать презентацию PowerPoint в адаптивный HTML: +## **Преобразовать презентацию с SVG‑изображениями в адаптивный HTML** + +Этот код на C# показывает, как преобразовать презентацию PowerPoint в адаптивный HTML: ```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -HtmlOptions saveOptions = new HtmlOptions(); -saveOptions.SvgResponsiveLayout = true; -presentation.Save("SomePresentation-out.html", SaveFormat.Html, saveOptions); +using (Presentation presentation = new Presentation("Presentation.pptx")) +{ + HtmlOptions saveOptions = new HtmlOptions + { + SvgResponsiveLayout = true + }; + + presentation.Save("SvgResponsiveLayout-out.html", SaveFormat.Html, saveOptions); +} ``` -## **Экспорт медиафайлов в HTML** -С использованием Aspose.Slides для .NET вы можете экспортировать медиафайлы таким образом: +## **Экспортировать медиа‑файлы в HTML** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Получите ссылку на слайд. -1. Добавьте видео на слайд. -1. Запишите презентацию в виде HTML-файла. +С помощью Aspose.Slides для .NET вы можете экспортировать медиа‑файлы следующим образом: -Этот код на C# показывает, как добавить видео в презентацию и затем сохранить ее как HTML: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Получите ссылку на слайд. +1. Добавьте видео на слайд. +1. Запишите презентацию в виде HTML‑файла. +Этот код на C# показывает, как добавить видео в презентацию и затем сохранить её как HTML: ```c# -// Загружает презентацию -using (Presentation pres = new Presentation()) +// Создать новую презентацию. +using (Presentation presentation = new Presentation()) { string path = "C:/out/"; const string fileName = "ExportMediaFiles_out.html"; @@ -370,22 +388,58 @@ using (Presentation pres = new Presentation()) using (FileStream fileStream = new FileStream("my_video.avi", FileMode.Open, FileAccess.Read)) { - IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); + IVideo video = presentation.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; slide.Shapes.AddVideoFrame(10, 10, 100, 100, video); } VideoPlayerHtmlController controller = new VideoPlayerHtmlController(path, fileName, baseUri); - // Устанавливает параметры HTML + // Установить параметры HTML. HtmlOptions htmlOptions = new HtmlOptions(controller); SVGOptions svgOptions = new SVGOptions(controller); htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller); htmlOptions.SlideImageFormat = SlideImageFormat.Svg(svgOptions); - // Сохранение файла - pres.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); + // Сохранить презентацию в файл HTML. + presentation.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); } -``` \ No newline at end of file +``` + + +{{% alert color="primary" %}} + +Aspose разработала бесплатные конвертеры [презентация в HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html): [PPT в HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX в HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP в HTML](https://products.aspose.app/slides/conversion/odp-to-html) и т.д. + +[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) + +Ознакомьтесь с другими [бесплатными конвертерами от Aspose](https://products.aspose.app/slides/conversion). + +{{% /alert %}} + +{{% alert title="Note" color="warning" %}} + +Помимо описанных здесь процессов конвертации, Aspose.Slides также поддерживает следующие операции преобразования, связанные с форматом HTML: + +* [HTML в изображение](https://products.aspose.com/slides/net/conversion/html-to-image/) +* [HTML в JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) +* [HTML в XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) +* [HTML в TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) + +{{% /alert %}} + +## **Вопросы и ответы** + +**Какова производительность Aspose.Slides при конвертации нескольких презентаций в HTML?** + +Производительность зависит от размера и сложности презентаций. Aspose.Slides обладает высокой эффективностью и масштабируемостью для пакетных операций. Чтобы достичь оптимальной скорости при конвертации большого количества презентаций, рекомендуется использовать многопоточность или параллельную обработку, когда это возможно. + +**Поддерживает ли Aspose.Slides экспорт гиперссылок в HTML?** + +Да, Aspose.Slides полностью поддерживает экспорт встроенных гиперссылок в HTML. При конвертации презентаций в формат HTML гиперссылки сохраняются автоматически и остаются кликабельными. + +**Есть ли ограничение на количество слайдов при конвертации презентаций в HTML?** + +Ограничений на количество слайдов нет. Вы можете конвертировать презентации любого размера. Однако для презентаций с очень большим числом слайдов производительность может зависеть от доступных ресурсов вашего сервера или системы. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md index 8fe6b79237..4a84fd251d 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md @@ -1,124 +1,175 @@ --- -title: Конвертация PowerPoint в JPG на C# -linktitle: Конвертация PowerPoint PPT в JPG +title: Преобразование PPT, PPTX и ODP в JPG на C# +linktitle: Конвертировать слайды в изображения JPG type: docs weight: 60 url: /ru/net/convert-powerpoint-to-jpg/ -keywords: "Конвертация презентации PowerPoint, JPG, JPEG, PowerPoint в JPG, PowerPoint в JPEG, PPT в JPG, PPTX в JPG, PPT в JPEG, PPTX в JPEG, C#, Csharp, .NET, Aspose.Slides" -description: "Конвертация PowerPoint в JPG на C# или .NET. Сохранение слайда как изображения JPG" +keywords: +- конвертировать PowerPoint в JPG +- конвертировать презентацию в JPG +- конвертировать слайд в JPG +- конвертировать PPT в JPG +- конвертировать PPTX в JPG +- конвертировать ODP в JPG +- PowerPoint в JPG +- презентация в JPG +- слайд в JPG +- PPT в JPG +- PPTX в JPG +- ODP в JPG +- конвертировать PowerPoint в JPEG +- конвертировать презентацию в JPEG +- конвертировать слайд в JPEG +- конвертировать PPT в JPEG +- конвертировать PPTX в JPEG +- конвертировать ODP в JPEG +- PowerPoint в JPEG +- презентация в JPEG +- слайд в JPEG +- PPT в JPEG +- PPTX в JPEG +- ODP в JPEG +- C# +- Csharp +- .NET +- Aspose.Slides +description: "Узнайте, как преобразовать свои слайды из презентаций PowerPoint и OpenDocument в высококачественные изображения JPEG с помощью всего лишь нескольких строк кода. Оптимизируйте презентации для веб‑использования, обмена и архивации. Читайте полное руководство сейчас!" --- ## **Обзор** -В этой статье объясняется, как конвертировать презентацию PowerPoint в формат JPG с использованием C#. Рассматриваются следующие темы: +Преобразование презентаций PowerPoint и OpenDocument в изображения JPG помогает делиться слайдами, оптимизировать производительность и встраивать контент в веб‑сайты или приложения. Aspose.Slides для .NET позволяет преобразовать файлы PPTX, PPT и ODP в качественные изображения JPEG. Это руководство объясняет различные методы конвертации. -- [C# Конвертация PowerPoint в JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Конвертация PPT в JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Конвертация PPTX в JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Конвертация ODP в JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# Конвертация слайда PowerPoint в изображение](#convert-powerpoint-pptpptx-to-jpg) +С этими возможностями легко реализовать собственный просмотрщик презентаций и создавать эскизы (thumbnail) для каждого слайда. Это может быть полезно, если вы хотите защитить слайды от копирования или продемонстрировать презентацию в режиме только для чтения. Aspose.Slides позволяет преобразовать всю презентацию или отдельный слайд в форматы изображений. -## **C# PowerPoint в JPG** +## **Преобразование слайдов презентации в изображения JPG** -Для получения примера кода на C# для конвертации PowerPoint в JPG, пожалуйста, ознакомьтесь с разделом ниже т.е. [Конвертация PowerPoint в JPG](#convert-powerpoint-pptpptx-to-jpg). Код может загружать несколько форматов, таких как PPT, PPTX и ODP в объект Presentation, а затем сохранять его миниатюру слайда в формате JPG. Другие конверсии PowerPoint в изображения, подобные PNG, BMP, TIFF и SVG, обсуждаются в этих статьях. - -- [C# PowerPoint в PNG](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -- [C# PowerPoint в BMP](#convert-powerpoint-pptpptx-to-jpg) -- [C# PowerPoint в TIFF](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) -- [C# PowerPoint в SVG](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) - -## **О конвертации PowerPoint в JPG** -С помощью [**Aspose.Slides .NET API**](https://products.aspose.com/slides/net/) вы можете конвертировать презентацию PowerPoint PPT или PPTX в изображение JPG. Также возможно конвертировать PPT/PPTX в BMP, PNG или SVG. С этими функциями легко реализовать свой собственный просмотрщик презентаций, создать миниатюру для каждого слайда. Это может быть полезно, если вы хотите защитить слайды презентации от копирования, демонстрировать презентацию в режиме только для чтения. Aspose.Slides позволяет конвертировать всю презентацию или определенный слайд в форматы изображений. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Получите объект слайда типа [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) из коллекции [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides). +3. Создайте изображение слайда, используя метод [ISlide.GetImage(float, float)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5). +4. Вызовите метод [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3) у объекта изображения. Передайте в качестве аргументов имя выходного файла и формат изображения. {{% alert color="primary" %}} -Чтобы увидеть, как Aspose.Slides конвертирует PowerPoint в изображения JPG, вы можете попробовать эти бесплатные онлайн-конвертеры: PowerPoint [PPTX в JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) и [PPT в JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg). +**Примечание:** Конвертация PPT, PPTX или ODP в JPG отличается от конвертации в другие форматы в API Aspose.Slides .NET. Для других форматов обычно используется метод [IPresentation.Save(String, SaveFormat, ISaveOptions)](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/save/#save_5). Однако для конвертации в JPG необходимо использовать метод [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3). {{% /alert %}} +```c# +int scaleX = 1; +int scaleY = scaleX; -![todo:image_alt_text](ppt-to-jpg.png) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.ppt")) +{ + foreach (ISlide slide in presentation.Slides) + { + // Создать изображение слайда с указанным масштабом. + using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) + { + // Сохранить изображение на диск в формате JPEG. + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; + thumbnail.Save(imageFileName, ImageFormat.Jpeg); + } + } +} +``` -## **Конвертация PowerPoint PPT/PPTX в JPG** -Вот шаги для конвертации PPT/PPTX в JPG: -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите объект слайда типа [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) из коллекции [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides). -3. Создайте миниатюру каждого слайда, а затем конвертируйте его в JPG. Метод [**ISlide.GetThumbnail(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides.islide/getthumbnail/methods/6) используется для получения миниатюры слайда, он возвращает объект [Bitmap](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.bitmap?view=netframework-4.8) в качестве результата. Метод [GetThumbnail](https://reference.aspose.com/slides/net/aspose.slides.islide/getthumbnail/methods/6) должен быть вызван для нужного слайда типа [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide), значения масштабов полученной миниатюры передаются в метод. -4. После получения миниатюры слайда вызовите метод [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8) из объекта миниатюры. Передайте в него имя результирующего файла и формат изображения. - -{{% alert color="primary" %}} -**Примечание**: Конвертация PPT/PPTX в JPG отличается от конвертации в другие типы в Aspose.Slides .NET API. Для других типов вы обычно используете метод [**IPresentation.SaveMethod(String, SaveFormat, ISaveOptions)** ](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5), но здесь вам нужен метод [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8). -{{% /alert %}} +## **Преобразование слайдов в JPG с пользовательскими размерами** +Чтобы изменить размеры получаемых изображений JPG, можно задать размер изображения, передав его в метод [ISlide.GetImage(Size)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_6). Это позволяет создавать изображения с конкретными значениями ширины и высоты, гарантируя, что результат удовлетворит вашим требованиям к разрешению и соотношению сторон. Такая гибкость особенно полезна при генерации изображений для веб‑приложений, отчетов или документации, где требуются точные размеры изображений. ```c# -using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt")) +Size imageSize = new Size(1200, 800); + +using (Presentation presentation = new Presentation("PowerPoint_Presentation.pptx")) { - foreach (ISlide sld in pres.Slides) - { - // Создает изображение полного масштаба - Bitmap bmp = sld.GetThumbnail(1f, 1f); - - // Сохраняет изображение на диск в формате JPEG - bmp.Save(string.Format("Slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg); - } + foreach (ISlide slide in presentation.Slides) + { + // Создать изображение слайда указанного размера. + using (IImage thumbnail = slide.GetImage(imageSize)) + { + // Сохранить изображение на диск в формате JPEG. + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; + thumbnail.Save(imageFileName, ImageFormat.Jpeg); + } + } } ``` -## **Конвертация PowerPoint PPT/PPTX в JPG с настроенными размерами** -Чтобы изменить размеры полученной миниатюры и изображения JPG, вы можете установить значения *ScaleX* и *ScaleY*, передав их в метод [**ISlide.GetThumbnail(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides.islide/getthumbnail/methods/6): +## **Отображение комментариев при сохранении слайдов как изображения** + +Aspose.Slides для .NET предоставляет возможность отображать комментарии на слайдах презентации при их конвертации в изображения JPG. Эта функция особенно полезна для сохранения аннотаций, отзывов или обсуждений, добавленных сотрудниками в презентациях PowerPoint. При включении этой опции комментарии будут видны на сгенерированных изображениях, что облегчает их просмотр и обмен отзывами без необходимости открывать исходный файл презентации. + +Предположим, у нас есть файл презентации «sample.pptx» со слайдом, содержащим комментарии: + +![Слайд с комментариями](slide_with_comments.png) + +Следующий код C# конвертирует слайд в изображение JPG, сохраняя комментарии: ```c# -using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx")) +int scaleX = 2; +int scaleY = scaleX; + +using (Presentation presentation = new Presentation("sample.pptx")) { - // Определяет размеры - int желаемыйX = 1200; - int желаемыйY = 800; - // Получает масштабированные значения X и Y - float ScaleX = (float)(1.0 / pres.SlideSize.Size.Width) * желаемыйX; - float ScaleY = (float)(1.0 / pres.SlideSize.Size.Height) * желаемыйY; - - foreach (ISlide sld in pres.Slides) - { - // Создает изображение полного масштаба - Bitmap bmp = sld.GetThumbnail(ScaleX, ScaleY); - - // Сохраняет изображение на диск в формате JPEG - bmp.Save(string.Format("Slide_{0}.jpg", sld.SlideNumber), System.Drawing.Imaging.ImageFormat.Jpeg); - } + IRenderingOptions options = new RenderingOptions + { + // Установить параметры для комментариев слайда. + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + CommentsPosition = CommentsPositions.Right, + CommentsAreaWidth = 200, + CommentsAreaColor = Color.DarkOrange + } + }; + + // Преобразовать первый слайд в изображение. + using (IImage image = presentation.Slides[0].GetImage(options, scaleX, scaleY)) + { + image.Save("Slide_1.jpg", ImageFormat.Jpeg); + } } ``` -## **Отображение комментариев при сохранении презентации в изображение** -Aspose.Slides для .NET предоставляет возможность отображать комментарии в слайдах презентации при конвертации этих слайдов в изображения. Этот код на C# демонстрирует операцию: -```c# -Presentation pres = new Presentation("test.pptx"); -Bitmap bmp = new Bitmap(740, 960); +Результат: -IRenderingOptions opts = new RenderingOptions(); -opts.NotesCommentsLayouting.NotesPosition = NotesPositions.BottomTruncated; -opts.NotesCommentsLayouting.CommentsAreaColor = Color.Red; -opts.NotesCommentsLayouting.CommentsAreaWidth = 200; -opts.NotesCommentsLayouting.CommentsPosition = CommentsPositions.Right; +![Изображение JPG с комментариями](image_with_comments.png) -using (Graphics graphics = Graphics.FromImage(bmp)) -{ - pres.Slides[0].RenderToGraphics(opts, graphics); -} -bmp.Save("OutPresBitmap.png", ImageFormat.Png); -System.Diagnostics.Process.Start("OutPresBitmap.png"); -``` +## **Смотрите также** + +Смотрите другие варианты конвертации PPT, PPTX или ODP в изображения, например: + +- [Преобразовать PowerPoint в GIF](/slides/ru/net/convert-powerpoint-to-animated-gif/) +- [Преобразовать PowerPoint в PNG](/slides/ru/net/convert-powerpoint-to-png/) +- [Преобразовать PowerPoint в TIFF](/slides/ru/net/convert-powerpoint-to-tiff/) +- [Преобразовать PowerPoint в SVG](/slides/ru/net/render-a-slide-as-an-svg-image/) + +{{% alert color="primary" %}} -{{% alert title="Совет" color="primary" %}} +Чтобы увидеть, как Aspose.Slides конвертирует PowerPoint в изображения JPG, попробуйте эти бесплатные онлайн‑конвертеры: PowerPoint [PPTX в JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) и [PPT в JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg). -Aspose предоставляет [БЕСПЛАТНОЕ веб-приложение Collage](https://products.aspose.app/slides/collage). С помощью этого онлайн-сервиса вы можете объединять [JPG в JPG](https://products.aspose.app/slides/collage/jpg) или изображения PNG в PNG, создавать [фото сетки](https://products.aspose.app/slides/collage/photo-grid) и так далее. +{{% /alert %}} + +![Бесплатный онлайн‑конвертер PPTX в JPG](ppt-to-jpg.png) + +{{% alert title="Tip" color="primary" %}} -Используя те же принципы, описанные в этой статье, вы можете конвертировать изображения из одного формата в другой. Для получения дополнительной информации смотрите эти страницы: конвертировать [изображение в JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); конвертировать [JPG в изображение](https://products.aspose.com/slides/net/conversion/jpg-to-image/); конвертировать [JPG в PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), конвертировать [PNG в JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); конвертировать [PNG в SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), конвертировать [SVG в PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). +Aspose предоставляет [БЕСПЛАТНОЕ веб‑приложение Collage](https://products.aspose.app/slides/collage). С помощью этой онлайн‑службы вы можете объединять изображения [JPG в JPG](https://products.aspose.app/slides/collage/jpg) или PNG в PNG, создавать [фото‑решётки](https://products.aspose.app/slides/collage/photo-grid) и т.д. + +Используя те же принципы, описанные в этой статье, вы можете конвертировать изображения из одного формата в другой. Для получения дополнительной информации см. эти страницы: конвертировать [изображение в JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); конвертировать [JPG в изображение](https://products.aspose.com/slides/net/conversion/jpg-to-image/); конвертировать [JPG в PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), конвертировать [PNG в JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); конвертировать [PNG в SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), конвертировать [SVG в PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -## **Смотрите также** +## **Часто задаваемые вопросы** + +**Поддерживает ли этот метод пакетную конвертацию?** + +Да, Aspose.Slides позволяет пакетно конвертировать несколько слайдов в JPG за одну операцию. + +**Поддерживает ли конвертация SmartArt, диаграммы и другие сложные объекты?** + +Да, Aspose.Slides отображает всё содержимое, включая SmartArt, диаграммы, таблицы, фигуры и прочее. Однако точность рендеринга может немного отличаться от PowerPoint, особенно при использовании пользовательских или отсутствующих шрифтов. -Смотрите другие варианты конвертации PPT/PPTX в изображения, такие как: +**Есть ли ограничения на количество слайдов, которые можно обработать?** -- [Конвертация PPT/PPTX в SVG](/slides/ru/net/render-a-slide-as-an-svg-image/). \ No newline at end of file +Aspose.Slides сам по себе не накладывает строгих ограничений на количество обрабатываемых слайдов. Однако при работе с большими презентациями или изображениями высокого разрешения может возникнуть ошибка «недостаточно памяти». \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md index 5c882864c7..cfafab96d3 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md @@ -1,10 +1,10 @@ --- -title: Конвертация PowerPoint в Markdown на C# +title: Конвертировать PowerPoint в Markdown на C# type: docs weight: 140 url: /ru/net/convert-powerpoint-to-markdown/ -keywords: "Конвертация PowerPoint в Markdown, Конвертация ppt в md, PowerPoint, PPT, PPTX, Презентация, Markdown, C#, Csharp, .NET, Aspose.Slides" -description: "Конвертация PowerPoint в Markdown на C#" +keywords: "Конвертировать PowerPoint в Markdown, Конвертировать ppt в md, PowerPoint, PPT, PPTX, Презентация, Markdown, C#, Csharp, .NET, Aspose.Slides" +description: "Конвертировать PowerPoint в Markdown на C#" --- {{% alert color="info" %}} @@ -15,17 +15,16 @@ description: "Конвертация PowerPoint в Markdown на C#" {{% alert color="warning" %}} -Экспорт PowerPoint в markdown **без изображений** по умолчанию. Если вы хотите экспортировать документ PowerPoint, содержащий изображения, вам необходимо задать `ExportType = MarkdownExportType.Visual` и указать BasePath, где будут сохранены изображения, на которые ссылается markdown документ. +Экспорт PowerPoint в markdown по умолчанию **без изображений**. Если вы хотите экспортировать документ PowerPoint, содержащий изображения, вам нужно задать `ExportType = MarkdownExportType.Visual` и установить BasePath, куда будут сохраняться изображения, на которые ссылается markdown‑документ. {{% /alert %}} -## **Конвертация PowerPoint в Markdown** +## **Преобразование PowerPoint в Markdown** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), чтобы представить объект презентации. -2. Используйте метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save), чтобы сохранить объект в виде markdown файла. - -Этот код на C# показывает, как конвертировать PowerPoint в markdown: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), представляющего объект презентации. +2. Используйте метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save), чтобы сохранить объект в markdown‑файл. +Этот код C# показывает, как преобразовать PowerPoint в markdown: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -33,12 +32,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Конвертация PowerPoint в различные форматы Markdown -Aspose.Slides позволяет конвертировать PowerPoint в markdown (с базовым синтаксисом), CommonMark, GitHub-совместимый markdown, Trello, XWiki, GitLab и 17 других форматов markdown. +## **Преобразование PowerPoint в варианты Markdown** -Этот код на C# показывает, как конвертировать PowerPoint в CommonMark: +Aspose.Slides позволяет преобразовать PowerPoint в markdown (с базовым синтаксисом), CommonMark, GitHub‑flavored markdown, Trello, XWiki, GitLab и еще 17 вариантов markdown. +Этот код C# показывает, как преобразовать PowerPoint в CommonMark: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -49,16 +48,16 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -23 поддерживаемых формата markdown [перечислены в перечислении Flavor](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) из класса [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/). -## **Конвертация презентации, содержащей изображения, в Markdown** +23 поддерживаемых варианта markdown перечислены в [Flavor enumeration](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) из класса [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/). -Класс [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) предоставляет свойства и перечисления, которые позволяют использовать определенные параметры или настройки для результирующего markdown файла. Например, перечисление [MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/) может быть установлено на значения, определяющие, как обрабатываются или отображаются изображения: `Sequential`, `TextOnly`, `Visual`. +## **Преобразование презентации с изображениями в Markdown** -### **Последовательная конвертация изображений** +Класс [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) предоставляет свойства и перечисления, позволяющие использовать определённые параметры или настройки для получаемого markdown‑файла. Перечисление [MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/), например, может быть установлено в значения, определяющие, как изображения отображаются или обрабатываются: `Sequential`, `TextOnly`, `Visual`. -Если вы хотите, чтобы изображения отображались по одному, одно за другим в результирующем markdown, вам нужно выбрать последовательный вариант. Этот код на C# показывает, как конвертировать презентацию, содержащую изображения, в markdown: +### **Последовательное преобразование изображений** +Если вы хотите, чтобы изображения появлялись по отдельности одно за другим в получаемом markdown, необходимо выбрать опцию sequential. Этот код C# показывает, как преобразовать презентацию с изображениями в markdown: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -75,12 +74,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **Визуальная конвертация изображений** -Если вы хотите, чтобы изображения отображались вместе в результирующем markdown, вам нужно выбрать визуальный вариант. В этом случае изображения будут сохранены в текущем каталоге приложения (и для них будет построен относительный путь в markdown документе), или вы можете указать свой предпочтительный путь и имя папки. +### **Визуальное преобразование изображений** -Этот код на C# демонстрирует операцию: +Если вы хотите, чтобы изображения отображались вместе в получаемом markdown, необходимо выбрать опцию visual. В этом случае изображения будут сохранены в текущий каталог приложения (и в markdown‑документе будет построен относительный путь к ним), либо вы можете указать свой предпочтительный путь и имя папки. +Этот код C# демонстрирует операцию: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -92,4 +91,19 @@ using (Presentation pres = new Presentation("pres.pptx")) BasePath = outPath }); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Сохраняются ли гиперссылки при экспорте в Markdown?** + +Да. Текстовые [гиперссылки](/slides/ru/net/manage-hyperlinks/) сохраняются как стандартные ссылки Markdown. [Переходы](/slides/ru/net/slide-transition/) и [анимации](/slides/ru/net/powerpoint-animation/) слайдов не конвертируются. + +**Можно ли ускорить конвертацию, запустив её в нескольких потоках?** + +Можно распараллелить обработку файлов, но [не следует делить](/slides/ru/net/multithreading/) один и тот же объект [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) между потоками. Используйте отдельные экземпляры/процессы для каждого файла, чтобы избежать конфликтов. + +**Что происходит с изображениями — где они сохраняются и являются ли пути относительными?** + +[Изображения](/slides/ru/net/image/) экспортируются в отдельную папку, а файл Markdown по умолчанию ссылается на них относительными путями. Вы можете настроить базовый путь вывода и имя папки ресурсов, чтобы поддерживать предсказуемую структуру репозитория. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index 10dbdba2bc..62789b2b3b 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,15 +1,20 @@ --- -title: Конвертация PowerPoint в PDF на C# -linktitle: Конвертация PowerPoint в PDF +title: Преобразовать PPT и PPTX в PDF на C# [Включены расширенные возможности] +linktitle: Преобразовать PPT и PPTX в PDF type: docs weight: 40 url: /ru/net/convert-powerpoint-to-pdf/ keywords: -- конвертировать PowerPoint -- презентация +- преобразовать PowerPoint +- преобразовать презентацию - PowerPoint в PDF +- презентация в PDF - PPT в PDF +- преобразовать PPT в PDF - PPTX в PDF +- преобразовать PPTX в PDF +- ODP в PDF +- преобразовать ODP в PDF - сохранить PowerPoint как PDF - PDF/A1a - PDF/A1b @@ -17,173 +22,170 @@ keywords: - C# - Csharp - .NET -- Aspose.Slides для .NET -description: "Конвертируйте презентации PowerPoint в PDF на C# или .NET. Сохраните PowerPoint как PDF с соблюдением норм или стандартов доступности." +- Aspose.Slides for .NET +description: "Узнайте, как преобразовать презентации PPT, PPTX и ODP в PDF на C# или .NET с помощью Aspose.Slides. Реализуйте расширенные функции, такие как защита паролем, стандарты соответствия и пользовательские параметры для создания PDF высокого качества и доступных документов." --- ## **Обзор** -Конвертация документов PowerPoint в формат PDF имеет несколько преимуществ, включая обеспечение совместимости с различными устройствами и сохранение макета и форматирования вашей презентации. Эта статья показывает, как конвертировать презентации в PDF-документы, использовать различные опции для контроля качества изображений, включать скрытые слайды, защищать PDF-документы паролем, обнаруживать замену шрифтов, выбирать слайды для конвертации и применять стандарты соответствия к выходным документам. +Преобразование презентаций PowerPoint (PPT, PPTX, ODP и т.д.) в формат PDF на C# предоставляет несколько преимуществ, включая совместимость с различными устройствами и сохранение макета и форматирования вашей презентации. Это руководство демонстрирует, как конвертировать презентации в PDF‑документы, использовать различные параметры для контроля качества изображений, включать скрытые слайды, защищать PDF паролем, обнаруживать замену шрифтов, выбирать отдельные слайды для конвертации и применять стандарты соответствия к итоговым документам. ## **Конвертация PowerPoint в PDF** -Используя Aspose.Slides, вы можете конвертировать презентации в следующих форматах в PDF: +С помощью Aspose.Slides вы можете конвертировать презентации в следующих форматах в PDF: -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -Чтобы конвертировать презентацию в PDF, вам просто нужно передать имя файла в качестве аргумента в классе [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) и затем сохранить презентацию как PDF с помощью метода [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/). Класс [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) предоставляет метод [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/#presentationsave-method-5-of-9), который обычно используется для конвертации презентации в PDF. +Чтобы конвертировать презентацию в PDF, передайте имя файла как аргумент классу [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) и затем сохраните презентацию как PDF, используя метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/). Класс [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) предоставляет метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/), который обычно используется для преобразования презентации в PDF. -{{% alert title="ПРИМЕЧАНИЕ" color="warning" %}} +{{% alert title="NOTE" color="warning" %}} -Aspose.Slides для .NET напрямую записывает информацию о API и номер версии в выходные документы. Например, когда он конвертирует презентацию в PDF, Aspose.Slides для .NET заполняет поле приложения значением '*Aspose.Slides*' и поле производителя PDF значением в формате '*Aspose.Slides v XX.XX*'. **Обратите внимание**, что вы не можете указать Aspose.Slides для .NET изменить или удалить эту информацию из выходных документов. +Aspose.Slides for .NET вставляет сведения о своем API и номер версии в выходные документы. Например, при конвертации презентации в PDF Aspose.Slides заполняет поле Application значением "*Aspose.Slides*", а поле PDF Producer — значением вида "*Aspose.Slides v XX.XX*". **Примечание**: вы не можете заставить Aspose.Slides изменить или удалить эту информацию из выходных документов. {{% /alert %}} Aspose.Slides позволяет вам конвертировать: -* целую презентацию в PDF -* определенные слайды презентации в PDF -* презентацию +* Полные презентации в PDF +* Определённые слайды из презентации в PDF -Aspose.Slides экспортирует презентации в PDF таким образом, что содержимое полученных PDF очень похоже на содержимое оригинальных презентаций. Эти известные элементы и атрибуты часто правильно отображаются при конвертации презентации в PDF: +Aspose.Slides экспортирует презентации в PDF, гарантируя, что полученные PDF‑файлы максимально точно соответствуют оригинальным презентациям. Элементы и атрибуты отображаются точно при конвертации, включая: -* изображения -* текстовые поля и другие фигуры -* тексты и их форматирование -* абзацы и их форматирование -* гиперссылки -* колонтитулы -* маркированные списки -* таблицы +* Изображения +* Текстовые блоки и формы +* Форматирование текста +* Форматирование абзацев +* Гиперссылки +* Верхние и нижние колонтитулы +* Маркеры +* Таблицы -## **Конвертация PowerPoint в PDF** - -Стандартная операция конвертации PowerPoint в PDF выполняется с использованием настроек по умолчанию. В этом случае Aspose.Slides пытается конвертировать представленную презентацию в PDF, используя оптимальные настройки на максимальных уровнях качества. +## **Преобразование PowerPoint в PDF** -Этот код на C# показывает, как конвертировать PowerPoint (PPT, PPTX, ODP) в PDF: +Стандартный процесс преобразования PowerPoint в PDF использует параметры по умолчанию. В этом случае Aspose.Slides пытается конвертировать предоставленную презентацию в PDF, используя оптимальные настройки и максимальное качество. +Этот C#‑код показывает, как конвертировать презентацию (PPT, PPTX, ODP и т.д.) в PDF: ```c# -// Создание экземпляра класса Presentation, представляющего файл PowerPoint, это может быть PPT, PPTX, ODP и т.д. -Presentation presentation = new Presentation("PowerPoint.ppt"); +// Создайте экземпляр класса Presentation, который представляет файл PowerPoint или OpenDocument. +using var presentation = new Presentation("PowerPoint.ppt"); -// Сохранение презентации как PDF +// Сохраните презентацию в PDF. presentation.Save("PDF-result.pdf", SaveFormat.Pdf); ``` + {{% alert color="primary" %}} -Aspose предоставляет бесплатный онлайн [**конвертер PowerPoint в PDF**](https://products.aspose.app/slides/conversion/ppt-to-pdf), который демонстрирует процесс конвертации презентации в PDF. Для живой реализации процедуры, описанной здесь, вы можете провести тест с конвертером. +Aspose предлагает бесплатный онлайн [**конвертер PowerPoint в PDF**](https://products.aspose.app/slides/conversion/ppt-to-pdf), демонстрирующий процесс преобразования презентации в PDF. Вы можете протестировать этот конвертер для живой реализации описанной здесь процедуры. {{% /alert %}} -## **Конвертация PowerPoint в PDF с параметрами** +## **Преобразование PowerPoint в PDF с параметрами** -Aspose.Slides предоставляет настраиваемые параметры — свойства в классе [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), которые позволяют вам настроить PDF (полученный в результате процесса конвертации), заблокировать PDF паролем или даже указать, как должна проходить процедура конвертации. +Aspose.Slides предоставляет настраиваемые параметры — свойства класса [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), — которые позволяют вам адаптировать получаемый PDF, защищать PDF паролем или задавать порядок выполнения процесса конвертации. -### **Конвертация PowerPoint в PDF с настраиваемыми параметрами** +### **Преобразование PowerPoint в PDF с пользовательскими параметрами** -Используя настраиваемые параметры конвертации, вы можете установить желаемую настройку качества для растровых изображений, указать, как следует обрабатывать метафайлы, установить уровень сжатия для текстов, установить DPI для изображений и т.д. - -Пример кода ниже демонстрирует операцию, в которой презентация PowerPoint конвертируется в PDF с несколькими пользовательскими параметрами: +Используя пользовательские параметры конвертации, вы можете задать предпочтительные настройки качества растровых изображений, указать, как обрабатывать метафайлы, установить уровень сжатия текста, настроить DPI для изображений и многое другое. +Пример кода ниже демонстрирует, как конвертировать презентацию PowerPoint в PDF с несколькими пользовательскими параметрами. ```c# -// Создание экземпляра класса PdfOptions -PdfOptions pdfOptions = new PdfOptions +// Создайте экземпляр класса PdfOptions. +var pdfOptions = new PdfOptions { - // Установка качества для изображений JPG + // Установите качество для JPG изображений. JpegQuality = 90, - // Установка DPI для изображений + // Установите DPI для изображений. SufficientResolution = 300, - // Установка поведения для метафайлов + // Установите поведение для метафайлов. SaveMetafilesAsPng = true, - // Установка уровня сжатия текста для текстового контента + // Установите уровень сжатия текста для текстового содержимого. TextCompression = PdfTextCompression.Flate, - // Определение режима соответствия PDF + // Определите режим соответствия PDF. Compliance = PdfCompliance.Pdf15 }; -// Создание экземпляра класса Presentation, представляющего документ PowerPoint -using (Presentation presentation = new Presentation("PowerPoint.pptx")) -{ - // Сохранение презентации как PDF-документ - presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); -} +// Создайте экземпляр класса Presentation, который представляет файл PowerPoint или OpenDocument файл. +using var presentation = new Presentation("PowerPoint.pptx"); + +// Сохраните презентацию как PDF документ. +presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **Конвертация PowerPoint в PDF с скрытыми слайдами** -Если презентация содержит скрытые слайды, вы можете использовать настраиваемую опцию — свойство [`ShowHiddenSlides`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) из класса [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), чтобы указать Aspose.Slides включить скрытые слайды в качестве страниц в результирующем PDF. +### **Преобразование PowerPoint в PDF с скрытыми слайдами** -Этот код на C# показывает, как конвертировать презентацию PowerPoint в PDF с включенными скрытыми слайдами: +Если презентация содержит скрытые слайды, вы можете использовать свойство [ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) класса [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) для включения скрытых слайдов в виде страниц в результирующем PDF. +Этот C#‑код показывает, как конвертировать презентацию PowerPoint в PDF с включёнными скрытыми слайдами: ```c# -// Создание экземпляра класса Presentation, представляющего файл PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Создайте экземпляр класса Presentation, представляющего файл PowerPoint или OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -// Создание экземпляра класса PdfOptions -PdfOptions pdfOptions = new PdfOptions(); +// Создайте экземпляр класса PdfOptions. +var pdfOptions = new PdfOptions(); -// Включение скрытых слайдов +// Добавьте скрытые слайды. pdfOptions.ShowHiddenSlides = true; -// Сохранение презентации как PDF +// Сохраните презентацию в PDF. presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **Конвертация PowerPoint в PDF с защитой паролем** -Этот код на C# показывает, как конвертировать PowerPoint в защищенный PDF (с использованием параметров защиты из класса [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)): +### **Преобразование PowerPoint в PDF, защищённый паролем** +Этот C#‑код демонстрирует, как преобразовать презентацию PowerPoint в PDF, защищённый паролем, используя параметры защиты из класса [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/): ```c# -// Создание экземпляра Presentation, представляющего файл PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Создайте экземпляр класса Presentation, представляющего файл PowerPoint или OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -/// Создание экземпляра класса PdfOptions -PdfOptions pdfOptions = new PdfOptions(); +// Создайте экземпляр класса PdfOptions. +var pdfOptions = new PdfOptions(); -// Установка пароля PDF и разрешений на доступ +// Установите пароль PDF и права доступа. pdfOptions.Password = "password"; pdfOptions.AccessPermissions = PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint; -// Сохранение презентации как PDF +// Сохраните презентацию в PDF. presentation.Save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **Обнаружение замен шрифтов** -Aspose.Slides предоставляет свойство [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) в классе [SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/), позволяющее вам обнаруживать замены шрифтов в процессе конвертации презентации в PDF. +### **Обнаружение замен шрифтов** -Этот код на C# показывает, как обнаружить замены шрифтов: +Aspose.Slides предоставляет свойство [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) в классе [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), позволяя обнаруживать замену шрифтов во время процесса конвертации презентации в PDF. +Этот C#‑код показывает, как обнаружить замену шрифтов: ```c# public static void Main() { - LoadOptions loadOptions = new LoadOptions(); - FontSubstSendsWarningCallback warningCallback = new FontSubstSendsWarningCallback(); - loadOptions.WarningCallback = warningCallback; + // Создайте экземпляр класса Presentation, представляющего файл PowerPoint или OpenDocument file. + using var presentation = new Presentation("sample.pptx"); - using (Presentation pres = new Presentation("pres.pptx", loadOptions)) - { - } + // Установите обработчик предупреждений в параметрах PDF. + var pdfOptions = new PdfOptions(); + pdfOptions.WarningCallback = new FontSubstitutionHandler(); + + // Сохраните презентацию в PDF. + presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); } -private class FontSubstSendsWarningCallback : IWarningCallback +// Реализация обработчика предупреждений. +private class FontSubstitutionHandler : IWarningCallback { public ReturnAction Warning(IWarningInfo warning) { - if (warning.WarningType == WarningType.CompatibilityIssue) - return ReturnAction.Continue; - if (warning.WarningType == WarningType.DataLoss && warning.Description.StartsWith("Font will be substituted")) { - Console.WriteLine($"Предупреждение о замене шрифта: {warning.Description}"); + Console.WriteLine($"Font substitution warning: {warning.Description}"); } return ReturnAction.Continue; @@ -191,97 +193,131 @@ private class FontSubstSendsWarningCallback : IWarningCallback } ``` + {{% alert color="primary" %}} -Для получения дополнительной информации о получении обратных вызовов для замен шрифтов в процессе рендеринга, см. [Получение обратных вызовов о предупреждениях для замены шрифтов](https://docs.aspose.com/slides/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/). +Для получения обратных вызовов предупреждений при замене шрифтов во время процесса рендеринга см. [Получение обратных вызовов предупреждений для замены шрифтов](/slides/ru/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/). -Для получения дополнительной информации о замене шрифтов см. статью [Замена шрифтов](https://docs.aspose.com/slides/net/font-substitution/). +Для получения дополнительной информации о замене шрифтов см. статью [Замена шрифтов](/slides/ru/net/font-substitution/). {{% /alert %}} -## **Конвертация выбранных слайдов в PowerPoint в PDF** - -Этот код на C# показывает, как конвертировать конкретные слайды в презентации PowerPoint в PDF: +## **Преобразование выбранных слайдов из PowerPoint в PDF** +Этот C#‑код демонстрирует, как конвертировать только определённые слайды из презентации PowerPoint в PDF: ```c# -// Создание экземпляра Presentation, представляющего файл PowerPoint -Presentation presentation = new Presentation("PowerPoint.pptx"); +// Создайте экземпляр класса Presentation, который представляет файл PowerPoint или OpenDocument. +using var presentation = new Presentation("PowerPoint.pptx"); -// Установка массива позиций слайдов +// Установите массив номеров слайдов. int[] slides = { 1, 3 }; -// Сохранение презентации как PDF +// Сохраните презентацию в PDF. presentation.Save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf); ``` -## **Конвертация PowerPoint в PDF с настраиваемым размером слайда** -Этот код на C# показывает, как конвертировать PowerPoint, когда его размер слайда указан, в PDF: +## **Преобразование PowerPoint в PDF с пользовательским размером слайда** +Этот C#‑код демонстрирует, как конвертировать презентацию PowerPoint в PDF с указанным размером слайда: ```c# -// Создание экземпляра Presentation, представляющего файл PowerPoint -Presentation presentation = new Presentation("SelectedSlides.pptx"); -Presentation auxPresentation = new Presentation(); +var slideWidth = 612; +var slideHeight = 792; + +// Load a PowerPoint presentation. +using var presentation = new Presentation("SelectedSlides.pptx"); -ISlide slide = presentation.Slides[0]; -auxPresentation.Slides.InsertClone(0, slide); +// Create a new presentation with an adjusted slide size. +using var resizedPresentation = new Presentation(); -// Установка типа и размера слайда -// auxPresentation.SlideSize.SetSize(presentation.SlideSize.Size.Width, presentation.SlideSize.Size.Height,SlideSizeScaleType.EnsureFit); -auxPresentation.SlideSize.SetSize(612F, 792F,SlideSizeScaleType.EnsureFit); +// Set the custom slide size. +resizedPresentation.SlideSize.SetSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit); -PdfOptions pdfOptions = new PdfOptions(); -INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; -options.NotesPosition = NotesPositions.BottomFull; +// Clone the first slide from the original presentation. +var slide = presentation.Slides[0]; +resizedPresentation.Slides.InsertClone(0, slide); -auxPresentation.Save("PDFnotes_out.pdf", SaveFormat.Pdf, pdfOptions); +// Save the resized presentation to a PDF with notes. +resizedPresentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf); ``` -## **Конвертация PowerPoint в PDF в виде заметок слайдов** -Этот код на C# показывает, как конвертировать PowerPoint в PDF заметок: +## **Преобразование PowerPoint в PDF в режиме заметок слайдов** +Этот C#‑код демонстрирует, как конвертировать презентацию PowerPoint в PDF, включающий заметки: ```c# -// Создание экземпляра класса Presentation, представляющего файл PowerPoint -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// Загрузите презентацию PowerPoint. +using var presentation = new Presentation("NotesFile.pptx"); + +// Configure the PDF options with Notes Layout. +var pdfOptions = new PdfOptions { - PdfOptions pdfOptions = new PdfOptions(); - INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + } +}; - // Сохранение презентации в PDF заметок - presentation.Save("Pdf_Notes_out.tiff", SaveFormat.Pdf, pdfOptions); -} +// Save the presentation to a PDF with notes. +presentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions); ``` -## **Стандарты доступности и соблюдения для PDF** -Aspose.Slides позволяет вам использовать процедуру конвертации, которая соответствует [Руководящим принципам по доступности веб-контента (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Вы можете экспортировать документ PowerPoint в PDF с использованием любого из этих стандартов соответствия: **PDF/A1a**, **PDF/A1b** и **PDF/UA**. +## **Стандарты доступности и соответствия для PDF** -Этот код на C# демонстрирует операцию конвертации PowerPoint в PDF, в которой получаются несколько PDF на основе различных стандартов соответствия: +Aspose.Slides позволяет использовать процедуру конвертации, соответствующую [Руководству по доступности веб‑контента (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Вы можете экспортировать документ PowerPoint в PDF, используя любой из следующих стандартов соответствия: **PDF/A1a**, **PDF/A1b** и **PDF/UA**. +Этот C#‑код демонстрирует процесс преобразования PowerPoint в PDF, создающий несколько PDF‑файлов на основе различных стандартов соответствия: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using var presentation = new Presentation("pres.pptx"); + +presentation.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions { - pres.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1a - }); - - pres.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1b - }); - - pres.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfUa - }); -} + Compliance = PdfCompliance.PdfA1a +}); + +presentation.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfA1b +}); + +presentation.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfUa +}); ``` -{{% alert title="Примечание" color="warning" %}} -Поддержка Aspose.Slides операций по конвертации PDF расширяется до возможности конвертировать PDF в самые популярные форматы файлов. Вы можете осуществлять [PDF в HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/), [PDF в изображение](https://products.aspose.com/slides/net/conversion/pdf-to-image/), [PDF в JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/) и [PDF в PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/). Другие операции конвертации PDF в специализированные форматы — [PDF в SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/), [PDF в TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/) и [PDF в XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/) — также поддерживаются. +{{% alert title="Note" color="warning" %}} + +Aspose.Slides поддерживает операции конвертации PDF, позволяя преобразовывать PDF‑файлы в популярные форматы. Вы можете выполнять конвертации [PDF в HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/), [PDF в изображение](https://products.aspose.com/slides/net/conversion/pdf-to-image/), [PDF в JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/), и [PDF в PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/). Также поддерживаются другие операции конвертации PDF в специализированные форматы — [PDF в SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/), [PDF в TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/), и [PDF в XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/). + +{{% /alert %}} + +## **Вопросы и ответы** + +**Могу ли я конвертировать несколько файлов PowerPoint в PDF пакетно?** + +Да, Aspose.Slides поддерживает пакетную конвертацию нескольких файлов PPT или PPTX в PDF. Вы можете перебрать файлы и программно применить процесс конвертации. + +**Можно ли защитить полученный PDF паролем?** + +Абсолютно. Используйте класс [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) для задания пароля и определения прав доступа во время процесса конвертации. + +**Как включить скрытые слайды в PDF?** + +Установите свойство `ShowHiddenSlides` в классе [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) в значение `true`, чтобы включить скрытые слайды в результирующий PDF. + +**Может ли Aspose.Slides сохранять высокое качество изображений в PDF?** + +Да, вы можете контролировать качество изображений, задавая такие свойства, как `JpegQuality` и `SufficientResolution` в классе [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), чтобы обеспечить высокое качество изображений в вашем PDF. + +**Поддерживает ли Aspose.Slides стандарты соответствия PDF/A?** + +Да, Aspose.Slides позволяет экспортировать PDF, соответствующие различным стандартам, включая PDF/A1a, PDF/A1b и PDF/UA, обеспечивая соответствие ваших документов требованиям доступности и архивирования. + +## **Дополнительные ресурсы** -{{% /alert %}} \ No newline at end of file +- [Документация Aspose.Slides для .NET](/slides/ru/net/) +- [Справочник API Aspose.Slides для .NET](https://reference.aspose.com/slides/net/) +- [Бесплатные онлайн‑конвертеры Aspose](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md index 55704c5144..a36eeaa43d 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md @@ -4,13 +4,24 @@ linktitle: Конвертировать PowerPoint в PNG type: docs weight: 30 url: /ru/net/convert-powerpoint-to-png/ -keywords: c# poweroint в png, c# ppt в png, c# pptx в png, c# odp в png, PowerPoint в PNG, PPT в PNG, PPTX в PNG, C#, Csharp, Aspose.Slides для .NET +keywords: +- PowerPoint в png +- ppt в png +- pptx в png +- odp в png +- PowerPoint в PNG +- PPT в PNG +- PPTX в PNG +- ODP в PNG +- C# +- Csharp +- Aspose.Slides for .NET description: Конвертировать презентацию PowerPoint в PNG на C#. Конвертировать PPT в PNG на C#. Конвертировать PPTX в PNG на C#. Конвертировать ODP в PNG на C# --- ## **Обзор** -В этой статье объясняется, как конвертировать презентацию PowerPoint в формат PNG с использованием C#. Она охватывает следующие темы. +В этой статье объясняется, как конвертировать презентацию PowerPoint в формат PNG с помощью C#. Рассмотрены следующие темы. - [Конвертировать PowerPoint в PNG на C#](#convert-powerpoint-to-png) - [Конвертировать PPT в PNG на C#](#convert-powerpoint-to-png) @@ -20,49 +31,52 @@ description: Конвертировать презентацию PowerPoint в P ## **C# PowerPoint в PNG** -Для получения примера кода на C# для конвертации PowerPoint в PNG, пожалуйста, смотрите раздел ниже т.е. [Конвертировать PowerPoint в PNG](#convert-powerpoint-to-png). Код может загружать различные форматы, такие как PPT, PPTX и ODP в объект Presentation, а затем сохранять миниатюру его слайдов в формате PNG. Другие конверсии PowerPoint в изображение, которые более или менее похожи, такие как JPG, BMP, TIFF и SVG, обсуждаются в этих статьях. +Для примера кода C# по конвертации PowerPoint в PNG смотрите раздел ниже — [Конвертировать PowerPoint в PNG](#convert-powerpoint-to-png). Код может загружать различные форматы, такие как PPT, PPTX и ODP, в объект Presentation, а затем сохранять миниатюру слайда в формате PNG. Другие конвертации PowerPoint в изображения, похожие по принципу, такие как JPG, BMP, TIFF и SVG, обсуждаются в следующих статьях. - [C# PowerPoint в JPG](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) - [C# PowerPoint в BMP](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) - [C# PowerPoint в TIFF](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) - [C# PowerPoint в SVG](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) -## **О конверсии PowerPoint в PNG** +## **О конвертации PowerPoint в PNG** -Формат PNG (Portable Network Graphics) не так популярен, как JPEG (Joint Photographic Experts Group), но все же весьма распространен. +Формат PNG (Portable Network Graphics) не так популярен, как JPEG (Joint Photographic Experts Group), но все равно широко используется. -**Случай использования:** Когда у вас есть сложное изображение и размер не является проблемой, PNG является лучшим форматом изображения, чем JPEG. +**Случай применения:** Если у вас сложное изображение и размер не имеет значения, PNG — лучший формат изображения, чем JPEG. -{{% alert title="Совет" color="primary" %}} Вам может быть интересно ознакомиться с бесплатными **Конвертерами PowerPoint в PNG** от Aspose: [PPTX в PNG](https://products.aspose.app/slides/conversion/pptx-to-png) и [PPT в PNG](https://products.aspose.app/slides/conversion/ppt-to-png). Это живые реализации процесса, описанного на этой странице. {{% /alert %}} +{{% alert title="Tip" color="primary" %}} Вам может быть интересно проверить бесплатные конвертеры Aspose **PowerPoint в PNG**: [PPTX в PNG](https://products.aspose.app/slides/conversion/pptx-to-png) и [PPT в PNG](https://products.aspose.app/slides/conversion/ppt-to-png). Это живые реализации процесса, описанного на этой странице. {{% /alert %}} ## **Конвертировать PowerPoint в PNG** -Пройдите через следующие шаги: +Выполните следующие шаги: -1. Создайте объект класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите объект слайда из коллекции [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) под интерфейсом [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). -3. Используйте метод [ISlideGetThumbnail](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/getthumbnail/index), чтобы получить миниатюру для каждого слайда. -4. Используйте метод [IPresentation.SaveMethod(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5), чтобы сохранить миниатюру слайда в формате PNG. - -Этот код на C# показывает, как конвертировать презентацию PowerPoint в PNG. Объект Presentation может загружать PPT, PPTX, ODP и т.д., затем каждый слайд в объекте презентации конвертируется в формат PNG или другие форматы изображений. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Получите объект слайда из коллекции [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) через интерфейс [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). +3. Вызовите метод [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/) для получения миниатюры каждого слайда. +4. Используйте метод [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) для сохранения миниатюры слайда в формате PNG. +Этот код C# показывает, как конвертировать презентацию PowerPoint в PNG. Объект Presentation может загружать PPT, PPTX, ODP и т.д., после чего каждый слайд преобразуется в формат PNG или другие форматы изображений. ```c# using (Presentation pres = new Presentation("pres.pptx")) { for (var index = 0; index < pres.Slides.Count; index++) { ISlide slide = pres.Slides[index]; - slide.GetThumbnail().Save($"slide_{index}.png", ImageFormat.Png); + + using (IImage image = slide.GetImage()) + { + image.Save($"slide_{index}.png", ImageFormat.Png); + } } } ``` -## **Конвертировать PowerPoint в PNG с помощью пользовательских размеров** -Если вы хотите получить PNG файлы с определенной масштабностью, вы можете установить значения для `desiredX` и `desiredY`, которые определяют размеры полученной миниатюры. +## **Конвертировать PowerPoint в PNG с пользовательскими размерами** -Этот код на C# демонстрирует описанную операцию: +Если необходимо получить PNG‑файлы определённого масштаба, задайте значения `desiredX` и `desiredY`, которые определяют размеры результирующей миниатюры. +Следующий код на C# демонстрирует описанную операцию: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -71,17 +85,21 @@ using (Presentation pres = new Presentation("pres.pptx")) for (var index = 0; index < pres.Slides.Count; index++) { ISlide slide = pres.Slides[index]; - slide.GetThumbnail(scaleX, scaleY).Save($"slide_{index}.png", ImageFormat.Png); + + using (IImage image = slide.GetImage(scaleX, scaleY)) + { + image.Save($"slide_{index}.png", ImageFormat.Png); + } } } ``` -## **Конвертировать PowerPoint в PNG с определенным размером** -Если вы хотите получить PNG файлы определенного размера, вы можете передать свои предпочтительные аргументы `width` и `height` для `ImageSize`. +## **Конвертировать PowerPoint в PNG с пользовательским размером** -Этот код показывает, как конвертировать PowerPoint в PNG, указывая размер для изображений: +Если необходимо получить PNG‑файлы определённого размера, передайте желаемые аргументы `width` и `height` для `imageSize`. +Этот код показывает, как конвертировать PowerPoint в PNG, указывая размер изображений: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -89,7 +107,26 @@ using (Presentation pres = new Presentation("pres.pptx")) for (var index = 0; index < pres.Slides.Count; index++) { ISlide slide = pres.Slides[index]; - slide.GetThumbnail(size).Save($"slide_{index}.png", ImageFormat.Png); + + using (IImage image = slide.GetImage(size)) + { + image.Save($"slide_{index}.png", ImageFormat.Png); + } } } -``` \ No newline at end of file +``` + + +## **Часто задаваемые вопросы** + +**Как экспортировать только конкретный объект (например, диаграмму или изображение), а не весь слайд?** + +Aspose.Slides поддерживает [создание миниатюр для отдельных фигур](/slides/ru/net/create-shape-thumbnails/); можно отрисовать фигуру в PNG‑изображение. + +**Поддерживается ли параллельная конвертация на сервере?** + +Да, но не следует [делить](/slides/ru/net/multithreading/) один экземпляр презентации между потоками. Используйте отдельный экземпляр для каждого потока или процесса. + +**Какие ограничения у пробной версии при экспорте в PNG?** + +Режим оценки добавляет водяной знак к выходным изображениям и применяет [другие ограничения](/slides/ru/net/licensing/), пока не будет применена лицензия. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md index 60cd53c3d6..d4723aa411 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md @@ -3,25 +3,46 @@ title: Конвертировать PowerPoint в SWF Flash type: docs weight: 80 url: /ru/net/convert-powerpoint-to-swf-flash/ -keywords: "Конвертировать PowerPoint, Презентация, PowerPoint в SWF, SWF Flash PPT в SWF, PPTX в SWF, C#, Csharp, .NET" +keywords: "Конвертировать PowerPoint, Презентация, PowerPoint в SWF, SWF flash PPT в SWF, PPTX в SWF, C#, Csharp, .NET" description: "Конвертировать презентацию PowerPoint в SWF Flash на C# или .NET" --- -Метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index), предоставленный классом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), может быть использован для конвертации всей презентации в документ SWF. Вы также можете включить комментарии в сгенерированный SWF, используя класс [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) и интерфейс [INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions). Следующий пример показывает, как конвертировать презентацию в документ SWF, используя параметры, предоставленные классом SWFOptions. +## **Конвертировать презентации в Flash** +Метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) в классе [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) может быть использован для преобразования всей презентации в документ SWF. Вы также можете включить комментарии в генерируемый SWF, используя класс [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) и интерфейс [INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions). Следующий пример показывает, как преобразовать презентацию в документ SWF, используя параметры, предоставляемые классом SWFOptions. ```c# -// Создание объекта Presentation, представляющего файл презентации +// Создать объект Presentation, представляющий файл презентации using (Presentation presentation = new Presentation("HelloWorld.pptx")) { SwfOptions swfOptions = new SwfOptions(); swfOptions.ViewerIncluded = false; + INotesCommentsLayoutingOptions notesOptions = swfOptions.NotesCommentsLayouting; notesOptions.NotesPosition = NotesPositions.BottomFull; - // Сохранение презентации и страниц с заметками + // Сохранение презентации и страниц заметок presentation.Save("SaveAsSwf_out.swf", SaveFormat.Swf, swfOptions); swfOptions.ViewerIncluded = true; presentation.Save("SaveNotes_out.swf", SaveFormat.Swf, swfOptions); } -``` \ No newline at end of file +``` + + +## **Вопросы и ответы** + +**Могу ли я включить скрытые слайды в SWF?** + +Да. Включите параметр [ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/showhiddenslides/) в [SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/). По умолчанию скрытые слайды не экспортируются. + +**Как я могу контролировать сжатие и конечный размер SWF?** + +Используйте флаг [Compressed](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/compressed/) (включён по умолчанию) и отрегулируйте [JpegQuality](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/jpegquality/), чтобы сбалансировать размер файла и качество изображения. + +**Для чего предназначен параметр 'ViewerIncluded' и когда его следует отключать?** + +[ViewerIncluded](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/viewerincluded/) добавляет встроенный интерфейс плеера (элементы управления навигацией, панели, поиск). Отключайте его, если планируете использовать собственный плеер или вам нужен «чистый» SWF‑фрейм без пользовательского интерфейса. + +**Что происходит, если исходный шрифт отсутствует на машине, где происходит экспорт?** + +Aspose.Slides заменит шрифт, указанный через [DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/) в [SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/), чтобы избежать непреднамеренного возврата к другому шрифту. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index b3cf98d63b..f7a973e6ca 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,25 +1,92 @@ --- -title: Конвертация PowerPoint в TIFF с заметками +title: Конвертировать PowerPoint в TIFF с примечаниями на C# +linktitle: PowerPoint в TIFF с примечаниями type: docs weight: 100 url: /ru/net/convert-powerpoint-to-tiff-with-notes/ -keywords: "Конвертация PowerPoint в TIFF с заметками" -description: "Конвертация PowerPoint в TIFF с заметками в Aspose.Slides." +keywords: +- конвертировать PowerPoint в TIFF +- конвертировать презентацию в TIFF +- конвертировать слайд в TIFF +- конвертировать PPT в TIFF +- конвертировать PPTX в TIFF +- конвертировать ODP в TIFF +- PowerPoint в TIFF +- презентация в TIFF +- слайд в TIFF +- PPT в TIFF +- PPTX в TIFF +- ODP в TIFF +- PowerPoint с примечаниями +- презентация с примечаниями +- слайд с примечаниями +- PPT с примечаниями +- PPTX с примечаниями +- ODP с примечаниями +- TIFF с примечаниями +- C# +- .NET +- Aspose.Slides +description: "Конвертировать презентации PowerPoint и OpenDocument в TIFF с примечаниями с помощью Aspose.Slides для .NET. Узнайте, как эффективно экспортировать слайды с примечаниями докладчика." --- -{{% alert title="Совет" color="primary" %}} +## **Обзор** -Вам может быть интересно ознакомиться с [БЕСПЛАТНЫМ конвертером PowerPoint в постер](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) от Aspose. +Aspose.Slides for .NET предоставляет простое решение для преобразования презентаций PowerPoint и OpenDocument (PPT, PPTX и ODP) с примечаниями в формат TIFF. Этот формат широко используется для качественного хранения изображений, печати и архивирования документов. С помощью Aspose.Slides вы можете не только экспортировать целые презентации с примечаниями докладчика, но и создавать миниатюры слайдов в представлении слайдов примечаний. Процесс конвертации прост и эффективен, используя метод `Save` класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) для преобразования всей презентации в серию изображений TIFF с сохранением примечаний и макета. -{{% /alert %}} +## **Конвертация презентации в TIFF с примечаниями** + +Сохранение презентации PowerPoint или OpenDocument в TIFF с примечаниями с помощью Aspose.Slides for .NET включает следующие шаги: + +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): загрузите файл PowerPoint или OpenDocument. +2. Настройте параметры макета вывода: используйте класс [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/notescommentslayoutingoptions/) для указания, как должны отображаться примечания и комментарии. +3. Сохраните презентацию в TIFF: передайте настроенные параметры методу [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index). -TIFF является одним из нескольких широко используемых форматов изображений, которые поддерживает Aspose.Slides для .NET для конвертации презентаций PowerPoint PPT и PPTX с заметками в изображения. Вы также можете генерировать миниатюры слайдов в режиме заметок. Метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index), предоставленный классом Presentation, можно использовать для конвертации всей презентации в режиме заметок в TIFF. Сохранение презентации Microsoft PowerPoint в TIFF с заметками с помощью Aspose.Slides для .NET — это процесс в две строки. Вы просто открываете презентацию и сохраняете её в формате TIFF с заметками. Вы также можете генерировать миниатюры слайдов в режиме заметок для отдельных слайдов. Приведенный ниже код обновляет пример презентации в TIFF-изображения в режиме заметок, как показано ниже: +Предположим, у нас есть файл "speaker_notes.pptx" со следующим слайдом: +![Слайд презентации с примечаниями докладчика](slide_with_notes.png) + +Ниже приведён фрагмент кода, демонстрирующий, как преобразовать презентацию в изображение TIFF в представлении слайдов примечаний, используя свойство [SlidesLayoutOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/). ```c# -// Создаем объект Presentation, представляющий файл презентации -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// Создать экземпляр класса Presentation, представляющего файл презентации. +using (Presentation presentation = new Presentation("speaker_notes.pptx")) { - // Сохраняем презентацию в TIFF с заметками - presentation.Save("Notes_In_Tiff_out.tiff", SaveFormat.Tiff); + // Настроить параметры TIFF с расположением заметок. + TiffOptions tiffOptions = new TiffOptions + { + DpiX = 300, + DpiY = 300, + + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull // Отображать заметки под слайдом. + } + }; + + // Сохранить презентацию в TIFF с примечаниями докладчика. + presentation.Save("TIFF_with_notes.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +Результат: + +![Изображение TIFF с примечаниями докладчика](TIFF_with_notes.png) + +{{% alert title="Tip" color="primary" %}} +Посмотрите бесплатный онлайн‑конвертер Aspose [Free PowerPoint to Poster Converter](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online). +{{% /alert %}} + +## **FAQ** + +**Можно ли управлять положением области примечаний в полученном TIFF?** + +Да. Используйте [настройки расположения заметок](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/) для выбора из вариантов `None`, `BottomTruncated` или `BottomFull`, которые соответственно скрывают заметки, помещают их на одну страницу или позволяют им продолжаться на дополнительные страницы. + +**Как уменьшить размер файла TIFF с примечаниями без заметной потери качества?** + +Выберите [эффективное сжатие](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) (например, `LZW` или `RLE`), задайте разумное значение DPI и, если приемлемо, используйте более низкий [формат пикселей](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) (например, 8 bpp или 1 bpp для монохромных изображений). Немного уменьшив [размеры изображения](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) можно также снизить размер без заметного ухудшения читаемости. + +**Влияет ли шрифт в примечаниях на результат, если оригинальные шрифты отсутствуют в системе?** + +Да. Отсутствующие шрифты вызывают [замену](/slides/ru/net/font-selection-sequence/), что может изменить метрики текста и его внешний вид. Чтобы этого избежать, [предоставьте необходимые шрифты](/slides/ru/net/custom-font/) или установите дефолтный [запасной шрифт](/slides/ru/net/fallback-font/), чтобы использовались требуемые типы шрифтов. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md index 0bdf72a0ea..409a54bd88 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md @@ -1,120 +1,159 @@ --- -title: Конвертировать PowerPoint в TIFF +title: Конвертировать презентации PowerPoint в TIFF на C# +titlelink: PowerPoint в TIFF type: docs weight: 90 url: /ru/net/convert-powerpoint-to-tiff/ -keywords: "Конвертировать презентацию PowerPoint, PowerPoint в TIFF, PPT в TIFF, PPTX в TIFF, C#, Csharp, .NET, Aspose.Slides" -description: "Конвертировать презентацию PowerPoint в TIFF на C# или .NET." - +keywords: +- конвертировать PowerPoint +- конвертировать OpenDocument +- конвертировать презентацию +- конвертировать слайд +- PowerPoint в TIFF +- OpenDocument в TIFF +- презентацию в TIFF +- слайд в TIFF +- PPT в TIFF +- PPTX в TIFF +- ODP в TIFF +- C# +- .NET +- Aspose.Slides +description: "Узнайте, как легко конвертировать презентации PowerPoint (PPT, PPTX) и OpenDocument (ODP) в качественные изображения TIFF с помощью Aspose.Slides для .NET. Пошаговое руководство с примерами кода." --- -TIFF (**Tagged Image File Format**) — это безошибочный растровый и высококачественный формат изображения. Профессионалы используют TIFF для своих дизайнерских, фотографических и издательских проектов. Например, если вы хотите сохранить слои и настройки в вашем дизайне или изображении, возможно, вы захотите сохранить свою работу в виде TIFF-файла. - -Aspose.Slides позволяет конвертировать слайды в PowerPoint непосредственно в TIFF. +## **Обзор** -{{% alert title="Совет" color="primary" %}} +TIFF (**Tagged Image File Format**) — широко используемый, без потерь растровый формат изображения, известный своим исключительным качеством и детальным сохранением графики. Дизайнеры, фотографы и настольные издатели часто выбирают TIFF для сохранения слоёв, точности цветов и оригинальных настроек в своих изображениях. -Вы можете ознакомиться с [БЕСПЛАТНЫМ конвертером PowerPoint в постер](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) от Aspose. - -{{% /alert %}} +С помощью Aspose.Slides вы можете без труда преобразовать свои слайды PowerPoint (PPT, PPTX) и слайды OpenDocument (ODP) напрямую в TIFF‑изображения высокого качества, обеспечивая максимальную визуальную достоверность ваших презентаций. -## **Конвертировать PowerPoint в TIFF** +## **Преобразование презентации в TIFF** -Используя метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/), предоставленный классом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/), вы можете быстро преобразовать всю презентацию PowerPoint в TIFF. Полученные TIFF-изображения соответствуют размеру слайдов по умолчанию. +Используя метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/), предоставленный классом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/), вы можете быстро преобразовать всю презентацию PowerPoint в TIFF. Полученные TIFF‑изображения соответствуют размеру слайда по умолчанию. -Этот код на C# показывает, как конвертировать PowerPoint в TIFF: - -```c# -// Создает объект Presentation, представляющий файл презентации -using (Presentation presentation = new Presentation("DemoFile.pptx")) +Этот код на C# демонстрирует, как преобразовать презентацию PowerPoint в TIFF: +```cs +// Создайте экземпляр класса Presentation, который представляет файл презентации (PPT, PPTX, ODP и т.д.). +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - // Сохраняет презентацию в формате TIFF - presentation.Save("Tiffoutput_out.tiff", SaveFormat.Tiff); + // Сохраните презентацию в формате TIFF. + presentation.Save("Output.tiff", SaveFormat.Tiff); } ``` -## **Конвертировать PowerPoint в черно-белый TIFF** -В Aspose.Slides 23.10 добавлено новое свойство ([BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/)) в класс [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/), чтобы вы могли указать алгоритм, который будет использоваться при конвертации цветного слайда или изображения в черно-белый TIFF. Обратите внимание, что эта настройка применяется только в том случае, если свойство [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) установлено на `CCITT4` или `CCITT3`. +## **Преобразование презентации в черно‑белый TIFF** + +Свойство [BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/) в классе [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) позволяет указать алгоритм, используемый при преобразовании цветного слайда или изображения в черно‑белый TIFF. Обратите внимание, что эта настройка применяется только когда свойство [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) установлено в `CCITT4` или `CCITT3`. + +Допустим, у нас есть файл "sample.pptx" со следующим слайдом: -Этот код на C# показывает, как конвертировать цветной слайд или изображение в черно-белый TIFF: +![A presentation slide](slide_black_and_white.png) -```c# -var tiffOptions = new TiffOptions +Этот код на C# демонстрирует, как преобразовать цветной слайд в черно‑белый TIFF: +```cs +TiffOptions tiffOptions = new TiffOptions { CompressionType = TiffCompressionTypes.CCITT4, BwConversionMode = BlackWhiteConversionMode.Dithering }; -using var presentation = new Presentation("sample.pptx"); -presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +using (Presentation presentation = new Presentation("sample.pptx")) +{ + presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +} ``` -## **Конвертировать PowerPoint в TIFF с пользовательским размером** - -Если вам требуется TIFF-изображение с заданными размерами, вы можете определить свои предпочтительные размеры через свойства, предоставленные в [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). Например, используя свойство [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/), вы можете установить размер для получаемого изображения. -Этот код на C# показывает, как конвертировать PowerPoint в TIFF-изображения с пользовательским размером: +Результат: -```c# -// Создает объект Presentation, представляющий файл презентации -using (Presentation pres = new Presentation("Convert_Tiff_Custom.pptx")) -{ - // Создает класс TiffOptions - TiffOptions opts = new TiffOptions(); +![Black-and-White TIFF](TIFF_black_and_white.png) - // Устанавливает тип сжатия - opts.CompressionType = TiffCompressionTypes.Default; +## **Преобразование презентации в TIFF с пользовательским размером** - INotesCommentsLayoutingOptions notesOptions = opts.NotesCommentsLayouting; - notesOptions.NotesPosition = NotesPositions.BottomFull; - // Типы сжатия +Если вам необходимо изображение TIFF с конкретными размерами, вы можете задать требуемые значения, используя свойства, доступные в классе [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/). Например, свойство [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) позволяет определить размер результирующего изображения. - // Default - Указывает схему сжатия по умолчанию (LZW). - // None - Указывает на отсутствие сжатия. - // CCITT3 - // CCITT4 - // LZW - // RLE +Этот код на C# демонстрирует, как преобразовать презентацию PowerPoint в TIFF‑изображения с пользовательским размером: +```cs +// Создайте экземпляр класса Presentation, представляющего файл презентации (PPT, PPTX, ODP и т.д.). +using (Presentation presentation = new Presentation("sample.pptx")) +{ + TiffOptions tiffOptions = new TiffOptions(); + + // Установите тип сжатия. + tiffOptions.CompressionType = TiffCompressionTypes.Default; + /* + Типы сжатия: + Default - указывает схему сжатия по умолчанию (LZW). + None - указывает отсутствие сжатия. + CCITT3 + CCITT4 + LZW + RLE + */ // Глубина зависит от типа сжатия и не может быть установлена вручную. - // Единица разрешения всегда равна “2” (точек на дюйм) - // Устанавливает DPI изображения - opts.DpiX = 200; - opts.DpiY = 100; + // Установите DPI изображения. + tiffOptions.DpiX = 200; + tiffOptions.DpiY = 200; - // Устанавливает размер изображения - opts.ImageSize = new Size(1728, 1078); + // Установите размер изображения. + tiffOptions.ImageSize = new Size(1728, 1078); - // Сохраняет презентацию в TIFF с указанным размером - pres.Save("TiffWithCustomSize_out.tiff", SaveFormat.Tiff, opts); + tiffOptions.SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; + + // Сохраните презентацию в формате TIFF с указанным размером. + presentation.Save("custom_size.tiff", SaveFormat.Tiff, tiffOptions); } ``` -## **Конвертировать PowerPoint в TIFF с пользовательским форматом пикселей изображения** -Используя свойство [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) в классе [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions), вы можете указать предпочтительный формат пикселей для получаемого TIFF-изображения. +## **Преобразование презентации в TIFF с пользовательским форматом пикселей изображения** -Этот код на C# показывает, как конвертировать PowerPoint в TIFF-изображение с пользовательским форматом пикселей: +С помощью свойства [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) из класса [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions) вы можете указать предпочитаемый формат пикселей для результирующего TIFF‑изображения. -```c# -// Создает объект Presentation, представляющий файл презентации -using (Presentation presentation = new Presentation("DemoFile.pptx")) +Этот код на C# демонстрирует, как преобразовать презентацию PowerPoint в TIFF‑изображение с пользовательским форматом пикселей: +```cs +// Создайте экземпляр класса Presentation, представляющего файл презентации (PPT, PPTX, ODP и т.д.). +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - TiffOptions options = new TiffOptions(); + TiffOptions tiffOptions = new TiffOptions(); - options.PixelFormat = ImagePixelFormat.Format8bppIndexed; + tiffOptions.PixelFormat = ImagePixelFormat.Format8bppIndexed; /* ImagePixelFormat содержит следующие значения (как указано в документации): - Format1bppIndexed; // 1 бит на пиксель, индексированный. - Format4bppIndexed; // 4 бита на пиксель, индексированный. - Format8bppIndexed; // 8 бит на пиксель, индексированный. - Format24bppRgb; // 24 бита на пиксель, RGB. - Format32bppArgb; // 32 бита на пиксель, ARGB. + Format1bppIndexed - 1 бит на пиксель, индексированный. + Format4bppIndexed - 4 бита на пиксель, индексированный. + Format8bppIndexed - 8 бит на пиксель, индексированный. + Format24bppRgb - 24 бита на пиксель, RGB. + Format32bppArgb - 32 бита на пиксель, ARGB. */ - // Сохраняет презентацию в TIFF с указанным размером изображения - presentation.Save("Tiff_With_Custom_Image_Pixel_Format_out.tiff", SaveFormat.Tiff, options); + // Сохраните презентацию в формате TIFF с указанным размером изображения. + presentation.Save("Custom_Image_Pixel_Format.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +{{% alert title="Tip" color="primary" %}} +Ознакомьтесь с [БЕСПЛАТНЫМ конвертером PowerPoint в постер](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online) от Aspose. +{{% /alert %}} + +## **Вопросы и ответы** + +**Можно ли преобразовать отдельный слайд вместо всей презентации PowerPoint в TIFF?** + +Да. Aspose.Slides позволяет отдельно преобразовывать отдельные слайды из презентаций PowerPoint и OpenDocument в TIFF‑изображения. + +**Есть ли ограничение на количество слайдов при преобразовании презентации в TIFF?** + +Нет, Aspose.Slides не накладывает ограничений на количество слайдов. Вы можете преобразовывать презентации любого размера в формат TIFF. + +**Сохраняются ли анимации и эффекты переходов PowerPoint при преобразовании слайдов в TIFF?** + +Нет, TIFF — статический формат изображения. Поэтому анимации и эффекты переходов не сохраняются; экспортируются только статические снимки слайдов. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md index 32f5169651..9d48c7e92c 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md @@ -1,60 +1,98 @@ --- -title: Конвертация PowerPoint в Видео +title: Конвертировать презентации PowerPoint в видео на C# +linktitle: PowerPoint в видео type: docs weight: 130 url: /ru/net/convert-powerpoint-to-video/ -keywords: "Конвертация PowerPoint, PPT, PPTX, Презентация, Видео, MP4, PPT в видео, PPT в MP4, C#, Csharp, .NET, Aspose.Slides" -description: "Конвертация PowerPoint в Видео на C# или .NET" +keywords: +- PowerPoint в видео +- конвертировать PowerPoint в видео +- презентация в видео +- конвертировать презентацию в видео +- PPT в видео +- конвертировать PPT в видео +- PPTX в видео +- конвертировать PPTX в видео +- ODP в видео +- конвертировать ODP в видео +- PowerPoint в MP4 +- конвертировать PowerPoint в MP4 +- презентация в MP4 +- конвертировать презентацию в MP4 +- PPT в MP4 +- конвертировать PPT в MP4 +- PPTX в MP4 +- конвертировать PPTX в MP4 +- Конверсия PowerPoint в видео +- Конверсия презентации в видео +- Конверсия PPT в видео +- Конверсия PPTX в видео +- Конверсия ODP в видео +- Конверсия видео на C# +- PowerPoint +- .NET +- C# +- Aspose.Slides +description: "Узнайте, как конвертировать презентации PowerPoint и OpenDocument в видео с помощью C#. Откройте образцы кода и методы автоматизации для оптимизации вашего рабочего процесса." --- -Конвертируя вашу презентацию PowerPoint в видео, вы получаете +## **Обзор** -* **Увеличение доступности:** Все устройства (независимо от платформы) по умолчанию оснащены видеоплеерами по сравнению с приложениями для открытия презентаций, поэтому пользователям проще открывать или воспроизводить видео. -* **Большее охваты:** С помощью видео вы можете достичь широкой аудитории и донести до них информацию, которая в противном случае может показаться утомительной в презентации. Большинство опросов и статистики показывают, что люди смотрят и потребляют видео больше, чем другие формы контента, и они в целом предпочитают такой контент. +Преобразуя вашу презентацию PowerPoint или OpenDocument в видео, вы получаете: -{{% alert color="primary" %}} +**Повышенная доступность:** Все устройства, независимо от платформы, по умолчанию оснащены видеоплеерами, что упрощает открытие и воспроизведение видео по сравнению с традиционными приложениями для презентаций. -Вы можете ознакомиться с нашим [**Онлайн Конвертером PowerPoint в Видео**](https://products.aspose.app/slides/conversion/ppt-to-word), так как это живая и эффективная реализация процесса, описанного здесь. +**Большой охват:** Видео позволяют охватить более широкую аудиторию и представить информацию в более увлекательном формате. Опросы и статистика показывают, что люди предпочитают смотреть и потреблять видеоконтент по сравнению с другими формами, делая ваше сообщение более эффективным. +{{% alert color="primary" %}} +Ознакомьтесь с нашим [**Онлайн-конвертером PowerPoint в видео**](https://products.aspose.app/slides/video), так как он предлагает живую и эффективную реализацию описанного здесь процесса. {{% /alert %}} -## **Конвертация PowerPoint в Видео в Aspose.Slides** - -В [Aspose.Slides 22.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-22-11-release-notes/) мы реализовали поддержку конвертации презентации в видео. +В Aspose.Slides для .NET реализована поддержка преобразования презентаций в видео. -* Используйте Aspose.Slides для генерации набора кадров (из слайдов презентации), которые соответствуют определенному FPS (кадров в секунду) -* Используйте стороннюю утилиту, такую как FFMpegCore (ffmpeg), чтобы создать видео на основе кадров. +* Используйте Aspose.Slides для .NET для генерации кадров из слайдов презентации с указанной частотой кадров (FPS). +* Затем используйте стороннюю утилиту, например ffmpeg, для сборки этих кадров в видео. -### **Конвертация PowerPoint в Видео** +## **Преобразовать презентацию PowerPoint в видео** -1. Используйте команду dotnet add package, чтобы добавить Aspose.Slides и библиотеку FFMpegCore в ваш проект: +1. Используйте команду `dotnet add package` для добавления Aspose.Slides и библиотеки FFMpegCore в ваш проект: * выполните `dotnet add package Aspose.Slides.NET --version 22.11.0` * выполните `dotnet add package FFMpegCore --version 4.8.0` -2. Скачайте ffmpeg [здесь](https://ffmpeg.org/download.html). -3. FFMpegCore требует указать путь к загруженному ffmpeg (например, распакованный в "C:\tools\ffmpeg"): `GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );` -4. Запустите код конвертации PowerPoint в видео. +2. Скачайте ffmpeg с [здесь](https://ffmpeg.org/download.html). +3. FFMpegCore требует указать путь к загруженному ffmpeg (например, распакованному в "C:\tools\ffmpeg"): +```cs + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); +``` -Этот код на C# показывает, как конвертировать презентацию (содержащую фигуру и два анимационных эффекта) в видео: +4. Запустите код преобразования PowerPoint в видео. +Этот код C# демонстрирует, как преобразовать презентацию (содержащую фигуру и два эффекта анимации) в видео: ```c# using System.Collections.Generic; using Aspose.Slides; -using FFMpegCore; // Будем использовать бинарные файлы FFmpeg, которые мы извлекли в "c:\tools\ffmpeg" ранее +using FFMpegCore; // будет использовать бинарные файлы FFmpeg, которые мы извлекли в C:\tools\ffmpeg ранее. using Aspose.Slides.Animation; -using (Presentation presentation = new Presentation()) +using (Presentation presentation = new Presentation()) { - // Добавляет форму смайлика и затем анимирует ее - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // Добавьте форму улыбки, а затем анимируйте её. + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; - const int Fps = 33; - List frames = new List(); + const int Fps = 33; + List frames = new List(); - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) { player.FrameTick += (sender, args) => @@ -66,46 +104,41 @@ using (Presentation presentation = new Presentation()) animationsGenerator.Run(presentation.Slides); } - // Настройка папки с бинарными файлами ffmpeg. Смотрите эту страницу: https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // Конвертирует кадры в видео webm - FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // Настройте папку с бинарными файлами ffmpeg. См. эту страницу: https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // Преобразуйте кадры в webm‑видео. + FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` -## **Видеоеффекты** -Вы можете применять анимации к объектам на слайдах и использовать переходы между слайдами. +## **Видеоэффекты** -{{% alert color="primary" %}} - -Вы можете ознакомиться с этими статьями: [Анимация PowerPoint](https://docs.aspose.com/slides/net/powerpoint-animation/), [Анимация формы](https://docs.aspose.com/slides/net/shape-animation/), и [Эффект формы](https://docs.aspose.com/slides/net/shape-effect/). +При преобразовании презентации PowerPoint в видео с помощью Aspose.Slides для .NET вы можете применять различные видеоеффекты для повышения визуального качества результата. Эти эффекты позволяют управлять отображением слайдов в финальном видео, добавляя плавные переходы, анимации и другие визуальные элементы. В этом разделе описаны доступные параметры видеоеффектов и показано, как их применять. +{{% alert color="primary" %}} +См.: +- [Улучшение презентаций PowerPoint с помощью анимаций в C#](https://docs.aspose.com/slides/net/powerpoint-animation/) +- [Анимация фигур](https://docs.aspose.com/slides/net/shape-animation/) +- [Применение эффектов фигур в PowerPoint с помощью C#](https://docs.aspose.com/slides/net/shape-effect/) {{% /alert %}} -Анимации и переходы делают слайд-шоу более увлекательными и интересными — и они делают то же самое для видео. Давайте добавим еще один слайд и переход к коду для предыдущей презентации: - +Анимации и переходы делают слайд-шоу более увлекательным и интересным — то же самое происходит и с видео. Давайте добавим еще один слайд и переход в код для предыдущей презентации: ```c# -// Добавляет форму смайлика и анимирует ее - -// ... - -// Добавляет новый слайд и анимированный переход + // Добавьте форму улыбки и анимируйте её. + // ... + // Добавьте новый слайд и анимированный переход. ISlide newSlide = presentation.Slides.AddEmptySlide(presentation.Slides[0].LayoutSlide); - newSlide.Background.Type = BackgroundType.OwnBackground; - newSlide.Background.FillFormat.FillType = FillType.Solid; - newSlide.Background.FillFormat.SolidFillColor.Color = Color.Indigo; - newSlide.SlideShowTransition.Type = TransitionType.Push; ``` -Aspose.Slides также поддерживает анимацию для текстов. Так что мы анимируем параграфы на объектах, которые появятся один за другим (с задержкой, установленной на секунду): +Aspose.Slides также поддерживает текстовые анимации. В этом примере мы анимируем абзацы объектов так, чтобы они появлялись последовательно с односекундной задержкой между ними: ```c# using System.Collections.Generic; using Aspose.Slides.Export; @@ -115,41 +148,44 @@ using Aspose.Slides.Animation; using (Presentation presentation = new Presentation()) { - // Добавляет текст и анимации - IAutoShape autoShape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); + ISlide slide = presentation.Slides[0]; + + // Добавьте текст и анимацию. + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); Paragraph para1 = new Paragraph(); - para1.Portions.Add(new Portion("Aspose Slides для .NET")); + para1.Portions.Add(new Portion("Aspose Slides for .NET")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("конвертировать презентацию PowerPoint с текстом в видео")); + para2.Portions.Add(new Portion("Convert a PowerPoint presentation with text to video")); Paragraph para3 = new Paragraph(); - para3.Portions.Add(new Portion("параграф за параграфом")); + para3.Portions.Add(new Portion("paragraph by paragraph")); autoShape.TextFrame.Paragraphs.Add(para1); autoShape.TextFrame.Paragraphs.Add(para2); autoShape.TextFrame.Paragraphs.Add(para3); autoShape.TextFrame.Paragraphs.Add(new Paragraph()); - IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect1 = slide.Timeline.MainSequence.AddEffect( + para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect2 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect2 = slide.Timeline.MainSequence.AddEffect( + para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect3 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect3 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect4 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect4 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - effect.Timing.TriggerDelayTime = 1f; + effect1.Timing.TriggerDelayTime = 1f; effect2.Timing.TriggerDelayTime = 1f; effect3.Timing.TriggerDelayTime = 1f; effect4.Timing.TriggerDelayTime = 1f; - // Конвертирует кадры в видео const int Fps = 33; List frames = new List(); - - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) - { player.FrameTick += (sender, args) => { @@ -157,34 +193,42 @@ using (Presentation presentation = new Presentation()) args.GetFrame().Save(frame); frames.Add(frame); }; + animationsGenerator.Run(presentation.Slides); } - // Настройка папки с бинарными файлами ffmpeg. Смотрите эту страницу: https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // Конвертирует кадры в видео webm - FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + // Настройте папку с бинарными файлами ffmpeg. См. эту страницу: https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // Преобразуйте кадры в webm-видео. + FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` -## **Классы конвертации видео** -Для выполнения задач конвертации PowerPoint в видео Aspose.Slides предоставляет классы [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) и [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). +## **Классы преобразования видео** -PresentationAnimationsGenerator позволяет вам установить размер кадра для видео (которое будет создано позже) через его конструктор. Если вы передадите экземпляр презентации, будет использован `Presentation.SlideSize`, и он генерирует анимации, которые использует [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). +Для выполнения задач по преобразованию PowerPoint в видео Aspose.Slides для .NET предоставляет классы [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) и [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). -Когда анимации сгенерированы, для каждой последующей анимации генерируется событие `NewAnimation`, которое имеет параметр [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/). Последний — это класс, представляющий игрока для отдельной анимации. +`PresentationAnimationsGenerator` позволяет задать размер кадра для будущего видео и значение FPS (кадров в секунду) через конструктор. Если передать экземпляр презентации, будет использован её `Presentation.SlideSize`, а генерируемые анимации использует [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). -Для работы с [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/) используются свойство [Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/) (общая длительность анимации) и метод [SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/). Каждое положение анимации устанавливается в диапазоне *от 0 до длительности*, а затем метод `GetFrame` вернет Bitmap, который соответствует состоянию анимации в этот момент. +При генерации анимаций для каждой последующей анимации вызывается событие `NewAnimation`, которое получает параметр [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/). Этот класс представляет проигрыватель отдельной анимации. +Для работы с [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/) используйте свойство [Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/) (полная продолжительность анимации) и метод [SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/). Позиция каждой анимации задаётся в диапазоне *0‑duration*, после чего метод `GetFrame` возвращает Bitmap, представляющий состояние анимации в данный момент времени. ```c# using (Presentation presentation = new Presentation()) { - // Добавляет форму смайлика и анимирует ее - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // Добавьте форму улыбки и анимируйте её. + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; @@ -192,21 +236,21 @@ using (Presentation presentation = new Presentation()) { animationsGenerator.NewAnimation += animationPlayer => { - Console.WriteLine($"Общая длительность анимации: {animationPlayer.Duration}"); - - animationPlayer.SetTimePosition(0); // начальное состояние анимации - Bitmap bitmap = animationPlayer.GetFrame(); // битмап начального состояния анимации + Console.WriteLine($"Total animation duration: {animationPlayer.Duration}"); - animationPlayer.SetTimePosition(animationPlayer.Duration); // конечное состояние анимации - Bitmap lastBitmap = animationPlayer.GetFrame(); // последний кадр анимации + animationPlayer.SetTimePosition(0); // Исходное состояние анимации. + Bitmap bitmap = animationPlayer.GetFrame(); // Битмап исходного состояния анимации. + + animationPlayer.SetTimePosition(animationPlayer.Duration); // Конечное состояние анимации. + Bitmap lastBitmap = animationPlayer.GetFrame(); // Последний кадр анимации. lastBitmap.Save("last.png"); }; } } ``` -Чтобы все анимации в презентации воспроизводились одновременно, используется класс [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). Этот класс принимает экземпляр [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) и FPS для эффектов в своем конструкторе, а затем вызывает событие `FrameTick` для всех анимаций, чтобы их воспроизвести: +Чтобы все анимации в презентации воспроизводились одновременно, используется класс [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/). Он принимает экземпляр [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) и значение FPS для эффектов в конструкторе, а затем вызывает событие `FrameTick` для всех анимаций, чтобы запустить их воспроизведение: ```c# using (Presentation presentation = new Presentation("animated.pptx")) { @@ -222,137 +266,154 @@ using (Presentation presentation = new Presentation("animated.pptx")) } ``` -Затем сгенерированные кадры могут быть собраны, чтобы создать видео. Смотрите раздел [Конвертация PowerPoint в Видео](https://docs.aspose.com/slides/net/convert-powerpoint-to-video/#convert-powerpoint-to-video). + +После этого полученные кадры можно собрать в видео. См. раздел [Convert a PowerPoint Presentation to Video](/slides/ru/net/convert-powerpoint-to-video/#convert-a-powerpoint-presentation-to-video). ## **Поддерживаемые анимации и эффекты** +При преобразовании презентации PowerPoint в видео с помощью Aspose.Slides для .NET важно знать, какие анимации и эффекты сохраняются в окончательном файле. Aspose.Slides поддерживает широкий набор типичных входных, выходных и акцентных эффектов, таких как появление, исчезновение, масштабирование и вращение. Однако некоторые продвинутые или пользовательские анимации могут быть частично утеряны или выглядеть иначе в готовом видео. Ниже перечислены поддерживаемые анимации и эффекты. **Вход**: | Тип анимации | Aspose.Slides | PowerPoint | |---|---|---| -| **Появление** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Потускнение** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Вход с летящим эффектом** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Вход с плавным эффектом** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Разделение** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Смыв** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Форма** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Колесо** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Случайные полосы** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Рост и поворот** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Масштабирование** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Качание** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Отскок** | ![поддерживается](v.png) | ![поддерживается](v.png) | - +| **Appear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly In** | ![supported](v.png) | ![supported](v.png) | +| **Float In** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Grow & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | **Акцент**: | Тип анимации | Aspose.Slides | PowerPoint | |---|---|---| -| **Пульсация** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Цветовая пульсация** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Качание** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Вращение** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Увеличение/уменьшение** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Обесцвечивание** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Потемнение** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Осветление** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Прозрачность** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Цвет объекта** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Дополнительный цвет** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Цвет линии** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Цвет заливки** | ![не поддерживается](x.png) | ![поддерживается](v.png) | +| **Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Color Pulse** | ![not supported](x.png) | ![supported](v.png) | +| **Teeter** | ![supported](v.png) | ![supported](v.png) | +| **Spin** | ![supported](v.png) | ![supported](v.png) | +| **Grow/Shrink** | ![not supported](x.png) | ![supported](v.png) | +| **Desaturate** | ![not supported](x.png) | ![supported](v.png) | +| **Darken** | ![not supported](x.png) | ![supported](v.png) | +| **Lighten** | ![not supported](x.png) | ![supported](v.png) | +| **Transparency** | ![not supported](x.png) | ![supported](v.png) | +| **Object Color** | ![not supported](x.png) | ![supported](v.png) | +| **Complementary Color** | ![not supported](x.png) | ![supported](v.png) | +| **Line Color** | ![not supported](x.png) | ![supported](v.png) | +| **Fill Color** | ![not supported](x.png) | ![supported](v.png) | **Выход**: | Тип анимации | Aspose.Slides | PowerPoint | |---|---|---| -| **Исчезновение** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Потускнение** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Выход с летящим эффектом** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Выход с плавным эффектом** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Разделение** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Смыв** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Форма** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Случайные полосы** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Уменьшение и поворот** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Масштабирование** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Качание** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Отскок** | ![поддерживается](v.png) | ![поддерживается](v.png) | - -**Движения по траектории:** +| **Disappear** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Fly Out** | ![supported](v.png) | ![supported](v.png) | +| **Float Out** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![supported](v.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shrink & Turn** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Swivel** | ![supported](v.png) | ![supported](v.png) | +| **Bounce** | ![supported](v.png) | ![supported](v.png) | + +**Маршруты движения**: | Тип анимации | Aspose.Slides | PowerPoint | |---|---|---| -| **Линии** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Арки** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Повороты** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Формы** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Циклы** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Пользовательский путь** | ![поддерживается](v.png) | ![поддерживается](v.png) | +| **Lines** | ![supported](v.png) | ![supported](v.png) | +| **Arcs** | ![supported](v.png) | ![supported](v.png) | +| **Turns** | ![supported](v.png) | ![supported](v.png) | +| **Shapes** | ![supported](v.png) | ![supported](v.png) | +| **Loops** | ![supported](v.png) | ![supported](v.png) | +| **Custom Path** | ![supported](v.png) | ![supported](v.png) | ## **Поддерживаемые эффекты переходов слайдов** -**Нежные**: +Эффекты переходов слайдов играют важную роль в создании плавных и визуально привлекательных смен между слайдами в видео. Aspose.Slides для .NET поддерживает разнообразные часто используемые переходы, помогая сохранить поток и стиль вашей оригинальной презентации. Ниже указаны поддерживаемые эффекты переходов. + +**Тонкие**: | Тип анимации | Aspose.Slides | PowerPoint | |---|---|---| -| **Морфинг** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Потускнение** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Толчок** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Привлечение** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Смыв** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Разделение** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Открытие** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Случайные полосы** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Форма** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Скрытие** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Покрытие** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Мигает** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Полосы** | ![поддерживается](v.png) | ![поддерживается](v.png) | - -**Возбуждающие**: +| **Morph** | ![not supported](x.png) | ![supported](v.png) | +| **Fade** | ![supported](v.png) | ![supported](v.png) | +| **Push** | ![supported](v.png) | ![supported](v.png) | +| **Pull** | ![supported](v.png) | ![supported](v.png) | +| **Wipe** | ![supported](v.png) | ![supported](v.png) | +| **Split** | ![supported](v.png) | ![supported](v.png) | +| **Reveal** | ![not supported](x.png) | ![supported](v.png) | +| **Random Bars** | ![supported](v.png) | ![supported](v.png) | +| **Shape** | ![not supported](x.png) | ![supported](v.png) | +| **Uncover** | ![not supported](x.png) | ![supported](v.png) | +| **Cover** | ![supported](v.png) | ![supported](v.png) | +| **Flash** | ![supported](v.png) | ![supported](v.png) | +| **Strips** | ![supported](v.png) | ![supported](v.png) | + +**Энергичные**: | Тип анимации | Aspose.Slides | PowerPoint | |---|---|---| -| **Упадок** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Драпировка** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Занавес** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Ветер** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Престиж** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Фрактура** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Сжатие** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Снятие** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Сгибание страниц** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Самолет** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Оригами** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Растворение** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Шахматная доска** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Жалюзи** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Часы** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Волна** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Соты** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Искры** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Воронка** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Рубка** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Переключить** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Перевернуть** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Галерея** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Куб** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Дверцы** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Коробка** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Гребень** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Масштабирование** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Случайный** | ![не поддерживается](x.png) | ![поддерживается](v.png) | - -**Динамическое содержимое**: +| **Fall Over** | ![not supported](x.png) | ![supported](v.png) | +| **Drape** | ![not supported](x.png) | ![supported](v.png) | +| **Curtains** | ![not supported](x.png) | ![supported](v.png) | +| **Wind** | ![not supported](x.png) | ![supported](v.png) | +| **Prestige** | ![not supported](x.png) | ![supported](v.png) | +| **Fracture** | ![not supported](x.png) | ![supported](v.png) | +| **Crush** | ![not supported](x.png) | ![supported](v.png) | +| **Peel Off** | ![not supported](x.png) | ![supported](v.png) | +| **Page Curl** | ![not supported](x.png) | ![supported](v.png) | +| **Airplane** | ![not supported](x.png) | ![supported](v.png) | +| **Origami** | ![not supported](x.png) | ![supported](v.png) | +| **Dissolve** | ![supported](v.png) | ![supported](v.png) | +| **Checkerboard** | ![not supported](x.png) | ![supported](v.png) | +| **Blinds** | ![not supported](x.png) | ![supported](v.png) | +| **Clock** | ![supported](v.png) | ![supported](v.png) | +| **Ripple** | ![not supported](x.png) | ![supported](v.png) | +| **Honeycomb** | ![not supported](x.png) | ![supported](v.png) | +| **Glitter** | ![not supported](x.png) | ![supported](v.png) | +| **Vortex** | ![not supported](x.png) | ![supported](v.png) | +| **Shred** | ![not supported](x.png) | ![supported](v.png) | +| **Switch** | ![not supported](x.png) | ![supported](v.png) | +| **Flip** | ![not supported](x.png) | ![supported](v.png) | +| **Gallery** | ![not supported](x.png) | ![supported](v.png) | +| **Cube** | ![not supported](x.png) | ![supported](v.png) | +| **Doors** | ![not supported](x.png) | ![supported](v.png) | +| **Box** | ![not supported](x.png) | ![supported](v.png) | +| **Comb** | ![not supported](x.png) | ![supported](v.png) | +| **Zoom** | ![supported](v.png) | ![supported](v.png) | +| **Random** | ![not supported](x.png) | ![supported](v.png) | + +**Динамический контент**: | Тип анимации | Aspose.Slides | PowerPoint | |---|---|---| -| **Панорамирование** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Колесо обозрения** | ![поддерживается](v.png) | ![поддерживается](v.png) | -| **Конвейер** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Вращение** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Орбита** | ![не поддерживается](x.png) | ![поддерживается](v.png) | -| **Полет сквозь** | ![поддерживается](v.png) | ![поддерживается](v.png) | \ No newline at end of file +| **Pan** | ![not supported](x.png) | ![supported](v.png) | +| **Ferris Wheel** | ![supported](v.png) | ![supported](v.png) | +| **Conveyor** | ![not supported](x.png) | ![supported](v.png) | +| **Rotate** | ![not supported](x.png) | ![supported](v.png) | +| **Orbit** | ![not supported](x.png) | ![supported](v.png) | +| **Fly Through** | ![supported](v.png) | ![supported](v.png) | + +## **Часто задаваемые вопросы** + +**Можно ли конвертировать презентации, защищённые паролем?** + +Да, Aspose.Slides для .NET позволяет работать с презентациями, защищёнными паролем. При обработке таких файлов необходимо предоставить правильный пароль, чтобы библиотека могла получить доступ к содержимому презентации. + +**Поддерживает ли Aspose.Slides для .NET использование в облачных решениях?** + +Да, Aspose.Slides для .NET можно интегрировать в облачные приложения и сервисы. Библиотека разработана для работы в серверных средах, обеспечивая высокую производительность и масштабируемость при пакетной обработке файлов. + +**Есть ли ограничения по размеру презентаций во время конвертации?** + +Aspose.Slides для .NET способен обрабатывать презентации практически любого размера. Однако при работе с очень большими файлами может потребоваться дополнительный объём системных ресурсов, и иногда рекомендуется оптимизировать презентацию для повышения производительности. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md index bf97e84103..400b58b349 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md @@ -1,70 +1,122 @@ --- -title: Конвертация PowerPoint в Word +title: Конвертация презентаций PowerPoint в документы Word на C# +linktitle: Конвертировать PowerPoint в Word type: docs weight: 110 url: /ru/net/convert-powerpoint-to-word/ -keywords: "Конвертация PowerPoint, PPT, PPTX, Презентация, Word, DOCX, DOC, PPTX в DOCX, PPT в DOC, PPTX в DOC, PPT в DOCX, C#, Csharp, .NET, Aspose.Slides" -description: "Конвертация презентации PowerPoint в Word на C# или .NET" +keywords: +- PowerPoint в DOCX +- OpenDocument в DOCX +- презентация в DOCX +- слайд в DOCX +- PPT в DOCX +- PPTX в DOCX +- ODP в DOCX +- PowerPoint в DOC +- OpenDocument в DOC +- презентация в DOC +- слайд в DOC +- PPT в DOC +- PPTX в DOC +- ODP в DOC +- PowerPoint в Word +- OpenDocument в Word +- презентация в Word +- слайд в Word +- PPT в Word +- PPTX в Word +- ODP в Word +- конвертировать PowerPoint +- конвертировать OpenDocument +- конвертировать презентацию +- конвертировать слайд +- конвертировать PPT +- конвертировать PPTX +- конвертировать ODP +- C# +- .NET +- Aspose.Slides +description: "Узнайте, как без усилий конвертировать презентации PowerPoint и OpenDocument в документы Word с помощью Aspose.Slides для .NET. Наше пошаговое руководство с примером кода на C# предоставляет решение для разработчиков, желающих оптимизировать рабочие процессы с документами." --- -Если вы планируете использовать текстовый контент или информацию из презентации (PPT или PPTX) новыми способами, вам может быть полезно конвертировать презентацию в Word (DOC или DOCX). +## **Обзор** -* По сравнению с Microsoft PowerPoint, приложение Microsoft Word лучше оснащено инструментами или функциональностью для работы с контентом. -* Кроме функций редактирования в Word, вы также можете воспользоваться улучшенными возможностями сотрудничества, печати и обмена. +Эта статья предоставляет решение для разработчиков по конвертации презентаций PowerPoint и OpenDocument в документы Word с использованием Aspose.Slides for .NET и Aspose.Words for .NET. Пошаговое руководство проведёт вас через каждый этап процесса конвертации. -{{% alert color="primary" %}} +## **Конвертировать презентацию в документ Word** -Вы можете попробовать наш [**Онлайн-конвертер презентаций в Word**](https://products.aspose.app/slides/conversion/ppt-to-word), чтобы увидеть, какие преимущества вы можете получить от работы с текстовым контентом слайдов. +Следуйте инструкциям ниже, чтобы преобразовать презентацию PowerPoint или OpenDocument в документ Word: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) и загрузите файл презентации. +2. Создайте экземпляры классов [Document](https://reference.aspose.com/words/net/aspose.words/document/) и [DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/) для генерации документа Word. +3. Установите размер страницы документа Word, соответствующий размеру презентации, используя свойство [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/). +4. Установите поля в документе Word, используя свойство [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/). +5. Пройдитесь по всем слайдам презентации, используя свойство [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/). + - Создайте изображение слайда, используя метод `GetImage` из интерфейса [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) и сохраните его в поток памяти. + - Добавьте изображение слайда в документ Word, используя метод `InsertImage` из класса [DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/). +6. Сохраните документ Word в файл. + +Предположим, у нас есть презентация "sample.pptx", которая выглядит так: + +![Презентация PowerPoint](PowerPoint.png) + +Следующий пример кода C# демонстрирует, как конвертировать презентацию PowerPoint в документ Word: +```cs +// Загрузить файл презентации. +using var presentation = new Presentation("sample.pptx"); + +// Создать объекты Document и DocumentBuilder. +var document = new Document(); +var builder = new DocumentBuilder(document); + +// Установить размер страницы в документе Word. +var slideSize = presentation.SlideSize.Size; +builder.PageSetup.PageWidth = slideSize.Width; +builder.PageSetup.PageHeight = slideSize.Height; + +// Установить поля в документе Word. +builder.PageSetup.LeftMargin = 0; +builder.PageSetup.RightMargin = 0; +builder.PageSetup.TopMargin = 0; +builder.PageSetup.BottomMargin = 0; + +const float scaleX = 2, scaleY = 2; + +// Пройти все слайды презентации. +foreach (var slide in presentation.Slides) +{ + // Сгенерировать изображение слайда и сохранить его в поток памяти. + using var image = slide.GetImage(scaleX, scaleY); + using var imageStream = new MemoryStream(); + image.Save(imageStream, ImageFormat.Png); + + // Добавить изображение слайда в документ Word. + imageStream.Seek(0, SeekOrigin.Begin); + builder.InsertImage(imageStream.ToArray(), builder.PageSetup.PageWidth, builder.PageSetup.PageHeight); + + builder.InsertBreak(BreakType.PageBreak); +} + +// Сохранить документ Word в файл. +document.Save("output.docx"); +``` + + + +Результат: + +![Документ Word](Word.png) + +{{% alert color="primary" %}} +Попробуйте наш [**Онлайн-конвертер PPT в Word**](https://products.aspose.app/slides/conversion/ppt-to-word), чтобы увидеть, что вы можете получить от конвертации презентаций PowerPoint и OpenDocument в документы Word. {{% /alert %}} -### **Aspose.Slides и Aspose.Words** - -Для конвертации файла PowerPoint (PPTX или PPT) в Word (DOCX или DOCX) вам понадобятся как [Aspose.Slides для .NET](https://products.aspose.com/slides/net/), так и [Aspose.Words для .NET](https://products.aspose.com/words/net/). - -Как самостоятельный API, [Aspose.Slides](https://products.aspose.app/slides) для .NET предоставляет функции, которые позволяют извлекать текст из презентаций. - -[Aspose.Words](https://docs.aspose.com/words/net/) — это продвинутый API для обработки документов, который позволяет приложениям генерировать, изменять, конвертировать, отображать, печатать файлы и выполнять другие задачи с документами без использования Microsoft Word. - -## **Конвертация PowerPoint в Word** - -1. Добавьте эти пространства имен в ваш файл program.cs: - - ```c# - using System; - using System.Drawing.Imaging; - using System.IO; - using Aspose.Slides; - using Aspose.Words; - using SkiaSharp; - ``` - -2. Используйте этот фрагмент кода для конвертации PowerPoint в Word: - - ```c# - using var presentation = new Presentation(); - var doc = new Document(); - var builder = new DocumentBuilder(doc); - foreach (var slide in presentation.Slides) - { - // генерирует и вставляет изображение слайда - using var bitmap = slide.GetThumbnail(1, 1); - using var stream = new MemoryStream(); - bitmap.Save(stream, ImageFormat.Png); - stream.Seek(0, SeekOrigin.Begin); - using var skBitmap = SKBitmap.Decode(stream); - builder.InsertImage(skBitmap); - - // вставляет тексты слайда - foreach (var shape in slide.Shapes) - { - if (shape is AutoShape autoShape) - { - builder.Writeln(autoShape.TextFrame.Text); - } - } - - builder.InsertBreak(BreakType.PageBreak); - } - doc.Save("document.docx"); - ``` \ No newline at end of file +## **FAQ** + +**Какие компоненты необходимо установить для конвертации презентаций PowerPoint и OpenDocument в документы Word?** + +Вам достаточно добавить соответствующие пакеты NuGet для [Aspose.Slides for .NET](https://www.nuget.org/packages/Aspose.Slides.NET) и [Aspose.Words for .NET](https://www.nuget.org/packages/Aspose.Words/) в ваш проект C#. Обе библиотеки работают как отдельные API, и установка Microsoft Office не требуется. + +**Поддерживаются ли все форматы презентаций PowerPoint и OpenDocument?** + +Aspose.Slides for .NET [поддерживает все форматы презентаций](/slides/ru/net/supported-file-formats/), включая PPT, PPTX, ODP и другие распространённые типы файлов. Это гарантирует, что вы сможете работать с презентациями, созданными в различных версиях Microsoft PowerPoint. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md index 74b8e0402b..d21ada3b96 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md @@ -1,55 +1,56 @@ --- -title: Преобразование PowerPoint в XPS +title: "Конвертировать PowerPoint в XPS" type: docs weight: 70 url: /ru/net/convert-powerpoint-to-xps -keywords: "Преобразовать презентацию PowerPoint, PowerPoint в XPS, PPT в XPS, PPTX в XPS, Конверсия, C#, Csharp, .NET, Aspose.Slides" -description: "Преобразовать презентацию PowerPoint в XPS на C# или .NET." +keywords: "Конвертировать презентацию PowerPoint, PowerPoint в XPS, PPT в XPS, PPTX в XPS, Преобразование, C#, Csharp, .NET, Aspose.Slides" +description: "Конвертировать презентацию PowerPoint в XPS на C# или .NET." --- -## **О XPS** -Microsoft разработал [XPS](https://docs.fileformat.com/page-description-language/xps/) как альтернативу [PDF](https://docs.fileformat.com/pdf/). Он позволяет печатать содержимое, создавая файл, очень похожий на PDF. Формат XPS основан на XML. Макет или структура файла XPS остаются одинаковыми на всех операционных системах и принтерах. +## **Об XPS** +Microsoft разработала [XPS](https://docs.fileformat.com/page-description-language/xps/) как альтернативу [PDF](https://docs.fileformat.com/pdf/). Он позволяет печатать содержимое, выводя файл, очень похожий на PDF. Формат XPS основан на XML. Макет или структура файла XPS остаются одинаковыми на всех операционных системах и принтерах. -## Когда использовать формат Microsoft XPS +## **Когда использовать формат Microsoft XPS** {{% alert color="primary" %}} -Чтобы увидеть, как Aspose.Slides преобразует презентацию PPT или PPTX в формат XPS, вы можете посмотреть [это бесплатное онлайн-приложение для конвертации](https://products.aspose.app/slides/conversion). +Чтобы увидеть, как Aspose.Slides конвертирует презентацию PPT или PPTX в формат XPS, вы можете посмотреть [это бесплатное онлайн‑приложение‑конвертер](https://products.aspose.app/slides/conversion). {{% /alert %}} -Если вы хотите сократить затраты на хранение, вы можете преобразовать свою презентацию Microsoft PowerPoint в формат XPS. Таким образом, вам будет легче сохранять, делиться и печатать ваши документы. +Если вы хотите сократить затраты на хранение, вы можете конвертировать вашу презентацию Microsoft PowerPoint в формат XPS. Таким образом, вам будет проще сохранять, делиться и печатать ваши документы. -Microsoft продолжает внедрять сильную поддержку XPS в Windows (даже в Windows 10), поэтому вы можете рассмотреть возможность сохранения файлов в этом формате. Если вы работаете с Windows 8.1, Windows 8, Windows 7 и Windows Vista, то XPS может на самом деле быть вашим лучшим вариантом для определенных операций. +Microsoft продолжает активно поддерживать XPS в Windows (включая Windows 10), поэтому стоит рассматривать сохранение файлов в этом формате. Если вы работаете с Windows 8.1, Windows 8, Windows 7 или Windows Vista, XPS может стать лучшим вариантом для некоторых задач. -- **Windows 8** использует формат OXPS (Open XPS) для файлов XPS. OXPS является стандартизированной версией оригинального формата XPS. Windows 8 обеспечивает лучшую поддержку файлов XPS, чем файлов PDF. - - **XPS:** Доступен встроенный просмотрщик/ридер XPS и функция печати в XPS. - - **PDF**: Доступен ридер PDF, но функция печати в PDF отсутствует. +- **Windows 8** использует формат OXPS (Open XPS) для файлов XPS. OXPS — стандартизированная версия оригинального формата XPS. Windows 8 обеспечивает лучшую поддержку файлов XPS, чем файлов PDF. + - **XPS:** Встроенный просмотрщик/ридер XPS и возможность печати в XPS доступны. + - **PDF:** Доступен PDF‑чтитель, но функция печати в PDF отсутствует. -- **Windows 7 и Windows Vista** используют оригинальный формат XPS. Эти операционные системы также обеспечивают лучшую поддержку файлов XPS, чем PDF. - - **XPS**: Доступен встроенный просмотрщик XPS и функция печати в XPS. - - **PDF**: Нет ридера PDF. Нет функции печати в PDF. +- **Windows 7** и **Windows Vista** используют оригинальный формат XPS. Эти ОС также предоставляют лучшую поддержку файлов XPS, чем PDF. + - **XPS:** Встроенный просмотрщик XPS и возможность печати в XPS доступны. + - **PDF:** Нет PDF‑чтителя. Нет функции печати в PDF. -|

**Входной PPT(X):

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**Выходной XPS:

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| +|

**Вход PPT(X):**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**Выход XPS:**

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| | :- | :- | -Microsoft в конечном итоге внедрил поддержку операций печати в PDF через функцию Печать в PDF в Windows 10. Ранее от пользователей ожидалось, что они будут печатать документы через формат XPS. -## Конверсия XPS с Aspose.Slides -В [**Aspose.Slides**](https://products.aspose.com/slides/net/) для .NET вы можете использовать метод [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index), предоставляемый классом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), чтобы преобразовать всю презентацию в документ XPS. +Microsoft в конечном итоге реализовала поддержку печати в PDF через функцию «Print to PDF» в Windows 10. Ранее пользователи печатали документы через формат XPS. -При преобразовании презентации в XPS вам необходимо сохранить презентацию, используя любой из этих параметров: +## **Конвертация XPS с помощью Aspose.Slides** + +В [**Aspose.Slides**](https://products.aspose.com/slides/net/) для .NET вы можете использовать метод [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index), предоставляемый классом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), чтобы преобразовать всю презентацию в документ XPS. + +При конвертации презентации в XPS необходимо сохранять её, используя один из следующих вариантов: - Настройки по умолчанию (без [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) - Пользовательские настройки (с [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) -### **Преобразование презентаций в XPS с использованием стандартных настроек** - -Этот пример кода на C# показывает, как преобразовать презентацию в документ XPS, используя стандартные настройки: +### **Конвертация презентаций в XPS с использованием настроек по умолчанию** +Этот пример кода на C# показывает, как конвертировать презентацию в документ XPS, используя стандартные настройки: ```c# -// Создание объекта Presentation, представляющего файл презентации +// Создайте объект Presentation, который представляет файл презентации using (Presentation pres = new Presentation("Convert_XPS.pptx")) { // Сохранение презентации в документ XPS @@ -57,20 +58,32 @@ using (Presentation pres = new Presentation("Convert_XPS.pptx")) } ``` -### **Преобразование презентаций в XPS с использованием пользовательских настроек** -Этот пример кода показывает, как преобразовать презентацию в документ XPS, используя пользовательские настройки на C#: + +### **Конвертация презентаций в XPS с использованием пользовательских настроек** +Этот пример кода показывает, как конвертировать презентацию в документ XPS, используя пользовательские настройки на C#: ```c# -// Создание объекта Presentation, представляющего файл презентации +// Создать объект Presentation, который представляет файл презентации using (Presentation pres = new Presentation("Convert_XPS_Options.pptx")) { - // Создание класса XpsOptions + // Создать экземпляр класса TiffOptions XpsOptions options = new XpsOptions(); - // Сохранение метафайлов в формате PNG + // Сохранить метафайлы как PNG options.SaveMetafilesAsPng = true; - // Сохранение презентации в документ XPS + // Сохранить презентацию в документ XPS pres.Save("XPS_With_Options_out.xps", SaveFormat.Xps, options); } -``` \ No newline at end of file +``` + + +## **Вопросы и ответы** + +**Можно ли сохранять XPS в поток вместо файла?** + +Да — Aspose.Slides позволяет экспортировать напрямую в поток, что идеально подходит для web‑API, серверных конвейеров или любых сценариев, когда нужно передать XPS без обращения к файловой системе. + +**Переносятся ли скрытые слайды в XPS и можно ли их исключить?** + +По умолчанию рендерятся только обычные (видимые) слайды. Вы можете [включать или исключать скрытые слайды](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/) через [настройки экспорта](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/) перед сохранением в XPS, гарантируя, что вывод будет содержать именно те страницы, которые вам нужны. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index 6a9ccd5d44..759bf3ca13 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -1,60 +1,90 @@ --- -title: Конвертация PPT в PPTX на C# -linktitle: Конвертация PPT в PPTX +title: Конвертировать PPT в PPTX на C# +linktitle: Конвертировать PPT в PPTX type: docs weight: 20 url: /ru/net/convert-ppt-to-pptx/ -keywords: "C# Конвертация PPT в PPTX, Конвертация презентации PowerPoint, PPT в PPTX, C#, Csharp, .NET, Aspose.Slides" -description: "Конвертация презентации PowerPoint из PPT в PPTX на C# или .NET" +keywords: "C# Конвертировать PPT в PPTX, Конвертировать презентацию PowerPoint, PPT в PPTX, C#, Csharp, .NET, Aspose.Slides" +description: "Конвертировать PowerPoint PPT в PPTX на C# или .NET" --- ## **Обзор** -В этой статье объясняется, как конвертировать презентацию PowerPoint в формате PPT в формат PPTX, используя C# и онлайн-приложение для конвертации PPT в PPTX. Рассматривается следующая тема. +Эта статья объясняет, как преобразовать презентацию PowerPoint в формате PPT в формат PPTX с помощью C# и онлайн‑приложения преобразования PPT в PPTX. Рассматривается следующая тема. -- [Конвертация PPT в PPTX на C#](#convert-ppt-to-pptx) +- [Преобразовать PPT в PPTX на C#](#convert-ppt-to-pptx) -## **C# Конвертация PPT в PPTX** +## **C# Преобразование PPT в PPTX** -Для получения примера кода на C# для конвертации PPT в PPTX смотрите раздел ниже, то есть [Конвертация PPT в PPTX](#convert-ppt-to-pptx). Он просто загружает файл PPT и сохраняет его в формате PPTX. Указав разные форматы сохранения, вы также можете сохранить файл PPT в другие форматы, такие как PDF, XPS, ODP, HTML и т. д., как обсуждается в этих статьях. +Для примера кода на C# по преобразованию PPT в PPTX см. раздел ниже, то есть [Convert PPT to PPTX](#convert-ppt-to-pptx). Он просто загружает файл PPT и сохраняет его в формате PPTX. Указывая разные форматы сохранения, вы также можете сохранять файл PPT в многие другие форматы, такие как PDF, XPS, ODP, HTML и т.д., как описано в этих статьях. -- [C# Конвертация PPT в PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) -- [C# Конвертация PPT в XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) -- [C# Конвертация PPT в HTML](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) -- [C# Конвертация PPT в ODP](https://docs.aspose.com/slides/net/save-presentation/) -- [C# Конвертация PPT в изображение](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) +- [C# Convert PPT to PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) +- [C# Convert PPT to XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) +- [C# Convert PPT to HTML](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) +- [C# Convert PPT to ODP](https://docs.aspose.com/slides/net/save-presentation/) +- [C# Convert PPT to Image](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -## **О конвертации PPT в PPTX** -Конвертируйте старый формат PPT в PPTX с помощью API Aspose.Slides. Если вам нужно конвертировать тысячи презентаций PPT в формат PPTX, лучшим решением будет сделать это программно. С API Aspose.Slides это возможно всего в несколько строк кода. API поддерживает полную совместимость для конвертации презентации PPT в PPTX и можно: +## **О преобразовании PPT в PPTX** +Преобразуйте старый формат PPT в PPTX с помощью Aspose.Slides API. Если вам нужно преобразовать тысячи презентаций PPT в формат PPTX, лучшее решение — сделать это программно. С Aspose.Slides API это возможно выполнить всего в несколько строк кода. API поддерживает полную совместимость для преобразования презентаций PPT в PPTX и позволяет: -- Конвертировать сложные структуры мастер-слайдов, макетов и слайдов. -- Конвертировать презентацию с диаграммами. -- Конвертировать презентацию с группами фигур, автофигурами (такими как прямоугольники и эллипсы), фигурами с пользовательской геометрией. -- Конвертировать презентацию, имеющую текстуры и стили заливки изображениями для автофигур. -- Конвертировать презентацию с заполнителями, текстовыми рамками и текстовыми держателями. +- Преобразовать сложные структуры мастеров, макетов и слайдов. +- Преобразовать презентацию с диаграммами. +- Преобразовать презентацию с групповыми фигурами, автофигурами (например, прямоугольниками и эллипсами), фигурами с пользовательской геометрией. +- Преобразовать презентацию, содержащую текстуры и стили заполнения картинками для автофигур. +- Преобразовать презентацию с заполнителями, текстовыми фреймами и текстовыми контейнерами. {{% alert color="primary" %}} -Посмотрите на [**Конвертацию PPT в PPTX Aspose.Slides**](https://products.aspose.app/slides/conversion/ppt-to-pptx): +Взгляните на [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) приложение: [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -Это приложение построено на основе **API Aspose.Slides**, поэтому вы можете увидеть живой пример основных возможностей конвертации PPT в PPTX. Конвертация Aspose.Slides — это веб-приложение, которое позволяет загрузить файл презентации в формате PPT и скачать его конвертированным в PPTX. +Это приложение построено на **Aspose.Slides API**, поэтому вы можете увидеть живой пример базовых возможностей преобразования PPT в PPTX. Aspose.Slides Conversion — это веб‑приложение, которое позволяет загрузить файл презентации в формате PPT и скачать его уже в формате PPTX. -Находите другие живые примеры [**Конверсии Aspose.Slides**](https://products.aspose.app/slides/conversion/). +Найдите другие живые [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) примеры. {{% /alert %}} -## **Конвертация PPT в PPTX** -Чтобы конвертировать PPT в PPTX, просто передайте имя файла и формат сохранения в метод [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) класса [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation). Пример кода на C# ниже преобразует Презентацию из PPT в PPTX, используя настройки по умолчанию. - +## **Преобразовать PPT в PPTX** +Чтобы преобразовать PPT в PPTX, просто передайте имя файла и формат сохранения методу [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) класса [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation). Пример кода на C# ниже преобразует презентацию из PPT в PPTX, используя параметры по умолчанию. ```c# -// Создадим объект Presentation, который представляет файл PPTX +// Создать объект Presentation, представляющий файл PPTX Presentation pres = new Presentation("PPTtoPPTX.ppt"); -// Сохраняем презентацию PPTX в формате PPTX +// Сохранение презентации PPTX в формате PPTX pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` -Читайте подробнее о [**PPT против PPTX**](/slides/ru/net/ppt-vs-pptx/) форматах презентаций и о том, как [**Aspose.Slides поддерживает конвертацию PPT в PPTX**](/slides/ru/net/convert-ppt-to-pptx/). \ No newline at end of file + +Читайте подробнее о [**PPT vs PPTX**](/slides/ru/net/ppt-vs-pptx/) форматах презентаций и о том, как [**Aspose.Slides поддерживает преобразование PPT в PPTX**](/slides/ru/net/convert-ppt-to-pptx/). + +## **FAQ** + +**В чем разница между форматами PPT и PPTX?** + +PPT — это старый двоичный формат файлов, используемый Microsoft PowerPoint, тогда как PPTX — это новый XML‑основанный формат, введённый в Microsoft Office 2007. Файлы PPTX обеспечивают более высокую производительность, меньший размер и лучшую восстановляемость данных. + +**Можно ли преобразовать PPT в PPTX с помощью .NET?** + +Да, используя библиотеку Aspose.Slides for .NET, вы можете легко загрузить файл PPT и сохранить его в формате PPTX всего за несколько строк кода. + +**Поддерживает ли Aspose.Slides пакетное преобразование нескольких файлов PPT в PPTX?** + +Да, вы можете использовать Aspose.Slides в цикле для программного преобразования множества файлов PPT в PPTX, что подходит для пакетных сценариев. + +**Сохранятся ли содержание и форматирование после преобразования?** + +Aspose.Slides обеспечивает высокую точность преобразования презентаций. Макеты слайдов, анимации, фигуры, диаграммы и другие элементы дизайна сохраняются при преобразовании PPT в PPTX. + +**Можно ли преобразовать другие форматы, такие как PDF или HTML, из файлов PPT?** + +Да, Aspose.Slides поддерживает преобразование файлов PPT в несколько форматов, включая PDF, XPS, HTML, ODP и графические форматы, такие как PNG и JPEG. + +**Возможно ли преобразовать PPT в PPTX без установленного Microsoft PowerPoint?** + +Да, Aspose.Slides for .NET — это автономный API, не требующий Microsoft PowerPoint или стороннего программного обеспечения для выполнения преобразования. + +**Существует ли онлайн‑инструмент для преобразования PPT в PPTX?** + +Да, вы можете воспользоваться бесплатным веб‑приложением [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) для выполнения преобразования напрямую в браузере без написания кода. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md index bb9112ffb3..1f036cc9f4 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md @@ -1,36 +1,50 @@ --- -title: Конвертация PPTX в PPT на C# -linktitle: Конвертация PPTX в PPT +title: Конвертировать PPTX в PPT с помощью C# +linktitle: Конвертировать PPTX в PPT type: docs weight: 21 url: /ru/net/convert-pptx-to-ppt/ -keywords: "C# Конвертация PPTX в PPT, Конвертация презентации PowerPoint, PPTX в PPT, C#, Aspose.Slides" -description: "Конвертация презентации PowerPoint PPTX в PPT на C#" +keywords: "C# Конвертировать PPTX в PPT, Конвертировать презентацию PowerPoint, PPTX в PPT, C#, Aspose.Slides" +description: "Конвертировать PowerPoint PPTX в PPT с помощью C#" --- ## **Обзор** -В этой статье объясняется, как конвертировать презентацию PowerPoint в формате PPTX в формат PPT с помощью C#. Рассматриваемая тема следующая. +Эта статья объясняет, как с помощью C# преобразовать презентацию PowerPoint в формате PPTX в формат PPT. Рассматривается следующая тема. - Конвертация PPTX в PPT на C# ## **C# Конвертация PPTX в PPT** -Для получения примера кода на C# для конвертации PPTX в PPT, пожалуйста, смотрите раздел ниже, т.е. [Конвертация PPTX в PPT](#convert-pptx-to-ppt). Он просто загружает файл PPTX и сохраняет в формате PPT. Указывая различные форматы сохранения, вы также можете сохранить файл PPTX в другие форматы, такие как PDF, XPS, ODP, HTML и т.д., как обсуждается в этих статьях. +Для примера кода на C# по конвертации PPTX в PPT см. раздел ниже, а именно [Convert PPTX to PPT](#convert-pptx-to-ppt). Он просто загружает файл PPTX и сохраняет его в формате PPT. Указывая разные форматы сохранения, вы также можете сохранять файл PPTX во многих других форматах, таких как PDF, XPS, ODP, HTML и т.д., как обсуждается в этих статьях. -- [C# Конвертация PPTX в PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) -- [C# Конвертация PPTX в XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) -- [C# Конвертация PPTX в HTML](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) -- [C# Конвертация PPTX в ODP](https://docs.aspose.com/slides/net/save-presentation/) -- [C# Конвертация PPTX в изображение](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) +- [C# Convert PPTX to PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) +- [C# Convert PPTX to XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) +- [C# Convert PPTX to HTML](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) +- [C# Convert PPTX to ODP](https://docs.aspose.com/slides/net/save-presentation/) +- [C# Convert PPTX to Image](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) ## **Конвертация PPTX в PPT** -Чтобы конвертировать PPTX в PPT, просто передайте имя файла и формат сохранения в метод [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) класса [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/). Пример кода на C# ниже конвертирует презентацию из PPTX в PPT, используя параметры по умолчанию. - +Чтобы конвертировать PPTX в PPT, просто передайте имя файла и формат сохранения методу [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) класса [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/). Пример кода на C# ниже конвертирует презентацию из PPTX в PPT, используя параметры по умолчанию. ```c# -// Создание объекта Presentation, представляющего файл PPTX +// Создать объект Presentation, представляющий файл PPTX Presentation pres = new Presentation("presentation.pptx"); -// Сохранение презентации PPTX в формате PPT +// Сохранение презентации PPTX в формат PPT pres.Save("presentation.ppt", SaveFormat.Ppt); -``` \ No newline at end of file +``` + + +## **FAQ** + +**Все ли эффекты и возможности PPTX сохраняются при сохранении в устаревший формат PPT (97–2003)?** + +Не всегда. Формат PPT не поддерживает некоторые новые возможности (например, определённые эффекты, объекты и поведения), поэтому функции могут быть упрощены или растрированы при конвертации. + +**Можно ли конвертировать только выбранные слайды в PPT вместо всей презентации?** + +Сохранение напрямую охватывает всю презентацию. Чтобы конвертировать отдельные слайды, создайте новую презентацию только с этими слайдами и сохраните её как PPT; в качестве альтернативы можно использовать сервис/API, поддерживающий параметры конвертации для отдельных слайдов. + +**Поддерживаются ли презентации, защищённые паролем?** + +Да. Вы можете определить, защищён ли файл, открыть его с паролем, а также [настройте параметры защиты/шифрования](/slides/ru/net/password-protected-presentation/) для сохранённого PPT. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index 95e6fa4be6..adf5212652 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,38 +1,54 @@ --- -title: PPT против PPTX +title: "Понимание различий: PPT vs PPTX" +linktitle: PPT vs PPTX type: docs weight: 10 url: /ru/net/ppt-vs-pptx/ -keywords: "PPT против PPTX, PPT или PPTX, Презентация PowerPoint, формат, C#, Csharp, .NET" -description: "О форматах презентаций PowerPoint. PPT против PPTX. Различия в C# или .NET" +keywords: "PPT vs PPTX, форматы PowerPoint, C#, .NET, преобразование PPT в PPTX, презентация в .NET" +description: "Изучите ключевые различия между форматами PPT и PPTX. Узнайте об их использовании в средах C# и .NET." --- -## **Что такое 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. +## **Понимание PPT: устаревший формат** +[**PPT**](https://docs.fileformat.com/presentation/ppt/) — это двоичный файловый формат, используемый в PowerPoint 97-2003. Из‑за своего двоичного характера просмотр его содержимого требует специализированных инструментов. Несмотря на ограничения в расширяемости, формат PPT по‑прежнему широко используется в некоторых приложениях. -## **PPT против PPTX** -Несмотря на то, что PPTX предоставляет гораздо более широкий функционал, PPT остается довольно популярным. Необходимость конвертации из PPT в PPTX и наоборот очень востребована. +## **Изучение PPTX: современный стандарт** +[**PPTX**](https://docs.fileformat.com/presentation/pptx/) построен на стандарте Office Open XML (ISO 29500:2008-2016, ECMA-376). Этот основанный на XML формат обеспечивает большую гибкость и совместим с PowerPoint 2007 и более новыми версиями. Модульность PPTX упрощает добавление новых возможностей, таких как новые типы диаграмм или фигур, обеспечивая обратную совместимость без серьезных изменений формата. -Однако конвертация между старым форматом PPT и новым форматом PPTX является самой сложной задачей среди других форматов Microsoft Office. Хотя спецификация формата PPT открыта, с ним сложно работать. PowerPoint может создавать специальные части (MetroBlob) в файлах PPT для хранения информации из PPTX, которая не поддерживается форматом PPT и не может быть отображена в старых версиях PowerPoint. Эта информация может быть восстановлена, когда файл PPT загружается в современной версии PowerPoint или конвертируется в формат PPTX. +## **PPT vs. PPTX: ключевые различия и сведения о конвертации** +PPTX предлагает расширенную функциональность по сравнению с устаревшим форматом PPT, однако конвертация между этими форматами часто необходима. Переход от PPT к PPTX сопряжён с уникальными трудностями из‑за проблем совместимости. PowerPoint может создавать специальные компоненты (MetroBlob) внутри файлов PPT для хранения данных, эксклюзивных для PPTX; более старые версии PowerPoint не способны их отобразить, но могут восстановить при открытии в новых версиях или при конвертации в PPTX. -Aspose.Slides предоставляет общий интерфейс для работы со всеми форматами презентаций. Он позволяет конвертировать из PPT в PPTX и из PPTX в PPT очень простым способом. Aspose.Slides полностью поддерживает конвертацию из PPT в PPTX и также поддерживает конвертацию из PPTX в PPT с некоторыми ограничениями. Мы рекомендуем использовать формат PPTX, где это возможно. +Aspose.Slides упрощает работу как с PPT, так и с PPTX, предоставляя бесшовные возможности конвертации. Полная конвертация из PPT в PPTX поддерживается, однако при конвертации из PPTX в PPT существуют ограничения. По возможности рекомендуется использовать PPTX для оптимизации функциональности и совместимости. {{% alert color="primary" %}} - -Проверьте качество конвертации PPT в PPTX и PPTX в PPT с помощью онлайн [**Aspose.Slides Conversion app**](https://products.aspose.app/slides/conversion/). - -{{% /alert %}} - -```c# -// Создание объекта Presentation, представляющего файл PPTX +Получайте высококачественные конвертации с помощью [**Aspose.Slides Conversion tool**](https://products.aspose.app/slides/conversion/). +{{% /alert %}} +```csharp +// Создаём объект Presentation, представляющий файл PPTX Presentation pres = new Presentation("PPTtoPPTX.ppt"); -// Сохранение презентации PPTX в формате PPTX +// Сохраняет презентацию PPTX в формате PPTX pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` + {{% alert color="primary" %}} -Читать далее [**Как конвертировать презентации PPT в PPTX**.](/slides/ru/net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +Узнайте больше: [**Как конвертировать презентации из PPT в PPTX**](/slides/ru/net/convert-ppt-to-pptx/) +{{% /alert %}} + +## **FAQ** + +**Есть ли смысл сохранять старые презентации в PPT, если они открываются без ошибок?** + +Если презентация открывается надёжно и не требует совместной работы или новых функций, её можно оставить в PPT. Однако для будущей совместимости и расширяемости лучше [конвертировать в PPTX](/slides/ru/net/convert-ppt-to-pptx/): формат основан на открытом стандарте OOXML и более легко поддерживается современными инструментами. + +**Как решить, какие файлы в первую очередь критично конвертировать в PPTX?** + +Сначала конвертируйте презентации, которые: редактируются несколькими людьми; содержат сложные [диаграммы](/slides/ru/net/create-chart/)/[фигуры](/slides/ru/net/shape-manipulations/); используют внешние коммуникации; или вызывают предупреждения при [открытии](/slides/ru/net/open-presentation/). + +**Сохранится ли защита паролем при конвертации из PPT в PPTX и обратно?** + +Защита паролем переносится только при корректной конвертации и поддержке шифрования в используемом инструменте. Надёжнее [удалить защиту](/slides/ru/net/password-protected-presentation/), [конвертировать](/slides/ru/net/convert-ppt-to-pptx/), а затем вновь применить защиту в соответствии с политикой безопасности. + +**Почему некоторые эффекты исчезают или упрощаются при конвертации PPTX обратно в PPT?** + +Потому что PPT не поддерживает некоторые новые объекты/свойства. PowerPoint и инструменты могут хранить «следы» этой информации в специальных блоках для последующего восстановления, но более старые версии PowerPoint их не отобразят. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index 36818534c3..b35949154c 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,16 +1,16 @@ --- -title: Отобразить слайд в формате SVG в C# -linktitle: Отобразить слайд в формате SVG +title: Отобразить слайд как изображение SVG в C# +linktitle: Отобразить слайд как изображение SVG type: docs weight: 50 url: /ru/net/render-a-slide-as-an-svg-image/ -description: В этой статье объясняется, как конвертировать презентацию PowerPoint в формат SVG с помощью C#. Вы можете конвертировать форматы PPT, PPTX, ODP в SVG-изображения. +description: Эта статья объясняет, как конвертировать презентацию PowerPoint в формат SVG с использованием C#. Вы можете конвертировать форматы PPT, PPTX, ODP в SVG‑изображения. keywords: C# Конвертировать PowerPoint в SVG, C# PPT в SVG, C# PPTX в SVG --- -## Обзор +## **Обзор** -В этой статье объясняется, как **конвертировать презентацию PowerPoint в формат SVG с помощью C#**. Она охватывает следующие темы. +Эта статья объясняет, как **конвертировать презентацию PowerPoint в формат SVG с использованием C#**. Она охватывает следующие темы. _Формат_: **PowerPoint** - [C# PowerPoint в SVG](#csharp-powerpoint-to-svg) @@ -32,33 +32,33 @@ _Формат_: **ODP** - [C# Конвертировать ODP в SVG](#csharp-odp-to-svg) - [C# Как конвертировать файл ODP в SVG](#csharp-odp-to-svg) -_Формат_: **Слайд** +_Формат_: **Slide** - [C# Конвертировать слайд PowerPoint в SVG](#render-a-slide-as-an-svg-image) - [C# Конвертировать слайд PPT в SVG](#render-a-slide-as-an-svg-image) - [C# Конвертировать слайд PPTX в SVG](#render-a-slide-as-an-svg-image) - [C# Конвертировать слайд ODP в SVG](#render-a-slide-as-an-svg-image) -Другие темы, охваченные в этой статье. +Другие темы, рассмотренные в этой статье. - [См. также](#see-also) -## Формат SVG -SVG—акроним для Scalable Vector Graphics—это тип графики или формат, используемый для отображения двумерных изображений. SVG хранит изображения в виде векторов в XML с деталями, которые определяют их поведение или внешний вид. +## **Формат SVG** +SVG — это аббревиатура от Scalable Vector Graphics, стандартный тип графики или формат, используемый для отображения двумерных изображений. SVG хранит изображения как векторы в XML с деталями, определяющими их поведение или внешний вид. -SVG является одним из немногих форматов изображений, который соответствует очень высоким стандартам в этих терминах: масштабируемость, интерактивность, производительность, доступность, программируемость и другие. По этим причинам его обычно используют в веб-разработке. +SVG — один из немногих форматов изображений, отвечающих очень высоким требованиям в таких областях, как масштабируемость, интерактивность, производительность, доступность, программируемость и другие. По этим причинам SVG широко применяется в веб‑разработке. -Вам может понадобиться использовать файлы SVG, когда вам нужно +Вы можете использовать файлы SVG, когда необходимо -- **распечатать вашу презентацию в *очень крупном формате*.** Изображения SVG могут масштабироваться до любого разрешения или уровня. Вы можете изменять размер изображений SVG столько раз, сколько необходимо, без потери качества. -- **использовать графики и таблицы из ваших слайдов в *разных средах или платформах**.* Большинство устройств могут интерпретировать файлы SVG. -- **использовать *как можно меньшие размеры изображений***. Файлы SVG, как правило, меньше, чем их высококачественные эквиваленты в других форматах, особенно тех, которые основаны на растровой графике (JPEG или PNG). +- **распечатать презентацию в *очень большом формате*.** SVG‑изображения могут масштабироваться до любого разрешения. Вы можете изменять размер SVG‑изображений сколько угодно раз без потери качества. +- **использовать диаграммы и графики из ваших слайдов в *разных средах или платформах*.** Большинство программ способны корректно отображать SVG‑файлы. +- **получить *наименьший возможный размер изображений*.** SVG‑файлы, как правило, меньше их высокоразрешённых аналогов в растровых форматах (JPEG или PNG). -## Отобразить слайд в формате SVG +## **Отобразить слайд как изображение SVG** -Aspose.Slides для .NET позволяет экспортировать слайды в ваших презентациях как SVG-изображения. Выполните следующие шаги, чтобы сгенерировать SVG-изображения: +Aspose.Slides for .NET позволяет экспортировать слайды ваших презентаций в виде SVG‑изображений. Выполните следующие шаги для создания SVG‑изображений: _Шаги: Конвертация PowerPoint в SVG на C#_ -Следующий образец кода объясняет эти конверсии с использованием .NET. +Ниже приведён пример кода, демонстрирующий эти конвертации с использованием .NET. - Шаги: Конвертировать PowerPoint в SVG на C# - Шаги: Конвертировать PPT в SVG на C# - Шаги: Конвертировать PPTX в SVG на C# @@ -67,23 +67,22 @@ _Шаги: Конвертация PowerPoint в SVG на C#_ _Код шагов:_ 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). - * _.ppt_ расширение для загрузки **файла PPT** внутри класса _Presentation_. - * _.pptx_ расширение для загрузки **файла PPTX** внутри класса _Presentation_. - * _.odp_ расширение для загрузки **файла ODP** внутри класса _Presentation_. - * _.pps_ расширение для загрузки **файла PPS** внутри класса _Presentation_. -2. Переберите все слайды презентации. -3. Запишите каждый слайд в его собственный файл SVG через FileStream. + * расширение _.ppt_ — загрузка **PPT**‑файла в класс _Presentation_. + * расширение _.pptx_ — загрузка **PPTX**‑файла в класс _Presentation_. + * расширение _.odp_ — загрузка **ODP**‑файла в класс _Presentation_. + * расширение _.pps_ — загрузка **PPS**‑файла в класс _Presentation_. +2. Пройдитесь по всем слайдам в презентации. +3. Запишите каждый слайд в отдельный SVG‑файл через FileStream. {{% alert color="primary" %}} -Вам может быть интересно попробовать наше [бесплатное веб-приложение](https://products.aspose.app/slides/conversion/ppt-to-svg), в котором мы реализовали функцию преобразования PPT в SVG из Aspose.Slides для .NET. +Вы можете попробовать наше [бесплатное веб‑приложение](https://products.aspose.app/slides/conversion/ppt-to-svg), в котором реализована функция конвертации PPT в SVG с помощью Aspose.Slides for .NET. {{% /alert %}} -Этот пример кода на C# показывает, как конвертировать PowerPoint в SVG с использованием Aspose.Slides: - +Ниже пример кода на C#, показывающий, как конвертировать PowerPoint в SVG с помощью Aspose.Slides: ``` csharp -// Объект Presentation может загружать форматы PowerPoint, такие как PPT, PPTX, ODP и т. д. +// Объект Presentation может загружать форматы PowerPoint такие как PPT, PPTX, ODP и т.д. using (Presentation pres = new Presentation("pres.pptx")) { for (var index = 0; index < pres.Slides.Count; index++) @@ -98,46 +97,61 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## См. также -Эта статья также охватывает эти темы. Коды такие же, как и выше. +## **FAQ** + +**Почему полученный SVG может выглядеть по‑разному в разных браузерах?** + +Поддержка конкретных возможностей SVG реализуется по-разному в движках браузеров. Параметры [SVGOptions](https://reference.aspose.com/slides/net/aspose.slides.export/svgoptions/) помогают сгладить эти несовместимости. + +**Можно ли экспортировать не только слайды, но и отдельные фигуры в SVG?** + +Да. Любую [фигуру можно сохранить как отдельный SVG](https://reference.aspose.com/slides/net/aspose.slides/shape/writeassvg/), что удобно для значков, пиктограмм и повторного использования графики. + +**Можно ли объединить несколько слайдов в один SVG (полоска/документ)?** + +Обычный сценарий — один слайд → один SVG. Объединение нескольких слайдов в один SVG‑канвас обычно выполняется на этапе пост‑обработки в приложении. + +## **См. также** + +Эта статья также охватывает перечисленные ниже темы. Код остаётся тем же, что и выше. _Формат_: **PowerPoint** -- [C# PowerPoint в SVG Код](#csharp-powerpoint-to-svg) -- [C# PowerPoint в SVG API](#csharp-powerpoint-to-svg) -- [C# PowerPoint в SVG Программно](#csharp-powerpoint-to-svg) -- [C# PowerPoint в SVG Библиотека](#csharp-powerpoint-to-svg) -- [C# Сохранить PowerPoint как SVG](#csharp-powerpoint-to-svg) -- [C# Генерировать SVG из PowerPoint](#csharp-powerpoint-to-svg) -- [C# Создать SVG из PowerPoint](#csharp-powerpoint-to-svg) -- [C# Конвертер PowerPoint в SVG](#csharp-powerpoint-to-svg) +- [C# PowerPoint Code](#csharp-powerpoint-to-svg) +- [C# PowerPoint API](#csharp-powerpoint-to-svg) +- [C# PowerPoint Programmatically](#csharp-powerpoint-to-svg) +- [C# PowerPoint Library](#csharp-powerpoint-to-svg) +- [C# Save PowerPoint as SVG](#csharp-powerpoint-to-svg) +- [C# Generate SVG from PowerPoint](#csharp-powerpoint-to-svg) +- [C# Create SVG from PowerPoint](#csharp-powerpoint-to-svg) +- [C# PowerPoint Converter](#csharp-powerpoint-to-svg) _Формат_: **PPT** -- [C# PPT в SVG Код](#csharp-ppt-to-svg) -- [C# PPT в SVG API](#csharp-ppt-to-svg) -- [C# PPT в SVG Программно](#csharp-ppt-to-svg) -- [C# PPT в SVG Библиотека](#csharp-ppt-to-svg) -- [C# Сохранить PPT как SVG](#csharp-ppt-to-svg) -- [C# Генерировать SVG из PPT](#csharp-ppt-to-svg) -- [C# Создать SVG из PPT](#csharp-ppt-to-svg) -- [C# Конвертер PPT в SVG](#csharp-ppt-to-svg) +- [C# PPT Code](#csharp-ppt-to-svg) +- [C# PPT API](#csharp-ppt-to-svg) +- [C# PPT Programmatically](#csharp-ppt-to-svg) +- [C# PPT Library](#csharp-ppt-to-svg) +- [C# Save PPT as SVG](#csharp-ppt-to-svg) +- [C# Generate SVG from PPT](#csharp-ppt-to-svg) +- [C# Create SVG from PPT](#csharp-ppt-to-svg) +- [C# PPT Converter](#csharp-ppt-to-svg) _Формат_: **PPTX** -- [C# PPTX в SVG Код](#csharp-pptx-to-svg) -- [C# PPTX в SVG API](#csharp-pptx-to-svg) -- [C# PPTX в SVG Программно](#csharp-pptx-to-svg) -- [C# PPTX в SVG Библиотека](#csharp-pptx-to-svg) -- [C# Сохранить PPTX как SVG](#csharp-pptx-to-svg) -- [C# Генерировать SVG из PPTX](#csharp-pptx-to-svg) -- [C# Создать SVG из PPTX](#csharp-pptx-to-svg) -- [C# Конвертер PPTX в SVG](#csharp-pptx-to-svg) +- [C# PPTX Code](#csharp-pptx-to-svg) +- [C# PPTX API](#csharp-pptx-to-svg) +- [C# PPTX Programmatically](#csharp-pptx-to-svg) +- [C# PPTX Library](#csharp-pptx-to-svg) +- [C# Save PPTX as SVG](#csharp-pptx-to-svg) +- [C# Generate SVG from PPTX](#csharp-pptx-to-svg) +- [C# Create SVG from PPTX](#csharp-pptx-to-svg) +- [C# PPTX Converter](#csharp-pptx-to-svg) _Формат_: **ODP** -- [C# ODP в SVG Код](#csharp-odp-to-svg) -- [C# ODP в SVG API](#csharp-odp-to-svg) -- [C# ODP в SVG Программно](#csharp-odp-to-svg) -- [C# ODP в SVG Библиотека](#csharp-odp-to-svg) -- [C# Сохранить ODP как SVG](#csharp-odp-to-svg) -- [C# Генерировать SVG из ODP](#csharp-odp-to-svg) -- [C# Создать SVG из ODP](#csharp-odp-to-svg) -- [C# Конвертер ODP в SVG](#csharp-odp-to-svg) \ No newline at end of file +- [C# ODP Code](#csharp-odp-to-svg) +- [C# ODP API](#csharp-odp-to-svg) +- [C# ODP Programmatically](#csharp-odp-to-svg) +- [C# ODP Library](#csharp-odp-to-svg) +- [C# Save ODP as SVG](#csharp-odp-to-svg) +- [C# Generate SVG from ODP](#csharp-odp-to-svg) +- [C# Create SVG from ODP](#csharp-odp-to-svg) +- [C# ODP Converter](#csharp-odp-to-svg) \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index 24bd47c015..dabbdb020b 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -3,22 +3,31 @@ title: Экспорт в HTML5 type: docs weight: 40 url: /ru/net/export-to-html5/ -keywords: "PowerPoint в HTML, HTML 5, экспорт HTML, экспорт презентации, конвертация PowerPoint в HTML, C#, Csharp, Aspose.Slides для .NET" +keywords: +- PowerPoint в HTML +- слайды в HTML +- HTML5 +- экспорт HTML +- экспорт презентации +- преобразование презентации +- преобразование слайдов +- C# +- Csharp +- Aspose.Slides for .NET description: "Экспорт PowerPoint в HTML5 на C# или .NET" --- {{% alert title="Информация" color="info" %}} -В [Aspose.Slides 21.9](/slides/ru/net/aspose-slides-for-net-21-9-release-notes/) мы реализовали поддержку экспорта в HTML5. Однако, если вы предпочитаете экспортировать ваш PowerPoint в HTML с использованием WebExtensions, смотрите [этот раздел](/slides/ru/net/web-extensions/) вместо этого. +В [Aspose.Slides 21.9](/slides/ru/net/aspose-slides-for-net-21-9-release-notes/) мы реализовали поддержку экспорта в HTML5. Однако если вы предпочитаете экспортировать PowerPoint в HTML с помощью WebExtensions, см. [эту статью](/slides/ru/net/web-extensions/) вместо этого. -{{% /alert %}} +{{% /alert %}} -Процесс экспорта в HTML5 здесь позволяет вам конвертировать PowerPoint в HTML без веб-расширений или зависимостей. Таким образом, используя свои собственные шаблоны, вы можете применять очень гибкие параметры, которые определяют процесс экспорта и результирующие атрибуты HTML, CSS, JavaScript и анимации. +Процесс экспорта в HTML5 позволяет преобразовать PowerPoint в HTML без веб‑расширений и внешних зависимостей. При этом, используя собственные шаблоны, можно применять очень гибкие параметры, определяющие процесс экспорта и полученный HTML, CSS, JavaScript и атрибуты анимации. ## **Экспорт PowerPoint в HTML5** -Этот код на C# показывает, как экспортировать презентацию в HTML5 без веб-расширений и зависимостей: - +Этот C#‑код показывает, как экспортировать презентацию в HTML5 без веб‑расширений и зависимостей: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -26,14 +35,14 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -{{% alert color="primary" %}} -В этом случае вы получаете чистый HTML. +{{% alert color="primary" %}} -{{% /alert %}} +В этом случае вы получаете чистый HTML. -Вы можете указать настройки для анимации объектов и переходов слайдов таким образом: +{{% /alert %}} +При желании вы можете указать настройки анимации фигур и переходов между слайдами так: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -45,10 +54,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -#### **Экспорт PowerPoint в HTML** -Этот код на C# демонстрирует стандартный процесс PowerPoint в HTML: +## **Экспорт PowerPoint в HTML** +Этот C# демонстрирует стандартный процесс экспорта PowerPoint в HTML: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -56,30 +65,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -В этом случае содержимое презентации отображается через SVG в следующей форме: +В этом случае содержимое презентации отображается через SVG в виде: ```html
- СОДЕРЖИМОЕ СЛАЙДА РАСПОЛАГАЕТСЯ ЗДЕСЬ + THE SLIDE CONTENT GOES HERE
``` -{{% alert title="Примечание" color="warning" %}} -Когда вы используете этот метод для экспорта PowerPoint в HTML, из-за отображения SVG вы не сможете применить стили или анимировать конкретные элементы. +{{% alert title="Примечание" color="warning" %}} -{{% /alert %}} +При использовании этого метода экспорта PowerPoint в HTML, из‑за рендеринга SVG вы не сможете применять стили или анимировать отдельные элементы. -## **Экспорт PowerPoint в HTML5 в режиме слайд-шоу** +{{% /alert %}} -**Aspose.Slides** позволяет вам конвертировать презентацию PowerPoint в документ HTML5, в котором слайды представлены в режиме слайд-шоу. В этом случае, когда вы открываете результирующий HTML5 файл в браузере, вы видите презентацию в режиме слайд-шоу на веб-странице. +## **Экспорт PowerPoint в режим просмотра слайдов HTML5** -Этот код на C# демонстрирует процесс экспорта PowerPoint в HTML5 в режиме слайд-шоу: +**Aspose.Slides** позволяет преобразовать презентацию PowerPoint в документ HTML5, в котором слайды отображаются в режиме просмотра слайдов. В этом случае при открытии полученного HTML5‑файла в браузере вы видите презентацию в режиме просмотра слайдов на веб‑странице. +Этот C#‑код демонстрирует процесс экспорта PowerPoint в режим просмотра слайдов HTML5: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -89,4 +98,48 @@ using (Presentation pres = new Presentation("pres.pptx")) AnimateTransitions = true }); } -``` \ No newline at end of file +``` + + +## **Преобразование презентации в документ HTML5 с комментариями** + +Комментарии в PowerPoint – это средство, позволяющее пользователям оставлять заметки или отзывы к слайдам презентации. Они особенно полезны в совместных проектах, где несколько человек могут добавить свои предложения или замечания к конкретным элементам слайда, не меняя основное содержание. Каждый комментарий показывает имя автора, что упрощает отслеживание, кто оставил замечание. + +Предположим, у нас есть следующая презентация PowerPoint, сохранённая в файле **sample.pptx**. + +![Two comments on the presentation slide](two_comments_pptx.png) + +При преобразовании презентации PowerPoint в документ HTML5 вы можете указать, включать ли комментарии из презентации в выходной документ. Для этого необходимо задать параметры отображения комментариев в свойстве `NotesCommentsLayouting` класса [Html5Options](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/). + +Следующий пример кода преобразует презентацию в документ HTML5 с отображением комментариев справа от слайдов. +```cs +var html5Options = new Html5Options +{ + NotesCommentsLayouting = + { + CommentsPosition = CommentsPositions.Right + } +}; + +using var presentation = new Presentation("sample.pptx"); +presentation.Save("output.html", SaveFormat.Html5, html5Options); +``` + + +Документ **output.html** показан на изображении ниже. + +![The comments in the output HTML5 document](two_comments_html5.png) + +## **FAQ** + +**Могу ли я управлять тем, будут ли воспроизводиться анимации объектов и переходы слайдов в HTML5?** + +Да, HTML5 предоставляет отдельные параметры для включения или отключения [анимации фигур](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animateshapes/) и [переходов слайдов](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animatetransitions/). + +**Поддерживается ли вывод комментариев и где их можно разместить относительно слайда?** + +Да, комментарии могут быть добавлены в HTML5 и позиционированы (например, справа от слайда) через [настройки разметки](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/notescommentslayouting/) для заметок и комментариев. + +**Могу ли я пропускать ссылки, вызывающие JavaScript, по соображениям безопасности или CSP?** + +Да, существует [настройка](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/skipjavascriptlinks/), позволяющая пропускать гиперссылки с вызовами JavaScript при сохранении. Это помогает соответствовать строгим политикам безопасности. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/ru/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index 1a34f34999..0e70575ed7 100644 --- a/ru/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/ru/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -3,28 +3,25 @@ title: Экспорт в XAML type: docs weight: 30 url: /ru/net/export-to-xaml/ -keywords: "Экспорт презентации PowerPoint, Конвертировать PowerPoint, XAML, PowerPoint в XAML, PPT в XAML, PPTX в XAML, C#, Csharp, .NET" -description: "Экспортировать или конвертировать презентацию PowerPoint в XAML" +keywords: "Экспорт презентаций PowerPoint, Конвертация PowerPoint, XAML, PowerPoint в XAML, PPT в XAML, PPTX в XAML, C#, Csharp, .NET" +description: "Экспорт или конвертация презентации PowerPoint в XAML" --- -# Экспорт презентаций в XAML - -{{% alert title="Информация" color="info" %}} +# **Экспорт презентаций в XAML** +{{% alert title="Info" color="info" %}} В [Aspose.Slides 21.6](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-6-release-notes/) мы реализовали поддержку экспорта в XAML. Теперь вы можете экспортировать свои презентации в XAML. - {{% /alert %}} -# О XAML - -XAML — это дескриптивный язык программирования, который позволяет создавать или писать пользовательские интерфейсы для приложений, особенно тех, которые используют WPF (Windows Presentation Foundation), UWP (Universal Windows Platform) и формы Xamarin. +# **О XAML** -XAML, который является языком на основе XML, — это вариант Microsoft для описания графического интерфейса. Обычно вы будете использовать дизайнер для работы с файлами XAML, но вы все еще можете писать и редактировать свой графический интерфейс. +XAML — это описательный язык программирования, позволяющий создавать или писать пользовательские интерфейсы для приложений, особенно тех, которые используют WPF (Windows Presentation Foundation), UWP (Universal Windows Platform) и Xamarin Forms. -## Экспорт презентаций в XAML с использованием стандартных параметров +XAML, основанный на XML, является вариантом Microsoft для описания графического интерфейса. Большую часть времени вы, вероятно, будете использовать дизайнер для работы с файлами XAML, но при этом по‑прежнему можете писать и редактировать интерфейс вручную. -Этот код на C# показывает, как экспортировать презентацию в XAML с использованием стандартных настроек: +## **Экспорт презентаций в XAML с параметрами по умолчанию** +Этот код C# демонстрирует, как экспортировать презентацию в XAML с настройками по умолчанию: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,15 +29,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Экспорт презентаций в XAML с использованием пользовательских параметров -Вы можете выбрать параметры из интерфейса [IXamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions), которые контролируют процесс экспорта и определяют, как Aspose.Slides экспортирует вашу презентацию в XAML. +## **Экспорт презентаций в XAML с пользовательскими параметрами** -Например, если вы хотите, чтобы Aspose.Slides добавлял скрытые слайды из вашей презентации при экспорте в XAML, вы можете установить свойство [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) в true. Вот этот пример кода на C#: +Вы можете выбрать параметры из интерфейса [IXamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions), которые управляют процессом экспорта и определяют, как Aspose.Slides экспортирует вашу презентацию в XAML. +Например, если вы хотите, чтобы Aspose.Slides добавлял скрытые слайды из вашей презентации при экспорте в XAML, можно установить свойство [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) в значение true. См. пример кода C#: ```c# using (Presentation pres = new Presentation("pres.pptx")) { pres.Save(new XamlOptions { ExportHiddenSlides = true }); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Как гарантировать предсказуемое отображение шрифтов, если оригинальный шрифт недоступен на компьютере?** + +Установите [DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/) в [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) — он используется как резервный шрифт, когда оригинальный недоступен. Это помогает избежать неожиданной замены шрифтов. + +**Экспортированный XAML предназначен только для WPF или его можно использовать и в других XAML‑стэках?** + +XAML — это универсальный язык разметки UI, используемый в WPF, UWP и Xamarin.Forms. Экспорт ориентирован на совместимость со стеками Microsoft XAML; конкретное поведение и поддержка определённых конструкций зависят от целевой платформы. Проверьте разметку в своей среде. + +**Поддерживаются ли скрытые слайды и как предотвратить их экспорт по умолчанию?** + +По умолчанию скрытые слайды не включаются. Управлять этим поведением можно с помощью [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/exporthiddenslides/) в [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) — оставьте его отключённым, если экспортировать скрытые слайды не требуется. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/create-presentation/_index.md b/ru/net/developer-guide/manage-presentation/create-presentation/_index.md index 03895fb831..3dc9688dc3 100644 --- a/ru/net/developer-guide/manage-presentation/create-presentation/_index.md +++ b/ru/net/developer-guide/manage-presentation/create-presentation/_index.md @@ -5,55 +5,93 @@ type: docs weight: 10 url: /ru/net/create-presentation/ keywords: "Создание PowerPoint, PPTX, PPT, Создание презентации, Инициализация презентации, C#, .NET" -description: "Создание презентаций PowerPoint программным образом на C#, например, PPT, PPTX, ODP и т.д." +description: "Программное создание презентаций PowerPoint на C# например PPT, PPTX, ODP и др." --- -## Создание презентации PowerPoint -Чтобы добавить простую линию на выбранный слайд презентации, выполните следующие шаги: +## **Создание презентации PowerPoint** +Чтобы добавить простую прямую линию на выбранный слайд презентации, выполните следующие действия: 1. Создайте экземпляр класса Presentation. 1. Получите ссылку на слайд, используя его индекс. -1. Добавьте фигуру типа линия с помощью метода AddAutoShape, предоставленного объектом Shapes. -1. Запишите изменённую презентацию в файл PPTX. - -В приведенном ниже примере мы добавили линию на первый слайд презентации. +1. Добавьте AutoShape типа Line, используя метод AddAutoShape, предоставляемый объектом Shapes. +1. Сохраните изменённую презентацию в файл PPTX. +В приведённом ниже примере мы добавили линию на первый слайд презентации. ```c# -// Создание объекта Presentation, представляющего файл презентации +// Создать объект Presentation, представляющий файл презентации using (Presentation presentation = new Presentation()) { - // Получите первый слайд + // Получить первый слайд ISlide slide = presentation.Slides[0]; - // Добавьте автозаготовку типа линия + // Добавить автоконтур типа линия slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); presentation.Save("NewPresentation_out.pptx", SaveFormat.Pptx); } ``` -## Создание и сохранение презентации -Шаги: Создание и сохранение презентации на C# +## **Создание и сохранение презентации** + +Шаги: создание и сохранение презентации на C# 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). 2. Сохраните _Presentation_ в любой формат, поддерживаемый [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/). - ```c# Presentation presentation = new Presentation(); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); ``` -## Открытие и сохранение презентации -Шаги: Открытие и сохранение презентации на C# +## **Открытие и сохранение презентации** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) с любым форматом, т.е. PPT, PPTX, ODP и т.д. -2. Сохраните _Presentation_ в любой формат, поддерживаемый [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/). +Шаги: открытие и сохранение презентации на C# +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) любого формата, например PPT, PPTX, ODP и т.д. +2. Сохраните _Presentation_ в любой формат, поддерживаемый [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/). ```c# -// Загрузите любой поддерживаемый файл в Presentation, например, ppt, pptx, odp и т.д. +// Загрузите любой поддерживаемый файл в Presentation, например ppt, pptx, odp и т.д. Presentation presentation = new Presentation("Sample.odp"); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **Вопросы и ответы** + +**В какие форматы я могу сохранить новую презентацию?** + +Вы можете сохранять в [PPTX, PPT и ODP](/slides/ru/net/save-presentation/), а также экспортировать в [PDF](/slides/ru/net/convert-powerpoint-to-pdf/), [XPS](/slides/ru/net/convert-powerpoint-to-xps/), [HTML](/slides/ru/net/convert-powerpoint-to-html/), [SVG](/slides/ru/net/convert-powerpoint-to-png/) и [изображения](/slides/ru/net/convert-powerpoint-to-png/), и другие форматы. + +**Могу ли я начать с шаблона (POTX/POTM) и сохранить как обычный PPTX?** + +Да. Загрузите шаблон и сохраните в нужный формат; форматы POTX/POTM/PPTM и аналогичные [поддерживаются](/slides/ru/net/supported-file-formats/). + +**Как контролировать размер/соотношение сторон слайда при создании презентации?** + +Установите [размер слайда](/slides/ru/net/slide-size/) (включая предустановки, такие как 4:3 и 16:9, или пользовательские размеры) и выберите, как должен масштабироваться контент. + +**В каких единицах измеряются размеры и координаты?** + +В пунктах: 1 дюйм равен 72 единицам. + +**Как работать с очень большими презентациями (с множеством медиафайлов), чтобы уменьшить использование памяти?** + +Используйте [стратегии управления BLOB](/slides/ru/net/manage-blob/), ограничьте хранение в памяти, используя временные файлы, и предпочитайте файловые рабочие процессы вместо полностью в‑памяти потоков. + +**Могу ли я создавать/сохранять презентации параллельно?** + +Нельзя работать с тем же экземпляром [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) из [нескольких потоков](/slides/ru/net/multithreading/). Запускайте отдельные изолированные экземпляры для каждого потока или процесса. + +**Как убрать водяной знак и ограничения пробной версии?** + +[Примените лицензию](/slides/ru/net/licensing/) один раз на процесс. XML‑файл лицензии должен оставаться неизменным, а настройка лицензии должна быть синхронизирована при работе с несколькими потоками. + +**Могу ли я цифрово подписать создаваемый PPTX?** + +Да. [Цифровые подписи](/slides/ru/net/digital-signature-in-powerpoint/) (добавление и проверка) поддерживаются для презентаций. + +**Поддерживаются ли макросы (VBA) в созданных презентациях?** + +Да. Вы можете [создавать/редактировать проекты VBA](/slides/ru/net/presentation-via-vba/) и сохранять файлы с поддержкой макросов, такие как PPTM/PPSM. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/examine-presentation/_index.md b/ru/net/developer-guide/manage-presentation/examine-presentation/_index.md index 9f2651456d..f43061d3a5 100644 --- a/ru/net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/ru/net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -1,26 +1,39 @@ --- -title: Проверка презентации +title: "Изучить презентацию" type: docs weight: 30 url: /ru/net/examine-presentation/ -keywords: "Проверка PowerPoint, PPTX, PPT, Проверка презентации, Свойства PowerPoint, Свойства презентации, C#, Csharp, .NET" -description: "Проверка и получение свойств презентации PowerPoint на C# или .NET" +keywords: +- PowerPoint +- презентация +- формат презентации +- свойства презентации +- свойства документа +- получить свойства +- чтение свойств +- изменить свойства +- модифицировать свойства +- PPTX +- PPT +- C# +- Csharp +- .NET +description: "Чтение и изменение свойств презентации PowerPoint на C# или .NET" --- -Aspose.Slides для .NET позволяет вам исследовать презентацию, чтобы узнать ее свойства и понять ее поведение. +Aspose.Slides для .NET позволяет исследовать презентацию, чтобы узнать её свойства и понять её поведение. {{% alert title="Информация" color="info" %}} -Классы [PresentationInfo](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo) и [DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/) содержат свойства и методы, используемые в операциях здесь. +The [PresentationInfo](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo) and [DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/) classes contain the properties and methods used in operations here. {{% /alert %}} ## **Проверка формата презентации** -Перед работой с презентацией вы можете захотеть узнать, в каком формате (PPT, PPTX, ODP и других) находится презентация в данный момент. - -Вы можете проверить формат презентации без загрузки самой презентации. Посмотрите этот код на C#: +Before working on a presentation, you may want to find out what format (PPT, PPTX, ODP, and others) the presentation is in at the moment. +You can check a presentation's format without loading the presentation. See this C# code: ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); Console.WriteLine(info.LoadFormat); // PPTX @@ -32,40 +45,76 @@ IPresentationInfo info3 = PresentationFactory.Instance.GetPresentationInfo("pres Console.WriteLine(info3.LoadFormat); // ODP ``` -## **Получение свойств презентации** -Этот код на C# показывает, как получить свойства презентации (информацию о презентации): +## **Получение свойств презентации** +This C# code shows you how to get presentation properties (information about the presentation): ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); IDocumentProperties props = info.ReadDocumentProperties(); Console.WriteLine(props.CreatedTime); Console.WriteLine(props.Subject); Console.WriteLine(props.Title); -// .. +// .. ``` -Вы можете захотеть посмотреть [свойства класса DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties). + +You may want to see the [properties under the DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties) class. ## **Обновление свойств презентации** -Aspose.Slides предоставляет метод [PresentationInfoUpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties), который позволяет вам вносить изменения в свойства презентации. +Aspose.Slides provides the [PresentationInfo.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties) method that allows you to make changes to presentation properties. + +Let's say we have a PowerPoint presentation with the document properties shown below. -Этот код на C# показывает, как редактировать свойства презентации: +![Исходные свойства документа PowerPoint‑презентации](input_properties.png) +This code example shows you how to edit some presentation properties: ```c# -IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); +string fileName = "sample.pptx"; -IDocumentProperties props = info.ReadDocumentProperties(); -props.Title = "Мой заголовок"; -info.UpdateDocumentProperties(props); +IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo(fileName); + +IDocumentProperties properties = info.ReadDocumentProperties(); +properties.Title = "My title"; +properties.LastSavedTime = DateTime.Now; + +info.UpdateDocumentProperties(properties); +info.WriteBindedPresentation(fileName); ``` -### **Полезные ссылки** -Чтобы получить больше информации о презентации и ее атрибутах безопасности, вы можете найти эти ссылки полезными: +The results of changing the document properties are shown below. + +![Изменённые свойства документа PowerPoint‑презентации](output_properties.png) + +## **Полезные ссылки** + +To get more information about a presentation and its security attributes, you may find these links useful: - [Проверка, зашифрована ли презентация](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) - [Проверка, защищена ли презентация от записи (только для чтения)](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) - [Проверка, защищена ли презентация паролем перед загрузкой](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [Подтверждение пароля, использованного для защиты презентации](https://docs.aspose.com/slides/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/net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). + +## **Часто задаваемые вопросы** + +**Как проверить, встроены ли шрифты и какие именно?** + +Look for [embedded-font information](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getembeddedfonts/) at the presentation level, then compare those entries with the set of [fonts actually used across content](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getfonts/) to identify which fonts are critical for rendering. + +**Как быстро определить, есть ли в файле скрытые слайды и их количество?** + +Iterate through the [slide collection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) and inspect each slide's [visibility flag](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/). + +**Могу ли я определить, используется ли пользовательский размер и ориентация слайда, и отличаются ли они от стандартных?** + +Yes. Compare the current [slide size](https://reference.aspose.com/slides/net/aspose.slides/presentation/slidesize/) and orientation with the standard presets; this helps anticipate behavior for printing and export. + +**Есть ли быстрый способ проверить, ссылаются ли диаграммы на внешние источники данных?** + +Yes. Traverse all [charts](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/), check their [data source](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/datasourcetype/), and note whether the data is internal or link-based, including any broken links. + +**Как оценить «тяжёлые» слайды, которые могут замедлять рендеринг или экспорт в PDF?** + +For each slide, tally object counts and look for large images, transparency, shadows, animations, and multimedia; assign a rough complexity score to flag potential performance hotspots. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/import-presentation/_index.md b/ru/net/developer-guide/manage-presentation/import-presentation/_index.md index 47c71d7b1b..f4a623993e 100644 --- a/ru/net/developer-guide/manage-presentation/import-presentation/_index.md +++ b/ru/net/developer-guide/manage-presentation/import-presentation/_index.md @@ -4,24 +4,23 @@ linktitle: Импорт презентации type: docs weight: 60 url: /ru/net/import-presentation/ -keywords: "Импорт PowerPoint, PDF в PowerPoint, HTML в PowerPoint, PDF в PPT, HTML в PPT, C#, Csharp, Aspose.Slides для .NET" -description: "Импорт PowerPoint из PDF или HTML. Конвертировать PDF в PowerPoint. Конвертировать HTML в PowerPoint" +keywords: "Импорт PowerPoint, PDF в PowerPoint, HTML в PowerPoint, PDF в PPT, HTML в PPT, C#, Csharp, Aspose.Slides for .NET" +description: "Импорт PowerPoint из PDF или HTML. Преобразовать PDF в PowerPoint. Преобразовать HTML в PowerPoint" --- -Используя [**Aspose.Slides для .NET**](https://products.aspose.com/slides/net/), вы можете импортировать презентации из файлов в других форматах. Aspose.Slides предоставляет класс [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) для того, чтобы вы могли импортировать презентации из PDF-документов. +Using [**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/), you can import presentations from files in other formats. Aspose.Slides provides the [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) class to allow you to import presentations from PDF documents. ## **Импорт PowerPoint из PDF** -В этом случае вы можете конвертировать PDF в презентацию PowerPoint. +В этом случае вы преобразуете PDF в презентацию PowerPoint. pdf-to-powerpoint -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). -2. Вызовите метод [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) и передайте PDF-файл. -3. Используйте метод [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5), чтобы сохранить файл в формате PowerPoint. - -Этот код на C# демонстрирует операцию PDF в PowerPoint: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) . +2. Вызовите метод [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) и передайте PDF‑файл. +3. Используйте метод [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) для сохранения файла в формате PowerPoint. +This C# code demonstrates the PDF to PowerPoint operation: ```c# using (Presentation pres = new Presentation()) { @@ -30,22 +29,20 @@ using (Presentation pres = new Presentation()) } ``` -{{% alert title="СОВЕТ" color="primary" %}} - -Вам может быть интересно посмотреть на **бесплатное приложение Aspose** [PDF в PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint), так как это живая реализация процесса, описанного здесь. +{{% alert title="TIP" color="primary" %}} +Возможно, вам будет интересно попробовать бесплатное веб‑приложение **Aspose free** [PDF to PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint), так как оно представляет живую реализацию описанного здесь процесса. {{% /alert %}} ## **Импорт PowerPoint из HTML** -В этом случае вы можете конвертировать HTML-документ в презентацию PowerPoint. - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). -2. Вызовите метод [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) и передайте HTML-файл. -3. Используйте метод [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5), чтобы сохранить файл как документ PowerPoint. +В этом случае вы преобразуете HTML‑документ в презентацию PowerPoint. -Этот код на C# демонстрирует операцию HTML в PowerPoint: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) . +2. Вызовите метод [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) и передайте HTML‑файл. +3. Используйте метод [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) для сохранения файла как документ PowerPoint. +This C# code demonstrates the HTML to PowerPoint operation: ```c# using (var presentation = new Presentation()) { @@ -58,8 +55,14 @@ using (var presentation = new Presentation()) } ``` -{{% alert title="Замечание" color="warning" %}} +## **FAQ** + +**Сохраняются ли таблицы при импорте PDF и можно ли улучшить их обнаружение?** + +Таблицы могут обнаруживаться во время импорта; [PdfImportOptions](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/) включает параметр [DetectTables](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/detecttables/), который активирует распознавание таблиц. Эффективность зависит от структуры PDF. + +{{% alert title="Note" color="warning" %}} Вы также можете использовать Aspose.Slides для конвертации HTML в другие популярные форматы файлов: * [HTML в изображение](https://products.aspose.com/slides/net/conversion/html-to-image/) diff --git a/ru/net/developer-guide/manage-presentation/manage-slide-show/_index.md b/ru/net/developer-guide/manage-presentation/manage-slide-show/_index.md new file mode 100644 index 0000000000..52d7fcddf4 --- /dev/null +++ b/ru/net/developer-guide/manage-presentation/manage-slide-show/_index.md @@ -0,0 +1,122 @@ +--- +title: Управление показом слайдов +type: docs +weight: 90 +url: /ru/net/manage-slide-show/ +keywords: +- тип показа +- представляется докладчиком +- просматривается отдельным пользователем +- просматривается в киоске +- параметры показа +- непрерывное зацикливание +- показ без озвучивания +- показ без анимации +- цвет пера +- показывать слайды +- пользовательский показ +- переключать слайды +- вручную +- с использованием таймингов +- PowerPoint +- презентация +- C# +- .NET +- Aspose.Slides for .NET +description: "Управление настройками показа слайдов в презентациях PowerPoint с использованием C#" +--- + +В Microsoft PowerPoint параметры **Slide Show** являются ключевым инструментом для подготовки и проведения профессиональных презентаций. Одной из самых важных функций в этом разделе является **Set Up Show**, позволяющая адаптировать презентацию к конкретным условиям и аудиториям, обеспечивая гибкость и удобство. С помощью этой функции вы можете выбрать тип показа (например, представляемый докладчиком, просматриваемый отдельным лицом или в киоске), включать или отключать зацикливание, выбирать определённые слайды для отображения и использовать тайминги. Этот шаг подготовки имеет решающее значение для повышения эффективности и профессионализма вашей презентации. + +`SlideShowSettings` — это свойство класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/), типа [SlideShowSettings](https://reference.aspose.com/slides/net/aspose.slides/presentation/slideshowsettings/), которое позволяет управлять параметрами показа в презентации PowerPoint. В этой статье мы рассмотрим, как использовать это свойство для настройки и контроля различных аспектов параметров показа. + +## **Выбор типа показа** + +`SlideShowSettings.SlideShowType` определяет тип показа, который может быть экземпляром одной из следующих классов: [PresentedBySpeaker](https://reference.aspose.com/slides/net/aspose.slides/presentedbyspeaker/), [BrowsedByIndividual](https://reference.aspose.com/slides/net/aspose.slides/browsedbyindividual/), или [BrowsedAtKiosk](https://reference.aspose.com/slides/net/aspose.slides/browsedatkiosk/). Использование этого свойства позволяет адаптировать презентацию к различным сценариям использования, таким как автоматические киоски или ручные презентации. + +Ниже приведён пример кода, который создаёт новую презентацию и устанавливает тип показа «Browsed by an individual» без отображения полосы прокрутки. +```cs +using var presentation = new Presentation(); + +var showType = new BrowsedByIndividual +{ + ShowScrollbar = false +}; + +presentation.SlideShowSettings.SlideShowType = showType; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Включение параметров показа** + +`SlideShowSettings.Loop` определяет, должен ли показ повторяться в цикле до ручной остановки. Это полезно для автоматических презентаций, которые должны работать непрерывно. `SlideShowSettings.ShowNarration` определяет, следует ли воспроизводить голосовые комментарии во время показа. Это полезно для автоматических презентаций, содержащих голосовые подсказки для аудитории. `SlideShowSettings.ShowAnimation` определяет, должны ли воспроизводиться анимации, добавленные к объектам слайда. Это полезно для предоставления полного визуального эффекта презентации. + +В следующем примере кода создаётся новая презентация и включается зацикливание показа. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.Loop = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Выбор слайдов для отображения** + +Свойство `SlideShowSettings.Slides` позволяет выбрать диапазон слайдов, которые будут показаны во время презентации. Это полезно, когда нужно показать только часть презентации, а не все слайды. В следующем примере кода создаётся новая презентация и задаётся диапазон слайдов для отображения от слайда `2` до `9`. +```cs +using var presentation = new Presentation(); + +var slideRange = new SlidesRange +{ + Start = 2, + End = 9 +}; + +presentation.SlideShowSettings.Slides = slideRange; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Использование таймингов слайдов** + +Свойство `SlideShowSettings.UseTimings` позволяет включать или отключать использование заранее заданных таймингов для каждого слайда. Это полезно для автоматического отображения слайдов с предопределённой продолжительностью. Пример кода ниже создаёт новую презентацию и отключает использование таймингов. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.UseTimings = false; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **Отображение медиаконтролов** + +Свойство `SlideShowSettings.ShowMediaControls` определяет, следует ли отображать медиаконтролы (например, воспроизведение, паузу и остановку) во время показа, когда воспроизводится мультимедийный контент (видео или аудио). Это полезно, когда требуется предоставить ведущему контроль над воспроизведением медиа во время презентации. + +В следующем примере кода создаётся новая презентация и включается отображение медиаконтролов. +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.ShowMediaControls = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **FAQ** + +**Можно ли сохранить презентацию так, чтобы она открывалась сразу в режиме показа?** + +Да. Сохраните файл в формате PPSX или PPSM; эти форматы запускаются сразу в режиме показа при открытии в PowerPoint. В Aspose.Slides выберите соответствующий формат сохранения [during export](/slides/ru/net/save-presentation/). + +**Можно ли исключить отдельные слайды из показа, не удаляя их из файла?** + +Да. Отметьте слайд как [Hidden](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/). Скрытые слайды остаются в презентации, но не отображаются во время показа. + +**Может ли Aspose.Slides воспроизводить показ или управлять живой презентацией на экране?** + +Нет. Aspose.Slides редактирует, анализирует и конвертирует файлы презентаций; фактическое воспроизведение осуществляется приложением‑просмотрщиком, таким как PowerPoint. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/merge-presentation/_index.md b/ru/net/developer-guide/manage-presentation/merge-presentation/_index.md index 33c9f5d241..b355d8698f 100644 --- a/ru/net/developer-guide/manage-presentation/merge-presentation/_index.md +++ b/ru/net/developer-guide/manage-presentation/merge-presentation/_index.md @@ -1,73 +1,87 @@ --- -title: Слияние презентаций PowerPoint PPT, PPTX с помощью C# -linktitle: Слить Презентацию +title: Эффективное объединение презентаций PowerPoint (PPT, PPTX) с помощью C# +linktitle: Объединить презентацию type: docs weight: 40 url: /ru/net/merge-presentation/ -keywords: "Слияние PowerPoint, PPTX, PPT, объединение PowerPoint, слияние презентации, объединение презентации, C#, Csharp, .NET" -description: "Слияние или объединение презентаций PowerPoint на C# или .NET" +keywords: "Объединить PowerPoint, PPTX, PPT, комбинировать PowerPoint, объединить презентацию, комбинировать презентацию, C#, Csharp, .NET" +description: "Узнайте, как легко объединять или комбинировать презентации PowerPoint на C# или .NET." --- -{{% alert title="Совет" color="primary" %}} +## **Оптимизация объединения презентаций** -Вам стоит обратить внимание на **бесплатное онлайн приложение** [Merger](https://products.aspose.app/slides/merger) от Aspose. Оно позволяет пользователям объединять презентации PowerPoint в одном формате (PPT в PPT, PPTX в PPTX и т.д.) и сливать презентации в разных форматах (PPT в PPTX, PPTX в ODP и т.д.). +С помощью [Aspose.Slides for .NET](https://products.aspose.com/slides/net/) вы можете беспрепятственно комбинировать презентации PowerPoint, сохраняя стили, макеты и все элементы. В отличие от других инструментов, Aspose.Slides объединяет презентации без потери качества и данных. Объединяйте целые презентации, отдельные слайды и даже файлы разных форматов (PPT в PPTX и т.д.). -[![todo:image_alt_text](slides-merger.png)](https://products.aspose.app/slides/merger) +### **Возможности объединения** -{{% /alert %}} +- **Полное объединение презентаций:** собрать все слайды в один файл. +- **Объединение выбранных слайдов:** выбрать и собрать нужные слайды. +- **Кросс‑форматное объединение:** интегрировать презентации разных форматов, сохраняя целостность. +{{% alert title="Подсказка" color="primary" %}} -## **Слияние Презентации** +Ищете быстрый **бесплатный онлайн‑инструмент** для **объединения презентаций PowerPoint**? Попробуйте [**Aspose PowerPoint Merger**](https://products.aspose.app/slides/merger). -Когда вы [сливаете одну презентацию с другой](https://products.aspose.com/slides/net/merger/ppt/), вы фактически объединяете их слайды в одной презентации, чтобы получить один файл. +- **Легко объединяйте файлы PowerPoint**: комбинируйте несколько презентаций **PPT, PPTX, ODP** в один файл. +- **Поддерживает разные форматы**: объединяйте **PPT в PPTX**, **PPTX в ODP** и многое другое. +- **Не требуется установка**: работает прямо в браузере, быстро и безопасно. + +[![Объединить файлы PowerPoint онлайн](slides-merger.png)](https://products.aspose.app/slides/merger) + +Начните объединять файлы PowerPoint с **бесплатным онлайн‑инструментом Aspose** уже сегодня! + +{{% /alert %}} + +## **Объединение презентаций** + +Когда вы [объединяете одну презентацию с другой](https://products.aspose.com/slides/net/merger/ppt/), вы фактически соединяете их слайды в одну презентацию, получая один файл. {{% alert title="Информация" color="info" %}} -Большинство программ для работы с презентациями (PowerPoint или OpenOffice) не имеют функций, которые позволяют пользователям комбинировать презентации таким образом. +Большинство программ для презентаций (PowerPoint или OpenOffice) не имеют функций, позволяющих пользователям объединять презентации таким образом. -Тем не менее, [**Aspose.Slides для .NET**](https://products.aspose.com/slides/net/) позволяет вам сливать презентации несколькими способами. Вы можете объединять презентации со всеми их формами, стилями, текстами, форматированием, комментариями, анимациями и т.д. без необходимости беспокоиться о потере качества или данных. +[Aspose.Slides for .NET](https://products.aspose.com/slides/net/) позволяет объединять презентации разными способами. Вы получаете возможность объединять презентации со всеми их фигурами, стилями, текстом, форматированием, комментариями, анимациями и т.д., не опасаясь потери качества или данных. -**Смотрите также** +**См. также** -[Клонирование слайдов](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* +[Клонирование слайдов](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* {{% /alert %}} -### **Что можно объединить** +### **Что можно объединять** -С помощью Aspose.Slides вы можете объединить +С помощью Aspose.Slides вы можете объединять -* целые презентации. Все слайды из презентаций оказываются в одной презентации -* конкретные слайды. Выбранные слайды оказываются в одной презентации -* презентации в одном формате (PPT в PPT, PPTX в PPTX и т.д.) и в разных форматах (PPT в PPTX, PPTX в ODP и т.д.) друг с другом. +* целые презентации. Все слайды из презентаций оказываются в одной презентации +* отдельные слайды. Выбранные слайды оказываются в одной презентации +* презентации в одном формате (PPT в PPT, PPTX в PPTX и т.д.) и в разных форматах (PPT в PPTX, PPTX в ODP и т.д.) друг с другом. -{{% alert title="Заметка" color="warning" %}} +{{% alert title="Примечание" color="warning" %}} -Помимо презентаций, Aspose.Slides позволяет вам объединять другие файлы: +Помимо презентаций, Aspose.Slides позволяет объединять другие файлы: -* [Изображения](https://products.aspose.com/slides/net/merger/image-to-image/), такие как [JPG в JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/) или [PNG в PNG](https://products.aspose.com/slides/net/merger/png-to-png/) -* Документы, такие как [PDF в PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/) или [HTML в HTML](https://products.aspose.com/slides/net/merger/html-to-html/) -* И два разных файла, такие как [изображение в PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/) или [JPG в PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/) или [TIFF в PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/). +* [Изображения](https://products.aspose.com/slides/net/merger/image-to-image/), такие как [JPG в JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/) или [PNG в PNG](https://products.aspose.com/slides/net/merger/png-to-png/) +* Документы, такие как [PDF в PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/) или [HTML в HTML](https://products.aspose.com/slides/net/merger/html-to-html/) +* А также два разных файла, например [изображение в PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/), [JPG в PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/) или [TIFF в PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/). {{% /alert %}} -### **Варианты Слияния** - -Вы можете применить опции, которые определяют, будет ли +### **Параметры объединения** -* каждый слайд в выходной презентации сохранять уникальный стиль -* используемый специальный стиль для всех слайдов в выходной презентации. +Вы можете задать параметры, определяющие, -Для слияния презентаций Aspose.Slides предлагает методы [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) (из интерфейса [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection)). Существуют несколько реализаций методов `AddClone`, которые определяют параметры процесса слияния презентаций. У каждого объекта Presentation есть коллекция [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides), поэтому вы можете вызывать метод `AddClone` из презентации, в которую хотите объединить слайды. +* каждый слайд в результирующей презентации сохраняет уникальный стиль +* один общий стиль используется для всех слайдов в результирующей презентации. -Метод `AddClone` возвращает объект `ISlide`, который является клоном исходного слайда. Слайды в выходной презентации - это просто копия слайдов из источника. Поэтому вы можете вносить изменения в результирующие слайды (например, применять стили или параметры форматирования или макеты) без беспокойства о том, что исходные презентации потерпят влияние. +Для объединения презентаций Aspose.Slides предоставляет методы [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) (из интерфейса [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection)). Существует несколько перегрузок методов `AddClone`, определяющих параметры процесса объединения. Каждый объект Presentation имеет коллекцию [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides), поэтому вы можете вызвать метод `AddClone` из презентации, в которую хотите добавить слайды. -## **Слияние Презентаций** +Метод `AddClone` возвращает объект `ISlide`, являющийся клоном исходного слайда. Слайды в результирующей презентации просто копируются из исходных. Поэтому вы можете изменять полученные слайды (например, применять стили, параметры форматирования или макеты), не опасаясь, что исходные презентации будут затронуты. -Aspose.Slides предоставляет метод [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone), который позволяет вам объединять слайды, сохраняя при этом их макеты и стили (параметры по умолчанию). +## **Объединение презентаций** -Этот код на C# показывает, как объединять презентации: +Aspose.Slides предоставляет метод [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone), который позволяет комбинировать слайды, при этом слайды сохраняют свои макеты и стили (параметры по умолчанию). +Этот пример кода на C# показывает, как объединять презентации: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -81,12 +95,12 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Слияние Презентаций с Мастером Слайда** -Aspose.Slides предоставляет метод [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2), который позволяет вам объединять слайды, применяя шаблон презентации мастера слайда. Таким образом, если необходимо, вы сможете изменить стиль для слайдов в выходной презентации. +## **Объединение презентаций с шаблоном мастер‑слайда** -Этот код на C# демонстрирует описанную операцию: +Aspose.Slides предоставляет метод [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2), который позволяет комбинировать слайды, применяя шаблон мастер‑слайда презентации. При необходимости вы можете изменить стиль слайдов в результирующей презентации. +Этот пример кода на C# демонстрирует описанную операцию: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -100,35 +114,59 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -{{% alert title="Заметка" color="warning" %}} -Макет слайда для мастера слайда определяется автоматически. Когда подходящий макет не может быть определен, если булевский параметр `allowCloneMissingLayout` метода `AddClone` установлен в true, используется макет для исходного слайда. В противном случае будет выброшено исключение [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception). +{{% alert title="Примечание" color="warning" %}} + +Макет слайда для мастер‑слайда определяется автоматически. Если подходящий макет определить не удаётся и параметр `allowCloneMissingLayout` метода `AddClone` установлен в `true`, используется макет исходного слайда. В противном случае будет выброшено исключение [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception). {{% /alert %}} -Если вы хотите, чтобы слайды в выходной презентации имели другой макет слайда, используйте метод [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1) вместо при слиянии. +Если требуется, чтобы слайды в результирующей презентации имели другой макет, используйте вместо этого метод [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1). -## **Слияние Конкретных Слайдов из Презентаций** +## **Объединение конкретных слайдов из презентаций** -Этот код на C# показывает, как выбрать и объединить конкретные слайды из разных презентаций, чтобы получить одну выходную презентацию: +Объединение выбранных слайдов из нескольких презентаций полезно для создания индивидуальных наборов слайдов. Aspose.Slides for .NET позволяет выбрать и импортировать только нужные слайды. API сохраняет форматирование, макет и дизайн оригинальных слайдов. -```c# -using (Presentation pres1 = new Presentation("pres1.pptx"), - pres2 = new Presentation("pres2.pptx")) +Следующий пример кода на C# создаёт новую презентацию, добавляет титульные слайды из двух других презентаций и сохраняет результат в файл: +```cs +using (Presentation presentation = new Presentation()) +using (Presentation presentation1 = new Presentation("presentation1.pptx")) +using (Presentation presentation2 = new Presentation("presentation2.pptx")) { - foreach (ISlide slide in pres2.Slides) + presentation.Slides.RemoveAt(0); + + ISlide slide1 = GetTitleSlide(presentation1); + + if (slide1 != null) + presentation.Slides.AddClone(slide1); + + ISlide slide2 = GetTitleSlide(presentation2); + + if (slide2 != null) + presentation.Slides.AddClone(slide2); + + presentation.Save("combined.pptx", SaveFormat.Pptx); +} +``` + +```cs +static ISlide GetTitleSlide(IPresentation presentation) +{ + foreach (ISlide slide in presentation.Slides) { - pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]); + if (slide.LayoutSlide.LayoutType == SlideLayoutType.Title) + { + return slide; + } } - - pres1.Save("combined.pptx", SaveFormat.Pptx); + return null; } ``` -## **Слияние Презентаций с Макетом Слайда** -Этот код на C# показывает, как объединить слайды из презентаций, применяя ваш предпочтительный макет слайда к ним, чтобы получить одну выходную презентацию: +## **Объединение презентаций с макетом слайда** +Этот пример кода на C# показывает, как комбинировать слайды из презентаций, применяя выбранный вами макет слайда, чтобы получить одну итоговую презентацию: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -142,18 +180,18 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Слияние Презентаций с Разными Размероми Слайдов** -{{% alert title="Заметка" color="warning" %}} +## **Объединение презентаций с разными размерами слайдов** -Вы не можете объединить презентации с разными размерами слайдов. +{{% alert title="Примечание" color="warning" %}} -{{% /alert %}} +Нельзя объединять презентации с различными размерами слайдов. -Чтобы объединить 2 презентации с разными размерами слайдов, вам нужно изменить размер одной из презентаций, чтобы его размер соответствовал размеру другой презентации. +{{% /alert %}} -Этот пример кода демонстрирует описанную операцию: +Чтобы объединить 2 презентации с разными размерами слайдов, необходимо изменить размер одной из презентаций, чтобы он совпадал с размером другой. +Пример кода, демонстрирующий описанную операцию: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -169,10 +207,10 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **Слияние Слайдов в Раздел Презентации** -Этот код на C# показывает, как слить конкретный слайд в раздел презентации: +## **Объединение слайдов в раздел презентации** +Этот пример кода на C# показывает, как объединить конкретный слайд в раздел презентации: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -187,10 +225,29 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -Слайд добавляется в конец раздела. -{{% alert title="Совет" color="primary" %}} +Слайд добавляется в конец раздела. + +{{% alert title="Подсказка" color="primary" %}} + +Aspose предоставляет [БЕСПЛАТНЫЙ веб‑инструмент Collage](https://products.aspose.app/slides/collage). С помощью этой онлайн‑службы вы можете объединять [JPG в JPG](https://products.aspose.app/slides/collage/jpg) или PNG в PNG, создавать [фото‑решётки](https://products.aspose.app/slides/collage/photo-grid) и т.д. + +{{% /alert %}} + +## **Часто задаваемые вопросы** + +**Сохраняются ли заметки докладчика при объединении?** + +Да. При клонировании слайдов Aspose.Slides переносит все элементы слайда, включая заметки, форматирование и анимацию. + +**Переносятся ли комментарии и их авторы?** + +Комментарии, как часть содержимого слайда, копируются вместе со слайдом. Метки авторов сохраняются в виде объектов комментариев в полученной презентации. + +**Что делать, если исходная презентация защищена паролем?** + +Её необходимо [открыть с паролем](/slides/ru/net/password-protected-presentation/) через свойство [LoadOptions.Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/); после загрузки эти слайды можно безопасно клонировать в незапароленный целевой файл (или в защищённый файл). -Aspose предоставляет [БЕСПЛАТНОЕ веб-приложение Collage](https://products.aspose.app/slides/collage). Используя этот онлайн-сервис, вы можете объединять [JPG в JPG](https://products.aspose.app/slides/collage/jpg) или изображения PNG в PNG, создавать [фото решетки](https://products.aspose.app/slides/collage/photo-grid) и многое другое. +**Насколько потокобезопасна операция объединения?** -{{% /alert %}} \ No newline at end of file +Не используйте один и тот же объект [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) из нескольких потоков ([мультипоточность](/slides/ru/net/multithreading/)). Рекомендуемое правило: «один документ — один поток»; разные файлы можно обрабатывать параллельно в отдельных потоках. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/open-presentation/_index.md b/ru/net/developer-guide/manage-presentation/open-presentation/_index.md index ef6ea6d9ea..16c282e9ef 100644 --- a/ru/net/developer-guide/manage-presentation/open-presentation/_index.md +++ b/ru/net/developer-guide/manage-presentation/open-presentation/_index.md @@ -1,107 +1,127 @@ --- -title: Открыть презентацию в C# -linktitle: Открыть презентацию +title: Открыть презентацию на C# +linktitle: Открыть презентации type: docs weight: 20 url: /ru/net/open-presentation/ -keywords: "Открыть PowerPoint, PPTX, PPT, Открыть презентацию, Загрузить презентацию, C#, Csharp, .NET" -description: "Открыть или загрузить презентацию PPT, PPTX, ODP на C# или .NET" +keywords: +- открыть PowerPoint +- открыть презентацию +- открыть PPTX +- открыть PPT +- открыть ODP +- загрузить презентацию +- загрузить PPTX +- загрузить PPT +- загрузить ODP +- защищённая презентация +- большая презентация +- внешний ресурс +- бинарный объект +- .NET +- C# +- Aspose.Slides +description: "Откройте презентации PowerPoint (.pptx, .ppt) и OpenDocument (.odp) легко с помощью Aspose.Slides для .NET — быстро, надёжно, полностью функционально." --- -Кроме создания презентаций PowerPoint с нуля, Aspose.Slides позволяет вам открывать существующие презентации. После загрузки презентации вы можете получить информацию о ней, редактировать ее (содержимое на слайдах), добавлять новые слайды или удалять существующие и т.д. +## **Обзор** -## Открыть презентацию +Помимо создания презентаций PowerPoint с нуля, Aspose.Slides также позволяет открывать существующие презентации. После загрузки презентации вы можете получить информацию о ней, редактировать содержимое слайдов, добавлять новые слайды, удалять существующие и многое другое. -Чтобы открыть существующую презентацию, вам просто нужно создать экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) и передать путь к файлу (к презентации, которую вы хотите открыть) в его конструктор. +## **Открытие презентаций** -Этот код на C# показывает, как открыть презентацию и узнать, сколько слайдов она содержит: +Чтобы открыть существующую презентацию, создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) и передайте путь к файлу в его конструктор. -```c# -// Создание экземпляра класса Presentation и передача пути к файлу в его конструктор -Presentation pres = new Presentation("OpenPresentation.pptx"); - -// Выводит общее количество слайдов в презентации -System.Console.WriteLine(pres.Slides.Count.ToString()); +Следующий пример на C# показывает, как открыть презентацию и получить количество её слайдов: +```cs +// Создайте экземпляр класса Presentation и передайте путь к файлу в его конструктор. +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + // Выведите общее количество слайдов в презентации. + System.Console.WriteLine(presentation.Slides.Count); +} ``` -## **Открыть защищенную паролем презентацию** -Когда вам нужно открыть презентацию с защитой паролем, вы можете передать пароль через свойство [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) (из класса [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/)), чтобы расшифровать и загрузить презентацию. Этот код на C# демонстрирует операцию: +## **Открытие защищённых паролем презентаций** -```c# - LoadOptions loadOptions = new LoadOptions {Password = "ВАШ_ПАРОЛЬ"}; - using (Presentation presentation = new Presentation("pres.pptx", loadOptions)) - { - // Выполните некоторые действия с расшифрованной презентацией - } +Когда необходимо открыть презентацию, защищённую паролем, передайте пароль через свойство [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) класса [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) для расшифровки и загрузки. Следующий пример на C# демонстрирует эту операцию: +```cs +LoadOptions loadOptions = new LoadOptions {Password = "YOUR_PASSWORD"}; +using (Presentation presentation = new Presentation("Sample.pptx", loadOptions)) +{ + // Выполните операции над расшифрованной презентацией. +} ``` -## Открыть большую презентацию -Aspose.Slides предоставляет параметры (в частности, свойство [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) в классе [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/)), позволяющие загружать большие презентации. +## **Открытие больших презентаций** -Этот код на C# демонстрирует операцию, в которой загружается большая презентация (например, размером 2 ГБ): +Aspose.Slides предоставляет параметры — в частности свойство [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) в классе [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) — позволяющие загружать большие презентации. -```c# -const string pathToVeryLargePresentationFile = "veryLargePresentation.pptx"; +Следующий пример на C# демонстрирует загрузку большой презентации (например, 2 ГБ): +```cs +const string filePath = "LargePresentation.pptx"; LoadOptions loadOptions = new LoadOptions { - BlobManagementOptions = { - // Давайте выберем поведение KeepLocked - "veryLargePresentation.pptx" будет заблокирован на - // время существования экземпляра Presentation, но нам не нужно загружать его в память или копировать в - // временный файл + BlobManagementOptions = + { + // Выберите поведение KeepLocked — файл презентации останется заблокированным на протяжении всего времени + // экземпляра Presentation, но его не требуется загружать в память или копировать во временный файл. PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, + IsTemporaryFilesAllowed = true, + MaxBlobsBytesInMemory = 10 * 1024 * 1024 // 10 МБ } }; -using (Presentation pres = new Presentation(pathToVeryLargePresentationFile, loadOptions)) +using (Presentation presentation = new Presentation(filePath, loadOptions)) { - // Большая презентация загружена и может быть использована, но потребление памяти все еще низкое. + // Большая презентация загружена и может быть использована, при этом потребление памяти остается низким. - // Внесение изменений в презентацию. - pres.Slides[0].Name = "Очень большая презентация"; + // Внесите изменения в презентацию. + presentation.Slides[0].Name = "Large presentation"; - // Презентация будет сохранена в другой файл. Потребление памяти остается низким во время операции - pres.Save("veryLargePresentation-copy.pptx", SaveFormat.Pptx); + // Сохраните презентацию в другой файл. Потребление памяти остаётся низким во время этой операции. + presentation.Save("LargePresentation-copy.pptx", SaveFormat.Pptx); - // Нельзя это сделать! Будет выброшено исключение IO, так как файл заблокирован, пока объекты pres не будут - // освобождены - File.Delete(pathToVeryLargePresentationFile); + // Не делайте этого! Будет выброшено исключение ввода‑вывода, потому что файл заблокирован до тех пор, пока объект презентации не будет освобождён. + File.Delete(filePath); } -// Здесь можно сделать это, исходный файл не заблокирован объектом pres -File.Delete(pathToVeryLargePresentationFile); +// Здесь это можно сделать. Исходный файл больше не заблокирован объектом презентации. +File.Delete(filePath); ``` -{{% alert color="info" title="Информация" %}} -Чтобы обойти определенные ограничения при взаимодействии с потоками, Aspose.Slides может копировать содержимое потока. Загрузка большой презентации через ее поток приведет к копированию содержимого презентации и замедлит загрузку. Поэтому, когда вы собираетесь загрузить большую презентацию, мы настоятельно рекомендуем использовать путь к файлу презентации, а не её поток. - -Когда вы хотите создать презентацию, содержащую большие объекты (видео, аудио, большие изображения и т.д.), вы можете использовать [Blob-объекты](https://docs.aspose.com/slides/net/manage-blob/), чтобы уменьшить потребление памяти. +{{% alert color="info" title="Info" %}} +Чтобы обойти некоторые ограничения при работе с потоками, Aspose.Slides может копировать содержимое потока. Загрузка большой презентации из потока приводит к копированию презентации и может замедлить загрузку. Поэтому, когда необходимо загрузить большую презентацию, мы настоятельно рекомендуем использовать путь к файлу презентации, а не поток. +При создании презентации, содержащей большие объекты (видео, аудио, изображения высокого разрешения и т.д.), вы можете использовать [BLOB management](/slides/ru/net/manage-blob/) для снижения потребления памяти. {{%/alert %}} -## Загрузить презентацию -Aspose.Slides предоставляет [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) с единственным методом, позволяющим управлять внешними ресурсами. Этот код на C# показывает, как использовать интерфейс `IResourceLoadingCallback`: +## **Управление внешними ресурсами** + +Aspose.Slides предоставляет интерфейс [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/), который позволяет управлять внешними ресурсами. Следующий пример на C# показывает, как использовать интерфейс `IResourceLoadingCallback`: +```cs +LoadOptions loadOptions = new LoadOptions(); +loadOptions.ResourceLoadingCallback = new ImageLoadingHandler(); -```c# -LoadOptions opts = new LoadOptions(); -opts.ResourceLoadingCallback = new ImageLoadingHandler(); -Presentation presentation = new Presentation("presentation.pptx", opts); +Presentation presentation = new Presentation("Sample.pptx", loadOptions); ``` -```c# +```cs public class ImageLoadingHandler : IResourceLoadingCallback { public ResourceLoadingAction ResourceLoading(IResourceLoadingArgs args) { if (args.OriginalUri.EndsWith(".jpg")) { - try // Загружает заменяющее изображение + try { - byte[] imageBytes = File.ReadAllBytes("c:\\aspose-logo.jpg"); - args.SetData(imageBytes); + // Загрузить заменяющее изображение. + byte[] imageData = File.ReadAllBytes("aspose-logo.jpg"); + args.SetData(imageData); return ResourceLoadingAction.UserProvided; } catch (Exception) @@ -111,53 +131,52 @@ public class ImageLoadingHandler : IResourceLoadingCallback } else if (args.OriginalUri.EndsWith(".png")) { - // Устанавливает заменяющий URL + // Установить заменяющий URL. args.Uri = "http://www.google.com/images/logos/ps_logo2.png"; return ResourceLoadingAction.Default; } - // Пропускает все остальные изображения + // Пропустить все остальные изображения. return ResourceLoadingAction.Skip; } } ``` -## Загрузить презентацию без встроенных двоичных объектов - -Презентация PowerPoint может содержать следующие виды встроенных двоичных объектов: -- VBA проект ([IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); -- Встроенные данные OLE объектов ([IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); -- Двоичные данные ActiveX управления ([IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)); +## **Загрузка презентаций без встроенных бинарных объектов** -Используя свойство [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/), вы можете загрузить презентацию без каких-либо встроенных двоичных объектов. +Презентация PowerPoint может содержать следующие типы встроенных бинарных объектов: -Это свойство может быть полезно для удаления потенциально вредоносного двоичного содержимого. +- VBA‑проект (доступен через [IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); +- Встроенные данные OLE‑объекта (доступны через [IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); +- Бинарные данные управления ActiveX (доступны через [IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)). -Код на C# демонстрирует, как загрузить и сохранить презентацию без вредоносного содержимого: +Используя свойство [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/), вы можете загрузить презентацию без каких-либо встроенных бинарных объектов. -```c# +Это свойство полезно для удаления потенциально вредоносного бинарного контента. Следующий пример на C# демонстрирует, как загрузить презентацию без встроенного бинарного контента: +```cs LoadOptions loadOptions = new LoadOptions() { DeleteEmbeddedBinaryObjects = true } -using (var pres = new Presentation("malware.ppt", loadOptions)) +using (Presentation presentation = new Presentation("malware.ppt", loadOptions)) { - pres.Save("clean.ppt", SaveFormat.Ppt); + // Выполните операции над презентацией. } ``` -

Открыть и сохранить презентацию

-Этапы: Открыть и сохранить презентацию в C# +## **Часто задаваемые вопросы** + +**Как определить, что файл повреждён и не может быть открыт?** + +При загрузке будет выброшено исключение парсинга/проверки формата. Такие ошибки часто указывают на недействительную структуру ZIP или повреждённые записи PowerPoint. + +**Что происходит, если при открытии отсутствуют необходимые шрифты?** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) и передайте файл, который вы хотите открыть. -2. Сохраните презентацию. +Файл откроется, но позже при [rendering/export](/slides/ru/net/convert-presentation/) может произойти подстановка шрифтов. [Configure font substitutions](/slides/ru/net/font-substitution/) или [add the required fonts](/slides/ru/net/custom-font/) в среду выполнения. -```c# -// Загружает любую поддерживаемую презентацию, например ppt, pptx, odp -Presentation presentation = new Presentation("Sample.odp"); +**Что происходит с встроенными мультимедийными файлами (видео/аудио) при открытии?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +Они становятся доступными как ресурсы презентации. Если медиа‑файлы указаны внешними путями, убедитесь, что эти пути доступны в вашей среде; в противном случае при [rendering/export](/slides/ru/net/convert-presentation/) медиа могут быть пропущены. \ No newline at end of file diff --git a/ru/net/developer-guide/manage-presentation/save-presentation/_index.md b/ru/net/developer-guide/manage-presentation/save-presentation/_index.md index 69e41cf1fc..e57e30de4e 100644 --- a/ru/net/developer-guide/manage-presentation/save-presentation/_index.md +++ b/ru/net/developer-guide/manage-presentation/save-presentation/_index.md @@ -1,151 +1,195 @@ --- -title: Сохранение презентации в .NET -linktitle: Сохранение презентации +title: Сохранение презентаций в .NET +linktitle: Сохранить презентации type: docs weight: 80 url: /ru/net/save-presentation/ -keywords: "Сохранить PowerPoint, PPT, PPTX, Сохранить презентацию, файл, поток, C#, Csharp, .NET" -description: "Сохранить презентацию PowerPoint как файл или поток в C# или .NET" +keywords: +- сохранить PowerPoint +- сохранить OpenDocument +- сохранить презентацию +- сохранить слайд +- сохранить PPT +- сохранить PPTX +- сохранить ODP +- презентация в файл +- презентация в поток +- предопределённый тип представления +- строгий формат Office Open XML +- режим Zip64 +- обновление миниатюры +- прогресс сохранения +- .NET +- C# +- Aspose.Slides +description: "Узнайте, как сохранять презентации в .NET с помощью Aspose.Slides — экспортировать в PowerPoint или OpenDocument, сохраняя макеты, шрифты и эффекты." --- -## **Сохранение презентации** -В открытии презентации описано, как использовать класс [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) для открытия презентации. Эта статья объясняет, как создавать и сохранять презентации. Класс [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) содержит содержимое презентации. Независимо от того, создаете ли вы презентацию с нуля или модифицируете существующую, когда вы закончите, вы захотите сохранить презентацию. С помощью Aspose.Slides для .NET она может быть сохранена как **файл** или **поток**. Эта статья объясняет, как сохранить презентацию разными способами: +## **Обзор** -### **Сохранение презентации в файлы** -Сохраните презентацию в файлы, вызвав метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). Просто передайте имя файла и формат сохранения в метод [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index). Примеры, приведённые ниже, показывают, как сохранить презентацию с помощью Aspose.Slides для .NET, используя C#. +[Open Presentations in C#](/slides/ru/net/open-presentation/) описал, как использовать класс [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) для открытия презентации. В этой статье объясняется, как создавать и сохранять презентации. Класс [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) содержит содержимое презентации. Независимо от того, создаёте ли вы презентацию с нуля или модифицируете существующую, вы захотите сохранить её после завершения работы. С Aspose.Slides для .NET вы можете сохранять в **файл** или **поток**. Эта статья объясняет различные способы сохранения презентации. -```c# -// Создайте объект Presentation, который представляет файл PPT -Presentation presentation = new Presentation(); +## **Сохранение презентаций в файлы** -//...выполните некоторые действия... +Сохраните презентацию в файл, вызвав метод `Save` класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). Передайте методу имя файла и формат сохранения. Ниже приведён пример, показывающий, как сохранить презентацию с помощью Aspose.Slides. +```cs +// Создайте объект класса Presentation, представляющий файл презентации. +using (Presentation presentation = new Presentation()) +{ + // Выполните здесь некоторую работу... -// Сохраните вашу презентацию в файл -presentation.Save("Saved_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); + // Сохраните презентацию в файл. + presentation.Save("Output.pptx", SaveFormat.Pptx); +} ``` -### **Сохранение презентации в потоки** -Вы можете сохранить презентацию в поток, передав выходной поток методу Save класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). Существует много типов потоков, в которые можно сохранить презентацию. В приведенном ниже примере мы создали новый файл презентации, добавили текст в фигуру и сохранили презентацию в поток. -```c# -// Создайте объект Presentation, который представляет файл PPT +## **Сохранение презентаций в потоки** + +Вы можете сохранить презентацию в поток, передав выходной поток в метод `Save` класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). Презентацию можно записать во множество типов потоков. В примере ниже мы создаём новую презентацию и сохраняем её в файловый поток. +```cs +// Создайте объект класса Presentation, представляющий файл презентации. using (Presentation presentation = new Presentation()) { + using (FileStream fileStream = new FileStream("Output.pptx", FileMode.Create)) + { + // Сохраните презентацию в поток. + presentation.Save(fileStream, SaveFormat.Pptx); + } +} +``` - IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 200, 200); - // Добавьте текст в фигуру - shape.TextFrame.Text = "Этот демонстрационный пример показывает, как создать файл PowerPoint и сохранить его в поток."; +## **Сохранение презентаций с предопределённым типом представления** - FileStream toStream = new FileStream("Save_As_Stream_out.pptx", FileMode.Create); - presentation.Save(toStream, Aspose.Slides.Export.SaveFormat.Pptx); - toStream.Close(); +Aspose.Slides позволяет задать начальное представление, которое PowerPoint использует при открытии сгенерированной презентации, через класс [ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/). Установите свойство [LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/lastview/) значением из перечисления [ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype/). +```cs +using (Presentation presentation = new Presentation()) +{ + presentation.ViewProperties.LastView = ViewType.SlideMasterView; + presentation.Save("SlideMasterView.pptx", SaveFormat.Pptx); } ``` -### **Сохранение презентаций с заранее определенным типом представления** -Aspose.Slides для .NET предоставляет возможность задать тип представления для сгенерированной презентации, когда она открыта в PowerPoint, с помощью класса [ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties). Свойство [LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/properties/lastview) используется для задания типа представления с использованием перечисления [ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype). -```csharp -using (Presentation pres = new Presentation()) +## **Сохранение презентаций в строгом формате Office Open XML** + +Aspose.Slides позволяет сохранять презентацию в строгом формате Office Open XML. Используйте класс [PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/) и установив его свойство conformance при сохранении. Если установить `Conformance.Iso29500_2008_Strict`, выходной файл будет сохранён в строгом формате Office Open XML. + +Пример ниже создаёт презентацию и сохраняет её в строгом формате Office Open XML. +```cs +PptxOptions options = new PptxOptions() +{ + Conformance = Conformance.Iso29500_2008_Strict +}; + +// Создайте объект класса Presentation, представляющий файл презентации. +using (Presentation presentation = new Presentation()) { - pres.ViewProperties.LastView = ViewType.SlideMasterView; - pres.Save("pres-will-open-SlideMasterView.pptx", SaveFormat.Pptx); + // Сохраните презентацию в строгом формате Office Open XML. + presentation.Save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options); } ``` -### **Сохранение презентаций в строгом формате Office Open XML** -Aspose.Slides позволяет сохранять презентацию в строгом формате Office Open XML. Для этой цели он предоставляет класс [**Aspose.Slides.Export.PptxOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions), где вы можете установить свойство Conformance при сохранении файла презентации. Если вы установите его значение как Conformance.Iso29500_2008_Strict, то выходной файл презентации будет сохранён в строгом формате Office Open XML. -Следующий пример кода создает презентацию и сохраняет её в строгом формате Office Open XML. При вызове метода Save для презентации объект **[Aspose.Slides.Export.PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions)** передается с установленным свойством [**Conformance**](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/properties/conformance) как [**Conformance.Iso29500_2008_Strict**](https://reference.aspose.com/slides/net/aspose.slides.export/conformance). +## **Сохранение презентаций в формате Office Open XML в режиме Zip64** + +Файл Office Open XML представляет собой ZIP‑архив, накладывающий ограничения в 4 GB (2^32 байта) на несжатый размер любого файла, сжатый размер любого файла и общий размер архива, а также ограничение архива в 65 535 (2^16‑1) файлов. Расширения формата ZIP64 повышают эти ограничения до 2^64. + +Свойство [IPptxOptions.Zip64Mode](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/) позволяет выбрать, когда использовать расширения формата ZIP64 при сохранении файла Office Open XML. -```csharp - // Создайте объект Presentation, который представляет файл презентации - using (Presentation presentation = new Presentation()) - { - // Получите первый слайд - ISlide slide = presentation.Slides[0]; +Это свойство предоставляет следующие режимы: - // Добавьте автозначок типа линия - slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); +- `IfNecessary` использует расширения ZIP64 только если презентация превышает указанные выше ограничения. Это режим по умолчанию. +- `Never` никогда не использует расширения ZIP64. +- `Always` всегда использует расширения ZIP64. - // Сохраните презентацию в строгом формате Office Open XML - presentation.Save(dataDir + "NewPresentation_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx, - new PptxOptions() { Conformance = Conformance.Iso29500_2008_Strict }); - } +Следующий код демонстрирует, как сохранить презентацию как PPTX с включёнными расширениями формата ZIP64: +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + presentation.Save("OutputZip64.pptx", SaveFormat.Pptx, new PptxOptions() + { + Zip64Mode = Zip64Mode.Always + }); +} ``` -### **Сохранение презентаций в формате Office Open XML в режиме Zip64** -Файл Office Open XML представляет собой ZIP-архив, который имеет предел 4 ГБ (2^32 байт) на не сжатый размер файла, сжатый размер файла и общий размер архива, а также лимит 65,535 (2^16-1) файлов в архиве. Расширения формата ZIP64 увеличивают эти лимиты до 2^64. -Новое свойство [**IPptxOptions.Zip64Mode**](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/) позволяет вам выбирать, когда использовать расширения формата ZIP64 для сохраненного файла Office Open XML. +{{% alert title="NOTE" color="warning" %}} +При сохранении с `Zip64Mode.Never` бросается [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/), если презентацию невозможно сохранить в формате ZIP32. +{{% /alert %}} -Это свойство предоставляет следующие режимы: +## **Сохранение презентаций без обновления миниатюры** -- [Zip64Mode.IfNecessary](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) означает, что расширения формата ZIP64 будут использоваться только в том случае, если презентация выходит за пределы указанных ограничений. Это режим по умолчанию. -- [Zip64Mode.Never](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) означает, что расширения формата ZIP64 использоваться не будут. -- [Zip64Mode.Always](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/) означает, что расширения формата ZIP64 будут использоваться всегда. +Свойство [PptxOptions.RefreshThumbnail](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/refreshthumbnail/) контролирует генерацию миниатюры при сохранении презентации в PPTX: -Следующий код C# демонстрирует, как сохранить презентацию в формате PPTX с расширениями формата ZIP64: +- Если установить `true`, миниатюра обновляется во время сохранения. Это значение по умолчанию. +- Если установить `false`, текущая миниатюра сохраняется. Если у презентации нет миниатюры, она не будет создана. -```c# -using (Presentation pres = new Presentation("Sample.pptx")) +В коде ниже презентация сохраняется в PPTX без обновления её миниатюры. +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) { - pres.Save("Sample-zip64.pptx", SaveFormat.Pptx, new PptxOptions() + presentation.Save("Output.pptx", SaveFormat.Pptx, new PptxOptions() { - Zip64Mode = Zip64Mode.Always + RefreshThumbnail = false }); } ``` -{{% alert title="ПРИМЕЧАНИЕ" color="warning" %}} - -Сохранение в режиме Zip64Mode.Never вызовет [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/), если презентацию невозможно сохранить в формате ZIP32. +{{% alert title="Info" color="info" %}} +Эта опция помогает сократить время, необходимое для сохранения презентации в формате PPTX. {{% /alert %}} -### **Сохранение обновлений прогресса в процентах** -В интерфейсе [**ISaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions) и абстрактном классе [**SaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions) был добавлен новый интерфейс [**IProgressCallback**](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback). Интерфейс **IProgressCallback** представляет собой объект обратного вызова для сохранения обновлений прогресса в процентах. +## **Обновления прогресса сохранения в процентах** + +Интерфейс [IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/) используется через свойство `ProgressCallback`, которое открыто интерфейсом [ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions/) и абстрактным классом [SaveOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/). Назначьте реализацию [IProgressCallback](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback/) свойству `ProgressCallback`, чтобы получать обновления прогресса сохранения в процентах. -Ниже приведенные фрагменты кода показывают, как использовать интерфейс IProgressCallback: +Следующие фрагменты кода показывают, как использовать `IProgressCallback`. +```cs +ISaveOptions saveOptions = new PdfOptions(); +saveOptions.ProgressCallback = new ExportProgressHandler(); -```c# -using (Presentation presentation = new Presentation("ConvertToPDF.pptx")) +using (Presentation presentation = new Presentation("Sample.pptx")) { - ISaveOptions saveOptions = new PdfOptions(); - saveOptions.ProgressCallback = new ExportProgressHandler(); - presentation.Save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions); + presentation.Save("Output.pdf", SaveFormat.Pdf, saveOptions); } ``` -```c# +```cs class ExportProgressHandler : IProgressCallback { public void Reporting(double progressValue) { - // Используйте процентное значение прогресса здесь + // Используйте значение процента прогресса здесь. int progress = Convert.ToInt32(progressValue); - Console.WriteLine(progress + "% файл преобразован"); + + Console.WriteLine(progress + "% of the file has been converted."); } } ``` -{{% alert title="Информация" color="info" %}} - -Используя собственное API, Aspose разработал [бесплатное приложение PowerPoint Splitter](https://products.aspose.app/slides/splitter), которое позволяет пользователям разбивать свои презентации на несколько файлов. По сути, приложение сохраняет выбранные слайды из данной презентации как новые файлы PowerPoint (PPTX или PPT). +{{% alert title="Info" color="info" %}} +Aspose разработала [бесплатное приложение PowerPoint Splitter](https://products.aspose.app/slides/splitter) с использованием собственного API. Приложение позволяет разбивать презентацию на несколько файлов, сохраняя выбранные слайды как новые файлы PPTX или PPT. {{% /alert %}} -

Открыть и сохранить презентацию

+## **Вопросы и ответы** + +**Поддерживается ли «быстрое сохранение» (инкрементное сохранение), при котором записываются только изменения?** + +Нет. При каждом сохранении создаётся полный целевой файл; инкрементное «быстрое сохранение» не поддерживается. + +**Безопасно ли сохранять один и тот же объект Presentation из нескольких потоков?** + +Нет. Экземпляр [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) [не является потокобезопасным](/slides/ru/net/multithreading/); сохраняйте его из одного потока. -Шаги: открыть и сохранить презентацию в C# +**Что происходит с гиперссылками и внешними связанными файлами при сохранении?** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) в любом формате, т.е. PPT, PPTX, ODP и т.д. -2. Сохраните _Презентацию_ в любой формат, поддерживаемый [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) +[Гиперссылки](/slides/ru/net/manage-hyperlinks/) сохраняются. Внешние связанные файлы (например, видео по относительным путям) не копируются автоматически — убедитесь, что указанные пути остаются доступными. -```c# -// Загрузите любой поддерживаемый файл в Presentation, например ppt, pptx, odp и т.д. -Presentation presentation = new Presentation("Sample.odp"); +**Можно ли задавать/сохранять метаданные документа (Автор, Заголовок, Компания, Дата)?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +Да. Поддерживаются стандартные [свойства документа](/slides/ru/net/presentation-properties/) и они будут записаны в файл при сохранении. \ No newline at end of file diff --git a/ru/net/developer-guide/modern-api/_index.md b/ru/net/developer-guide/modern-api/_index.md index 1123e83d3c..491e45cc1b 100644 --- a/ru/net/developer-guide/modern-api/_index.md +++ b/ru/net/developer-guide/modern-api/_index.md @@ -3,74 +3,73 @@ title: Современный API type: docs weight: 237 url: /ru/net/modern-api/ -keywords: "Кроссплатформенный Современный API System.Drawing" +keywords: "Кросс‑платформенный Современный API System.Drawing" description: "Современный API" --- -## Введение +## **Введение** -Исторически, Aspose Slides зависел от System.Drawing и имел в публичном API следующие классы оттуда: +Исторически Aspose Slides зависел от System.Drawing и в публичном API содержал следующие классы из него: - [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) - [Image](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.image) - [Bitmap](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.bitmap) - [PrinterSettings](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.printing.printersettings) -По состоянию на версию 24.4, этот публичный API объявлен устаревшим. +Начиная с версии 24.4, этот публичный API объявлен устаревшим. -Поскольку поддержка System.Drawing в версиях .NET6 и выше была удалена для некорректных версий (изменение, нарушающее совместимость) ([breaking change](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only)), Slides реализовал подход с двумя библиотеками: -- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) - поддержка для .NET6+ для Windows, .NETStandard для Windows/Linux/MacOS, .NETFramework 2+ (Windows). +Поскольку поддержка System.Drawing в версиях .NET 6 и выше удалена для неб Windows‑платформ ([breaking change](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only)), Slides реализовал подход с двумя версиями библиотек: +- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) — поддержка .NET 6+ для Windows, .NETStandard для Windows/Linux/macOS, .NETFramework 2+ (Windows). - имеет зависимость от [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/). -- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) - версия для Windows/Linux/MacOS без зависимостей. +- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) — версия для Windows/Linux/macOS без внешних зависимостей. -Неудобство [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) заключается в том, что он реализует свою версию System.Drawing в том же пространстве имен (для поддержки обратной совместимости с публичным API). Таким образом, когда используются Aspose.Slides.NET6.CrossPlatform и System.Drawing из .NETFramrwork или пакет System.Drawing.Common одновременно, возникает конфликт имен, если не используется псевдоним. +Недостаток [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) в том, что он реализует свою версию System.Drawing в том же пространстве имён (для поддержки обратной совместимости с публичным API). Поэтому при одновременном использовании Aspose.Slides.NET6.CrossPlatform и System.Drawing из .NETFramework или пакета System.Drawing.Common возникает конфликт имён, если не использовать алиасы. -Чтобы избавиться от зависимостей на System.Drawing в основном пакете Aspose.Slides.NET, мы добавили так называемый "Современный API" - т.е. API, который должен использоваться вместо устаревшего, чьи сигнатуры содержат зависимости от следующих типов из System.Drawing: Image и Bitmap. PrinterSettings и Graphics объявлены устаревшими, и их поддержка удалена из публичного API Slides. +Чтобы избавиться от зависимостей от System.Drawing в основном пакете Aspose.Slides.NET, мы добавили так называемый «Современный API» — то есть API, который следует использовать вместо устаревшего, сигнатуры которого содержат зависимости от следующих типов System.Drawing: Image и Bitmap. PrinterSettings и Graphics объявлены устаревшими, их поддержка удалена из публичного API Slides. -Удаление устаревшего публичного API с зависимостями от System.Drawing будет в релизе 24.8. +Удаление устаревшего публичного API с зависимостями от System.Drawing будет выполнено в релизе 24.8. -## Современный API +## **Современный API** -Добавлены следующие классы и перечисления в публичный API: +В публичный API добавлены следующие классы и перечисления: -- Aspose.Slides.IImage - представляет растровое или векторное изображение. -- Aspose.Slides.ImageFormat - представляет формат файла изображения. -- Aspose.Slides.Images - методы для инстанцирования и работы с интерфейсом IImage. +- Aspose.Slides.IImage — представляет растровое или векторное изображение. +- Aspose.Slides.ImageFormat — представляет файловый формат изображения. +- Aspose.Slides.Images — методы для создания и работы с интерфейсом IImage. -Обратите внимание, что IImage является управляемым ресурсом (он реализует интерфейс IDisposable, и его использование должно быть обернуто в конструкцию using или освобождено другим удобным способом). +Обратите внимание, что IImage реализует IDisposable и его следует использовать внутри `using` либо явно вызывать `Dispose`. Типичный сценарий использования нового API может выглядеть следующим образом: - ``` csharp using (Presentation pres = new Presentation()) { IPPImage ppImage; - // инстанцируем управляемый экземпляр IImage из файла на диске. + // создать освобождаемый экземпляр IImage из файла на диске. using (IImage image = Images.FromFile("image.png")) { - // создаем изображение PowerPoint, добавляя экземпляр IImage в изображения презентации. + // создать изображение PowerPoint, добавив экземпляр IImage в коллекцию изображений презентации. ppImage = pres.Images.AddImage(image); } - // добавляем форму изображения на слайд #1 + // добавить форму изображения на слайд №1 pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); - // получаем экземпляр IImage, представляющий слайд #1. + // получить экземпляр IImage, представляющий слайд №1. using (var slideImage = pres.Slides[0].GetImage(new Size(1920, 1080))) { - // сохраняем изображение на диске. + // сохранить изображение на диске. slideImage.Save("slide1.jpeg", ImageFormat.Jpeg); } } ``` -## Замена старого кода на Современный API -Для облегчения перехода, интерфейс нового IImage повторяет отдельные сигнатуры классов Image и Bitmap. В целом, вам просто нужно заменить вызов старого метода, использующего System.Drawing, на новый. +## **Замена старого кода на Современный API** -### Получение миниатюры слайда +Для упрощения перехода интерфейс нового IImage повторяет отдельные сигнатуры классов Image и Bitmap. Как правило, достаточно заменить вызов старого метода из System.Drawing на новый. -Код, использующий устаревший API: +### **Получение миниатюры слайда** +Код, использующий устаревший API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -78,8 +77,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Современный API: +Современный API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -87,10 +86,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### Получение миниатюры фигуры -Код, использующий устаревший API: +### **Получение миниатюры фигуры** +Код, использующий устаревший API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -98,8 +97,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Современный API: +Современный API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -107,10 +106,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### Получение миниатюры презентации -Код, использующий устаревший API: +### **Получение миниатюры презентации** +Код, использующий устаревший API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -133,8 +132,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Современный API: +Современный API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -157,10 +156,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### Добавление изображения в презентацию -Код, использующий устаревший API: +### **Добавление изображения в презентацию** +Код, использующий устаревший API: ``` csharp using (Presentation pres = new Presentation()) { @@ -174,8 +173,8 @@ using (Presentation pres = new Presentation()) } ``` -Современный API: +Современный API: ``` csharp using (Presentation pres = new Presentation()) { @@ -188,92 +187,104 @@ using (Presentation pres = new Presentation()) pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); } ``` -## Методы/свойства, которые будут удалены, и их замена в Современном API -### Презентация -| Подпись метода | Подпись заменяющего метода | -|-------------------------------------------------------|-----------------------------------------------------------------| -| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | -| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | + +## **Методы/свойства, подлежащие удалению, и их замены в Современном API** + +### **Presentation** +| Сигнатура метода | Сигнатура заменяющего метода | +|------------------|------------------------------| +| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | +| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | | public Bitmap[] GetThumbnails(IRenderingOptions options, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_4) | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, int[] slides, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_2) | | public Bitmap[] GetThumbnails(IRenderingOptions options, Size imageSize) | [GetImages(IRenderingOptions options, Size imageSize)]() | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, Size imageSize) | [GetImages(IRenderingOptions options, int[] slides, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_3) | -| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | Будет удалено полностью | -| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | Будет удалено полностью | -| public void Print() | Будет удалено полностью | -| public void Print(PrinterSettings printerSettings) | Будет удалено полностью | -| public void Print(string printerName) | Будет удалено полностью | -| public void Print(PrinterSettings printerSettings, string presName) | Будет удалено полностью | - -### Фигура -| Подпись метода | Подпись заменяющего метода | -|------------------------------------------------------------------------|--------------------------------------------------------------------| -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | +| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | Будет полностью удалён | +| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | Будет полностью удалён | +| public void Print() | Будет полностью удалён | +| public void Print(PrinterSettings printerSettings) | Будет полностью удалён | +| public void Print(string printerName) | Будет полностью удалён | +| public void Print(PrinterSettings printerSettings, string presName) | Будет полностью удалён | + +### **Shape** +| Сигнатура метода | Сигнатура заменяющего метода | +|------------------|------------------------------| +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | | public Bitmap GetThumbnail(ShapeThumbnailBounds bounds, float scaleX, float scaleY) | [GetImage(ShapeThumbnailBounds bounds, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage_1) | -### Слайд -| Подпись метода | Подпись заменяющего метода | -|------------------------------------------------------------------------|--------------------------------------------------------------------| -| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | -| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | -| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | -| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | +### **Slide** +| Сигнатура метода | Сигнатура заменяющего метода | +|------------------|------------------------------| +| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | +| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | +| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | +| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | | public Bitmap GetThumbnail(IRenderingOptions options, float scaleX, float scaleY) | [GetImage(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_2) | -| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | Будет удалено полностью | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | Будет удалено полностью | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | Будет удалено полностью | - -#### Вывод -| Подпись метода | Подпись заменяющего метода | -|-----------------------------------------------------------|-------------------------------------------------| -| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | - -### КоллекцияИзображений -| Подпись метода | Подпись заменяющего метода | -|-----------------------------------------|---------------------------------------| -| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | - -### ФабрикаОбертокИзображений -| Подпись метода | Подпись заменяющего метода | -|-------------------------------------------------------|---------------------------------------------------------| -| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | - -### PPImage -| Подпись метода/свойства | Подпись заменяющего метода | -|------------------------------------------------------|-----------------------------| -| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | -| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | - -### ФорматШаблона -| Подпись метода | Подпись заменяющего метода | -|---------------------------------------------------------|----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | -| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | - -### IEffективныеДанныеФорматаШаблона -| Подпись метода | Подпись заменяющего метода | -|---------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | - -## Поддержка Aspose.Slides.NET6.CrossPlatform будет прекращена - -После выхода версии [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) 24.8, поддержка [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) будет прекращена. - -## Поддержка API для Graphics и PrinterSettings будет прекращена - -Класс [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) не поддерживается для кроссплатформенных версий .NET6 и выше. В Aspose Slides, часть API, которая его использует, будет удалена: -[Слайд](https://reference.aspose.com/slides/net/aspose.slides/slide/) +| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | Будет полностью удалён | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | Будет полностью удалён | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | Будет полностью удалён | + +### **Output** +| Сигнатура метода | Сигнатура заменяющего метода | +|------------------|------------------------------| +| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | + +### **ImageCollection** +| Сигнатура метода | Сигнатура заменяющего метода | +|------------------|------------------------------| +| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | + +### **ImageWrapperFactory** +| Сигнатура метода | Сигнатура заменяющего метода | +|------------------|------------------------------| +| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | + +### **PPImage** +| Сигнатура метода/свойства | Сигнатура заменяющего метода | +|----------------------------|------------------------------| +| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | +| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | + +### **PatternFormat** +| Сигнатура метода | Сигнатура заменяющего метода | +|------------------|------------------------------| +| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | +| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | + +### **IPatternFormatEffectiveData** +| Сигнатура метода | Сигнатура заменяющего метода | +|------------------|------------------------------| +| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | + +## **Поддержка Graphics и PrinterSettings будет прекращена** + +Класс [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) не поддерживается в кросс‑платформенных версиях .NET 6 и выше. В Aspose Slides часть API, использующая его, будет удалена: +[Slide](https://reference.aspose.com/slides/net/aspose.slides/slide/) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_5) -Кроме того, часть API, связанная с печатью, будет удалена: +Также будет удалена часть API, связанная с печатью: -[Презентация](https://reference.aspose.com/slides/net/aspose.slides/presentation/): +[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): - [public void Presentation.Print](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print) - [public void Print(PrinterSettings printerSettings)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_1) - [public void Print(string printerName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_3) -- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) \ No newline at end of file +- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) + +# **FAQ** + +**Почему удалён System.Drawing.Graphics?** + +Поддержка `Graphics` убирается из публичного API для унификации работы с рендерингом и изображениями, исключения привязки к платформенно‑специфическим зависимостям и перехода к кросс‑платформенному подходу с использованием [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/). Все методы рендеринга в `Graphics` будут удалены. + +**Какова практическая выгода от IImage по сравнению с Image/Bitmap?** + +[IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) объединяет работу как с растровыми, так и с векторными изображениями, упрощает сохранение в различные форматы через [ImageFormat](https://reference.aspose.com/slides/net/aspose.slides/imageformat/), снижает зависимость от `System.Drawing` и делает код более переносимым между средами. + +**Повлияет ли Современный API на производительность генерации миниатюр?** + +Переход от `GetThumbnail` к `GetImage` не ухудшает сценарии: новые методы предоставляют те же возможности по созданию изображений с параметрами и размерами, сохраняя поддержку опций рендеринга. Конкретный прирост или падение производительности зависит от сценария, но функционально замены эквивалентны. \ No newline at end of file diff --git a/ru/net/developer-guide/powerpoint-animation/_index.md b/ru/net/developer-guide/powerpoint-animation/_index.md index 2762209ea9..02c85b4146 100644 --- a/ru/net/developer-guide/powerpoint-animation/_index.md +++ b/ru/net/developer-guide/powerpoint-animation/_index.md @@ -1,28 +1,55 @@ --- -title: Анимация PowerPoint +title: "Улучшение презентаций PowerPoint с помощью анимаций на C#" +linktitle: "Анимация PowerPoint" type: docs weight: 150 url: /ru/net/powerpoint-animation/ -keywords: "Анимация, анимационные эффекты, анимация PowerPoint, временная шкала анимации, интерактивная анимация, анимация форм, анимированные графики, анимированный текст, презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Анимация и эффекты презентации PowerPoint на C# или .NET" +keywords: +- "добавить анимацию" +- "обновить анимацию" +- "изменить анимацию" +- "удалить анимацию" +- "управлять анимацией" +- "контролировать анимацию" +- "эффект анимации" +- "анимация PowerPoint" +- "временная шкала анимации" +- "интерактивная анимация" +- "пользовательская анимация" +- "анимация фигур" +- "анимированная диаграмма" +- "анимированный текст" +- "анимированная фигура" +- "анимированный объект OLE" +- "анимированное изображение" +- "анимированная таблица" +- "презентация PowerPoint" +- "C#" +- "Csharp" +- "Aspose.Slides for .NET" +description: "Изучите возможности Aspose.Slides for .NET по работе с анимациями PowerPoint. Этот общий обзор подчеркивает ключевые функции и предлагает идеи для повышения качества ваших презентаций." --- -Так как презентации предназначены для демонстрации чего-либо, их визуальное оформление и интерактивное поведение всегда учитываются при создании. +## **Обзор** -**Анимация PowerPoint** играет важную роль в том, чтобы сделать презентацию привлекательной и запоминающейся для зрителей. Aspose.Slides для .NET предлагает широкий выбор возможностей для добавления анимации в презентацию PowerPoint: +Поскольку презентации предназначены для представления чего‑либо, их визуальный вид и интерактивное поведение всегда учитываются при создании. -- применение различных типов анимационных эффектов PowerPoint к формам, графикам, таблицам, OLE-объектам и другим элементам презентации. -- использование нескольких анимационных эффектов PowerPoint на одной форме. -- использование временной шкалы анимации для управления анимационными эффектами. -- создание пользовательской анимации. +**PowerPoint animation** играет важную роль в том, чтобы сделать презентацию заметной и увлекательной для зрителей. Aspose.Slides for .NET предоставляет широкий набор возможностей для добавления анимаций в презентации PowerPoint: -В Aspose.Slides для .NET различные анимационные эффекты могут применяться к формам. Так как каждый элемент на слайде, включая текст, изображения, OLE-объекты, таблицы и т.д. считается формой, это означает, что мы можем применять анимационные эффекты к каждому элементу слайда. +- Применять различные типы эффектов анимации PowerPoint к фигурам, диаграммам, таблицам, объектам OLE и другим элементам презентации. +- Использовать несколько эффектов анимации PowerPoint на одной фигуре. +- Использовать временную шкалу анимации для управления эффектами анимации. +- Создавать пользовательские анимации. -[**Aspose.Slides.Animation**](https://reference.aspose.com/slides/net/aspose.slides.animation/) **пространство имен** предоставляет классы для работы с анимациями PowerPoint. -## **Анимационные эффекты** -Aspose.Slides поддерживает **150+ анимационных эффектов**, включая основные анимационные эффекты, такие как Bounce, PathFootball, Zoom effect и специфические анимационные эффекты, такие как OLEObjectShow, OLEObjectOpen. Полный список анимационных эффектов можно найти в [**EffectType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype) перечислении. +В Aspose.Slides for .NET к фигурам можно применять различные эффекты анимации. Поскольку каждый элемент на слайде, включая текст, изображения, объекты OLE и таблицы, считается фигурой, эффекты анимации могут быть применены к любому элементу на слайде. -Кроме того, эти анимационные эффекты можно использовать в комбинации с ними: +[Aspose.Slides.Animation](https://reference.aspose.com/slides/net/aspose.slides.animation/) пространство имён предоставляет классы для работы с анимациями PowerPoint. + +## **Эффекты анимации** + +Aspose.Slides поддерживает **150+ эффектов анимации**, включая базовые эффекты, такие как Bounce, PathFootball и Zoom, а также специфические эффекты, такие как OLEObjectShow и OLEObjectOpen. Полный список эффектов анимации можно найти в перечислении [EffectType](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype). + +Кроме того, эти эффекты анимации могут использоваться в комбинации со следующими: - [ColorEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/coloreffect) - [CommandEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/commandeffect) @@ -32,36 +59,59 @@ Aspose.Slides поддерживает **150+ анимационных эффе - [RotationEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/rotationeffect) - [ScaleEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/scaleeffect) - [SetEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/seteffect) + ## **Пользовательская анимация** -В Aspose.Slides возможно создать свою собственную **пользовательскую анимацию**. -Это можно достичь, если вы объедините несколько поведений в одну новую пользовательскую анимацию. -[**Поведение**](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) является строительным элементом любого анимационного эффекта PowerPoint. Все анимационные эффекты фактически представляют собой набор поведений, объединенных в одну стратегию. Вы можете объединять поведения в пользовательскую анимацию один раз и повторно использовать ее в других презентациях. Если вы добавите новое поведение к стандартному анимационному эффекту PowerPoint, это будет другая пользовательская анимация. Например, вы можете добавить поведение повтора к анимации, чтобы она повторялась несколько раз. +В Aspose.Slides можно создавать свои **пользовательские анимации**. Это достигается комбинированием нескольких поведения в новую пользовательскую анимацию. + +[Behaviour](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) является строительным блоком любого эффекта анимации PowerPoint. Все эффекты анимации по сути представляют собой набор поведений, объединённых в одну стратегию. Вы можете один раз объединить поведения в пользовательскую анимацию и повторно использовать её в других презентациях. Если вы добавите новое поведение к стандартному эффекту анимации PowerPoint, оно станет другой пользовательской анимацией. Например, вы можете добавить поведение повторения к анимации, чтобы она повторялась несколько раз. + +[Animation Point](https://reference.aspose.com/slides/net/aspose.slides.animation/point) — это точка, в которой должно применяться поведение. -[**Точка анимации**](https://reference.aspose.com/slides/net/aspose.slides.animation/point) - это точка, в которой должно быть применено поведение. ## **Временная шкала анимации** -[**Последовательность**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) является коллекцией анимационных эффектов, применяемых к конкретной форме. -[**Временная шкала**](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) - это набор последовательностей, используемых в конкретном слайде. Это анимационный движок, представленный с PowerPoint 2002. В предыдущих версиях PowerPoint было сложно добавлять анимационные эффекты в презентацию, что можно было достичь только различными обходными путями. Временная шкала приходит на замену старому классу AnimationSettings и предоставляет более четкую объектную модель для анимации PowerPoint. Один слайд может иметь только одну временную шкалу анимации. +[Sequence](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) — это коллекция эффектов анимации, применяемых к определённой фигуре. + +[Timeline](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) — это набор последовательностей, используемых на конкретном слайде. Это анимационный движок, введённый в PowerPoint 2002. В более ранних версиях PowerPoint добавление эффектов анимации в презентации было сложным и могло быть реализовано только различными обходными решениями. Временная шкала заменяет старый класс AnimationSettings и предоставляет более понятную объектную модель анимаций PowerPoint. На слайде может быть только одна временная шкала анимации. + ## **Интерактивная анимация** -[**Триггер**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) позволяет определить действия пользователя (например, нажатие кнопки), которые запустят определенную анимацию. Триггеры были добавлены только в последней версии PowerPoint. -## **Анимация форм** -Aspose.Slides позволяет применять анимацию к формам, которые могут быть текстом, прямоугольником, линией, рамкой, OLE-объектом и т.д. + +[Trigger](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) позволяет определить действия пользователя (например, щелчок кнопкой), которые запустят определённую анимацию. Триггеры были введены в последней версии PowerPoint. + +## **Анимация фигур** + +Aspose.Slides позволяет применять анимацию к фигурам, которые могут включать текст, прямоугольники, линии, рамки, объекты OLE и многое другое. {{% alert color="primary" %}} -Читать далее [**Об анимации форм**](/slides/ru/net/shape-animation/). +Читать далее [**Об анимации фигур**](/slides/ru/net/shape-animation/). {{% /alert %}} -## **Анимированные графики** -Для создания анимированных графиков вы должны использовать те же классы, что и для форм. Однако возможно использовать анимацию PowerPoint только на категориях графиков или сериях графиков. Вы также можете применять анимационный эффект к элементу категории или элементу серии. +## **Анимированные диаграммы** + +Для создания анимированных диаграмм следует использовать те же классы, что и для фигур. Однако анимацию PowerPoint можно применять только к категориям диаграммы или к сериям диаграммы. Вы также можете применять эффекты анимации к элементу категории или к элементу серии. {{% alert color="primary" %}} -Читать далее [**Об анимированных графиках**](/slides/ru/net/animated-charts/). +Читать далее [**Об анимированных диаграммах**](/slides/ru/net/animated-charts/). {{% /alert %}} ## **Анимированный текст** -Кроме анимированного текста, также возможно применить анимацию к абзацу. + +Помимо анимированного текста, также можно применять анимацию к абзацу. {{% alert color="primary" %}} Читать далее [**Об анимированном тексте**](/slides/ru/net/animated-text/). -{{% /alert %}} \ No newline at end of file +{{% /alert %}} + +## **FAQ** + +**Будут ли анимации сохранены при экспорте в PDF?** + +Нет. PDF — статический формат, поэтому анимации и [переходы слайдов](/slides/ru/net/slide-transition/) не воспроизводятся. Если вам нужна анимация, экспортируйте в [HTML5](/slides/ru/net/export-to-html5/), [анимированный GIF](/slides/ru/net/convert-powerpoint-to-animated-gif/) или [видео](/slides/ru/net/convert-powerpoint-to-video/) вместо этого. + +**Могу ли я превратить анимированную презентацию в видео и контролировать частоту кадров и размер кадра?** + +Да. Вы можете [рендерить презентацию в кадры](/slides/ru/net/convert-powerpoint-to-video/) и закодировать их в видео (например, с помощью ffmpeg), выбирая FPS и разрешение. Анимации и переходы слайдов воспроизводятся во время рендеринга. + +**Сохранятся ли анимации при работе с ODP (не только PPTX)?** + +PPT, PPTX и ODP поддерживаются для [чтения](/slides/ru/net/open-presentation/) и [записи](/slides/ru/net/save-presentation/), но различия форматов могут привести к небольшим отличиям во внешнем виде или поведении некоторых эффектов. Проверьте критически важные случаи на реальных образцах. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-comments/_index.md b/ru/net/developer-guide/presentation-comments/_index.md index 63bafe723c..23936fe0a2 100644 --- a/ru/net/developer-guide/presentation-comments/_index.md +++ b/ru/net/developer-guide/presentation-comments/_index.md @@ -4,25 +4,24 @@ type: docs weight: 100 url: /ru/net/presentation-comments/ keywords: "Комментарии, комментарии PowerPoint, презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Добавление комментариев и ответов в презентации PowerPoint на C# или .NET" +description: "Добавление комментариев и ответов в презентацию PowerPoint на C# или .NET" --- -В PowerPoint комментарий появляется в виде заметки или аннотации на слайде. Когда комментарий щелкают, его содержимое или сообщения раскрываются. +В PowerPoint комментарий отображается как заметка или аннотация на слайде. При щелчке по комментарию его содержимое или сообщения раскрываются. -## **Зачем добавлять комментарии в презентации?** +## **Зачем добавлять комментарии к презентациям?** -Вы можете использовать комментарии, чтобы предоставить обратную связь или общаться с вашими коллегами при просмотре презентаций. +Вы можете использовать комментарии для предоставления обратной связи или общения с коллегами при просмотре презентаций. -Чтобы вы могли использовать комментарии в презентациях PowerPoint, Aspose.Slides для .NET предоставляет +Для возможности использовать комментарии в презентациях PowerPoint Aspose.Slides for .NET предоставляет -* Класс [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), который содержит коллекции авторов (из свойства [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index)). Авторы добавляют комментарии к слайдам. -* Интерфейс [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection), который содержит коллекцию комментариев для отдельных авторов. -* Класс [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment), который содержит информацию об авторах и их комментариях: кто добавил комментарий, время добавления комментария, позиция комментария и т.д. -* Класс [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor), который содержит информацию о отдельных авторах: имя автора, его инициалы, комментарии, связанные с именем автора и т.д. +* Класс [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), который содержит коллекцию авторов (из свойства [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index)). Авторы добавляют комментарии к слайдам. +* Интерфейс [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection), который содержит коллекцию комментариев для отдельных авторов. +* Класс [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment), который содержит информацию об авторах и их комментариях: кто добавил комментарий, время его добавления, позицию комментария и т.д. +* Класс [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor), который содержит информацию об отдельных авторах: имя автора, его инициалы, комментарии, связанные с именем автора и т.д. ## **Добавить комментарий к слайду** Этот код C# показывает, как добавить комментарий к слайду в презентации PowerPoint: - ```c# // Создает экземпляр класса Presentation using (Presentation presentation = new Presentation()) @@ -39,34 +38,34 @@ using (Presentation presentation = new Presentation()) point.Y = 0.2f; // Добавляет комментарий к слайду для автора на слайде 1 - author.Comments.AddComment("Привет, Jawad, это комментарий к слайду", presentation.Slides[0], point, DateTime.Now); + author.Comments.AddComment("Hello Jawad, this is slide comment", presentation.Slides[0], point, DateTime.Now); // Добавляет комментарий к слайду для автора на слайде 2 - author.Comments.AddComment("Привет, Jawad, это второй комментарий к слайду", presentation.Slides[1], point, DateTime.Now); + author.Comments.AddComment("Hello Jawad, this is second slide comment", presentation.Slides[1], point, DateTime.Now); - // Получает ISlide 1 + // Доступ к ISlide 1 ISlide slide = presentation.Slides[0]; - // Когда null передается как аргумент, комментарии всех авторов извлекаются для выбранного слайда + // Когда в качестве аргумента передается null, комментарии всех авторов добавляются к выбранному слайду IComment[] Comments = slide.GetSlideComments(author); - // Получает комментарий по индексу 0 для слайда 1 + // Доступ к комментарию с индексом 0 для слайда 1 String str = Comments[0].Text; presentation.Save("Comments_out.pptx", SaveFormat.Pptx); if (Comments.GetLength(0) > 0) { - // Выбирает коллекцию комментариев автора по индексу 0 + // Выбирает коллекцию комментариев автора с индексом 0 ICommentCollection commentCollection = Comments[0].Author.Comments; String Comment = commentCollection[0].Text; } } ``` -## **Получить комментарии к слайду** -Этот код C# показывает, как получить существующий комментарий на слайде в презентации PowerPoint: +## **Доступ к комментариям слайда** +Этот код C# показывает, как получить доступ к существующему комментарию на слайде в презентации PowerPoint: ```c# // Создает экземпляр класса Presentation using (Presentation presentation = new Presentation("Comments1.pptx")) @@ -77,7 +76,7 @@ using (Presentation presentation = new Presentation("Comments1.pptx")) foreach (var comment1 in author.Comments) { var comment = (Comment) comment1; - Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " имеет комментарий: " + comment.Text + " с Автором: " + comment.Author.Name + " опубликованное в: " + comment.CreatedTime + "\n"); + Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " has comment: " + comment.Text + " with Author: " + comment.Author.Name + " posted on time :" + comment.CreatedTime + "\n"); } } } @@ -85,37 +84,36 @@ using (Presentation presentation = new Presentation("Comments1.pptx")) ## **Ответы на комментарии** -Родительский комментарий — это верхний или оригинальный комментарий в иерархии комментариев или ответов. Используя свойство [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) (из интерфейса [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)), вы можете установить или получить родительский комментарий. - -Этот код C# показывает, как добавлять комментарии и получать на них ответы: +Родительский комментарий — это верхний или исходный комментарий в иерархии комментариев или ответов. С помощью свойства [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) (из интерфейса [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)) можно установить или получить родительский комментарий. +Этот код C# показывает, как добавлять комментарии и получать ответы на них: ```c# using (Presentation pres = new Presentation()) { // Добавляет комментарий - ICommentAuthor author1 = pres.CommentAuthors.AddAuthor("Автор_1", "A.A."); - IComment comment1 = author1.Comments.AddComment("комментарий 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + ICommentAuthor author1 = pres.CommentAuthors.AddAuthor("Author_1", "A.A."); + IComment comment1 = author1.Comments.AddComment("comment1", pres.Slides[0], new PointF(10, 10), DateTime.Now); - // Добавляет ответ на comment1 - ICommentAuthor author2 = pres.CommentAuthors.AddAuthor("Автор_2", "B.B."); - IComment reply1 = author2.Comments.AddComment("ответ 1 на комментарий 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + // Добавляет ответ к comment1 + ICommentAuthor author2 = pres.CommentAuthors.AddAuthor("Autror_2", "B.B."); + IComment reply1 = author2.Comments.AddComment("reply 1 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply1.ParentComment = comment1; - // Добавляет другой ответ на comment1 - IComment reply2 = author2.Comments.AddComment("ответ 2 на комментарий 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + // Добавляет еще один ответ к comment1 + IComment reply2 = author2.Comments.AddComment("reply 2 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply2.ParentComment = comment1; - // Добавляет ответ на существующий ответ - IComment subReply = author1.Comments.AddComment("подответ 3 на ответ 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + // Добавляет ответ к существующему ответу + IComment subReply = author1.Comments.AddComment("subreply 3 for reply 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); subReply.ParentComment = reply2; - IComment comment2 = author2.Comments.AddComment("комментарий 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment comment3 = author2.Comments.AddComment("комментарий 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment2 = author2.Comments.AddComment("comment 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment3 = author2.Comments.AddComment("comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment reply3 = author1.Comments.AddComment("ответ 4 на комментарий 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply3 = author1.Comments.AddComment("reply 4 for comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply3.ParentComment = comment3; - // Отображает иерархию комментариев на консоли + // Выводит иерархию комментариев в консоль ISlide slide = pres.Slides[0]; var comments = slide.GetSlideComments(null); for (int i = 0; i < comments.Length; i++) @@ -133,44 +131,42 @@ using (Presentation pres = new Presentation()) pres.Save("parent_comment.pptx",SaveFormat.Pptx); - // Удаляет comment1 и все ответы на него + // Удаляет comment1 и все ответы к нему comment1.Remove(); pres.Save("remove_comment.pptx", SaveFormat.Pptx); } ``` -{{% alert color="warning" title="Внимание" %}} -* Когда метод [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) (из интерфейса [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) используется для удаления комментария, ответы на комментарий также удаляются. +{{% alert color="warning" title="Внимание" %}} +* При использовании метода [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) (из интерфейса [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment)) для удаления комментария также удаляются ответы на этот комментарий. * Если настройка [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) приводит к циклической ссылке, будет выброшено исключение [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception). - {{% /alert %}} ## **Добавить современный комментарий** -В 2021 году Microsoft представила *современные комментарии* в PowerPoint. Функция современных комментариев значительно улучшает сотрудничество в PowerPoint. С помощью современных комментариев пользователи PowerPoint могут гораздо легче решать комментарии, привязывать комментарии к объектам и текстам и участвовать в взаимодействиях. +В 2021 году Microsoft внедрила *современные комментарии* в PowerPoint. Функция современных комментариев значительно улучшает совместную работу в PowerPoint. С помощью современных комментариев пользователи PowerPoint могут отмечать комментарии как решённые, привязывать их к объектам и тексту и гораздо проще взаимодействовать. -В [Aspose Slides для .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/) мы реализовали поддержку современных комментариев, добавив класс [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment). Методы [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) и [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) были добавлены в класс [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection). - -Этот код C# показывает, как добавить современный комментарий к слайду в презентации PowerPoint: +В [Aspose Slides for .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/) мы реализовали поддержку современных комментариев, добавив класс [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment). Методы [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) и [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) были добавлены в класс [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection). +Этот код C# показывает, как добавить современный комментарий к слайду в презентации PowerPoint: ```c# using (Presentation pres = new Presentation()) { - ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("Некоторый Автор", "SA"); - IModernComment modernComment = newAuthor.Comments.AddModernComment("Это современный комментарий", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); + ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("Some Author", "SA"); + IModernComment modernComment = newAuthor.Comments.AddModernComment("This is a modern comment", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` + ## **Удалить комментарий** ### **Удалить все комментарии и авторов** Этот код C# показывает, как удалить все комментарии и авторов в презентации: - ```c# using (var presentation = new Presentation("example.pptx")) { @@ -187,27 +183,27 @@ using (var presentation = new Presentation("example.pptx")) } ``` + ### **Удалить конкретные комментарии** Этот код C# показывает, как удалить конкретные комментарии на слайде: - ```c# using (var presentation = new Presentation()) { ISlide slide = presentation.Slides[0]; - // добавляем комментарии... - ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Автор", "A"); - author.Comments.AddComment("комментарий 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); - author.Comments.AddComment("комментарий 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); + // добавляет комментарии... + ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Author", "A"); + author.Comments.AddComment("comment 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); + author.Comments.AddComment("comment 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); - // удаляет все комментарии, содержащие текст "комментарий 1" + // удаляет все комментарии, содержащие текст "comment 1" foreach (ICommentAuthor commentAuthor in presentation.CommentAuthors) { List toRemove = new List(); foreach (IComment comment in slide.GetSlideComments(commentAuthor)) { - if (comment.Text == "комментарий 1") + if (comment.Text == "comment 1") { toRemove.Add(comment); } @@ -221,4 +217,19 @@ using (var presentation = new Presentation()) presentation.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Поддерживает ли Aspose.Slides статус, например «решено», для современных комментариев?** + +Да. [Modern comments](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/) предоставляют свойство [Status](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/status/); вы можете читать и устанавливать [состояние комментария](https://reference.aspose.com/slides/net/aspose.slides/moderncommentstatus/) (например, пометить его как решённый), и это состояние сохраняется в файле и распознаётся PowerPoint. + +**Поддерживаются ли ветвистые обсуждения (цепочки ответов), и существует ли ограничение вложенности?** + +Да. Каждый комментарий может ссылаться на свой [parent comment](https://reference.aspose.com/slides/net/aspose.slides/comment/parentcomment/), что позволяет создавать произвольные цепочки ответов. API не объявляет конкретного ограничения глубины вложенности. + +**В какой системе координат определяется позиция маркера комментария на слайде?** + +Позиция хранится как точка с плавающей запятой в системе координат слайда. Это позволяет точно разместить маркер комментария в нужном месте. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-blob/_index.md b/ru/net/developer-guide/presentation-content/manage-blob/_index.md index 4dbcdde97d..30c412f006 100644 --- a/ru/net/developer-guide/presentation-content/manage-blob/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-blob/_index.md @@ -3,49 +3,48 @@ title: Управление BLOB type: docs weight: 10 url: /ru/net/manage-blob/ -keywords: "Добавить blob, Экспортировать blob, Добавить изображение как blob, Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Добавьте blob в презентацию PowerPoint на C# или .NET. Экспортируйте blob. Добавьте изображение как blob." +keywords: "Добавить BLOB, Экспортировать BLOB, Добавить изображение как BLOB, Презентация PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Добавить BLOB в презентацию PowerPoint на C# или .NET. Экспортировать BLOB. Добавить изображение как BLOB" --- ## **О BLOB** -**BLOB** (**Binary Large Object**) – это обычно крупный объект (фото, презентация, документ или медиа), хранящийся в бинарных форматах. +**BLOB** (**Binary Large Object**) обычно представляет собой большой объект (фотография, презентация, документ или медиа), сохранённый в двоичном формате. -Aspose.Slides для .NET позволяет использовать BLOB для объектов таким образом, чтобы уменьшить потребление памяти при работе с большими файлами. +Aspose.Slides for .NET позволяет использовать BLOB‑объекты для объектов способом, уменьшающим потребление памяти при работе с большими файлами. ## **Использование BLOB для снижения потребления памяти** ### **Добавление большого файла через BLOB в презентацию** -[Aspose.Slides](/slides/ru/net/) для .NET позволяет добавлять большие файлы (в данном случае, большой видеофайл) через процесс, связанный с BLOB, для снижения потребления памяти. - -Следующий код на C# показывает, как добавить большой видеофайл через процесс BLOB в презентацию: +[Aspose.Slides](/slides/ru/net/) for .NET позволяет добавлять большие файлы (в данном случае большой видеофайл) через процесс, использующий BLOB, чтобы снизить потребление памяти. +Этот пример на C# показывает, как добавить большой видеофайл через процесс BLOB в презентацию: ```c# const string pathToVeryLargeVideo = "veryLargeVideo.avi"; -// Создает новую презентацию, в которую будет добавлено видео +// Создаёт новую презентацию, в которую будет добавлено видео using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToVeryLargeVideo, FileMode.Open)) { - // Добавляем видео в презентацию - выбираем поведение KeepLocked, потому что не намерены - // обращаться к файлу "veryLargeVideo.avi". + // Добавим видео в презентацию - мы выбрали поведение KeepLocked, потому что мы + //не планируем получать доступ к файлу "veryLargeVideo.avi". IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddVideoFrame(0, 0, 480, 270, video); - // Сохраняет презентацию. Хотя большая презентация выводится, потребление памяти - // остается низким на протяжении всего жизненного цикла объекта pres + // Сохраняет презентацию. Пока выводится большая презентация, потребление памяти + // остается низким в течение жизненного цикла объекта pres pres.Save("presentationWithLargeVideo.pptx", SaveFormat.Pptx); } } ``` -### **Экспорт большого файла через BLOB из презентации** -Aspose.Slides для .NET позволяет экспортировать большие файлы (в данном случае, аудио или видеофайл) через процесс, связанный с BLOB, из презентаций. Например, вам может понадобиться извлечь большой медиафайл из презентации, но вы не хотите, чтобы файл загружался в память вашего компьютера. Экспортируя файл через процесс BLOB, вы можете поддерживать низкое потребление памяти. -Следующий код на C# демонстрирует описанную операцию: +### **Экспорт большого файла через BLOB из презентации** +Aspose.Slides for .NET позволяет экспортировать большие файлы (в данном случае аудио‑ или видеофайл) через процесс, использующий BLOB, из презентаций. Например, вам может потребоваться извлечь большой медиафайл из презентации, но не загружать его в память компьютера. Экспортируя файл через процесс BLOB, вы сохраняете низкое потребление памяти. +Этот код на C# демонстрирует описанную операцию: ```c# const string hugePresentationWithAudiosAndVideosFile = @"Large Video File Test1.pptx"; @@ -57,22 +56,22 @@ LoadOptions loadOptions = new LoadOptions } }; -// Создание экземпляра Presentation, блокируя файл "hugePresentationWithAudiosAndVideos.pptx". +// Создаёт экземпляр Presentation, блокирует файл "hugePresentationWithAudiosAndVideos.pptx". using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosFile, loadOptions)) { - // Сохраняем каждое видео в файл. Чтобы предотвратить высокое потребление памяти, нам нужен буфер, который будет использоваться - // для передачи данных из видеопотока презентации в поток для вновь созданного видеофайла. + // Сохраним каждое видео в файл. Чтобы предотвратить высокое потребление памяти, нам нужен буфер, который будет использоваться + // для передачи данных из видеопотока презентации в поток только что созданного видеофайла. byte[] buffer = new byte[8 * 1024]; - // Перебираем видео + // Iterates through the videos for (var index = 0; index < pres.Videos.Count; index++) { IVideo video = pres.Videos[index]; - // Открываем поток видео презентации. Обратите внимание, что мы намеренно избегали доступа к свойствам - // таким как video.BinaryData - потому что это свойство возвращает массив байтов, содержащий полное видео, что затем - // приводит к загрузке байтов в память. Мы используем video.GetStream, который вернет Stream - и не требует - // загрузки всего видео в память. + // Открывает видеопоток презентации. Обратите внимание, что мы намеренно воздержались от доступа к свойствам + // таким как video.BinaryData — потому что это свойство возвращает массив байтов, содержащий полное видео, которое затем + // заставляет байты загружаться в память. Мы используем video.GetStream, который возвращает Stream — и НЕ + // требует загрузки всего видео в память. using (Stream presVideoStream = video.GetStream()) { using (FileStream outputFileStream = File.OpenWrite($"video{index}.avi")) @@ -88,41 +87,41 @@ using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosF // Потребление памяти останется низким независимо от размера видео или презентации, } - // При необходимости вы можете применить аналогичные шаги для аудиофайлов. + // При необходимости вы можете применить те же шаги к аудиофайлам. } ``` -### **Добавление изображения как BLOB в презентацию** -С помощью методов из интерфейса [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) и класса [**ImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/imagecollection) вы можете добавить большое изображение как поток, чтобы оно обрабатывалось как BLOB. -Следующий код на C# показывает, как добавить большое изображение через процесс BLOB: +### **Добавление изображения как BLOB в презентацию** +С помощью методов интерфейса [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) и класса [**ImageCollection** ](https://reference.aspose.com/slides/net/aspose.slides/imagecollection) вы можете добавить крупное изображение в виде потока, чтобы оно обрабатывалось как BLOB. +Этот пример кода на C# показывает, как добавить большое изображение через процесс BLOB: ```c# string pathToLargeImage = "large_image.jpg"; -// Создает новую презентацию, в которую будет добавлено изображение. +// создаёт новую презентацию, в которую будет добавлено изображение. using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToLargeImage, FileMode.Open)) { - // Добавляем изображение в презентацию - выбираем поведение KeepLocked, потому что не намерены - // обращаться к файлу "largeImage.png". + // Добавим изображение в презентацию - мы выбираем поведение KeepLocked, потому что мы + // НЕ планируем обращаться к файлу "largeImage.png". IPPImage img = pres.Images.AddImage(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, 300, 200, img); - // Сохраняет презентацию. Хотя большая презентация выводится, потребление памяти - // остается низким на протяжении всего жизненного цикла объекта pres + // Сохраняет презентацию. Пока выводится большая презентация, потребление памяти + // остаётся низким в течение жизненного цикла объекта pres pres.Save("presentationWithLargeImage.pptx", SaveFormat.Pptx); } } ``` -## **Память и большие презентации** -Как правило, для загрузки большой презентации компьютерам требуется много временной памяти. Все содержимое презентации загружается в память, и файл (из которого была загружена презентация) перестает использоваться. +## **Память и большие презентации** -Рассмотрим большую презентацию PowerPoint (large.pptx), которая содержит видеофайл объемом 1,5 ГБ. Стандартный метод загрузки презентации описан в следующем коде на C#: +Как правило, для загрузки большой презентации компьютерам требуется большое количество временной памяти. Всё содержимое презентации загружается в память, и файл (из которого была загружена презентация) больше не используется. +Рассмотрим большую презентацию PowerPoint (large.pptx), содержащую видеофайл размером 1,5 ГБ. Стандартный метод загрузки презентации описан в этом коде на C#: ```c# using (Presentation pres = new Presentation("large.pptx")) { @@ -130,12 +129,12 @@ using (Presentation pres = new Presentation("large.pptx")) } ``` -Но этот метод потребляет около 1,6 ГБ временной памяти. -### **Загрузка большой презентации как BLOB** +Но этот метод потребляет около 1,6 ГБ временной памяти. -С помощью процесса, связанного с BLOB, вы можете загрузить большую презентацию, используя мало памяти. Этот код на C# описывает реализацию, где для загрузки большого файла презентации (large.pptx) используется процесс BLOB: +### **Загрузка большой презентации как BLOB** +С помощью процесса, использующего BLOB, вы можете загрузить большую презентацию, используя мало памяти. Этот код на C# описывает реализацию, где процесс BLOB используется для загрузки большого файла презентации (large.pptx): ```c# LoadOptions loadOptions = new LoadOptions { @@ -152,10 +151,10 @@ using (Presentation pres = new Presentation("large.pptx", loadOptions)) } ``` -### **Изменение папки для временных файлов** -Когда используется процесс BLOB, ваш компьютер создает временные файлы в папке по умолчанию для временных файлов. Если вы хотите, чтобы временные файлы хранились в другой папке, вы можете изменить параметры хранилища, используя `TempFilesRootPath`: +### **Изменение папки для временных файлов** +Когда используется процесс BLOB, ваш компьютер создаёт временные файлы в папке по умолчанию для временных файлов. Если вы хотите хранить временные файлы в другой папке, вы можете изменить настройки хранилища, используя `TempFilesRootPath`: ```c# LoadOptions loadOptions = new LoadOptions { @@ -168,8 +167,29 @@ LoadOptions loadOptions = new LoadOptions }; ``` -{{% alert title="Информация" color="info" %}} -При использовании `TempFilesRootPath` Aspose.Slides не создает автоматически папку для хранения временных файлов. Вам нужно создать папку вручную. +{{% alert title="Info" color="info" %}} +При использовании `TempFilesRootPath` Aspose.Slides не создаёт папку для хранения временных файлов автоматически. Вы должны создать папку вручную. +{{% /alert %}} + +## **FAQ** + +**Какие данные в презентации Aspose.Slides рассматриваются как BLOB и управляются параметрами BLOB?** + +Крупные двоичные объекты, такие как изображения, аудио и видео, рассматриваются как BLOB. Весь файл презентации также обрабатывается как BLOB при загрузке или сохранении. Эти объекты управляются политиками BLOB, которые позволяют контролировать использование памяти и при необходимости выгружать данные во временные файлы. + +**Где я могу настроить правила обработки BLOB при загрузке презентации?** + +Используйте [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) вместе с [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/). Здесь задаётся ограничение памяти для BLOB, разрешение или запрет временных файлов, путь к корневой папке для временных файлов и режим блокировки источника. + +**Влияют ли настройки BLOB на производительность, и как сбалансировать скорость и потребление памяти?** + +Да. Хранение BLOB в памяти максимизирует скорость, но повышает потребление ОЗУ; снижение лимита памяти переносит часть работы во временные файлы, уменьшая ОЗУ, но увеличивая ввод‑вывод. Настройте порог [MaxBlobsBytesInMemory](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/maxblobsbytesinmemory/), чтобы достичь оптимального баланса для вашей нагрузки и среды. + +**Помогают ли параметры BLOB при открытии экстремально больших презентаций (например, в гигабайтах)?** + +Да. [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/) предназначены для таких сценариев: включение временных файлов и использование блокировки источника может существенно снизить пиковое использование ОЗУ и стабилизировать обработку очень больших презентаций. + +**Могу ли я использовать политики BLOB при загрузке из потоков вместо файлов на диске?** -{{% /alert %}} \ No newline at end of file +Да. Те же правила применимы к потокам: экземпляр презентации может владеть входным потоком и блокировать его (в зависимости от выбранного режима блокировки), а временные файлы используются при разрешении, обеспечивая предсказуемое использование памяти во время обработки. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-hyperlinks/_index.md b/ru/net/developer-guide/presentation-content/manage-hyperlinks/_index.md index 0c502bfbba..55124317f4 100644 --- a/ru/net/developer-guide/presentation-content/manage-hyperlinks/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-hyperlinks/_index.md @@ -3,64 +3,63 @@ title: Управление гиперссылками type: docs weight: 20 url: /ru/net/manage-hyperlinks/ -keywords: "Добавить гиперссылку, Презентация PowerPoint, Гиперссылка PowerPoint, текстовая гиперссылка, гиперссылка на слайд, гиперссылка на фигуру, гиперссылка на изображение, гиперссылка на видео, .NET, C#, Csharp" +keywords: "Добавить гиперссылку, Презентация PowerPoint, Гиперссылка PowerPoint, гиперссылка текста, гиперссылка слайда, гиперссылка фигуры, гиперссылка изображения, гиперссылка видео, .NET, C#, Csharp" description: "Добавить гиперссылку в презентацию PowerPoint на C# или .NET" --- -Гиперссылка — это ссылка на объект или данные или место в чем-то. Вот некоторые распространенные гиперссылки в презентациях PowerPoint: +Гиперссылка — это ссылка на объект, данные или место в документе. Ниже приведены распространённые гиперссылки в презентациях PowerPoint: -* Ссылки на веб-сайты внутри текстов, фигур или медиа +* Ссылки на веб‑сайты в тексте, фигурах или медиафайлах * Ссылки на слайды -Aspose.Slides для .NET позволяет выполнять множество задач, связанных с гиперссылками в презентациях. +Aspose.Slides for .NET позволяет выполнять множество задач, связанных с гиперссылками в презентациях. {{% alert color="primary" %}} -Вы можете ознакомиться с простым, [бесплатным онлайн-редактором PowerPoint от Aspose.](https://products.aspose.app/slides/editor) +Возможно, вам будет интересно ознакомиться с простым, [бесплатным онлайн‑редактором PowerPoint.](https://products.aspose.app/slides/editor) {{% /alert %}} -## **Добавление гиперссылок URL** +## **Добавление URL‑гиперссылок** -### **Добавление гиперссылок URL к текстам** - -Этот код на C# показывает, как добавить гиперссылку на веб-сайт к тексту: +### **Добавление URL‑гиперссылок в текст** +Этот код C# показывает, как добавить веб‑сайт в виде гиперссылки к тексту: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50, false); shape1.AddTextFrame("Aspose: File Format APIs"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "Более 70% компаний из списка Fortune 100 доверяют API Aspose"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; presentation.Save("presentation-out.pptx", SaveFormat.Pptx); } ``` -### **Добавление гиперссылок URL к фигурам или рамкам** -Этот пример кода на C# показывает, как добавить гиперссылку на веб-сайт к фигуре: +### **Добавление URL‑гиперссылок в фигуры или фреймы** +Этот пример кода на C# показывает, как добавить веб‑сайт в виде гиперссылки к фигуре: ```c# using (Presentation pres = new Presentation()) { IShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50); shape.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape.HyperlinkClick.Tooltip = "Более 70% компаний из списка Fortune 100 доверяют API Aspose"; + shape.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -### **Добавление гиперссылок URL к медиа** -Aspose.Slides позволяет добавлять гиперссылки к изображениям, аудио и видеофайлам. +### **Добавление URL‑гиперссылок в медиафайлы** -Этот пример кода показывает, как добавить гиперссылку к **изображению**: +Aspose.Slides позволяет добавлять гиперссылки к изображениям, аудио‑ и видеофайлам. +Этот пример кода показывает, как добавить гиперссылку к **изображению**: ```c# using (Presentation pres = new Presentation()) { @@ -70,14 +69,14 @@ using (Presentation pres = new Presentation()) IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, image); pictureFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - pictureFrame.HyperlinkClick.Tooltip = "Более 70% компаний из списка Fortune 100 доверяют API Aspose"; + pictureFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -Этот пример кода показывает, как добавить гиперссылку к **аудиофайлу**: +Этот пример кода показывает, как добавить гиперссылку к **аудиофайлу**: ```c# using (Presentation pres = new Presentation()) { @@ -85,14 +84,14 @@ using (Presentation pres = new Presentation()) IAudioFrame audioFrame = pres.Slides[0].Shapes.AddAudioFrameEmbedded(10, 10, 100, 100, audio); audioFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - audioFrame.HyperlinkClick.Tooltip = "Более 70% компаний из списка Fortune 100 доверяют API Aspose"; + audioFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -Этот пример кода показывает, как добавить гиперссылку к **видео**: +Этот пример кода показывает, как добавить гиперссылку к **видео**: ``` csharp using (Presentation pres = new Presentation()) { @@ -100,25 +99,24 @@ using (Presentation pres = new Presentation()) IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 100, 100, video); videoFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - videoFrame.HyperlinkClick.Tooltip = "Более 70% компаний из списка Fortune 100 доверяют API Aspose"; + videoFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Совет" color="primary" %}} -Вы можете ознакомиться с *[Управление OLE](https://docs.aspose.com/slides/net/manage-ole/)*. +{{% alert title="Tip" color="primary" %}} -{{% /alert %}} +Возможно, вам будет интересно посмотреть *[Управление OLE](https://docs.aspose.com/slides/net/manage-ole/)*. +{{% /alert %}} ## **Использование гиперссылок для создания оглавления** -Поскольку гиперссылки позволяют добавлять ссылки на объекты или места, вы можете использовать их для создания оглавления. +Поскольку гиперссылки позволяют добавлять ссылки на объекты или места, их можно использовать для создания оглавления. Этот пример кода показывает, как создать оглавление с гиперссылками: - ```c# using (var presentation = new Presentation()) { @@ -133,10 +131,10 @@ using (var presentation = new Presentation()) var paragraph = new Paragraph(); paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - paragraph.Text = "Название слайда 2 .......... "; + paragraph.Text = "Title of slide 2 .......... "; var linkPortion = new Portion(); - linkPortion.Text = "Страница 2"; + linkPortion.Text = "Page 2"; linkPortion.PortionFormat.HyperlinkManager.SetInternalHyperlinkClick(secondSlide); paragraph.Portions.Add(linkPortion); @@ -146,100 +144,100 @@ using (var presentation = new Presentation()) } ``` + ## **Форматирование гиперссылок** ### **Цвет** -С помощью свойства [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource) в интерфейсе [IHyperlink](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink) вы можете установить цвет для гиперссылок, а также получить информацию о цвете из гиперссылок. Эта функция была впервые введена в PowerPoint 2019, поэтому изменения, касающиеся свойства, не применяются к более ранним версиям PowerPoint. - -Этот пример кода демонстрирует операцию, в которой гиперссылки с разными цветами добавляются на тот же слайд: +С помощью свойства [ColorSource] в интерфейсе [IHyperlink] можно задавать цвет гиперссылок и также получать информацию о цвете из гиперссылок. Эта возможность впервые появилась в PowerPoint 2019, поэтому изменения, связанные со свойством, не применимы к более старым версиям PowerPoint. +Этот пример кода демонстрирует операцию, при которой гиперссылки с разными цветами были добавлены на один слайд: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 450, 50, false); - shape1.AddTextFrame("Это пример цветной гиперссылки."); + shape1.AddTextFrame("This is a sample of colored hyperlink."); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.ColorSource = HyperlinkColorSource.PortionFormat; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.FillType = FillType.Solid; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.SolidFillColor.Color = Color.Red; IAutoShape shape2 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 450, 50, false); - shape2.AddTextFrame("Это пример обычной гиперссылки."); + shape2.AddTextFrame("This is a sample of usual hyperlink."); shape2.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); presentation.Save("presentation-out-hyperlink.pptx", SaveFormat.Pptx); } ``` + ### **Звук** -Aspose.Slides предоставляет следующие свойства, чтобы выделить гиперссылку с помощью звука: +Aspose.Slides предоставляет следующие свойства, позволяющие подчеркнуть гиперссылку звуком: - [IHyperlink.Sound](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/sound) - [IHyperlink.StopSoundOnClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/stopsoundonclick) -#### **Добавить звук гиперссылки** - -Этот код на C# показывает, как установить гиперссылку, которая воспроизводит звук и останавливает его с помощью другой гиперссылки: +#### **Добавление звука к гиперссылке** +Этот код C# показывает, как задать гиперссылку, воспроизводящую звук, и остановить его другой гиперссылкой: ```c# using (Presentation pres = new Presentation()) { - // Добавляет новый аудиофайл в коллекцию аудио презентации + // Добавляет новый аудио в коллекцию аудио презентации IAudio playSound = pres.Audios.AddAudio(File.ReadAllBytes("sampleaudio.wav")); ISlide firstSlide = pres.Slides[0]; - // Добавляет новую фигуру с гиперссылкой на следующий слайд + // Добавляет новую фигуру со ссылкой на следующий слайд IShape firstShape = firstSlide.Shapes.AddAutoShape(ShapeType.SoundButton, 100, 100, 100, 50); firstShape.HyperlinkClick = Hyperlink.NextSlide; - // Проверяет гиперссылку на "Без звука" + // Проверяет гиперссылку на отсутствие звука if (!firstShape.HyperlinkClick.StopSoundOnClick && firstShape.HyperlinkClick.Sound == null) { - // Устанавливает гиперссылку, воспроизводящую звук + // Устанавливает гиперссылку, которая воспроизводит звук firstShape.HyperlinkClick.Sound = playSound; } // Добавляет пустой слайд ISlide secondSlide = pres.Slides.AddEmptySlide(firstSlide.LayoutSlide); - // Добавляет новую фигуру с гиперссылкой "NoAction" + // Добавляет новую фигуру с гиперссылкой NoAction IShape secondShape = secondSlide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 100, 50); secondShape.HyperlinkClick = Hyperlink.NoAction; - // Устанавливает флаг гиперссылки "Остановить предыдущий звук" + // Устанавливает флаг гиперссылки «Остановить предыдущий звук» secondShape.HyperlinkClick.StopSoundOnClick = true; pres.Save("hyperlink-sound.pptx", SaveFormat.Pptx); } ``` -#### **Извлечение звука гиперссылки** -Этот код на C# показывает, как извлечь звук, используемый в гиперссылке: +#### **Извлечение звука из гиперссылки** +Этот код C# показывает, как извлечь звук, использованный в гиперссылке: ```c# using (Presentation pres = new Presentation("hyperlink-sound.pptx")) { ISlide firstSlide = pres.Slides[0]; - // Получает первую гиперссылку фигуры + // Получает гиперссылку первой фигуры IHyperlink link = firstSlide.Shapes[0].HyperlinkClick; if (link.Sound != null) { - // Извлекает звук гиперссылки в виде массива байтов + // Извлекает звук гиперссылки в массив байт byte[] audioData = link.Sound.BinaryData; } } ``` -## **Удаление гиперссылок в презентациях** -### **Удаление гиперссылок из текстов** +## **Удаление гиперссылок в презентациях** -Этот код на C# показывает, как удалить гиперссылку из текста на слайде презентации: +### **Удаление гиперссылок из текста** +Этот код C# показывает, как удалить гиперссылку из текста на слайде презентации: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -263,11 +261,11 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **Удаление гиперссылок из фигур или рамок** -Этот код на C# показывает, как удалить гиперссылку из фигуры на слайде презентации: +### **Удаление гиперссылок из фигур или фреймов** -```csharp +Этот код C# показывает, как удалить гиперссылку из фигуры на слайде презентации: +``` csharp using (Presentation pres = new Presentation("demo.pptx")) { ISlide slide = pres.Slides[0]; @@ -279,17 +277,17 @@ using (Presentation pres = new Presentation("demo.pptx")) } ``` + ## **Изменяемая гиперссылка** -Класс [Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink) изменяемый. С помощью этого класса вы можете изменить значения для следующих свойств: +Класс [Hyperlink] изменяемый. С его помощью можно изменять значения следующих свойств: - [IHyperlink.TargetFrame](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/targetframe) - [IHyperlink.Tooltip](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/tooltip) - [IHyperlink.History](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/history) - [IHyperlink.HighlightClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/highlightclick) -Сниппет кода показывает, как добавить гиперссылку на слайд и позже отредактировать ее подсказку: - +Этот фрагмент кода показывает, как добавить гиперссылку на слайд и позже изменить её всплывающую подсказку: ```c# using (Presentation presentation = new Presentation()) { @@ -299,7 +297,7 @@ using (Presentation presentation = new Presentation()) shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "Более 70% компаний из списка Fortune 100 доверяют API Aspose"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; @@ -308,11 +306,9 @@ using (Presentation presentation = new Presentation()) ``` - - ## **Поддерживаемые свойства в IHyperlinkQueries** -Вы можете получить доступ к IHyperlinkQueries из презентации, слайда или текста, для которого определена гиперссылка. +К IHyperlinkQueries можно получить доступ из презентации, слайда или текста, для которого определена гипер ссылка. - [IPresentation.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/properties/hyperlinkqueries) - [IBaseSlide.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ibaseslide/properties/hyperlinkqueries) @@ -323,4 +319,18 @@ using (Presentation presentation = new Presentation()) - [IHyperlinkQueries.GetHyperlinkClicks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkclicks) - [IHyperlinkQueries.GetHyperlinkMouseOvers();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkmouseovers) - [IHyperlinkQueries.GetAnyHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/getanyhyperlinks) -- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) \ No newline at end of file +- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) + +## **FAQ** + +**Как можно создать внутреннюю навигацию не только к слайду, но и к «разделу» или к первому слайду раздела?** + +Разделы в PowerPoint — это группы слайдов; навигация технически направлена на конкретный слайд. Чтобы «перейти к разделу», обычно создают ссылку на его первый слайд. + +**Могу ли я прикрепить гиперссылку к элементам слайд‑мастера, чтобы она работала на всех слайдах?** + +Да. Элементы слайд‑мастера и макета поддерживают гиперссылки. Такие ссылки отображаются на дочерних слайдах и кликабельны во время показа. + +**Сохранятся ли гиперссылки при экспорте в PDF, HTML, изображения или видео?** + +В [PDF](/slides/ru/net/convert-powerpoint-to-pdf/) и [HTML](/slides/ru/net/convert-powerpoint-to-html/) ссылки, как правило, сохраняются. При экспорте в [изображения](/slides/ru/net/convert-powerpoint-to-png/) и [видео](/slides/ru/net/convert-powerpoint-to-video/) кликабельность не сохраняется из‑за характера этих форматов (растровые кадры/видео не поддерживают гиперссылки). \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md b/ru/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md index f9964a80f3..2310bb395e 100644 --- a/ru/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md @@ -1,27 +1,37 @@ --- -title: Аудио Кадр - Вставка и Извлечение Аудио в PowerPoint с использованием C# -linktitle: Аудио Кадр +title: Управление аудио в презентациях с использованием C# +linktitle: Аудиокадр type: docs weight: 10 url: /ru/net/audio-frame/ -keywords: "аудио эскиз изображения, Добавить аудио, Аудио кадр, Свойства аудио, Извлечь аудио, C#, Csharp, Aspose.Slides для .NET" -description: "Добавьте аудио в презентацию PowerPoint на C# или .NET" +keywords: +- аудио +- аудио кадр +- миниатюра +- добавить аудио +- свойства аудио +- параметры аудио +- извлечь аудио +- .NET +- C# +- Aspose.Slides +description: "Создавайте и управляйте аудиокадрами в Aspose.Slides для .NET — примеры на C# для встраивания, обрезки, зацикливания и настройки воспроизведения в презентациях PPT, PPTX и ODP." --- -## **Создание Аудио Кадра** -Aspose.Slides для .NET позволяет добавлять аудиофайлы на слайды. Аудиофайлы встраиваются в слайды в виде аудиокадров. +## **Создать аудио‑кадры** + +Aspose.Slides для .NET позволяет добавлять аудиофайлы на слайды. Аудиофайлы встраиваются в слайды как аудио‑кадры. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на слайд через его индекс. +2. Получите ссылку на слайд по его индексу. 3. Загрузите поток аудиофайла, который вы хотите встроить в слайд. -4. Добавьте встроенный аудиокадр (содержащий аудиофайл) на слайд. -5. Установите [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) и `Volume`, предоставленные объектом [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe). -6. Сохраните измененную презентацию. - -Этот код на C# показывает, как добавить встроенный аудиокадр на слайд: +4. Добавьте встроенный аудио‑кадр (содержащий аудиофайл) на слайд. +5. Установите [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) и `Volume`, предоставляемые объектом [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe). +6. Сохраните изменённую презентацию. +Этот C# код показывает, как добавить встроенный аудио‑кадр на слайд: ```c# -// Создает экземпляр класса presentation, который представляет файл презентации +// Создает экземпляр класса Presentation, представляющий файл презентации using (Presentation pres = new Presentation()) { // Получает первый слайд @@ -30,10 +40,10 @@ using (Presentation pres = new Presentation()) // Загружает wav аудиофайл в поток FileStream fstr = new FileStream("sampleaudio.wav", FileMode.Open, FileAccess.Read); - // Добавляет Аудио Кадр + // Добавляет аудио‑кадр IAudioFrame audioFrame = sld.Shapes.AddAudioFrameEmbedded(50, 150, 100, 100, fstr); - // Устанавливает Режим Воспроизведения и Громкость Аудио + // Устанавливает режим воспроизведения и громкость аудио audioFrame.PlayMode = AudioPlayModePreset.Auto; audioFrame.Volume = AudioVolumeMode.Loud; @@ -42,18 +52,18 @@ using (Presentation pres = new Presentation()) } ``` -## **Изменение Эскиза Аудио Кадра** -Когда вы добавляете аудиофайл в презентацию, аудио отображается в виде кадра со стандартным изображением по умолчанию (см. изображение в разделе ниже). Вы можете изменить эскиз аудиокадра (установить ваше предпочтительное изображение). +## **Изменить миниатюру аудио‑кадра** -Этот код на C# показывает, как изменить эскиз аудиокадра или изображение-превью: +Когда вы добавляете аудиофайл в презентацию, он отображается как кадр со стандартным изображением по умолчанию (см. изображение ниже). Вы можете изменить миниатюру аудио‑кадра (установить своё изображение). +Этот C# код показывает, как изменить миниатюру или изображение предварительного просмотра аудио‑кадра: ```c# using (var presentation = new Presentation()) { var slide = presentation.Slides[0]; - // Добавляет аудиокадр на слайд с заданной позицией и размером. + // Добавляет аудио‑кадр на слайд с указанными позицией и размером. var audioStream = new FileStream("sample2.mp3", FileMode.Open, FileAccess.Read); var audioFrame = slide.Shapes.AddAudioFrameEmbedded(150, 100, 50, 50, audioStream); audioStream.Dispose(); @@ -63,61 +73,70 @@ using (var presentation = new Presentation()) var audioImage = presentation.Images.AddImage(imageStream); imageStream.Dispose(); - // Устанавливает изображение для аудиокадра. + // Устанавливает изображение для аудио‑кадра. audioFrame.PictureFormat.Picture.Image = audioImage; // <----- - - // Сохраняет измененную презентацию на диск + + //Сохраняет изменённую презентацию на диск presentation.Save("example_out.pptx", SaveFormat.Pptx); } ``` -## **Изменение Параметров Воспроизведения Аудио** -Aspose.Slides для .NET позволяет изменять параметры, которые управляют воспроизведением аудио или его свойствами. Например, вы можете настроить громкость аудио, установить воспроизведение в цикле или даже скрыть значок аудио. +## **Изменить параметры воспроизведения аудио** + +Aspose.Slides для .NET позволяет менять параметры, управляющие воспроизведением аудио или его свойствами. Например, можно отрегулировать громкость, установить воспроизведение в цикле или скрыть значок аудио. -Панель **Параметры Аудио** в Microsoft PowerPoint: +Окно **Audio Options** в Microsoft PowerPoint: ![example1_image](audio_frame_0.png) -Параметры аудио PowerPoint, соответствующие свойствам Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe): +Параметры **Audio Options** в PowerPoint, соответствующие свойствам Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe): -- Выпадающее меню **Начало** параметров Аудио соответствует свойству [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode) -- **Громкость** параметров Аудио соответствует свойству [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume) -- **Воспроизведение на нескольких слайдах** соответствует свойству [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides) -- **Цикл до остановки** соответствует свойству [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode) -- **Скрыть во время показа** соответствует свойству [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing) -- **Перемотка после воспроизведения** соответствует свойству [AudioFrame.RewindAudio ](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio) +- **Start** выпадающее меню соответствует свойству [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode) +- **Volume** соответствует свойству [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume) +- **Play Across Slides** соответствует свойству [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides) +- **Loop until Stopped** соответствует свойству [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode) +- **Hide During Show** соответствует свойству [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing) +- **Rewind after Playing** соответствует свойству [AudioFrame.RewindAudio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio) -Таким образом, вы можете изменить параметры Воспроизведения Аудио: +Параметры **Editing** в PowerPoint, соответствующие свойствам Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe): -1. [Создайте](#create-audio-frame) или получите Аудио Кадр. -2. Установите новые значения для свойств Аудио Кадра, которые вы хотите изменить. -3. Сохраните измененный файл PowerPoint. +- **Fade In** соответствует свойству [AudioFrame.FadeInDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeinduration/) +- **Fade Out** соответствует свойству [AudioFrame.FadeOutDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeoutduration/) +- **Trim Audio Start Time** соответствует свойству [AudioFrame.TrimFromStart](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromstart/) +- **Trim Audio End Time** соответствует длительности аудио минус значение свойства [AudioFrame.TrimFromEnd](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromend/) -Этот код на C# демонстрирует операцию, при которой настраиваются параметры аудио: +Ползунок **Volume** на панели управления аудио в PowerPoint соответствует свойству [AudioFrame.VolumeValue](https://reference.aspose.com/slides/net/aspose.slides/audioframe/volumevalue/) и позволяет менять громкость аудио в процентах. +Как изменить параметры воспроизведения аудио: + +1. [Создать](#create-audio-frame) или получить аудио‑кадр. +2. Установите новые значения свойств аудио‑кадра, которые нужно изменить. +3. Сохраните изменённый файл PowerPoint. + +Этот C# код демонстрирует операцию, в которой изменяются параметры аудио: ``` csharp using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) { // Получает форму AudioFrame AudioFrame audioFrame = (AudioFrame)pres.Slides[0].Shapes[0]; - // Устанавливает режим воспроизведения на "воспроизводить по щелчку" + // Устанавливает режим воспроизведения на воспроизведение по щелчку audioFrame.PlayMode = AudioPlayModePreset.OnClick; - // Устанавливает громкость на "низкий" + // Устанавливает громкость на низкую audioFrame.Volume = AudioVolumeMode.Low; - // Устанавливает воспроизведение на нескольких слайдах + // Устанавливает воспроизведение аудио во всех слайдах audioFrame.PlayAcrossSlides = true; - // Отключает цикл для аудио + // Отключает зацикливание аудио audioFrame.PlayLoopMode = false; // Скрывает AudioFrame во время показа слайдов audioFrame.HideAtShowing = true; - // Перематывает аудиофайл в начало после воспроизведения + // Перематывает аудио к началу после воспроизведения audioFrame.RewindAudio = true; // Сохраняет файл PowerPoint на диск @@ -125,30 +144,85 @@ using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) } ``` -## **Извлечение Аудио** -Aspose.Slides для .NET позволяет извлекать звук, используемый в переходах слайдов. Например, вы можете извлечь звук, используемый на конкретном слайде. -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) и загрузите презентацию, содержащую аудио. -2. Получите ссылку на соответствующий слайд через его индекс. -3. Получите доступ к переходам слайдов для слайда. -4. Извлеките звук в байтовые данные. +Этот C# пример показывает, как добавить новый аудио‑кадр с встроенным аудио, обрезать его и задать длительности затухания: +```c# +using (Presentation pres = new Presentation()) +{ + ISlide slide = pres.Slides[0]; + + byte[] audioData = File.ReadAllBytes("sampleaudio.mp3"); + IAudio audio = pres.Audios.AddAudio(audioData); + IAudioFrame audioFrame = slide.Shapes.AddAudioFrameEmbedded(50, 50, 100, 100, audio); + + // Устанавливает начальное смещение обрезки в 1.5 секунды + audioFrame.TrimFromStart = 1500f; + // Устанавливает конечное смещение обрезки в 2 секунды + audioFrame.TrimFromEnd = 2000f; + + // Устанавливает длительность fade-in в 200 мс + audioFrame.FadeInDuration = 200f; + // Устанавливает длительность fade-out в 500 мс + audioFrame.FadeOutDuration = 500f; + + pres.Save("AudioFrameTrimFade_out.pptx", SaveFormat.Pptx); +} +``` + + +Следующий пример кода показывает, как получить аудио‑кадр с встроенным аудио и установить его громкость на 85 %: +```c# +using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) +{ + // Получает форму аудио‑кадра + IAudioFrame audioFrame = (IAudioFrame)pres.Slides[0].Shapes[0]; + + // Устанавливает громкость аудио на 85% + audioFrame.VolumeValue = 85f; + + pres.Save("AudioFrameValue_out.pptx", SaveFormat.Pptx); +} +``` + -Этот код на C# показывает, как извлечь аудио, использованное на слайде: +## **Извлечь аудио** +Aspose.Slides для .NET позволяет извлекать звук, используемый в переходах слайд‑шоу. Например, можно извлечь звук, использованный в конкретном слайде. + +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) и загрузите презентацию, содержащую аудио. +2. Получите ссылку на нужный слайд по его индексу. +3. Получите доступ к переходам слайд‑шоу для этого слайда. +4. Извлеките звук в виде байтовых данных. +Этот C# код показывает, как извлечь аудио, используемое в слайде: ```c# string presName = "AudioSlide.pptx"; -// Создает экземпляр класса Presentation, который представляет файл презентации +// Создаёт экземпляр класса Presentation, представляющего файл презентации Presentation pres = new Presentation(presName); // Получает доступ к слайду ISlide slide = pres.Slides[0]; -// Получает эффекты переходов слайдов для слайда +// Получает эффекты переходов слайд-шоу для слайда ISlideShowTransition transition = slide.SlideShowTransition; -// Извлекает звук в байтовый массив +//Извлекает звук в массив байтов byte[] audio = transition.Sound.BinaryData; -System.Console.WriteLine("Длина: " + audio.Length); -``` \ No newline at end of file +System.Console.WriteLine("Length: " + audio.Length); +``` + + +## **FAQ** + +**Можно ли повторно использовать один и тот же аудио‑ресурс на нескольких слайдах без увеличения размера файла?** + +Да. Добавьте аудио один раз в общую [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) презентации и создайте дополнительные аудио‑кадры, которые ссылаются на этот существующий ресурс. Это избегает дублирования медиа‑данных и держит размер презентации под контролем. + +**Можно ли заменить звук в существующем аудио‑кадре без пересоздания формы?** + +Да. Для связанного звука обновите [link path](https://reference.aspose.com/slides/net/aspose.slides/audioframe/linkpathlong/), указывающий на новый файл. Для встроенного звука замените объект [embedded audio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/embeddedaudio/) другим из [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) презентации. Форматирование кадра и большинство настроек воспроизведения останутся неизменными. + +**Изменяет ли обрезка фактические аудио‑данные, хранящиеся в презентации?** + +Нет. Обрезка изменяет только границы воспроизведения. Исходные аудио‑байты остаются нетронутыми и доступны через встроенное аудио или коллекцию аудио презентации. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-media-files/flash/_index.md b/ru/net/developer-guide/presentation-content/manage-media-files/flash/_index.md index b351b0913a..134e1ac272 100644 --- a/ru/net/developer-guide/presentation-content/manage-media-files/flash/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-media-files/flash/_index.md @@ -1,15 +1,14 @@ --- -title: Флэш +title: Flash type: docs weight: 10 url: /ru/net/flash/ -keywords: "Извлечение флэш, Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Извлечение флэш-объекта из презентации PowerPoint на C# или .NET" +keywords: "Извлечение flash, презентация PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Извлечение flash‑объекта из презентации PowerPoint на C# или .NET" --- -## **Извлечение флэш-объектов из презентации** -Aspose.Slides для .NET предоставляет возможность извлечения флэш-объектов из презентации. Вы можете получить доступ к флэш-контролю по имени и извлечь его из презентации, включая хранение данных SWF-объекта. - +## **Извлечение Flash-объектов из презентации** +Aspose.Slides for .NET предоставляет возможность извлекать flash-объекты из презентации. Вы можете получить доступ к flash‑элементу по имени и извлечь его из презентации, включая сохранённые данные объекта SWF. ```c# using (Presentation pres = new Presentation("withFlash.pptm")) { @@ -23,4 +22,23 @@ using (Presentation pres = new Presentation("withFlash.pptm")) } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Какие форматы презентаций поддерживаются при извлечении Flash‑контента?** + +[Aspose.Slides supports](/slides/ru/net/supported-file-formats/) основные форматы PowerPoint, такие как PPT и PPTX, поскольку он может загружать эти контейнеры и получать доступ к их элементам управления, включая связанные с Flash ActiveX‑элементы. + +**Могу ли я конвертировать презентацию с Flash в HTML5 и сохранить интерактивность Flash?** + +Нет. Aspose.Slides не выполняет SWF‑контент и не конвертирует его интерактивность. Хотя экспорт в [HTML](/slides/ru/net/convert-powerpoint-to-html/)/[HTML5](/slides/ru/net/export-to-html5/) поддерживается, Flash не будет работать в современных браузерах из‑за прекращения поддержки. Рекомендуется заменить Flash альтернативами, такими как видео или анимации HTML5, перед экспортом. + +**С точки зрения безопасности, выполняет ли Aspose.Slides SWF‑файлы при чтении презентации?** + +Нет. Aspose.Slides рассматривает Flash как бинарные данные, встроенные в файл, и не выполняет SWF‑контент во время обработки. + +**Как обрабатывать презентации, содержащие Flash вместе с другими встраиваемыми файлами через OLE?** + +Aspose.Slides поддерживает [extracting embedded OLE objects](/slides/ru/net/manage-ole/), поэтому вы можете обработать весь связанный встраиваемый контент за один проход, обрабатывая Flash‑элементы управления и другие OLE‑встроенные документы вместе. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-media-files/image/_index.md b/ru/net/developer-guide/presentation-content/manage-media-files/image/_index.md index bebc0ef168..421987a335 100644 --- a/ru/net/developer-guide/presentation-content/manage-media-files/image/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-media-files/image/_index.md @@ -3,38 +3,56 @@ title: Изображение type: docs weight: 10 url: /ru/net/image/ -keywords: "Добавить изображение, Добавить картинку, Презентация PowerPoint, EMF, SVG, C#, Csharp, Aspose.Slides для .NET" -description: "Добавьте изображение на слайд или в презентацию PowerPoint на C# или .NET" +keywords: +- добавить изображение +- добавить картинку +- добавить bitmap +- заменить изображение +- заменить картинку +- из веба +- фон +- добавить PNG +- добавить JPG +- добавить SVG +- добавить EMF +- добавить WMF +- добавить TIFF +- PowerPoint +- OpenDocument +- презентация +- .NET +- C# +- Aspose.Slides +description: "Оптимизируйте управление изображениями в PowerPoint и OpenDocument с помощью Aspose.Slides для .NET, повышая производительность и автоматизируя ваш рабочий процесс." --- ## **Изображения на слайдах в презентациях** -Изображения делают презентации более привлекательными и интересными. В Microsoft PowerPoint вы можете вставлять изображения из файла, интернета или других мест на слайды. Аналогично, Aspose.Slides позволяет добавлять изображения на слайды в ваших презентациях различными способами. +Изображения делают презентации более увлекательными и интересными. В Microsoft PowerPoint вы можете вставлять картинки из файла, интернета или других источников на слайды. Аналогично, Aspose.Slides позволяет добавлять изображения на слайды ваших презентаций разными способами. -{{% alert title="Совет" color="primary" %}} +{{% 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), которые позволяют пользователям быстро создавать презентации из изображений. +Aspose предоставляет бесплатные конвертеры—[JPEG в PowerPoint](https://products.aspose.app/slides/import/jpg-to-ppt) и [PNG в PowerPoint](https://products.aspose.app/slides/import/png-to-ppt)—которые позволяют быстро создавать презентации из изображений. -{{% /alert %}} +{{% /alert %}} {{% alert title="Информация" color="info" %}} -Если вы хотите добавить изображение в качестве объектной рамки — особенно если вы собираетесь использовать стандартные параметры форматирования для изменения его размера, добавления эффектов и т.д. — смотрите [Рамка изображения](https://docs.aspose.com/slides/net/picture-frame/). +Если вы хотите добавить изображение как объект рамки—особенно если планируете использовать стандартные параметры форматирования для изменения его размеров, добавления эффектов и т.д.—см. [Picture Frame](/slides/ru/net/picture-frame/). -{{% /alert %}} +{{% /alert %}} {{% alert title="Примечание" color="warning" %}} -Вы можете управлять операциями ввода/вывода, связанными с изображениями и презентациями PowerPoint, чтобы конвертировать изображение из одного формата в другой. Смотрите эти страницы: конвертировать [изображение в JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); конвертировать [JPG в изображение](https://products.aspose.com/slides/net/conversion/jpg-to-image/); конвертировать [JPG в PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), конвертировать [PNG в JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); конвертировать [PNG в SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), конвертировать [SVG в PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). +Вы можете выполнять операции ввода/вывода, связанные с изображениями и презентациями PowerPoint, чтобы преобразовать изображение из одного формата в другой. См. эти страницы: конвертировать [изображение в JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); конвертировать [JPG в изображение](https://products.aspose.com/slides/net/conversion/jpg-to-image/); конвертировать [JPG в PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), конвертировать [PNG в JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); конвертировать [PNG в SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), конвертировать [SVG в PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). {{% /alert %}} -Aspose.Slides поддерживает операции с изображениями в этих популярных форматах: JPEG, PNG, BMP, GIF и других. +Aspose.Slides поддерживает работу с изображениями в популярных форматах: JPEG, PNG, BMP, GIF и других. -## **Добавление изображений, хранящихся локально, на слайды** - -Вы можете добавить одно или несколько изображений с вашего компьютера на слайд в презентации. Этот пример кода на C# показывает, как добавить изображение на слайд: +## **Добавление локально сохранённых изображений на слайды** +Вы можете добавить одну или несколько картинок с вашего компьютера на слайд презентации. Ниже приведён пример кода на C#, показывающий, как добавить изображение на слайд: ```c# using (Presentation pres = new Presentation()) { @@ -46,12 +64,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Добавление изображений из Интернета на слайды** -Если изображение, которое вы хотите добавить на слайд, недоступно на вашем компьютере, вы можете добавить изображение напрямую из Интернета. +## **Добавление изображений из Интернета на слайды** -Этот пример кода показывает, как добавить изображение из Интернета на слайд на C#: +Если нужное изображение недоступно на вашем компьютере, его можно добавить напрямую из сети. +Этот пример кода показывает, как добавить изображение из Интернета на слайд в C#: ```c# using (Presentation pres = new Presentation()) { @@ -60,7 +78,7 @@ using (Presentation pres = new Presentation()) byte[] imageData; using (WebClient webClient = new WebClient()) { - imageData = webClient.DownloadData(new Uri("[ЗАМЕНИТЕ URL]")); + imageData = webClient.DownloadData(new Uri("[REPLACE WITH URL]")); } IPPImage image = pres.Images.AddImage(imageData); @@ -70,12 +88,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Добавление изображений в мастер-слайды** -Мастер-слайд — это верхний слайд, который хранит и управляет информацией (темой, макетом и т.д.) о всех слайдах под ним. Таким образом, когда вы добавляете изображение в мастер-слайд, это изображение появляется на каждом слайде под этим мастер-слайдом. +## **Добавление изображений в мастер‑слайды** -Этот пример кода на C# показывает, как добавить изображение в мастер-слайд: +Мастер‑слайд — это главный слайд, в котором хранится и контролируется информация (тема, макет и др.) обо всех слайдах, использующих его. Поэтому, когда вы добавляете изображение в мастер‑слайд, это изображение появляется на каждом слайде, основанном на этом мастере. +Пример кода на C#, показывающий, как добавить изображение в мастер‑слайд: ```c# using (Presentation pres = new Presentation()) { @@ -89,28 +107,29 @@ using (Presentation pres = new Presentation()) } ``` + ## **Добавление изображений в качестве фона слайда** -Вы можете решить использовать изображение в качестве фона для конкретного слайда или нескольких слайдов. В этом случае вам нужно ознакомиться с *[Установкой изображений в качестве фонов для слайдов](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*. +Вы можете использовать картинку в качестве фона отдельного слайда или нескольких слайдов. В этом случае см. *[Setting Images as Backgrounds for Slides](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*. ## **Добавление SVG в презентации** -Вы можете добавлять или вставлять любое изображение в презентацию, используя метод [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe), который принадлежит интерфейсу [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +Вы можете добавить или вставить любое изображение в презентацию, используя метод [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe), принадлежащий интерфейсу [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -Чтобы создать объект изображения на основе SVG-изображения, вы можете сделать это следующим образом: +Чтобы создать объект изображения на основе SVG, сделайте следующее: -1. Создайте объект SvgImage, чтобы вставить его в ImageShapeCollection -2. Создайте объект PPImage из ISvgImage -3. Создайте объект PictureFrame с использованием интерфейса IPPImage +1. Создать объект SvgImage для вставки в ImageShapeCollection +2. Создать объект PPImage из ISvgImage +3. Создать объект PictureFrame, используя интерфейс IPPImage -Этот пример кода показывает, как реализовать вышеописанные шаги, чтобы добавить изображение SVG в презентацию: -```csharp -// Путь к каталогу документов +Пример кода, показывающий реализацию перечисленных шагов для добавления SVG‑изображения в презентацию: +```csharp +// Путь к директории документов string dataDir = @"D:\Documents\"; // Имя исходного SVG файла string svgFileName = dataDir + "sample.svg"; -// Имя выходного файла презентации +// Имя файла выходной презентации string outPptxPath = dataDir + "presentation.pptx"; // Создание новой презентации @@ -125,7 +144,7 @@ using (var p = new Presentation()) // Создание объекта PPImage IPPImage ppImage = p.Images.AddImage(svgImage); - // Создание нового PictureFrame + // Создание нового PictureFrame p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 200, 100, ppImage.Width, ppImage.Height, ppImage); // Сохранение презентации в формате PPTX @@ -133,24 +152,23 @@ using (var p = new Presentation()) } ``` -## **Конвертация SVG в набор форм** -Конвертация SVG в набор форм в Aspose.Slides аналогична функциональности PowerPoint, используемой для работы с SVG-изображениями: +## **Преобразование SVG в набор фигур** +Преобразование SVG в набор фигур в Aspose.Slides аналогично функции PowerPoint, используемой для работы с SVG‑изображениями: -![Всплывающее меню PowerPoint](img_01_01.png) +![PowerPoint Popup Menu](img_01_01.png) -Эта функциональность предоставляется одним из перегрузок метода [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) интерфейса [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection), который принимает объект [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) в качестве первого аргумента. +Эта возможность предоставляется одной из перегрузок метода [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) интерфейса [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection), принимающей объект [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) в качестве первого аргумента. -Этот пример кода показывает, как использовать описанный метод для конвертации SVG файла в набор форм: - -```csharp -// Путь к каталогу документов +Пример кода, показывающий, как использовать описанный метод для преобразования SVG‑файла в набор фигур: +``` csharp +// Путь к директории документов string dataDir = @"D:\Documents\"; // Имя исходного SVG файла string svgFileName = dataDir + "sample.svg"; -// Имя выходного файла презентации +// Имя файла выходной презентации string outPptxPath = dataDir + "presentation.pptx"; // Создание новой презентации @@ -162,23 +180,23 @@ using (IPresentation presentation = new Presentation()) // Создание объекта SvgImage ISvgImage svgImage = new SvgImage(svgContent); - // Получение размера слайда + // Получить размер слайда SizeF slideSize = presentation.SlideSize.Size; - // Конвертация SVG изображения в группу форм с масштабированием до размера слайда + // Преобразовать SVG‑изображение в группу фигур, масштабируя его до размера слайда presentation.Slides[0].Shapes.AddGroupShape(svgImage, 0f, 0f, slideSize.Width, slideSize.Height); - // Сохранение презентации в формате PPTX + // Сохранить презентацию в формате PPTX presentation.Save(outPptxPath, SaveFormat.Pptx); } ``` -## **Добавление изображений как EMF на слайды** -Aspose.Slides для .NET позволяет вам создавать EMF изображения из листов Excel и добавлять изображения как EMF на слайды с помощью Aspose.Cells. -Этот пример кода показывает, как выполнить описанную задачу: +## **Добавление изображений в виде EMF на слайды** +Aspose.Slides for .NET позволяет генерировать EMF‑изображения из листов Excel и добавлять их в слайды как EMF с помощью Aspose.Cells. -```csharp +Пример кода, показывающий, как выполнить указанную задачу: +``` csharp using (Workbook book = new Workbook(dataDir + "chart.xlsx")) { Worksheet sheet = book.Worksheets[0]; @@ -187,7 +205,7 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) options.VerticalResolution = 200; options.ImageFormat = System.Drawing.Imaging.ImageFormat.Emf; - // Сохранение рабочей книги в поток + //Сохранить книгу в поток SheetRender sr = new SheetRender(sheet, options); using (Presentation pres = new Presentation()) { @@ -210,8 +228,66 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) } ``` + +## **Замена изображений в коллекции изображений** + +Aspose.Slides позволяет заменять изображения, хранящиеся в коллекции изображений презентации (включая те, которые используют фигуры слайдов). В этом разделе представлены несколько подходов к обновлению изображений в коллекции. API предоставляет простые методы замены изображения с использованием необработанных байтов, экземпляра [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) или другого изображения, уже существующего в коллекции. + +Выполните следующие шаги: + +1. Загрузите файл презентации, содержащий изображения, с помощью класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +2. Загрузите новое изображение из файла в массив байтов. +3. Замените целевое изображение новым, используя массив байтов. +4. Во втором подходе загрузите изображение в объект [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) и замените целевое изображение этим объектом. +5. В третьем подходе замените целевое изображение изображением, уже находящимся в коллекции изображений презентации. +6. Сохраните изменённую презентацию как файл PPTX. +```cs +// Создайте экземпляр класса Presentation, представляющего файл презентации. +using Presentation presentation = new Presentation("sample.pptx"); + +// Первый способ. +byte[] imageData = File.ReadAllBytes("image0.jpeg"); +IPPImage oldImage = presentation.Images[0]; +oldImage.ReplaceImage(imageData); + +// Второй способ. +using IImage newImage = Images.FromFile("image1.png"); +oldImage = presentation.Images[1]; +oldImage.ReplaceImage(newImage); + +// Третий способ. +oldImage = presentation.Images[2]; +oldImage.ReplaceImage(presentation.Images[3]); + +// Сохраните презентацию в файл. +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + {{% alert title="Информация" color="info" %}} -Используя бесплатный конвертер Aspose [Текст в GIF](https://products.aspose.app/slides/text-to-gif), вы можете легко анимировать текст, создавать GIF из текстов и т.д. +Используя бесплатный конвертер Aspose [Text to GIF](https://products.aspose.app/slides/text-to-gif), вы можете легко анимировать текст, создавать GIF‑изображения из текста и т.д. + +{{% /alert %}} + +## **FAQ** + +**Сохраняется ли оригинальное разрешение изображения после вставки?** + +Да. Исходные пиксели сохраняются, однако конечный вид зависит от того, как [picture](/slides/ru/net/picture-frame/) масштабируется на слайде и от любой компрессии при сохранении. + +**Как лучше всего заменить один и тот же логотип сразу на десятках слайдов?** + +Разместите логотип на мастер‑слайде или макете и замените его в коллекции изображений презентации — изменения распространятся на все элементы, использующие этот ресурс. + +**Можно ли преобразовать вставленный SVG в редактируемые фигуры?** + +Да. Вы можете преобразовать SVG в группу фигур, после чего отдельные части становятся редактируемыми с помощью стандартных свойств фигур. + +**Как установить картинку фоном сразу для нескольких слайдов?** + +[Назначьте изображение в качестве фона](/slides/ru/net/presentation-background/) на мастер‑слайде или соответствующем макете — все слайды, использующие этот мастер/макет, унаследуют фон. + +**Как не допустить «раздувания» размера презентации из‑за большого количества картинок?** -{{% /alert %}} \ No newline at end of file +Повторно используйте один ресурс изображения вместо дубликатов, выбирайте разумные разрешения, применяйте компрессию при сохранении и, где уместно, размещайте повторяющиеся графические элементы на мастере. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/ru/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index 706edfc0be..53dffbed5f 100644 --- a/ru/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -1,104 +1,120 @@ --- -title: Рамка для изображения +title: Рамка изображения type: docs weight: 10 url: /ru/net/picture-frame/ -keywords: "Добавить рамку для изображения, создать рамку для изображения, добавить изображение, создать изображение, извлечь изображение, свойство StretchOff, форматирование рамки для изображения, свойства рамки для изображения, презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Добавить рамку для изображения в презентацию PowerPoint на C# или .NET" +keywords: +- рамка изображения +- добавить рамку изображения +- создать рамку изображения +- добавить изображение +- создать изображение +- извлечь изображение +- обрезать изображение +- свойство StretchOff +- форматирование рамки изображения +- свойства рамки изображения +- эффект изображения +- соотношение сторон +- PowerPoint +- презентация +- C# +- Csharp +- Aspose.Slides for .NET +description: "Добавьте рамку изображения в презентацию PowerPoint на C# или .NET" --- -Рамка для изображения — это фигура, которая содержит изображение, она как картина в рамке. +Рамка изображения — это фигура, содержащая изображение; она похожа на картинку в рамке. -Вы можете добавить изображение на слайд через рамку для изображения. Таким образом, вы можете отформатировать изображение, отформатировав рамку для изображения. +Вы можете добавить изображение на слайд через рамку изображения. Таким образом, вы форматируете изображение, форматируя рамку изображения. -{{% alert title="Совет" color="primary" %}} +{{% 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), которые позволяют людям быстро создавать презентации из изображений. +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 %}} - -## **Создание рамки для изображения** +{{% /alert %}} -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на слайд по индексу. -3. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection), связанную с объектом презентации, который будет использован для заливки фигуры. -4. Укажите ширину и высоту изображения. -5. Создайте [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) на основе ширины и высоты изображения через метод `AddPictureFrame`, предоставленный объектом фигуры, связанным с указным слайдом. -6. Добавьте рамку для изображения (содержит картинку) на слайд. -7. Запишите измененную презентацию в файл PPTX. +## **Создание рамки изображения** -Этот код на C# показывает, как создать рамку для изображения: +1. Создайте экземпляр класса [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)класс. +2. Получите ссылку на слайд по его индексу. +3. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) путем добавления изображения в [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection), связанную с объектом presentation, которое будет использоваться для заполнения фигуры. +4. Укажите ширину и высоту изображения. +5. Создайте [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) на основе ширины и высоты изображения через метод `AddPictureFrame`, предоставляемый объектом shape, связанным с выбранным слайдом. +6. Добавьте рамку изображения (содержащую картинку) на слайд. +7. Сохраните изменённую презентацию в файле PPTX. +Этот C# код показывает, как создать рамку изображения: ```c# // Создает экземпляр класса Presentation, представляющего файл PPTX using (Presentation pres = new Presentation()) { - // Получает первый слайд - ISlide sld = pres.Slides[0]; + ISlide slide = pres.Slides[0]; - // Создает экземпляр класса ImageEx - System.Drawing.Image img = (System.Drawing.Image)new Bitmap("aspose-logo.jpg"); - IPPImage imgx = pres.Images.AddImage(img); + // Загружает изображение и добавляет его в коллекцию изображений презентации + IImage image = Images.FromFile("aspose-logo.jpg"); + IPPImage ppImage = pres.Images.AddImage(image); + image.Dispose(); - // Добавляет рамку для изображения с эквивалентной высотой и шириной изображения - IPictureFrame pf = sld.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, imgx.Width, imgx.Height, imgx); + // Добавляет рамку изображения с тем же высотой и шириной + IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // Применяет некоторое форматирование к PictureFrameEx - pf.LineFormat.FillFormat.FillType = FillType.Solid; - pf.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; - pf.LineFormat.Width = 20; - pf.Rotation = 45; + // Применяет некоторое форматирование к рамке изображения + pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; + pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; + pictureFrame.LineFormat.Width = 20; + pictureFrame.Rotation = 45; - // Записывает PPTX файл на диск + // Сохраняет презентацию в файл PPTX pres.Save("RectPicFrameFormat_out.pptx", SaveFormat.Pptx); } ``` -{{% alert color="warning" %}} -Рамки для изображений позволяют быстро создавать слайды презентаций на основе изображений. Когда вы комбинируете рамку для изображения с параметрами сохранения Aspose.Slides, вы можете манипулировать вводом/выводом, чтобы преобразовывать изображения из одного формата в другой. Вы можете ознакомиться с этими страницами: конвертировать [изображение в JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); конвертировать [JPG в изображение](https://products.aspose.com/slides/net/conversion/jpg-to-image/); конвертировать [JPG в PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), конвертировать [PNG в JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); конвертировать [PNG в SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), конвертировать [SVG в PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). +{{% alert color="warning" %}} -{{% /alert %}} +Рамки изображения позволяют быстро создавать слайды презентаций на основе изображений. При сочетании рамки изображения с параметрами сохранения Aspose.Slides вы можете управлять операциями ввода/вывода для конвертации изображений из одного формата в другой. Возможно, вам будет интересно посмотреть эти страницы: конвертировать [изображение в JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); конвертировать [JPG в изображение](https://products.aspose.com/slides/net/conversion/jpg-to-image/); конвертировать [JPG в PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/), конвертировать [PNG в JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); конвертировать [PNG в SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/), конвертировать [SVG в PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/). -## **Создание рамки для изображения с относительным масштабом** +{{% /alert %}} -Изменив относительное масштабирование изображения, вы можете создать более сложную рамку для изображения. +## **Создание рамки изображения с относительным масштабом** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на слайд по индексу. -3. Добавьте изображение в коллекцию изображений презентации. -4. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection), связанную с объектом презентации, который будет использован для заливки фигуры. -5. Укажите относительную ширину и высоту изображения в рамке для изображения. -6. Запишите измененную презентацию в файл PPTX. +Изменяя относительное масштабирование изображения, можно создать более сложную рамку изображения. -Этот код на C# показывает, как создать рамку для изображения с относительным масштабом: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Получите ссылку на слайд по его индексу. +3. Добавьте изображение в коллекцию изображений презентации. +4. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) путем добавления изображения в [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection), связанную с объектом presentation, которое будет использоваться для заполнения фигуры. +5. Укажите относительную ширину и высоту изображения в рамке изображения. +6. Сохраните изменённую презентацию в файле PPTX. +Этот C# код показывает, как создать рамку изображения с относительным масштабом: ```c# // Создает экземпляр класса Presentation, представляющего файл PPTX using (Presentation presentation = new Presentation()) { + // Загружает изображение и добавляет его в коллекцию изображений презентации + IImage image = Images.FromFile("aspose-logo.jpg"); + IPPImage ppImage = presentation.Images.AddImage(image); + image.Dispose(); - // Загружает изображение, которое будет добавлено в коллекцию изображений презентации - Image img = new Bitmap("aspose-logo.jpg"); - IPPImage image = presentation.Images.AddImage(img); + // Добавляет рамку изображения на слайд + IPictureFrame pictureFrame = presentation.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 100, 100, ppImage); - // Добавляет рамку для изображения на слайд - IPictureFrame pf = presentation.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 100, 100, image); - - // Устанавливает относительное значение ширины и высоты - pf.RelativeScaleHeight = 0.8f; - pf.RelativeScaleWidth = 1.35f; + // Устанавливает относительный масштаб ширины и высоты + pictureFrame.RelativeScaleHeight = 0.8f; + pictureFrame.RelativeScaleWidth = 1.35f; // Сохраняет презентацию presentation.Save("Adding Picture Frame with Relative Scale_out.pptx", SaveFormat.Pptx); } ``` -## **Извлечение изображения из рамки для изображения** -Вы можете извлекать изображения из объектов [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) и сохранять их в форматах PNG, JPG и других. Пример кода ниже демонстрирует, как извлечь изображение из документа "sample.pptx" и сохранить его в формате PNG. +## **Извлечение растровых изображений из рамок изображения** +Вы можете извлекать растровые изображения из объектов [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) и сохранять их в форматах PNG, JPG и других. Пример кода ниже демонстрирует, как извлечь изображение из документа «sample.pptx» и сохранить его в формате PNG. ```c# using (var presentation = new Presentation("sample.pptx")) { @@ -113,12 +129,34 @@ using (var presentation = new Presentation("sample.pptx")) } ``` -## **Получение прозрачности изображения** -Aspose.Slides позволяет вам получить прозрачность изображения. Этот код на C# демонстрирует эту операцию: +## **Извлечение SVG‑изображений из рамок изображения** + +Когда презентация содержит SVG‑графику, размещённую внутри фигур [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/), Aspose.Slides для .NET позволяет получить оригинальные векторные изображения с полной точностью. Путём обхода коллекции фигур слайда вы можете определить каждый [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/), проверить, содержит ли связанный [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) SVG‑контент, и затем сохранить это изображение на диск или в поток в его родном SVG‑формате. + +Следующий пример кода демонстрирует, как извлечь SVG‑изображение из рамки изображения: +```cs +using var presentation = new Presentation("sample.pptx"); + +var slide = presentation.Slides[0]; +var shape = slide.Shapes[0]; +if (shape is IPictureFrame pictureFrame) +{ + var svgImage = pictureFrame.PictureFormat.Picture.Image.SvgImage; + if (svgImage != null) + { + File.WriteAllText("output.svg", svgImage.SvgContent); + } +} +``` + + +## **Получение прозрачности изображения** + +Aspose.Slides позволяет получить эффект прозрачности, применённый к изображению. Этот C# код демонстрирует операцию: ```c# -using (var presentation = new Presentation(folderPath + "Test.pptx")) +using (var presentation = new Presentation("Test.pptx")) { var pictureFrame = (IPictureFrame)presentation.Slides[0].Shapes[0]; var imageTransform = pictureFrame.PictureFormat.Picture.ImageTransform; @@ -127,68 +165,72 @@ using (var presentation = new Presentation(folderPath + "Test.pptx")) if (effect is IAlphaModulateFixed alphaModulateFixed) { var transparencyValue = 100 - alphaModulateFixed.Amount; - Console.WriteLine("Прозрачность изображения: " + transparencyValue); + Console.WriteLine("Picture transparency: " + transparencyValue); } } } ``` -## **Форматирование рамки для изображения** - -Aspose.Slides предоставляет множество параметров форматирования, которые можно применять к рамке для изображения. Используя эти параметры, вы можете изменить рамку для изображения так, чтобы она соответствовала определенным требованиям. -1. Создайте экземпляр класса [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/). -2. Получите ссылку на слайд по индексу. -3. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection), связанную с объектом презентации, который будет использован для заливки фигуры. -4. Укажите ширину и высоту изображения. -5. Создайте `PictureFrame` на основе ширины и высоты изображения через метод [AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe), предоставленный объектом [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection), связанным с указным слайдом. -6. Добавьте рамку для изображения (содержит картинку) на слайд. -7. Установите цвет линии рамки для изображения. -8. Установите ширину линии рамки для изображения. -9. Поверните рамку для изображения, задав ей положительное или отрицательное значение. - * Положительное значение поворачивает изображение по часовой стрелке. - * Отрицательное значение поворачивает изображение против часовой стрелки. -10. Добавьте рамку для изображения (содержит картинку) на слайд. -11. Запишите измененную презентацию в файл PPTX. - -Этот код на C# демонстрирует процесс форматирования рамки для изображения: +{{% alert color="primary" %}} +Все эффекты, применённые к изображениям, находятся в [Aspose.Slides.Effects](https://reference.aspose.com/slides/net/aspose.slides.effects/). +{{% /alert %}} +## **Форматирование рамки изображения** + +Aspose.Slides предоставляет множество параметров форматирования, которые можно применить к рамке изображения. Используя эти параметры, вы можете менять рамку изображения, чтобы она соответствовала конкретным требованиям. + +1. Создайте экземпляр класса [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) class. +2. Получите ссылку на слайд по его индексу. +3. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) путем добавления изображения в [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection), связанную с объектом presentation, которое будет использоваться для заполнения фигуры. +4. Укажите ширину и высоту изображения. +5. Создайте `PictureFrame` на основе ширины и высоты изображения через метод [AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe), предоставляемый объектом [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection), связанным с выбранным слайдом. +6. Добавьте рамку изображения (содержащую картинку) на слайд. +7. Установите цвет линии рамки изображения. +8. Установите ширину линии рамки изображения. +9. Поверните рамку изображения, задав ей положительное или отрицательное значение. + * Положительное значение вращает изображение по часовой стрелке. + * Отрицательное значение вращает изображение против часовой стрелки. +10. Добавьте рамку изображения (содержащую картинку) на слайд. +11. Сохраните изменённую презентацию в файле PPTX. + +Этот C# код демонстрирует процесс форматирования рамки изображения: ```c# // Создает экземпляр класса Presentation, представляющего файл PPTX -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - // Получает первый слайд - ISlide sld = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // Создает экземпляр класса ImageEx - System.Drawing.Image img = (System.Drawing.Image)new Bitmap("aspose-logo.jpg"); - IPPImage imgx = pres.Images.AddImage(img); + // Загружает изображение и добавляет его в коллекцию изображений презентации + IImage image = Images.FromFile("aspose-logo.jpg"); + IPPImage ppImage = presentation.Images.AddImage(image); + image.Dispose(); - // Добавляет рамку для изображения с эквивалентной высотой и шириной изображения - IPictureFrame pf = sld.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, imgx.Width, imgx.Height, imgx); + // Добавляет рамку изображения с высотой и шириной, соответствующими изображению + IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // Применяет некоторое форматирование к PictureFrameEx - pf.LineFormat.FillFormat.FillType = FillType.Solid; - pf.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; - pf.LineFormat.Width = 20; - pf.Rotation = 45; + // Применяет некоторое форматирование к рамке изображения + pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; + pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; + pictureFrame.LineFormat.Width = 20; + pictureFrame.Rotation = 45; - // Записывает PPTX файл на диск - pres.Save("RectPicFrameFormat_out.pptx", SaveFormat.Pptx); + // Сохраняет презентацию в файл PPTX + presentation.Save("RectPicFrameFormat_out.pptx", SaveFormat.Pptx); } ``` + {{% alert 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), вы можете использовать этот сервис. +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 %}} -## **Добавить изображение как ссылку** - -Чтобы избежать больших размеров презентации, вы можете добавить изображения (или видео) через ссылки вместо встраивания файлов непосредственно в презентации. Этот код на C# показывает, как добавить изображение и видео в заполнитель: +## **Добавление изображения в виде ссылки** +Чтобы избежать больших размеров презентаций, вы можете добавлять изображения (или видео) через ссылки, а не встраивать файлы непосредственно в презентацию. Этот C# код показывает, как добавить изображение и видео в заполнитель: ```c# using (var presentation = new Presentation("input.pptx")) { @@ -239,17 +281,19 @@ using (var presentation = new Presentation("input.pptx")) } ``` -## **Обрезка изображения** -Этот код на C# показывает, как обрезать существующее изображение на слайде: +## **Обрезка изображения** +Этот C# код показывает, как обрезать существующее изображение на слайде: ```c# using (Presentation presentation = new Presentation()) { // Создает новый объект изображения - IPPImage newImage = presentation.Images.AddImage(Image.FromFile(imagePath)); + IImage image = Images.FromFile(imagePath); + IPPImage newImage = presentation.Images.AddImage(image); + image.Dispose(); - // Добавляет рамку для изображения на слайд + // Добавляет PictureFrame на слайд IPictureFrame picFrame = presentation.Slides[0].Shapes.AddPictureFrame( ShapeType.Rectangle, 100, 100, 420, 250, newImage); @@ -264,12 +308,12 @@ using (Presentation presentation = new Presentation()) } ``` -## Удалить обрезанные области изображения -Если вы хотите удалить обрезанные области изображения, содержащегося в рамке, вы можете использовать метод [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/). Этот метод возвращает обрезанное изображение или исходное изображение, если обрезка не необходима. +## **Удаление обрезанных областей изображения** -Этот код на C# демонстрирует операцию: +Если нужно удалить обрезанные области изображения, содержащегося в рамке, можно использовать метод [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/). Этот метод возвращает обрезанное изображение или оригинальное изображение, если обрезка не требуется. +Этот C# код демонстрирует операцию: ```c# using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) { @@ -278,7 +322,7 @@ using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) // Получает PictureFrame с первого слайда IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; - // Удаляет обрезанные области изображения рамки и возвращает обрезанное изображение + // Удаляет обрезанные области изображения PictureFrame и возвращает обрезанное изображение IPPImage croppedImage = picFrame.PictureFormat.DeletePictureCroppedAreas(); // Сохраняет результат @@ -286,77 +330,148 @@ using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) } ``` -{{% alert title="ПРИМЕЧАНИЕ" color="warning" %}} -Метод [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) добавляет обрезанное изображение в коллекцию изображений презентации. Если изображение используется только в обработанной [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/), эта настройка может уменьшить размер презентации. В противном случае количество изображений в результирующей презентации увеличится. +{{% alert title="NOTE" color="warning" %}} + +Метод [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) добавляет обрезанное изображение в коллекцию изображений презентации. Если изображение используется только в обработанном [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/), такая настройка может уменьшить размер презентации. В противном случае количество изображений в полученной презентации увеличится. -Этот метод преобразует метафайлы WMF/EMF в растровое изображение PNG в процессе обрезки. +Метод конвертирует метафайлы WMF/EMF в растровое PNG‑изображение в процессе обрезки. {{% /alert %}} -## **Закрепить соотношение сторон** +## **Сжатие изображения** + +Вы можете сжать изображение в презентации, используя метод [`IPictureFillFormat.CompressImage`](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/compressimage/). Этот метод уменьшает размер изображения, учитывая размер фигуры и указанное разрешение, с возможностью удаления обрезанных областей. + +Он регулирует размер и разрешение изображения аналогично функции PowerPoint **Picture Format → Compress Pictures → Resolution**. + +Ниже приведены примеры на C#, демонстрирующие сжатие изображения в презентации с указанием целевого разрешения и, при необходимости, удалением обрезанных областей: +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; -Если вы хотите, чтобы фигура, содержащая изображение, сохраняла свое соотношение сторон даже после изменения размеров изображения, вы можете использовать свойство [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) для установки параметра *Закрепить соотношение сторон*. + // Получить PictureFrame со слайда + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; -Этот код на C# показывает, как зафиксировать соотношение сторон фигуры: + // Сжать изображение с целевым разрешением 150 DPI (разрешение для веб) и удалить обрезанные области + bool result = picFrame.PictureFormat.CompressImage(true, PicturesCompression.Dpi150); + // Проверить результат сжатия + if (result) + { + Console.WriteLine("Image successfully compressed."); + } + else + { + Console.WriteLine("Image compression failed or no changes were necessary."); + } +} +``` + + +Или использование собственного значения DPI напрямую: +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; + + // Сжимает изображение до 150 DPI (веб разрешение), удаляя обрезанные области + bool result = picFrame.PictureFormat.CompressImage(true, 150f); +} +``` + + +{{% alert title="NOTE" color="warning" %}} + +Метод преобразует изображение к более низкому разрешению на основе размера фигуры и заданного DPI. Обрезанные области также могут быть удалены для оптимизации размера файла. +Если изображение является метафайлом (WMF/EMF) или SVG, сжатие не применяется. Кроме того, качество JPEG сохраняется или слегка снижается в зависимости от разрешения, аналогично тому, как PowerPoint обрабатывает JPEG с высоким разрешением. + +{{% /alert %}} + +## **Блокировка соотношения сторон** + +Если требуется, чтобы фигура, содержащая изображение, сохраняла своё соотношение сторон после изменения размеров изображения, можно использовать свойство [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) для установки параметра *Lock Aspect Ratio*. + +Этот C# код показывает, как заблокировать соотношение сторон фигуры: ```c# using (Presentation pres = new Presentation("pres.pptx")) { ILayoutSlide layout = pres.LayoutSlides.GetByType(SlideLayoutType.Custom); ISlide emptySlide = pres.Slides.AddEmptySlide(layout); - using Image image = Image.FromFile(Path.Combine("image.png")); + + IImage image = Images.FromFile("image.png"); IPPImage presImage = pres.Images.AddImage(image); + image.Dispose(); IPictureFrame pictureFrame = emptySlide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, presImage.Width, presImage.Height, presImage); - // Устанавливает форму для сохранения соотношения сторон при изменении размера + // Устанавливает сохранение соотношения сторон формы при изменении размера pictureFrame.PictureFrameLock.AspectRatioLocked = true; } ``` -{{% alert title="ПРИМЕЧАНИЕ" color="warning" %}} -Этот параметр *Закрепить соотношение сторон* сохраняет только соотношение сторон фигуры, а не изображения, которое она содержит. +{{% alert title="NOTE" color="warning" %}} -{{% /alert %}} +Параметр *Lock Aspect Ratio* сохраняет только соотношение сторон фигуры, а не изображения, которое она содержит. -## **Используйте свойство StretchOff** +{{% /alert %}} -Используя свойства [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft), [StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop), [StretchOffsetRight](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) и [StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) интерфейса [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) и класса [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat), вы можете задать заполнение прямоугольника. +## **Использование свойства StretchOff** -Когда для изображения установлено масштабирование, исходный прямоугольник масштабируется, чтобы соответствовать указанному прямоугольнику заполнения. Каждый край прямоугольника заполнения определяется процентным смещением от соответствующего края ограничивающей рамки фигуры. Положительный процент указывает на внутреннее смещение, а отрицательный процент — на внешнее смещение. +Используя свойства [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft), [StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop), [StretchOffsetRight](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) и [StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) из интерфейса [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) и класса [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat) вы можете задать прямоугольник заполнения. -1. Создайте экземпляр класса [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/). -2. Получите ссылку на слайд по индексу. -3. Добавьте прямоугольник `AutoShape`. -4. Создайте изображение. -5. Установите тип заливки фигуры. -6. Установите режим заливки изображения фигуры. -7. Добавьте установленное изображение для заполнения фигуры. -8. Укажите смещения изображения от соответствующего края ограничивающей рамки фигуры. -9. Запишите измененную презентацию в файл PPTX. +При указании растяжения для изображения исходный прямоугольник масштабируется так, чтобы соответствовать заданному прямоугольнику заполнения. Каждая грань прямоугольника заполнения определяется процентным смещением от соответствующей грани ограничивающего прямоугольника фигуры. Положительный процент задаёт внутреннее смещение, а отрицательный — наружное. -Этот код на C# демонстрирует процесс, в котором используется свойство StretchOff: +1. Создайте экземпляр класса [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) class. +2. Получите ссылку на слайд по его индексу. +3. Добавьте прямоугольник `AutoShape`. +4. Создайте изображение. +5. Установите тип заполнения фигуры. +6. Установите режим заполнения фигуры изображением. +7. Добавьте установленное изображение для заполнения фигуры. +8. Задайте смещения изображения от соответствующей грани ограничивающего прямоугольника фигуры. +9. Сохраните изменённую презентацию в файле PPTX. +Этот C# код демонстрирует процесс, в котором используется свойство StretchOff: ```c# using (Presentation pres = new Presentation()) { - IPPImage ppImage; - using (Image bitmap = new Bitmap("image.png")) - { - ppImage = pres.Images.AddImage(bitmap); - } + IImage image = Images.FromFile("image.png"); + IPPImage ppImage = pres.Images.AddImage(image); + image.Dispose(); IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 400, 400, ppImage); - - // Устанавливает изображение, растянутое с каждой стороны в теле фигуры + + // Устанавливает растягивание изображения со всех сторон в теле фигуры pictureFrame.PictureFormat.PictureFillMode = PictureFillMode.Stretch; pictureFrame.PictureFormat.StretchOffsetLeft = 24; pictureFrame.PictureFormat.StretchOffsetRight = 24; pictureFrame.PictureFormat.StretchOffsetTop = 24; pictureFrame.PictureFormat.StretchOffsetBottom = 24; - + pres.Save("imageStretch.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Как узнать, какие форматы изображений поддерживаются для PictureFrame?** + +Aspose.Slides поддерживает как растровые изображения (PNG, JPEG, BMP, GIF и др.), так и векторные (например, SVG) через объект изображения, назначаемый [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/). Список поддерживаемых форматов в целом совпадает с возможностями движка конвертации слайдов и изображений. + +**Как добавление десятков больших изображений скажется на размере и производительности PPTX?** + +Встраивание больших изображений увеличивает размер файла и потребление памяти; связывание изображений через ссылки помогает уменьшить размер презентации, но требует доступности внешних файлов. Aspose.Slides предоставляет возможность добавлять изображения по ссылке для сокращения размера файла. + +**Как заблокировать объект изображения от случайного перемещения/изменения размера?** + +Используйте [блокировки фигур](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/pictureframelock/) для [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) (например, отключите перемещение или изменение размера). Механизм блокировки описан в отдельной статье о защите [protection article](/slides/ru/net/applying-protection-to-presentation/) и поддерживается различными типами фигур, включая [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/). + +**Сохраняется ли точность векторного SVG при экспорте презентации в PDF/изображения?** + +Aspose.Slides позволяет извлекать SVG из [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) как оригинальный вектор. При [экспорте в PDF](/slides/ru/net/convert-powerpoint-to-pdf/) или [растровые форматы](/slides/ru/net/convert-powerpoint-to-png/) результат может быть растровым в зависимости от настроек экспорта; факт хранения оригинального SVG как вектора подтверждается поведением функции извлечения. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/ru/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index b1ea832e02..7791d82668 100644 --- a/ru/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -4,50 +4,49 @@ type: docs weight: 10 url: /ru/net/video-frame/ keywords: "Добавить видео, создать видеокадр, извлечь видео, презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Добавьте видеокадр в презентацию PowerPoint на C# или .NET" +description: "Добавить видеокадр в презентацию PowerPoint на C# или .NET" --- -Правильно размещенное видео в презентации может сделать ваше сообщение более убедительным и повысить уровень вовлеченности вашей аудитории. +Хорошо размещённое видео в презентации может сделать ваше сообщение более убедительным и повысить уровень вовлечённости аудитории. PowerPoint позволяет добавлять видео на слайд в презентации двумя способами: -* Добавить или встроить локальное видео (сохраненное на вашем компьютере) -* Добавить онлайн-видео (из веб-источника, такого как YouTube). +* Добавить или встроить локальное видео (хранящееся на вашем компьютере) +* Добавить онлайн‑видео (из веб‑источника, например YouTube). -Чтобы предоставить возможность добавления видео (видеобъектов) в презентацию, Aspose.Slides предоставляет интерфейс [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/), интерфейс [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) и другие соответствующие типы. +Чтобы добавить видео (объекты видео) в презентацию, Aspose.Slides предоставляет интерфейс [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/), интерфейс [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) и другие соответствующие типы. ## **Создание встроенного видеокадра** -Если файл видео, который вы хотите добавить на свой слайд, хранится локально, вы можете создать видеокадр для встраивания видео в вашу презентацию. +Если видеофайл, который вы хотите добавить на слайд, хранится локально, вы можете создать видеокадр, чтобы встроить видео в вашу презентацию. -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Получите ссылку на слайд через его индекс. -1. Добавьте объект [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) и передайте путь к видеофайлу, чтобы встроить видео в презентацию. -1. Добавьте объект [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/), чтобы создать рамку для видео. -1. Сохраните измененную презентацию. - -Этот код C# показывает, как добавить видео, хранящееся локально, в презентацию: +1. Создайте экземпляр [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)class. +1. Получите ссылку на слайд по его индексу. +1. Добавьте объект [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) и передайте путь к видеофайлу, чтобы встроить видео в презентацию. +1. Добавьте объект [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) для создания кадра видео. +1. Сохраните изменённую презентацию. +Этот код C# показывает, как добавить локально хранимое видео в презентацию: ```c# -// Создает экземпляр класса Presentation -using (Presentation pres = new Presentation("pres.pptx")) -{ - // Загружает видео - using (FileStream fileStream = new FileStream("Wildlife.mp4", FileMode.Open, FileAccess.Read)) - { - IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); - - // Получает первый слайд и добавляет видеокадр - pres.Slides[0].Shapes.AddVideoFrame(10, 10, 150, 250, video); - - // Сохраняет презентацию на диск - pres.Save("pres-with-video.pptx", SaveFormat.Pptx); - } -} + // Создаёт экземпляр класса Presentation + using (Presentation pres = new Presentation("pres.pptx")) + { + // Загружает видео + using (FileStream fileStream = new FileStream("Wildlife.mp4", FileMode.Open, FileAccess.Read)) + { + IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); + + // Получает первый слайд и добавляет видеокадр + pres.Slides[0].Shapes.AddVideoFrame(10, 10, 150, 250, video); + + // Сохраняет презентацию на диск + pres.Save("pres-with-video.pptx", SaveFormat.Pptx); + } + } ``` -В качестве альтернативы вы можете добавить видео, передав его путь к файлу напрямую в метод [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/): -```csharp +В качестве альтернативы вы можете добавить видео, передав путь к файлу напрямую методу [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/): +``` csharp using (Presentation pres = new Presentation()) { ISlide sld = pres.Slides[0]; @@ -55,21 +54,22 @@ using (Presentation pres = new Presentation()) } ``` -## **Создание видеокадра с видео из веб-источника** -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/net/aspose.slides/presentation) -1. Получите ссылку на слайд через его индекс. -1. Добавьте объект [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) и передайте ссылку на видео. -1. Установите миниатюру для видеокадра. -1. Сохраните презентацию. -Этот код C# показывает, как добавить видео из интернета на слайд в презентации PowerPoint: +## **Создание видеокадра с видео из веб‑источника** +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/net/aspose.slides/presentation)class +1. Получите ссылку на слайд по его индексу. +1. Добавьте объект [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) и передайте ссылку на видео. +1. Установите миниатюру для видеокадра. +1. Сохраните презентацию. + +Этот код C# показывает, как добавить видео из веба на слайд в презентации PowerPoint: ```c# public static void Run() { - // Создает экземпляр объекта Presentation, который представляет файл презентации + // Создаёт объект Presentation, представляющий файл презентации using (Presentation pres = new Presentation()) { AddVideoFromYouTube(pres, "Tj75Arhq5ho"); @@ -92,24 +92,24 @@ private static void AddVideoFromYouTube(Presentation pres, string videoId) } ``` -## **Извлечение видео из слайда** -Кроме добавления видео на слайды, Aspose.Slides позволяет извлекать видео, встроенные в презентации. -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), чтобы загрузить презентацию, содержащую видео. -2. Пройдите через все объекты [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). -3. Пройдите через все объекты [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape), чтобы найти [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe). +## **Извлечение видео со слайда** +Помимо добавления видео на слайды, Aspose.Slides позволяет извлекать встроенные в презентацию видео. + +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) для загрузки презентации, содержащей видео. +2. Переберите все объекты [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide). +3. Переберите все объекты [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape), чтобы найти [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe). 4. Сохраните видео на диск. Этот код C# показывает, как извлечь видео со слайда презентации: - ```c# -// Создает экземпляр объекта Presentation, который представляет файл презентации +// Создает объект Presentation, представляющий файл презентации Presentation presentation = new Presentation("Video.pptx"); -// Проходит через слайды +// Перебирает слайды foreach (ISlide slide in presentation.Slides) { - // Проходит через фигуры + // Перебирает формы foreach (IShape shape in presentation.Slides[0].Shapes) { // Сохраняет видео на диск, как только найден VideoFrame, содержащий видео @@ -127,4 +127,23 @@ foreach (ISlide slide in presentation.Slides) } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Какие параметры воспроизведения видео можно изменить для VideoFrame?** + +Вы можете управлять [режимом воспроизведения](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playmode/) (авто или по щелчку) и [цикличностью](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playloopmode/). Эти параметры доступны через свойства объекта [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe/). + +**Влияет ли добавление видео на размер файла PPTX?** + +Да. При встраивании локального видео двоичные данные включаются в документ, поэтому размер презентации увеличивается пропорционально размеру файла. При добавлении онлайн‑видео встраиваются только ссылка и миниатюра, поэтому прирост размера меньше. + +**Могу ли я заменить видео в существующем VideoFrame, не изменяя его положение и размер?** + +Да. Вы можете заменить [видеоконтент](https://reference.aspose.com/slides/net/aspose.slides/videoframe/embeddedvideo/) в кадре, сохранив геометрию формы; это распространённый сценарий обновления медиа в уже существующем макете. + +**Можно ли определить тип содержимого (MIME) встроенного видео?** + +Да. Встроенное видео имеет [тип содержимого](https://reference.aspose.com/slides/net/aspose.slides/video/contenttype/), который вы можете прочитать и использовать, например при сохранении его на диск. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-ole/_index.md b/ru/net/developer-guide/presentation-content/manage-ole/_index.md index 4f8e9602c2..db8d5ae5db 100644 --- a/ru/net/developer-guide/presentation-content/manage-ole/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-ole/_index.md @@ -1,309 +1,342 @@ --- -title: Управление OLE +title: Управление OLE в презентациях с использованием C# +linktitle: Управление OLE type: docs weight: 40 url: /ru/net/manage-ole/ -keywords: "Добавить OLE, Добавить объект, Вставить объект, Связывание и встраивание объектов, OLE Object Frame, Вставить OLE, Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET " -description: "Добавьте OLE-объект в презентацию PowerPoint на C# или .NET" +keywords: +- OLE-объект +- Связывание и внедрение объектов +- добавить OLE +- встроить OLE +- добавить объект +- встроить объект +- добавить файл +- встроить файл +- связанный объект +- связанный файл +- изменить OLE +- значок OLE +- заголовок OLE +- извлечь OLE +- извлечь объект +- извлечь файл +- PowerPoint +- презентация +- .NET +- C# +- Aspose.Slides +description: "Оптимизируйте управление OLE-объектами в PowerPoint и файлах OpenDocument с помощью Aspose.Slides для .NET. Встраивайте, обновляйте и экспортируйте OLE-контент без проблем." --- -{{% alert title="Информация" color="info" %}} +{{% alert title="Info" color="info" %}} -OLE (Связывание и встраивание объектов) — это технология Microsoft, которая позволяет размещать данные и объекты, созданные в одном приложении, в другом приложении через связывание или встраивание. +OLE (Object Linking & Embedding) — технология Microsoft, позволяющая размещать данные и объекты, созданные в одном приложении, в другом приложении с помощью связывания или встраивания. -{{% /alert %}} +{{% /alert %}} -Рассмотрим диаграмму, созданную в MS Excel. Эта диаграмма затем размещается внутри слайда PowerPoint. Эта диаграмма Excel считается OLE-объектом. +Рассмотрим диаграмму, созданную в MS Excel. Затем эта диаграмма помещается в слайд PowerPoint. Такая диаграмма Excel считается OLE‑объектом. -- OLE-объект может отображаться в виде значка. В этом случае, когда вы дважды щелкаете значок, диаграмма открывается в связанном приложении (Excel), или вам предлагают выбрать приложение для открытия или редактирования объекта. -- OLE-объект может отображать фактическое содержимое, например, содержимое диаграммы. В этом случае диаграмма активируется в PowerPoint, интерфейс диаграммы загружается, и вы можете изменить данные диаграммы в приложении PowerPoint. +- OLE‑объект может отображаться в виде значка. В этом случае при двойном щелчке по значку диаграмма открывается в связанном приложении (Excel) или появляется запрос выбрать приложение для открытия/редактирования объекта. +- OLE‑объект может показывать своё фактическое содержимое, например содержимое диаграммы. В этом случае диаграмма активируется в PowerPoint, загружается её интерфейс, и вы можете изменять данные диаграммы непосредственно в PowerPoint. -[Aspose.Slides для .NET](https://products.aspose.com/slides/net/) позволяет вставлять OLE-объекты в слайды в качестве OLE Object Frames ([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)). +[Aspose.Slides for .NET](https://products.aspose.com/slides/net/) позволяет вставлять OLE‑объекты на слайды в виде OLE‑объектных фреймов ([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)). -## **Добавление OLE Object Frame в слайды** -Предположим, вы уже создали диаграмму в Microsoft Excel и хотите встроить эту диаграмму в слайд в качестве OLE Object Frame с использованием Aspose.Slides для .NET, вы можете сделать это следующим образом: +## **Добавление OLE‑объектных фреймов на слайды** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на слайд через его индекс. -3. Откройте файл Excel, содержащий объект диаграммы Excel, и сохраните его в `MemoryStream`. -4. Добавьте [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) на слайд, содержащий массив байтов и другую информацию об OLE-объекте. -5. Запишите измененную презентацию в файл PPTX. +Предположим, вы уже создали диаграмму в Microsoft Excel и хотите встроить её в слайд в виде OLE‑объектного фрейма с помощью Aspose.Slides for .NET, вы можете сделать это следующим образом: -В приведенном ниже примере мы добавили диаграмму из файла Excel на слайд в качестве [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) с использованием Aspose.Slides для .NET. -**Примечание**: конструктор [IOleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo) принимает расширение встраиваемого объекта в качестве второго параметра. Это расширение позволяет PowerPoint корректно интерпретировать тип файла и выбрать правильное приложение для открытия этого OLE-объекта. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Получите ссылку на слайд по его индексу. +3. Прочтите файл Excel как массив байтов. +4. Добавьте [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) на слайд, содержащий массив байтов и другую информацию об OLE‑объекте. +5. Запишите изменённую презентацию в файл PPTX. -```csharp -// Создает экземпляр класса Presentation, который представляет файл PPTX -using (Presentation pres = new Presentation()) +В примере ниже мы добавили диаграмму из файла Excel на слайд в виде [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) с помощью Aspose.Slides for .NET. +**Note** что конструктор [OleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides.dom.ole/oleembeddeddatainfo/) принимает расширение внедряемого объекта в качестве второго параметра. Это расширение позволяет PowerPoint корректно определить тип файла и выбрать правильное приложение для открытия данного OLE‑объекта. +```csharp +using (Presentation presentation = new Presentation()) { - // Получает доступ к первому слайду - ISlide sld = pres.Slides[0]; - - // Загружает файл excel в поток - MemoryStream mstream = new MemoryStream(); - using (FileStream fs = new FileStream("book1.xlsx", FileMode.Open, FileAccess.Read)) - { - byte[] buf = new byte[4096]; - - while (true) - { - int bytesRead = fs.Read(buf, 0, buf.Length); - if (bytesRead <= 0) - break; - mstream.Write(buf, 0, bytesRead); - } - } + SizeF slideSize = presentation.SlideSize.Size; + ISlide slide = presentation.Slides[0]; - // Создает объект данных для встраивания - IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(mstream.ToArray(), "xlsx"); + // Подготовьте данные для OLE‑объекта. + byte[] fileData = File.ReadAllBytes("book.xlsx"); + IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(fileData, "xlsx"); - // Добавляет форму Ole Object Frame - IOleObjectFrame oleObjectFrame = sld.Shapes.AddOleObjectFrame(0, 0, pres.SlideSize.Size.Width, - pres.SlideSize.Size.Height, dataInfo); + // Добавьте OLE‑объектный фрейм на слайд. + slide.Shapes.AddOleObjectFrame(0, 0, slideSize.Width, slideSize.Height, dataInfo); - // Записывает файл PPTX на диск - pres.Save("OleEmbed_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -### Добавление Linked OLE Object frames -Aspose.Slides для .NET позволяет добавлять [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) без встраивания данных, а только с ссылкой на файл. -Этот код на C# показывает, как добавить [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) с связанным файлом Excel на слайд: +### **Добавление связанных OLE‑объектных фреймов** +Aspose.Slides for .NET позволяет добавить [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) без встраивания данных, а только со ссылкой на файл. + +Этот код C# показывает, как добавить [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) со связанным файлом Excel на слайд: ```csharp -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - // Получает доступ к первому слайду - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // Добавляет Ole Object Frame с связанным файлом Excel - IOleObjectFrame oleObjectFrame = slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book1.xlsx"); + // Добавьте OLE‑объектный фрейм со связанным файлом Excel. + slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book.xlsx"); - // Записывает файл PPTX на диск - pres.Save("OleLinked_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Доступ к OLE Object Frames** -Если OLE-объект уже встроен в слайд, вы можете легко найти или получить доступ к этому объекту следующим образом: -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +## **Доступ к OLE‑объектным фреймам** + +Если OLE‑объект уже встроен в слайд, вы можете легко найти или получить к нему доступ следующим образом: + +1. Загрузите презентацию с встроенным OLE‑объектом, создав экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Получите ссылку на слайд, используя его индекс. -3. Получите доступ к форме [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). - В нашем примере мы использовали ранее созданный PPTX, на первом слайде которого есть только одна форма. Мы затем *привели* этот объект к [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). Это был желаемый OLE Object Frame, к которому нужно было получить доступ. -4. После доступа к OLE Object Frame вы можете выполнять любые операции с ним. -В приведенном ниже примере доступ к OLE Object Frame (встроенный в слайд объект диаграммы Excel) – и затем его данные файла записываются в файл Excel: +3. Получите форму [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). В нашем примере мы использовали ранее созданный PPTX, на первом слайде которого находится единственная форма. Затем мы *привели* этот объект к типу [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe). Это и был нужный OLE‑объектный фрейм для доступа. +4. После получения доступа к OLE‑объектному фрейму вы можете выполнять любые операции с ним. + +В примере ниже показывается, как получить доступ к OLE‑объектному фрейму (встроенному объекту диаграммы Excel) и к его файловым данным. ```csharp -// Загружает PPTX в объект презентации -using (Presentation pres = new Presentation("AccessingOLEObjectFrame.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - // Получает доступ к первому слайду - ISlide sld = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // Приводит форму к OleObjectFrame - OleObjectFrame oleObjectFrame = sld.Shapes[0] as OleObjectFrame; + // Получите первую форму как OLE‑объектный фрейм. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // Читает OLE-объект и записывает его на диск - if (oleObjectFrame != null) + if (oleFrame != null) { - // Получает встроенные данные файла - byte[] data = oleObjectFrame.EmbeddedData.EmbeddedFileData; - - // Получает расширение встроенного файла - string fileExtention = oleObjectFrame.EmbeddedData.EmbeddedFileExtension; + // Получите данные встроенного файла. + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; - // Создает путь для сохранения извлеченного файла - string extractedPath = "excelFromOLE_out" + fileExtention; + // Получите расширение встроенного файла. + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; - // Сохраняет извлеченные данные - using (FileStream fstr = new FileStream(extractedPath, FileMode.Create, FileAccess.Write)) - { - fstr.Write(data, 0, data.Length); - } + // ... } } ``` -### Доступ к свойствам Linked OLE Object Frames -Aspose.Slides позволяет вам получать доступ к свойствам связанных OLE Object Frame. +### **Доступ к свойствам связанных OLE‑объектных фреймов** -Этот код на C# показывает, как проверить, связан ли OLE-объект, а затем получить путь к связанному файлу: +Aspose.Slides позволяет получать свойства связанных OLE‑объектных фреймов. + +Этот код C# демонстрирует, как проверить, связан ли OLE‑объект, и затем получить путь к связанному файлу: ```csharp -using (Presentation pres = new Presentation("OleLinked.ppt")) -{ - // Получает доступ к первому слайду - ISlide slide = pres.Slides[0]; - - // Получает первую форму как Ole Object Frame - OleObjectFrame oleObjectFrame = slide.Shapes[0] as OleObjectFrame; - - // Проверяет, связан ли Ole Object. - if (oleObjectFrame != null && oleObjectFrame.IsObjectLink) - { - // Печатает полный путь к связанному файлу - Console.WriteLine("Ole Object Frame связан с: " + oleObjectFrame.LinkPathLong); - - // Печатает относительный путь к связанному файлу, если он присутствует. - // Только презентации PPT могут содержать относительный путь. - string relativePath = oleObjectFrame.LinkPathRelative; - if (!string.IsNullOrEmpty(relativePath)) - { - Console.WriteLine("Относительный путь Ole Object Frame: " + oleObjectFrame.LinkPathRelative); - } - } -} -``` -## **Изменение данных OLE Object** - -Если OLE-объект уже встроен в слайд, вы можете легко получить к нему доступ и изменить его данные следующим образом: - -1. Откройте желаемую презентацию с встроенным OLE-объектом, создав экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на слайд через его индекс. -3. Получите доступ к форме [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). - В нашем примере мы использовали ранее созданный PPTX, на первом слайде которого есть одна форма. Мы затем *привели* этот объект к [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). Это был желаемый OLE Object Frame, к которому нужно было получить доступ. -4. После доступа к OLE Object Frame вы можете выполнять любые операции с ним. -5. Создайте объект Workbook и получите доступ к данным OLE. -6. Получите доступ к нужному рабочему листу и измените данные. -7. Сохраните обновленную книгу в потоках. -8. Измените данные OLE-объекта с помощью данных из потока. -В приведенном ниже примере доступ к OLE Object Frame (встроенный в слайд объект диаграммы Excel) – и затем его данные файла изменяются, чтобы изменить данные диаграммы: -```csharp -using (Presentation pres = new Presentation("ChangeOLEObjectData.pptx")) +using (Presentation presentation = new Presentation("sample.ppt")) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - OleObjectFrame ole = null; + // Получите первую форму как OLE-объектный фрейм. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // Перебирает все формы для Ole frame - foreach (IShape shape in slide.Shapes) + // Проверьте, является ли OLE-объект связанным. + if (oleFrame != null && oleFrame.IsObjectLink) { - if (shape is OleObjectFrame) + // Выведите полный путь к связанному файлу. + Console.WriteLine("OLE object frame is linked to: " + oleFrame.LinkPathLong); + + // Выведите относительный путь к связанному файлу, если он присутствует. + // Только презентации PPT могут содержать относительный путь. + if (!string.IsNullOrEmpty(oleFrame.LinkPathRelative)) { - ole = (OleObjectFrame)shape; + Console.WriteLine("OLE object frame relative path: " + oleFrame.LinkPathRelative); } } +} +``` + + +## **Изменение данных OLE‑объекта** + +{{% alert color="primary" %}} + +В этом разделе пример кода ниже использует [Aspose.Cells for .NET](/cells/net/). + +{{% /alert %}} + +Если OLE‑объект уже встроен в слайд, вы можете легко получить к нему доступ и изменить его данные следующим образом: + +1. Загрузите презентацию с встроенным OLE‑объектом, создав экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Получите ссылку на слайд по его индексу. +3. Получите форму [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). В нашем примере мы использовали ранее созданный PPTX, на первом слайде которого одна форма. Затем мы *привели* этот объект к типу [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe). Это был нужный OLE‑объектный фрейм для доступа. +4. После получения доступа к OLE‑объектному фрейму вы можете выполнять любые операции с ним. +5. Создайте объект `Workbook` и получите доступ к OLE‑данным. +6. Получите нужный `Worksheet` и измените данные. +7. Сохраните обновлённый `Workbook` в поток. +8. Измените данные OLE‑объекта из потока. + +В примере ниже OLE‑объектный фрейм (встроенный объект диаграммы Excel) доступен, и его файловые данные изменяются для обновления данных диаграммы. +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + // Получите первую форму как OLE‑объектный фрейм. + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - if (ole != null) + if (oleFrame != null) { - using (MemoryStream msln = new MemoryStream(ole.EmbeddedData.EmbeddedFileData)) + using (MemoryStream oleStream = new MemoryStream(oleFrame.EmbeddedData.EmbeddedFileData)) { - // Читает данные объекта в Workbook - Workbook Wb = new Workbook(msln); + // Прочитайте данные OLE‑объекта как объект Workbook. + Workbook workbook = new Workbook(oleStream); - using (MemoryStream msout = new MemoryStream()) + using (MemoryStream newOleStream = new MemoryStream()) { - // Изменяет данные книги - Wb.Worksheets[0].Cells[0, 4].PutValue("E"); - Wb.Worksheets[0].Cells[1, 4].PutValue(12); - Wb.Worksheets[0].Cells[2, 4].PutValue(14); - Wb.Worksheets[0].Cells[3, 4].PutValue(15); - - OoxmlSaveOptions so1 = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); - Wb.Save(msout, so1); - - // Изменяет данные объекта Ole Frame - IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(msout.ToArray(), ole.EmbeddedData.EmbeddedFileExtension); - ole.SetEmbeddedData(newData); + // Измените данные рабочей книги. + workbook.Worksheets[0].Cells[0, 4].PutValue("E"); + workbook.Worksheets[0].Cells[1, 4].PutValue(12); + workbook.Worksheets[0].Cells[2, 4].PutValue(14); + workbook.Worksheets[0].Cells[3, 4].PutValue(15); + + OoxmlSaveOptions fileOptions = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); + workbook.Save(newOleStream, fileOptions); + + // Измените данные OLE‑фрейма объекта. + IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(newOleStream.ToArray(), oleFrame.EmbeddedData.EmbeddedFileExtension); + oleFrame.SetEmbeddedData(newData); } } } - pres.Save("OleEdit_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Встраивание других типов файлов в слайды** -Помимо диаграмм Excel, Aspose.Slides для .NET позволяет встроить другие типы файлов в слайды. Например, вы можете вставить файлы HTML, PDF и ZIP в качестве объектов на слайде. Когда пользователь дважды щелкает на вставленном объекте, объект автоматически запускается в соответствующей программе, или пользователь перенаправляется для выбора подходящей программы для открытия объекта. -Этот код на C# показывает, как встроить HTML и ZIP в слайд: +## **Встраивание других типов файлов в слайды** -```csharp -using (Presentation pres = new Presentation()) +Помимо диаграмм Excel, Aspose.Slides for .NET позволяет встраивать в слайды другие типы файлов. Например, можно вставлять HTML, PDF и ZIP‑файлы в виде объектов. При двойном щелчке пользователя по вставленному объекту он автоматически открывается в соответствующей программе, либо пользователю предлагается выбрать подходящее приложение для открытия. + +Этот код C# показывает, как встроить HTML и ZIP в слайд: +```c# +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - - byte[] htmlBytes = File.ReadAllBytes("embedOle.html"); - IOleEmbeddedDataInfo dataInfoHtml = new OleEmbeddedDataInfo(htmlBytes, "html"); - IOleObjectFrame oleFrameHtml = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, dataInfoHtml); - oleFrameHtml.IsObjectIcon = true; - - byte[] zipBytes = File.ReadAllBytes("embedOle.zip"); - IOleEmbeddedDataInfo dataInfoZip = new OleEmbeddedDataInfo(zipBytes, "zip"); - IOleObjectFrame oleFrameZip = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, dataInfoZip); - oleFrameZip.IsObjectIcon = true; - - pres.Save("embeddedOle.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + + byte[] htmlData = File.ReadAllBytes("sample.html"); + IOleEmbeddedDataInfo htmlDataInfo = new OleEmbeddedDataInfo(htmlData, "html"); + IOleObjectFrame htmlOleFrame = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, htmlDataInfo); + htmlOleFrame.IsObjectIcon = true; + + byte[] zipData = File.ReadAllBytes("sample.zip"); + IOleEmbeddedDataInfo zipDataInfo = new OleEmbeddedDataInfo(zipData, "zip"); + IOleObjectFrame zipOleFrame = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, zipDataInfo); + zipOleFrame.IsObjectIcon = true; + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Установка типов файлов для встроенных объектов** -При работе с презентациями вам может понадобиться заменить старые OLE-объекты новыми. Или вам может понадобиться заменить неподдерживаемый OLE-объект на поддерживаемый. -Aspose.Slides для .NET позволяет установить тип файла для встроенного объекта. Таким образом, вы можете изменить данные OLE-рамки или ее расширение. +## **Установка типов файлов для встраиваемых объектов** -Этот код на C# показывает, как установить тип файла для встроенного OLE-объекта: +При работе с презентациями может потребоваться заменить старые OLE‑объекты новыми или заменить неподдерживаемый OLE‑объект поддерживаемым. Aspose.Slides for .NET позволяет задать тип файла для встраиваемого объекта, что даёт возможность обновить данные OLE‑фрейма или его расширение. -```csharp -using (Presentation pres = new Presentation("embeddedOle.pptx")) +Этот код C# показывает, как установить тип файла для встраиваемого OLE‑объекта в `zip`: +```c# +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; - Console.WriteLine($"Текущее расширение встроенных данных: {oleObjectFrame.EmbeddedData.EmbeddedFileExtension}"); - - oleObjectFrame.SetEmbeddedData(new OleEmbeddedDataInfo(File.ReadAllBytes("embedOle.zip"), "zip")); - - pres.Save("embeddedChanged.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + + Console.WriteLine($"Current embedded file extension is: {fileExtension}"); + + // Измените тип файла на ZIP. + oleFrame.SetEmbeddedData(new OleEmbeddedDataInfo(fileData, "zip")); + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Установка изображений значков и заголовков для встроенных объектов** -После встраивания OLE-объекта автоматически добавляется предварительный просмотр, состоящий из изображения значка и заголовка. Предварительный просмотр — это то, что пользователи видят перед тем, как получить доступ к OLE-объекту или открыть его. -Если вы хотите использовать конкретное изображение и текст в качестве элементов в предварительном просмотре, вы можете установить изображение значка и заголовок с помощью Aspose.Slides для .NET. +## **Установка изображений и заголовков иконок для встраиваемых объектов** -Этот код на C# показывает, как установить изображение значка и заголовок для встроенного объекта: +После встраивания OLE‑объекта автоматически добавляется превью в виде значка. Это превью видят пользователи до доступа к объекту. Если требуется использовать конкретное изображение и текст в превью, можно задать изображение значка и заголовок с помощью Aspose.Slides for .NET. -```csharp -using (Presentation pres = new Presentation("embeddedOle.pptx")) +Этот код C# показывает, как задать изображение значка и заголовок для встраиваемого объекта: +```c# +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + // Добавьте изображение в ресурсы презентации. + byte[] imageData = File.ReadAllBytes("image.png"); + IPPImage oleImage = presentation.Images.AddImage(imageData); - IPPImage oleImage = pres.Images.AddImage(File.ReadAllBytes("image.png")); - oleObjectFrame.SubstitutePictureTitle = "Мой заголовок"; - oleObjectFrame.SubstitutePictureFormat.Picture.Image = oleImage; - oleObjectFrame.IsObjectIcon = false; + // Установите заголовок и изображение для превью OLE. + oleFrame.SubstitutePictureTitle = "My title"; + oleFrame.SubstitutePictureFormat.Picture.Image = oleImage; + oleFrame.IsObjectIcon = true; - pres.Save("embeddedOle-newImage.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **Извлечение встроенных файлов** -Aspose.Slides для .NET позволяет извлекать файлы, встроенные в слайды в качестве OLE-объектов, следующим образом: -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), который содержит OLE-объект, который вы собираетесь извлечь. -2. Переберите все формы в презентации и получите доступ к форме [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). -3. Получите данные встроенного файла из OLE Object Frame и запишите их на диск. -Этот код на C# показывает, как извлечь файл, встроенный в слайд в качестве OLE-объекта: -```csharp -using (Presentation pres = new Presentation("embeddedOle.pptx")) + +## **Предотвращение изменения размера и перемещения OLE‑объектного фрейма** + +После добавления связанного OLE‑объекта в слайд презентации, при открытии презентации в PowerPoint может появиться сообщение с предложением обновить ссылки. Нажатие кнопки «Update Links» может изменить размер и позицию OLE‑объектного фрейма, так как PowerPoint обновляет данные из связанного OLE‑объекта и обновляет превью. Чтобы предотвратить запрос PowerPoint об обновлении данных объекта, установите свойство `UpdateAutomatic` интерфейса [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/) в `false`: +```cs +oleFrame.UpdateAutomatic = false; +``` + + +## **Извлечение встраиваемых файлов** + +Aspose.Slides for .NET позволяет извлекать файлы, встроенные в слайды в виде OLE‑объектов, следующим образом: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), содержащего OLE‑объекты, которые необходимо извлечь. +2. Пройдитесь по всем формам в презентации и получите доступ к формам [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe). +3. Получите данные встроенных файлов из OLE‑объектных фреймов и запишите их на диск. + +Этот код C# демонстрирует, как извлечь файлы, встроенные в слайд в виде OLE‑объектов: +```c# +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - for (var index = 0; index < slide.Shapes.Count; index++) + for (int index = 0; index < slide.Shapes.Count; index++) { IShape shape = slide.Shapes[index]; - IOleObjectFrame oleFrame = shape as IOleObjectFrame; - + if (oleFrame != null) { - byte[] data = oleFrame.EmbeddedData.EmbeddedFileData; - string extension = oleFrame.EmbeddedData.EmbeddedFileExtension; - - File.WriteAllBytes($"oleFrame{index}{extension}", data); + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + + string filePath = $"OLE_object_{index}{fileExtension}"; + File.WriteAllBytes(filePath, fileData); } } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Будет ли OLE‑контент отрисован при экспорте слайдов в PDF/изображения?** + +Отрисовывается то, что видно на слайде — значок/замещающее изображение (превью). «Живой» OLE‑контент не исполняется во время рендеринга. При необходимости задайте собственное превью‑изображение, чтобы обеспечить ожидаемый вид в экспортированном PDF. + +**Как заблокировать OLE‑объект на слайде, чтобы пользователи не могли перемещать/редактировать его в PowerPoint?** + +Заблокируйте форму: Aspose.Slides предоставляет [блокировки на уровне формы](/slides/ru/net/applying-protection-to-presentation/). Это не шифрование, но эффективно предотвращает случайные изменения и перемещения. + +**Почему связанный объект Excel «прыгает» или меняет размер при открытии презентации?** + +PowerPoint может обновлять превью связанного OLE. Для стабильного вида следуйте рекомендациям из статьи [Working Solution for Worksheet Resizing](/slides/ru/net/working-solution-for-worksheet-resizing/) — либо подгоняйте фрейм под диапазон, либо масштабируйте диапазон под фиксированный фрейм и задайте подходящее замещающее изображение. + +**Сохранятся ли относительные пути для связанных OLE‑объектов в формате PPTX?** + +В PPTX информация о «относительном пути» недоступна — сохраняется только полный путь. Относительные пути встречаются в старом формате PPT. Для переносимости предпочтительнее использовать надёжные абсолютные пути/доступные URI или встраивание. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-text/animated-text/_index.md b/ru/net/developer-guide/presentation-content/manage-text/animated-text/_index.md index 64e66b4588..97459937ca 100644 --- a/ru/net/developer-guide/presentation-content/manage-text/animated-text/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-text/animated-text/_index.md @@ -3,14 +3,13 @@ title: Анимированный текст type: docs weight: 60 url: /ru/net/animated-text/ -keywords: "Анимированный текст, Эффекты анимации, Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Добавьте анимированный текст и эффекты к презентации PowerPoint на C# или .NET" +keywords: "Анимированный текст, Эффекты анимации, Презентация PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Добавьте анимированный текст и эффекты в презентацию PowerPoint на C# или .NET" --- -## Добавление эффектов анимации к абзацам - -Мы добавили метод [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) в классы [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) и [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence). Этот метод позволяет добавлять эффекты анимации к одному абзацу. Этот пример кода показывает, как добавить эффект анимации к одному абзацу: +## **Добавление анимационных эффектов в абзацы** +Мы добавили метод [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) в классы [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) и [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence). Этот метод позволяет добавлять анимационные эффекты к отдельному абзацу. В этом примере кода показано, как добавить анимационный эффект к отдельному абзацу: ```c# using (Presentation presentation = new Presentation(dataDir + "Presentation1.pptx")) { @@ -18,7 +17,7 @@ using (Presentation presentation = new Presentation(dataDir + "Presentation1.ppt IAutoShape autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; - // добавьте эффект анимации "Лететь" к выбранному абзацу + // добавьте анимационный эффект Fly к выбранному абзацу IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(paragraph, EffectType.Fly, EffectSubtype.Left, EffectTriggerType.OnClick); @@ -27,13 +26,10 @@ using (Presentation presentation = new Presentation(dataDir + "Presentation1.ppt ``` +## **Получение анимационных эффектов в абзацах** -## Получение эффектов анимации в абзацах - -Вы можете захотеть узнать эффекты анимации, добавленные к абзацу—например, в одном сценарии вам нужно получить эффекты анимации в абзаце, потому что вы планируете применить эти эффекты к другому абзацу или фигуре. - -Aspose.Slides для .NET позволяет вам получить все эффекты анимации, примененные к абзацам, содержащимся в текстовом фрейме (фигуре). Этот пример кода показывает, как получить эффекты анимации в абзаце: - +Возможно, вам понадобится узнать, какие анимационные эффекты добавлены к абзацу — например, в одной ситуации вы хотите получить анимационные эффекты в абзаце, чтобы применить их к другому абзацу или фигуре. +Aspose.Slides for .NET позволяет получить все анимационные эффекты, применённые к абзацам, содержащимся в текстовом кадре (фигуре). В этом примере кода показано, как получить анимационные эффекты в абзаце: ```c# using (Presentation pres = new Presentation("Test.pptx")) { @@ -45,7 +41,19 @@ using (Presentation pres = new Presentation("Test.pptx")) IEffect[] effects = sequence.GetEffectsByParagraph(paragraph); if (effects.Length > 0) - Console.WriteLine("Абзац \"" + paragraph.Text + "\" имеет эффект " + effects[0].Type + "."); + Console.WriteLine("Paragraph \"" + paragraph.Text + "\" has " + effects[0].Type + " effect."); } } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Чем анимации текста отличаются от переходов слайдов и можно ли их комбинировать?** +Анимации текста управляют поведением объекта во времени на слайде, тогда как [transitions](/slides/ru/net/slide-transition/) управляют тем, как меняются слайды. Они независимы и могут использоваться вместе; порядок воспроизведения определяется временной шкалой анимации и настройками перехода. + +**Сохраняются ли анимации текста при экспорте в PDF или изображения?** +Нет. PDF и растровые изображения являются статичными, поэтому вы увидите единственное состояние слайда без движения. Чтобы сохранить анимацию, используйте экспорт в [video](/slides/ru/net/convert-powerpoint-to-video/) или [HTML](/slides/ru/net/export-to-html5/). + +**Работают ли анимации текста в макетах и шаблоне слайда?** +Эффекты, применённые к объектам макета/шаблона, наследуются слайдами, но их сроки и взаимодействие с анимациями уровня слайда зависят от окончательной последовательности на слайде. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md b/ru/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md index c9a32635b2..b7a638a9b8 100644 --- a/ru/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md @@ -1,125 +1,152 @@ --- -title: Извлечение текста из презентации +title: Продвинутое извлечение текста из презентаций на C# +linktitle: Извлечение текста type: docs weight: 90 url: /ru/net/extract-text-from-presentation/ -keywords: "Извлечение текста из слайда, Извлечение текста из PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Извлечение текста из слайда или презентации PowerPoint на C# или .NET" +keywords: +- извлечение текста +- извлечение текста со слайда +- извлечение текста из презентации +- извлечение текста из PowerPoint +- извлечение текста из PPT +- извлечение текста из PPTX +- извлечение текста из ODP +- C# +- .NET +- Aspose.Slides +description: "Узнайте, как быстро и легко извлекать текст из презентаций PowerPoint с помощью Aspose.Slides для .NET. Следуйте нашему простому пошаговому руководству, чтобы сэкономить время и эффективно получать доступ к содержимому слайдов в ваших приложениях." --- -{{% alert color="primary" %}} +## **Обзор** -Не редкость, когда разработчикам необходимо извлекать текст из презентации. Для этого нужно извлечь текст из всех фигур на всех слайдах в презентации. Эта статья объясняет, как извлекать текст из презентаций Microsoft PowerPoint PPTX с использованием Aspose.Slides. Текст может быть извлечен следующими способами: +Извлечение текста из презентаций — распространённая, но важная задача для разработчиков, работающих с содержимым слайдов. Независимо от того, имеете ли вы дело с файлами Microsoft PowerPoint в формате PPT или PPTX, или с презентациями OpenDocument (ODP), доступ к текстовым данным может быть критически важен для анализа, автоматизации, индексации или миграции контента. -- [Извлечение текста из одного слайда](/slides/ru/net/extracting-text-from-the-presentation/) -- [Извлечение текста с использованием метода GetAllTextBoxes](/slides/ru/net/extracting-text-from-the-presentation/) -- [Классифицированное и быстрое извлечение текста](/slides/ru/net/extracting-text-from-the-presentation/) +В этой статье представлено полное руководство по эффективному извлечению текста из различных форматов презентаций, включая PPT, PPTX и ODP, с использованием Aspose.Slides for .NET. Вы узнаете, как систематически проходить по элементам презентации для точного получения нужного текста. -{{% /alert %}} -## **Извлечение текста из слайда** -Aspose.Slides для .NET предоставляет пространство имен Aspose.Slides.Util, которое включает класс SlideUtil. Этот класс содержит несколько перегруженных статических методов для извлечения всего текста из презентации или слайда. Чтобы извлечь текст из слайда в PPTX-презентации, используйте перегруженный статический метод [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextboxes), предоставленный классом SlideUtil. Этот метод принимает объект Slide в качестве параметра. -При выполнении метод Slide сканирует весь текст со слайда, переданного в качестве параметра, и возвращает массив объектов TextFrame. Это означает, что любое форматирование текста, связанное с текстом, доступно. Следующий фрагмент кода извлекает весь текст с первого слайда презентации: +## **Извлечение текста со слайда** -```c# -//Создаем экземпляр класса Presentation, который представляет файл PPTX -Presentation pptxPresentation = new Presentation("demo.pptx"); +Aspose.Slides for .NET предоставляет пространство имён [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/), которое включает класс [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/). Этот класс содержит несколько перегруженных статических методов для извлечения всего текста из презентации или слайда. Чтобы извлечь текст со слайда в презентации, используйте метод [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextboxes/). Этот метод принимает в качестве параметра объект типа [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/). При выполнении метод сканирует весь слайд на наличие текста и возвращает массив объектов типа [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/), сохраняющих любое форматирование текста. -//Получаем массив объектов ITextFrame из всех слайдов в PPTX -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +Следующий фрагмент кода извлекает весь текст с первого слайда презентации: +```cs +int slideIndex = 0; -//Проходимся по массиву TextFrames -for (int i = 0; i < textFramesPPTX.Length; i++) +// Создайте экземпляр класса Presentation, который представляет файл презентации (PPT, PPTX, ODP и т.д.). +using Presentation presentation = new Presentation("demo.pptx"); + +// Получите ссылку на слайд. +ISlide slide = presentation.Slides[slideIndex]; + +// Получите массив текстовых фреймов со слайда. +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextBoxes(slide); + +// Итерируйтесь по массиву текстовых фреймов. +for (int i = 0; i < textFrames.Length; i++) { - //Проходимся по параграфам в текущем ITextFrame - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) - { - //Проходимся по частям в текущем IParagraph - foreach (IPortion port in para.Portions) - { - //Выводим текст в текущей части - Console.WriteLine(port.Text); - - //Выводим высоту шрифта текста - Console.WriteLine(port.PortionFormat.FontHeight); - - //Выводим название шрифта текста - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } - } + // Итерируйтесь по абзацам в текущем текстовом фрейме. + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // Итерируйтесь по текстовым сегментам в текущем абзаце. + foreach (IPortion portion in paragraph.Portions) + { + // Отобразите текст текущего текстового сегмента. + Console.WriteLine(portion.Text); + + // Отобразите высоту шрифта текста. + Console.WriteLine(portion.PortionFormat.FontHeight); + + // Отобразите название шрифта текста. + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } } ``` - - ## **Извлечение текста из презентации** -Чтобы просканировать текст из всей презентации, используйте статический метод [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextframes), предоставленный классом SlideUtil. Этот метод принимает два параметра: -1. Во-первых, объект Presentation, который представляет PPTX-презентацию, из которой извлекается текст. -1. Во-вторых, логическое значение, определяющее, должен ли основной слайд быть включен при сканировании текста из презентации. - Метод возвращает массив объектов TextFrame, полный информации о форматировании текста. Код ниже сканирует текст и информацию о форматировании из презентации, включая основные слайды. +Чтобы просканировать текст во всей презентации, используйте статический метод [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextframes/) класса [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/). Он принимает два параметра: -```c# -//Создаем экземпляр класса Presentation, который представляет файл PPTX -Presentation pptxPresentation = new Presentation("demo.pptx"); +1. Сначала объект [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/), представляющий презентацию PowerPoint или OpenDocument, из которой будет извлечён текст. +2. Затем значение `Boolean`, указывающее, следует ли включать слайды‑шаблоны при сканировании текста презентации. -//Получаем массив объектов ITextFrame из всех слайдов в PPTX -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +Метод возвращает массив объектов типа [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/), включающий информацию о форматировании текста. Приведённый ниже код сканирует текст и детали форматирования из презентации, включая слайды‑шаблоны. +```cs +// Создайте экземпляр класса Presentation, который представляет файл презентации (PPT, PPTX, ODP и т.д.). +using Presentation presentation = new Presentation("demo.pptx"); -//Проходимся по массиву TextFrames -for (int i = 0; i < textFramesPPTX.Length; i++) +// Получите массив текстовых фреймов со всех слайдов презентации. +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(presentation, true); - //Проходимся по параграфам в текущем ITextFrame - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) +// Итерируйтесь по массиву текстовых фреймов. +for (int i = 0; i < textFrames.Length; i++) +{ + // Итерируйтесь по абзацам в текущем текстовом фрейме. + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // Итерируйтесь по текстовым сегментам в текущем абзаце. + foreach (IPortion portion in paragraph.Portions) + { + // Отобразите текст текущего текстового сегмента. + Console.WriteLine(portion.Text); + + // Отобразите высоту шрифта текста. + Console.WriteLine(portion.PortionFormat.FontHeight); + + // Отобразите название шрифта текста. + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } +} +``` - //Проходимся по частям в текущем IParagraph - foreach (IPortion port in para.Portions) - { - //Выводим текст в текущей части - Console.WriteLine(port.Text); - //Выводим высоту шрифта текста - Console.WriteLine(port.PortionFormat.FontHeight); +## **Категоризированное и быстрое извлечение текста** - //Выводим название шрифта текста - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } +Класс [PresentationFactory](https://reference.aspose.com/slides/net/aspose.slides/presentationfactory/) также предоставляет статические методы для извлечения всего текста из презентаций: +``` cs +IPresentationText GetPresentationText(string file, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode, ILoadOptions options); ``` +Параметр‑перечисление [TextExtractionArrangingMode](https://reference.aspose.com/slides/net/aspose.slides/textextractionarrangingmode/) определяет режим организации результата извлечения текста и может принимать следующие значения: +- `Unarranged` - Исходный текст без учёта его положения на слайде. +- `Arranged` - Текст располагается в том же порядке, что и на слайде. +Режим `Unarranged` можно использовать, когда важна скорость; он быстрее, чем режим `Arranged`. -## **Классифицированное и быстрое извлечение текста** -В класс Presentation добавлен новый статический метод GetPresentationText. У этого метода есть два перегруженных варианта: +[IPresentationText](https://reference.aspose.com/slides/net/aspose.slides/ipresentationtext/) представляет собой необработанный текст, извлечённый из презентации. Он содержит свойство [SlidesText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) из пространства имён [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/), которое возвращает массив объектов типа [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/). Каждый объект представляет текст на соответствующем слайде. Объект типа [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) имеет следующие свойства: -``` csharp -PresentationText GetPresentationText(Stream stream) -PresentationText GetPresentationText(Stream stream, ExtractionMode mode) +- `Text` - Текст внутри фигур слайда. +- `MasterText` - Текст внутри фигур слайда‑шаблона, связанного с этим слайдом. +- `LayoutText` - Текст внутри фигур макетного слайда, связанного с этим слайдом. +- `NotesText` - Текст внутри фигур слайда заметок, связанного с этим слайдом. +- `CommentsText` - Текст внутри комментариев, связанных с этим слайдом. +```cs +IPresentationText text = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); +Console.WriteLine(text.SlidesText[0].Text); +Console.WriteLine(text.SlidesText[0].LayoutText); +Console.WriteLine(text.SlidesText[0].MasterText); +Console.WriteLine(text.SlidesText[0].NotesText); +Console.WriteLine(text.SlidesText[0].CommentsText); ``` -Аргумент enum ExtractionMode указывает режим организации вывода текста и может быть установлен на следующие значения: -Неорганизованный - Сырой текст без учета позиционирования на слайде -Организованный - Текст располагается в том же порядке, что и на слайде -Неорганизованный режим можно использовать, когда скорость критична, он быстрее, чем организованный режим. +## **FAQ** + +**Насколько быстро Aspose.Slides обрабатывает большие презентации при извлечении текста?** -PresentationText представляет собой сырой текст, извлеченный из презентации. Он содержит свойство SlidesText из пространства имен Aspose.Slides.Util, которое возвращает массив объектов ISlideText. Каждый объект представляет текст на соответствующем слайде. У объекта ISlideText есть следующие свойства: +Aspose.Slides оптимизирован для высокой производительности и эффективно обрабатывает даже крупные презентации, что делает его подходящим для сценариев реального времени или массовой обработки. -ISlideText.Text - Текст на фигурах слайда -ISlideText.MasterText - Текст на формах главной страницы для этого слайда -ISlideText.LayoutText - Текст на формах макета для этого слайда -ISlideText.NotesText - Текст на формах заметок для этого слайда +**Может ли Aspose.Slides извлекать текст из таблиц и графиков внутри презентаций?** -Также есть класс SlideText, который реализует интерфейс ISlideText. +Да, Aspose.Slides полностью поддерживает извлечение текста из таблиц, диаграмм и других сложных элементов слайдов, позволяя легко получать и анализировать весь текстовый контент. -Новый API может использоваться следующим образом: +**Нужна ли специальная лицензия Aspose.Slides для извлечения текста из презентаций?** -```c# -IPresentationText text1 = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); -Console.WriteLine(text1.SlidesText[0].Text); -Console.WriteLine(text1.SlidesText[0].LayoutText); -Console.WriteLine(text1.SlidesText[0].MasterText); -Console.WriteLine(text1.SlidesText[0].NotesText); -``` \ No newline at end of file +Вы можете извлекать текст с помощью бесплатной пробной версии Aspose.Slides, однако она имеет определённые ограничения, например, обработку лишь ограниченного количества слайдов. Для неограниченного использования и работы с большими презентациями рекомендуется приобрести полноценную лицензию. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md b/ru/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md index add471cc4b..e2f5124ef1 100644 --- a/ru/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md @@ -1,42 +1,56 @@ --- -title: Управление настройками автоматической подгонки +title: Улучшите свои презентации с помощью AutoFit в C# +linktitle: Управление настройками AutoFit type: docs weight: 30 url: /ru/net/manage-autofit-settings/ -keywords: "Textbox, Автоматическая подгонка, Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Настройка параметров автоматической подгонки для текстового поля в PowerPoint на C# или .NET" +keywords: +- текстовое поле +- автоподгонка +- не автоподгонка +- подгонка текста +- уменьшение текста +- перенос текста +- изменение размера фигуры +- PowerPoint +- презентация +- C# +- .NET +- Aspose.Slides +description: "Узнайте, как управлять настройками AutoFit в Aspose.Slides для .NET, оптимизировать отображение текста в ваших презентациях PowerPoint и OpenDocument и улучшить читаемость контента." --- -По умолчанию, когда вы добавляете текстовое поле, Microsoft PowerPoint использует настройку **Изменить размер фигуры, чтобы исправить текст** для текстового поля — оно автоматически изменяет размер текстового поля, чтобы текст всегда помещался в него. +## **Обзор** -![textbox-in-powerpoint](textbox-in-powerpoint.png) +По умолчанию, когда вы добавляете текстовое поле, Microsoft PowerPoint использует настройку **Resize shape to fit text** — он автоматически изменяет размер текстового поля, чтобы его текст всегда помещался. -* Когда текст в текстовом поле становится длиннее или больше, PowerPoint автоматически увеличивает текстовое поле — увеличивает его высоту — чтобы оно могло содержать больше текста. -* Когда текст в текстовом поле становится короче или меньше, PowerPoint автоматически уменьшает текстовое поле — уменьшает его высоту — чтобы очистить избыточное пространство. +![Текстовое поле в PowerPoint](textbox-in-powerpoint.png) -В PowerPoint есть 4 важных параметра или опции, которые контролируют поведение автоматической подгонки для текстового поля: +* Когда текст в текстовом поле становится длиннее или крупнее, PowerPoint автоматически увеличивает высоту поля, чтобы разместить больше текста. +* Когда текст в текстовом поле становится короче или меньше, PowerPoint автоматически уменьшает высоту поля, освобождая лишнее пространство. -* **Не изменять размер** -* **Уменьшить текст при переполнении** -* **Изменить размер фигуры, чтобы соответствовать тексту** -* **Перенос текста в фигуре.** +В PowerPoint существуют четыре важных параметра, управляющих поведением автоматической подгонки текста в текстовом поле: -![autofit-options-powerpoint](autofit-options-powerpoint.png) +* **Do not Autofit** +* **Shrink text on overflow** +* **Resize shape to fit text** +* **Wrap text in shape** -Aspose.Slides для .NET предлагает аналогичные параметры — некоторые свойства класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) — которые позволяют вам контролировать поведение автоматической подгонки для текстовых полей в презентациях. +![Параметры автоматической подгонки в PowerPoint](autofit-options-powerpoint.png) -## **Изменить размер фигуры, чтобы соответствовать тексту** +Aspose.Slides for .NET предоставляет аналогичные параметры — свойства класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat), позволяющие управлять поведением автоматической подгонки текста в презентациях. -Если вы хотите, чтобы текст в рамке всегда помещался в эту рамку после внесения изменений в текст, вы должны использовать опцию **Изменить размер фигуры, чтобы исправить текст**. Чтобы задать эту настройку, установите свойство [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (из класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) в значение `Shape`. +## **Resize Shape to Fit Text** -![alwaysfit-setting-powerpoint](alwaysfit-setting-powerpoint.png) +Если вы хотите, чтобы текст всегда помещался в поле после внесения изменений, необходимо использовать параметр **Resize shape to fit text**. Чтобы задать эту настройку, установите свойство `AutofitType` класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) в значение `Shape`. -Этот код на C# показывает, как задать, чтобы текст всегда помещался в свою рамку в презентации PowerPoint: +![Resize shape to fit text](alwaysfit-setting-powerpoint.png) +Этот C#‑код демонстрирует, как указать, что текст всегда должен помещаться в своё поле в презентации PowerPoint: ```c# - using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -47,24 +61,24 @@ Aspose.Slides для .NET предлагает аналогичные парам ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Shape; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -Если текст становится длиннее или больше, текстовое поле автоматически изменяет свои размеры (высота увеличивается), чтобы весь текст помещался в него. Если текст становится короче, происходит обратное. -## **Не изменять размер** +Если текст становится длиннее или крупнее, высота текстового поля будет автоматически увеличена, чтобы весь текст уместился. При уменьшении текста произойдёт обратное действие. -Если вы хотите, чтобы текстовое поле или фигура сохраняли свои размеры независимо от внесенных изменений в содержащийся текст, вы должны использовать опцию **Не изменять размер**. Чтобы задать эту настройку, установите свойство [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (из класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) в значение `None`. +## **Do Not Autofit** -![donotautofit-setting-powerpoint](donotautofit-setting-powerpoint.png) +Если требуется, чтобы текстовое поле или фигура сохраняли свои размеры независимо от изменений текста, используйте параметр **Do not Autofit**. Для задания этой настройки установите свойство `AutofitType` класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) в значение `None`. -Этот код на C# показывает, как указать, чтобы текстовое поле всегда сохраняло свои размеры в презентации PowerPoint: +!["Do not Autofit" настройка в PowerPoint](donotautofit-setting-powerpoint.png) +Этот C#‑код показывает, как задать, чтобы текстовое поле сохраняло свои размеры в презентации PowerPoint: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -75,24 +89,24 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.None; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -Когда текст становится слишком длинным для своей рамки, он выходит за пределы. -## **Уменьшить текст при переполнении** +Когда текст становится слишком длинным для поля, он выходит за его пределы. -Если текст становится слишком длинным для своей рамки, с помощью опции **Уменьшить текст при переполнении** вы можете указать, что размер и расстояние текста должны быть уменьшены, чтобы текст помещался в свою рамку. Чтобы задать эту настройку, установите свойство [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) (из класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) в значение `Normal`. +## **Shrink Text on Overflow** -![shrinktextonoverflow-setting-powerpoint](shrinktextonoverflow-setting-powerpoint.png) +Если текст слишком длинный для поля, с помощью параметра **Shrink text on overflow** можно указать, что размер и межсимвольный интервал текста должны уменьшаться, чтобы он поместился. Установите свойство `AutofitType` класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) в значение `Normal`. -Этот код на C# показывает, как указать, что текст должен уменьшаться при переполнении в презентации PowerPoint: +!["Shrink text on overflow" настройка в PowerPoint](shrinktextonoverflow-setting-powerpoint.png) +Этот C#‑код демонстрирует, как указать, что текст должен уменьшаться при переполнении в презентации PowerPoint: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -103,26 +117,24 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Normal; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Информация" color="info" %}} - -Когда используется опция **Уменьшить текст при переполнении**, настройка применяется только тогда, когда текст становится слишком длинным для своей рамки. +{{% alert title="Информация" color="info" %}} +При использовании опции **Shrink text on overflow** настройка применяется только тогда, когда текст становится слишком длинным для своего поля. {{% /alert %}} -## **Перенос текста** +## **Wrap Text** -Если вы хотите, чтобы текст в фигуре переносился внутри этой фигуры, когда текст превышает границы фигуры (только ширина), вы должны использовать параметр **Перенос текста в фигуре**. Чтобы задать эту настройку, вам нужно установить свойство [WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/wraptext) (из класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)) в значение `true`. - -Этот код на C# показывает, как использовать настройку Перенос текста в презентации PowerPoint: +Если необходимо, чтобы текст в фигуре переносился внутри неё, когда он превышает ширину фигуры, используйте параметр **Wrap text in shape**. Для задания этой настройки установите свойство `WrapText` класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) в значение `NullableBool.True`. +Этот C#‑код показывает, как применить настройку переноса текста в презентации PowerPoint: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -133,12 +145,25 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.WrapText = NullableBool.True; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="Примечание" color="warning" %}} -Если вы установите свойство `WrapText` в значение `False` для фигуры, когда текст внутри фигуры становится длиннее ширины фигуры, текст выходит за пределы границ фигуры по одной линии. +{{% alert title="Примечание" color="warning" %}} +Если свойство `WrapText` установить в `NullableBool.False` для фигуры, при превышении текста ширины фигуры он будет выходить за её границы в одну строку. +{{% /alert %}} + +## **FAQ** + +**Влияют ли внутренние отступы текстового кадра на AutoFit?** + +Да. Внутренние отступы (padding) уменьшают доступную область для текста, поэтому AutoFit срабатывает раньше — шрифт уменьшается или фигура изменяется размером раньше. Проверьте и при необходимости поправьте отступы перед настройкой AutoFit. + +**Как AutoFit взаимодействует с ручными и мягкими разрывами строк?** + +Принудительные разрывы остаются на месте, а AutoFit подстраивает размер шрифта и межсимвольный интервал вокруг них. Удаление лишних разрывов часто снижает степень, с которой AutoFit вынужден уменьшать текст. + +**Влияет ли изменение шрифта темы или подстановка шрифта на результаты AutoFit?** -{{% /alert %}} \ No newline at end of file +Да. Замена шрифта на другой с другими метриками глифов меняет ширину/высоту текста, что может изменить итоговый размер шрифта и перенос строк. После любой замены шрифта или подстановки рекомендуется перепроверить слайды. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md b/ru/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md index 10e5bbcc92..b03cef880d 100644 --- a/ru/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md @@ -1,59 +1,58 @@ --- -title: Управление маркерами и нумерованными списками +title: Управление маркированными и нумерованными списками type: docs weight: 70 url: /ru/net/manage-bullet-and-numbered-lists -keywords: "Маркеры, Маркерные списки, Номера, Нумерованные списки, Изображения маркеров, многоуровневые маркеры, Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Создание маркерных и нумерованных списков в презентации PowerPoint на C# или .NET" +keywords: "Марки, Маркированные списки, Номера, Нумерованные списки, Изображения‑маркеры, Многоуровневые маркеры, Презентация PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Создание маркированных и нумерованных списков в презентации PowerPoint на C# или .NET" --- -В **Microsoft PowerPoint** вы можете создавать маркерные и нумерованные списки так же, как и в Word и других текстовых редакторах. **Aspose.Slides для .NET** также позволяет использовать маркеры и числа на слайдах ваших презентаций. +В **Microsoft PowerPoint** вы можете создавать маркированные и нумерованные списки так же, как делаете это в Word и других текстовых редакторах. **Aspose.Slides for .NET** также позволяет использовать маркеры и номера на слайдах ваших презентаций. -### Зачем использовать маркерные списки? +## **Зачем использовать маркированные списки?** -Маркерные списки помогают организовать и представить информацию быстро и эффективно. +Маркированные списки помогают быстро и эффективно организовывать и представлять информацию. -**Пример маркерного списка** +**Пример маркированного списка** -В большинстве случаев маркерный список выполняет эти три основные функции: +В большинстве случаев маркированный список выполняет три основные функции: - привлекает внимание ваших читателей или зрителей к важной информации -- позволяет вашим читателям или зрителям легко находить ключевые моменты -- эффективно передает и доносит важные детали. +- позволяет вашим читателям или зрителям легко просматривать ключевые пункты +- эффективно передаёт и доставляет важные детали. -### Зачем использовать нумерованные списки? +## **Зачем использовать нумерованные списки?** -Нумерованные списки также помогают в организации и представлении информации. В идеале вы должны использовать номера (вместо маркеров), когда порядок записей (например, *шаг 1, шаг 2* и т.д.) важен или когда запись должна быть упомянута (например, *см. шаг 3*). +Нумерованные списки также помогают в организации и представлении информации. Желательно использовать числа (вместо маркеров), когда порядок пунктов (например, *шаг 1, шаг 2* и т.д.) имеет значение или когда нужно ссылаться на пункт (например, *см. шаг 3*). **Пример нумерованного списка** -Это резюме шагов (от шага 1 до шага 15) в процедуре **Создание маркеров** ниже: +Это сводка шагов (шаг 1 до шага 15) в процедуре **Создание маркеров** ниже: -1. Создайте экземпляр класса презентации. -2. Выполните несколько задач (от шага 3 до шага 14). -3. Сохраните презентацию. +1. Создайте экземпляр класса презентации. +2. Выполните несколько задач (шаг 3 до шага 14). +3. Сохраните презентацию. -## Создание маркеров +## **Создание маркеров** -Чтобы создать маркерный список, выполните следующие шаги: +Чтобы создать маркированный список, выполните следующие шаги: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите доступ к слайду (на который вы хотите добавить маркерный список) в коллекции слайдов через объект [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). +2. Получите доступ к слайду (в котором вы хотите добавить маркированный список) в коллекции слайдов через объект [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). 3. Добавьте [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) на выбранный слайд. 4. Получите доступ к [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) добавленной фигуры. -5. Удалите параграф по умолчанию в [TextFrame](). -6. Создайте экземпляр первого параграфа с использованием класса [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). -8. Установите тип маркера на Символ, а затем установите символ маркера. -9. Установите текст параграфа. -10. Установите отступ параграфа, чтобы задать маркер. +5. Удалите абзац по умолчанию в [TextFrame](). +6. Создайте первый экземпляр абзаца, используя класс [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). +8. Установите тип маркера как Symbol, затем задайте символ маркера. +9. Установите текст абзаца. +10. Установите отступ абзаца, чтобы задать маркер. 11. Установите цвет маркера. 12. Установите высоту маркера. -13. Добавьте созданный параграф в коллекцию параграфов [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -14. Добавьте второй параграф и повторите шаги 7-12. +13. Добавьте созданный абзац в коллекцию абзацев [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +14. Добавьте второй абзац и повторите шаги 7‑12. 15. Сохраните презентацию. -Этот пример кода на C# — это реализация вышеупомянутых шагов, которая показывает, как создать маркерный список на слайде: - +Этот пример кода на C# — реализация вышеуказанных шагов — показывает, как создать маркированный список на слайде: ```c# using (Presentation pres = new Presentation()) { @@ -69,7 +68,7 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; paragraph.ParagraphFormat.Bullet.Color.Color = Color.Red; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "Мой текст"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); @@ -79,38 +78,38 @@ using (Presentation pres = new Presentation()) } ``` -## Создание изображений маркеров -Aspose.Slides для .NET позволяет вам изменять маркеры на маркерных списках. Вы можете заменить маркеры на пользовательские символы или изображения. Если вы хотите добавить визуальный интерес к списку или привлечь еще больше внимания к записям в списке, вы можете использовать изображение в качестве маркера. +## **Создание изображений‑маркеров** + +Aspose.Slides for .NET позволяет изменять маркеры в маркированных списках. Вы можете заменять маркеры пользовательскими символами или изображениями. Если вы хотите добавить визуальный интерес к списку или привлечь ещё больше внимания к пунктам списка, вы можете использовать собственное изображение в качестве маркера. - {{% alert color="primary" %}} +{{% alert color="primary" %}} -В идеале, если вы собираетесь заменить обычный символ маркера на изображение, вам стоит выбрать простое графическое изображение с прозрачным фоном. Такие изображения лучше всего работают в качестве пользовательских символов маркеров. +В идеале, если вы планируете заменить обычный символ маркера картинкой, вам стоит выбрать простое графическое изображение с прозрачным фоном. Такие изображения лучше всего подходят в качестве пользовательских символов маркеров. -В любом случае, выбранное вами изображение будет уменьшено до очень маленького размера, поэтому мы настоятельно рекомендуем выбирать изображение, которое хорошо выглядит (в качестве замены символа маркера) в списке. +В любом случае выбранное изображение будет уменьшено до очень небольшого размера, поэтому мы настоятельно рекомендуем подобрать изображение, которое хорошо выглядит (в качестве замены символу маркера) в списке. {{% /alert %}} -Чтобы создать изображение маркера, выполните следующие шаги: +Чтобы создать изображение‑маркер, выполните следующие шаги: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Получите доступ к нужному слайду в коллекции слайдов, используя объект [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). 3. Добавьте [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) на выбранный слайд. 4. Получите доступ к [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) добавленной фигуры. -5. Удалите параграф по умолчанию в [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. Создайте экземпляр первого параграфа с использованием класса [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). -7. Загрузите изображение с диска и добавьте его в [Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images), а затем используйте экземпляр [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), который был возвращен из метода [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index). -8. Установите тип маркера на Изображение, а затем установите изображение. -9. Установите текст параграфа. -10. Установите отступ параграфа, чтобы задать маркер. +5. Удалите абзац по умолчанию в [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +6. Создайте первый экземпляр абзаца, используя класс [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph). +7. Загрузите изображение с диска и добавьте его в [Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images), затем используйте экземпляр [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), который был возвращён методом [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index). +8. Установите тип маркера как Picture, затем задайте изображение. +9. Установите текст абзаца. +10. Установите отступ абзаца, чтобы задать маркер. 11. Установите цвет маркера. 12. Установите высоту маркеров. -13. Добавьте созданный параграф в коллекцию параграфов [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -14. Добавьте второй параграф и повторите шаги 7-13. +13. Добавьте созданный абзац в коллекцию абзацев [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +14. Добавьте второй абзац и повторите шаги 7‑13. 15. Сохраните презентацию. - Этот код на C# показывает вам, как создать изображение маркера на слайде: - +Этот пример кода на C# показывает, как создать изображение‑маркер в слайде: ```c# using (Presentation pres = new Presentation()) { @@ -126,7 +125,7 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.Picture.Image = image; paragraph.ParagraphFormat.Indent = 15; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "Мой текст"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); @@ -136,24 +135,23 @@ using (Presentation pres = new Presentation()) } ``` -## Создание многоуровневых маркеров -Чтобы создать маркерный список, который содержит элементы на разных уровнях — дополнительные списки под основным маркерным списком — выполните следующие шаги: +## **Создание многоуровневых маркеров** + +Чтобы создать маркированный список, содержащий элементы разных уровней — дополнительные списки под основным — выполните следующие шаги: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Получите доступ к нужному слайду в коллекции слайдов, используя объект [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index). 3. Добавьте [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape) на выбранный слайд. 4. Получите доступ к [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) добавленной фигуры. -5. Удалите параграф по умолчанию в [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). -6. Создайте экземпляр первого параграфа с использованием класса [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) и установите глубину на 0. -7. Создайте экземпляр второго параграфа с использованием класса Paragraph и установите глубину на 1. -8. Создайте экземпляр третьего параграфа с использованием класса Paragraph и установите глубину на 2. -9. Создайте экземпляр четвертого параграфа с использованием класса Paragraph и установите глубину на 3. -10. Добавьте созданные параграфы в коллекцию параграфов [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +5. Удалите абзац по умолчанию в [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe). +6. Создайте первый экземпляр абзаца, используя класс [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) и задав глубину 0. +7. Создайте второй экземпляр абзаца, используя класс Paragraph и задав глубину 1. +8. Создайте третий экземпляр абзаца, используя класс Paragraph и задав глубину 2. +9. Создайте четвёртый экземпляр абзаца, используя класс Paragraph и задав глубину 3. +10. Добавьте созданные абзацы в коллекцию абзацев [TextFrame]. 11. Сохраните презентацию. -Этот код, который является реализацией вышеупомянутых шагов, показывает вам, как создать многоуровневый маркерный список на C#: - ```c# using (Presentation pres = new Presentation()) { @@ -164,32 +162,32 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Depth = 0; - paragraph.Text = "Мой текст Глубина 0"; + paragraph.Text = "My text Depth 0"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); paragraph2.ParagraphFormat.Depth = 0; - paragraph2.Text = "Мой текст Глубина 1"; + paragraph2.Text = "My text Depth 1"; textFrame.Paragraphs.Add(paragraph2); Paragraph paragraph3 = new Paragraph(); paragraph3.ParagraphFormat.Depth = 2; - paragraph3.Text = "Мой текст Глубина 2"; + paragraph3.Text = "My text Depth 2"; textFrame.Paragraphs.Add(paragraph3); Paragraph paragraph4 = new Paragraph(); paragraph4.ParagraphFormat.Depth = 3; - paragraph4.Text = "Мой текст Глубина 3"; + paragraph4.Text = "My text Depth 3"; textFrame.Paragraphs.Add(paragraph4); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## Создание чисел - Этот код на C# показывает вам, как создать нумерованный список на слайде: +## **Создание нумерации** +Этот пример кода на C# показывает, как создать нумерованный список на слайде: ```c# using (Presentation pres = new Presentation()) { @@ -200,16 +198,31 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph.Text = "Мой текст 1"; + paragraph.Text = "My text 1"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph2.Text = "Мой текст 2"; + paragraph2.Text = "My text 2"; textFrame.Paragraphs.Add(paragraph2); // ... pres.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Можно ли экспортировать маркированные и нумерованные списки, созданные с помощью Aspose.Slides, в другие форматы, такие как PDF или изображения?** + +Да, Aspose.Slides полностью сохраняет форматирование и структуру маркированных и нумерованных списков при экспорте презентаций в такие форматы, как PDF, изображения и другие, обеспечивая согласованные результаты. + +**Можно ли импортировать маркированные или нумерованные списки из существующих презентаций?** + +Да, Aspose.Slides позволяет импортировать и редактировать маркированные или нумерованные списки из существующих презентаций, сохраняя их исходное форматирование и внешний вид. + +**Поддерживает ли Aspose.Slides маркированные и нумерованные списки в презентациях, созданных на разных языках?** + +Да, Aspose.Slides полностью поддерживает многоязычные презентации, позволяя создавать маркированные и нумерованные списки на любом языке, включая использование специальных или нелатинских символов. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md b/ru/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md index f858731c3f..07c79d2a84 100644 --- a/ru/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md @@ -3,34 +3,50 @@ title: Управление абзацами PowerPoint в C# type: docs weight: 40 url: /ru/net/manage-paragraph/ -keywords: "Добавить абзац PowerPoint, Управлять абзацами, Отступ абзаца, Свойства абзаца, HTML текст, Экспорт текста абзаца, Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Создавать и управлять абзацем, текстом, отступами и свойствами в презентациях PowerPoint на C# или .NET" +keywords: +- добавить текст +- добавить абзацы +- управлять текстом +- управлять абзацами +- отступ абзаца +- маркер абзаца +- нумерованный список +- свойства абзаца +- импорт HTML +- преобразование текста в HTML +- преобразование абзаца в HTML +- преобразование абзацев в изображения +- экспортировать абзацы +- презентация PowerPoint +- C# +- Csharp +- Aspose.Slides для .NET +description: "Создавайте абзацы и управляйте свойствами абзацев в презентациях PowerPoint на C# или .NET" --- -Aspose.Slides предоставляет все интерфейсы и классы, необходимые для работы с текстами, абзацами и частями PowerPoint на C#. +Aspose.Slides предоставляет все интерфейсы и классы, необходимые для работы с текстами, абзацами и сегментами PowerPoint в C#. -* Aspose.Slides предоставляет интерфейс [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/), который позволяет добавлять объекты, представляющие абзацы. Объект `ITextFrame` может содержать один или несколько абзацев (каждый абзац создается через возврат каретки). -* Aspose.Slides предоставляет интерфейс [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/), который позволяет добавлять объекты, представляющие части. Объект `IParagraph` может содержать один или несколько частей (коллекция объектов iPortions). -* Aspose.Slides предоставляет интерфейс [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/), который позволяет добавлять объекты, представляющие тексты и их свойства форматирования. +* Aspose.Slides предоставляет интерфейс [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/), позволяющий добавлять объекты, представляющие абзац. Объект `ITextFame` может содержать один или несколько абзацев (каждый абзац создаётся с помощью перевода строки). +* Aspose.Slides предоставляет интерфейс [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/), позволяющий добавлять объекты, представляющие сегменты. Объект `IParagraph` может содержать один или несколько сегментов (коллекция объектов iPortions). +* Aspose.Slides предоставляет интерфейс [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/), позволяющий добавлять объекты, представляющие текст и его свойства форматирования. -Объект `IParagraph` способен обрабатывать тексты с разными свойствами форматирования через свои базовые объекты `IPortion`. +Объект `IParagraph` способен обрабатывать тексты с различными свойствами форматирования через вложенные объекты `IPortion`. -## **Добавление нескольких абзацев, содержащих несколько частей** +## **Добавление нескольких абзацев, содержащих несколько сегментов** -Эти шаги показывают, как добавить текстовый фрейм, содержащий 3 абзаца, каждый из которых содержит 3 части: +Эти шаги показывают, как добавить текстовый фрейм, содержащий 3 абзаца, каждый из которых содержит 3 сегмента: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на соответствующий слайд через его индекс. -3. Добавьте прямоугольник [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) на слайд. +2. Получите ссылку на нужный слайд по его индексу. +3. Добавьте прямоугольный [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) на слайд. 4. Получите ITextFrame, связанный с [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). 5. Создайте два объекта [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) и добавьте их в коллекцию `IParagraphs` [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). -6. Создайте три объекта [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) для каждого нового `IParagraph` (два объекта Portion для абзаца по умолчанию) и добавьте каждый объект `IPortion` в коллекцию IPortion каждого `IParagraph`. -7. Установите некоторый текст для каждой части. -8. Примените ваши предпочитаемые функции форматирования к каждой части, используя свойства форматирования, предоставленные объектом `IPortion`. -9. Сохраните измененную презентацию. - -Этот код на C# реализует шаги по добавлению абзацев, содержащих части: +6. Создайте три объекта [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) для каждого нового `IParagraph` (два объекта Portion для абзаца по умолчанию) и добавьте каждый `IPortion` в коллекцию IPortion соответствующего `IParagraph`. +7. Установите некоторый текст для каждого сегмента. +8. Примените желаемые свойства форматирования к каждому сегменту, используя свойства форматирования, доступные в объекте `IPortion`. +9. Сохраните изменённую презентацию. +Этот код C# реализует шаги по добавлению абзацев, содержащих сегменты: ```c# // Создает экземпляр класса Presentation, представляющего файл PPTX using (Presentation pres = new Presentation()) @@ -38,13 +54,13 @@ using (Presentation pres = new Presentation()) // Получает первый слайд ISlide slide = pres.Slides[0]; - // Добавляет прямоугольник IAutoShape + // Добавляет IAutoShape прямоугольной формы IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 150, 300, 150); - // Получает текстовый фрейм AutoShape + // Получает TextFrame автоконтрола ITextFrame tf = ashp.TextFrame; - // Создает абзацы и части с разными форматами текста + // Создает абзацы и сегменты с разными форматами текста IParagraph para0 = tf.Paragraphs[0]; IPortion port01 = new Portion(); IPortion port02 = new Portion(); @@ -88,31 +104,32 @@ using (Presentation pres = new Presentation()) tf.Paragraphs[i].Portions[j].PortionFormat.FontHeight = 18; } } - // Сохраняет измененную презентацию + // Сохраняет изменённую презентацию pres.Save("multiParaPort_out.pptx", SaveFormat.Pptx); + } ``` -## **Управление маркерами абзацев** -Списки с маркерами помогают организовать и представить информацию быстро и эффективно. Абзацы с маркерами всегда легче читать и понимать. + +## **Управление маркерами абзаца** +Маркированные списки помогают быстро и эффективно организовать и представить информацию. Маркированные абзацы всегда легче читаются и понимаются. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на соответствующий слайд через его индекс. -3. Добавьте [автофигуру](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) на выбранный слайд. -4. Получите [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) автофигуры. +2. Получите ссылку на нужный слайд по его индексу. +3. Добавьте [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) на выбранный слайд. +4. Получите [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) autoshape. 5. Удалите абзац по умолчанию в `TextFrame`. -6. Создайте первый экземпляр абзаца с использованием класса [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). -8. Установите `Type` маркера для абзаца на `Symbol` и задайте символ маркера. +6. Создайте первый экземпляр абзаца с помощью класса [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). +8. Установите для абзаца тип маркера `Type` в `Symbol` и задайте символ маркера. 9. Установите текст абзаца. 10. Установите отступ `Indent` для маркера. -11. Установите цвет для маркера. +11. Задайте цвет маркера. 12. Установите высоту маркера. 13. Добавьте новый абзац в коллекцию абзацев `TextFrame`. 14. Добавьте второй абзац и повторите процесс, описанный в шагах 7–13. 15. Сохраните презентацию. -Этот код на C# показывает, как добавить маркер абзаца: - +Этот код C# показывает, как добавить маркер абзаца: ```c# // Создает экземпляр класса Presentation, представляющего файл PPTX using (Presentation pres = new Presentation()) @@ -122,10 +139,10 @@ using (Presentation pres = new Presentation()) ISlide slide = pres.Slides[0]; - // Добавляет и получает автофигуру + // Добавляет и получает автошейп IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // Получает текстовой фрейм автофигуры + // Получает текстовый фрейм автошейпа ITextFrame txtFrm = aShp.TextFrame; // Удаляет абзац по умолчанию @@ -134,12 +151,12 @@ using (Presentation pres = new Presentation()) // Создает абзац Paragraph para = new Paragraph(); - // Устанавливает стиль и символ маркера абзаца + // Устанавливает стиль маркера абзаца и символ para.ParagraphFormat.Bullet.Type = BulletType.Symbol; para.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); // Устанавливает текст абзаца - para.Text = "Добро пожаловать в Aspose.Slides"; + para.Text = "Welcome to Aspose.Slides"; // Устанавливает отступ маркера para.ParagraphFormat.Indent = 25; @@ -147,12 +164,12 @@ using (Presentation pres = new Presentation()) // Устанавливает цвет маркера para.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; para.ParagraphFormat.Bullet.Color.Color = Color.Black; - para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // устанавливает IsBulletHardColor в true, чтобы использовать свой цвет маркера + para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // устанавливает IsBulletHardColor в true, чтобы использовать собственный цвет маркера // Устанавливает высоту маркера para.ParagraphFormat.Bullet.Height = 100; - // Добавляет абзац в текстовой фрейм + // Добавляет абзац в текстовый фрейм txtFrm.Paragraphs.Add(para); // Создает второй абзац @@ -163,19 +180,19 @@ using (Presentation pres = new Presentation()) para2.ParagraphFormat.Bullet.NumberedBulletStyle = NumberedBulletStyle.BulletCircleNumWDBlackPlain; // Добавляет текст абзаца - para2.Text = "Это нумерованный маркер"; + para2.Text = "This is numbered bullet"; // Устанавливает отступ маркера para2.ParagraphFormat.Indent = 25; para2.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; para2.ParagraphFormat.Bullet.Color.Color = Color.Black; - para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // устанавливает IsBulletHardColor в true, чтобы использовать свой цвет маркера + para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // устанавливает IsBulletHardColor в true, чтобы использовать собственный цвет маркера // Устанавливает высоту маркера para2.ParagraphFormat.Bullet.Height = 100; - // Добавляет абзац в текстовой фрейм + // Добавляет абзац в текстовый фрейм txtFrm.Paragraphs.Add(para2); @@ -185,27 +202,27 @@ using (Presentation pres = new Presentation()) } ``` -## **Управление графическими маркерами** -Списки с маркерами помогают организовать и представить информацию быстро и эффективно. Графические абзацы легко читать и понимать. + +## **Управление маркерами‑картинками** +Маркированные списки помогают быстро и эффективно организовать и представить информацию. Абзацы с изображениями легко читаются и понимаются. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на соответствующий слайд через его индекс. -3. Добавьте [автофигуру](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) на слайд. -4. Получите [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) автофигуры. +2. Получите ссылку на нужный слайд по его индексу. +3. Добавьте [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) на слайд. +4. Получите [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) autoshape. 5. Удалите абзац по умолчанию в `TextFrame`. -6. Создайте первый экземпляр абзаца с использованием класса [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). +6. Создайте первый экземпляр абзаца с помощью класса [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). 7. Загрузите изображение в [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/). -8. Установите тип маркера на [Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) и установите изображение. -9. Установите текст абзаца. -10. Установите отступ абзаца для маркера. -11. Установите цвет для маркера. -12. Установите высоту для маркера. +8. Установите тип маркера в [Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) и задайте изображение. +9. Установите текст абзаца `Text`. +10. Установите отступ `Indent` для маркера. +11. Задайте цвет маркера. +12. Установите высоту маркера. 13. Добавьте новый абзац в коллекцию абзацев `TextFrame`. 14. Добавьте второй абзац и повторите процесс, основываясь на предыдущих шагах. -15. Сохраните измененную презентацию. - -Этот код на C# показывает, как добавить и управлять графическими маркерами: +15. Сохраните изменённую презентацию. +Этот код C# показывает, как добавить и управлять маркерами‑картинками: ```c# // Создает экземпляр класса Presentation, представляющего файл PPTX Presentation presentation = new Presentation(); @@ -214,13 +231,14 @@ Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; // Создает изображение для маркеров -Image image = new Bitmap("bullets.png"); +IImage image = Images.FromFile("bullets.png"); IPPImage ippxImage = presentation.Images.AddImage(image); +image.Dispose(); -// Добавляет и получает автозаглавную фигуру +// Добавляет и получает автошейп IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); -// Получает текстовой фрейм автофигуры +// Получает текстовый фрейм автошейпа ITextFrame textFrame = autoShape.TextFrame; // Удаляет абзац по умолчанию @@ -228,16 +246,16 @@ textFrame.Paragraphs.RemoveAt(0); // Создает новый абзац Paragraph paragraph = new Paragraph(); -paragraph.Text = "Добро пожаловать в Aspose.Slides"; +paragraph.Text = "Welcome to Aspose.Slides"; -// Устанавливает стиль и изображение маркера абзаца +// Устанавливает стиль маркера абзаца и изображение paragraph.ParagraphFormat.Bullet.Type = BulletType.Picture; paragraph.ParagraphFormat.Bullet.Picture.Image = ippxImage; // Устанавливает высоту маркера paragraph.ParagraphFormat.Bullet.Height = 100; -// Добавляет абзац в текстовой фрейм +// Добавляет абзац в текстовый фрейм textFrame.Paragraphs.Add(paragraph); // Сохраняет презентацию как файл PPTX @@ -247,23 +265,23 @@ presentation.Save("ParagraphPictureBulletsPPTX_out.pptx", SaveFormat.Pptx); presentation.Save("ParagraphPictureBulletsPPT_out.ppt", SaveFormat.Ppt); ``` + ## **Управление многоуровневыми маркерами** -Списки с маркерами помогают организовать и представить информацию быстро и эффективно. Многоуровневые маркеры легко читать и понимать. +Маркированные списки помогают быстро и эффективно организовать и представить информацию. Многоуровневые маркеры легко читаются и понимаются. -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на соответствующий слайд через его индекс. -3. Добавьте [автофигуру](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) на новый слайд. -4. Получите [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) автофигуры. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)class. +2. Получите ссылку на нужный слайд по его индексу. +3. Добавьте [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) в новый слайд. +4. Получите [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) autoshape. 5. Удалите абзац по умолчанию в `TextFrame`. -6. Создайте первый экземпляр абзаца через класс [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) и установите уровень на 0. -7. Создайте второй экземпляр абзаца через класс `Paragraph` и установите уровень на 1. -8. Создайте третий экземпляр абзаца через класс `Paragraph` и установите уровень на 2. -9. Создайте четвертый экземпляр абзаца через класс `Paragraph` и установите уровень на 3. +6. Создайте первый экземпляр абзаца через класс [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) и задайте глубину 0. +7. Создайте второй экземпляр абзаца через класс `Paragraph` и задайте глубину 1. +8. Создайте третий экземпляр абзаца через класс `Paragraph` и задайте глубину 2. +9. Создайте четвёртый экземпляр абзаца через класс `Paragraph` и задайте глубину 3. 10. Добавьте новые абзацы в коллекцию абзацев `TextFrame`. -11. Сохраните измененную презентацию. - -Этот код на C# показывает, как добавить и управлять многоуровневыми маркерами: +11. Сохраните изменённую презентацию. +Этот код C# показывает, как добавить и управлять многоуровневыми маркерами: ```c# // Создает экземпляр класса Presentation, представляющего файл PPTX using (Presentation pres = new Presentation()) @@ -272,10 +290,10 @@ using (Presentation pres = new Presentation()) // Получает первый слайд ISlide slide = pres.Slides[0]; - // Добавляет и получает автофигуру + // Добавляет и получает автошейп IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // Получает текстовой фрейм созданной автофигуры + // Получает текстовый фрейм созданного автошейпа ITextFrame text = aShp.AddTextFrame(""); // Очищает абзац по умолчанию @@ -283,7 +301,7 @@ using (Presentation pres = new Presentation()) // Добавляет первый абзац IParagraph para1 = new Paragraph(); - para1.Text = "Содержимое"; + para1.Text = "Content"; para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; @@ -293,7 +311,7 @@ using (Presentation pres = new Presentation()) // Добавляет второй абзац IParagraph para2 = new Paragraph(); - para2.Text = "Второй уровень"; + para2.Text = "Second Level"; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = '-'; para2.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; @@ -303,7 +321,7 @@ using (Presentation pres = new Presentation()) // Добавляет третий абзац IParagraph para3 = new Paragraph(); - para3.Text = "Третий уровень"; + para3.Text = "Third Level"; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para3.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; @@ -313,7 +331,7 @@ using (Presentation pres = new Presentation()) // Добавляет четвертый абзац IParagraph para4 = new Paragraph(); - para4.Text = "Четвертый уровень"; + para4.Text = "Fourth Level"; para4.ParagraphFormat.Bullet.Type = BulletType.Symbol; para4.ParagraphFormat.Bullet.Char = '-'; para4.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; @@ -327,53 +345,53 @@ using (Presentation pres = new Presentation()) text.Paragraphs.Add(para3); text.Paragraphs.Add(para4); - // Сохраняет презентацию как файл PPTX + // Сохраняет презентацию в файл PPTX pres.Save("MultilevelBullet.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **Управление абзацем с пользовательским нумерованным списком** -Интерфейс [IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) предоставляет свойство [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) и другие, которые позволяют управлять абзацами с пользовательской нумерацией или форматированием. -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +## **Управление абзацами с пользовательским нумерованным списком** +Интерфейс [IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) предоставляет свойство [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) и другие, позволяющие управлять абзацами с пользовательской нумерацией или форматированием. + +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)class. 2. Получите слайд, содержащий абзац. -3. Добавьте [автофигуру](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) на слайд. -4. Получите [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) автофигуры. +3. Добавьте [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) на слайд. +4. Получите [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) autoshape. 5. Удалите абзац по умолчанию в `TextFrame`. -6. Создайте первый экземпляр абзаца через класс [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) и установите [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) на 2. -7. Создайте второй экземпляр абзаца через класс `Paragraph` и установите `NumberedBulletStartWith` на 3. -8. Создайте третий экземпляр абзаца через класс `Paragraph` и установите `NumberedBulletStartWith` на 7. +6. Создайте первый экземпляр абзаца через класс [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) и задайте [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) равным 2. +7. Создайте второй экземпляр абзаца через класс `Paragraph` и задайте `NumberedBulletStartWith` равным 3. +8. Создайте третий экземпляр абзаца через класс `Paragraph` и задайте `NumberedBulletStartWith` равным 7. 9. Добавьте новые абзацы в коллекцию абзацев `TextFrame`. -10. Сохраните измененную презентацию. - -Этот код на C# показывает, как добавить и управлять абзацами с пользовательской нумерацией или форматированием: +10. Сохраните изменённую презентацию. +Этот код C# показывает, как добавить и управлять абзацами с пользовательской нумерацией или форматированием: ```c# using (var presentation = new Presentation()) { var shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // Получает текстовой фрейм созданной автофигуры + // Получает текстовый фрейм созданного автошейпа ITextFrame textFrame = shape.TextFrame; // Удаляет существующий абзац по умолчанию textFrame.Paragraphs.RemoveAt(0); // Первый список - var paragraph1 = new Paragraph { Text = "маркер 2" }; + var paragraph1 = new Paragraph { Text = "bullet 2" }; paragraph1.ParagraphFormat.Depth = 4; paragraph1.ParagraphFormat.Bullet.NumberedBulletStartWith = 2; paragraph1.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph1); - var paragraph2 = new Paragraph { Text = "маркер 3" }; + var paragraph2 = new Paragraph { Text = "bullet 3" }; paragraph2.ParagraphFormat.Depth = 4; paragraph2.ParagraphFormat.Bullet.NumberedBulletStartWith = 3; paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph2); - var paragraph5 = new Paragraph { Text = "маркер 7" }; + var paragraph5 = new Paragraph { Text = "bullet 7" }; paragraph5.ParagraphFormat.Depth = 4; paragraph5.ParagraphFormat.Bullet.NumberedBulletStartWith = 7; paragraph5.ParagraphFormat.Bullet.Type = BulletType.Numbered; @@ -383,40 +401,40 @@ using (var presentation = new Presentation()) } ``` -## **Установить отступ абзаца** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Получите ссылку на соответствующий слайд через его индекс. -1. Добавьте прямоугольную [автофигуру](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) на слайд. -1. Добавьте [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) с тремя абзацами в прямоугольную автофигуру. -1. Скрывайте линии прямоугольника. -1. Установите отступ для каждого [абзаца](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) через их свойство BulletOffset. -1. Запишите измененную презентацию как файл PPT. - -Этот код на C# показывает, как установить отступ абзаца: +## **Установка отступа абзаца** +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Получите ссылку на нужный слайд по его индексу. +1. Добавьте прямоугольный [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) на слайд. +1. Добавьте [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) с тремя абзацами в прямоугольный autoshape. +1. Спрячьте линии прямоугольника. +1. Установите отступ для каждого [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) через их свойство BulletOffset. +1. Запишите изменённую презентацию в файл PPT. + +Этот код C# показывает, как установить отступ абзаца: ```c# -// Создает экземпляр класса Presentation +// Создаёт экземпляр класса Presentation Presentation pres = new Presentation(); // Получает первый слайд ISlide sld = pres.Slides[0]; -// Добавляет прямоугольную фигуру +// Добавляет форму прямоугольника IAutoShape rect = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 500, 150); -// Добавляет текстовый фрейм в прямоугольник -ITextFrame tf = rect.AddTextFrame("Это первая строка \rЭто вторая строка \rЭто третья строка"); +// Добавляет TextFrame к прямоугольнику +ITextFrame tf = rect.AddTextFrame("This is first line \rThis is second line \rThis is third line"); -// Устанавливает текст в соответствии с формой +// Устанавливает текст, чтобы он соответствовал форме tf.TextFrameFormat.AutofitType = TextAutofitType.Shape; // Скрывает линии прямоугольника rect.LineFormat.FillFormat.FillType = FillType.Solid; -// Получает первый абзац в текстовом фрейме и устанавливает его отступ +// Получает первый абзац в TextFrame и устанавливает его отступ IParagraph para1 = tf.Paragraphs[0]; -// Устанавливает стиль и символ маркера абзаца +// Устанавливает стиль маркера абзаца и символ para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.Alignment = TextAlignment.Left; @@ -424,7 +442,7 @@ para1.ParagraphFormat.Alignment = TextAlignment.Left; para1.ParagraphFormat.Depth = 2; para1.ParagraphFormat.Indent = 30; -// Получает второй абзац в текстовом фрейме и устанавливает его отступ +// Получает второй абзац в TextFrame и устанавливает его отступ IParagraph para2 = tf.Paragraphs[1]; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -432,7 +450,7 @@ para2.ParagraphFormat.Alignment = TextAlignment.Left; para2.ParagraphFormat.Depth = 2; para2.ParagraphFormat.Indent = 40; -// Получает третий абзац в текстовом фрейме и устанавливает его отступ +// Получает третий абзац в TextFrame и устанавливает его отступ IParagraph para3 = tf.Paragraphs[2]; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -440,14 +458,14 @@ para3.ParagraphFormat.Alignment = TextAlignment.Left; para3.ParagraphFormat.Depth = 2; para3.ParagraphFormat.Indent = 50; -// Записывает презентацию на диск +// Сохраняет презентацию на диск pres.Save("InOutDent_out.pptx", SaveFormat.Pptx); ``` -## **Установить висячий отступ для абзаца** -Этот код на C# показывает, как установить висячий отступ для абзаца: +## **Установка висячего отступа для абзаца** +Этот код C# показывает, как установить висячий отступ для абзаца: ```c# using (Presentation pres = new Presentation()) { @@ -455,15 +473,15 @@ using (Presentation pres = new Presentation()) Paragraph para1 = new Paragraph { - Text = "Пример" + Text = "Example" }; Paragraph para2 = new Paragraph { - Text = "Установить висячий отступ для абзаца" + Text = "Set Hanging Indent for Paragraph" }; Paragraph para3 = new Paragraph { - Text = "Этот код на C# показывает, как установить висячий отступ для абзаца: " + Text = "This C# code shows you how to set the hanging indent for a paragraph: " }; para2.ParagraphFormat.MarginLeft = 10f; @@ -477,28 +495,28 @@ using (Presentation pres = new Presentation()) } ``` -## **Управление свойствами конца абзаца для абзаца** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) . -1. Получите ссылку на слайд, содержащий абзац, через его позицию. -1. Добавьте прямоугольную [автофигуру](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) на слайд. +## **Управление конечными свойствами выполнения абзаца** + +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Получите ссылку на слайд, содержащий абзац, по его позиции. +1. Добавьте прямоугольный [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) на слайд. 1. Добавьте [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) с двумя абзацами в прямоугольник. 1. Установите `FontHeight` и тип шрифта для абзацев. 1. Установите конечные свойства для абзацев. -1. Запишите измененную презентацию как файл PPTX. - -Этот код на C# показывает, как установить конечные свойства для абзацев в PowerPoint: +1. Запишите изменённую презентацию в файл PPTX. +Этот код C# показывает, как установить конечные свойства для абзацев в PowerPoint: ```c# using (Presentation pres = new Presentation("Test.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 200, 250); Paragraph para1 = new Paragraph(); - para1.Portions.Add(new Portion("Текст примера")); + para1.Portions.Add(new Portion("Sample text")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("Текст примера 2")); + para2.Portions.Add(new Portion("Sample text 2")); PortionFormat endParagraphPortionFormat = new PortionFormat(); endParagraphPortionFormat.FontHeight = 48; endParagraphPortionFormat.LatinFont = new FontData("Times New Roman"); @@ -511,29 +529,29 @@ using (Presentation pres = new Presentation("Test.pptx")) } ``` -## **Импорт HTML текста в абзацы** -Aspose.Slides предоставляет улучшенную поддержку импорта HTML текста в абзацы. + +## **Импорт HTML‑текста в абзацы** +Aspose.Slides предоставляет расширенную поддержку импорта HTML‑текста в абзацы. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на соответствующий слайд через его индекс. -3. Добавьте [автофигуру](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) на слайд. -4. Добавьте и получите `автофигуру` [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/). +2. Получите ссылку на нужный слайд по его индексу. +3. Добавьте [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) на слайд. +4. Добавьте и получите `autoshape` [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/). 5. Удалите абзац по умолчанию в `ITextFrame`. -6. Прочитайте исходный HTML файл в TextReader. +6. Прочитайте исходный HTML‑файл с помощью TextReader. 7. Создайте первый экземпляр абзаца через класс [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/). -8. Добавьте содержимое HTML файла, прочитанное в TextReader, в коллекцию [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) текстового фрейма. -9. Сохраните измененную презентацию. - -Этот код на C# реализует шаги по импорту HTML текстов в абзацы: +8. Добавьте содержимое HTML‑файла, прочитанного TextReader, в [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) TextFrame. +9. Сохраните изменённую презентацию. +Этот код C# реализует шаги по импорту HTML‑текстов в абзацы: ```c# // Создает пустой экземпляр презентации using (Presentation pres = new Presentation()) { - // Доступ к первому слайду в презентации + // Получает стандартный первый слайд презентации ISlide slide = pres.Slides[0]; - // Добавляет автофигуру для размещения HTML содержимого + // Добавляет AutoShape для размещения HTML‑контента IAutoShape ashape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, pres.SlideSize.Size.Width - 20, pres.SlideSize.Size.Height - 10); ashape.FillFormat.FillType = FillType.NoFill; @@ -544,10 +562,10 @@ using (Presentation pres = new Presentation()) // Очищает все абзацы в добавленном текстовом фрейме ashape.TextFrame.Paragraphs.Clear(); - // Загружает HTML файл с помощью потокового ридера + // Загружает HTML‑файл с помощью StreamReader TextReader tr = new StreamReader("file.html"); - // Добавляет текст из HTML потокового ридера в текстовой фрейм + // Добавляет текст из HTML‑потока в текстовый фрейм ashape.TextFrame.Paragraphs.AddFromHtml(tr.ReadToEnd()); // Сохраняет презентацию @@ -555,37 +573,147 @@ using (Presentation pres = new Presentation()) } ``` + ## **Экспорт текста абзацев в HTML** -Aspose.Slides предоставляет улучшенную поддержку для экспорта текстов (содержащихся в абзацах) в HTML. +Aspose.Slides предоставляет расширенную поддержку экспорта текстов (содержащихся в абзацах) в HTML. 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) и загрузите нужную презентацию. -2. Получите ссылку на соответствующий слайд через его индекс. -3. Доступ к фигуре, содержащей текст, который будет экспортирован в HTML. -4. Получите [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) фигуры. -5. Создайте экземпляр `StreamWriter` и добавьте новый HTML файл. -6. Укажите начальный индекс для StreamWriter и экспортируйте ваши предпочтительные абзацы. - -Этот код на C# показывает, как экспортировать текст абзацев PowerPoint в HTML: +2. Получите ссылку на нужный слайд по его индексу. +3. Получите форму, содержащую текст, который будет экспортирован в HTML. +4. Получите [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/) формы. +5. Создайте экземпляр `StreamWriter` и откройте новый HTML‑файл. +6. Задайте начальный индекс для StreamWriter и экспортируйте выбранные абзацы. +Этот код C# показывает, как экспортировать тексты абзацев PowerPoint в HTML: ```c# // Загружает файл презентации using (Presentation pres = new Presentation("ExportingHTMLText.pptx")) { - // Доступ к первому слайду в презентации + // Получает стандартный первый слайд презентации ISlide slide = pres.Slides[0]; - // Получает соответствующий индекс + // Получает требуемый индекс int index = 0; - // Получает добавленную фигуру + // Получает добавленную форму IAutoShape ashape = (IAutoShape)slide.Shapes[index]; StreamWriter sw = new StreamWriter("output_out.html", false, Encoding.UTF8); - // Записывает данные абзацев в HTML, указывая начальный индекс абзаца и количество абзацев, которые нужно скопировать + // Записывает данные абзацев в HTML, указывая начальный индекс абзаца и количество копируемых абзацев sw.Write(ashape.TextFrame.Paragraphs.ExportToHtml(0, ashape.TextFrame.Paragraphs.Count, null)); sw.Close(); } -``` \ No newline at end of file +``` + + +## **Сохранение абзаца как изображения** + +В этом разделе мы рассмотрим два примера, демонстрирующие, как сохранить текстовый абзац, представленный интерфейсом [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/), в виде изображения. Оба примера включают получение изображения формы, содержащей абзац, с помощью методов `GetImage` интерфейса [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/), вычисление границ абзаца внутри формы и экспорт его как растрового изображения. Эти подходы позволяют извлекать отдельные части текста из презентаций PowerPoint и сохранять их как отдельные изображения, что может быть полезно в различных сценариях. + +Предположим, у нас есть файл презентации sample.pptx с одним слайдом, где первая форма — текстовое поле, содержащее три абзаца. + +![Текстовое поле с тремя абзацами](paragraph_to_image_input.png) + +**Пример 1** + +В этом примере мы получаем второй абзац в виде изображения. Для этого извлекаем изображение формы с первого слайда презентации, затем вычисляем границы второго абзаца в текстовом фрейме формы. Затем абзац перерисовывается на новом растровом изображении, которое сохраняется в формате PNG. Этот метод особенно полезен, когда необходимо сохранить конкретный абзац как отдельное изображение, сохраняя точные размеры и форматирование текста. +```csharp +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap. +using var shapeImage = firstShape.GetImage(); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +Результат: + +![Изображение абзаца](paragraph_to_image_output.png) + +**Пример 2** + +В этом примере мы расширяем предыдущий подход, добавляя коэффициенты масштабирования к изображению абзаца. Форма извлекается из презентации и сохраняется как изображение с коэффициентом масштабирования `2`. Это позволяет получить изображение более высокого разрешения при экспорте абзаца. Затем границы абзаца вычисляются с учётом масштаба. Масштабирование может быть особенно полезным, когда требуется более детализированное изображение, например, для печатных материалов высшего качества. +```csharp +var imageScaleX = 2f; +var imageScaleY = imageScaleX; + +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap with scaling. +using var shapeImage = firstShape.GetImage(ShapeThumbnailBounds.Shape, imageScaleX, imageScaleY); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); +paragraphRectangle.X *= imageScaleX; +paragraphRectangle.Y *= imageScaleY; +paragraphRectangle.Width *= imageScaleX; +paragraphRectangle.Height *= imageScaleY; + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +## **FAQ** + +**Могу ли я полностью отключить перенос строк внутри текстового фрейма?** + +Да. Используйте настройку переноса текста фрейма ([WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/wraptext/)), чтобы отключить перенос — строки не будут разрываться у краёв фрейма. + +**Как получить точные границы конкретного абзаца на слайде?** + +Можно получить ограничивающий прямоугольник абзаца (и даже отдельного сегмента), чтобы знать его точное положение и размер на слайде. + +**Где контролируется выравнивание абзаца (left/right/center/justify)?** + +[Alignment](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/alignment/) — это настройка уровня абзаца в [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/); она применяется ко всему абзацу независимо от форматирования отдельных сегментов. + +**Можно ли задать язык проверки орфографии только для части абзаца (например, одного слова)?** + +Да. Язык задаётся на уровне сегмента ([PortionFormat.LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/)), поэтому в одном абзаце могут сосуществовать несколько языков. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md b/ru/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md index 9a9b828d03..3467d013c9 100644 --- a/ru/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md @@ -1,41 +1,40 @@ --- -title: Управление Заполнитель +title: Управление заполнителем type: docs weight: 10 url: /ru/net/manage-placeholder/ -keywords: "Заполнитель, Текст заполнителя, Текст подсказки, Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Измените текст заполнителя и текст подсказки в презентациях PowerPoint на C# или .NET" +keywords: "Заполнитель, Текст заполнителя, Текст подсказки, Презентация PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Изменение текста заполнителя и текста подсказки в презентациях PowerPoint на C# или .NET" --- ## **Изменить текст в заполнителе** -С помощью [Aspose.Slides для .NET](/slides/ru/net/) вы можете находить и изменять заполнители на слайдах в презентациях. Aspose.Slides позволяет вносить изменения в текст заполнителя. +Using [Aspose.Slides для .NET](/slides/ru/net/), you can find and modify placeholders on slides in presentations. Aspose.Slides allows you to make changes to the text in a placeholder. -**Предварительное условие**: Вам нужна презентация, которая содержит заполнитель. Вы можете создать такую презентацию в стандартном приложении Microsoft PowerPoint. +**Prerequisite**: You need a presentation that contains a placeholder. You can create such a presentation in the standard Microsoft PowerPoint app. -Вот как использовать Aspose.Slides для замены текста в заполнителе в этой презентации: +This is how you use Aspose.Slides to replace the text in the placeholder in that presentation: -1. Создайте экземпляр класса [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation) и передайте презентацию в качестве аргумента. -2. Получите ссылку на слайд по его индексу. -3. Переберите фигуры, чтобы найти заполнитель. -4. Приведите форму заполнителя к [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) и измените текст с помощью [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/), связанного с [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). -5. Сохраните измененную презентацию. - -Этот код C# показывает, как изменить текст в заполнителе: +1. Instantiate the [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation) class and pass the presentation as an argument. +2. Get a slide reference through its index. +3. Iterate through the shapes to find the placeholder. +4. Typecast the placeholder shape to an [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) and change the text using the [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/) associated with the [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). +5. Save the modified presentation. +This C# code shows how to change the text in a placeholder: ```c# // Создает экземпляр класса Presentation using (Presentation pres = new Presentation("ReplacingText.pptx")) { - // Получает доступ к первому слайду + // Получает первый слайд ISlide sld = pres.Slides[0]; - // Перебирает фигуры, чтобы найти заполнитель + // Итерирует по фигурам, чтобы найти заполнитель foreach (IShape shp in sld.Shapes) if (shp.Placeholder != null) { // Изменяет текст в каждом заполнителе - ((IAutoShape)shp).TextFrame.Text = "Это Заполнитель"; + ((IAutoShape)shp).TextFrame.Text = "This is a Placeholder"; } // Сохраняет презентацию на диск @@ -44,32 +43,31 @@ using (Presentation pres = new Presentation("ReplacingText.pptx")) ``` -## **Установить текст подсказки в заполнитель** -Стандартные и заранее подготовленные макеты содержат текст подсказки для заполнителей, например, ***Нажмите, чтобы добавить заголовок*** или ***Нажмите, чтобы добавить подзаголовок***. С помощью Aspose.Slides вы можете вставить свои предпочитаемые тексты подсказки в макеты заполнителей. - -Этот код C# показывает, как установить текст подсказки в заполнитель: +## **Установить текст подсказки в заполнителе** +Standard and pre-built layouts contain placeholder prompt texts such as ***Click to add a title*** or ***Click to add a subtitle***. Using Aspose.Slides, you can insert your preferred prompt texts into placeholder layouts. +This C# code shows you how to set the prompt text in a placeholder: ```c# using (Presentation pres = new Presentation("Presentation2.pptx")) { ISlide slide = pres.Slides[0]; - foreach (IShape shape in slide.Slide.Shapes) // Перебирает слайд + foreach (IShape shape in slide.Slide.Shapes) // Итерирует по слайду { if (shape.Placeholder != null && shape is AutoShape) { string text = ""; - if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPoint отображает "Нажмите, чтобы добавить заголовок" + if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPoint отображает "Click to add title" { - text = "Добавить Заголовок"; + text = "Add Title"; } else if (shape.Placeholder.Type == PlaceholderType.Subtitle) // Добавляет подзаголовок { - text = "Добавить Подзаголовок"; + text = "Add Subtitle"; } ((IAutoShape)shape).TextFrame.Text = text; - Console.WriteLine($"Заполнитель с текстом: {text}"); + Console.WriteLine($"Placeholder with text: {text}"); } } @@ -77,12 +75,12 @@ using (Presentation pres = new Presentation("Presentation2.pptx")) } ``` -## **Установить прозрачность изображения заполнителя** -Aspose.Slides позволяет задавать прозрачность фона изображения в текстовом заполнителе. Регулируя прозрачность изображения в таком кадре, вы можете выделить текст или изображение (в зависимости от цветов текста и изображения). +## **Установить прозрачность изображения заполнителя** -Этот код C# показывает, как установить прозрачность для фона изображения (внутри фигуры): +Aspose.Slides allows you to set the transparency of the background image in a text placeholder. By adjusting the transparency of the picture in such a frame, you can make the text or the image stand out (depending on the text's and picture's colors). +This C# code shows you how to set the transparency for a picture background (inside a shape): ```c# using (var presentation = new Presentation()) { @@ -93,4 +91,19 @@ using (var presentation = new Presentation()) autoShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; autoShape.FillFormat.PictureFillFormat.Picture.ImageTransform.AddAlphaModulateFixedEffect(75); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**What is a base placeholder, and how is it different from a local shape on a slide?** + +A base placeholder is the original shape on a layout or master that the slide’s shape inherits from—type, position, and some formatting come from it. A local shape is independent; if there’s no base placeholder, inheritance doesn’t apply. + +**How can I update all titles or captions across a presentation without iterating over every slide?** + +Edit the corresponding placeholder on the layout or the master. Slides based on those layouts/that master will automatically inherit the change. + +**How do I control the standard header/footer placeholders—date & time, slide number, and footer text?** + +Use the HeaderFooter managers at the appropriate scope (normal slides, layouts, master, notes/handouts) to turn those placeholders on or off and to set their content. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md b/ru/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md index a02cb9dbf3..ff7c043450 100644 --- a/ru/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md @@ -3,53 +3,62 @@ title: Управление текстовым полем type: docs weight: 20 url: /ru/net/manage-textbox/ -keywords: "Текстовое поле, Текстовый фрейм, Добавить текстовое поле, Текстовое поле с гиперссылкой, C#, Csharp, Aspose.Slides для .NET" -description: "Добавление текстового поля или текстового фрейма в презентации PowerPoint на C# или .NET" +keywords: +- текстовое поле +- текстовый кадр +- добавить текст +- обновить текст +- текстовое поле со ссылкой +- PowerPoint +- презентация +- C# +- Csharp +- Aspose.Slides for .NET +description: "Управляйте текстовым полем или текстовым кадром в презентациях PowerPoint с помощью C# или .NET" --- -Тексты на слайдах обычно существуют в текстовых полях или формах. Поэтому, чтобы добавить текст на слайд, сначала нужно добавить текстовое поле, а затем поместить текст внутрь текстового поля. +Текст на слайдах обычно находится в текстовых полях или фигурах. Поэтому, чтобы добавить текст на слайд, необходимо сначала добавить текстовое поле, а затем поместить в него текст. -Чтобы позволить вам добавить фигуру, которая может содержать текст, Aspose.Slides для .NET предоставляет интерфейс [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape). +Чтобы вы могли добавить фигуру, способную содержать текст, Aspose.Slides для .NET предоставляет интерфейс [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape). -{{% alert title="Примечание" color="warning" %}} +{{% alert title="Note" color="warning" %}} -Aspose.Slides также предоставляет интерфейс [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape), чтобы вы могли добавлять фигуры на слайды. Однако не все фигуры, добавленные через интерфейс `IShape`, могут содержать текст. Обычно фигуры, добавленные через интерфейс [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape), содержат текст. +Aspose.Slides также предоставляет интерфейс [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape), позволяющий добавлять фигуры на слайды. Однако не все фигуры, добавленные через интерфейс `IShape`, могут содержать текст. Фигуры, добавленные через интерфейс [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape), обычно содержат текст. -Таким образом, при работе с существующей фигурой, к которой вы хотите добавить текст, вы можете проверить и подтвердить, что она была приведена к интерфейсу `IAutoShape`. Только тогда вы сможете работать с [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe), который является свойством под `IAutoShape`. См. раздел [Обновление текста](https://docs.aspose.com/slides/net/manage-textbox/#update-text) на этой странице. +Поэтому, работая с существующей фигурой, к которой вы хотите добавить текст, рекомендуется проверить и убедиться, что она была приведена к интерфейсу `IAutoShape`. Только тогда вы сможете работать со свойством [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe), которое находится в `IAutoShape`. См. раздел [Update Text](https://docs.aspose.com/slides/net/manage-textbox/#update-text) на этой странице. {{% /alert %}} ## **Создание текстового поля на слайде** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на первый слайд по его индексу. -3. Добавьте объект [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) с установленным [ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype) как `Rectangle` в указанной позиции на слайде и получите ссылку на вновь добавленный объект `IAutoShape`. -4. Добавьте свойство `TextFrame` к объекту `IAutoShape`, которое будет содержать текст. В приведенном ниже примере мы добавили следующий текст: *Aspose TextBox*. -5. Наконец, запишите файл PPTX через объект `Presentation`. - -Этот код на C# — реализация вышеприведенных шагов — показывает, как добавить текст на слайд: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Получите ссылку на первый слайд по его индексу. +3. Добавьте объект [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) с [ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype), установленным в `Rectangle`, в указанную позицию на слайде и получите ссылку на вновь добавленный объект `IAutoShape`. +4. Добавьте свойство `TextFrame` к объекту `IAutoShape`, которое будет содержать текст. В приведённом примере мы добавили следующий текст: *Aspose TextBox* +5. Наконец, запишите файл PPTX через объект `Presentation`. +Этот код C# — реализация вышеуказанных шагов — показывает, как добавить текст на слайд: ```c# -// Создание экземпляра PresentationEx +// Создает экземпляр PresentationEx using (Presentation pres = new Presentation()) { // Получает первый слайд в презентации ISlide sld = pres.Slides[0]; - // Добавляет AutoShape с типом, установленным как Rectangle + // Добавляет AutoShape с типом Rectangle IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); // Добавляет TextFrame к прямоугольнику ashp.AddTextFrame(" "); - // Получает доступ к текстовому фрейму + // Получает доступ к текстовому кадру ITextFrame txtFrame = ashp.TextFrame; - // Создает объект Paragraph для текстового фрейма + // Создает объект Paragraph для текстового кадра IParagraph para = txtFrame.Paragraphs[0]; - // Создает объект Portion для параграфа + // Создает объект Portion для абзаца IPortion portion = para.Portions[0]; // Устанавливает текст @@ -60,49 +69,78 @@ using (Presentation pres = new Presentation()) } ``` -## **Проверка фигуры текстового поля** -Aspose.Slides предоставляет свойство [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) (из класса [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)), чтобы вы могли исследовать фигуры и находить текстовые поля. +## **Проверка наличия текстового поля** -![Текстовое поле и фигура](istextbox.png) +Aspose.Slides предоставляет свойство [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) из интерфейса [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/), позволяющее проверять фигуры и определять текстовые поля. -Этот код на C# показывает, как проверить, была ли фигура создана как текстовое поле: +![Текстовое поле и фигура](istextbox.png) +Этот код C# показывает, как проверить, была ли фигура создана как текстовое поле: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - Aspose.Slides.LowCode.ForEach.Shape(pres, (shape, slide, index) => + Aspose.Slides.LowCode.ForEach.Shape(presentation, (shape, slide, index) => { - if (shape is AutoShape autoShape) + if (shape is IAutoShape autoShape) { - Console.WriteLine(autoShape.IsTextBox ? "фигура является текстовым полем" : "фигура не является текстовым полем"); + Console.WriteLine(autoShape.IsTextBox ? "shape is a text box" : "shape is not a text box"); } }); } ``` -## **Добавление столбца в текстовое поле** -Aspose.Slides предоставляет свойства [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) и [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) (из интерфейса [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) и класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)), чтобы вы могли добавлять столбцы в текстовые поля. Вы можете указать количество столбцов в текстовом поле, а затем указать расстояние в пунктах между столбцами. +Обратите внимание, что если вы просто добавите автофигуру с помощью метода `AddAutoShape` из интерфейса [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/), свойство `IsTextBox` у автофигуры вернёт `false`. Однако после добавления текста в автофигуру с помощью метода `AddTextFrame` или свойства `Text` свойство `IsTextBox` вернёт `true`. +```cs +using (Presentation presentation = new Presentation()) +{ + ISlide slide = presentation.Slides[0]; + + IAutoShape shape1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 100, 40); + // shape1.IsTextBox равно false + shape1.AddTextFrame("shape 1"); + // shape1.IsTextBox равно true + + IAutoShape shape2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 110, 100, 40); + // shape2.IsTextBox равно false + shape2.TextFrame.Text = "shape 2"; + // shape2.IsTextBox равно true + + IAutoShape shape3 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 210, 100, 40); + // shape3.IsTextBox равно false + shape3.AddTextFrame(""); + // shape3.IsTextBox равно false + + IAutoShape shape4 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 310, 100, 40); + // shape4.IsTextBox равно false + shape4.TextFrame.Text = ""; + // shape4.IsTextBox равно false +} +``` + + +## **Добавление столбцов в текстовое поле** -Этот код на C# иллюстрирует описанную операцию: +Aspose.Slides предоставляет свойства [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) и [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) (из интерфейса [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) и класса [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat)), позволяющие добавить столбцы в текстовые поля. Вы можете указать количество столбцов в текстовом поле и задать расстояние в пунктах между столбцами. +Этот код на C# демонстрирует описанную операцию: ```c# using (Presentation presentation = new Presentation()) { // Получает первый слайд в презентации ISlide slide = presentation.Slides[0]; - // Добавляет AutoShape с типом, установленным как Rectangle + // Добавляет AutoShape с типом Rectangle IAutoShape aShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 300, 300); // Добавляет TextFrame к прямоугольнику - aShape.AddTextFrame("Все эти столбцы ограничены одним текстовым контейнером -- " + - "вы можете добавлять или удалять текст, и новый или оставшийся текст автоматически подстраивается " + - "в пределах контейнера. Текст не может перемещаться из одного контейнера в другой — " + - "мы говорим вам, что параметры столбцов PowerPoint для текста ограничены!"); + aShape.AddTextFrame("All these columns are limited to be within a single text container -- " + + "you can add or delete text and the new or remaining text automatically adjusts " + + "itself to flow within the container. You cannot have text flow from one container " + + "to other though -- we told you PowerPoint's column options for text are limited!"); - // Получает текстовый формат TextFrame + // Получает формат текста TextFrame ITextFrameFormat format = aShape.TextFrame.TextFrameFormat; // Указывает количество столбцов в TextFrame @@ -116,12 +154,12 @@ using (Presentation presentation = new Presentation()) } ``` -## **Добавление столбца в текстовый фрейм** -Aspose.Slides для .NET предоставляет свойство [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) (из интерфейса [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat)), который позволяет добавлять столбцы в текстовые фреймы. Через это свойство вы можете указать предпочитаемое количество столбцов в текстовом фрейме. +## **Добавление столбца в текстовый кадр** -Этот код на C# показывает, как добавить столбец внутри текстового фрейма: +Aspose.Slides for .NET предоставляет свойство [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) (из интерфейса [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat)), которое позволяет добавить столбцы в текстовые кадры. С помощью этого свойства вы можете указать требуемое количество столбцов в текстовом кадре. +Этот код C# показывает, как добавить столбец внутри текстового кадра: ```c# string outPptxFileName = "ColumnsTest.pptx"; using (Presentation pres = new Presentation()) @@ -130,9 +168,10 @@ using (Presentation pres = new Presentation()) TextFrameFormat format = (TextFrameFormat)shape1.TextFrame.TextFrameFormat; format.ColumnCount = 2; - shape1.TextFrame.Text = "Все эти столбцы вынуждены оставаться в пределах одного текстового контейнера -- " + - "вы можете добавлять или удалять текст - и новый или оставшийся текст автоматически подстраивается " + - "в пределах контейнера. Текст не может пролиться из одного контейнера в другой, однако, -- потому что параметры столбцов PowerPoint для текста ограничены!"; + shape1.TextFrame.Text = "All these columns are forced to stay within a single text container -- " + + "you can add or delete text - and the new or remaining text automatically adjusts " + + "itself to stay within the container. You cannot have text spill over from one container " + + "to other, though -- because PowerPoint's column options for text are limited!"; pres.Save(outPptxFileName, SaveFormat.Pptx); using (Presentation test = new Presentation(outPptxFileName)) @@ -162,12 +201,12 @@ using (Presentation pres = new Presentation()) } ``` -## **Обновление текста** -Aspose.Slides позволяет вам изменять или обновлять текст, содержащийся в текстовом поле или во всех текстах, содержащихся в презентации. +## **Обновление текста** -Этот код на C# демонстрирует операцию, при которой все тексты в презентации обновляются или изменяются: +Aspose.Slides позволяет изменять или обновлять текст, содержащийся в текстовом поле, либо весь текст, содержащийся в презентации. +Этот код C# демонстрирует операцию, при которой весь текст в презентации обновляется или изменяется: ```c# using(Presentation pres = new Presentation("text.pptx")) { @@ -175,50 +214,50 @@ using(Presentation pres = new Presentation("text.pptx")) { foreach (IShape shape in slide.Shapes) { - if (shape is IAutoShape autoShape) // Проверяет, поддерживает ли фигура текстовый фрейм (IAutoShape). + if (shape is IAutoShape autoShape) //Проверяет, поддерживает ли фигура текстовый кадр (IAutoShape). { - foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) // Итерирует по параграфам в текстовом фрейме + foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) //Перебирает абзацы в текстовом кадре { - foreach (IPortion portion in paragraph.Portions) // Итерирует по каждому порции в параграфе + foreach (IPortion portion in paragraph.Portions) //Перебирает каждую часть в абзаце { - portion.Text = portion.Text.Replace("years", "months"); // Изменяет текст - portion.PortionFormat.FontBold = NullableBool.True; // Изменяет форматирование + portion.Text = portion.Text.Replace("years", "months"); //Изменяет текст + portion.PortionFormat.FontBold = NullableBool.True; //Изменяет форматирование } } } } } - // Сохраняет изменённую презентацию + //Сохраняет изменённую презентацию pres.Save("text-changed.pptx", SaveFormat.Pptx); } ``` -## **Добавление текстового поля с гиперссылкой** -Вы можете вставить ссылку внутри текстового поля. Когда текстовое поле будет нажато, пользователи будут направлены на открытие ссылки. +## **Добавление текстового поля со ссылкой** -1. Создайте экземпляр класса `Presentation`. -2. Получите ссылку на первый слайд по его индексу. -3. Добавьте объект `AutoShape` с установленным `ShapeType` как `Rectangle` в указанной позиции на слайде и получите ссылку на вновь добавленный объект AutoShape. -4. Добавьте `TextFrame` к объекту `AutoShape`, который содержит *Aspose TextBox* в качестве своего текста по умолчанию. -5. Создайте экземпляр класса `IHyperlinkManager`. -6. Присвойте объект `IHyperlinkManager` свойству [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick), связанному с вашей предпочтительной порцией `TextFrame`. -7. Наконец, запишите файл PPTX через объект `Presentation`. +Вы можете вставить ссылку внутрь текстового поля. При щелчке по полю пользователи переходят по ссылке. -Этот код на C# — реализация вышеприведенных шагов — показывает, как добавить текстовое поле с гиперссылкой на слайд: +1. Создайте экземпляр класса `Presentation`. +2. Получите ссылку на первый слайд по его индексу. +3. Добавьте объект `AutoShape` с `ShapeType`, установленным в `Rectangle`, в указанную позицию на слайде и получите ссылку на вновь добавленный объект AutoShape. +4. Добавьте `TextFrame` к объекту `AutoShape`, содержащий *Aspose TextBox* в качестве текста по умолчанию. +5. Создайте экземпляр класса `IHyperlinkManager`. +6. Назначьте объект `IHyperlinkManager` свойству [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick), связанному с нужной частью `TextFrame`. +7. Наконец, запишите файл PPTX через объект `Presentation`. +Этот код C# — реализация вышеуказанных шагов — показывает, как добавить текстовое поле со ссылкой на слайд: ```c# -// Создание экземпляра класса Presentation, представляющего PPTX +// Создаёт экземпляр класса Presentation, представляющего PPTX Presentation pptxPresentation = new Presentation(); // Получает первый слайд в презентации ISlide slide = pptxPresentation.Slides[0]; -// Добавляет объект AutoShape с типом, установленным как Rectangle +// Добавляет объект AutoShape с типом Rectangle IShape pptxShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 150, 150, 50); -// Приводит фигуру к AutoShape +// Преобразует форму к AutoShape IAutoShape pptxAutoShape = (IAutoShape)pptxShape; // Получает доступ к свойству ITextFrame, связанному с AutoShape @@ -226,13 +265,24 @@ pptxAutoShape.AddTextFrame(""); ITextFrame ITextFrame = pptxAutoShape.TextFrame; -// Добавляет текст в фрейм +// Добавляет некоторый текст в кадр ITextFrame.Paragraphs[0].Portions[0].Text = "Aspose.Slides"; -// Устанавливает гиперссылку для текста порции +// Устанавливает гиперссылку для текста части IHyperlinkManager HypMan = ITextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkManager; HypMan.SetExternalHyperlinkClick("http://www.aspose.com"); // Сохраняет PPTX-презентацию pptxPresentation.Save("hLinkPPTX_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **Часто задаваемые вопросы** + +**В чём разница между текстовым полем и заполняющим текстом (placeholder) при работе с образцами слайдов?** + +[placeholder](/slides/ru/net/manage-placeholder/) наследует стиль/позицию от [master](https://reference.aspose.com/slides/net/aspose.slides/masterslide/) и может быть переопределён на [layouts](https://reference.aspose.com/slides/net/aspose.slides/layoutslide/), тогда как обычное текстовое поле является независимым объектом на конкретном слайде и не меняется при переключении макетов. + +**Как выполнить массовую замену текста во всей презентации, не затрагивая текст внутри диаграмм, таблиц и SmartArt?** + +Ограничьте итерацию автофигурами, имеющими текстовые кадры, и исключите встроенные объекты ([charts](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/), [tables](https://reference.aspose.com/slides/net/aspose.slides/table/), [SmartArt](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartart/)), обходя их коллекции отдельно или пропуская такие типы объектов. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md b/ru/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md index c9e355085a..a8a2dc8967 100644 --- a/ru/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md @@ -1,28 +1,43 @@ --- -title: Локализация Презентации +title: Локализация презентации type: docs weight: 100 url: /ru/net/presentation-localization/ -keywords: "Изменить язык, Проверка правописания, Проверка орфографии, Проверяющий правописание, Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Измените или проверьте язык в презентации PowerPoint. Проверка орфографии текста в C# или .NET" +keywords: "Изменить язык, Проверка орфографии, Проверка орфографии, Проверка орфографии, Презентация PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Изменить или проверить язык в презентации PowerPoint. Проверка орфографии текста в C# или .NET" --- -## **Изменить Язык для Презентации и Текста Формы** -- Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -- Получите ссылку на слайд, используя его индекс. -- Добавьте Автофигуру типа Прямоугольник на слайд. -- Добавьте текст в текстовое поле. -- Установите идентификатор языка для текста. -- Запишите презентацию в файл формата PPTX. -Реализация вышеуказанных шагов показана ниже на примере. +## **Изменить язык текста презентации и фигуры** +- Создать экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +- Получить ссылку на слайд, используя его Index. +- Добавить AutoShape типа Rectangle на слайд. +- Добавить некоторый текст в TextFrame. +- Установить LanguageId для текста. +- Записать презентацию в файл PPTX. +Реализация вышеуказанных шагов демонстрируется ниже в примере. ```c# using (Presentation pres = new Presentation("test0.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); - shape.AddTextFrame("Текст для применения языка проверки правописания"); + shape.AddTextFrame("Text to apply spellcheck language"); shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId = "en-EN"; pres.Save("test1.pptx",Aspose.Slides.Export.SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Часто задаваемые вопросы** + +**Вызывает ли language_id автоматический перевод текста?** + +Нет. [language_id](https://reference.aspose.com/slides/net/aspose.slides/portionformat/languageid/) в Aspose.Slides хранит язык для проверки орфографии и грамматики, но не переводит и не изменяет содержимое текста. Это метаданные, которые PowerPoint понимает для проверки. + +**Влияет ли language_id на переносы слов и разрывы строк при рендеринге?** + +В Aspose.Slides [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) используется для проверки правописания. Качество переноса слов и разрыва строк в основном зависит от наличия [соответствующих шрифтов](/slides/ru/net/powerpoint-fonts/) и настроек разметки/переноса строк для системы письма. Чтобы обеспечить корректный рендеринг, сделайте необходимые шрифты доступными, настройте [правила замены шрифтов](/slides/ru/net/font-substitution/) и/или [встроить шрифты](/slides/ru/net/embedded-font/) в презентацию. + +**Могу ли я задать разные языки в одном абзаце?** + +Да. [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) применяется на уровне части текста, поэтому в одном абзаце можно смешивать несколько языков с различными настройками проверки. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md b/ru/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md index 71e2e7818e..834ac57f66 100644 --- a/ru/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md @@ -1,78 +1,114 @@ --- -title: Вверхний индекс и нижний индекс +title: Управление верхним и нижним индексом в C# +linktitle: Верхний и нижний индекс type: docs weight: 80 url: /ru/net/superscript-and-subscript/ -keywords: "Вверхний индекс, Нижний индекс, Добавить текст вверхнего индекса, Добавить текст нижнего индекса, Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Добавьте текст верхнего и нижнего индексов в презентации PowerPoint на C# или .NET" +keywords: +- верхний индекс +- нижний индекс +- добавить верхний индекс +- добавить нижний индекс +- PowerPoint +- OpenDocument +- презентация +- C# +- Csharp +- Aspose.Slides +description: "Освойте верхний и нижний индекс в Aspose.Slides для .NET и улучшите свои презентации с помощью профессионального форматирования текста для максимального воздействия." --- -## **Управление текстом верхнего и нижнего индексов** -Вы можете добавить текст верхнего и нижнего индексов в любой фрагмент абзаца. Для добавления текста верхнего или нижнего индекса в текстовом фрейме Aspose.Slides необходимо использовать **свойство Escapement** класса PortionFormat. +## **Обзор** -Это свойство возвращает или задает текст верхнего или нижнего индекса (значение от -100% (нижний индекс) до 100% (верхний индекс). Например: +Aspose.Slides for .NET предоставляет возможности интеграции верхнего и нижнего индекса текста в ваши презентации PowerPoint (PPT, PPTX) и OpenDocument (ODP). Если вам нужно выделить химические формулы, математические уравнения или добавить сноски, эти специализированные параметры форматирования помогают сохранить ясность и точность. В этой статье вы узнаете, как бесшовно применять стили верхнего и нижнего индекса и обеспечить профессиональный результат на каждом слайде. -- Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -- Получите ссылку на слайд, используя его индекс. -- Добавьте автофигуру типа Прямоугольник на слайд. -- Получите доступ к текстовому фрейму, связанному с автофигурой. -- Очистите существующие абзацы. -- Создайте новый объект абзаца для хранения текста верхнего индекса и добавьте его в коллекцию IParagraphs текстового фрейма. -- Создайте новый объект порции. -- Установите свойство Escapement для порции от 0 до 100 для добавления верхнего индекса. (0 означает отсутствие верхнего индекса) -- Установите некоторый текст для порции, а затем добавьте его в коллекцию порций абзаца. -- Создайте новый объект абзаца для хранения текста нижнего индекса и добавьте его в коллекцию IParagraphs текстового фрейма. -- Создайте новый объект порции. -- Установите свойство Escapement для порции от 0 до -100 для добавления нижнего индекса. (0 означает отсутствие нижнего индекса) -- Установите некоторый текст для порции, а затем добавьте его в коллекцию порций абзаца. -- Сохраните презентацию в виде файла PPTX. +## **Добавить верхний и нижний индекс** -Реализация вышеуказанных шагов приведена ниже. +Вы можете добавить текст в верхнем или нижнем индексе внутри любого абзаца презентации. Для этого в Aspose.Slides необходимо использовать свойство `Escapement` класса [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/). +Это свойство позволяет задать верхний или нижний индекс, значения варьируются от -100 % (нижний индекс) до 100 % (верхний индекс). + +Шаги реализации: + +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/). +1. Получите ссылку на слайд по его индексу. +1. Добавьте на слайд объект [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) типа `Rectangle`. +1. Получите доступ к [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) , связанному с [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +1. Очистите существующие абзацы. +1. Создайте новый объект [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) для текста в верхнем индексе и добавьте его в коллекцию абзацев [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/). +1. Создайте новый объект текстовой части. +1. Установите свойство `Escapement` для текстовой части в диапазоне от 0 до 100, чтобы применить верхний индекс (0 — нет верхнего индекса). +1. Задайте некоторый текст для [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) и добавьте его в коллекцию частей абзаца. +1. Создайте еще один объект [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) для текста в нижнем индексе и добавьте его в коллекцию абзацев. +1. Создайте новый объект текстовой части. +1. Установите свойство `Escapement` для текстовой части в диапазоне от 0 до -100, чтобы применить нижний индекс (0 — нет нижнего индекса). +1. Задайте некоторый текст для [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) и добавьте его в коллекцию частей абзаца. +1. Сохраните презентацию в файл PPTX. + +Следующий код C# реализует эти шаги: ```c# -using (Presentation presentation = new Presentation("test.pptx")) +using (Presentation presentation = new Presentation()) { - // Получить слайд + // Получить первый слайд. ISlide slide = presentation.Slides[0]; - // Создать текстовое поле + // Создать текстовое поле. IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 200, 100); ITextFrame textFrame = shape.TextFrame; + textFrame.Paragraphs.Clear(); - // Создать абзац для текста верхнего индекса + // Создать абзац для текста в верхнем индексе. IParagraph superPar = new Paragraph(); - // Создать порцию с обычным текстом + // Создать часть текста с обычным текстом. IPortion portion1 = new Portion(); - portion1.Text = "SlideTitle"; + portion1.Text = "MyProduct"; superPar.Portions.Add(portion1); - // Создать порцию с текстом верхнего индекса + // Создать часть текста с верхним индексом. IPortion superPortion = new Portion(); superPortion.PortionFormat.Escapement = 30; superPortion.Text = "TM"; superPar.Portions.Add(superPortion); - // Создать абзац для текста нижнего индекса + // Создать абзац для текста в нижнем индексе. IParagraph paragraph2 = new Paragraph(); - // Создать порцию с обычным текстом + // Создать часть текста с обычным текстом. IPortion portion2 = new Portion(); portion2.Text = "a"; paragraph2.Portions.Add(portion2); - // Создать порцию с текстом нижнего индекса + // Создать часть текста с нижним индексом. IPortion subPortion = new Portion(); subPortion.PortionFormat.Escapement = -25; subPortion.Text = "i"; paragraph2.Portions.Add(subPortion); - // Добавить абзацы в текстовое поле + // Добавить абзацы в текстовое поле. textFrame.Paragraphs.Add(superPar); textFrame.Paragraphs.Add(paragraph2); - presentation.Save("TestOut.pptx", SaveFormat.Pptx); - System.Diagnostics.Process.Start("TestOut.pptx"); - } -``` \ No newline at end of file + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +Результат: + +![Верхний и нижний индекс](superscript_and_subscript.png) + +## **Вопросы и ответы** + +**Сохранятся ли верхний и нижний индексы при экспорте в PDF или другие форматы?** + +Да, Aspose.Slides for .NET корректно сохраняет форматирование верхнего и нижнего индекса при экспорте презентаций в PDF, PPT/PPTX, изображения и другие поддерживаемые форматы. Специальное форматирование остаётся неизменным во всех выходных файлах. + +**Можно ли комбинировать верхний и нижний индексы с другими стилями форматирования, такими как полужирный или курсив?** + +Да, Aspose.Slides позволяет смешивать различные стили текста внутри одной части текста. Вы можете включать полужирный, курсив, подчёркивание и одновременно применять верхний или нижний индекс, задав соответствующие свойства в [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/). + +**Работает ли форматирование верхнего и нижнего индекса для текста внутри таблиц, диаграмм или SmartArt?** + +Да, Aspose.Slides for .NET поддерживает форматирование в большинстве объектов, включая таблицы и элементы диаграмм. При работе с SmartArt необходимо получить доступ к соответствующим элементам (например, [SmartArtNode](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartartnode/)) и их текстовым контейнерам, а затем настроить свойства [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) аналогичным образом. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md b/ru/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md index 907a1e3fee..5d27e06f38 100644 --- a/ru/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md @@ -1,5 +1,5 @@ --- -title: Форматирование текста +title: Форматирование текста PowerPoint на C# linktitle: Форматирование текста type: docs weight: 50 @@ -7,659 +7,515 @@ url: /ru/net/text-formatting/ keywords: - выделение текста - регулярное выражение -- выравнивание текстовых абзацев +- выравнивание абзаца +- стиль текста +- фон текста - прозрачность текста -- свойства шрифта параграфа +- межбуквенный интервал +- свойства шрифта - семейство шрифтов -- поворот текста -- пользовательский угол поворота +- вращение текста +- угол вращения - текстовая рамка -- межстрочное расстояние -- свойство автоматического подбора размера -- якорь текстовой рамки +- межстрочный интервал +- свойство автоподгонки +- привязка текстовой рамки - табуляция текста -- стиль текста по умолчанию +- язык по умолчанию +- PowerPoint +- OpenDocument +- презентация - C# -- Aspose.Slides для .NET -description: "Управление и манипуляция текстом и свойствами текстовых рамок на C#" +- Aspose.Slides +description: "Узнайте, как форматировать и стилизовать текст в презентациях PowerPoint и OpenDocument с помощью Aspose.Slides для .NET. Настройте шрифты, цвета, выравнивание и многое другое с помощью мощных примеров кода на C#." --- -## Обзор +## **Обзор** -Эта статья описывает, как **работать с форматированием текста презентации PowerPoint с использованием C#**, например, выделять текст, применять регулярные выражения, выравнивать текстовые абзацы, устанавливать прозрачность текста, изменять свойства шрифта параграфа, использовать семейства шрифтов, устанавливать поворот текста, настраивать угол поворота, управлять текстовой рамкой, устанавливать межстрочное расстояние, использовать свойство Автоподбор, устанавливать якорь текстовой рамки и изменять табуляцию текста. В статье рассматриваются эти темы. +Эта статья рассказывает, как управлять и форматировать текст в презентациях PowerPoint и OpenDocument с использованием Aspose.Slides for .NET. Вы узнаете, как применять функции форматирования текста, такие как выбор шрифта, размер, цвет, выделение, цвет фона, интервал и выравнивание. Кроме того, рассматривается работа с текстовыми рамками, абзацами, форматированием и расширенными параметрами макета, такими как пользовательское вращение и поведения автоподгонки. -## **Выделение текста** -В интерфейс ITextFrame и класс TextFrame добавлен новый метод HighlightText. +Независимо от того, генерируете ли вы презентации программно или настраиваете существующее содержание, эти примеры помогут создать чёткие, профессионально выглядящие текстовые макеты, которые улучшат ваши слайды и повысит читаемость. -Он позволяет выделять часть текста цветом фона с помощью текстового образца, подобно инструменту Text Highlight Color в PowerPoint 2019. +В примерах ниже мы будем использовать файл «sample.pptx», который содержит один текстовый блок на первом слайде со следующим текстом: -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) с входным файлом. - - Входной файл может быть PPT, PPTX, ODP и т. д. -3. Получите доступ к слайду с использованием коллекции [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/) -4. Получите доступ к фигуре с использованием коллекции [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) как [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/). -5. Выделите текст с помощью метода [TextFrame.Highlight()](https://reference.aspose.com/slides/net/aspose.slides/textframe/highlighttext/#highlighttext). -6. Сохраните презентацию в желаемом выходном формате, т. е. PPT, PPTX или ODP и т. д. +![Пример текста](sample_text.png) -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("title", Color.LightBlue); // выделение всех слов 'important' -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("to", Color.Violet, new TextHighlightingOptions() -{ - WholeWordsOnly = true -}); // выделение всех отдельных вхождений 'the' -presentation.Save("SomePresentation-out2.pptx", SaveFormat.Pptx); -``` - -{{% alert color="primary" %}} +## **Выделение текста** -Aspose предоставляет простой, [бесплатный онлайн-сервис редактирования PowerPoint](https://products.aspose.app/slides/editor) +Метод [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/) позволяет выделять часть текста фоновым цветом на основе образца текста. -{{% /alert %}} +Чтобы использовать этот метод, выполните следующие шаги: +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) с входным файлом (PPT, PPTX, ODP и т.д.). +2. Получите нужный слайд, используя коллекцию [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/). +3. Получите целевую форму из коллекции [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) и приведите её к типу [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/). +4. Выделите нужный текст, используя метод [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/), указав образец текста и цвет. +5. Сохраните презентацию в нужном выходном формате (например, PPT, PPTX, ODP). -## **Выделение текста с использованием регулярного выражения** -В интерфейс ITextFrame и класс TextFrame добавлен новый метод HighlightRegex. +Ниже приведён пример кода, который выделяет все вхождения символов **"try"** и полного слова **"to"**. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + // Получить первую форму с первого слайда. + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; -Он позволяет выделять часть текста цветом фона с помощью regex, подобно инструменту Text Highlight Color в PowerPoint 2019. + // Выделить слово "try" в форме. + shape.TextFrame.HighlightText("try", Color.LightBlue); + var searchOptions = new TextSearchOptions() + { + WholeWordsOnly = true + }; -Ниже приведен фрагмент кода, который показывает, как использовать эту функцию: + // Выделить слово "to" в форме. + shape.TextFrame.HighlightText("to", Color.Violet, searchOptions, null); -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -TextHighlightingOptions options = new TextHighlightingOptions(); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightRegex(@"\b[^\s]{5,}\b", Color.Blue, options); // выделение всех слов длиной 10 символов или более -presentation.Save("SomePresentation-out.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text.pptx", SaveFormat.Pptx); +} ``` -## **Установка цвета фона текста** - -Aspose.Slides позволяет вам указать цвет фона для текста. -Этот код на C# показывает, как установить цвет фона для всего текста: +Результат: -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Black"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Red "); - - var portion3 = new Portion("Black"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +![Выделенный текст](highlighted_text.png) -using (Presentation pres = new Presentation("text.pptx")) -{ - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; +{{% alert color="primary" %}} - foreach (IPortion portion in autoShape.TextFrame.Paragraphs[0].Portions) - { - portion.PortionFormat.HighlightColor.Color = Color.Blue; - } +Aspose предоставляет простой, [БЕСПЛАТНЫЙ онлайн-редактор PowerPoint](https://products.aspose.app/slides/editor). - pres.Save("text-red.pptx", SaveFormat.Pptx); -} -``` +{{% /alert %}} -Этот код на C# показывает, как установить цвет фона только для части текста: +## **Выделение текста с использованием регулярных выражений** -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Black"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Red "); - - var portion3 = new Portion("Black"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +Aspose.Slides for .NET позволяет искать и выделять определённые части текста в слайдах PowerPoint с помощью регулярных выражений. Эта функция особенно полезна, когда необходимо динамически подчёркивать ключевые слова, шаблоны или данные. Метод [ITextFrame.HighlightRegex](https://docs.aspose.com/slides/net/text-formatting/) позволяет выделять части текста фоновым цветом, используя регулярное выражение. -using (Presentation pres = new Presentation("text.pptx")) +Ниже пример кода, который выделяет все слова, содержащие **семь или более символов**: +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; - IPortion redPortion = autoShape.TextFrame.Paragraphs[0].Portions - .First(p => p.Text.Contains("Red")); + // Выделить все слова, содержащие семь или более символов. + shape.TextFrame.HighlightRegex(@"\b[^\s]{7,}\b", Color.Yellow, null); - redPortion.PortionFormat.HighlightColor.Color = Color.Red; - - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text_using_regex.pptx", SaveFormat.Pptx); } ``` -## **Выравнивание текстовых абзацев** -Форматирование текста является одним из ключевых элементов при создании любых документов или презентаций. Мы знаем, что Aspose.Slides для .NET поддерживает добавление текста на слайды, но в этой теме мы увидим, как мы можем управлять выравниванием текстовых абзацев на слайде. Пожалуйста, следуйте приведенным ниже шагам, чтобы выровнять текстовые абзацы с использованием Aspose.Slides для .NET: +Результат: + +![Выделенный текст с помощью регулярного выражения](highlighted_text_using_regex.png) -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на слайд, используя его индекс. -3. Получите доступ к заполняющим фигурам на слайде и приведите их к типу AutoShape. -4. Получите параграф (который необходимо выровнять) из TextFrame, предоставляемого AutoShape. -5. Выровняйте параграф. Параграф может быть выровнен по правому, левому, центру и по ширине. -6. Запишите измененную презентацию в файл PPTX. +## **Установка фонового цвета текста** -Реализация вышеуказанных шагов приведена ниже. +Aspose.Slides for .NET позволяет применять фоновые цвета ко всему абзацу или отдельным частям текста в слайдах PowerPoint. Это полезно, когда нужно выделить конкретные слова или фразы, привлечь внимание к ключевым сообщениям или улучшить визуальную привлекательность презентаций. -```c# -// Создание объекта Presentation, представляющего PPTX файл -using (Presentation pres = new Presentation("ParagraphsAlignment.pptx")) +Ниже пример кода, показывающий, как задать фоновый цвет для **всего абзаца**: +```cs +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; + + // Установить цвет подсветки для всего абзаца. + paragraph.ParagraphFormat.DefaultPortionFormat.HighlightColor.Color = Color.LightGray; - // Доступ к первому слайду - ISlide slide = pres.Slides[0]; + presentation.Save("gray_paragraph.pptx", SaveFormat.Pptx); +} +``` - // Доступ к первому и второму заполнительному полю на слайде и приведение к AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; - // Изменение текста в обоих заполнительных полях - tf1.Text = "Центрирование от Aspose"; - tf2.Text = "Центрирование от Aspose"; +Результат: - // Получение первого параграфа заполнителей - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; +![Серый абзац](gray_paragraph.png) + +Ниже пример кода, демонстрирующий, как задать фоновый цвет для **частей текста с полужирным шрифтом**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Выравнивание текстового абзаца по центру - para1.ParagraphFormat.Alignment = TextAlignment.Center; - para2.ParagraphFormat.Alignment = TextAlignment.Center; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Установить цвет подсветки для части текста. + portion.PortionFormat.HighlightColor.Color = Color.LightGray; + } + } - // Запись презентации в файл PPTX - pres.Save("Centeralign_out.pptx", SaveFormat.Pptx); + presentation.Save("gray_text_portions.pptx", SaveFormat.Pptx); } ``` -## **Установка прозрачности для текста** -Эта статья демонстрирует, как установить свойство прозрачности для любой текстовой фигуры, используя Aspose.Slides для .NET. Чтобы установить прозрачность для текста, пожалуйста, выполните следующие шаги: - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на слайд. -3. Установите цвет тени -4. Запишите презентацию в файл PPTX. +Результат: -Реализация вышеуказанных шагов приведена ниже. +![Серые части текста](gray_text_portions.png) -```c# -using (Presentation pres = new Presentation("transparency.pptx")) -{ - IAutoShape shape = (IAutoShape)pres.Slides[0].Shapes[0]; - IEffectFormat effects = shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.EffectFormat; +## **Выравнивание абзацев текста** - IOuterShadow outerShadowEffect = effects.OuterShadowEffect; +Выравнивание текста — ключевой аспект форматирования слайдов, влияющий как на читаемость, так и на визуальную привлекательность. В Aspose.Slides for .NET вы можете точно управлять выравниванием абзацев внутри текстовых рамок, обеспечивая единообразное представление содержимого — по центру, слева, справа или по ширине. Этот раздел объясняет, как применять и настраивать выравнивание текста в презентациях PowerPoint. - Color shadowColor = outerShadowEffect.ShadowColor.Color; - Console.WriteLine($"{shadowColor} - прозрачность: {((float)shadowColor.A / byte.MaxValue) * 100}"); +Ниже пример кода, показывающий, как выровнять абзац по **центру**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // установка прозрачности на ноль процентов - outerShadowEffect.ShadowColor.Color = Color.FromArgb(255, shadowColor); + // Установить выравнивание абзаца по центру. + paragraph.ParagraphFormat.Alignment = TextAlignment.Center; - pres.Save("transparency-2.pptx", SaveFormat.Pptx); + presentation.Save("aligned_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Установка межбуквенного расстояния для текста** -Aspose.Slides позволяет вам задать расстояние между буквами в текстовом поле. Таким образом, вы можете отрегулировать визуальную плотность строки или блока текста, расширив или сокращая расстояние между символами. +Результат: + +![Выровненный абзац](aligned_paragraph.png) + +## **Установка прозрачности для текста** -Этот код на C# показывает, как расширить расстояние для одной строки текста и сократить расстояние для другой строки: +Регулирование прозрачности текста позволяет создавать тонкие визуальные эффекты и улучшать эстетику слайдов. Aspose.Slides for .NET предоставляет возможность задавать уровень прозрачности абзацев и частей текста, упрощая сочетание текста с фоном или акцентирование отдельных элементов. Этот раздел показывает, как применять настройки прозрачности к тексту в ваших презентациях. -```c# -var presentation = new Presentation("in.pptx"); +Ниже пример кода, показывающий, как применить прозрачность к **всему абзацу**: +```cs +int alpha = 50; -var textBox1 = (IAutoShape) presentation.Slides[0].Shapes[0]; -var textBox2 = (IAutoShape) presentation.Slides[0].Shapes[1]; +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -textBox1.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = 20; // расширение -textBox2.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = -2; // сжатие + // Установить цвет заливки текста в прозрачный цвет. + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); -presentation.Save("out.pptx", SaveFormat.Pptx); + presentation.Save("transparent_paragraph.pptx", SaveFormat.Pptx); +} ``` -## **Управление свойствами шрифта абзацев** -Презентации обычно содержат как текст, так и изображения. Текст можно форматировать различными способами, чтобы выделить определенные разделы и слова или соответствовать корпоративным стилям. Форматирование текста помогает пользователям изменять внешний вид и ощущение содержания презентации. Эта статья показывает, как использовать Aspose.Slides для .NET для настройки свойств шрифта абзацев текста на слайдах. Для управления свойствами шрифта абзаца с помощью Aspose.Slides для .NET: +Результат: -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на слайд, используя его индекс. -3. Получите доступ к заполняющим фигурам на слайде и приведите их к типу AutoShape. -4. Получите параграф из TextFrame, предоставляемого AutoShape. -5. Выравняйте абзац по ширине. -6. Получите текстовую порцию абзаца. -7. Определите шрифт с помощью FontData и установите шрифт для текстовой порции соответствующим образом. - 1. Установите шрифт как жирный. - 1. Установите шрифт как курсивный. -8. Установите цвет шрифта, используя FillFormat, предоставленный объектом Portion. -9. Запишите измененную презентацию в файл [PPTX](https://docs.fileformat.com/presentation/pptx/). +![Прозрачный абзац](transparent_paragraph.png) -Реализация вышеуказанных шагов приведена ниже. Она берет неприкрытую презентацию и форматирует шрифты на одном из слайдов. +Ниже пример кода, показывающий, как применить прозрачность к **частям текста с полужирным шрифтом**: +```cs +int alpha = 50; -```c# -// Создание объекта Presentation, представляющего PPTX файл -using (Presentation pres = new Presentation("FontProperties.pptx")) +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Доступ к слайду по его позициям - ISlide slide = pres.Slides[0]; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Установить прозрачность части текста. + portion.PortionFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); + } + } - // Доступ к первому и второму заполнительному полю на слайде и приведение к AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; + presentation.Save("transparent_text_portions.pptx", SaveFormat.Pptx); +} +``` - // Доступ к первому абзацу - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - // Доступ к первой порции - IPortion port1 = para1.Portions[0]; - IPortion port2 = para2.Portions[0]; +Результат: - // Определение новых шрифтов - FontData fd1 = new FontData("Elephant"); - FontData fd2 = new FontData("Castellar"); +![Прозрачные части текста](transparent_text_portions.png) - // Присвоение новых шрифтов порции - port1.PortionFormat.LatinFont = fd1; - port2.PortionFormat.LatinFont = fd2; +## **Установка межбуквенного интервала для текста** - // Установка шрифта на жирный - port1.PortionFormat.FontBold = NullableBool.True; - port2.PortionFormat.FontBold = NullableBool.True; +Aspose.Slides позволяет задавать интервал между буквами в текстовом блоке. Это даёт возможность регулировать визуальную плотность строки или блока текста, расширяя или сжимая пространство между символами. - // Установка шрифта на курсивный - port1.PortionFormat.FontItalic = NullableBool.True; - port2.PortionFormat.FontItalic = NullableBool.True; +Ниже пример кода C#, показывающий, как расширить межбуквенный интервал в **всём абзаце**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Установка цвета шрифта - port1.PortionFormat.FillFormat.FillType = FillType.Solid; - port1.PortionFormat.FillFormat.SolidFillColor.Color = Color.Purple; - port2.PortionFormat.FillFormat.FillType = FillType.Solid; - port2.PortionFormat.FillFormat.SolidFillColor.Color = Color.Peru; + // Примечание: используйте отрицательные значения для сжатия межбуквенного интервала. + paragraph.ParagraphFormat.DefaultPortionFormat.Spacing = 3; // Расширить межбуквенный интервал. - // Запись PPTX на диск - pres.Save("WelcomeFont_out.pptx", SaveFormat.Pptx); + presentation.Save("character_spacing_in_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Управление семейством шрифтов текста** -Порция используется для хранения текста с одинаковым стилем форматирования в абзаце. Эта статья показывает, как использовать Aspose.Slides для .NET для создания текстового поля с некоторым текстом и затем определения конкретного шрифта и различных других свойств категории семейства шрифтов. Чтобы создать текстовое поле и установить свойства шрифтов текста в нем: - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на слайд, используя его индекс. -3. Добавьте AutoShape типа Прямоугольник на слайд. -4. Удалите стиль заполнения, связанный с AutoShape. -5. Получите доступ к TextFrame AutoShape. -6. Добавьте некоторый текст в TextFrame. -7. Получите доступ к объекту Portion, связанному с TextFrame. -8. Определите шрифт, который будет использоваться для Portion. -9. Установите другие свойства шрифта, такие как жирный, курсивный, подчеркивание, цвет и высота, используя соответствующие свойства, предоставленные объектом Portion. -10. Запишите измененную презентацию в файл PPTX. +Результат: -Реализация вышеуказанных шагов приведена ниже. +![Межбуквенный интервал в абзаце](character_spacing_in_paragraph.png) -```c# -// Создание презентации -using (Presentation presentation = new Presentation()) +Ниже пример кода, показывающий, как расширить межбуквенный интервал в **частях текста с полужирным шрифтом**: +```cs +using (var presentation = new Presentation("sample.pptx")) { - - // Получение первого слайда - ISlide sld = presentation.Slides[0]; - - // Добавление AutoShape типа Прямоугольник - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Удаление любого стиля заполнения, связанного с AutoShape - ashp.FillFormat.FillType = FillType.NoFill; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // Примечание: используйте отрицательные значения для сжатия межбуквенного интервала. + portion.PortionFormat.Spacing = 3; // Расширить межбуквенный интервал. + } + } - // Доступ к TextFrame, связанному с AutoShape - ITextFrame tf = ashp.TextFrame; - tf.Text = "Aspose TextBox"; + presentation.Save("character_spacing_in_text_portions.pptx", SaveFormat.Pptx); +} +``` - // Доступ к Portion, связанному с TextFrame - IPortion port = tf.Paragraphs[0].Portions[0]; - // Установка шрифта для Portion - port.PortionFormat.LatinFont = new FontData("Times New Roman"); +Результат: - // Установка свойства Bold шрифта - port.PortionFormat.FontBold = NullableBool.True; +![Межбуквенный интервал в частях текста](character_spacing_in_text_portions.png) - // Установка свойства Italic шрифта - port.PortionFormat.FontItalic = NullableBool.True; +## **Управление свойствами шрифта текста** - // Установка свойства Underline шрифта - port.PortionFormat.FontUnderline = TextUnderlineType.Single; +Aspose.Slides for .NET позволяет точно настраивать параметры шрифта как на уровне абзаца, так и для отдельных частей текста, обеспечивая визуальную согласованность и соответствие требованиям дизайна презентации. Вы можете задавать стили шрифта, размеры и другие параметры форматирования для всех частей абзаца, получая больший контроль над отображением текста. Этот раздел демонстрирует, как управлять свойствами шрифта для текстовых абзацев в слайде. - // Установка высоты шрифта - port.PortionFormat.FontHeight = 25; +Ниже пример кода, задающий шрифт и стиль текста для **всего абзаца**: применяется размер шрифта, полужирный, курсив, пунктирное подчёркивание и шрифт Times New Roman для всех частей абзаца. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Установка цвета шрифта - port.PortionFormat.FillFormat.FillType = FillType.Solid; - port.PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; + // Установить свойства шрифта для абзаца. + paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 12; + paragraph.ParagraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontItalic = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontUnderline = TextUnderlineType.Dotted; + paragraph.ParagraphFormat.DefaultPortionFormat.LatinFont = new FontData("Times New Roman"); - // Запись PPTX на диск - presentation.Save("SetTextFontProperties_out.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_paragraph.pptx", SaveFormat.Pptx); } ``` -## **Установка размера шрифта для текста** - -Aspose.Slides позволяет вам выбрать предпочтительный размер шрифта для существующего текста в абзаце и другого текста, который может быть добавлен в абзац позже. -Этот код на C# показывает, как установить размер шрифта для текстов, содержащихся в абзаце: +Результат: -```c# -var presentation = new Presentation("example.pptx"); +![Свойства шрифта абзаца](font_properties_for_paragraph.png) -// Получаем первую фигуру, например. -var shape = presentation.Slides[0].Shapes[0]; - -if (shape is IAutoShape autoShape) +Ниже пример кода, применяющий аналогичные свойства к **частям текста с полужирным шрифтом**: +```cs +using (var presentation = new Presentation("sample.pptx")) { - // Получаем первый абзац, например. + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; var paragraph = autoShape.TextFrame.Paragraphs[0]; - // Устанавливаем размер шрифта по умолчанию на 20 пунктов для всех текстовых порций в абзаце. - paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 20; - - // Устанавливаем размер шрифта на 20 пунктов для текущих текстовых порций в абзаце. foreach (var portion in paragraph.Portions) { - portion.PortionFormat.FontHeight = 20; + if (portion.PortionFormat.GetEffective().FontBold) + { + // Установить свойства шрифта для части текста. + portion.PortionFormat.FontHeight = 13; + portion.PortionFormat.FontItalic = NullableBool.True; + portion.PortionFormat.FontUnderline = TextUnderlineType.Dotted; + portion.PortionFormat.LatinFont = new FontData("Times New Roman"); + } } -} -presentation.Save("output.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_text_portions.pptx", SaveFormat.Pptx); +} ``` -## **Установка поворота текста** - -Aspose.Slides для .NET позволяет разработчикам поворачивать текст. Текст можно установить в горизонтальном, вертикальном, вертикальном270, WordArtVertical, EastAsianVertical, MongolianVertical или WordArtVerticalRightToLeft. Чтобы повернуть текст любой TextFrame, пожалуйста, выполните следующие шаги: - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите доступ к первому слайду. -3. Добавьте любую фигуру на слайд. -4. Получите доступ к TextFrame. -5. Поверните текст. -6. Сохраните файл на диск. - -```c# -// Создание экземпляра класса Presentation -Presentation presentation = new Presentation(); -// Получение первого слайда -ISlide slide = presentation.Slides[0]; +Результат: -// Добавление AutoShape типа Прямоугольник -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); +![Свойства шрифта частей текста](font_properties_for_text_portions.png) -// Добавление TextFrame к Прямоугольнику -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; +## **Установка вращения текста** -// Доступ к текстовой рамке -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; +Вращение текста может улучшить макет слайдов и помочь подчеркнуть определённое содержание. С помощью Aspose.Slides for .NET вы легко можете применять вращение текста внутри фигур, задавая угол в соответствии с дизайном. Этот раздел демонстрирует, как задать и контролировать вращение текста для достижения нужного визуального эффекта. -// Создание объекта Paragraph для текстовой рамки -IParagraph para = txtFrame.Paragraphs[0]; +Ниже пример кода, устанавливающий ориентацию текста в фигуре в `Vertical270`, что вращает текст **на 90 градусов против часовой стрелки**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Создание объекта Portion для параграфа -IPortion portion = para.Portions[0]; -portion.Text = "Мороз и солнце; день чудесный."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; -// Сохранение презентации -presentation.Save("RotateText_out.pptx", SaveFormat.Pptx); + presentation.Save("text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **Установка пользовательского угла поворота для TextFrame** -Aspose.Slides для .NET теперь поддерживает установку пользовательского угла поворота для текстовой рамки. В этой теме мы увидим на примере, как установить свойство RotationAngle в Aspose.Slides. Новое свойство RotationAngle было добавлено в интерфейсы IChartTextBlockFormat и ITextFrameFormat, позволяя установить пользовательский угол поворота для текстовой рамки. Чтобы установить свойство RotationAngle, пожалуйста, выполните следующие шаги: - -1. Создайте экземпляр класса [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Добавьте график на слайд. -3. Установите свойство RotationAngle. -4. Запишите презентацию в файл PPTX. - -В приведенном ниже примере мы устанавливаем свойство RotationAngle. +Результат: -```c# -// Создание экземпляра класса Presentation -Presentation presentation = new Presentation(); +![Вращение текста](text_rotation.png) -IChart chart = presentation.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 300); +## **Установка пользовательского вращения для текстовых рамок** -IChartSeries series = chart.ChartData.Series[0]; +Задание пользовательского угла вращения для `TextFrame` позволяет позиционировать текст под точными углами, открывая возможности более креативных и гибких дизайнов слайдов. Aspose.Slides for .NET предоставляет полный контроль над вращением текстовых рамок, упрощая выравнивание текста с другими элементами слайда. Этот раздел покажет, как применить конкретный угол вращения к `TextFrame`. -series.Labels.DefaultDataLabelFormat.ShowValue = true; -series.Labels.DefaultDataLabelFormat.TextFormat.TextBlockFormat.RotationAngle = 65; +Ниже пример кода, вращающий текстовую рамку на 3 градуса по часовой стрелке внутри фигуры: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -chart.HasTitle = true; -chart.ChartTitle.AddTextFrameForOverriding("Пользовательский заголовок").TextFrameFormat.RotationAngle = -30; + autoShape.TextFrame.TextFrameFormat.RotationAngle = 3; -// Сохранение презентации -presentation.Save("textframe-rotation_out.pptx", SaveFormat.Pptx); + presentation.Save("custom_text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **Межстрочное расстояние абзаца** -Aspose.Slides предоставляет свойства ([SpaceAfter](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spaceafter), [SpaceBefore](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacebefore), и [SpaceWithin](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacewithin)) в классе [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/), которые позволяют управлять межстрочным расстоянием для абзаца. Три свойства используются следующим образом: - -* Чтобы указать межстрочное расстояние для абзаца в процентах, используйте положительное значение. -* Чтобы указать межстрочное расстояние для абзаца в пунктах, используйте отрицательное значение. - -Например, вы можете применить межстрочное расстояние 16pt для абзаца, установив свойство `SpaceBefore` в -16. +Результат: -Вот как вы указываете межстрочное расстояние для конкретного абзаца: +![Пользовательское вращение текста](custom_text_rotation.png) -1. Загрузите презентацию, содержащую AutoShape с некоторым текстом. -2. Получите ссылку на слайд по его индексу. -3. Доступ к TextFrame. -4. Получите доступ к абзацу. -5. Установите свойства абзаца. -6. Сохраните презентацию. +## **Установка межстрочного интервала абзацев** -Этот код на C# показывает вам, как указать межстрочное расстояние для абзаца: +Aspose.Slides предоставляет свойства `SpaceAfter`, `SpaceBefore` и `SpaceWithin` в классе [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/), позволяя управлять межстрочным интервалом абзаца. Эти свойства используются следующим образом: -```c# -// Создание экземпляра класса Presentation -Presentation presentation = new Presentation("Fonts.pptx"); +* Положительное значение указывает межстрочный интервал в процентах от высоты строки. +* Отрицательное значение задаёт межстрочный интервал в пунктах. -// Получение ссылки на слайд по индексу -ISlide sld = presentation.Slides[0]; - -// Доступ к TextFrame -ITextFrame tf1 = ((IAutoShape)sld.Shapes[0]).TextFrame; +Ниже пример кода, показывающий, как задать межстрочный интервал внутри абзаца: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// Доступ к абзацу -IParagraph para1 = tf1.Paragraphs[0]; + paragraph.ParagraphFormat.SpaceWithin = 200; -// Установка свойств абзаца -para1.ParagraphFormat.SpaceWithin = 80; -para1.ParagraphFormat.SpaceBefore = 40; -para1.ParagraphFormat.SpaceAfter = 40; -// Сохранение презентации -presentation.Save("LineSpacing_out.pptx", SaveFormat.Pptx); + presentation.Save("line_spacing.pptx", SaveFormat.Pptx); +} ``` -## **Установка свойства AutofitType для TextFrame** -В этой теме мы рассмотрим различные свойства форматирования текстовой рамки. В этой статье рассматривается, как установить свойство AutofitType для текстовой рамки, якорь текста и поворот текста в презентации. Aspose.Slides для .NET позволяет разработчикам установить свойство AutofitType для любой текстовой рамки. AutofitType может быть установлен на Normal или Shape. Если установлено на Normal, форма останется прежней, в то время как текст будет отрегулирован без изменения самой формы, в то время как если AutofitType установлен на Shape, то форма будет изменена таким образом, чтобы содержать только необходимый текст. Чтобы установить свойство AutofitType текстовой рамки, пожалуйста, выполните следующие шаги: +Результат: -1. Создайте экземпляр класса [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите доступ к первому слайду. -3. Добавьте любую фигуру на слайд. -4. Получите доступ к TextFrame. -5. Установите AutofitType для TextFrame. -6. Сохраните файл на диск. +![Межстрочный интервал в абзаце](line_spacing.png) -```c# -// Создание экземпляра класса Presentation -Presentation presentation = new Presentation(); +## **Установка типа автоподгонки для текстовых рамок** -// Получение первого слайда -ISlide slide = presentation.Slides[0]; - -// Добавление AutoShape типа Прямоугольник -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); - -// Добавление TextFrame к Прямоугольнику -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; - -// Доступ к текстовой рамке -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; - -// Создание объекта Paragraph для текстовой рамки -IParagraph para = txtFrame.Paragraphs[0]; +Свойство `AutofitType` определяет, как текст ведёт себя, когда превышает границы контейнера. Aspose.Slides for .NET позволяет контролировать, должен ли текст сжиматься, выходить за пределы или автоматически изменять размер фигуры. Этот раздел демонстрирует, как задать `AutofitType` для `TextFrame` для эффективного управления расположением текста внутри фигур. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Создание объекта Portion для абзаца -IPortion portion = para.Portions[0]; -portion.Text = "Мороз и солнце; день чудесный."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// Сохранение презентации -presentation.Save("formatText_out.pptx", SaveFormat.Pptx); + presentation.Save("autofit_type.pptx", SaveFormat.Pptx); +} ``` -## **Установка якоря TextFrame** -Aspose.Slides для .NET позволяет разработчикам устанавливать якорь для любой TextFrame. TextAnchorType указывает, где размещен текст в фигуре. TextAnchorType может быть установлен на Top, Center, Bottom, Justified или Distributed. Чтобы установить якорь для любой TextFrame, пожалуйста, выполните следующие шаги: +## **Установка привязки текстовых рамок** -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите доступ к первому слайду. -3. Добавьте любую фигуру на слайд. -4. Получите доступ к TextFrame. -5. Установите TextAnchorType для TextFrame. -6. Сохраните файл на диск. - -```c# -// Создание экземпляра класса Presentation -Presentation presentation = new Presentation(); +Привязка определяет, как текст позиционируется внутри фигуры по вертикали. С помощью Aspose.Slides for .NET вы можете задать тип привязки `TextFrame`, чтобы выровнять текст к верхней, средней или нижней части фигуры. Этот раздел показывает, как настроить параметры привязки для достижения желаемого вертикального выравнивания текста. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// Получение первого слайда -ISlide slide = presentation.Slides[0]; + autoShape.TextFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; -// Добавление AutoShape типа Прямоугольник -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); + presentation.Save("text_anchor.pptx", SaveFormat.Pptx); +} +``` -// Добавление TextFrame к Прямоугольнику -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; -// Доступ к текстовой рамке -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; +## **Установка табуляции текста** -// Создание объекта Paragraph для текстовой рамки -IParagraph para = txtFrame.Paragraphs[0]; +Табуляция помогает организовать текст в хорошо структурированные макеты, добавляя согласованные интервалы между элементами содержимого. Aspose.Slides for .NET поддерживает настройку пользовательских позиций табуляции внутри абзацев текста, позволяя точно управлять размещением текста. Этот раздел демонстрирует, как настроить табуляцию текста для улучшенного выравнивания и форматирования. +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// Создание объекта Portion для абзаца -IPortion portion = para.Portions[0]; -portion.Text = "Мороз и солнце; день чудесный."; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.ParagraphFormat.DefaultTabSize = 100; + paragraph.ParagraphFormat.Tabs.Add(30, TabAlignment.Left); -// Сохранение презентации -presentation.Save("AnchorText_out.pptx", SaveFormat.Pptx); + presentation.Save("paragraph_tabs.pptx", SaveFormat.Pptx); +} ``` -## **Установка табуляции текста** -- Свойство EffectiveTabs.ExplicitTabCount (2 в нашем случае) равно значению Tabs.Count. -- Коллекция EffectiveTabs включает все табуляции (из коллекции Tabs и стандартных табуляций) -- Свойство EffectiveTabs.ExplicitTabCount (2 в нашем случае) равно значению Tabs.Count. -- Свойство EffectiveTabs.DefaultTabSize (294) показывает расстояние между стандартными табуляциями (3 и 4 в нашем примере). -- EffectiveTabs.GetTabByIndex(index) с индексом = 0 вернет первую явную табуляцию (Position = 731), индекс = 1 - вторую табуляцию (Position = 1241). Если вы попытаетесь получить следующую табуляцию с индексом = 2, это вернет первую стандартную табуляцию (Position = 1470), и так далее. -- EffectiveTabs.GetTabAfterPosition(pos) используется для получения следующей табуляции после некоторого текста. Например, у вас есть текст: "Привет, мир!". Чтобы отобразить такой текст, вам нужно знать, с какого места начинать рисовать "мир!". Вначале вы должны вычислить длину "Привет" в пикселях и вызвать GetTabAfterPosition с этим значением. Вы получите следующую позицию табуляции, чтобы нарисовать "мир!". -## **Установка языка проверки** +Результат: + +![Табуляция абзаца](paragraph_tabs.png) -Aspose.Slides предоставляет свойство [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) (предоставленное классом [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/)), что позволяет вам установить язык проверки для документа PowerPoint. Язык проверки - это язык, на котором проверяются орфография и грамматика в PowerPoint. +## **Установка языка проверки правописания** -Этот код на C# показывает, как установить язык проверки для PowerPoint: +Aspose.Slides предоставляет свойство `LanguageId` класса [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/), которое позволяет задать язык проверки правописания для документа PowerPoint. Язык проверки определяет, какой язык будет использоваться для проверки орфографии и грамматики в PowerPoint. -```c# -using (Presentation pres = new Presentation(pptxFileName)) +Ниже пример кода, показывающий, как задать язык проверки правописания для части текста: +```cs +using (var presentation = new Presentation("presentation.pptx")) { - AutoShape autoShape = (AutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; - IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; paragraph.Portions.Clear(); - Portion newPortion = new Portion(); + var font = new FontData("SimSun"); + + var textPortion = new Portion(); + textPortion.PortionFormat.ComplexScriptFont = font; + textPortion.PortionFormat.EastAsianFont = font; + textPortion.PortionFormat.LatinFont = font; - IFontData font = new FontData("SimSun"); - IPortionFormat portionFormat = newPortion.PortionFormat; - portionFormat.ComplexScriptFont = font; - portionFormat.EastAsianFont = font; - portionFormat.LatinFont = font; + // Установить Id проверочного языка. + textPortion.PortionFormat.LanguageId = "zh-CN"; - portionFormat.LanguageId = "zh-CN"; // установить идентификатор языка проверки - - newPortion.Text = "1。"; - paragraph.Portions.Add(newPortion); + textPortion.Text = "1。"; + paragraph.Portions.Add(textPortion); + + presentation.Save("proofing_language.pptx", SaveFormat.Pptx); } ``` -## **Установка языка по умолчанию** -Этот код на C# показывает, как установить язык по умолчанию для всей презентации PowerPoint: +## **Установка языка по умолчанию** -```c# -LoadOptions loadOptions = new LoadOptions(); +Указание языка по умолчанию для текста обеспечивает корректную проверку орфографии, переносов и синтез речи в PowerPoint. Aspose.Slides for .NET позволяет задавать язык на уровне части текста или абзаца. Этот раздел показывает, как определить язык по умолчанию для текста вашей презентации. +```cs +var loadOptions = new LoadOptions(); loadOptions.DefaultTextLanguage = "en-US"; -using (Presentation pres = new Presentation(loadOptions)) + +using (var presentation = new Presentation(loadOptions)) { - // Добавление новой прямоугольной фигуры с текстом - IAutoShape shp = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 50); - shp.TextFrame.Text = "Новый текст"; - - // Проверка языка первой порции - Console.WriteLine(shp.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId); + var slide = presentation.Slides[0]; + + // Добавить новую прямоугольную форму с текстом. + var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 150, 50); + shape.TextFrame.Text = "Sample text"; + + // Проверить язык первой части. + var portion = shape.TextFrame.Paragraphs[0].Portions[0]; + Console.WriteLine(portion.PortionFormat.LanguageId); } ``` + ## **Установка стиля текста по умолчанию** -Если вам нужно применить одно и то же форматирование текста по умолчанию ко всем текстовым элементам презентации сразу, вы можете использовать свойство `DefaultTextStyle` интерфейса [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) и установить предпочтительное форматирование. Пример кода ниже показывает, как установить жирный шрифт по умолчанию (14 пунктов) для текста на всех слайдах в новой презентации. +Если необходимо применить одинаковое форматирование текста ко всем элементам презентации одновременно, вы можете использовать свойство `DefaultTextStyle` интерфейса [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) и задать предпочитаемое форматирование. -```c# -using (Presentation presentation = new Presentation()) +Ниже пример кода, показывающий, как задать полужирный шрифт размером 14 пунктов по умолчанию для всего текста на слайдах новой презентации. +```cs +using (var presentation = new Presentation()) { - // Получение формата абзаца верхнего уровня. - IParagraphFormat paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); + // Получить формат абзаца верхнего уровня. + var paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); if (paragraphFormat != null) { @@ -667,6 +523,51 @@ using (Presentation presentation = new Presentation()) paragraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; } - presentation.Save("DefaultTextStyle.pptx", SaveFormat.Pptx); + presentation.Save("default_text_style.pptx", SaveFormat.Pptx); +} +``` + + +## **Извлечение текста с эффектом «Все прописные»** + +В PowerPoint применение эффекта **All Caps** делает текст заглавным на слайде, даже если он был введён строчными буквами. При получении такой части текста с помощью Aspose.Slides библиотека возвращает оригинальный ввод. Чтобы обработать это, проверьте [TextCapType](https://reference.aspose.com/slides/net/aspose.slides/textcaptype/) — если он указывает `All`, просто преобразуйте полученную строку в верхний регистр, чтобы ваш вывод соответствовал тому, что видят пользователи на слайде. + +Предположим, что на первом слайде файла sample2.pptx находится следующий текстовый блок. + +![Эффект All Caps](all_caps_effect.png) + +Ниже пример кода, показывающий, как извлечь текст с применённым эффектом **All Caps**: +```cs +using (var presentation = new Presentation("sample2.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var textPortion = autoShape.TextFrame.Paragraphs[0].Portions[0]; + + Console.WriteLine($"Original text: {textPortion.Text}"); + + var textFormat = textPortion.PortionFormat.GetEffective(); + if (textFormat.TextCapType == TextCapType.All) + { + var text = textPortion.Text.ToUpper(); + Console.WriteLine($"All-Caps effect: {text}"); + } } -``` \ No newline at end of file +``` + + +Вывод: +```text +Original text: Hello, Aspose! +All-Caps effect: HELLO, ASPOSE! +``` + + +## **FAQ** + +**Как изменить текст в таблице на слайде?** + +Для изменения текста в таблице на слайде необходимо использовать объект [ITable](https://reference.aspose.com/slides/net/aspose.slides/itable/). Вы можете перебрать все ячейки таблицы и изменить текст в каждой, получая доступ к её `TextFrame` и параметрам `ParagraphFormat`. + +**Как применить градиентный цвет к тексту в слайде PowerPoint?** + +Чтобы применить градиентный цвет к тексту, используйте свойство `FillFormat` в классе [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/). Установите `FillFormat` в `Gradient`, где можно задать начальный и конечный цвета градиента, а также другие параметры, такие как направление и прозрачность, для создания градиентного эффекта в тексте. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-text/wordart/_index.md b/ru/net/developer-guide/presentation-content/manage-text/wordart/_index.md index 987a00730d..f7e23f77ae 100644 --- a/ru/net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,372 +1,257 @@ --- -title: WordArt +title: Создание и применение эффектов WordArt в C# +linktitle: WordArt type: docs weight: 110 url: /ru/net/wordart/ -keywords: "WordArt, Word Art, Создать WordArt, шаблон WordArt, эффекты WordArt, эффекты теней, эффекты отображения, эффекты свечения, трансформации WordArt, 3D эффекты, эффекты внешней тени, эффекты внутренней тени, C#, Csharp, Aspose.Slides для .NET" -description: "Добавьте, изменяйте и управляйте WordArt и эффектами в презентациях PowerPoint на C# или Aspose.Slides для .NET" +keywords: +- WordArt +- создание WordArt +- шаблон WordArt +- эффект WordArt +- эффект тени +- эффект отображения +- эффект свечения +- трансформация WordArt +- 3D-эффект +- эффект внешней тени +- эффект внутренней тени +- C# +- Csharp +- .NET +- Aspose.Slides +description: "Узнайте, как создавать и настраивать эффекты WordArt в Aspose.Slides для .NET. Это пошаговое руководство помогает разработчикам улучшать презентации стильным, профессиональным текстом на C#." --- -## **Что такое WordArt?** -WordArt или Word Art — это функция, которая позволяет применять эффекты к текстам, чтобы они выделялись. С WordArt, например, вы можете обвести текст или заполнить его цветом (или градиентом), добавить к нему 3D эффекты и т. д. Вы также можете наклонять, гнуть и растягивать форму текста. +## **Обзор** -{{% alert color="primary" %}} - -WordArt позволяет вам обращаться с текстом так же, как с графическим объектом. WordArt состоит из эффектов или специальных модификаций, внесенных в тексты, чтобы сделать их более привлекательными или заметными. - -{{% /alert %}} - -**WordArt в Microsoft PowerPoint** - -Чтобы использовать WordArt в Microsoft PowerPoint, вам нужно выбрать один из предопределенных шаблонов WordArt. Шаблон WordArt — это набор эффектов, который применяется к тексту или его форме. - -**WordArt в Aspose.Slides** - -В Aspose.Slides для .NET 20.10 мы реализовали поддержку WordArt и внесли улучшения в эту функцию в последующих выпусках Aspose.Slides для .NET. - -С Aspose.Slides для .NET вы можете легко создать свой собственный шаблон WordArt (один эффект или комбинация эффектов) на C# и применить его к текстам. +Эффекты WordArt позволяют добавлять визуально привлекательный стилизованный текст в презентации PowerPoint. С помощью Aspose.Slides для .NET разработчики могут программно создавать, настраивать и управлять WordArt так же, как в Microsoft PowerPoint — без необходимости установки Office. Эта статья даёт обзор работы с WordArt в .NET, включая применение текстовых трансформаций, стилей заливки, контуров, теней и других параметров форматирования, чтобы сделать содержание презентации более выразительным и захватывающим. WordArt позволяет рассматривать текст как графический объект. Он состоит из эффектов или специальных модификаций, применяемых к тексту, чтобы сделать его более привлекательным или заметным. -## Создание простого шаблона WordArt и применение его к тексту +## **Создать простой шаблон WordArt и применить его к тексту** -**С использованием Aspose.Slides** +В этом разделе мы рассмотрим, как создать простой шаблон WordArt и применить его к тексту с помощью Aspose.Slides для .NET. WordArt предоставляет простой способ улучшить внешний вид текста с помощью выразительных визуальных эффектов и стилей. Освоив базовые шаги создания и использования WordArt, вы сможете легко адаптировать эти методы к любому проекту, делая свои презентации более яркими и запоминающимися. -Сначала мы создаем простой текст, используя этот код на C#: - -``` csharp -using (Presentation pres = new Presentation()) +Сначала мы создаём простой текст, используя следующий код C#: +```cs +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); + ISlide slide = presentation.Slides[0]; + + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 400, 200); ITextFrame textFrame = autoShape.TextFrame; - Portion portion = (Portion)textFrame.Paragraphs[0].Portions[0]; + IPortion portion = textFrame.Paragraphs[0].Portions[0]; portion.Text = "Aspose.Slides"; } ``` -Теперь мы устанавливаем высоту шрифта текста на большее значение, чтобы сделать эффект более заметным, используя этот код: - -``` csharp -FontData fontData = new FontData("Arial Black"); -portion.PortionFormat.LatinFont = fontData; -portion.PortionFormat.FontHeight = 36; -``` - -**С использованием 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 с помощью этого кода: - -``` csharp -portion.PortionFormat.FillFormat.FillType = FillType.Pattern; -portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; -portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; -portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; - -portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +Затем мы задаём высоту шрифта текста большим значением, чтобы эффект был более заметным, используя следующий код: +```cs + portion.PortionFormat.LatinFont = new FontData("Arial Black"); + portion.PortionFormat.FontHeight = 36; ``` -Получившийся текст: -![todo:image_alt_text](image-20200930114108-4.png) +Здесь мы применяем заливку шаблоном SmallGrid к тексту и добавляем чёрный контур текста шириной 1, используя следующий код: +```cs + portion.PortionFormat.FillFormat.FillType = FillType.Pattern; + portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; + portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; + portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; + + portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +``` -## Применение других эффектов WordArt -**С использованием Microsoft PowerPoint** +Получившийся текст: -Из интерфейса программы вы можете применить эти эффекты к тексту, текстовому блоку, форме или аналогичному элементу: +![Простой шаблон WordArt](WordArt_template.png) -![todo:image_alt_text](image-20200930114129-5.png) +## **Применить другие эффекты WordArt** -Например, эффекты теней, отражения и свечения могут быть применены к тексту; 3D формат и 3D поворот могут быть применены к текстовому блоку; атрибут "Мягкие края" может быть применен к объекту формы (он все равно будет действовать, даже если у него не установлен атрибут 3D Формат). +В дополнение к базовым трансформациям Aspose.Slides для .NET позволяет применять разнообразные расширенные эффекты WordArt, чтобы улучшить внешний вид вашего текста. К ним относятся контуры, заливки, тени, отражения и свечения. Комбинируя эти возможности, вы можете создавать привлекающие внимание стили текста, которые выделяются в ваших презентациях. В этом разделе демонстрируется, как программно применять эти эффекты с помощью простых и чистых примеров кода. -### Применение эффектов теней +### **Применить внешние теневые эффекты** -Здесь мы намерены установить свойства, относящиеся только к тексту. Мы применяем эффект тени к тексту с помощью этого кода на C#: +Эффекты внешней тени помогают тексту выделяться, добавляя тень за его контуром, создавая ощущение глубины и отделения от фона. Aspose.Slides для .NET позволяет легко применять и настраивать внешние тени для текста WordArt. В этом разделе вы узнаете, как задавать цвет тени, направление, расстояние, радиус размытия и другие параметры для достижения желаемого визуального эффекта. -``` csharp -portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 65; -portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4.73; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 2; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 30; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); +Следующий фрагмент кода C# применяет эффект тени к ранее созданному тексту. +```cs + portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 30; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 20; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); ``` -API Aspose.Slides поддерживает три типа теней: OuterShadow, InnerShadow и PresetShadow. - - С помощью PresetShadow можно применять тень к тексту (используя предустановленные значения). - -**С использованием Microsoft PowerPoint** -В PowerPoint вы можете использовать один тип тени. Вот пример: - -![todo:image_alt_text](image-20200930114225-6.png) - -**С использованием Aspose.Slides** - -Aspose.Slides на самом деле позволяет применять два типа теней одновременно: InnerShadow и PresetShadow. +Получившийся текст: -**Примечания:** +![Эффект внешней тени](outer_shadow_effect.png) -- Когда используются OuterShadow и PresetShadow одновременно, применяется только эффект OuterShadow. -- Если одновременно используются OuterShadow и InnerShadow, результирующий или применяемый эффект зависит от версии PowerPoint. Например, в PowerPoint 2013 эффект удваивается. Но в PowerPoint 2007 применяется эффект OuterShadow. +{{% alert color="primary" %}} +- Если одновременно используются OuterShadow и PresetShadow, применяется только эффект OuterShadow. +- Если одновременно используются OuterShadow и InnerShadow, результирующий эффект зависит от версии PowerPoint. Например, в PowerPoint 2013 эффект удваивается, а в PowerPoint 2007 применяется только эффект OuterShadow. +{{% /alert %}} + +### **Применить эффекты отражения** + +В этом разделе мы рассмотрим, как применять эффекты отражения в слайдах с помощью Aspose.Slides для .NET. Эффекты отражения могут стать эффективным способом придать вашему тексту или фигурам стильный и современный вид, помогая ключевым элементам выделяться и добавляя глубину презентации. Понимая процесс применения и настройки этих эффектов, вы сможете легко адаптировать их под потребности дизайна и требования брендинга. + +Добавьте эффект отражения к тексту, используя следующий пример кода C#: +```cs + portion.PortionFormat.EffectFormat.EnableReflectionEffect(); + portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; + portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; + portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; +``` -### Применение отображения к текстам -Мы добавляем отображение к тексту с помощью этого образца кода на C#: +Получившийся текст: -``` csharp -portion.PortionFormat.EffectFormat.EnableReflectionEffect(); -portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; -portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; -portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; -``` +![Эффект отражения](reflection_effect.png) -### Применение эффекта свечения к текстам +### **Применить эффекты свечения** -Мы применяем эффект свечения к тексту, чтобы сделать его ярким или выделяющимся, используя этот код: +В этом разделе мы рассмотрим, как применить эффект свечения к тексту с помощью Aspose.Slides для .NET. Эффект свечения может сделать ваш текст более заметным благодаря светящемуся контуру, улучшая визуальную привлекательность слайдов. Настраивая такие параметры, как цвет и интенсивность, вы сможете легко адаптировать свечение под дизайн и требования бренда, гарантируя, что ключевые моменты вашей презентации привлекут внимание аудитории. -``` csharp -portion.PortionFormat.EffectFormat.EnableGlowEffect(); -portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; -portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); -portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; +Примените эффект свечения к тексту, чтобы он светился или выделялся, используя следующий код: +```cs + portion.PortionFormat.EffectFormat.EnableGlowEffect(); + portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; + portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); + portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; ``` -Результат операции: -![todo:image_alt_text](image-20200930114621-7.png) +Получившийся текст: -{{% alert color="primary" %}} +![Эффект свечения](glow_effect.png) -Вы можете изменить параметры для тени, отображения и свечения. Свойства эффектов устанавливаются для каждого порционного текста отдельно. +### **Применить трансформации WordArt** -{{% /alert %}} +В этом разделе мы рассмотрим, как использовать трансформации в WordArt с помощью Aspose.Slides для .NET. Трансформации позволяют изгибать, растягивать или искажать текст, создавая уникальные и визуально впечатляющие эффекты. Овладев этими техниками, вы сможете легко адаптировать формы и стили текста под ваш бренд или креативное видение, обеспечивая убедительную и отполированную презентацию. -### Использование трансформаций в WordArt - -Мы используем свойство Transform (присущее всему блоку текста) через следующий код: -``` csharp -textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; +Используйте свойство `Transform` (которое применяется ко всему блоку текста), используя следующий код: +```cs + textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; ``` -Результат: - -![todo:image_alt_text](image-20200930114712-8.png) -{{% alert color="primary" %}} +Получившийся текст: -Как Microsoft PowerPoint, так и Aspose.Slides для .NET предоставляют определенное количество предопределенных типов трансформаций. +![Трансформация WordArt](transform_effect.png) +{{% alert color="primary" %}} +Aspose.Slides для .NET предоставляет набор предопределённых [типов трансформаций](https://reference.aspose.com/slides/net/aspose.slides/textshapetype/). {{% /alert %}} -**С использованием PowerPoint** - -Чтобы получить доступ к предопределенным типам трансформаций, пройдите через: **Формат** -> **Текстовый эффект** -> **Трансформация** +### **Применить 3D-эффекты к фигурам и тексту** -**С использованием Aspose.Slides** +Создание реалистичных, притягательных визуальных элементов может значительно усилить воздействие ваших презентаций. В этом разделе мы рассмотрим, как применять трёхмерные (3D) эффекты к фигурам с помощью Aspose.Slides для .NET. Манипулируя параметрами, такими как глубина, угол и освещение, вы можете создавать впечатляющие 3D‑трансформации, которые сразу же привлекут внимание аудитории. Независимо от того, стремитесь ли вы к тонким акцентам или драматическим иллюзиям, эти возможности предоставляют гибкие способы улучшить дизайн и передать идеи более увлекательно. -Чтобы выбрать тип трансформации, используйте перечисление TextShapeType. +Используйте следующий пример кода, чтобы задать 3D‑эффект фигуре: +```cs + autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelBottom.Height = 10.5; + autoShape.ThreeDFormat.BevelBottom.Width = 10.5; -### Применение 3D эффектов к текстам и формам + autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelTop.Height = 12.5; + autoShape.ThreeDFormat.BevelTop.Width = 11; -Мы устанавливаем 3D эффект для текстовой формы с помощью этого образца кода: + autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + autoShape.ThreeDFormat.ExtrusionHeight = 6; -``` csharp -autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelBottom.Height = 10.5; -autoShape.ThreeDFormat.BevelBottom.Width = 10.5; + autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; + autoShape.ThreeDFormat.ContourWidth = 1.5; -autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelTop.Height = 12.5; -autoShape.ThreeDFormat.BevelTop.Width = 11; + autoShape.ThreeDFormat.Depth = 3; -autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -autoShape.ThreeDFormat.ExtrusionHeight = 6; + autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; -autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; -autoShape.ThreeDFormat.ContourWidth = 1.5; + autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -autoShape.ThreeDFormat.Depth = 3; - -autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; - -autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); - -autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -Результирующий текст и его форма: -![todo:image_alt_text](image-20200930114816-9.png) +Получившаяся фигура: -Мы применяем 3D эффект к тексту с помощью этого кода на C#: +![3D‑эффект фигуры](shape_3D_effect.png) -``` csharp -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; +Используйте следующий пример кода, чтобы задать 3D‑эффект тексту: +```cs + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; -textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; -textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; + textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; + textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; -textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; + textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; -textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; + textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); + textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -Результат операции: - -![todo:image_alt_text](image-20200930114905-10.png) -{{% alert color="primary" %}} - -Применение 3D эффектов к текстам или их формам и взаимодействие между эффектами основаны на определенных правилах. +Получившийся текст: -Рассмотрим сцену для текста и фигуры, содержащей этот текст. 3D эффект включает в себя представление 3D объекта и сцену, на которой объект был установлен. +![3D‑эффект текста](text_3D_effect.png) -- Когда сцена установлена для обеих фигур и текста, приоритет отдается сцене фигуры — сцена текста игнорируется. -- Когда у фигуры нет своей сцены, но есть 3D представление, используется сцена текста. -- В противном случае — когда форма изначально не имеет 3D эффекта — форма плоская, и 3D эффект применяется только к тексту. +{{% alert color="primary" %}} +Применение 3D‑эффектов к тексту или их фигурам — а также взаимодействие между этими эффектами — регулируется определёнными правилами. Рассмотрим сцену, включающую как текст, так и фигуру, содержащую этот текст. 3D‑эффект включает 3D‑представление объекта и сцену, на которой он размещён. -Описание связано со свойствами [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/lightrig) и [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/camera). +- Если сцена задана одновременно для фигуры и текста, приоритет имеет сцена фигуры, а сцена текста игнорируется. +- Если у фигуры нет собственной сцены, но есть 3D‑представление, используется сцена текста. +- Если у фигуры вообще нет 3D‑эффекта, она считается плоской, и 3D‑эффект применяется только к тексту. +Эти поведения относятся к свойствам [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/lightrig/) и [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/camera/). {{% /alert %}} -## **Применение эффектов внешней тени к текстам** -Aspose.Slides для .NET предоставляет классы [**IOuterShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/ioutershadow) и [**IInnerShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/iinnershadow), которые позволяют применять эффекты теней к тексту, представленному TextFrame. Пройдите через следующие шаги: - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/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 тени на черный. -12. Запишите презентацию в файл PPTX. - -Этот образец кода на C# — реализация вышеизложенных шагов — демонстрирует, как применить эффект внешней тени к тексту: - -```c# -using (Presentation pres = new Presentation()) -{ - - // Получить ссылку на слайд - ISlide sld = pres.Slides[0]; - - // Добавить AutoShape типа Rectangle - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - - // Добавить TextFrame в Rectangle - ashp.AddTextFrame("Aspose TextBox"); - - // Отключить заливку фигуры, если мы хотим получить тень текста - ashp.FillFormat.FillType = FillType.NoFill; - - // Добавить внешнюю тень и установить все необходимые параметры - ashp.EffectFormat.EnableOuterShadowEffect(); - IOuterShadow shadow = ashp.EffectFormat.OuterShadowEffect; - shadow.BlurRadius = 4.0; - shadow.Direction = 45; - shadow.Distance = 3; - shadow.RectangleAlign = RectangleAlignment.TopLeft; - shadow.ShadowColor.PresetColor = PresetColor.Black; - - //Записать презентацию на диск - pres.Save("pres_out.pptx", SaveFormat.Pptx); -} -``` - - -## **Применение эффекта внутренней тени к формам** -Пройдите через следующие шаги: - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Получите ссылку на слайд. -3. Добавьте AutoShape типа Rectangle. -4. Включите InnerShadowEffect. -5. Установите все необходимые параметры. -6. Установите ColorType как Scheme. -7. Установите цвет схемы. -8. Запишите презентацию как файл [PPTX](https://docs.fileformat.com/presentation/pptx/). +## **FAQ** -Этот образец кода (на основе вышеизложенных шагов) показывает, как добавить соединитель между двумя формами на C#: +**Могу ли я использовать эффекты WordArt с различными шрифтами или сценариями (например, арабский, китайский)?** -```c# -using(Presentation presentation = new Presentation()) -{ - // Получить ссылку на слайд - ISlide slide = presentation.Slides[0]; +Да, Aspose.Slides для .NET поддерживает Unicode и работает со всеми основными шрифтами и сценариями. Эффекты WordArt, такие как тень, заливка и контур, можно применять независимо от языка, хотя доступность шрифтов и их отображение могут зависеть от системных шрифтов. - // Добавить AutoShape типа Rectangle - IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 400, 300); - ashp.FillFormat.FillType = FillType.NoFill; +**Могу ли я применять эффекты WordArt к элементам шаблона слайда?** - // Добавить TextFrame в Rectangle - ashp.AddTextFrame("Aspose TextBox"); - IPortion port = ashp.TextFrame.Paragraphs[0].Portions[0]; - IPortionFormat pf = port.PortionFormat; - pf.FontHeight = 50; +Да, вы можете применять эффекты WordArt к объектам на шаблонах слайдов, включая заполнители заголовков, нижние колонтитулы или фоновой текст. Изменения, внесённые в макет шаблона, отразятся на всех связанных слайдах. - // Включить InnerShadowEffect - IEffectFormat ef = pf.EffectFormat; - ef.EnableInnerShadowEffect(); +**Влияют ли эффекты WordArt на размер файла презентации?** - // Установить все необходимые параметры - ef.InnerShadowEffect.BlurRadius = 8.0; - ef.InnerShadowEffect.Direction = 90.0F; - ef.InnerShadowEffect.Distance = 6.0; - ef.InnerShadowEffect.ShadowColor.B = 189; +Слегка. Эффекты WordArt, такие как тени, свечения и градиентные заливки, могут немного увеличить размер файла из‑за добавленных метаданных форматирования, но разница обычно незначительна. - // Установить ColorType как Scheme - ef.InnerShadowEffect.ShadowColor.ColorType = ColorType.Scheme; +**Могу ли я предварительно просмотреть результат эффектов WordArt без сохранения презентации?** - // Установить цвет схемы - ef.InnerShadowEffect.ShadowColor.SchemeColor = SchemeColor.Accent1; - - // Сохранить презентацию - presentation.Save("WordArt_out.pptx", SaveFormat.Pptx); -} -``` \ No newline at end of file +Да, вы можете отрисовывать слайды с WordArt в изображения (например, PNG, JPEG), используя метод `GetImage` из интерфейсов [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/) или [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/). Это позволяет предварительно просмотреть результат в памяти или на экране до сохранения или экспорта полной презентации. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/manage-zoom/_index.md b/ru/net/developer-guide/presentation-content/manage-zoom/_index.md index 2738856d92..46873fe090 100644 --- a/ru/net/developer-guide/presentation-content/manage-zoom/_index.md +++ b/ru/net/developer-guide/presentation-content/manage-zoom/_index.md @@ -1,41 +1,48 @@ --- -title: Управление Зумом +title: Управление Zoom type: docs weight: 60 url: /ru/net/manage-zoom/ -keywords: "Zoom, рамка зума, добавить зум, формат рамки зума, Зум резюме, презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Добавьте зум или рамки зума в презентации PowerPoint на C# или .NET" +keywords: + - zoom + - кадр zoom + - добавить zoom + - форматировать кадр zoom + - сводный zoom + - презентация PowerPoint + - C# + - Csharp + - Aspose.Slides for .NET +description: "Добавьте zoom или кадры zoom в презентации PowerPoint на C# или .NET" --- ## **Обзор** -Зумы в PowerPoint позволяют вам переходить к конкретным слайдам, разделам и частям презентации и обратно. Когда вы представляете, эта возможность быстро перемещаться по контенту может оказаться очень полезной. +Zoom в PowerPoint позволяет переходить к конкретным слайдам, разделам и частям презентации и возвращаться от них. При проведении презентации такая возможность быстрого перемещения по содержимому может оказаться очень полезной. ![overview_image](overview.png) -* Чтобы обобщить всю презентацию на одном слайде, используйте [Зум резюме](#Summary-Zoom). -* Чтобы показать только выбранные слайды, используйте [Зум слайда](#Slide-Zoom). -* Чтобы показать только один раздел, используйте [Зум раздела](#Section-Zoom). +* Чтобы суммировать всю презентацию на одном слайде, используйте [Сводный Zoom](#Summary-Zoom). +* Чтобы показать только выбранные слайды, используйте [Zoom слайда](#Slide-Zoom). +* Чтобы показать только один раздел, используйте [Zoom раздела](#Section-Zoom). -## **Зум слайда** -Зум слайда может сделать вашу презентацию более динамичной, позволяя вам свободно перемещаться между слайдами в любом порядке без прерывания потока вашей презентации. Зумы слайдов отличны для коротких презентаций без множества разделов, но вы все равно можете использовать их в различных сценариях презентации. +## **Zoom слайда** +Zoom слайда может сделать вашу презентацию более динамичной, позволяя свободно перемещаться между слайдами в любом порядке без прерывания потока презентации. Zoom слайда отлично подходит для коротких презентаций без множества разделов, но их можно использовать и в других сценариях. -Зумы слайдов помогают вам углубиться в несколько частей информации, ощущая себя на одном канвасе. +Zoom слайда помогает углубляться в несколько блоков информации, создавая ощущение, что вы работаете на едином холсте. ![overview_image](slidezoomsel.png) -Для объектов зума слайда Aspose.Slides предоставляет перечисление [ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype), интерфейс [IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe) и некоторые методы в интерфейсе [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +Для объектов Zoom слайда Aspose.Slides предоставляет перечисление [ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype), интерфейс [IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe) и некоторые методы интерфейса [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -### **Создание рамок зума** +### **Создание Zoom‑кадров** -Вы можете добавить рамку зума на слайд следующим образом: +Вы можете добавить Zoom‑кадр на слайд следующим образом: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Создайте новые слайды, к которым вы собираетесь связать рамки зума. +2. Создайте новые слайды, к которым вы планируете привязать Zoom‑кадры. 3. Добавьте идентификационный текст и фон к созданным слайдам. -4. Добавьте рамки зума (с содержащими ссылками на созданные слайды) к первому слайду. -5. Запишите измененную презентацию в виде файла PPTX. - -Этот код C# показывает, как создать рамку зума на слайде: +4. Добавьте Zoom‑кадры (содержащие ссылки на созданные слайды) на первый слайд. +5. Сохраните изменённую презентацию в файл PPTX. ``` csharp using (Presentation pres = new Presentation()) @@ -44,128 +51,137 @@ using (Presentation pres = new Presentation()) ISlide slide2 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); ISlide slide3 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); - // Создает фон для второго слайда + // Создаёт фон для второго слайда slide2.Background.Type = BackgroundType.OwnBackground; slide2.Background.FillFormat.FillType = FillType.Solid; slide2.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // Создает текстовое поле для второго слайда + // Создаёт текстовое поле для второго слайда IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Второй слайд"; + autoshape.TextFrame.Text = "Second Slide"; - // Создает фон для третьего слайда + // Создаёт фон для третьего слайда slide3.Background.Type = BackgroundType.OwnBackground; slide3.Background.FillFormat.FillType = FillType.Solid; slide3.Background.FillFormat.SolidFillColor.Color = Color.DarkKhaki; - // Создает текстовое поле для третьего слайда + // Создаёт текстовое поле для третьего слайда autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Третий слайд"; + autoshape.TextFrame.Text = "Trird Slide"; - //Добавляет объекты ZoomFrame + //Adds ZoomFrame objects + // Добавляет объекты ZoomFrame pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); + // Saves the presentation // Сохраняет презентацию pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Создание рамок зума с индивидуальными изображениями** -С помощью Aspose.Slides для .NET вы можете создать рамку зума с другим изображением предпросмотра слайда следующим образом: +### **Создание Zoom‑кадров с пользовательскими изображениями** +С помощью Aspose.Slides для .NET вы можете создать Zoom‑кадр с другим изображением предварительного просмотра слайда следующим образом: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Создайте новый слайд, к которому вы собираетесь связать рамку зума. +2. Создайте новый слайд, к которому вы планируете привязать Zoom‑кадр. 3. Добавьте идентификационный текст и фон к слайду. -4. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в коллекцию изображений, связанную с объектом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), который будет использоваться для заполнения рамки. -5. Добавьте рамки зума (с содержащими ссылками на созданный слайд) к первому слайду. -6. Запишите измененную презентацию в виде файла PPTX. - -Этот код C# показывает, как создать рамку зума с другим изображением: +4. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в коллекцию Images, связанную с объектом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), которое будет использоваться для заполнения кадра. +5. Добавьте Zoom‑кадры (содержащие ссылку на созданный слайд) на первый слайд. +6. Сохраните изменённую презентацию в файл PPTX. ``` csharp using (Presentation pres = new Presentation()) { + //Adds a new slide to the presentation //Добавляет новый слайд в презентацию ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); - // Создает фон для второго слайда + // Creates a background for the second slide + // Создаёт фон для второго слайда slide.Background.Type = BackgroundType.OwnBackground; slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // Создает текстовое поле для третьего слайда + // Creates a text box for the third slide + // Создаёт текстовое поле для третьего слайда IAutoShape autoshape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Второй слайд"; + autoshape.TextFrame.Text = "Second Slide"; - // Создает новое изображение для объекта зума - IPPImage image = pres.Images.AddImage(Image.FromFile("image.png")); + // Creates a new image for the zoom object + // Создаёт новое изображение для объекта Zoom + IImage image = Images.FromFile("image.png"); + IPPImage ppImage = pres.Images.AddImage(image); + image.Dispose(); + //Adds the ZoomFrame object //Добавляет объект ZoomFrame - pres.Slides[0].Shapes.AddZoomFrame(20, 20, 300, 200, slide, image); + pres.Slides[0].Shapes.AddZoomFrame(20, 20, 300, 200, slide, ppImage); + // Saves the presentation // Сохраняет презентацию pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Форматирование рамок зума** -В предыдущих разделах мы показали, как создать простые рамки зума. Чтобы создать более сложные рамки зума, вам необходимо изменить форматирование простой рамки. Существует несколько параметров форматирования, которые вы можете применить к рамке зума. +### **Форматирование Zoom‑кадров** +В предыдущих разделах мы показали, как создать простые Zoom‑кадры. Чтобы создать более сложные Zoom‑кадры, необходимо изменить форматирование простого кадра. Существует несколько вариантов форматирования, которые можно применить к Zoom‑кадру. -Вы можете контролировать форматирование рамки зума на слайде следующим образом: +Вы можете управлять форматированием Zoom‑кадра на слайде следующим образом: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -2. Создайте новые слайды, к которым вы собираетесь связать рамку зума. -3. Добавьте некоторый идентификационный текст и фон к созданным слайдам. -4. Добавьте рамки зума (с содержащими ссылками на созданные слайды) к первому слайду. -5. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в коллекцию изображений, связанную с объектом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), который будет использоваться для заполнения рамки. -6. Установите индивидуальное изображение для первого объекта рамки зума. -7. Измените формат линии для второго объекта рамки зума. -8. Удалите фон из изображения второго объекта рамки зума. -9. Запишите измененную презентацию в виде файла PPTX. - -Этот код C# показывает, как изменить форматирование рамки зума на слайде: - -``` csharp +2. Создайте новые слайды, к которым вы планируете привязать Zoom‑кадр. +3. Добавьте идентификационный текст и фон к созданным слайдам. +4. Добавьте Zoom‑кадры (содержащие ссылки на созданные слайды) на первый слайд. +5. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в коллекцию Images, связанную с объектом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) для заполнения кадра. +6. Установите собственное изображение для первого Zoom‑кадра. +7. Измените формат линии для второго Zoom‑кадра. +8. Удалите фон из изображения второго Zoom‑кадра. +5. Сохраните изменённую презентацию в файл PPTX. + +``` csharp using (Presentation pres = new Presentation()) { - //Добавляет новые слайды в презентацию + // Добавляет новые слайды в презентацию ISlide slide2 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); ISlide slide3 = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); - // Создает фон для второго слайда + // Создаёт фон для второго слайда slide2.Background.Type = BackgroundType.OwnBackground; slide2.Background.FillFormat.FillType = FillType.Solid; slide2.Background.FillFormat.SolidFillColor.Color = Color.Cyan; - // Создает текстовое поле для второго слайда + // Создаёт текстовое поле для второго слайда IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Второй слайд"; + autoshape.TextFrame.Text = "Second Slide"; - // Создает фон для третьего слайда + // Создаёт фон для третьего слайда slide3.Background.Type = BackgroundType.OwnBackground; slide3.Background.FillFormat.FillType = FillType.Solid; slide3.Background.FillFormat.SolidFillColor.Color = Color.DarkKhaki; - // Создает текстовое поле для третьего слайда + // Создаёт текстовое поле для третьего слайда autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "Третий слайд"; + autoshape.TextFrame.Text = "Trird Slide"; - //Добавляет объекты ZoomFrame + // Добавляет объекты ZoomFrame IZoomFrame zoomFrame1 = pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); IZoomFrame zoomFrame2 = pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); - // Создает новое изображение для объекта зума - IPPImage image = pres.Images.AddImage(Image.FromFile("image.png")); - // Устанавливает индивидуальное изображение для объекта zoomFrame1 - zoomFrame1.Image = image; + // Создаёт новое изображение для объекта Zoom + IImage image = Images.FromFile("image.png"); + IPPImage ppImage = pres.Images.AddImage(image); + image.Dispose(); - // Устанавливает формат рамки зума для объекта zoomFrame2 + // Устанавливает пользовательское изображение для объекта zoomFrame1 + zoomFrame1.ZoomImage = ppImage; + + // Устанавливает формат zoom‑кадра для объекта zoomFrame2 zoomFrame2.LineFormat.Width = 5; zoomFrame2.LineFormat.FillFormat.FillType = FillType.Solid; zoomFrame2.LineFormat.FillFormat.SolidFillColor.Color = Color.HotPink; zoomFrame2.LineFormat.DashStyle = LineDashStyle.DashDot; - // Установка для Не показывать фон для объекта zoomFrame2 + // Настройка отключения фонового изображения для объекта zoomFrame2 zoomFrame2.ShowBackground = false; // Сохраняет презентацию @@ -173,26 +189,25 @@ using (Presentation pres = new Presentation()) } ``` -## **Зум раздела** -Зум раздела — это ссылка на раздел в вашей презентации. Вы можете использовать зумы разделов, чтобы вернуться к разделам, которые действительно хотите подчеркнуть. Или вы можете использовать их, чтобы показать, как определенные части вашей презентации связаны. +## **Zoom раздела** + +Zoom раздела — это ссылка на раздел в вашей презентации. Вы можете использовать Zoom раздела, чтобы вернуться к разделам, которые хотите особенно подчеркнуть. Или использовать их для демонстрации того, как отдельные части вашей презентации связаны между собой. ![overview_image](seczoomsel.png) -Для объектов зума раздела Aspose.Slides предоставляет интерфейс [ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe) и некоторые методы в интерфейсе [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +Для объектов Zoom раздела Aspose.Slides предоставляет интерфейс [ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe) и некоторые методы интерфейса [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -### **Создание рамок зума раздела** +### **Создание Zoom‑кадров раздела** -Вы можете добавить рамку зума раздела на слайд следующим образом: +Вы можете добавить Zoom‑кадр раздела на слайд следующим образом: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Создайте новый слайд. 3. Добавьте идентификационный фон к созданному слайду. -4. Создайте новый раздел, к которому вы собираетесь связать рамку зума. -5. Добавьте рамку зума раздела (с содержащими ссылками на созданный раздел) к первому слайду. -6. Запишите измененную презентацию в виде файла PPTX. - -Этот код C# показывает, как создать рамку зума на слайде: +4. Создайте новый раздел, к которому вы планируете привязать Zoom‑кадр. +5. Добавьте Zoom‑кадр раздела (содержащий ссылки на созданный раздел) на первый слайд. +6. Сохраните изменённую презентацию в файл PPTX. ``` csharp using (Presentation pres = new Presentation()) @@ -204,7 +219,7 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - pres.Sections.AddSection("Раздел 1", slide); + pres.Sections.AddSection("Section 1", slide); // Добавляет объект SectionZoomFrame ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); @@ -214,76 +229,74 @@ using (Presentation pres = new Presentation()) } ``` -### **Создание рамок зума раздела с индивидуальными изображениями** +### **Создание Zoom‑кадров раздела с пользовательскими изображениями** -Используя Aspose.Slides для .NET, вы можете создать рамку зума раздела с другим изображением предпросмотра слайда следующим образом: +Используя Aspose.Slides для .NET, вы можете создать Zoom‑кадр раздела с другим изображением предварительного просмотра слайда следующим образом: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Создайте новый слайд. 3. Добавьте идентификационный фон к созданному слайду. -4. Создайте новый раздел, к которому вы собираетесь связать рамку зума. -5. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в коллекцию изображений, связанную с объектом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), который будет использоваться для заполнения рамки. -6. Добавьте рамку зума раздела (с содержащими ссылками на созданный раздел) к первому слайду. -7. Запишите измененную презентацию в виде файла PPTX. - -Этот код C# показывает, как создать рамку зума с другим изображением: +4. Создайте новый раздел, к которому вы планируете привязать Zoom‑кадр. +5. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в коллекцию Images, связанную с объектом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) для заполнения кадра. +5. Добавьте Zoom‑кадр раздела (содержащий ссылку на созданный раздел) на первый слайд. +6. Сохраните изменённую презентацию в файл PPTX. ``` csharp using (Presentation pres = new Presentation()) { - //Добавляет новый слайд в презентацию + // Добавляет новый слайд в презентацию ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - pres.Sections.AddSection("Раздел 1", slide); + pres.Sections.AddSection("Section 1", slide); - // Создает новое изображение для объекта зума - IPPImage image = pres.Images.AddImage(Image.FromFile("image.png")); + // Создаёт новое изображение для объекта zoom + IImage image = Images.FromFile("image.png"); + IPPImage ppImage = pres.Images.AddImage(image); + image.Dispose(); // Добавляет объект SectionZoomFrame - ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1], image); + ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1], ppImage); // Сохраняет презентацию pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **Форматирование рамок зума раздела** +### **Форматирование Zoom‑кадров раздела** -Чтобы создать более сложные рамки зума раздела, вам необходимо изменить форматирование простой рамки. Существует несколько параметров форматирования, которые вы можете применить к рамке зума раздела. +Чтобы создать более сложные Zoom‑кадры раздела, необходимо изменить форматирование простого кадра. Существует несколько вариантов форматирования, которые можно применить к Zoom‑кадру раздела. -Вы можете контролировать форматирование рамки зума раздела на слайде следующим образом: +Вы можете управлять форматированием Zoom‑кадра раздела на слайде следующим образом: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Создайте новый слайд. 3. Добавьте идентификационный фон к созданному слайду. -4. Создайте новый раздел, к которому вы собираетесь связать рамку зума. -5. Добавьте рамку зума раздела (с содержащими ссылками на созданный раздел) к первому слайду. -6. Измените размер и позицию созданного объекта зума раздела. -7. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в коллекцию изображений, связанную с объектом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), который будет использоваться для заполнения рамки. -8. Установите индивидуальное изображение для созданного объекта рамки зума раздела. -9. Установите возможность *возвращаться к оригинальному слайду из связанного раздела*. -10. Удалите фон из изображения объекта рамки зума раздела. -11. Измените формат линии для второго объекта рамки зума. -12. Измените продолжительность перехода. -13. Запишите измененную презентацию в виде файла PPTX. - -Этот код C# показывает, как изменить форматирование рамки зума раздела: +4. Создайте новый раздел, к которому вы планируете привязать Zoom‑кадр. +5. Добавьте Zoom‑кадр раздела (содержащий ссылки на созданный раздел) на первый слайд. +6. Измените размер и позицию созданного Zoom‑кадра раздела. +7. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в коллекцию Images, связанную с объектом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) для заполнения кадра. +8. Установите собственное изображение для созданного Zoom‑кадра раздела. +9. Установите возможность *возвращения к исходному слайду из связанного раздела*. +10. Удалите фон из изображения Zoom‑кадра раздела. +11. Измените формат линии для второго Zoom‑кадра. +12. Измените длительность перехода. +13. Сохраните изменённую презентацию в файл PPTX. ``` csharp using (Presentation pres = new Presentation()) { - //Добавляет новый слайд в презентацию + // Добавляет новый слайд в презентацию ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - pres.Sections.AddSection("Раздел 1", slide); + pres.Sections.AddSection("Section 1", slide); // Добавляет объект SectionZoomFrame ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); @@ -294,8 +307,11 @@ using (Presentation pres = new Presentation()) sectionZoomFrame.Width = 100; sectionZoomFrame.Height = 75; - IPPImage image = pres.Images.AddImage(Image.FromFile("image.png")); - sectionZoomFrame.Image = image; + IImage image = Images.FromFile("image.png"); + IPPImage ppImage = pres.Images.AddImage(image); + image.Dispose(); + + sectionZoomFrame.ZoomImage = ppImage; sectionZoomFrame.ReturnToParent = true; sectionZoomFrame.ShowBackground = false; @@ -312,24 +328,24 @@ using (Presentation pres = new Presentation()) } ``` -## **Зум резюме** -Зум резюме — это как целевая страница, где все элементы вашей презентации отображаются одновременно. Когда вы представляете, вы можете использовать зум, чтобы перейти из одного места вашей презентации в другое в любом порядке, который вам нравится. Вы можете проявить креативность, пропустить вперед или снова посетить части вашего слайд-шоу, не прерывая поток вашей презентации. + +## **Сводный Zoom** + +Сводный Zoom похож на целевую страницу, где все части вашей презентации отображаются одновременно. Когда вы проводите презентацию, можно использовать Zoom, чтобы перейти от одного места к другому в любом порядке. Можно проявлять креативность, пропускать части или возвращаться к любым слайдам без прерывания потока презентации. ![overview_image](sumzoomsel.png) -Для объектов зума резюме Aspose.Slides предоставляет интерфейсы [ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe), [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection) и [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) и некоторые методы в интерфейсе [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). +Для объектов Сводного Zoom Aspose.Slides предоставляет интерфейсы [ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe), [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection) и [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection), а также некоторые методы интерфейса [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection). -### **Создание зума резюме** +### **Создание Сводного Zoom** -Вы можете добавить рамку зума резюме на слайд таким образом: +Вы можете добавить Сводный Zoom‑кадр на слайд следующим образом: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Создайте новые слайды с идентификационным фоном и новые разделы для созданных слайдов. -3. Добавьте рамку зума резюме к первому слайду. -4. Запишите измененную презентацию в виде файла PPTX. - -Этот код C# показывает, как создать рамку зума резюме на слайде: +3. Добавьте Сводный Zoom‑кадр на первый слайд. +4. Сохраните изменённую презентацию в файл PPTX. ``` csharp using (Presentation pres = new Presentation()) @@ -341,7 +357,7 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - pres.Sections.AddSection("Раздел 1", slide); + pres.Sections.AddSection("Section 1", slide); //Добавляет новый слайд в презентацию slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -350,7 +366,7 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - pres.Sections.AddSection("Раздел 2", slide); + pres.Sections.AddSection("Section 2", slide); //Добавляет новый слайд в презентацию slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -359,16 +375,16 @@ using (Presentation pres = new Presentation()) slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - pres.Sections.AddSection("Раздел 3", slide); + pres.Sections.AddSection("Section 3", slide); - //Добавляет новый слайд в презентацию + //Добавяет новый слайд в презентацию slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.DarkGreen; slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - pres.Sections.AddSection("Раздел 4", slide); + pres.Sections.AddSection("Section 4", slide); // Добавляет объект SummaryZoomFrame ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); @@ -378,57 +394,56 @@ using (Presentation pres = new Presentation()) } ``` -### **Добавление и удаление секции зума резюме** -Все секции в рамке зума резюме представлены объектами [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection), которые хранятся в объекте [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection). Вы можете добавлять или удалять объект секции зума резюме через интерфейс [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection) следующим образом: +### **Добавление и удаление секций Сводного Zoom** + +Все секции в Сводном Zoom‑кадре представлены объектами [ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection), которые хранятся в объекте [ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection). Вы можете добавить или удалить объект секции Сводного Zoom через интерфейс [ISummaryZoomSectionCollection] следующим образом: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Создайте новые слайды с идентификационным фоном и новые разделы для созданных слайдов. -3. Добавьте рамку зума резюме в первый слайд. +3. Добавьте Сводный Zoom‑кадр в первый слайд. 4. Добавьте новый слайд и раздел в презентацию. -5. Добавьте созданный раздел в рамку зума резюме. -6. Удалите первый раздел из рамки зума резюме. -7. Запишите измененную презентацию в виде файла PPTX. - -Этот код C# показывает, как добавлять и удалять секции в рамке зума резюме: +5. Добавьте созданный раздел в Сводный Zoom‑кадр. +6. Удалите первый раздел из Сводного Zoom‑кадра. +7. Сохраните изменённую презентацию в файл PPTX. ``` csharp using (Presentation pres = new Presentation()) { - //Добавляет новый слайд в презентацию + // Добавляет новый слайд в презентацию ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - pres.Sections.AddSection("Раздел 1", slide); + pres.Sections.AddSection("Section 1", slide); - //Добавляет новый слайд в презентацию + // Добавляет новый слайд в презентацию slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - pres.Sections.AddSection("Раздел 2", slide); + pres.Sections.AddSection("Section 2", slide); // Добавляет объект SummaryZoomFrame ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); - //Добавляет новый слайд в презентацию + // Добавляет новый слайд в презентацию slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Chartreuse; slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - ISection section3 = pres.Sections.AddSection("Раздел 3", slide); + ISection section3 = pres.Sections.AddSection("Section 3", slide); - // Добавляет раздел в зум резюме + // Добавляет раздел в Summary Zoom summaryZoomFrame.SummaryZoomCollection.AddSummaryZoomSection(section3); - // Удаляет раздел из зума резюме + // Удаляет раздел из Summary Zoom summaryZoomFrame.SummaryZoomCollection.RemoveSummaryZoomSection(pres.Sections[1]); // Сохраняет презентацию @@ -436,45 +451,44 @@ using (Presentation pres = new Presentation()) } ``` -### **Форматирование секций зума резюме** -Чтобы создать более сложные объекты секции зума резюме, вам необходимо изменить форматирование простой рамки. Существует несколько параметров форматирования, которые вы можете применять к объекту секции зума резюме. +### **Форматирование секций Сводного Zoom** -Вы можете контролировать форматирование объекта секции зума резюме в рамке зума резюме следующим образом: +Чтобы создать более сложные объекты секций Сводного Zoom, необходимо изменить форматирование простого кадра. Существует несколько вариантов форматирования, которые можно применить к объекту секции Сводного Zoom. + +Вы можете управлять форматированием объекта секции Сводного Zoom в Сводном Zoom‑кадре следующим образом: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). 2. Создайте новые слайды с идентификационным фоном и новые разделы для созданных слайдов. -3. Добавьте рамку зума резюме к первому слайду. -4. Получите объект секции зума резюме для первого объекта из `ISummaryZoomSectionCollection`. -5. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в коллекцию изображений, связанную с объектом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation), который будет использоваться для заполнения рамки. -6. Установите индивидуальное изображение для созданного объекта секции зума резюме. -7. Установите возможность *возвращаться к оригинальному слайду из связанного раздела*. -8. Измените формат линий для второго объекта зума. -9. Измените продолжительность перехода. -10. Запишите измененную презентацию в виде файла PPTX. - -Этот код C# показывает, как изменить форматирование для объекта секции зума резюме: +3. Добавьте Сводный Zoom‑кадр на первый слайд. +4. Получите объект секции Сводного Zoom для первого элемента из `ISummaryZoomSectionCollection`. +7. Создайте объект [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage), добавив изображение в коллекцию images, связанную с объектом [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) для заполнения кадра. +8. Установите собственное изображение для созданного Zoom‑кадра секции. +9. Установите возможность *возвращения к исходному слайду из связанного раздела*. +11. Измените формат линии для второго Zoom‑кадра. +12. Измените длительность перехода. +13. Сохраните изменённую презентацию в файл PPTX. ``` csharp using (Presentation pres = new Presentation()) { - //Добавляет новый слайд в презентацию + // Добавляет новый слайд в презентацию ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - pres.Sections.AddSection("Раздел 1", slide); + pres.Sections.AddSection("Section 1", slide); - //Добавляет новый слайд в презентацию + // Добавляет новый слайд в презентацию slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; // Добавляет новый раздел в презентацию - pres.Sections.AddSection("Раздел 2", slide); + pres.Sections.AddSection("Section 2", slide); // Добавляет объект SummaryZoomFrame ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); @@ -482,10 +496,12 @@ using (Presentation pres = new Presentation()) // Получает первый объект SummaryZoomSection ISummaryZoomSection summarySection = summaryZoomFrame.SummaryZoomCollection[0]; - // Форматирование для объекта SummaryZoomSection - IPPImage image = pres.Images.AddImage(Image.FromFile("image.png")); - summarySection.Image = image; + IImage image = Images.FromFile("image.png"); + IPPImage ppImage = pres.Images.AddImage(image); + image.Dispose(); + // Форматирование объекта SummaryZoomSection + summarySection.ZoomImage = ppImage; summarySection.ReturnToParent = false; summarySection.LineFormat.FillFormat.FillType = FillType.Solid; @@ -498,4 +514,19 @@ using (Presentation pres = new Presentation()) // Сохраняет презентацию pres.Save("presentation.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Могу ли я управлять возвратом к «родительскому» слайду после показа цели?** + +Да. У [Zoom frame](https://reference.aspose.com/slides/net/aspose.slides/zoomframe/) или [section](https://reference.aspose.com/slides/net/aspose.slides/sectionzoomframe/) есть свойство `ReturnToParent`, которое при включении отправляет зрителей обратно на исходный слайд после посещения целевого содержимого. + +**Могу ли я настроить «скорость» или длительность перехода Zoom?** + +Да. Zoom поддерживает установку `TransitionDuration`, позволяя контролировать продолжительность анимации перехода. + +**Есть ли ограничения на количество объектов Zoom, которые может содержать презентация?** + +Жёстких ограничений API не задокументировано. Практические ограничения зависят от общей сложности презентации и производительности устройства просмотра. Можно добавить многие Zoom‑кадры, но следует учитывать размер файла и время рендеринга. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md b/ru/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md index 42946727b5..2a4b2f8f53 100644 --- a/ru/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md +++ b/ru/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md @@ -3,28 +3,27 @@ title: Управление тегами и пользовательскими type: docs weight: 300 url: /ru/net/managing-tags-and-custom-data -keywords: "Теги, Пользовательские данные, Значение тегов, Добавить теги, Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Добавьте теги и пользовательские данные в презентации PowerPoint на C# или .NET" +keywords: "Теги, Пользовательские данные, Значение для тегов, Добавление тегов, Презентация PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Добавление тегов и пользовательских данных в презентации PowerPoint на C# или .NET" --- -## Хранение данных в файлах презентации +## **Хранение данных в файлах презентаций** -Файлы PPTX — элементы с расширением .pptx — хранятся в формате PresentationML, который является частью спецификации Office Open XML. Формат Office Open XML определяет структуру данных, содержащихся в презентациях. +Файлы PPTX — элементы с расширением .pptx — хранятся в формате PresentationML, который является частью спецификации Office Open XML. Формат Office Open XML определяет структуру данных, содержащихся в презентациях. -Слайд является одним из элементов презентаций, часть слайда содержит содержимое одного слайда. Части слайда могут иметь явные отношения ко многим частям, таким как Пользовательские Определенные Теги, определенные ISO/IEC 29500. +Слайд (*slide*) является одним из элементов презентации, часть слайда (*slide part*) содержит содержимое одного слайда. Части слайда могут иметь явные связи со многими частями — например, с пользовательскими тегами — определёнными в ISO/IEC 29500. -Пользовательские данные (специфические для презентации) или пользователя могут существовать в виде тегов ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection)) и CustomXmlParts ([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection)). +Пользовательские данные (специфичные для презентации) или пользователь могут существовать в виде тегов ([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection)) и CustomXmlParts ([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection)). {{% alert color="primary" %}} -Теги по сути являются парами значений с ключом-строкой. +Теги по сути представляют собой пары строка‑ключ. {{% /alert %}} -## Получение значений тегов - -В слайдах тег соответствует свойству IDocumentProperties.Keywords. Этот пример кода показывает, как получить значение тега с помощью Aspose.Slides для .NET для [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation): +## **Получение значений тегов** +В слайдах тег соответствует свойству IDocumentProperties.Keywords. Этот пример кода показывает, как получить значение тега с помощью Aspose.Slides for .NET для [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation): ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,17 +31,17 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## Добавление тегов в презентации -Aspose.Slides позволяет добавлять теги в презентации. Тег обычно состоит из двух элементов: +## **Добавление тегов в презентации** -- название пользовательского свойства - `MyTag` -- значение пользовательского свойства - `My Tag Value` +Aspose.Slides позволяет добавлять теги в презентации. Тег обычно состоит из двух элементов: -Если вам нужно классифицировать некоторые презентации на основе конкретного правила или свойства, то вы можете извлечь выгоду от добавления тегов в эти презентации. Например, если вы хотите категоризировать или собрать все презентации из Североамериканских стран вместе, вы можете создать тег Северной Америки и затем назначить соответствующие страны (США, Мексика и Канада) в качестве значений. +- имя пользовательского свойства — `MyTag` +- значение пользовательского свойства — `My Tag Value` -Этот пример кода показывает, как добавить тег в [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) с использованием Aspose.Slides для .NET: +Если вам нужно классифицировать некоторые презентации на основе определённого правила или свойства, то добавление тегов к этим презентациям может быть полезным. Например, если вы хотите сгруппировать все презентации из стран Северной Америки, вы можете создать тег «North American» и назначить в качестве значений соответствующие страны (США, Мексика и Канада). +Этот пример кода показывает, как добавить тег к [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) с помощью Aspose.Slides for .NET: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -51,8 +50,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -Теги также могут быть установлены для [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide): +Теги также могут быть заданы для [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide): ```csharp using(Presentation pres = new Presentation()) { @@ -61,8 +60,8 @@ using(Presentation pres = new Presentation()) } ``` -Или для любого отдельного [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape): +Или для любой отдельной [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape): ```csharp using(Presentation pres = new Presentation()) { @@ -71,4 +70,19 @@ using(Presentation pres = new Presentation()) shape.TextFrame.Text = "My text"; shape.CustomData.Tags["tag"] = "value"; } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Можно ли удалить все теги из презентации, слайда или фигуры одним действием?** + +Да. [Коллекция тегов](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) поддерживает операцию [clear](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/clear/), которая удаляет все пары ключ‑значение сразу. + +**Как удалить один тег по его имени без перебора всей коллекции?** + +Используйте операцию [Remove(name)](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/remove/) на [TagCollection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/), чтобы удалить тег по его ключу. + +**Как получить полный список имён тегов для аналитики или фильтрации?** + +Вызовите [GetNamesOfTags](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/getnamesoftags/) у [коллекции тегов](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/); он возвращает массив всех имён тегов. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md b/ru/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md index 9026e58112..30755ac648 100644 --- a/ru/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md +++ b/ru/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md @@ -1,25 +1,25 @@ --- -title: Анимированные диаграммы +title: "Анимированные диаграммы" type: docs weight: 80 url: /ru/net/animated-charts/ -keywords: "Диаграммы, Серии диаграмм, Анимация Презентации PowerPoint, PPTX, PPT, C#, Csharp, Aspose.Slides для .NET" -description: "Серии диаграмм и анимации PowerPoint на C# или .NET" +keywords: "Диаграммы, Серии диаграмм, Анимация PowerPoint презентаций, PPTX, PPT, C#, Csharp, Aspose.Slides for .NET" +description: "Серии и анимации диаграмм PowerPoint на C# или .NET" --- -Aspose.Slides для .NET поддерживает анимацию элементов диаграммы. **Серии**, **Категории**, **Элементы серий**, **Элементы категорий** могут быть анимированы с помощью [**ISequence**.**AddEffect**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect) и двух перечислений [**EffectChartMajorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype) и [**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype). -## **Анимация серии диаграмм** -Если вы хотите анимировать серию диаграмм, напишите код в соответствии с приведенными ниже шагами: +Aspose.Slides для .NET поддерживает анимацию элементов диаграммы. **Series**, **Categories**, **Series Elements**, **Categories Elements** можно анимировать с помощью метода [**ISequence**.**AddEffect** ](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect) и двумя перечислениями [**EffectChartMajorGroupingType** ](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype)и [**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype). -1. Загрузите презентацию. -1. Получите ссылку на объект диаграммы. -1. Анимируйте серию. -1. Запишите файл презентации на диск. +## **Анимация серии диаграммы** +Если вы хотите анимировать серию диаграммы, напишите код согласно перечисленным ниже шагам: -В приведенном ниже примере мы анимировали серию диаграмм. +1. Загрузите презентацию. +1. Получите ссылку на объект диаграммы. +1. Анимируйте серию. +1. Запишите файл презентации на диск. +В приведённом ниже примере мы анимировали серию диаграммы. ```c# -// Создайте экземпляр класса Presentation, представляющего файл презентации + // Создайте объект класса Presentation, представляющий файл презентации using (Presentation presentation = new Presentation("ExistingChart.pptx")) { // Получите ссылку на объект диаграммы @@ -47,22 +47,21 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) EffectChartMajorGroupingType.BySeries, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // Запишите измененную презентацию на диск + // Запишите изменённую презентацию на диск presentation.Save("AnimatingSeries_out.pptx", SaveFormat.Pptx); } ``` -## **Анимация категории диаграмм** -Если вы хотите анимировать серию диаграмм, напишите код в соответствии с приведенными ниже шагами: +## **Анимация категории диаграммы** +Если вы хотите анимировать категорию диаграммы, напишите код согласно перечисленным ниже шагам: -1. Загрузите презентацию. -1. Получите ссылку на объект диаграммы. -1. Анимируйте категорию. +1. Загрузите презентацию. +1. Получите ссылку на объект диаграммы. +1. Анимируйте категорию. 1. Запишите файл презентации на диск. -В приведенном ниже примере мы анимировали категорию диаграмм. - +В приведённом ниже примере мы анимировали категорию диаграммы. ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -71,7 +70,7 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; - // Анимируйте элементы категорий + // Анимировать элементы категорий slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); @@ -88,32 +87,31 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // Запишите файл презентации на диск + // Записать файл презентации на диск presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx); } ``` -## **Анимация элемента серии** -Если вы хотите анимировать элементы серий, напишите код в соответствии с приведенными ниже шагами: +## **Анимация в элементе серии** +Если вы хотите анимировать элементы серии, напишите код согласно перечисленным ниже шагам: -1. Загрузите презентацию. -1. Получите ссылку на объект диаграммы. -1. Анимируйте элементы серий. +1. Загрузите презентацию. +1. Получите ссылку на объект диаграммы. +1. Анимируйте элементы серии. 1. Запишите файл презентации на диск. -В приведенном ниже примере мы анимировали элементы серий. - +В приведённом ниже примере мы анимировали элементы серии. ```c# -// Загрузите презентацию +// Загрузить презентацию using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // Получите ссылку на объект диаграммы + // Получить ссылку на объект диаграммы var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; - // Анимируйте элементы серий + // Анимировать элементы серии slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); @@ -131,30 +129,31 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInSeries, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // Запишите файл презентации на диск + // Записать файл презентации на диск presentation.Save("AnimatingSeriesElements_out.pptx", SaveFormat.Pptx); +} ``` + ## **Анимация в элементе категории** -Если вы хотите анимировать элементы категорий, напишите код в соответствии с приведенными ниже шагами: +Если вы хотите анимировать элементы категорий, напишите код согласно перечисленным ниже шагам: -1. Загрузите презентацию. -1. Получите ссылку на объект диаграммы. -1. Анимируйте элементы категорий. +1. Загрузите презентацию. +1. Получите ссылку на объект диаграммы. +1. Анимируйте элементы категорий. 1. Запишите файл презентации на диск. -В приведенном ниже примере мы анимировали элементы категорий. - +В приведённом ниже примере мы анимировали элементы категорий. ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { - // Получите ссылку на объект диаграммы + // Получить ссылку на объект диаграммы var slide = presentation.Slides[0] as Slide; var shapes = slide.Shapes as ShapeCollection; var chart = shapes[0] as IChart; - // Анимируйте элементы категорий + // Анимировать элементы категорий slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 0, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 0, 1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); @@ -171,7 +170,25 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, EffectChartMinorGroupingType.ByElementInCategory, 2, 3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - // Запишите файл презентации на диск + // Записать файл презентации на диск presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Поддерживаются ли разные типы эффектов (например, появление, акцент, исчезновение) для диаграмм так же, как и для обычных фигур?** +Да. Диаграмма рассматривается как объект, поэтому она поддерживает стандартные типы анимационных эффектов, включая появление, акцент и исчезновение, с полным управлением через временную шкалу слайда и последовательности анимаций. + +**Можно ли комбинировать анимацию диаграммы с переходами слайда?** +Да. [Переходы](/slides/ru/net/slide-transition/) применяются к слайду, а анимационные эффекты — к объектам на слайде. Вы можете использовать их вместе в одной презентации и управлять ими независимо. + +**Сохраняются ли анимации диаграмм при сохранении в PPTX?** +Да. При [сохранить в PPTX](/slides/ru/net/save-presentation/) все анимационные эффекты и их порядок сохраняются, так как они являются частью native‑модели анимаций презентации. + +**Можно ли прочитать существующие анимации диаграмм из презентации и изменить их?** +Да. [API](https://reference.aspose.com/slides/net/aspose.slides.animation/) предоставляет доступ к временной шкале слайда, последовательностям и эффектам, позволяя инспектировать существующие анимации диаграмм и корректировать их без полной пере‑создания. + +**Можно ли создать видео, включающее анимацию диаграмм, с помощью Aspose.Slides?** +Да. Вы можете [экспортировать презентацию в видео](/slides/ru/net/convert-powerpoint-to-video/), сохранив анимацию, настроив тайминги и другие параметры экспорта, чтобы полученный видеоклип отражал анимированное воспроизведение. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md index f641ad4a83..01c8e0e7d2 100644 --- a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md +++ b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md @@ -1,15 +1,14 @@ --- -title: Расчеты графиков +title: Вычисления диаграмм type: docs weight: 50 url: /ru/net/chart-calculations/ -keywords: "Расчеты графиков, элементы графика, позиция элемента, значения графиков C#, Csharp, Aspose.Slides для .NET" -description: "Расчеты и значения графиков PowerPoint на C# или .NET" +keywords: "Вычисления диаграмм, элементы диаграммы, позиция элемента, значения диаграммы C#, Csharp, Aspose.Slides for .NET" +description: "Вычисления и значения диаграмм PowerPoint на C# или .NET" --- -## **Вычислить фактические значения элементов графика** -Aspose.Slides для .NET предоставляет простой API для получения этих свойств. Это поможет вам вычислить фактические значения элементов графика. Фактические значения включают позицию элементов, реализующих интерфейс IActualLayout (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) и фактические значения осей (IAxis.ActualMaxValue, IAxis.ActualMinValue, IAxis.ActualMajorUnit, IAxis.ActualMinorUnit, IAxis.ActualMajorUnitScale, IAxis.ActualMinorUnitScale). - +## **Вычисление фактических значений элементов диаграммы** +Aspose.Slides for .NET предоставляет простой API для получения этих свойств. Это поможет вам вычислить фактические значения элементов диаграммы. Фактические значения включают положение элементов, реализующих интерфейс IActualLayout (IActualLayout.ActualX, IActualLayout.ActualY, IActualLayout.ActualWidth, IActualLayout.ActualHeight) и фактические значения осей (IAxis.ActualMaxValue, IAxis.ActualMinValue, IAxis.ActualMajorUnit, IAxis.ActualMinorUnit, IAxis.ActualMajorUnitScale, IAxis.ActualMinorUnitScale). ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -26,10 +25,8 @@ using (Presentation pres = new Presentation("test.pptx")) ``` - -## **Вычислить фактическую позицию родительских элементов графика** -Aspose.Slides для .NET предоставляет простой API для получения этих свойств. Свойства IActualLayout предоставляют информацию о фактической позиции родительского элемента графика. Необходимо предварительно вызвать метод IChart.ValidateChartLayout(), чтобы заполнить свойства фактическими значениями. - +## **Вычисление фактической позиции родительских элементов диаграммы** +Aspose.Slides for .NET предоставляет простой API для получения этих свойств. Свойства IActualLayout предоставляют информацию о фактической позиции родительского элемента диаграммы. Необходимо предварительно вызвать метод IChart.ValidateChartLayout(), чтобы заполнить свойства фактическими значениями. ```c# // Создание пустой презентации using (Presentation pres = new Presentation()) @@ -45,29 +42,27 @@ using (Presentation pres = new Presentation()) ``` - -## **Скрыть информацию из графика** -Эта тема поможет вам понять, как скрыть информацию из графика. Используя Aspose.Slides для .NET, вы можете скрыть **Заголовок, Вертикальную Ось, Горизонтальную Ось** и **Сеточные Линии** из графика. Ниже приведен пример кода, который демонстрирует, как использовать эти свойства. - +## **Скрытие информации на диаграмме** +Эта статья поможет вам понять, как скрыть информацию на диаграмме. С помощью Aspose.Slides for .NET вы можете скрыть **Заголовок, Вертикальную ось, Горизонтальную ось** и **Сетки** на диаграмме. Пример кода ниже показывает, как использовать эти свойства. ```c# using (Presentation pres = new Presentation()) { ISlide slide = pres.Slides[0]; IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 140, 118, 320, 370); - //Скрыть заголовок графика + //Скрытие заголовка диаграммы chart.HasTitle = false; - ///Скрыть значения оси + ///Скрытие оси значений chart.Axes.VerticalAxis.IsVisible = false; - // Видимость оси категории + //Видимость оси категорий chart.Axes.HorizontalAxis.IsVisible = false; - //Скрыть легенду + //Скрытие легенды chart.HasLegend = false; - //Скрыть основные сеточные линии + //Скрытие основных линий сетки chart.Axes.HorizontalAxis.MajorGridLinesFormat.Line.FillFormat.FillType = FillType.NoFill; for (int i = 0; i < chart.ChartData.Series.Count; i++) @@ -82,11 +77,26 @@ using (Presentation pres = new Presentation()) series.Labels.DefaultDataLabelFormat.Position = LegendDataLabelPosition.Top; series.Marker.Size = 15; - //Установить цвет линии серии + //Установка цвета линии серии series.Format.Line.FillFormat.FillType = FillType.Solid; series.Format.Line.FillFormat.SolidFillColor.Color = Color.Purple; series.Format.Line.DashStyle = LineDashStyle.Solid; pres.Save("HideInformationFromChart.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Работают ли внешние книги Excel в качестве источника данных и как это влияет на перерасчёт?** + +Да. Диаграмма может ссылаться на внешнюю книгу: когда вы подключаете или обновляете внешний источник, формулы и значения берутся из этой книги, и диаграмма отражает изменения во время открытых/редактируемых операций. API позволяет вам [указать путь к внешней книге](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/) и управлять связанными данными. + +**Могу ли я вычислять и отображать линии тренда без реализации регрессии самостоятельно?** + +Да. [Линии тренда](/slides/ru/net/trend-line/) (линейные, экспоненциальные и другие) добавляются и обновляются Aspose.Slides; их параметры автоматически пересчитываются из данных рядов, поэтому вам не нужно реализовывать собственные вычисления. + +**Если презентация содержит несколько диаграмм с внешними ссылками, могу ли я управлять тем, какую книгу каждый график использует для вычисленных значений?** + +Да. Каждая диаграмма может указывать на свою собственную [внешнюю книгу](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/), либо вы можете создать/заменить внешнюю книгу для каждой диаграммы независимо от остальных. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md index 42ab0839e6..78a0831e0f 100644 --- a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md +++ b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md @@ -1,14 +1,13 @@ --- -title: Вызов +title: Вынос type: docs url: /ru/net/callout/ -keywords: "Вызов графика, метка данных графика, C#, Csharp, Aspose.Slides для .NET" -description: "Вызовы графиков PowerPoint и метки данных на C# или .NET" +keywords: "Вынос диаграммы, метка данных диаграммы, C#, Csharp, Aspose.Slides for .NET" +description: "Выносы и метки данных диаграмм PowerPoint на C# или .NET" --- -## **Использование вызовов** -Новое свойство **ShowLabelAsDataCallout** было добавлено в класс **DataLabelFormat** и интерфейс **IDataLabelFormat**, которое определяет, будет ли указанная метка данных графика отображаться как вызов данных или как метка данных. В приведенном ниже примере мы установили вызовы. - +## **Using Callouts** +В класс **DataLabelFormat** и интерфейс **IDataLabelFormat** добавлено новое свойство **ShowLabelAsDataCallout**, которое определяет, будет ли метка данных указанного графика отображаться в виде выноса или в виде метки данных. В приведённом ниже примере мы установили выносы. ```c# using (Presentation presentation = new Presentation()) { @@ -22,9 +21,9 @@ using (Presentation presentation = new Presentation()) -## **Установка вызова для кольцевого графика** -Aspose.Slides для .NET предоставляет поддержку для установки формы вызова метки данных серии для кольцевого графика. Приведем ниже пример. +## **Set Callout for Doughnut Chart** +Aspose.Slides for .NET предоставляет возможность задавать форму выноса метки данных серии для кольцевой диаграммы. Ниже приведён пример. ```c# Presentation pres = new Presentation("testc.pptx"); ISlide slide = pres.Slides[0]; @@ -36,7 +35,7 @@ chart.HasLegend = false; int seriesIndex = 0; while (seriesIndex < 15) { - IChartSeries series = chart.ChartData.Series.Add(workBook.GetCell(0, 0, seriesIndex + 1, "СЕРИЯ " + seriesIndex), chart.Type); + IChartSeries series = chart.ChartData.Series.Add(workBook.GetCell(0, 0, seriesIndex + 1, "SERIES " + seriesIndex), chart.Type); series.Explosion = 0; series.ParentSeriesGroup.DoughnutHoleSize = (byte)20; series.ParentSeriesGroup.FirstSliceAngle = 351; @@ -45,7 +44,7 @@ while (seriesIndex < 15) int categoryIndex = 0; while (categoryIndex < 15) { - chart.ChartData.Categories.Add(workBook.GetCell(0, categoryIndex + 1, 0, "КАТЕГОРИЯ " + categoryIndex)); + chart.ChartData.Categories.Add(workBook.GetCell(0, categoryIndex + 1, 0, "CATEGORY " + categoryIndex)); int i = 0; while (i < chart.ChartData.Series.Count) { @@ -82,4 +81,15 @@ while (categoryIndex < 15) categoryIndex++; } pres.Save("chart.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**Сохраняются ли выносы при конвертации презентации в PDF, HTML5, SVG или изображения?** + +Да. Выносы являются частью отрисовки диаграммы, поэтому при экспорте в [PDF](/slides/ru/net/convert-powerpoint-to-pdf/), [HTML5](/slides/ru/net/export-to-html5/), [SVG](/slides/ru/net/render-a-slide-as-an-svg-image/) или [растровые изображения](/slides/ru/net/convert-powerpoint-to-png/), они сохраняются вместе с форматированием слайда. + +**Работают ли пользовательские шрифты в выносах, и можно ли сохранить их внешний вид при экспорте?** + +Да. Aspose.Slides поддерживает [встраивание шрифтов](/slides/ru/net/embedded-font/) в презентацию и управляет встраиванием шрифтов при экспорте, например в [PDF](/slides/ru/net/convert-powerpoint-to-pdf/), обеспечивая одинаковый внешний вид выносов на разных системах. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index 6545bce084..8fcfe6d1af 100644 --- a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,27 +1,25 @@ --- -title: Ось графика +title: Ось диаграммы type: docs url: /ru/net/chart-axis/ -keywords: "Ось графика PowerPoint, Презентационные графики, C#, .NET, Манипуляция осью графика, Данные графика" -description: "Редактирование оси графика PowerPoint на C# или .NET" +keywords: "Ось диаграммы PowerPoint, Диаграммы презентаций, C#, .NET, Управление осью диаграммы, Данные диаграммы" +description: "Редактировать ось диаграммы PowerPoint на C# или .NET" --- +## **Получение максимальных значений на вертикальной оси диаграмм** +Aspose.Slides для .NET позволяет получить минимальные и максимальные значения на вертикальной оси. Перейдите к этим шагам: -## **Получение максимальных значений на вертикальной оси графиков** -Aspose.Slides для .NET позволяет вам получать минимальные и максимальные значения на вертикальной оси. Выполните следующие шаги: - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Получите доступ к первому слайду. -1. Добавьте график с данными по умолчанию. -1. Получите фактическое максимальное значение на оси. -1. Получите фактическое минимальное значение на оси. -1. Получите фактический основной интервал оси. -1. Получите фактический вспомогательный интервал оси. -1. Получите фактическую шкалу основного интервала оси. -1. Получите фактическую шкалу вспомогательного интервала оси. +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +2. Получите доступ к первому слайду. +3. Добавьте диаграмму с данными по умолчанию. +4. Получите фактическое максимальное значение на оси. +5. Получите фактическое минимальное значение на оси. +6. Получите фактическую основную единицу оси. +7. Получите фактическую вспомогательную единицу оси. +8. Получите фактический масштаб основной единицы оси. +9. Получите фактический масштаб вспомогательной единицы оси. Этот пример кода — реализация вышеуказанных шагов — показывает, как получить необходимые значения на C#: - ```c# using (Presentation pres = new Presentation()) { @@ -40,18 +38,17 @@ using (Presentation pres = new Presentation()) ``` -## **Обмен данными между осями** -Aspose.Slides позволяет вам быстро обмениваться данными между осями — данные, представленные на вертикальной оси (ось Y), перемещаются на горизонтальную ось (ось X) и наоборот. - -Этот код на C# показывает, как выполнить задачу обмена данными между осями на графике: +## **Перемещение данных между осями** +Aspose.Slides позволяет быстро поменять местами данные между осями — данные, отображаемые на вертикальной оси (y‑axis), перемещаются на горизонтальную ось (x‑axis) и наоборот. +Этот код на C# показывает, как выполнить задачу обмена данными между осями на диаграмме: ```c# // Создает пустую презентацию using (Presentation pres = new Presentation()) { IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 400, 300); - // Меняет строки и столбцы местами + //Переключает строки и столбцы chart.ChartData.SwitchRowColumn(); // Сохраняет презентацию @@ -59,10 +56,10 @@ using (Presentation pres = new Presentation()) } ``` -## **Отключение вертикальной оси для линейных графиков** -Этот код на C# показывает, как скрыть вертикальную ось для линейного графика: +## **Отключение вертикальной оси для линейных диаграмм** +Этот код на C# показывает, как скрыть вертикальную ось для линейной диаграммы: ```c# using (Presentation pres = new Presentation()) { @@ -73,10 +70,10 @@ using (Presentation pres = new Presentation()) } ``` -## **Отключение горизонтальной оси для линейных графиков** -Этот код показывает, как скрыть горизонтальную ось для линейного графика: +## **Отключение горизонтальной оси для линейных диаграмм** +Этот код показывает, как скрыть горизонтальную ось для линейной диаграммы: ```c# using (Presentation pres = new Presentation()) { @@ -87,10 +84,10 @@ using (Presentation pres = new Presentation()) } ``` -## **Изменение категории оси** -Используя свойство **CategoryAxisType**, вы можете указать предпочитаемый тип категории оси (**дата** или **текст**). Этот код на C# демонстрирует операцию: +## **Изменение оси категорий** +Используя свойство **CategoryAxisType**, вы можете указать предпочитаемый тип оси категорий (**date** или **text**). Этот код на C# демонстрирует операцию: ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -103,9 +100,9 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) } ``` -## **Установка формата даты для значения оси категории** -Aspose.Slides для .NET позволяет вам установить формат даты для значения оси категории. Эта операция демонстрируется в следующем коде на C#: +## **Установка формата даты для значения оси категорий** +Aspose.Slides для .NET позволяет задать формат даты для значения оси категорий. Операция демонстрируется в этом коде на C#: ```c# using (Presentation pres = new Presentation()) { @@ -134,9 +131,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Установка угла поворота для заголовка оси графика** -Aspose.Slides для .NET позволяет вам установить угол поворота для заголовка оси графика. Этот код на C# демонстрирует операцию: +## **Установка угла вращения заголовка оси диаграммы** +Aspose.Slides для .NET позволяет задать угол вращения заголовка оси диаграммы. Этот код на C# демонстрирует операцию: ```c# using (Presentation pres = new Presentation()) { @@ -148,9 +145,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Установка оси позиции в категории или значении оси** -Aspose.Slides для .NET позволяет вам установить ось позиции в категории или значении оси. Этот код на C# показывает, как выполнить задачу: +## **Установка позиции оси в оси категорий или значений** +Aspose.Slides для .NET позволяет задать позицию оси в оси категорий или значений. Этот код на C# показывает, как выполнить задачу: ```c# using (Presentation pres = new Presentation()) { @@ -161,9 +158,9 @@ using (Presentation pres = new Presentation()) } ``` -## **Включение метки единицы отображения на оси значения графика** -Aspose.Slides для .NET позволяет вам настроить график для отображения метки единицы на своей оси значения графика. Этот код на C# демонстрирует операцию: +## **Включение отображения единицы измерения на оси значений диаграммы** +Aspose.Slides для .NET позволяет настроить диаграмму для отображения метки единицы измерения на её оси значений. Этот код на C# демонстрирует операцию: ```c# using (Presentation pres = new Presentation(dataDir+"Test.pptx")) { @@ -171,4 +168,15 @@ using (Presentation pres = new Presentation(dataDir+"Test.pptx")) chart.Axes.VerticalAxis.DisplayUnit = DisplayUnitType.Millions; pres.Save("Result.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Часто задаваемые вопросы** + +**Как задать значение, при котором одна ось пересекает другую (пересечение осей)?** + +Оси предоставляют [настройку пересечения](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/crosstype/): вы можете выбрать пересечение на нуле, на максимальном значении категории/значения или в конкретном числовом значении. Это полезно для смещения оси X вверх или вниз или для выделения базовой линии. + +**Как можно разместить метки делений относительно оси (вбок, снаружи, внутри)?** + +Установите [позицию метки](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/majortickmark/) в значение "cross", "outside" или "inside". Это влияет на читаемость и помогает экономить место, особенно в небольших диаграммах. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md index 06616676ce..2e294c8f76 100644 --- a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md +++ b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md @@ -1,33 +1,32 @@ --- -title: Метки данных диаграммы +title: Подпись данных диаграммы type: docs url: /ru/net/chart-data-label/ -keywords: "Метка данных диаграммы, расстояние между метками, C#, Csharp, Aspose.Slides для .NET" -description: "Установка меток данных диаграммы PowerPoint и расстояния в C# или .NET" +keywords: "Подпись данных диаграммы,расстояние подписи, C#, Csharp, Aspose.Slides for .NET" +description: "Установить подпись данных диаграммы PowerPoint и расстояние в C# или .NET" --- -Меток данных на диаграмме показывают детали о серии данных диаграммы или отдельных точках данных. Они позволяют читателям быстро идентифицировать серии данных и делают диаграммы легче для понимания. +Подписи данных на диаграмме показывают детали о серии данных диаграммы или отдельных точках данных. Они позволяют читателям быстро идентифицировать серии данных и делают диаграммы легче для восприятия. -## **Установить точность данных в метках данных диаграммы** - -Этот код C# показывает, как установить точность данных в метке данных диаграммы: +## **Установка точности данных в подписях диаграммы** +Этот C# код показывает, как задать точность данных в подписи диаграммы: ```c# using (Presentation pres = new Presentation()) { - IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Line, 50, 50, 450, 300); - chart.HasDataTable = true; - chart.ChartData.Series[0].NumberFormatOfValues = "#,##0.00"; + IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Line, 50, 50, 450, 300); + chart.HasDataTable = true; + chart.ChartData.Series[0].NumberFormatOfValues = "#,##0.00"; - pres.Save("PrecisionOfDatalabels_out.pptx", SaveFormat.Pptx); + pres.Save("PrecisionOfDatalabels_out.pptx", SaveFormat.Pptx); } ``` -## **Отображение процентов в качестве меток** -Aspose.Slides для .NET позволяет устанавливать метки процентов на отображаемых диаграммах. Этот код C# демонстрирует операцию: +## **Отображение процента в виде подписей** +Aspose.Slides for .NET позволяет устанавливать процентные подписи на отображаемых диаграммах. Этот C# код демонстрирует операцию: ```c# -// Создание экземпляра класса Presentation +// Создает экземпляр класса Presentation Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; @@ -72,45 +71,45 @@ for (int x = 0; x < chart.ChartData.Series.Count; x++) } } -// Сохранение презентации, содержащей диаграмму +// Сохраняет презентацию, содержащую диаграмму presentation.Save("DisplayPercentageAsLabels_out.pptx", SaveFormat.Pptx); ``` -## **Установить знак процента для меток данных диаграммы** -Этот код C# показывает, как установить знак процента для метки данных диаграммы: +## **Установка знака процента в подписях диаграммы** +Этот C# код показывает, как установить знак процента для подписи диаграммы: ```c# -// Создание экземпляра класса Presentation +// Создает экземпляр класса Presentation Presentation presentation = new Presentation(); -// Получение ссылки на слайд по его индексу +// Получает ссылку на слайд по его индексу ISlide slide = presentation.Slides[0]; -// Создание диаграммы PercentsStackedColumn на слайде +// Создает диаграмму PercentsStackedColumn на слайде IChart chart = slide.Shapes.AddChart(ChartType.PercentsStackedColumn, 20, 20, 500, 400); -// Установка NumberFormatLinkedToSource в false +// Устанавливает NumberFormatLinkedToSource в false chart.Axes.VerticalAxis.IsNumberFormatLinkedToSource = false; chart.Axes.VerticalAxis.NumberFormat = "0.00%"; chart.ChartData.Series.Clear(); int defaultWorksheetIndex = 0; -// Получение рабочей таблицы данных диаграммы +// Получает рабочий лист данных диаграммы IChartDataWorkbook workbook = chart.ChartData.ChartDataWorkbook; -// Добавление новых серий +// Добавляет новую серию IChartSeries series = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 1, "Reds"), chart.Type); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 1, 0.30)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 1, 0.50)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 3, 1, 0.80)); series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 4, 1, 0.65)); -// Установка цвета заливки серии +// Устанавливает цвет заливки серии series.Format.Fill.FillType = FillType.Solid; series.Format.Fill.SolidFillColor.Color = Color.Red; -// Установка свойств LabelFormat +// Задает свойства LabelFormat series.Labels.DefaultDataLabelFormat.ShowValue = true; series.Labels.DefaultDataLabelFormat.IsNumberFormatLinkedToSource = false; series.Labels.DefaultDataLabelFormat.NumberFormat = "0.0%"; @@ -119,14 +118,14 @@ series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.FillTyp series.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.White; series.Labels.DefaultDataLabelFormat.ShowValue = true; -// Добавление новой серии +// Добавляет новую серию IChartSeries series2 = chart.ChartData.Series.Add(workbook.GetCell(defaultWorksheetIndex, 0, 2, "Blues"), chart.Type); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 1, 2, 0.70)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 2, 2, 0.50)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 3, 2, 0.20)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 4, 2, 0.35)); -// Установка типа заливки и цвета +// Устанавливает тип заливки и цвет series2.Format.Fill.FillType = FillType.Solid; series2.Format.Fill.SolidFillColor.Color = Color.Blue; series2.Labels.DefaultDataLabelFormat.ShowValue = true; @@ -136,36 +135,36 @@ series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FontHeight = 10; series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.FillType = FillType.Solid; series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidFillColor.Color = Color.White; -// Запись презентации на диск +// Сохраняет презентацию на диск presentation.Save("SetDataLabelsPercentageSign_out.pptx", SaveFormat.Pptx); ``` -## **Установить расстояние метки от оси** -Этот код C# показывает, как установить расстояние метки от оси категории, когда вы работаете с диаграммой, построенной по осям: +## **Установка расстояния подписи от оси** +Этот C# код показывает, как задать расстояние подписи от оси категории, когда вы работаете с диаграммой, построенной по осям: ```c# -// Создание экземпляра класса Presentation +// Создает экземпляр класса Presentation Presentation presentation = new Presentation(); -// Получение ссылки на слайд +// Получает ссылку на слайд ISlide sld = presentation.Slides[0]; -// Создание диаграммы на слайде +// Создает диаграмму на слайде IChart ch = sld.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 300); -// Установка расстояния метки от оси +// Устанавливает расстояние подписи от оси ch.Axes.HorizontalAxis.LabelOffset = 500; -// Запись презентации на диск +// Сохраняет презентацию на диск presentation.Save("SetCategoryAxisLabelDistance_out.pptx", SaveFormat.Pptx); ``` -## **Регулировка расположения меток** -Когда вы создаете диаграмму, которая не зависит от каких-либо осей, например круговую диаграмму, метки данных диаграммы могут оказаться слишком близко к краю. В таком случае вам нужно отрегулировать расположение метки данных, чтобы линии соединения отображались четко. +## **Регулировка положения подписи** -Этот код C# показывает, как отрегулировать расположение метки на круговой диаграмме: +Когда вы создаёте диаграмму, не зависящую от осей, например круговую диаграмму, подписи данных могут оказаться слишком близко к её краю. В таком случае необходимо скорректировать положение подписи, чтобы линии‑выноски отображались чётко. +Этот C# код показывает, как скорректировать положение подписи на круговой диаграмме: ```c# using (Presentation pres = new Presentation()) { @@ -183,4 +182,19 @@ using (Presentation pres = new Presentation()) } ``` -![круговая-диаграмма-с-регулированной-меткой](pie-chart-adjusted-label.png) \ No newline at end of file + +![pie-chart-adjusted-label](pie-chart-adjusted-label.png) + +## **FAQ** + +**Как предотвратить перекрытие подписей данных на плотных диаграммах?** + +Сочетайте автоматическое размещение подписей, линии‑выноски и уменьшенный размер шрифта; при необходимости скрывайте некоторые поля (например, категорию) или показывайте подписи только для экстремальных/ключевых точек. + +**Как отключить подписи только для нулевых, отрицательных или пустых значений?** + +Фильтруйте точки данных перед включением подписей и отключайте отображение для значений 0, отрицательных значений или отсутствующих значений согласно заданному правилу. + +**Как обеспечить единый стиль подписи при экспорте в PDF/изображения?** + +Явно задавайте шрифты (семейство, размер) и проверяйте, что шрифт доступен на стороне рендеринга, чтобы избежать подстановки. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index b3eee444da..eb0b1e19fd 100644 --- a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -1,56 +1,61 @@ --- -title: Параметры маркеров данных диаграммы +title: Маркер данных диаграммы type: docs url: /ru/net/chart-data-marker/ -keywords: "Опции маркеров диаграммы, презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" +keywords: +- параметры маркеров диаграммы +- PowerPoint +- презентация +- C# +- Csharp +- Aspose.Slides for .NET description: "Установите параметры маркеров диаграммы в презентациях PowerPoint на C# или .NET" --- ## **Настройка параметров маркеров диаграммы** -Маркеры могут быть установлены на точки данных диаграммы внутри конкретных рядов. Чтобы установить параметры маркеров диаграммы, следуйте приведенным ниже шагам: +Маркеры можно установить на точках данных диаграммы в конкретных сериях. Чтобы настроить параметры маркеров диаграммы, выполните следующие шаги: - Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -- Создайте стандартную диаграмму. +- Создайте диаграмму по умолчанию. - Установите изображение. -- Получите первый ряд диаграммы. +- Получите первую серию диаграммы. - Добавьте новую точку данных. - Сохраните презентацию на диск. -В приведенном ниже примере мы установили параметры маркеров диаграммы на уровне точек данных. - +В приведенном ниже примере мы настроили параметры маркеров диаграммы на уровне точек данных. ```c# -// Создайте экземпляр класса Presentation -Presentation presentation = new Presentation(); +// Создать экземпляр класса Presentation +using Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; -// Создание стандартной диаграммы +// Creating the default chart IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 0, 0, 400, 400); -// Получаем индекс рабочего листа данных диаграммы +// Getting the default chart data worksheet index int defaultWorksheetIndex = 0; -// Получаем рабочий лист данных диаграммы +// Getting the chart data worksheet IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook; -// Удаляем демонстрационные ряды +// Delete demo series chart.ChartData.Series.Clear(); -// Добавляем новые ряды -chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Ряд 1"), chart.Type); - -// Установите изображение -System.Drawing.Image image1 = (System.Drawing.Image)new Bitmap("aspose-logo.jpg"); +// Add new series +chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type); + +// Set the picture +using IImage image1 = Images.FromFile("aspose-logo.jpg"); IPPImage imgx1 = presentation.Images.AddImage(image1); -// Установите изображение -System.Drawing.Image image2 = (System.Drawing.Image)new Bitmap("Tulips.jpg"); +// Set the picture +using IImage image2 = Images.FromFile("Tulips.jpg"); IPPImage imgx2 = presentation.Images.AddImage(image2); -// Получите первый ряд диаграммы +// Take first chart series IChartSeries series = chart.ChartData.Series[0]; -// Добавляем новую точку (1:3) туда. +// Add new point (1:3) there. IChartDataPoint point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, (double)4.5)); point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx1; @@ -67,9 +72,20 @@ point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorkshee point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx2; -// Изменение маркера ряда диаграммы +// Changing the chart series marker series.Marker.Size = 15; -// Сохраняем презентацию на диск +// Write presentation to disk presentation.Save("MarkOptions_out.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**Какие формы маркеров доступны из коробки?** + +Доступны стандартные формы (круг, квадрат, ромб, треугольник и т.д.); список определяется перечислением [MarkerStyleType](https://reference.aspose.com/slides/net/aspose.slides.charts/markerstyletype/). Если нужна нестандартная форма, используйте маркер с заполнением изображением, чтобы имитировать пользовательскую визуализацию. + +**Сохраняются ли маркеры при экспорте диаграммы в изображение или SVG?** + +Да. При рендеринге диаграмм в [растровые форматы](/slides/ru/net/convert-powerpoint-to-png/) или сохранении [форм в SVG](/slides/ru/net/render-a-slide-as-an-svg-image/), маркеры сохраняют свой внешний вид и настройки, включая размер, заливку и контур. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md index 4c84068b0b..3766a83fbc 100644 --- a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md +++ b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md @@ -1,22 +1,21 @@ --- -title: Таблица данных графика +title: Таблица данных диаграммы type: docs url: /ru/net/chart-data-table/ -keywords: "Свойства шрифта, таблица данных графика, презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Установите свойства шрифта для таблицы данных графика в презентациях PowerPoint на C# или .NET" +keywords: "Свойства шрифта, таблица данных диаграммы, презентация PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Установите свойства шрифта для таблицы данных диаграммы в презентациях PowerPoint на C# или .NET" --- -## **Установите свойства шрифта для таблицы данных графика** -Aspose.Slides для .NET предоставляет поддержку изменения цвета категорий в цвете серии. +## **Установить свойства шрифта для таблицы данных диаграммы** +Aspose.Slides for .NET предоставляет возможность изменять цвет категорий в цветовом ряду. -1. Создайте объект класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Добавьте график на слайд. -1. Установите таблицу графика. -1. Установите высоту шрифта. -1. Сохраните изменённую презентацию. - - Ниже приведен пример кода. +1. Создать объект класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Добавить диаграмму на слайд. +1. Установить таблицу диаграммы. +1. Установить высоту шрифта. +1. Сохранить изменённую презентацию. +Ниже приведён пример. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -29,4 +28,23 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **Часто задаваемые вопросы** + +**Можно ли отображать небольшие ключи легенды рядом со значениями в таблице данных диаграммы?** + +Да. Таблица данных поддерживает [legend keys](https://reference.aspose.com/slides/net/aspose.slides.charts/datatable/showlegendkey/), и их можно включать или отключать. + +**Будет ли таблица данных сохраняться при экспорте презентации в PDF, HTML или изображения?** + +Да. Aspose.Slides рендерит диаграмму как часть слайда, поэтому экспортированный [PDF](/slides/ru/net/convert-powerpoint-to-pdf/)/[HTML](/slides/ru/net/convert-powerpoint-to-html/)/[image](/slides/ru/net/convert-powerpoint-to-png/) включает диаграмму с её таблицей данных. + +**Поддерживаются ли таблицы данных для диаграмм, полученных из шаблона?** + +Да. Для любой диаграммы, загруженной из существующей презентации или шаблона, можно проверить и изменить, отображается ли таблица данных, используя свойства диаграммы. + +**Как быстро определить, какие диаграммы в файле имеют включённую таблицу данных?** + +Проверьте свойство каждой диаграммы, указывающее, отображается ли таблица данных, и пройдитесь по слайдам, чтобы определить диаграммы с включённой таблицей. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index 775f540e03..4a0ea50857 100644 --- a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -1,52 +1,51 @@ --- -title: Легенда графика +title: Легенда диаграммы type: docs url: /ru/net/chart-legend/ -keywords: "Легенда графика, размер шрифта легенды, презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Настройка позиционирования и размера шрифта для легенды графика в презентациях PowerPoint на C# или .NET" +keywords: "Легенда диаграммы, размер шрифта легенды, презентация PowerPoint, C#, Csharp, Aspose.Slides for .NET" +description: "Установите позицию и размер шрифта легенды диаграммы в презентациях PowerPoint на C# или .NET" --- -## **Позиционирование легенды** -Чтобы установить свойства легенды, выполните следующие шаги: +## **Расположение легенды** +Чтобы задать свойства легенды, выполните следующие шаги: - Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). - Получите ссылку на слайд. -- Добавьте график на слайд. +- Добавьте диаграмму на слайд. - Установите свойства легенды. -- Запишите презентацию в файл PPTX. - -В приведенном ниже примере мы настроили позицию и размер для легенды графика. +- Сохраните презентацию в файл PPTX. +В приведенном ниже примере мы задали положение и размер легенды диаграммы. ```c# -// Создайте экземпляр класса Presentation +// Создать экземпляр класса Presentation Presentation presentation = new Presentation(); -// Получите ссылку на слайд +// Получить ссылку на слайд ISlide slide = presentation.Slides[0]; -// Добавьте групповой столбчатый график на слайд +// Добавить кластеризованную столбчатую диаграмму на слайд IChart chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 500); -// Установите свойства легенды +// Установить свойства легенды chart.Legend.X = 50 / chart.Width; chart.Legend.Y = 50 / chart.Height; chart.Legend.Width = 100 / chart.Width; chart.Legend.Height = 100 / chart.Height; -// Запишите презентацию на диск +// Сохранить презентацию на диск presentation.Save("Legend_out.pptx", SaveFormat.Pptx); ``` + ## **Установить размер шрифта легенды** -Aspose.Slides для .NET позволяет разработчикам устанавливать размер шрифта легенды. Пожалуйста, выполните следующие шаги: +Aspose.Slides для .NET позволяет разработчикам установить размер шрифта легенды. Пожалуйста, выполните следующие шаги: - Создайте экземпляр класса `Presentation`. -- Создайте график по умолчанию. +- Создайте диаграмму по умолчанию. - Установите размер шрифта. - Установите минимальное значение оси. - Установите максимальное значение оси. -- Запишите презентацию на диск. - +- Сохраните презентацию на диск. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -62,17 +61,17 @@ using (Presentation pres = new Presentation("test.pptx")) } ``` -## **Установить размер шрифта для отдельных элементов легенды** -Aspose.Slides для .NET позволяет разработчикам устанавливать размер шрифта для отдельных элементов легенды. Пожалуйста, выполните следующие шаги: + +## **Установить размер шрифта отдельной записи легенды** +Aspose.Slides для .NET позволяет разработчикам задать размер шрифта отдельных записей легенды. Пожалуйста, выполните следующие шаги: - Создайте экземпляр класса `Presentation`. -- Создайте график по умолчанию. -- Получите доступ к элементу легенды. +- Создайте диаграмму по умолчанию. +- Получите доступ к записи легенды. - Установите размер шрифта. - Установите минимальное значение оси. - Установите максимальное значение оси. -- Запишите презентацию на диск. - +- Сохраните презентацию на диск. ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -87,4 +86,19 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**Можно ли включить легенду так, чтобы диаграмма автоматически выделяла для неё место, а не накладывала её?** + +Да. Используйте режим без наложения ([Overlay](https://reference.aspose.com/slides/net/aspose.slides.charts/legend/overlay/) = `false`); в этом случае область построения уменьшится, чтобы разместить легенду. + +**Можно ли создавать многострочные метки легенды?** + +Да. Длинные метки автоматически переносятся, если места недостаточно; принудительные переносы строки поддерживаются с помощью символов новой строки в имени серии. + +**Как заставить легенду следовать цветовой схеме темы презентации?** + +Не задавайте явные цвета/заливки/шрифты для легенды или её текста. Они будут наследоваться от темы и корректно обновятся при изменении дизайна. \ No newline at end of file diff --git a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index b57bc9547a..8017db5416 100644 --- a/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/ru/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -1,23 +1,22 @@ --- -title: Область построения графика +title: Область построения диаграммы type: docs url: /ru/net/chart-plot-area/ -keywords: "Область построения графика Презентация PowerPoint, C#, Csharp, Aspose.Slides для .NET" -description: "Получите ширину, высоту области построения графика. Установите режим компоновки. Презентация PowerPoint на C# или .NET" +keywords: "Область построения диаграммы PowerPoint презентация, C#, Csharp, Aspose.Slides for .NET" +description: "Получить ширину и высоту области построения диаграммы. Установить режим размещения. Презентация PowerPoint на C# или .NET" --- -## **Получить ширину, высоту области построения графика** -Aspose.Slides для .NET предоставляет простой API для. - -1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). -1. Получите доступ к первому слайду. -1. Добавьте график с умолчаниями. -1. Вызовите метод IChart.ValidateChartLayout() перед получением актуальных значений. -1. Получите фактическое положение X (слева) элемента графика относительно левого верхнего угла графика. -1. Получите фактическую верхнюю границу элемента графика относительно левого верхнего угла графика. -1. Получите фактическую ширину элемента графика. -1. Получите фактическую высоту элемента графика. +## **Получить ширину и высоту области построения диаграммы** +Aspose.Slides for .NET предоставляет простой API для . +1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation). +1. Получите первый слайд. +1. Добавьте диаграмму с данными по умолчанию. +1. Вызовите метод IChart.ValidateChartLayout() перед получением фактических значений. +1. Получает фактическое положение X (слева) элемента диаграммы относительно левого верхнего угла диаграммы. +1. Получает фактическую верхнюю позицию элемента диаграммы относительно левого верхнего угла диаграммы. +1. Получает фактическую ширину элемента диаграммы. +1. Получает фактическую высоту элемента диаграммы. ```c# using (Presentation pres = new Presentation("test.Pptx")) { @@ -29,22 +28,19 @@ using (Presentation pres = new Presentation("test.Pptx")) double w = chart.PlotArea.ActualWidth; double h = chart.PlotArea.ActualHeight; - // Сохранить презентацию с графиком + // Сохранить презентацию с диаграммой pres.Save("Chart_out.pptx", SaveFormat.Pptx); } ``` +## **Установить режим размещения области построения диаграммы** +Aspose.Slides for .NET предоставляет простой API для установки режима размещения области построения диаграммы. Свойство **LayoutTargetType** было добавлено в классы **ChartPlotArea** и **IChartPlotArea**. Если размещение области построения определено вручную, это свойство указывает, размещать область построения внутри (не включая оси и подписи осей) или снаружи (включая оси и подписи осей). Существует два возможных значения, определённых в перечислении **LayoutTargetType**. - -## **Установить режим компоновки области построения графика** -Aspose.Slides для .NET предоставляет простой API для установки режима компоновки области построения графика. Свойство **LayoutTargetType** было добавлено в классы **ChartPlotArea** и **IChartPlotArea**. Если компоновка области построения определена вручную, это свойство указывает, следует ли располагать область построения внутри (не включая оси и подписи к осям) или снаружи (включая оси и подписи к осям). Существует два возможных значения, определённых в перечислении **LayoutTargetType**. - -- **LayoutTargetType.Inner** - указывает, что размер области построения будет определять размер области построения, не включая метки и подписи к осям. -- **LayoutTargetType.Outer** - указывает, что размер области построения будет определять размер области построения, меток и подписей к осям. +- **LayoutTargetType.Inner** - указывает, что размер области построения определяет размер области построения без учёта отметок и подписей осей. +- **LayoutTargetType.Outer** - указывает, что размер области построения определяет размер области построения, отметки и подписи осей. Пример кода приведён ниже. - ```c# using (Presentation presentation = new Presentation()) { @@ -58,4 +54,23 @@ using (Presentation presentation = new Presentation()) presentation.Save("SetLayoutMode_outer.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**В каких единицах возвращаются ActualX, ActualY, ActualWidth и ActualHeight?** + +В пунктах; 1 дюйм = 72 пункта. Это единицы координат Aspose.Slides. + +**Чем отличается область построения от области диаграммы по содержимому?** + +Область построения — это область рисования данных (серии, линии сетки, линии тренда и т.д.); область диаграммы включает окружающие элементы (заголовок, легенду и т.д.). В 3D‑диаграммах область построения также включает стены/пол и оси. + +**Как интерпретируются X, Y, Width и Height области построения при ручном расположении?** + +Это доли (0–1) общего размера диаграммы; в этом режиме автоматическое позиционирование отключено, и используются заданные вами доли. + +**Почему положение области построения изменилось после добавления/перемещения легенды?** + +Легенда размещается в области диаграммы за пределами области построения, но влияет на расположение и доступное пространство, поэтому при включённом автоматическом позиционировании область построения может сдвигаться. (Это стандартное поведение диаграмм PowerPoint.) \ No newline at end of file diff --git a/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..9de471198a --- /dev/null +++ b/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,199 @@ +--- +title: "Автоматизация генерации PowerPoint в .NET: Создавайте динамические презентации легко" +linktitle: "Автоматизация генерации PowerPoint" +type: docs +weight: 20 +url: /ru/net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- "облачные платформы" +- "автоматизация генерации PowerPoint" +- "программная генерация презентаций" +- "автоматизация PowerPoint" +- "динамическое создание слайдов" +- "автоматизированные бизнес‑отчёты" +- "автоматизация PPT" +- ".NET презентация" +- "C#" +- "Aspose.Slides" +description: "Автоматизируйте создание слайдов на облачных платформах с помощью Aspose.Slides для .NET — быстро и надёжно генерируйте, редактируйте и конвертируйте файлы PowerPoint и OpenDocument." +--- + +## **Введение** + +Создание презентаций PowerPoint вручную может быть трудоёмкой и повторяющейся задачей — особенно когда контент основан на динамических данных, которые часто меняются. Будь то еженедельные бизнес‑отчёты, подготовка учебных материалов или готовые к использованию коммерческие презентации, автоматизация экономит бесчисленное количество часов и обеспечивает согласованность в командах. + +Для разработчиков .NET автоматизация создания презентаций PowerPoint открывает мощные возможности. Вы можете интегрировать генерацию слайдов в веб‑порталы, настольные инструменты, серверные службы или облачные платформы, динамически преобразуя данные в профессиональные брендированные презентации — по запросу. + +В этой статье мы рассмотрим распространённые сценарии автоматической генерации PowerPoint в приложениях .NET (включая развертывание в облаке) и почему эта функция становится обязательной в современных решениях. От извлечения данных в реальном времени до преобразования текста или изображений в слайды — цель состоит в том, чтобы превратить необработанный контент в структурированные визуальные форматы, которые сразу понятны аудитории. + +## **Распространённые сценарии использования автоматизации PowerPoint в .NET** + +Автоматизация создания PowerPoint особенно полезна в ситуациях, когда содержание презентации должно динамически собираться, персонализироваться или часто обновляться. Некоторые из наиболее типичных реальных сценариев применения: + +- **Бизнес‑отчёты и панели мониторинга** + Генерация сводок продаж, KPI или финансовых отчётов путём извлечения живых данных из баз данных или API. + +- **Персонализированные коммерческие и маркетинговые презентации** + Автоматическое создание презентаций‑питчей для конкретных клиентов на основе данных CRM или форм, обеспечивая быстрый отклик и согласованность бренда. + +- **Учебный контент** + Преобразование учебных материалов, викторин или резюме курсов в структурированные слайды для платформ e‑learning. + +- **Аналитика и инсайты на основе данных и ИИ** + Использование обработки естественного языка или аналитических движков для превращения сырых данных или длинного текста в сжатые презентации. + +- **Слайды на основе медиа** + Сборка презентаций из загруженных изображений, аннотированных скриншотов или ключевых кадров видео с сопроводительными описаниями. + +- **Конверсия документов** + Автоматическое преобразование Word‑документов, PDF или вводимых форм в визуальные презентации с минимальными усилиями вручную. + +- **Инструменты для разработчиков и технической документации** + Создание технических демо, обзоров документации или журналов изменений в виде слайдов напрямую из кода или markdown‑контента. + +Автоматизируя эти рабочие процессы, организации способны масштабировать создание контента, поддерживать единообразие и освобождать время для более стратегических задач. + +## **Давайте напишем код** + +Для демонстрации автоматизации PowerPoint в примере мы выбрали **[Aspose.Slides for .NET](https://products.aspose.com/slides/net)** благодаря его полному набору функций и простоте использования при программной работе с презентациями. + +В отличие от более низкоуровневых библиотек, таких как **[Open XML SDK](https://github.com/dotnet/Open-XML-SDK)**, которые требуют от разработчиков непосредственной работы со структурой Open XML (часто приводя к громоздкому и трудночитаемому коду), Aspose.Slides предоставляет более высокий уровень API. Он скрывает сложность, позволяя сосредоточиться на логике презентации — макете, форматировании и привязке данных — без необходимости глубокого понимания формата файла PowerPoint. + +Хотя Aspose.Slides — коммерческая библиотека, она предлагает [бесплатную trial](https://releases.aspose.com/slides/net/)‑версию, полностью способную выполнять примеры, приведённые в этой статье. Для демонстрации идей, тестирования функций или построения прототипа, как в нашем случае, trial более чем достаточна. Это делает её удобным вариантом для экспериментов с автоматическим созданием PowerPoint без первоначального приобретения лицензии. +Для тех, кто ищет открытые или бесплатные альтернативы, стоит рассмотреть библиотеки вроде Open XML SDK или [NPOI](https://github.com/dotnetcore/NPOI), хотя они часто требуют большего объёма кода и более глубоких знаний внутреннего формата файлов. + +Итак, перейдём к построению образца презентации с реальным контентом. + +Убедитесь, что перед началом вы добавили ссылку на пакет Aspose.Slides через NuGet: +```sh +dotnet add package Aspose.Slides.NET +``` + + +### **Создание титульного слайда** + +Начнём с создания новой презентации и добавления титульного слайда с основным заголовком и подзаголовком. +```cs +using var presentation = new Presentation(); + +var slide0 = presentation.Slides[0]; +slide0.LayoutSlide = presentation.LayoutSlides.GetByType(SlideLayoutType.Title); + +var titleShape = slide0.Shapes[0] as IAutoShape; +var subtitleShape = slide0.Shapes[1] as IAutoShape; + +titleShape.TextFrame.Text = "Quarterly Business Review – Q1 2025"; +subtitleShape.TextFrame.Text = "Prepared for Executive Team"; +``` + + +![Слайд заголовка](slide_0.png) + +### **Добавление слайда с колонной диаграммой** + +Далее создадим слайд, отображающий региональные продажи в виде колонной диаграммы. +```cs +var layoutSlide1 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide1 = presentation.Slides.AddEmptySlide(layoutSlide1); + +var chart = slide1.Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.Legend.Position = LegendPositionType.Bottom; +chart.HasTitle = true; +chart.ChartTitle.AddTextFrameForOverriding("Data from January – March 2025"); +chart.ChartTitle.Overlay = false; + +var workbook = chart.ChartData.ChartDataWorkbook; +var worksheetIndex = 0; + +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 1, 0, "North America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 2, 0, "Europe")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 4, 0, "Latin America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 5, 0, "Middle East")); + +var series = chart.ChartData.Series.Add(workbook.GetCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.Type); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 1, 1, 480)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 2, 1, 365)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 3, 1, 290)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 4, 1, 150)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 5, 1, 120)); +``` + + +![Слайд с диаграммой](slide_1.png) + +### **Добавление слайда с таблицей** + +Теперь добавим слайд, представляющий ключевые метрики в табличном виде. +```cs +var layoutSlide2 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide2 = presentation.Slides.AddEmptySlide(layoutSlide2); + +var columnWidths = new double[] { 200, 100 }; +var rowHeights = new double[] { 40, 40, 40, 40, 40 }; + +var table = slide2.Shapes.AddTable(200, 200, columnWidths, rowHeights); +table[0, 0].TextFrame.Text = "Metric"; +table[1, 0].TextFrame.Text = "Value"; +table[0, 1].TextFrame.Text = "Total Revenue"; +table[1, 1].TextFrame.Text = "$1.4M"; +table[0, 2].TextFrame.Text = "Gross Margin"; +table[1, 2].TextFrame.Text = "54%"; +table[0, 3].TextFrame.Text = "New Customers"; +table[1, 3].TextFrame.Text = "340"; +table[0, 4].TextFrame.Text = "Customer Retention"; +table[1, 4].TextFrame.Text = "87%"; +``` + + +![Слайд с таблицей](slide_2.png) + +### **Добавление итогового слайда со списком маркеров** + +В конце включим слайд‑итоги и план действий, используя простой маркированный список. +```cs +IParagraph CreateBulletParagraph(string text) +{ + var paragraph = new Paragraph(); + paragraph.ParagraphFormat.Bullet.Type = BulletType.Symbol; + paragraph.ParagraphFormat.Indent = 15; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.Text = text; + return paragraph; +} +``` + +```cs +var layoutSlide3 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide3 = presentation.Slides.AddEmptySlide(layoutSlide3); + +var bulletList = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.FillFormat.FillType = FillType.NoFill; +bulletList.LineFormat.FillFormat.FillType = FillType.NoFill; + +bulletList.TextFrame.Paragraphs.Clear(); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Schedule follow-up review in early July")); +``` + + +![Слайд с текстом](slide_3.png) + +### **Сохранение презентации** + +Наконец, сохраняем презентацию на диск: +```cs +presentation.Save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **Заключение** + +Автоматизация создания PowerPoint в приложениях .NET приносит очевидные выгоды: экономия времени и снижение ручного труда. Интегрируя динамический контент, такой как диаграммы, таблицы и текст, разработчики могут быстро генерировать согласованные, профессиональные презентации — идеальные для бизнес‑отчётов, встреч с клиентами или учебных материалов. + +В этой статье мы продемонстрировали, как автоматизировать создание презентации с нуля, включая добавление титульного слайда, диаграмм и таблиц. Такой подход применим во многих сценариях, где требуются автоматические, основанные на данных презентации. + +Используя правильные инструменты, разработчики .NET могут эффективно автоматизировать создание PowerPoint, повышая продуктивность и обеспечивая согласованность всех презентаций. \ No newline at end of file diff --git a/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ru/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..836076aef2 --- /dev/null +++ b/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "Автоматизация создания PowerPoint в JavaScript: легко создавать динамические презентации" +linktitle: Автоматизация создания PowerPoint +type: docs +weight: 20 +url: /ru/nodejs-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- облачные платформы +- автоматизация создания PowerPoint +- программное создание презентаций +- автоматизация PowerPoint +- динамическое создание слайдов +- автоматизированные бизнес-отчеты +- автоматизация PPT +- презентации JavaScript +- Node.js +- JavaScript +- Aspose.Slides +description: "Автоматизируйте создание слайдов на облачных платформах с помощью Aspose.Slides для Node.js — быстро и надёжно генерируйте, редактируйте и конвертируйте файлы PowerPoint и OpenDocument." +--- + +## **Введение** + +Создание презентаций PowerPoint вручную может быть трудоемкой и повторяющейся задачей, особенно когда контент основан на динамических данных, которые часто меняются. Независимо от того, генерируете ли вы еженедельные бизнес‑отчёты, собираете учебные материалы или создаёте готовые к использованию клиентские презентации, автоматизация может сэкономить бесчисленные часы и обеспечить согласованность в разных командах. + +Для разработчиков Node.js автоматизация создания презентаций PowerPoint открывает мощные возможности. Вы можете интегрировать генерацию слайдов в веб‑порталы, настольные инструменты, бек‑энд сервисы или облачные платформы, чтобы динамически преобразовывать данные в профессиональные брендированные презентации — по требованию. + +В этой статье мы рассмотрим типичные сценарии использования автоматизированного создания PowerPoint в приложениях Node.js (включая развертывание в облаке) и объясним, почему эта функция становится необходимой в современных решениях. От получения данных в реальном времени до преобразования текста или изображений в слайды — цель состоит в том, чтобы превратить сырые материалы в структурированные визуальные форматы, которые аудитория сразу поймёт. + +## **Типичные сценарии использования автоматизации PowerPoint в JavaScript** + +Автоматизация генерации PowerPoint особенно полезна в ситуациях, когда содержание презентации должно автоматически собираться, персонализироваться или часто обновляться. Некоторые из самых распространённых реальных сценариев включают: + +- **Бизнес‑отчеты и информационные панели** + Генерация сводок продаж, KPI или финансовых отчётов, получая живые данные из баз данных или API. + +- **Персонализированные презентации продаж и маркетинга** + Автоматическое создание презентаций‑питчей для конкретных клиентов с использованием данных CRM или форм, обеспечивая быструю подготовку и единый фирменный стиль. + +- **Образовательный контент** + Преобразование учебных материалов, викторин или резюме курсов в структурированные наборы слайдов для платформ e‑learning. + +- **Аналитика и инсайты на основе ИИ** + Использование методов естественной обработки языка или аналитических движков для превращения сырых данных или длинных текстов в краткие презентации. + +- **Слайды с медиа‑контентом** + Сборка презентаций из загруженных изображений, аннотированных скриншотов или ключевых кадров видео с сопровождающими описаниями. + +- **Конвертация документов** + Автоматическое преобразование Word‑документов, PDF или вводимых форм в визуальные презентации с минимальными ручными усилиями. + +- **Инструменты для разработчиков и технической документации** + Создание технических демонстраций, обзоров документации или журналов изменений в виде слайдов непосредственно из кода или markdown‑контента. + +Автоматизируя эти рабочие процессы, организации могут масштабировать создание контента, поддерживать согласованность и освобождать время для более стратегических задач. + +## **Давайте напишем код** + +Для примера мы выбрали **[Aspose.Slides для Node.js](https://products.aspose.com/slides/nodejs-java/)**, чтобы продемонстрировать автоматизацию PowerPoint благодаря его широкому набору функций и простоте использования при работе с презентациями программно. + +В отличие от низкоуровневых библиотек, требующих работы напрямую со структурой Open XML (что часто приводит к громоздкому и менее читаемому коду), Aspose.Slides предоставляет API более высокого уровня. Оно скрывает сложность, позволяя разработчикам сосредоточиться на логике презентации — таких как макет, форматирование и привязка данных — не вникая в детали формата файлов PowerPoint. + +Хотя Aspose.Slides является коммерческой библиотекой, она предлагает [бесплатную пробную версию](https://releases.aspose.com/slides/nodejs-java/), полностью способную выполнять примеры, представленные в этой статье. Для демонстрации идей, тестирования функций или создания прототипа, как в нашем случае, пробная версия более чем достаточна. Это делает её удобным вариантом для экспериментов с автоматизированным созданием PowerPoint без необходимости сразу приобретать лицензию. + +Итак, перейдём к построению образца презентации с использованием реального контента. + +### **Создать титульный слайд** + +Мы начнём с создания новой презентации и добавления титульного слайда с основным заголовком и подзаголовком. +```js +let presentation = new aspose.slides.Presentation(); + +let slide0 = presentation.getSlides().get_Item(0); + +let layoutSlide = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Title)); +slide0.setLayoutSlide(layoutSlide); + +let titleShape = slide0.getShapes().get_Item(0); +let subtitleShape = slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![Титульный слайд](slide_0.png) + +### **Добавить слайд со столбчатой диаграммой** + +Далее мы создадим слайд, показывающий региональную динамику продаж в виде столбчатой диаграммы. +```js +let layoutSlide1 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +let chart = slide1.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(aspose.slides.LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +let workbook = chart.getChartData().getChartDataWorkbook(); +let worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +let series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![Слайд с диаграммой](slide_1.png) + +### **Добавить слайд с таблицей** + +Теперь добавим слайд, представляющий ключевые показатели эффективности в виде таблицы. +```js +let layoutSlide2 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +let columnWidths = java.newArray("double", [200, 100]); +let rowHeights = java.newArray("double", [40, 40, 40, 40, 40]); + +let table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![Слайд с таблицей](slide_2.png) + +### **Добавить резюме‑слайд с пунктами списка** + +Наконец, включим итоговый слайд с планом действий, используя простой маркированный список. +```js +function createBulletParagraph(text) { + let paragraph = new aspose.slides.Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(java.newByte(aspose.slides.BulletType.Symbol)); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid)); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLACK")); + paragraph.setText(text); + return paragraph; +} +``` + +```js +let layoutSlide3 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +let bulletList = slide3.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); +bulletList.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![Слайд с текстом](slide_3.png) + +### **Сохранить презентацию** + +В конце сохраняем презентацию на диск: +```js +presentation.save("presentation.pptx", aspose.slides.SaveFormat.Pptx); +``` + + +## **Заключение** + +Автоматизация создания PowerPoint в приложениях Node.js даёт очевидные преимущества: экономию времени и уменьшение ручного труда. Интегрируя динамический контент, такой как диаграммы, таблицы и текст, разработчики могут быстро генерировать согласованные профессиональные презентации — идеальные для бизнес‑отчётов, клиентских встреч или учебных материалов. + +В этой статье мы продемонстрировали, как автоматически создать презентацию с нуля, включая титульный слайд, диаграммы и таблицы. Такой подход применим к различным сценариям, где требуются автоматизированные, основанные на данных презентации. + +Используя правильные инструменты, разработчики Node.js могут эффективно автоматизировать создание PowerPoint, повышая продуктивность и обеспечивая единообразие презентаций. \ No newline at end of file diff --git a/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ru/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..2f0b8335ec --- /dev/null +++ b/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "Автоматизация создания PowerPoint в PHP: Легкое создание динамических презентаций" +linktitle: Автоматизация создания PowerPoint +type: docs +weight: 20 +url: /ru/php-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- облачные платформы +- автоматизация создания PowerPoint +- программная генерация презентаций +- автоматизация PowerPoint +- динамическое создание слайдов +- автоматизированные бизнес-отчёты +- автоматизация PPT +- PHP презентация +- PHP +- Aspose.Slides +description: "Автоматизируйте создание слайдов на облачных платформах с Aspose.Slides для PHP — быстро и надёжно генерируйте, редактируйте и конвертируйте файлы PowerPoint и OpenDocument." +--- + +## **Введение** + +Создание презентаций PowerPoint вручную может быть трудоемкой и повторяющейся задачей — особенно когда содержание основано на динамических данных, которые часто меняются. Будь то генерация еженедельных бизнес‑отчетов, сбор учебных материалов или подготовка готовых к использованию клиентских презентаций по продажам, автоматизация может сэкономить бесчисленное количество часов и обеспечить согласованность в командах. + +Для разработчиков на PHP автоматизация создания презентаций PowerPoint открывает мощные возможности. Вы можете интегрировать генерацию слайдов в веб‑порталы, настольные инструменты, серверные сервисы или облачные платформы, чтобы динамически преобразовывать данные в профессиональные брендированные презентации — по запросу. + +В этой статье мы рассмотрим типичные сценарии использования автоматической генерации PowerPoint в PHP‑приложениях (включая развертывание на облачных платформах) и объясним, почему это становится важной функцией современных решений. От извлечения данных в режиме реального времени до преобразования текста или изображений в слайды — цель состоит в том, чтобы превратить необработанное содержание в структурированные визуальные форматы, которые аудитория сможет сразу понять. + +## **Распространённые сценарии использования автоматизации PowerPoint в PHP** + +Автоматизация создания PowerPoint особенно полезна в сценариях, когда содержание презентации необходимо динамически собирать, персонализировать или часто обновлять. Некоторые из самых распространённых реальных сценариев включают: + +- **Бизнес‑отчёты и панели мониторинга** + Создавайте сводки продаж, ключевые показатели эффективности (KPI) или финансовые отчёты, извлекая актуальные данные из баз данных или API. + +- **Персонализированные презентации продаж и маркетинга** + Автоматически создавайте индивидуальные презентации для клиентов, используя данные CRM или формы, обеспечивая быструю подготовку и согласованность бренда. + +- **Образовательный контент** + Преобразуйте учебные материалы, викторины или резюме курсов в структурированные наборы слайдов для платформ электронного обучения. + +- **Аналитика данных и ИИ** + Используйте обработку естественного языка или аналитические движки для преобразования необработанных данных или длинных текстов в резюмированные презентации. + +- **Слайды с медиа‑контентом** + Собирайте презентации из загруженных изображений, аннотированных скриншотов или ключевых кадров видео с сопроводительными описаниями. + +- **Конвертация документов** + Автоматически преобразовывайте документы Word, PDF или вводимые формы в визуальные презентации с минимальными ручными усилиями. + +- **Инструменты для разработчиков и технические средства** + Создавайте технические демонстрации, обзоры документации или журналы изменений в формате слайдов непосредственно из кода или markdown‑контента. + +Автоматизируя эти рабочие процессы, организации могут масштабировать создание контента, поддерживать согласованность и освобождать время для более стратегических задач. + +## **Давайте напишем код** + +Для этого примера мы выбрали **[Aspose.Slides for PHP](https://products.aspose.com/slides/php-java/)**, чтобы продемонстрировать автоматизацию PowerPoint благодаря его обширному набору функций и простоте использования при программной работе с презентациями. + +В отличие от низкоуровневых библиотек, требующих от разработчиков прямой работы со структурой Open XML (что часто приводит к многословному и менее читаемому коду), Aspose.Slides предлагает API более высокого уровня. Он скрывает сложность, позволяя разработчикам сосредоточиться на логике презентации — такой как компоновка, форматирование и привязка данных — без необходимости глубоко разбираться в формате файлов PowerPoint. + +Хотя Aspose.Slides является коммерческой библиотекой, она предоставляет [бесплатную пробную версию](https://releases.aspose.com/slides/php-java/), полностью способную выполнять примеры, представленные в этой статье. Для демонстрации идей, тестирования функций или создания прототипа, как в данном случае, пробная версия более чем достаточна. Это делает её удобным вариантом для экспериментов с автоматической генерацией PowerPoint без необходимости сразу приобретать лицензию. + +Итак, давайте пройдёмся по созданию примерной презентации, используя реальный контент. + +### **Создать титульный слайд** + +Мы начнём с создания новой презентации и добавления титульного слайда с главным заголовком и подзаголовком. +```php +$presentation = new Presentation(); + +$slide0 = $presentation->getSlides()->get_Item(0); + +$layoutSlide = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Title); +$slide0->setLayoutSlide($layoutSlide); + +$titleShape = $slide0->getShapes()->get_Item(0); +$subtitleShape = $slide0->getShapes()->get_Item(1); + +$titleShape->getTextFrame()->setText("Quarterly Business Review – Q1 2025"); +$subtitleShape->getTextFrame()->setText("Prepared for Executive Team"); +``` + + +![Титульный слайд](slide_0.png) + +### **Добавить слайд со столбчатой диаграммой** + +Затем мы создадим слайд, показывающий региональные показатели продаж в виде столбчатой диаграммы. +```php +$layoutSlide1 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide1 = $presentation->getSlides()->addEmptySlide($layoutSlide1); + +$chart = $slide1->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +$chart->getLegend()->setPosition(LegendPositionType::Bottom); +$chart->setTitle(true); +$chart->getChartTitle()->addTextFrameForOverriding("Data from January – March 2025"); +$chart->getChartTitle()->setOverlay(false); + +$workbook = $chart->getChartData()->getChartDataWorkbook(); +$worksheetIndex = 0; + +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 1, 0, "North America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 2, 0, "Europe")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 3, 0, "Asia Pacific")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 4, 0, "Latin America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 5, 0, "Middle East")); + +$series = $chart->getChartData()->getSeries()->add($workbook->getCell($worksheetIndex, 0, 1, "Sales (\$K)"), $chart->getType()); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 1, 1, 480)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 2, 1, 365)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 3, 1, 290)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 4, 1, 150)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 5, 1, 120)); +``` + + +![Слайд с диаграммой](slide_1.png) + +### **Добавить слайд с таблицей** + +Теперь мы добавим слайд, представляющий ключевые показатели эффективности в виде таблицы. +```php +$layoutSlide2 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide2 = $presentation->getSlides()->addEmptySlide($layoutSlide2); + +$columnWidths = [200, 100]; +$rowHeights = [40, 40, 40, 40, 40]; + +$table = $slide2->getShapes()->addTable(200, 200, $columnWidths, $rowHeights); +$table->getColumns()->get_Item(0)->get_Item(0)->getTextFrame()->setText("Metric"); +$table->getColumns()->get_Item(1)->get_Item(0)->getTextFrame()->setText("Value"); +$table->getColumns()->get_Item(0)->get_Item(1)->getTextFrame()->setText("Total Revenue"); +$table->getColumns()->get_Item(1)->get_Item(1)->getTextFrame()->setText("\$1.4M"); +$table->getColumns()->get_Item(0)->get_Item(2)->getTextFrame()->setText("Gross Margin"); +$table->getColumns()->get_Item(1)->get_Item(2)->getTextFrame()->setText("54%"); +$table->getColumns()->get_Item(0)->get_Item(3)->getTextFrame()->setText("New Customers"); +$table->getColumns()->get_Item(1)->get_Item(3)->getTextFrame()->setText("340"); +$table->getColumns()->get_Item(0)->get_Item(4)->getTextFrame()->setText("Customer Retention"); +$table->getColumns()->get_Item(1)->get_Item(4)->getTextFrame()->setText("87%"); +``` + + +![Слайд с таблицей](slide_2.png) + +### **Добавить итоговый слайд со списком** + +Наконец, мы включим резюме и план действий, используя простой список с маркерами. +```php +function createBulletParagraph($text) { + $paragraph = new Paragraph(); + $paragraph->getParagraphFormat()->getBullet()->setType(BulletType::Symbol); + $paragraph->getParagraphFormat()->setIndent(15); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK); + $paragraph->setText($text); + return $paragraph; +} +``` + +```php +$layoutSlide3 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide3 = $presentation->getSlides()->addEmptySlide($layoutSlide3); + +$bulletList = $slide3->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +$bulletList->getFillFormat()->setFillType(FillType::NoFill); +$bulletList->getLineFormat()->getFillFormat()->setFillType(FillType::NoFill); + +$bulletList->getTextFrame()->getParagraphs()->clear(); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Prepare new campaign strategy for Q2")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![Слайд с текстом](slide_3.png) + +### **Сохранить презентацию** + +Наконец, сохраняем презентацию на диск: +```php +$presentation->save("presentation.pptx", SaveFormat::Pptx); +``` + + +## **Заключение** + +Автоматизация создания PowerPoint в PHP‑приложениях даёт очевидные преимущества в экономии времени и сокращении ручных усилий. Интегрируя динамический контент, такой как диаграммы, таблицы и текст, разработчики могут быстро создавать согласованные профессиональные презентации — идеально подходящие для бизнес‑отчётов, встреч с клиентами или образовательных материалов. + +В этой статье мы продемонстрировали, как автоматизировать создание презентации с нуля, включая добавление титульного слайда, диаграмм и таблиц. Такой подход может быть применён во множестве сценариев, где требуются автоматические презентации, основанные на данных. + +Используя подходящие инструменты, разработчики PHP могут эффективно автоматизировать создание PowerPoint, повышая производительность и обеспечивая согласованность презентаций. \ No newline at end of file diff --git a/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ru/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index 28333c06c1..3dea3b84b4 100644 --- a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -5,68 +5,68 @@ type: docs weight: 30 url: /ru/python-net/convert-powerpoint-to-html/ keywords: -- конвертировать PowerPoint -- конвертировать презентацию -- конвертировать слайд -- конвертировать PPT -- конвертировать PPTX -- PowerPoint в HTML -- презентация в HTML -- слайд в HTML -- PPT в HTML -- PPTX в HTML -- сохранить PowerPoint как HTML -- сохранить презентацию как HTML -- сохранить слайд как HTML -- сохранить PPT как HTML -- сохранить PPTX как HTML -- Python -- Aspose.Slides -description: "Конвертировать презентации PowerPoint в адаптивный HTML на Python. Сохраните макет, ссылки и изображения с помощью руководства по конвертации Aspose.Slides для быстрых и безошибочных результатов." + - конвертировать PowerPoint + - конвертировать презентацию + - конвертировать слайд + - конвертировать PPT + - конвертировать PPTX + - PowerPoint в HTML + - презентация в HTML + - слайд в HTML + - PPT в HTML + - PPTX в HTML + - сохранить PowerPoint как HTML + - сохранить презентацию как HTML + - сохранить слайд как HTML + - сохранить PPT как HTML + - сохранить PPTX как HTML + - Python + - Aspose.Slides +description: "Конвертировать презентации PowerPoint в адаптивный HTML на Python. Сохранить макет, ссылки и изображения с помощью руководства по конвертации Aspose.Slides для быстрых, безошибочных результатов." --- ## **Обзор** -Эта статья объясняет, как преобразовать презентацию PowerPoint в формат HTML с использованием Python. Она охватывает следующие темы. +В этой статье объясняется, как преобразовать презентацию PowerPoint в формат HTML с использованием Python. Она охватывает следующие темы. -- Преобразовать PowerPoint в HTML с помощью Python -- Преобразовать PPT в HTML с помощью Python -- Преобразовать PPTX в HTML с помощью Python -- Преобразовать ODP в HTML с помощью Python -- Преобразовать слайд PowerPoint в HTML с помощью Python +- Преобразовать PowerPoint в HTML на Python +- Преобразовать PPT в HTML на Python +- Преобразовать PPTX в HTML на Python +- Преобразовать ODP в HTML на Python +- Преобразовать слайд PowerPoint в HTML на Python -## **Python PowerPoint to HTML** +## **PowerPoint в HTML на Python** -Для примера кода Python по преобразованию PowerPoint в HTML смотрите раздел ниже, то есть [Convert PowerPoint to HTML](#convert-powerpoint-to-html). Код может загружать различные форматы, такие как PPT, PPTX и ODP, в объект Presentation и сохранять его в формате HTML. +Для примера кода на Python, преобразующего PowerPoint в HTML, смотрите раздел ниже, т.е. [Преобразовать PowerPoint в HTML](#convert-powerpoint-to-html). Код может загружать несколько форматов, таких как PPT, PPTX и ODP, в объект Presentation и сохранять его в формате HTML. ## **О преобразовании PowerPoint в HTML** -С помощью [**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/), приложения и разработчики могут конвертировать презентацию PowerPoint в HTML: **PPTX to HTML** или **PPT to HTML**. +С помощью [**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/), приложения и разработчики могут преобразовать презентацию PowerPoint в HTML: **PPTX в HTML** или **PPT в HTML**. -**Aspose.Slides** предоставляет многие варианты (в основном из класса [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/)), которые определяют процесс преобразования PowerPoint в HTML: +**Aspose.Slides** предоставляет множество параметров (в основном из класса [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/)), определяющих процесс преобразования PowerPoint в HTML: * Преобразовать всю презентацию PowerPoint в HTML. -* Преобразовать конкретный слайд презентации PowerPoint в HTML. +* Преобразовать отдельный слайд презентации PowerPoint в HTML. * Преобразовать медиа презентации (изображения, видео и т.д.) в HTML. -* Преобразовать презентацию PowerPoint в адаптивный HTML. -* Преобразовать презентацию PowerPoint в HTML с включенными или исключенными заметками выступающего. -* Преобразовать презентацию PowerPoint в HTML с включенными или исключенными комментариями. -* Преобразовать презентацию PowerPoint в HTML с оригинальными или встроенными шрифтами. -* Преобразовать презентацию PowerPoint в HTML, используя новый стиль CSS. +* Преобразовать презентацию PowerPoint в адаптивный HTML. +* Преобразовать презентацию PowerPoint в HTML с включёнными или исключёнными нотатками докладчика. +* Преобразовать презентацию PowerPoint в HTML с включёнными или исключёнными комментариями. +* Преобразовать презентацию PowerPoint в HTML с оригинальными или вшитыми шрифтами. +* Преобразовать презентацию PowerPoint в HTML с использованием нового CSS‑стиля. {{% alert color="primary" %}} -С помощью собственного API Aspose разработала бесплатные конвертеры [presentation to HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html): [PPT to HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX to HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP to HTML](https://products.aspose.app/slides/conversion/odp-to-html) и т.д. +Используя собственный API, Aspose разработала бесплатные конвертеры [presentation to HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html): [PPT в HTML](https://products.aspose.app/slides/conversion/ppt-to-html), [PPTX в HTML](https://products.aspose.app/slides/conversion/pptx-to-html), [ODP в HTML](https://products.aspose.app/slides/conversion/odp-to-html), и т.д. [![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) -Вы можете проверить другие [бесплатные конвертеры от Aspose](https://products.aspose.app/slides/conversion). +Возможно, вам будет интересно посмотреть другие [бесплатные конвертеры от Aspose](https://products.aspose.app/slides/conversion). {{% /alert %}} {{% alert title="Note" color="warning" %}} -Помимо описанных здесь процессов конвертации, Aspose.Slides также поддерживает следующие операции преобразования, связанные с форматом HTML: +Помимо описанных здесь процессов конвертации, Aspose.Slides также поддерживает следующие операции конвертации, связанные с форматом HTML: * [HTML to image](https://products.aspose.com/slides/python-net/conversion/html-to-image/) * [HTML to JPG](https://products.aspose.com/slides/python-net/conversion/html-to-jpg/) @@ -75,11 +75,13 @@ description: "Конвертировать презентации PowerPoint в {{% /alert %}} -## **Convert PowerPoint to HTML** -С помощью Aspose.Slides вы можете преобразовать всю презентацию PowerPoint в HTML следующим способом: + +## **Преобразовать PowerPoint в HTML** + +С помощью Aspose.Slides вы можете преобразовать всю презентацию PowerPoint в HTML следующим образом: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) -1. Вызовите метод [Save ](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)для сохранения объекта в файл HTML. +1. Используйте метод [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) для сохранения объекта в файл HTML. Этот код показывает, как преобразовать PowerPoint в HTML на Python: ```python @@ -98,8 +100,9 @@ pres.save("ConvertWholePresentationToHTML_out.html", slides.export.SaveFormat.HT ``` -## **Convert PowerPoint to Responsive HTML** -Aspose.Slides предоставляет класс [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/), который позволяет генерировать адаптивные HTML‑файлы. Этот код показывает, как экспортировать презентацию PowerPoint в адаптивный HTML на Python: +## **Преобразовать PowerPoint в адаптивный HTML** + +Aspose.Slides предоставляет класс [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/), который позволяет генерировать адаптивные HTML‑файлы. Этот код показывает, как преобразовать презентацию PowerPoint в адаптивный HTML на Python: ```py # Создайте объект Presentation, который представляет файл презентации import aspose.slides as slides @@ -115,7 +118,8 @@ pres.save("ConvertPresentationToResponsiveHTML_out.html", slides.export.SaveForm ``` -## **Convert PowerPoint to HTML with Notes** +## **Преобразовать PowerPoint в HTML с заметками** + Этот код показывает, как преобразовать PowerPoint в HTML с заметками на Python: ```py import aspose.slides as slides @@ -129,12 +133,13 @@ pres.save("Output.html", slides.export.SaveFormat.HTML, opt) ``` -## **Convert PowerPoint to HTML with Original Fonts** -Aspose.Slides предоставляет класс [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/), который позволяет внедрять все шрифты презентации при конвертации её в HTML. +## **Преобразовать PowerPoint в HTML с оригинальными шрифтами** + +Aspose.Slides предоставляет класс [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/), который позволяет встраивать все шрифты презентации при её конвертации в HTML. -Чтобы предотвратить внедрение определённых шрифтов, можно передать массив имён шрифтов в параметризованный конструктор класса [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/). Популярные шрифты, такие как Calibri или Arial, при использовании в презентации не требуется внедрять, поскольку большинство систем уже содержат их. Когда такие шрифты внедряются, полученный HTML‑документ становится избыточно большим. +Чтобы предотвратить встраивание определённых шрифтов, вы можете передать массив имён шрифтов в параметризованный конструктор класса [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/). Популярные шрифты, такие как Calibri или Arial, используемые в презентации, не требуют встраивания, поскольку большинство систем уже содержат их. Если такие шрифты встраиваются, результирующий HTML‑документ становится ненужно большим. -Класс [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) поддерживает наследование и предоставляет метод `WriteFont`, который предполагается переопределить. +Класс [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) поддерживает наследование и предоставляет метод `WriteFont`, предназначенный для переопределения. ```py import aspose.slides as slides @@ -150,33 +155,38 @@ pres.save("input-PFDinDisplayPro-Regular-installed.html", slides.export.SaveForm ``` -## **Convert Slide to HTML** -Преобразовать отдельный слайд презентации в HTML. Для этого используйте тот же метод [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/), предоставляемый классом [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/), который используется для конвертации всей презентации PPT(X) в HTML‑документ. Класс [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) также можно использовать для задания дополнительных параметров конвертации: +## **Преобразовать слайд в HTML** + +Преобразовать отдельный слайд презентации в HTML. Для этого используйте тот же метод [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/), который используется для конвертации всей презентации PPT(X) в HTML‑документ. Класс [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) также можно использовать для задания дополнительных параметров конвертации: ```py -# [TODO[not_supported_yet]: реализация интерфейса .net на python] +# [TODO[not_supported_yet]: реализация .net интерфейса на python] ``` -## **Save CSS and Images When Exporting To HTML** -Используя новые CSS‑файлы стилей, вы можете легко изменить стиль HTML‑файла, полученного в результате конвертации PowerPoint в HTML. -Python‑код в этом примере показывает, как использовать переопределяемые методы для создания пользовательского HTML‑документа со ссылкой на CSS‑файл: +## **Сохранить CSS и изображения при экспорте в HTML** + +Используя новые CSS‑файлы, вы можете легко изменить стиль HTML‑файла, полученного в результате конвертации PowerPoint в HTML. + +Python‑код в этом примере показывает, как использовать переопределяемые методы для создания пользовательского HTML‑документа со ссылкой на файл CSS: ```py # [TODO[not_supported_yet]: реализация .net интерфейсов на python] ``` -## **Link All Fonts When Converting Presentation to HTML** -Если вы не хотите внедрять шрифты (чтобы не увеличивать размер получаемого HTML), можно связать все шрифты, реализовав собственную версию `LinkAllFontsHtmlController`. +## **Связать все шрифты при конвертации презентации в HTML** + +Если вы не хотите встраивать шрифты (чтобы избежать увеличения размера итогового HTML), вы можете связать все шрифты, реализовав свою версию `LinkAllFontsHtmlController`. -Этот Python‑код показывает, как преобразовать PowerPoint в HTML, связывая все шрифты и исключая «Calibri» и «Arial» (поскольку они уже присутствуют в системе): +Этот python‑код показывает, как преобразовать PowerPoint в HTML, связывая все шрифты и исключая "Calibri" и "Arial" (поскольку они уже присутствуют в системе): ```py # [TODO[not_supported_yet]: реализация .net интерфейсов на python] ``` -## **Support of SVG Responsive Property** -Пример кода ниже демонстрирует, как экспортировать презентацию PPT(X) в HTML с адаптивным макетом: +## **Поддержка адаптивного свойства SVG** + +Пример кода ниже показывает, как экспортировать презентацию PPT(X) в HTML с адаптивным макетом: ```py presentation = slides.Presentation("SomePresentation.pptx") @@ -187,15 +197,16 @@ presentation.save("SomePresentation-out.html", slides.export.SaveFormat.HTML, sa ``` -## **Export Media Files to HTML file** -С помощью Aspose.Slides for python вы можете экспортировать медиа‑файлы следующим образом: +## **Экспортировать медиафайлы в HTML‑файл** + +С помощью Aspose.Slides для python вы можете экспортировать медиафайлы следующим образом: 1. Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). 1. Получите ссылку на слайд. 1. Добавьте видео на слайд. -1. Сохраните презентацию в файл HTML. +1. Сохраните презентацию как HTML‑файл. -Этот Python‑код показывает, как добавить видео в презентацию и затем сохранить её как HTML: +Этот python‑код показывает, как добавить видео в презентацию и затем сохранить её как HTML: ```py import aspose.slides as slides @@ -218,34 +229,44 @@ presentation.save(path + "ExportMediaFiles_out.html", slides.export.SaveFormat.H ``` -## Часто задаваемые вопросы +## **FAQ** + +**Как я могу преобразовать презентацию PowerPoint в HTML с помощью Python?** + +Вы можете использовать библиотеку Aspose.Slides for Python via .NET для загрузки файлов PPT, PPTX или ODP и конвертации их в HTML с помощью метода `save()` с параметром `SaveFormat.HTML`. + +**Поддерживает ли Aspose.Slides конвертацию отдельных слайдов PowerPoint в HTML?** + +Да, Aspose.Slides позволяет конвертировать как всю презентацию, так и отдельные слайды в HTML, соответствующим образом настраивая `HtmlOptions`. + +**Могу ли я создать адаптивный HTML из презентаций PowerPoint?** + +Да, с помощью класса `ResponsiveHtmlController` вы можете экспортировать презентацию в адаптивный HTML‑макет, который подстраивается под разные размеры экранов. + +**Можно ли включить нотатки докладчика или комментарии в экспортированный HTML?** + +Да, вы можете настроить `HtmlOptions` для включения или исключения нотаток докладчика и комментариев при экспорте презентаций PowerPoint в HTML. + +**Могу ли я встраивать шрифты при конвертации презентации в HTML?** + +Да, Aspose.Slides предоставляет класс `EmbedAllFontsHtmlController`, который позволяет встраивать шрифты или исключать определённые шрифты для уменьшения размера выходного файла. -### **How can I convert a PowerPoint presentation to HTML using Python?** -Вы можете использовать библиотеку Aspose.Slides for Python via .NET для загрузки файлов PPT, PPTX или ODP и их преобразования в HTML с помощью метода `save()` с параметром `SaveFormat.HTML`. +**Поддерживает ли конвертация PowerPoint в HTML медиафайлы, такие как видео и аудио?** -### **Does Aspose.Slides support converting individual PowerPoint slides to HTML?** -Да, Aspose.Slides позволяет конвертировать как всю презентацию, так и отдельные слайды в HTML, используя соответствующую настройку `HtmlOptions`. +Да, Aspose.Slides позволяет экспортировать медиа‑контент, встроенный в слайды, в HTML с помощью `VideoPlayerHtmlController` и связанных классов конфигурации. -### **Can I generate responsive HTML from PowerPoint presentations?** -Да, с помощью класса `ResponsiveHtmlController` вы можете экспортировать презентацию в адаптивный HTML‑макет, который подстраивается под различные размеры экранов. +**Какие форматы файлов поддерживаются для конвертации в HTML?** -### **Is it possible to include speaker notes or comments in the exported HTML?** -Да, вы можете настроить `HtmlOptions` для включения или исключения заметок выступающего и комментариев при экспорте презентаций PowerPoint в HTML. +Aspose.Slides поддерживает конвертацию форматов презентаций PPT, PPTX и ODP в HTML. Кроме того, он позволяет сохранять содержимое слайдов в SVG и экспортировать медиа‑ресурсы. -### **Can I embed fonts when converting a presentation to HTML?** -Да, Aspose.Slides предоставляет класс `EmbedAllFontsHtmlController`, который позволяет внедрять шрифты или исключать определённые шрифты, чтобы уменьшить размер выходного файла. +**Могу ли я избежать встраивания шрифтов, чтобы уменьшить размер HTML‑вывода?** -### **Does the PowerPoint to HTML conversion support media files like videos and audio?** -Да, Aspose.Slides позволяет экспортировать медиа‑контент, встроенный в слайды, в HTML, используя `VideoPlayerHtmlController` и связанные классы конфигурации. +Да, вы можете связать часто доступные системные шрифты, такие как Arial или Calibri, вместо их встраивания, используя пользовательскую реализацию `HtmlController`. -### **What file formats are supported for conversion to HTML?** -Aspose.Slides поддерживает конвертацию форматов PPT, PPTX и ODP в HTML. Также возможно сохранять содержимое слайдов в виде SVG и экспортировать медиа‑ресурсы. +**Существует ли онлайн‑инструмент для конвертации PowerPoint в HTML?** -### **Can I avoid embedding fonts to reduce HTML output size?** -Да, вы можете связывать часто используемые системные шрифты, такие как Arial или Calibri, вместо их внедрения, реализовав собственную версию `HtmlController`. +Да, вы можете воспользоваться бесплатными веб‑инструментами Aspose, такими как [PPT в HTML](https://products.aspose.app/slides/conversion/ppt-to-html) или [PPTX в HTML](https://products.aspose.app/slides/conversion/pptx-to-html), чтобы конвертировать презентации непосредственно в браузере без написания кода. -### **Is there an online tool to convert PowerPoint to HTML?** -Да, вы можете воспользоваться бесплатными веб‑инструментами Aspose, например [PPT to HTML](https://products.aspose.app/slides/conversion/ppt-to-html) или [PPTX to HTML](https://products.aspose.app/slides/conversion/pptx-to-html), чтобы конвертировать презентации напрямую в браузере без написания кода. +**Могу ли я использовать пользовательские стили CSS в экспортированном HTML‑файле?** -### **Can I use custom CSS styles in the exported HTML file?** -Да, Aspose.Slides позволяет подключать внешние CSS‑файлы во время конвертации, что даёт полную возможность кастомизировать внешний вид полученного HTML‑контента. \ No newline at end of file +Да, Aspose.Slides позволяет привязывать внешние CSS‑файлы во время конвертации, что дает возможность полностью настроить внешний вид полученного HTML‑контента. diff --git a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index cf34914e28..80b1ac8644 100644 --- a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,119 +1,115 @@ --- -title: Преобразуйте PPT и PPTX в PDF на Python | Расширенные параметры +title: Конвертировать PPT & PPTX в PDF на Python | Расширенные параметры linktitle: PowerPoint в PDF type: docs weight: 40 url: /ru/python-net/convert-powerpoint-to-pdf/ keywords: -- конвертировать PowerPoint -- презентация -- PowerPoint в PDF -- PPT в PDF -- PPTX в PDF -- сохранить PowerPoint как PDF -- PDF/A1a -- PDF/A1b -- PDF/UA -- PowerPoint -- presentation -- Python -- Aspose.Slides -description: "Пошаговое руководство по конвертации PPT и PPTX в PDF высокого качества, соответствующих стандартам доступности WCAG, на Python с помощью Aspose.Slides — включает защиту паролем, выбор слайдов и контроль качества изображений." + - конвертировать PowerPoint + - презентация + - PowerPoint в PDF + - PPT в PDF + - PPTX в PDF + - сохранить PowerPoint как PDF + - PDF/A1a + - PDF/A1b + - PDF/UA + - Python + - Aspose.Slides for Python +description: "Пошаговое руководство по конвертации PPT, PPTX и ODP в высококачественные PDF, соответствующие WCAG, на Python с Aspose.Slides — включает защиту паролем, выбор слайдов и контроль качества изображений." +showReadingTime: true --- ## **Обзор** -Конвертация документов PowerPoint в формат PDF предлагает несколько преимуществ, включая обеспечение совместимости на разных устройствах и сохранение разметки и форматирования вашей презентации. Эта статья покажет вам, как конвертировать презентации в PDF-документы, использовать различные параметры для управления качеством изображений, включать скрытые слайды, защищать PDF-документы паролем, обнаруживать замены шрифтов, выбирать слайды для конвертации и применять стандарты соблюдения к выходным документам. +Преобразование презентаций PowerPoint (PPT, PPTX, ODP) в формат PDF с помощью Python предоставляет несколько преимуществ, среди которых обеспечение совместимости на разных устройствах и сохранение макета и форматирования вашей презентации. В этом руководстве показано, как конвертировать презентации в PDF‑документы, использовать различные параметры для управления качеством изображений, включать скрытые слайды, защищать PDF паролем, обнаруживать замену шрифтов, выбирать отдельные слайды для конвертации и применять стандарты соответствия к результирующим документам. -## **Конвертации PowerPoint в PDF** +## **Конвертация PowerPoint в PDF** -С помощью Aspose.Slides вы можете конвертировать презентации в следующих форматах в PDF: +Используя Aspose.Slides, вы можете конвертировать презентации в этих форматах в PDF: -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -Чтобы конвертировать презентацию в PDF на Python, вам просто нужно передать имя файла как аргумент в классе [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) и затем сохранить презентацию как PDF, используя метод [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods). Класс [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) предоставляет метод [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods), который обычно используется для конвертации презентации в PDF. +Чтобы конвертировать презентацию в PDF в Python, достаточно передать имя файла в качестве аргумента класса [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) и затем сохранить презентацию как PDF с помощью метода [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods). Класс [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) предоставляет метод [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods), который обычно используется для конвертации презентации в PDF. -{{% alert title="ЗАМЕТКА" color="warning" %}} +{{% alert title="NOTE" color="warning" %}} -Aspose.Slides для Python напрямую записывает информацию об API и номер версии в выходные документы. Например, когда он конвертирует презентацию в PDF, Aspose.Slides для Python заполняет поле Application значением '*Aspose.Slides*' и поле PDF Producer значением в форме '*Aspose.Slides v XX.XX*'. **Обратите внимание**, что вы не можете заставить Aspose.Slides для Python изменить или удалить эту информацию из выходных документов. +Aspose.Slides for Python напрямую записывает информацию об API и номер версии в выводимых документах. Например, при конвертации презентации в PDF Aspose.Slides for Python заполняет поле Application значением '*Aspose.Slides*', а поле PDF Producer — значением в форме '*Aspose.Slides v XX.XX*'. **Примечание**: вы не можете попросить Aspose.Slides for Python изменить или удалить эту информацию из выводимых документов. {{% /alert %}} Aspose.Slides позволяет вам конвертировать: -* всю презентацию в PDF -* определенные слайды в презентации в PDF -* презентацию +* Весь набор слайдов в PDF +* Конкретные слайды презентации в PDF -Aspose.Slides экспортирует презентации в PDF таким образом, что содержимое полученных PDF-документов очень похоже на содержимое оригинальных презентаций. Эти известные элементы и атрибуты часто правильно отображаются при конвертации презентации в PDF: +Aspose.Slides экспортирует презентации в PDF, обеспечивая тесное соответствие содержимого полученных PDF оригинальным презентациям. При конвертации точно воспроизводятся элементы и атрибуты, включая: -* изображения -* текстовые поля и другие фигуры -* тексты и их форматирование -* абзацы и их форматирование -* гиперссылки -* колонтитулы -* маркеры -* таблицы +* Изображения +* Текстовые блоки и фигуры +* Форматирование текста +* Форматирование абзацев +* Гиперссылки +* Колонтитулы +* Маркеры +* Таблицы -## **Конвертировать PowerPoint в PDF** +## **Конвертация PowerPoint в PDF** -Стандартная операция конвертации PowerPoint в PDF выполняется с использованием параметров по умолчанию. В этом случае Aspose.Slides пытается конвертировать предоставленную презентацию в PDF, используя оптимальные настройки на максимальных уровнях качества. Этот код на Python показывает, как конвертировать PowerPoint в PDF: +Стандартная операция конвертации PowerPoint в PDF выполняется с использованием параметров по умолчанию. В этом случае Aspose.Slides пытается преобразовать предоставленную презентацию в PDF, используя оптимальные настройки с максимальными уровнями качества. Этот код на Python показывает, как конвертировать PowerPoint в PDF: _Шаги: Конвертация PowerPoint в PDF на Python_ -Следующий пример кода объясняет эти конвертации с помощью Python через .NET -- Шаги: Конвертировать PowerPoint в PDF с использованием Python через .NET -- Шаги: Конвертировать PPT в PDF с использованием Python через .NET -- Шаги: Конвертировать PPTX в PDF с использованием Python через .NET -- Шаги: Конвертировать ODP в PDF с использованием Python через .NET -- Шаги: Конвертировать PPS в PDF с использованием Python через .NET - -_Шаги кода:_ - -- Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) и предоставьте ему файл PowerPoint. - * _.ppt_ расширение для загрузки **PPT** файла в класс _Presentation_. - * _.pptx_ расширение для загрузки **PPTX** файла в класс _Presentation_. - * _.odp_ расширение для загрузки **ODP** файла в класс _Presentation_. - * _.pps_ расширение для загрузки **PPS** файла в класс _Presentation_. -- Сохраните _Presentation_ в формате **PDF**, вызвав метод **Save** и использовав перечисление **SaveFormat.PDF**. - - +Следующий пример кода объясняет эти конверсии с использованием Python через .NET +- Шаги: Конвертация PowerPoint в PDF с помощью Python через .NET +- Шаги: Конвертация PPT в PDF с помощью Python через .NET +- Шаги: Конвертация PPTX в PDF с помощью Python через .NET +- Шаги: Конвертация ODP в PDF с помощью Python через .NET +- Шаги: Конвертация PPS в PDF с помощью Python через .NET + +**Шаги кода:** + +- Создайте экземпляр класса [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) и передайте ему файл PowerPoint. + * Расширение _.ppt_ для загрузки файла **PPT** в класс _Presentation_. + * Расширение _.pptx_ для загрузки файла **PPTX** в класс _Presentation_. + * Расширение _.odp_ для загрузки файла **ODP** в класс _Presentation_. + * Расширение _.pps_ для загрузки файла **PPS** в класс _Presentation_. +- Сохраните _Presentation_ в формат **PDF**, вызвав метод **Save** и используя перечисление **SaveFormat.PDF**. ```python import aspose.slides as slides -# Создает экземпляр класса Presentation, представляющий файл PowerPoint +# Создаёт экземпляр класса Presentation, представляющего файл PowerPoint presentation = slides.Presentation("PowerPoint.ppt") -# Сохраняет презентацию как PDF +# Сохраняет презентацию в формате PDF presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF) ``` + {{% alert color="primary" %}} -Aspose предоставляет бесплатный онлайн [**конвертер PowerPoint в PDF**](https://products.aspose.app/slides/conversion/ppt-to-pdf), который демонстрирует процесс конвертации презентации в PDF. Для живой реализации процедуры, описанной здесь, вы можете протестировать конвертер. +Aspose предоставляет бесплатный онлайн **конвертер PowerPoint в PDF**(https://products.aspose.app/slides/conversion/ppt-to-pdf), демонстрирующий процесс преобразования презентации в PDF. Для живой реализации описанной здесь процедуры вы можете протестировать конвертер. {{% /alert %}} -## Конвертировать PowerPoint в PDF с параметрами +## **Конвертация PowerPoint в PDF с параметрами** -Aspose.Slides предлагает настраиваемые опции — свойства класса [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/), которые позволяют вам настроить PDF (результат процесса конвертации), защитить PDF паролем или даже определить, как должен проходить процесс конвертации. +Aspose.Slides предоставляет пользовательские параметры — свойства класса [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) — которые позволяют настроить получаемый PDF (в результате процесса конвертации), защитить PDF паролем или даже задать порядок выполнения конвертации. -### **Конвертация PowerPoint в PDF с настраиваемыми параметрами** +### **Конвертация PowerPoint в PDF с пользовательскими параметрами** -Используя настраиваемые параметры конвертации, вы можете установить предпочтительное качество для растровых изображений, определить, как должны обрабатываться метафайлы, установить уровень сжатия для текста, установить DPI для изображений и т. д. - -Пример кода ниже демонстрирует операцию, в которой PowerPoint-презентация конвертируется в PDF с несколькими настраиваемыми опциями: +Используя пользовательские параметры конвертации, вы можете задать предпочитаемое качество растровых изображений, указать, как обрабатывать метафайлы, установить уровень сжатия текста, задать DPI для изображений и т.д. +Пример кода ниже демонстрирует операцию, при которой презентация PowerPoint конвертируется в PDF с несколькими пользовательскими параметрами: ```python import aspose.slides as slides -# Создает экземпляр класса PdfOptions +# Создаёт экземпляр класса PdfOptions pdf_options = slides.export.PdfOptions() -# Устанавливает качество для JPG изображений +# Устанавливает качество для JPG‑изображений pdf_options.jpeg_quality = 90 # Устанавливает DPI для изображений @@ -122,51 +118,51 @@ pdf_options.sufficient_resolution = 300 # Устанавливает поведение для метафайлов pdf_options.save_metafiles_as_png = True -# Устанавливает уровень сжатия текста для текстового содержания +# Устанавливает уровень сжатия текста для текстового контента pdf_options.text_compression = slides.export.PdfTextCompression.FLATE -# Определяет режим соблюдения PDF +# Определяет режим соответствия PDF pdf_options.compliance = slides.export.PdfCompliance.PDF15 -# Создает экземпляр класса Presentation, представляющий документ PowerPoint +# Создаёт экземпляр класса Presentation, представляющего документ PowerPoint with slides.Presentation("PowerPoint.pptx") as presentation: - # Сохраняет презентацию как PDF-документ + # Сохраняет презентацию как PDF‑документ presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options) ``` -### **Конвертировать PowerPoint с скрытыми слайдами в PDF** -Если презентация содержит скрытые слайды, вы можете использовать настраиваемый параметр — свойство `show_hidden_slides` класса [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/), чтобы указать Aspose.Slides включить скрытые слайды как страницы в результирующем PDF. +### **Конвертация PowerPoint в PDF с скрытыми слайдами** -Этот код на Python показывает, как конвертировать PowerPoint-презентацию в PDF с включенными скрытыми слайдами: +Если презентация содержит скрытые слайды, можно использовать пользовательскую опцию — свойство `show_hidden_slides` класса [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) — чтобы указать Aspose.Slides включить скрытые слайды как страницы в получаемом PDF. +Этот код на Python показывает, как конвертировать презентацию PowerPoint в PDF с включенными скрытыми слайдами: ```python import aspose.slides as slides -# Создает экземпляр класса Presentation, представляющий файл PowerPoint +# Создаёт экземпляр класса Presentation, представляющего файл PowerPoint presentation = slides.Presentation("PowerPoint.pptx") -# Создает экземпляр класса PdfOptions +# Создаёт экземпляр класса PdfOptions pdfOptions = slides.export.PdfOptions() -# Включает скрытые слайды +# Добавляет скрытые слайды pdfOptions.show_hidden_slides = True -# Сохраняет презентацию как PDF +# Сохраняет презентацию в PDF presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### **Конвертировать PowerPoint в защищенный паролем PDF** -Этот код на Python показывает, как конвертировать PowerPoint в PDF, защищенный паролем (с использованием параметров защиты из класса [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)): +### **Конвертация PowerPoint в защищённый паролем PDF** +Этот код на Python показывает, как конвертировать PowerPoint в PDF, защищённый паролем (с использованием параметров защиты из класса [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/)): ```python import aspose.slides as slides -# Создает экземпляр класса Presentation, представляющий файл PowerPoint +# Создаёт объект Presentation, представляющий файл PowerPoint presentation = slides.Presentation("PowerPoint.pptx") -# Создает экземпляр класса PdfOptions +# Создаёт объект класса PdfOptions pdfOptions = slides.export.PdfOptions() # Устанавливает пароль PDF и разрешения доступа @@ -177,86 +173,89 @@ pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMEN presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### **Обнаружение замен шрифтов** -Aspose.Slides предоставляет свойство `warning_callback` в классе [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/), чтобы вы могли обнаружить замены шрифтов в процессе конвертации презентации в PDF. +### **Обнаружение замен шрифтов** -Этот код на Python показывает, как обнаружить замены шрифтов: +Aspose.Slides предоставляет свойство `warning_callback` в классе [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/) для возможности обнаружения замен шрифтов в процессе конвертации презентации в PDF. +Этот код на Python показывает, как обнаружить замены шрифтов: ```python -[TODO[SLIDESPYNET-91]: обратные вызовы пока не поддерживаются] +[TODO[SLIDESPYNET-91]: callbacks are not supported for now] ``` + {{% alert color="primary" %}} -Для получения дополнительной информации о замене шрифтов смотрите статью [Замена шрифтов](https://docs.aspose.com/slides/python-net/font-substitution/). +Для получения дополнительной информации о замене шрифтов смотрите статью [Font Substitution](https://docs.aspose.com/slides/python-net/font-substitution/). {{% /alert %}} -## **Конвертировать выбранные слайды PowerPoint в PDF** - -Этот код на Python показывает, как конвертировать конкретные слайды в PowerPoint-презентации в PDF: +## **Конвертация выбранных слайдов PowerPoint в PDF** +Этот код на Python показывает, как конвертировать определённые слайды презентации PowerPoint в PDF: ```python import aspose.slides as slides -# Создает экземпляр класса Presentation, представляющий файл PowerPoint +# Создаёт объект Presentation, представляющий файл PowerPoint presentation = slides.Presentation("PowerPoint.pptx") # Устанавливает массив позиций слайдов slides_array = [ 1, 3 ] -# Сохраняет презентацию как PDF +# Сохраняет презентацию в PDF presentation.save("PPTX-to-PDF.pdf", slides_array, slides.export.SaveFormat.PDF) ``` -## **Конвертировать PowerPoint в PDF с настраиваемым размером слайда** -Этот код на Python показывает, как конвертировать PowerPoint, когда размер его слайдов указан, в PDF: +## **Конвертация PowerPoint в PDF с пользовательским размером слайда** +Этот код на Python показывает, как конвертировать PowerPoint, когда размер слайда задан, в PDF: ```python import aspose.slides as slides -# Создает экземпляр класса Presentation, представляющий файл PowerPoint -presentation = slides.Presentation("SelectedSlides.pptx") -auxPresentation = slides.Presentation() +slide_width = 612 +slide_height = 792 -slide = presentation.slides[0] +# Создаёт экземпляр класса Presentation, представляющего файл PowerPoint или OpenDocument. +with slides.Presentation("SelectedSlides.pptx") as presentation: -auxPresentation.slides.insert_clone(0, slide) + # Создаёт новую презентацию с изменённым размером слайда. + with slides.Presentation() as resized_presentation: -# Устанавливает тип и размер слайда -auxPresentation.slide_size.set_size(612, 792, slides.SlideSizeScaleType.ENSURE_FIT) + # Устанавливает пользовательский размер слайда. + resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT) -pdfOptions = slides.export.PdfOptions() -pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL + # Клонирует первый слайд из исходной презентации. + slide = presentation.slides[0] + resized_presentation.slides.insert_clone(0, slide) -auxPresentation.save("PDFnotes_out.pdf", slides.export.SaveFormat.PDF, pdfOptions) + # Сохраняет изменённую презентацию в PDF с заметками. + resized_presentation.save("PDF_with_notes.pdf", slides.export.SaveFormat.PDF) ``` -## **Конвертировать PowerPoint в PDF в виде заметок слайдов** -Этот код на Python показывает, как конвертировать PowerPoint в PDF с заметками: +## **Конвертация PowerPoint в PDF в режиме заметок слайдов** +Этот код на Python показывает, как конвертировать PowerPoint в PDF‑заметки: ```python import aspose.slides as slides -# Создает экземпляр класса Presentation, представляющий файл PowerPoint +# Создаёт экземпляр класса Presentation, представляющего файл PowerPoint presentation = slides.Presentation("NotesFile.pptx") pdfOptions = slides.export.PdfOptions() pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL -# Сохраняет презентацию в PDF с заметками +# Сохраняет презентацию в PDF‑заметки presentation.Save("Pdf_Notes_out.tiff", slides.export.SaveFormat.PDF, pdfOptions) ``` -## **Стандарты доступности и соблюдения для PDF** -Aspose.Slides позволяет вам использовать процедуру конвертации, которая соответствует [Руководящим принципам доступности веб-контента (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Вы можете экспортировать документ PowerPoint в PDF, используя любые из этих стандартов соблюдения: **PDF/A1a**, **PDF/A1b** и **PDF/UA**. +## **Стандарты доступности и соответствия для PDF** -Этот код на Python демонстрирует операцию конвертации PowerPoint в PDF, в которой получены несколько PDF-документов на основе различных стандартов соблюдения: +Aspose.Slides позволяет использовать процедуру конвертации, соответствующую [Руководству по доступности веб‑контента (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html). Вы можете экспортировать документ PowerPoint в PDF, используя любой из этих стандартов соответствия: **PDF/A1a**, **PDF/A1b** и **PDF/UA**. +Этот код на Python демонстрирует операцию конвертации PowerPoint в PDF, при которой получаются несколько PDF, каждый из которых соответствует различным стандартам соответствия: ```python import aspose.slides as slides @@ -274,8 +273,49 @@ options.compliance = slides.export.PdfCompliance.PDF_UA pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options) ``` -{{% alert title="Заметка" color="warning" %}} -Поддержка Aspose.Slides операций конвертации PDF распространяется на возможность конвертировать PDF в самые популярные форматы файлов. Вы можете выполнить конвертацию [PDF в HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/), [PDF в изображение](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/), [PDF в JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/) и [PDF в PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/). Также поддерживаются другие операции конвертации PDF в специализированные форматы — [PDF в SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/), [PDF в TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/) и [PDF в XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/). +{{% alert title="Note" color="warning" %}} + +Поддержка Aspose.Slides в операциях конвертации PDF также позволяет преобразовывать PDF в самые популярные форматы файлов. Вы можете выполнять конвертации [PDF в HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/), [PDF в изображение](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/), [PDF в JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/), и [PDF в PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/) конвертации. Другие операции конвертации PDF в специализированные форматы — [PDF в SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/), [PDF в TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/), и [PDF в XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/) — также поддерживаются. + +{{% /alert %}} + +## **FAQ** + +**Может ли Aspose.Slides for Python удалить информацию о приложении из PDF?** + +Нет, Aspose.Slides for Python автоматически включает информацию об API и номер версии в выходной PDF. Эта информация не может быть изменена или удалена. + +**Как включить только определённые слайды в конвертацию PDF?** + +Вы можете указать индексы слайдов, которые хотите конвертировать, передав массив позиций слайдов в метод `save`. + +**Можно ли защитить PDF паролем во время конвертации?** + +Да, вы можете установить пароль и определить разрешения доступа, используя класс `PdfOptions`, перед сохранением презентации в PDF. + +**Поддерживает ли Aspose.Slides конвертацию PDF в другие форматы?** + +Да, Aspose.Slides поддерживает конвертацию PDF в такие форматы, как HTML, форматы изображений (JPG, PNG), SVG, TIFF и XML. + +**Как убедиться, что мой PDF соответствует стандартам доступности?** + +Установите свойство `compliance` в `PdfOptions` в значение стандартов, таких как `PDF_A1A`, `PDF_A1B` или `PDF_UA`, чтобы обеспечить соответствие рекомендациям по доступности. + +**Можно ли включить скрытые слайды в PDF?** + +Да, установив свойство `show_hidden_slides` в `PdfOptions` в `True`, скрытые слайды будут включены в PDF. + +**Как настроить качество и разрешение изображений при конвертации?** + +Используйте свойства `jpeg_quality` и `sufficient_resolution` в `PdfOptions` для управления качеством и разрешением изображений в получаемом PDF. + +**Обрабатывает ли Aspose.Slides замену шрифтов автоматически?** + +Aspose.Slides обнаруживает замену шрифтов во время конвертации, и вы можете обработать её с помощью свойства `warning_callback` в `SaveOptions` (в настоящее время ограничено). + +## **Дополнительные ресурсы** -{{% /alert %}} \ No newline at end of file +- [Документация Aspose.Slides для .NET](https://docs.aspose.com/slides/python-net/) +- [Справочник API Aspose.Slides](https://reference.aspose.com/slides/python-net/) +- [Бесплатные онлайн‑конвертеры Aspose](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index b7414f9948..1a37f4f2b4 100644 --- a/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/ru/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -1,5 +1,5 @@ --- -title: Конвертировать PPT в PPTX в Python +title: Преобразовать PPT в PPTX на Python linktitle: PPT в PPTX type: docs weight: 20 @@ -11,93 +11,91 @@ keywords: - презентация - Python - Aspose.Slides -description: "Конвертируйте устаревшие презентации PPT в современные PPTX быстро в Python с Aspose.Slides — понятный учебник, бесплатные примеры кода, без зависимости от Microsoft Office." +description: "Конвертируйте устаревшие презентации PPT в современные PPTX быстро на Python с Aspose.Slides — понятный учебник, бесплатные примеры кода, без зависимости от Microsoft Office." --- ## **Обзор** -Эта статья объясняет, как преобразовать презентацию PowerPoint в формате PPT в формат PPTX с помощью Python и онлайн‑приложения для конвертации PPT в PPTX. Рассмотрена следующая тема: +Эта статья объясняет, как преобразовать презентацию PowerPoint в формате PPT в формат PPTX с помощью Python и онлайн‑приложения для конвертации PPT в PPTX. Рассматривается следующая тема: -- Конвертация PPT в PPTX на Python +- Преобразовать PPT в PPTX с помощью Python -## **Python Конвертация PPT в PPTX** +## **Преобразование PPT в PPTX с помощью Python** -Пример кода на Python для конвертации PPT в PPTX см. в разделе ниже, то есть [Конвертировать PPT в PPTX](#convert-ppt-to-pptx). Он просто загружает файл PPT и сохраняет его в формате PPTX. Указывая различные форматы сохранения, можно также сохранять файл PPT в многие другие форматы, такие как PDF, XPS, ODP, HTML и т.д., как описано в следующих статьях: +Для примера кода на Python, который преобразует PPT в PPTX, см. раздел ниже, то есть [Convert PPT to PPTX](#convert-ppt-to-pptx). Он просто загружает файл PPT и сохраняет его в формате PPTX. Указывая различные форматы сохранения, вы также можете сохранить файл PPT в многих других форматах, таких как PDF, XPS, ODP, HTML и т.д., как описано в этих статьях: -- [Python Конвертация PPT в PDF](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-pdf/) -- [Python Конвертация PPT в XPS](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/) -- [Python Конвертация PPT в HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/) -- [Python Конвертация PPT в ODP](https://docs.aspose.com/slides/python-net/save-presentation/) -- [Python Конвертация PPT в Image](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-png/) +- [Python Convert PPT to PDF](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-pdf/) +- [Python Convert PPT to XPS](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/) +- [Python Convert PPT to HTML](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-html/) +- [Python Convert PPT to ODP](https://docs.aspose.com/slides/python-net/save-presentation/) +- [Python Convert PPT to Image](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-png/) ## **О конвертации PPT в PPTX** -Преобразуйте старый формат PPT в PPTX с помощью Aspose.Slides API. Если вам нужно конвертировать тысячи презентаций PPT в формат PPTX, лучшее решение — делать это программно. С Aspose.Slides API это возможно выполнить всего в несколько строк кода. API обеспечивает полную совместимость для конвертации презентации PPT в PPTX, и можно: -- Конвертировать сложные структуры мастеров, макетов и слайдов. -- Конвертировать презентацию с диаграммами. -- Конвертировать презентацию с групповыми фигурами, автофигурами (например, прямоугольниками и эллипсами) и фигурами с пользовательской геометрией. -- Конвертировать презентацию с текстурами и стилями заливки изображениями для автофигур. -- Конвертировать презентацию с заполнителями, текстовыми рамками и текстовыми объектами. +Преобразуйте старый формат PPT в PPTX с помощью Aspose.Slides API. Если вам необходимо конвертировать тысячи презентаций PPT в формат PPTX, лучшее решение — делать это программно. С помощью Aspose.Slides API это возможно выполнить всего в нескольких строках кода. API обеспечивает полную совместимость при конвертации презентации PPT в PPTX, и вы можете: + +- Преобразовать сложные структуры мастеров, макетов и слайдов. +- Преобразовать презентацию с диаграммами. +- Преобразовать презентацию с группированными объектами, автофигурами (например, прямоугольниками и эллипсами) и фигурами с пользовательской геометрией. +- Преобразовать презентацию, содержащую текстуры и стили заполнения изображениями для автофигур. +- Преобразовать презентацию с заполнителями, текстовыми рамками и текстовыми контейнерами. {{% alert color="primary" %}} -Посмотрите на приложение [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx): +Посмотрите приложение [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx): [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -Это приложение построено на основе **Aspose.Slides API**, поэтому вы можете увидеть живой пример базовых возможностей конвертации PPT в PPTX. Aspose.Slides Conversion — это веб‑приложение, которое позволяет загрузить файл презентации в формате PPT и скачать его в виде конвертированного PPTX. +Это приложение построено на основе **Aspose.Slides API**, поэтому вы увидите рабочий пример базовых возможностей конвертации PPT в PPTX. Aspose.Slides Conversion — веб‑приложение, позволяющее загрузить файл презентации в формате PPT и скачать его в формате PPTX. Найдите другие живые примеры [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) . {{% /alert %}} -## **Конвертировать PPT в PPTX** -Чтобы конвертировать PPT в PPTX, просто передайте имя файла и формат сохранения методу [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) класса [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). Пример кода на Python ниже конвертирует презентацию из PPT в PPTX, используя параметры по умолчанию. +## **Преобразовать PPT в PPTX** + +Чтобы преобразовать PPT в PPTX, просто передайте имя файла и формат сохранения в метод [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) класса [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/). Пример кода на Python ниже преобразует презентацию из PPT в PPTX, используя параметры по умолчанию. ```python import aspose.slides as slides -# Создать объект Presentation, представляющий файл PPT +# Создайте объект Presentation, представляющий файл PPT pres = slides.Presentation("PPTtoPPTX.ppt") -# Сохранить презентацию в формате PPTX +# Сохраните презентацию в формате PPTX pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` -Читайте подробнее о форматах презентаций [**PPT vs PPTX**](/slides/ru/python-net/ppt-vs-pptx/) и о том, как [**Aspose.Slides поддерживает конвертацию PPT в PPTX**](/slides/ru/python-net/convert-ppt-to-pptx/). - -## Часто задаваемые вопросы - -### **В чем разница между форматами PPT и PPTX?** +Подробнее о форматах презентаций [**PPT vs PPTX**](/slides/ru/python-net/ppt-vs-pptx/) и о том, как [**Aspose.Slides supports PPT to PPTX conversion**](/slides/ru/python-net/convert-ppt-to-pptx/). -PPT — это более старый двоичный формат файла, используемый Microsoft PowerPoint, тогда как PPTX — более новый формат на основе XML, внедренный в Microsoft Office 2007. Файлы PPTX обеспечивают лучшую производительность, меньший размер и более эффективное восстановление данных. +## **FAQ** -### **Можно ли конвертировать PPT в PPTX с помощью Python?** +**В чём разница между форматами PPT и PPTX?** -Да, используя библиотеку Aspose.Slides for Python via .NET, вы можете легко загрузить файл PPT и сохранить его в формате PPTX всего несколькими строками кода. +PPT — старый двоичный формат файла, используемый Microsoft PowerPoint, тогда как PPTX — новый XML‑основной формат, появившийся в Microsoft Office 2007. Файлы PPTX обеспечивают лучшую производительность, меньший размер и более надёжное восстановление данных. -### **Требуется ли Aspose.Slides for Python via .NET для конвертации PPT в PPTX?** +**Можно ли конвертировать PPT в PPTX с помощью Python?** -Да, API Aspose.Slides предоставляет необходимые методы и классы для программной конвертации, манипуляции и сохранения презентаций PowerPoint без необходимости использовать Microsoft PowerPoint. +Да, используя библиотеку Aspose.Slides for Python via .NET, вы можете легко загрузить файл PPT и сохранить его в формате PPTX за несколько строк кода. -### **Поддерживает ли Aspose.Slides пакетную конвертацию нескольких файлов PPT в PPTX?** +**Поддерживает ли Aspose.Slides пакетную конвертацию нескольких файлов PPT в PPTX?** -Да, вы можете использовать Aspose.Slides в цикле для программной конвертации множества файлов PPT в PPTX, что подходит для сценариев пакетной обработки. +Да, вы можете использовать Aspose.Slides в цикле для программного преобразования множества файлов PPT в PPTX, что подходит для пакетных сценариев. -### **Будут ли содержимое и форматирование сохранены после конвертации?** +**Сохранится ли содержимое и форматирование после конвертации?** Aspose.Slides сохраняет высокую точность при конвертации презентаций. Макеты слайдов, анимации, фигуры, диаграммы и другие элементы дизайна сохраняются при преобразовании PPT в PPTX. -### **Могу ли я конвертировать другие форматы, такие как PDF или HTML, из файлов PPT?** +**Можно ли конвертировать другие форматы, такие как PDF или HTML, из файлов PPT?** -Да, Aspose.Slides поддерживает конвертацию файлов PPT в несколько форматов, включая PDF, XPS, HTML, ODP и графические форматы, такие как PNG и JPEG. +Да, Aspose.Slides поддерживает конвертацию PPT в различные форматы, включая PDF, XPS, HTML, ODP и графические форматы, такие как PNG и JPEG. -### **Можно ли конвертировать PPT в PPTX без установленного Microsoft PowerPoint?** +**Можно ли конвертировать PPT в PPTX без установленного Microsoft PowerPoint?** -Да, Aspose.Slides for Python via .NET является автономным API и не требует Microsoft PowerPoint или какого‑либо стороннего программного обеспечения для выполнения конвертации. +Да, Aspose.Slides for Python via .NET — это автономный API, не требующий Microsoft PowerPoint или стороннего программного обеспечения для выполнения конвертации. -### **Существует ли онлайн‑инструмент для конвертации PPT в PPTX?** +**Есть ли онлайн‑инструмент для конвертации PPT в PPTX?** -Да, вы можете воспользоваться бесплатным веб‑приложением [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) для выполнения конвертации непосредственно в браузере без написания кода. \ No newline at end of file +Да, вы можете воспользоваться бесплатным веб‑приложением [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) для выполнения конвертации напрямую в браузере без написания кода. diff --git a/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..bbd2fe5e9b --- /dev/null +++ b/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "Автоматизация создания PowerPoint в Python: создавайте динамические презентации легко" +linktitle: Автоматизация создания PowerPoint +type: docs +weight: 20 +url: /ru/python-net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- облачные платформы +- автоматизация создания PowerPoint +- программная генерация презентаций +- автоматизация PowerPoint +- динамическое создание слайдов +- автоматизированные бизнес-отчёты +- автоматизация PPT +- презентация на Python +- Python +- Aspose.Slides +description: "Автоматизируйте создание слайдов на облачных платформах с помощью Aspose.Slides for Python — быстро и надёжно создавайте, редактируйте и конвертируйте файлы PowerPoint и OpenDocument." +--- + +## **Введение** + +Создание презентаций PowerPoint вручную может быть трудоемкой и повторяющейся задачей — особенно когда содержание основано на динамических данных, которые часто меняются. Будь то генерация еженедельных бизнес‑отчётов, сбор учебных материалов или создание готовых к использованию клиентских презентаций, автоматизация может сэкономить бесчисленное количество часов и обеспечить согласованность в командах. + +Для разработчиков на Python автоматизация создания презентаций PowerPoint открывает мощные возможности. Вы можете интегрировать генерацию слайдов в веб‑порталы, настольные инструменты, серверные службы или облачные платформы, чтобы динамически преобразовывать данные в профессиональные, фирменные презентации по запросу. + +В этой статье мы рассмотрим распространённые сценарии использования автоматизированного создания PowerPoint в приложениях на Python (включая развертывание на облачных платформах) и почему это становится обязательной функцией в современных решениях. От получения данных в реальном времени до преобразования текста или изображений в слайды — цель состоит в том, чтобы превратить сырое содержание в структурированные визуальные форматы, которые ваша аудитория сразу поймёт. + +## **Распространённые сценарии использования автоматизации PowerPoint в Python** + +Автоматизация создания PowerPoint особенно полезна в сценариях, когда содержание презентации должно динамически собираться, персонализироваться или часто обновляться. Некоторые из наиболее распространённых практических случаев включают: + +- **Бизнес‑отчёты и информационные панели** + Создавайте сводки продаж, KPI или отчёты о финансовой деятельности, получая живые данные из баз данных или API. + +- **Персонализированные презентации продаж и маркетинга** + Автоматически создавайте клиентские презентации, используя данные CRM или формы, обеспечивая быструю подготовку и согласованность бренда. + +- **Образовательный контент** + Преобразуйте учебные материалы, викторины или резюме курсов в структурированные наборы слайдов для платформ e‑learning. + +- **Аналитика на основе данных и ИИ** + Используйте обработку естественного языка или аналитические движки, чтобы преобразовать сырые данные или длинные тексты в сокращённые презентации. + +- **Слайды, основанные на медиа** + Собирайте презентации из загруженных изображений, аннотированных скриншотов или ключевых кадров видео с сопроводительными описаниями. + +- **Конвертация документов** + Автоматически преобразуйте документы Word, PDF или ввод данных в визуальные презентации с минимальными усилиями. + +- **Инструменты для разработчиков и технические средства** + Создавайте технические демо, обзоры документации или журналы изменений в формате слайдов непосредственно из кода или содержимого markdown. + +Автоматизируя эти рабочие процессы, организации могут масштабировать создание контента, поддерживать согласованность и освобождать время для более стратегической работы. + +## **Напишем код** + +Для этого примера мы выбрали **[Aspose.Slides for Python](https://products.aspose.com/slides/python-net/)**, чтобы продемонстрировать автоматизацию PowerPoint благодаря его полному набору функций и удобству использования при программной работе с презентациями. + +В отличие от низкоуровневых библиотек, требующих от разработчиков прямой работы со структурой Open XML (что часто приводит к громоздкому и трудночитаемому коду), Aspose.Slides предоставляет API более высокого уровня. Оно скрывает сложность, позволяя разработчикам сосредоточиться на логике презентации — такой как макет, форматирование и привязка данных — без необходимости детально разбираться в формате файлов PowerPoint. + +Хотя Aspose.Slides является коммерческой библиотекой, она предлагает [free trial](https://releases.aspose.com/slides/python-net/) версию, полностью способную выполнять примеры, приведённые в этой статье. Для целей демонстрации идей, тестирования функций или создания прототипа, как в данном примере, пробная версия более чем достаточна. Это делает её удобным вариантом для экспериментов с автоматизацией PowerPoint без необходимости сразу покупать лицензию. + +Итак, пройдём шаг за шагом создание примерной презентации с реальным содержимым. + +### **Создание титульного слайда** + +Мы начнём с создания новой презентации и добавления титульного слайда с главным заголовком и подзаголовком. +```py +import aspose.slides as slides +import aspose.slides.charts as charts +import aspose.pydrawing as draw + +with slides.Presentation() as presentation: + + slide_0 = presentation.slides[0] + slide_0.layout_slide = presentation.layout_slides.get_by_type(slides.SlideLayoutType.TITLE) + + title_shape = slide_0.shapes[0] + subtitle_shape = slide_0.shapes[1] + + title_shape.text_frame.text = "Quarterly Business Review – Q1 2025" + subtitle_shape.text_frame.text = "Prepared for Executive Team" +``` + + +![Титульный слайд](slide_0.png) + +### **Добавление слайда со столбчатой диаграммой** + +Далее мы создадим слайд, показывающий региональные показатели продаж в виде столбчатой диаграммы. +```py +layout_slide_1 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_1 = presentation.slides.add_empty_slide(layout_slide_1) + +chart = slide_1.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350, False) +chart.legend.position = charts.LegendPositionType.BOTTOM +chart.has_title = True +chart.chart_title.add_text_frame_for_overriding("Data from January – March 2025") +chart.chart_title.overlay = False + +workbook = chart.chart_data.chart_data_workbook +worksheet_index = 0 + +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 1, 0, "North America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 2, 0, "Europe")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 3, 0, "Asia Pacific")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 4, 0, "Latin America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 5, 0, "Middle East")) + +series = chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 1, "Sales ($K)"), chart.type) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 1, 480)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 1, 365)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 1, 290)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 4, 1, 150)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 5, 1, 120)) +``` + + +![Слайд с диаграммой](slide_1.png) + +### **Добавление слайда с таблицей** + +Теперь мы добавим слайд, представляющий ключевые показатели эффективности в виде таблицы. +```py +layout_slide_2 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_2 = presentation.slides.add_empty_slide(layout_slide_2) + +column_widths = [200, 100] +row_heights = [40, 40, 40, 40, 40] + +table = slide_2.shapes.add_table(200, 200, column_widths, row_heights) +table.columns[0][0].text_frame.text = "Metric" +table.columns[1][0].text_frame.text = "Value" +table.columns[0][1].text_frame.text = "Total Revenue" +table.columns[1][1].text_frame.text = "$1.4M" +table.columns[0][2].text_frame.text = "Gross Margin" +table.columns[1][2].text_frame.text = "54%" +table.columns[0][3].text_frame.text = "New Customers" +table.columns[1][3].text_frame.text = "340" +table.columns[0][4].text_frame.text = "Customer Retention" +table.columns[1][4].text_frame.text = "87%" +``` + + +![Слайд с таблицей](slide_2.png) + +### **Добавление итогового слайда с маркерами** + +Наконец, мы включим резюме и план действий, используя простой маркированный список. +```py +def create_bullet_paragraph(text): + paragraph = slides.Paragraph() + paragraph.paragraph_format.bullet.type = slides.BulletType.SYMBOL + paragraph.paragraph_format.indent = 15 + paragraph.paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID + paragraph.paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.black + paragraph.text = text + return paragraph +``` + +```py +layout_slide_3 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_3 = presentation.slides.add_empty_slide(layout_slide_3) + +bullet_list = slide_3.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 50, 600, 200) +bullet_list.fill_format.fill_type = slides.FillType.NO_FILL +bullet_list.line_format.fill_format.fill_type = slides.FillType.NO_FILL + +bullet_list.text_frame.paragraphs.clear() +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Strong performance in North America; growth opportunity in Asia Pacific")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Improve marketing outreach in underperforming regions")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Prepare new campaign strategy for Q2")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Schedule follow-up review in early July")) +``` + + +![Слайд с текстом](slide_3.png) + +### **Сохранение презентации** + +Наконец, сохраняем презентацию на диск: +```py +presentation.save("presentation.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **Заключение** + +Автоматизация создания PowerPoint в приложениях на Python дает очевидные преимущества в экономии времени и снижении ручных усилий. Интегрируя динамический контент, такой как диаграммы, таблицы и текст, разработчики могут быстро создавать согласованные, профессиональные презентации — идеальные для бизнес‑отчётов, встреч с клиентами или образовательного контента. + +В этой статье мы продемонстрировали, как автоматизировать создание презентации с нуля, включая добавление титульного слайда, диаграмм и таблиц. Такой подход может быть применён в различных сценариях, где нужны автоматизированные презентации на основе данных. + +Используя правильные инструменты, разработчики на Python могут эффективно автоматизировать создание PowerPoint, повышая продуктивность и обеспечивая согласованность презентаций. \ No newline at end of file diff --git a/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/ru/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..833620500e --- /dev/null +++ b/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "在 Android 上自动化 PowerPoint 生成:轻松创建动态演示文稿" +linktitle: 自动化PowerPoint生成 +type: docs +weight: 20 +url: /zh/androidjava/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- 云平台 +- 自动化 PowerPoint 生成 +- 编程生成演示文稿 +- PowerPoint 自动化 +- 动态幻灯片创建 +- 自动化业务报告 +- PPT 自动化 +- Android 演示 +- Java +- Aspose.Slides +description: "使用 Aspose.Slides for Android 在云平台上自动化幻灯片创建——快速且可靠地生成、编辑和转换 PowerPoint 与 OpenDocument 文件。" +--- + +## **介绍** + +手动创建 PowerPoint 演示文稿可能既耗时又重复——尤其是当内容基于经常变化的动态数据时。无论是生成每周业务报告、组装教学材料,还是制作可直接交付给客户的销售方案,自动化都能节省大量时间,并确保团队之间的一致性。 + +对于 Android 开发者来说,自动化创建 PowerPoint 演示文稿开启了强大的可能性。您可以将幻灯片生成集成到网页门户、桌面工具、后端服务或云平台中,实现按需将数据动态转换为专业、品牌化的演示文稿。 + +在本文中,我们将探讨 Android 应用(包括在云平台上的部署)中自动化 PowerPoint 生成的常见使用场景,以及它为何正成为现代解决方案中的关键特性。从获取实时业务数据到将文本或图像转换为幻灯片,目标是将原始内容转化为结构化、可视化的格式,让受众瞬间理解。 + +## **PowerPoint 自动化在 Android 上的常见用例** + +自动化 PowerPoint 生成在需要动态组装、个性化或频繁更新演示内容的场景中特别有价值。最常见的真实业务用例包括: + +- **业务报告与仪表盘** + 通过从数据库或 API 获取实时数据,生成销售摘要、关键绩效指标(KPI)或财务表现报告。 + +- **个性化销售与营销演示** + 自动使用 CRM 或表单数据创建针对特定客户的推介稿,确保快速交付并保持品牌一致性。 + +- **教育内容** + 将学习材料、测验或课程摘要转换为结构化的幻灯片,供 e 学习平台使用。 + +- **数据与 AI 驱动的洞察** + 使用自然语言处理或分析引擎将原始数据或长文本转化为摘要演示文稿。 + +- **基于媒体的幻灯片** + 从上传的图片、带注释的截图或视频关键帧以及配套描述组装演示文稿。 + +- **文档转换** + 自动将 Word 文档、PDF 或表单输入转换为可视化的演示文稿,减少手动工作量。 + +- **开发者和技术工具** + 直接从代码或 markdown 内容生成技术演示、文档概览或更新日志的幻灯片。 + +通过自动化这些工作流,组织可以规模化内容创建,保持一致性,并释放时间用于更具战略性的工作。 + +## **让我们编写代码** + +在本示例中,我们选择使用 [Aspose.Slides for Android](https://products.aspose.com/slides/android-java/) 来演示 PowerPoint 自动化,因为它功能全面且在编程操作演示文稿时使用简便。 + +与需要直接操作 Open XML 结构的低层库不同,Aspose.Slides 提供了更高级的 API,抽象掉了复杂性,使开发者能够专注于演示逻辑——如布局、格式和数据绑定——而无需深入了解 PowerPoint 文件格式的细节。 + +虽然 Aspose.Slides 是商业库,但它提供了一个 [free trial](https://releases.aspose.com/slides/androidjava/) 版本,完全可以运行本文提供的示例。对于演示概念、测试功能或构建概念验证,这个试用版已经足够。这使得在不提前购买许可证的情况下,体验自动化 PowerPoint 生成变得非常便利。 + +好了,让我们通过实际内容逐步构建示例演示文稿。 + +### **创建标题幻灯片** + +我们首先创建一个新演示文稿,并添加一个包含主标题和副标题的标题幻灯片。 +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![标题幻灯片](slide_0.png) + +### **添加带柱状图的幻灯片** + +接下来,我们创建一个展示地区销售业绩的柱状图幻灯片。 +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![带图表的幻灯片](slide_1.png) + +### **添加带表格的幻灯片** + +现在,我们添加一个以表格形式呈现关键绩效指标的幻灯片。 +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![带表格的幻灯片](slide_2.png) + +### **添加包含要点的摘要幻灯片** + +最后,我们使用简单的项目符号列表加入摘要和行动计划。 +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![带文本的幻灯片](slide_3.png) + +### **保存演示文稿** + +最后,我们将演示文稿保存到磁盘: +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **结论** + +在 Android 应用中实现 PowerPoint 自动化能够显著节省时间并降低手动工作量。通过集成图表、表格和文本等动态内容,开发者可以快速生成一致且专业的演示文稿——无论是业务报告、客户会议还是教育内容,都能满足需求。 + +本文演示了如何从零开始自动化创建演示文稿,包括添加标题幻灯片、图表和表格。此方法可适用于各种需要自动化、数据驱动演示文稿的使用场景。 + +通过使用合适的工具,Android 开发者能够高效地实现 PowerPoint 创建自动化,提高生产力并确保演示文稿的一致性。 \ No newline at end of file diff --git a/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/zh/androidjava/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..2624c5ac9f --- /dev/null +++ b/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "在 C++ 中自动化 PowerPoint 生成:轻松创建动态演示文稿" +linktitle: 自动化 PowerPoint 生成 +type: docs +weight: 20 +url: /zh/cpp/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- 云平台 +- 自动化 PowerPoint 生成 +- 编程生成演示文稿 +- PowerPoint 自动化 +- 动态幻灯片创建 +- 自动化业务报告 +- PPT 自动化 +- C++ 演示文稿 +- C++ +- Aspose.Slides +description: "使用 Aspose.Slides for C++ 在云平台上自动化幻灯片创建——快速可靠地生成、编辑和转换 PowerPoint 与 OpenDocument 文件。" +--- + +## **简介** + +手动创建 PowerPoint 演示文稿可能既耗时又重复——尤其是内容基于经常变化的动态数据时。无论是生成每周业务报告、整理教学材料,还是制作客户可直接使用的销售演示稿,自动化都能节省无数小时并确保团队之间的一致性。 + +对于 C++ 开发者来说,自动化创建 PowerPoint 演示文稿开辟了强大的可能性。您可以将幻灯片生成集成到 Web 门户、桌面工具、后端服务或云平台中,实现数据的动态转换,按需生成专业且符合品牌形象的演示文稿。 + +在本文中,我们将探讨 C++ 应用(包括在云平台上的部署)中自动化 PowerPoint 生成的常见使用场景,以及它为何正在成为现代解决方案的关键特性。从实时业务数据的抽取到将文本或图像转换为幻灯片,目标是将原始内容转化为结构化、可视化的格式,让受众能够瞬间理解。 + +## **C++ 中 PowerPoint 自动化的常见使用场景** + +在需要动态组装、个性化或频繁更新演示内容的情境下,PowerPoint 自动化尤为有用。最常见的真实场景包括: + +- **业务报告与仪表盘** + 通过从数据库或 API 获取实时数据,生成销售摘要、关键绩效指标或财务绩效报告。 + +- **个性化的销售与营销演示稿** + 使用 CRM 或表单数据自动创建客户专属的推介稿,确保快速交付和品牌统一。 + +- **教育内容** + 将学习材料、测验或课程摘要转换为结构化的幻灯片,供在线学习平台使用。 + +- **数据与 AI 驱动的洞察** + 利用自然语言处理或分析引擎将原始数据或长文本转化为简要的演示文稿。 + +- **媒体类幻灯片** + 从上传的图片、标注截图或视频关键帧中组装演示文稿,并附上说明文字。 + +- **文档转换** + 自动将 Word 文档、PDF 或表单输入转换为可视化演示稿,几乎不需手动干预。 + +- **开发者和技术工具** + 直接从代码或 markdown 内容生成技术演示、文档概览或变更日志的幻灯片格式。 + +通过自动化这些工作流,组织可以规模化内容创作,保持一致性,并将时间释放给更具策略性的工作。 + +## **动手编码** + +本文示例选用了 **[Aspose.Slides for C++](https://products.aspose.com/slides/cpp/)** 来演示 PowerPoint 自动化,因为它功能全面且在以编程方式处理演示文稿时使用便捷。 + +与需要直接操作 Open XML 结构的底层库不同(往往导致代码冗长且难以阅读),Aspose.Slides 提供了更高层次的 API。它抽象掉了复杂性,使开发者可以专注于演示逻辑——如布局、格式化和数据绑定——而无需深入了解 PowerPoint 文件格式的细节。 + +虽然 Aspose.Slides 是商业库,但它提供了一个 **[免费试用](https://releases.aspose.com/slides/cpp/)** 版本,完全能够运行本文提供的示例。对于演示概念、测试功能或构建本文所示的概念验证来说,试用版已足够。这使得在无需提前购买许可证的情况下,能够方便地尝试自动化 PowerPoint 生成。 + +下面我们将通过实际案例,使用真实内容构建一个示例演示文稿。 + +### **创建标题幻灯片** + +首先创建一个新演示文稿,并添加一个包含主标题和副标题的标题幻灯片。 +```cpp +auto presentation = MakeObject(); + +auto slide0 = presentation->get_Slide(0); + +auto layoutSlide = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Title); +slide0->set_LayoutSlide(layoutSlide); + +auto titleShape = ExplicitCast(slide0->get_Shape(0)); +auto subtitleShape = ExplicitCast(slide0->get_Shape(1)); + +titleShape->get_TextFrame()->set_Text(u"Quarterly Business Review – Q1 2025"); +subtitleShape->get_TextFrame()->set_Text(u"Prepared for Executive Team"); +``` + + +![标题幻灯片](slide_0.png) + +### **添加包含柱状图的幻灯片** + +接下来,我们创建一张展示区域销售业绩的柱状图幻灯片。 +```cpp +auto layoutSlide1 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide1 = presentation->get_Slides()->AddEmptySlide(layoutSlide1); + +auto chart = slide1->get_Shapes()->AddChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +chart->get_Legend()->set_Position(LegendPositionType::Bottom); +chart->set_HasTitle(true); +chart->get_ChartTitle()->AddTextFrameForOverriding(u"Data from January – March 2025"); +chart->get_ChartTitle()->set_Overlay(false); + +auto workbook = chart->get_ChartData()->get_ChartDataWorkbook(); +auto worksheetIndex = 0; + +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 1, 0, ObjectExt::Box(u"North America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 2, 0, ObjectExt::Box(u"Europe"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 3, 0, ObjectExt::Box(u"Asia Pacific"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 4, 0, ObjectExt::Box(u"Latin America"))); +chart->get_ChartData()->get_Categories()->Add(workbook->GetCell(worksheetIndex, 5, 0, ObjectExt::Box(u"Middle East"))); + +auto series = chart->get_ChartData()->get_Series()->Add(workbook->GetCell(worksheetIndex, 0, 1, ObjectExt::Box(u"Sales ($K)")), chart->get_Type()); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 1, 1, ObjectExt::Box(480))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 2, 1, ObjectExt::Box(365))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 3, 1, ObjectExt::Box(290))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 4, 1, ObjectExt::Box(150))); +series->get_DataPoints()->AddDataPointForBarSeries(workbook->GetCell(worksheetIndex, 5, 1, ObjectExt::Box(120))); +``` + + +![包含柱状图的幻灯片](slide_1.png) + +### **添加包含表格的幻灯片** + +现在添加一张以表格形式呈现关键绩效指标的幻灯片。 +```cpp +auto layoutSlide2 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide2 = presentation->get_Slides()->AddEmptySlide(layoutSlide2); + +auto columnWidths = MakeArray({ 200, 100 }); +auto rowHeights = MakeArray({ 40, 40, 40, 40, 40 }); + +auto table = slide2->get_Shapes()->AddTable(200, 200, columnWidths, rowHeights); +table->get_Column(0)->idx_get(0)->get_TextFrame()->set_Text(u"Metric"); +table->get_Column(1)->idx_get(0)->get_TextFrame()->set_Text(u"Value"); +table->get_Column(0)->idx_get(1)->get_TextFrame()->set_Text(u"Total Revenue"); +table->get_Column(1)->idx_get(1)->get_TextFrame()->set_Text(u"$1.4M"); +table->get_Column(0)->idx_get(2)->get_TextFrame()->set_Text(u"Gross Margin"); +table->get_Column(1)->idx_get(2)->get_TextFrame()->set_Text(u"54%"); +table->get_Column(0)->idx_get(3)->get_TextFrame()->set_Text(u"New Customers"); +table->get_Column(1)->idx_get(3)->get_TextFrame()->set_Text(u"340"); +table->get_Column(0)->idx_get(4)->get_TextFrame()->set_Text(u"Customer Retention"); +table->get_Column(1)->idx_get(4)->get_TextFrame()->set_Text(u"87%"); +``` + + +![包含表格的幻灯片](slide_2.png) + +### **添加包含项目符号的摘要幻灯片** + +最后,我们使用简洁的项目符号列表加入摘要和行动计划。 +```cpp +static SharedPtr CreateBulletParagraph(String text) { + auto paragraph = MakeObject(); + paragraph->get_ParagraphFormat()->get_Bullet()->set_Type(BulletType::Symbol); + paragraph->get_ParagraphFormat()->set_Indent(15); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->set_FillType(FillType::Solid); + paragraph->get_ParagraphFormat()->get_DefaultPortionFormat()->get_FillFormat()->get_SolidFillColor()->set_Color(Color::get_Black()); + paragraph->set_Text(text); + return paragraph; +} +``` + +```cpp +auto layoutSlide3 = presentation->get_LayoutSlides()->GetByType(SlideLayoutType::Blank); +auto slide3 = presentation->get_Slides()->AddEmptySlide(layoutSlide3); + +auto bulletList = slide3->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +bulletList->get_FillFormat()->set_FillType(FillType::NoFill); +bulletList->get_LineFormat()->get_FillFormat()->set_FillType(FillType::NoFill); + +bulletList->get_TextFrame()->get_Paragraphs()->Clear(); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Improve marketing outreach in underperforming regions")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Prepare new campaign strategy for Q2")); +bulletList->get_TextFrame()->get_Paragraphs()->Add(CreateBulletParagraph(u"Schedule follow-up review in early July")); +``` + + +![包含文本的幻灯片](slide_3.png) + +### **保存演示文稿** + +最终,将演示文稿保存到磁盘: +```java +presentation->Save(u"presentation.pptx", SaveFormat::Pptx); +``` + + +## **结论** + +在 C++ 应用中实现 PowerPoint 自动化能够显著节省时间并降低手工工作量。通过集成图表、表格和文本等动态内容,开发者可以快速生成一致、专业的演示文稿——这对业务报告、客户会议或教学内容尤为适用。 + +本文演示了如何从零开始自动创建演示文稿,包括添加标题幻灯片、图表和表格。该方法可广泛应用于各种需要自动化、数据驱动的演示场景。 + +借助合适的工具,C++ 开发者能够高效实现 PowerPoint 自动化,提升生产力并确保演示文稿的一致性。 \ No newline at end of file diff --git a/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/zh/cpp/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..f5020781e8 --- /dev/null +++ b/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "在 Java 中自动化 PowerPoint 生成:轻松创建动态演示文稿" +linktitle: 在 Java 中自动化 PowerPoint 生成 +type: docs +weight: 20 +url: /zh/java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- 云平台 +- 自动化 PowerPoint 生成 +- 编程生成演示文稿 +- PowerPoint 自动化 +- 动态幻灯片创建 +- 自动化业务报告 +- PPT 自动化 +- Java 演示文稿 +- Java +- Aspose.Slides +description: "使用 Aspose.Slides for Java 在云平台上自动化幻灯片创建——快速可靠地生成、编辑和转换 PowerPoint 和 OpenDocument 文件。" +--- + +## **介绍** + +手动创建 PowerPoint 演示文稿可能是一个耗时且重复的任务——尤其是当内容基于经常变化的动态数据时。无论是生成每周业务报告、组装教育材料,还是制作面向客户的销售演示文稿,自动化都可以节省大量时间并确保团队之间的一致性。 + +对于 Java 开发者来说,自动化创建 PowerPoint 演示文稿打开了强大的可能性。您可以将幻灯片生成集成到 Web 门户、桌面工具、后端服务或云平台中,以按需动态地将数据转换为专业的品牌演示文稿。 + +在本文中,我们将探讨 Java 应用(包括在云平台上的部署)中自动化 PowerPoint 生成的常见用例,以及它为何正在成为现代解决方案的关键特性。从获取实时业务数据到将文本或图像转换为幻灯片,目标是将原始内容转化为结构化的可视化格式,使受众能够即时理解。 + +## **Java 中 PowerPoint 自动化的常见用例** + +自动化 PowerPoint 生成在需要动态组装、个性化或频繁更新演示内容的场景中特别有用。一些最常见的真实世界用例包括: + +- **业务报告与仪表板** + 通过从数据库或 API 获取实时数据,生成销售摘要、关键绩效指标或财务绩效报告。 + +- **个性化销售与营销演示文稿** + 使用 CRM 或表单数据自动创建针对特定客户的演示文稿,确保快速交付和品牌一致性。 + +- **教育内容** + 将学习材料、测验或课程摘要转换为结构化的幻灯片套件,用于电子学习平台。 + +- **数据与 AI 驱动的洞察** + 利用自然语言处理或分析引擎将原始数据或长文本转化为摘要演示文稿。 + +- **基于媒体的幻灯片** + 从上传的图像、带注释的截图或视频关键帧及其说明中组装演示文稿。 + +- **文档转换** + 自动将 Word 文档、PDF 或表单输入转换为可视化演示文稿,几乎无需人工操作。 + +- **开发者和技术工具** + 直接从代码或 markdown 内容创建技术演示、文档概览或变更日志的幻灯片格式。 + +通过自动化这些工作流,组织可以扩大内容创建规模,保持一致性,并释放时间用于更具战略性的工作。 + +## **让我们编码** + +在本示例中,我们选择了 **[Aspose.Slides for Java](https://products.aspose.com/slides/java/)** 来演示 PowerPoint 自动化,因为它具备全面的功能集,并且在以编程方式处理演示文稿时使用便捷。 + +与需要开发者直接操作 Open XML 结构的低层库不同(通常导致冗长且难以阅读的代码),Aspose.Slides 提供了更高级的 API。它抽象掉了复杂性,使开发者可以专注于演示逻辑——如布局、格式化和数据绑定——而无需深入了解 PowerPoint 文件格式的细节。 + +虽然 Aspose.Slides 是商业库,但它提供了一个 [免费试用](https://releases.aspose.com/slides/java/) 版本,完全能够运行本文提供的示例。为了演示概念、测试功能或构建本文所覆盖的概念验证,试用版已绰绰有余。这使得在无需预先购买许可证的情况下,实验自动化 PowerPoint 生成变得方便。 + +好的,让我们通过使用真实内容构建示例演示文稿来进行演练。 + +### **创建标题幻灯片** + +我们将首先创建一个新的演示文稿,并添加一个包含主标题和副标题的标题幻灯片。 +```java +Presentation presentation = new Presentation(); + +ISlide slide0 = presentation.getSlides().get_Item(0); + +ILayoutSlide layoutSlide = presentation.getLayoutSlides().getByType(SlideLayoutType.Title); +slide0.setLayoutSlide(layoutSlide); + +IAutoShape titleShape = (IAutoShape)slide0.getShapes().get_Item(0); +IAutoShape subtitleShape = (IAutoShape)slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![标题幻灯片](slide_0.png) + +### **添加包含柱形图的幻灯片** + +接下来,我们将创建一个展示地区销售业绩的柱形图幻灯片。 +```java +ILayoutSlide layoutSlide1 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +IChart chart = slide1.getShapes().addChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +IChartDataWorkbook workbook = chart.getChartData().getChartDataWorkbook(); +int worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +IChartSeries series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![包含柱形图的幻灯片](slide_1.png) + +### **添加包含表格的幻灯片** + +我们现在将添加一个以表格形式呈现关键绩效指标的幻灯片。 +```java +ILayoutSlide layoutSlide2 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +double[] columnWidths = {200, 100}; +double[] rowHeights = {40, 40, 40, 40, 40}; + +ITable table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![包含表格的幻灯片](slide_2.png) + +### **添加包含要点的汇总幻灯片** + +最后,我们将使用简洁的项目符号列表加入汇总和行动计划。 +```java +static IParagraph createBulletParagraph(String text) { + Paragraph paragraph = new Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(BulletType.Symbol); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK); + paragraph.setText(text); + return paragraph; +} +``` + +```java +ILayoutSlide layoutSlide3 = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank); +ISlide slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +IAutoShape bulletList = slide3.getShapes().addAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(FillType.NoFill); +bulletList.getLineFormat().getFillFormat().setFillType(FillType.NoFill); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![包含文本的幻灯片](slide_3.png) + +### **保存演示文稿** + +最后,我们将演示文稿保存到磁盘: +```java +presentation.save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **结论** + +在 Java 应用程序中自动化 PowerPoint 生成显著节省时间并减少人工工作。通过集成图表、表格和文本等动态内容,开发者可以快速生成一致且专业的演示文稿——这对于业务报告、客户会议或教育内容都非常理想。 + +在本文中,我们演示了如何从零自动化创建演示文稿,包括添加标题幻灯片、图表和表格。这种方法可应用于需要自动化、数据驱动演示文稿的各种用例。 + +通过利用合适的工具,Java 开发者可以高效地自动化 PowerPoint 创建,提高生产力并确保演示文稿的一致性。 \ No newline at end of file diff --git a/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/zh/java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/zh/net/developer-guide/3d-presentation/_index.md b/zh/net/developer-guide/3d-presentation/_index.md index 712b7c1bd3..329d2feda5 100644 --- a/zh/net/developer-guide/3d-presentation/_index.md +++ b/zh/net/developer-guide/3d-presentation/_index.md @@ -1,56 +1,41 @@ --- -title: 3D 演示 +title: 3D 演示文稿 type: docs weight: 232 url: /zh/net/3d-presentation/ keywords: - 3D - 3D PowerPoint -- 3D 演示 +- 3D 演示文稿 - 3D 旋转 - 3D 深度 -- 3D 拉伸 +- 3D 挤压 - 3D 渐变 - 3D 文本 -- PowerPoint 演示 +- PowerPoint 演示文稿 - C# - Csharp -- Aspose.Slides for .NET -description: "使用 C# 或 .NET 制作的 3D PowerPoint 演示" +- 适用于 .NET 的 Aspose.Slides +description: "在 C# 或 .NET 中的 3D PowerPoint 演示文稿" --- +## **概述** +您通常如何创建 3D PowerPoint 演示文稿? +Microsoft PowerPoint 允许以 3D 方式创建演示文稿,您可以在其中添加 3D 模型、对形状应用 3D 效果、创建 3D 文本、将 3D 图形上传到演示文稿、创建 PowerPoint 3D 动画。 -## 概述 -您通常如何创建 3D PowerPoint 演示? -Microsoft PowerPoint 使我们能够创建 3D 演示,这意味着我们可以在其中添加 3D 模型,对形状应用 3D 效果, -创建 3D 文本,将 3D 图形上传到演示中,制作 PowerPoint 3D 动画。 - -创建 3D 效果对改进您的演示为 3D 演示有很大影响,并且可能是实现 3D 演示的最简单方式。 -自 Aspose.Slides 20.9 版本以来,新增了 **跨平台 3D 引擎**。新 3D 引擎能够 -导出和栅格化带有 3D 效果的形状和文本。在之前的版本中, -应用了 3D 效果的幻灯片形状是以平面形式呈现的。但是,现在可以 -渲染出 **完整的 3D**。 -此外,现在可以通过 Slides 公共 API 创建带有 3D 效果的形状。 - -在 Aspose.Slides API 中,要使 -形状成为 PowerPoint 3D 形状,请使用 [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat) 属性, -该属性继承了 [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat) 接口的特性: -- [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) -和 [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop):设置形状的斜角,定义斜角类型(例如:Angle, Circle, SoftRound),定义斜角的高度和宽度。 -- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera):用于模拟相机围绕对象的移动。换句话说,通过设置相机的旋转、缩放和其他属性 - 您可以像操作 PowerPoint 中的 3D 模型一样操纵您的 -形状。 -- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) -和 [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth):设置轮廓属性,使形状看起来像 3D PowerPoint 形状。 -- [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth), -[ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) -和 [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight):用于使形状具有立体感,这意味着将 2D 形状转换为 3D 形状, -通过设置其深度或拉伸它。 -- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig):可以在 3D 形状上创建光效。该属性的逻辑与相机相似,您可以设置光源的旋转 -相对于 3D 形状,并选择光源类型。 -- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material):设置 3D 形状材料的类型可以带来更生动的效果。该属性提供了一组预定义材料,例如: -金属、塑料、粉末、哑光等。 - -所有 3D 特性都可以应用于形状和文本。让我们看看如何访问上面提到的属性,然后逐步详细了解它们: +创建 3D 效果可以显著提升演示文稿的表现力,使其成为 3D 演示文稿,并且可能是实现 3D 演示文稿的最简便方式。 +自 Aspose.Slides 20.9 版本起,新增了 **跨平台 3D 引擎**。该 3D 引擎能够导出并光栅化带有 3D 效果的形状和文本。在之前的版本中,带有 3D 效果的 Slides 形状会被平面渲染。而现在可以 **完整的 3D** 渲染形状。 +此外,现在还可以通过 Slides 公共 API 创建带有 3D 效果的形状。 + +在 Aspose.Slides API 中,要使形状成为 PowerPoint 3D 形状,请使用 [IShape.ThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ishape/properties/threedformat) 属性,该属性继承自 [IThreeDFormat](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat) 接口: +- [BevelBottom](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/bevelbottom) 和 [BevelTop](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/beveltop):为形状设置倒角,定义倒角类型(例如 Angle、Circle、SoftRound),并指定倒角的高度和宽度。 +- [Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera):用于模拟相机围绕对象的运动。换句话说,通过设置旋转、缩放和其他属性,您可以像在 PowerPoint 中操作 3D 模型一样操作形状。 +- [ContourColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourcolor) 和 [ContourWidth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/contourwidth):设置轮廓属性,使形状看起来像 3D PowerPoint 形状。 +- [Depth](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/depth)、[ExtrusionColor](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) 和 [ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight):用于使形状具备三维特性,即通过设置深度或挤压将 2D 形状转换为 3D 形状。 +- [LightRig](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/lightrig):可以在 3D 形状上创建光照效果。该属性的逻辑与 Camera 类似,您可以设置光源相对于 3D 形状的旋转并选择光源类型。 +- [Material](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/material):设置 3D 形状材质的类型,可带来更真实的效果。该属性提供了一组预定义材质,例如 Metal、Plastic、Powder、Matte 等。 + +所有 3D 功能均可应用于形状和文本。让我们看看如何访问上述属性,并逐步详细了解它们的使用: ``` csharp const float imageScale = 2; @@ -79,17 +64,17 @@ using (Presentation presentation = new Presentation()) } ``` -生成的缩略图如下所示: + +渲染后的缩略图如下所示: ![todo:image_alt_text](img_01_01.png) -## 3D 旋转 -可以在 3D 平面中旋转 PowerPoint 3D 形状,从而带来更多的交互性。要在 PowerPoint 中旋转 3D 形状,通常使用以下菜单: +## **3D 旋转** +可以在三维平面上旋转 PowerPoint 3D 形状,从而提升交互性。要在 PowerPoint 中旋转 3D 形状,通常使用以下菜单: ![todo:image_alt_text](img_02_01.png) -在 Aspose.Slides API 中,可以使用 [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera) 属性管理 3D 形状的旋转: - +在 Aspose.Slides API 中,3D 形状的旋转可以通过 [IThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/camera) 属性进行管理: ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); @@ -101,10 +86,9 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -## 3D 深度和拉伸 -要为形状带来第三维并使其成为 3D 形状,请使用 [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) -和 [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) 属性: +## **3D 深度和挤压** +要为形状添加第三维度并将其变为 3D 形状,请使用 [IThreeDFormat.ExtrusionHeight](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusionheight) 和 [IThreeDFormat.ExtrusionColor.Color](https://reference.aspose.com/slides/net/aspose.slides/ithreedformat/properties/extrusioncolor) 属性: ``` csharp IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 200, 200); shape.ThreeDFormat.Camera.SetRotation(20, 30, 40); @@ -118,14 +102,13 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -通常,您会在 PowerPoint 中使用深度菜单为 PowerPoint 3D 形状设置深度: - -![todo:image_alt_text](img_02_02.png) +通常,您可以在 PowerPoint 中使用 Depth 菜单为 PowerPoint 3D 形状设置深度: -## 3D 渐变 -渐变可以用于填充 PowerPoint 3D 形状的颜色。让我们创建一个形状并应用渐变填充颜色以及 3D 效果: +![todo:image_alt_text](img_02_02.png) +## **3D 渐变** +渐变可用于填充 PowerPoint 3D 形状的颜色。让我们创建一个带有渐变填充颜色的形状并在其上应用 3D 效果: ``` csharp const float imageScale = 2; @@ -134,7 +117,7 @@ using (Presentation presentation = new Presentation()) ISlide slide = presentation.Slides[0]; IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); - shape.TextFrame.Text = "3D 渐变"; + shape.TextFrame.Text = "3D Gradient"; shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 64; shape.FillFormat.FillType = FillType.Gradient; @@ -155,11 +138,12 @@ using (Presentation presentation = new Presentation()) } ``` -结果如下所示: + +以下是结果: ![todo:image_alt_text](img_02_03.png) -除了渐变填充颜色外,还可以用图像填充形状: +除了渐变填充颜色之外,还可以使用图像填充形状: ``` csharp byte[] imageData = File.ReadAllBytes("image.jpg"); IPPImage image = presentation.Images.AddImage(imageData); @@ -167,7 +151,7 @@ IPPImage image = presentation.Images.AddImage(imageData); shape.FillFormat.FillType = FillType.Picture; shape.FillFormat.PictureFillFormat.Picture.Image = image; shape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; -// ... 设置 3D:shape.ThreeDFormat.Camera, shape.ThreeDFormat.LightRig, shape.ThreeDFormat.Extrusion* 属性 +// ... 设置 3D: shape.ThreeDFormat.Camera, shape.ThreeDFormat.LightRig, shape.ThreeDFormat.Extrusion* 属性 using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) { @@ -175,13 +159,13 @@ using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) } ``` -它的样子如下: -![todo:image_alt_text](img_02_04.png) +效果如下: -## 3D 文本 (WordArt) -Aspose.Slides 还允许在文本上应用 3D 效果。要创建 3D 文本,可以使用 WordArt 变换效果: +![todo:image_alt_text](img_02_04.png) +## **3D 文本(WordArt)** +Aspose.Slides 也支持对文本应用 3D 效果。要创建 3D 文本,可以使用 WordArt 变换效果: ``` csharp const float imageScale = 2; @@ -192,7 +176,7 @@ using (Presentation presentation = new Presentation()) IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 150, 250, 250); shape.FillFormat.FillType = FillType.NoFill; shape.LineFormat.FillFormat.FillType = FillType.NoFill; - shape.TextFrame.Text = "3D 文本"; + shape.TextFrame.Text = "3D Text"; Portion portion = (Portion)shape.TextFrame.Paragraphs[0].Portions[0]; portion.PortionFormat.FillFormat.FillType = FillType.Pattern; @@ -203,7 +187,7 @@ using (Presentation presentation = new Presentation()) shape.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.FontHeight = 128; ITextFrameFormat textFrameFormat = shape.TextFrame.TextFrameFormat; - // 设置 "弧形向上" WordArt 变换效果 + // 设置 "Arch Up" WordArt 变换效果 textFrameFormat.Transform = TextShapeType.ArchUp; textFrameFormat.ThreeDFormat.ExtrusionHeight = 3.5f; @@ -224,16 +208,21 @@ using (Presentation presentation = new Presentation()) } ``` -这是结果: + +以下是结果: ![todo:image_alt_text](img_02_05.png) +## **常见问题** + +**将演示文稿导出为图像/PDF/HTML 时,3D 效果会被保留吗?** + +是的。Slides 3D 引擎在导出为受支持的格式时会渲染 3D 效果([图像](/slides/zh/net/convert-powerpoint-to-png/)、[PDF](/slides/zh/net/convert-powerpoint-to-pdf/)、[HTML](/slides/zh/net/convert-powerpoint-to-html/)、等)。 + +**我能获取考虑主题、继承等因素后的“有效” (最终) 3D 参数值吗?** + +是的。Slides 提供了 API 来 [读取有效值](/slides/zh/net/shape-effective-properties/)(包括 3D 的灯光、倒角等),以便查看最终应用的设置。 -## 不支持 - 即将推出 -以下 PowerPoint 3D 特性尚不支持: -- 斜角 -- 材料 -- 轮廓 -- 照明 +**在将演示文稿转换为视频时,3D 效果会工作吗?** -我们将继续改进我们的 3D 引擎,这些功能将是进一步实现的主题。 \ No newline at end of file +是的。在 [为视频生成帧](/slides/zh/net/convert-powerpoint-to-video/) 时,3D 效果的渲染方式与 [导出图像](/slides/zh/net/convert-powerpoint-to-png/) 时相同。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/_index.md index 944d093242..4d40799bd7 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/_index.md @@ -5,39 +5,59 @@ weight: 70 url: /zh/net/convert-presentation/ --- -## **PPT 到 PPTX 转换** -### **关于 PPT 到 PPTX 转换** +## **PPT 转 PPTX 转换** +### **关于 PPT 转 PPTX 转换** Aspose.Slides 现在支持将 PPT 转换为 PPTX。 ### **使用 Aspose.Slides 将 PPT 转换为 PPTX** -Aspose.Slides for .NET 提供对将 PPT 文档文件格式演示文稿转换为 PPTX 文件格式演示文稿的部分支持。由于上述演示文稿转换功能的支持是刚刚在 Aspose.Slides for .NET 中引入的,因此目前它的功能有限,仅适用于简单形式的演示文稿。Aspose.Slides for .NET API 库在将 PPT 演示文稿转换为 PPTX 格式演示文稿时,提供的主要优势是使用 API 实现所需目标的便捷性。请访问此 [link](/slides/zh/net/convert-presentation/) 获取代码示例的更多详细信息。以下部分清楚地说明了在将 PPT 格式演示文稿转换为 PPTX 格式演示文稿时支持和不支持的功能。 +Aspose.Slides for .NET 提供对将 PPT 文件格式的演示文稿转换为 PPTX 文件格式的演示文稿的部分支持。由于上述演示文稿转换功能刚刚在 Aspose.Slides for .NET 中引入,目前它的功能仍然有限,仅适用于简单形式的演示文稿。Aspose.Slides for .NET API 库在将 PPT 演示文稿转换为 PPTX 格式演示文稿时的主要优势是使用 API 实现目标的简便性。请前往此 [链接](/slides/zh/net/convert-presentation/) 的代码片段部分获取更多细节。下列章节清晰地说明了在将 PPT 格式的演示文稿转换为 PPTX 格式演示文稿时,哪些功能受到支持,哪些不受支持。 {{% alert color="primary" %}} -阅读更多 [**如何将 PPT 转换为 PPTX**](/slides/zh/net/convert-ppt-to-pptx/)。 +阅读更多 [**如何将 PPT 转换为 PPTX**](/slides/zh/net/convert-ppt-to-pptx/). {{% /alert %}} -## **演示文稿到 PDF 转换** +## **演示文稿转 PDF 转换** ### **关于 PDF** -[可移植文档格式](https://en.wikipedia.org/wiki/PDF) 是 Adobe System 创建的一种文件格式,用于在不同组织之间交换文档。此格式的目的是使文档的内容能够以不依赖于其查看平台的方式呈现。 +[可移植文档格式](https://en.wikipedia.org/wiki/PDF) 是 Adobe 系统创建的一种用于在不同组织之间交换文档的文件格式。该格式的目的是使文档内容的视觉外观不依赖于查看平台。 ### **Aspose.Slides for .NET 中的 PDF** -[PDF](https://docs.fileformat.com/pdf/) 是 Adobe System 创建的一种文件格式,用于在不同组织之间交换文档。此格式的目的是使文档内容的视觉外观不依赖于其查看平台。 - -任何可以加载到 Aspose.Slides for .NET 的演示文稿文档都可以被转换为 PDF 文档。你可以仅使用 Aspose.Slides for .NET 组件将演示文稿文档直接导出为 PDF。此目的无需其他第三方库或 Aspose.PDF 组件。 - +[PDF](https://docs.fileformat.com/pdf/) 是 Adobe 系统创建的一种用于在不同组织之间交换文档的文件格式。该格式的目的是使文档内容的视觉外观不依赖于查看平台。 +任何可以在 Aspose.Slides for .NET 中加载的演示文稿都可以转换为 PDF 文档。您只需使用 Aspose.Slides for .NET 组件即可直接将演示文稿导出为 PDF,无需任何其他第三方库或 Aspose.PDF 组件。 {{% alert color="primary" %}} -阅读更多 [**如何将演示文稿转换为 PDF**](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-pdf/)。 +阅读更多 [**如何将演示文稿转换为 PDF**](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-pdf/). {{% /alert %}} - -## **演示文稿到 XPS 转换** +## **演示文稿转 XPS 转换** ### **关于 XPS** -[XML 打印规范](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) 是一种页面描述语言和一种固定文档格式,最初由 Microsoft 开发。像 PDF 一样,XPS 是一种固定布局文档格式,旨在保持文档的保真度并提供设备无关的文档外观。 +[XML 解析规范](https://en.wikipedia.org/wiki/Open_XML_Paper_Specification) 是一种页面描述语言和最初由 Microsoft 开发的固定文档格式。与 PDF 类似,XPS 是一种固定布局文档格式,旨在保持文档的忠实度并提供与设备无关的文档外观。 ### **使用 Aspose.Slides 将演示文稿转换为 XPS** -任何可以被 Aspose.Slides for .NET 加载的演示文稿文档都可以被转换为 XPS 格式。Aspose.Slides for .NET 使用高保真的页面布局和渲染引擎以生成固定布局 XPS 文档格式的输出。值得一提的是,Aspose.Slides for .NET 直接生成 XPS,无需依赖与 .NET Framework 3.5 一起打包的 Windows Presentation Foundation (WPF) 类,因此允许 Aspose.Slides for .NET 在运行 .NET Framework 版本低于 3.5 的机器上生成 XPS 文档。你可以在 [此主题](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) 中了解如何通过 Aspose.Slides for .NET 导出演示文稿文档到 XPS 文档。 +任何可以由 Aspose.Slides for .NET 加载的演示文稿都可以转换为 XPS 格式。Aspose.Slides for .NET 使用高保真页面布局和渲染引擎来生成固定布局的 XPS 文档。值得一提的是,Aspose.Slides for .NET 直接生成 XPS,而无需依赖随 .NET Framework 3.5 打包的 Windows Presentation Foundation (WPF) 类,从而允许在运行早于 3.5 版本的 .NET Framework 的机器上生成 XPS 文档。您可以在 [此主题](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) 中了解通过 Aspose.Slides for .NET 将演示文稿导出为 XPS 文档的方式。 {{% alert color="primary" %}} -阅读更多 [**如何将演示文稿转换为 XPS**](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/)。 +阅读更多 [**如何将演示文稿转换为 XPS**.](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) {{% /alert %}} -## **演示文稿到 TIFF 转换** +## **演示文稿转 TIFF 转换** ### **关于 TIFF** -[标记图像文件格式](https://en.wikipedia.org/wiki/TIFF) 是一种用于在一个文档中存储多张图像的格式,最初由 Aldus 创建。该格式广泛支持扫描、传真及其他图像处理应用程序。 +[标记图像文件格式](https://en.wikipedia.org/wiki/TIFF)(Tagged Image File Format)因可在单个文档中存储多张图像而闻名,最初由 Aldus 创建。该格式被扫描、传真以及其他图像处理应用广泛支持。 ### **使用 Aspose.Slides 将演示文稿转换为 TIFF** -任何可以在 Aspose.Slide for .NET 中加载的文档也可以直接通过 Aspose.Slides for .NET 转换为 TIFF 文档,无需任何第三方组件。此外,您可以选择定义生成的 TIFF 文档中图像的大小。您可以在 [此主题](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-tiff/) 中获取有关通过 Aspose.Slides for .NET 导出演示文稿文档到 TIFF 文档的信息。 +任何可以在 Aspose.Slides for .NET 中加载的文档也可以直接由 Aspose.Slides for .NET 转换为 TIFF 文档,无需任何第三方组件。此外,您还可以可选地定义生成的 TIFF 文档中图像的大小。您可以在 [此主题](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-tiff/) 中找到关于通过 Aspose.Slides for .NET 将演示文稿导出为 TIFF 文档的信息。 {{% alert color="primary" %}} -阅读更多 [**如何将演示文稿转换为 TIFF**](/slides/zh/net/convert-powerpoint-to-tiff/)。 -{{% /alert %}} \ No newline at end of file +阅读更多 [**如何将演示文稿转换为 TIFF**.](/slides/zh/net/convert-powerpoint-to-tiff/) +{{% /alert %}} + +## **常见问题** + +**导出为 PDF/XPS 时可以包含隐藏幻灯片吗?** +是的。导出时可通过相应的 [PDF](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/)/[XPS](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/) 设置选项来包含隐藏幻灯片。 + +**是否支持保存为 PDF/A 格式(用于归档存储)?** +是的,在导出时可使用 PDF/A 合规级别,[可用](https://reference.aspose.com/slides/net/aspose.slides.export/pdfcompliance/)(包括 A-2a/A-2b/A-2u 和 A-3a/A-3b)。 + +**转换期间字体会怎样:是嵌入还是替换?** +提供灵活的选项:您可以[嵌入所有字形或仅使用的子集](/slides/zh/net/embedded-font/),指定[回退字体](/slides/zh/net/fallback-font/),以及在字体缺少某些样式时[控制行为](/slides/zh/net/font-substitution/)。 + +**如何控制生成的 PDF 的质量和大小?** +可以使用以下选项:[JPEG 质量](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/jpegquality/)、[文本压缩](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/textcompression/),以及对图像的[足够分辨率](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/sufficientresolution/)阈值,还有一种模式可选择[图片的最佳压缩率](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/bestimagescompressionratio/)。 + +**我可以只导出特定范围的幻灯片吗(例如第 5–12 张)?** +是的,导出支持选择幻灯片的子集。 + +**是否支持同时使用多核处理多个文件?** +可以在独立的进程中并行处理不同的演示文稿。重要提示:同一 [presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 对象不得在 [多个线程](/slides/zh/net/multithreading/) 中加载或保存。 + +**从不同线程设置许可证是否有风险?** +是的,[license-setting](/slides/zh/net/licensing/) 调用不是线程安全的,需要同步。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md index 8d33ec6cd2..565398a83c 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/_index.md @@ -1,53 +1,85 @@ --- -title: 转换 OpenOffice ODP +title: 在 C# 中转换 OpenDocument 演示文稿 (ODP) +linktitle: 转换 OpenDocument type: docs weight: 10 url: /zh/net/convert-openoffice-odp/ -keywords: "将 ODP 转换为 PDF, ODP 转换为 PPT, ODP 转换为 PPTX, ODP 转换为 XPS, ODP 转换为 HTML, ODP 转换为 TIFF" -description: "使用 Aspose.Slides 将 ODP 转换为 PDF,ODP 转换为 PPT,ODP 转换为 PPTX,ODP 转换为 HTML 和其他格式。" +keywords: +- 转换 ODP +- ODP 转图片 +- ODP 转 GIF +- ODP 转 HTML +- ODP 转 JPG +- ODP 转 MD +- ODP 转 PDF +- ODP 转 PNG +- ODP 转 PPT +- ODP 转 PPTX +- ODP 转 TIFF +- ODP 转视频 +- ODP 转 Word +- ODP 转 XPS +description: "Aspose.Slides for .NET 可轻松将 ODP 转换为 PDF、HTML 和图像格式。通过快速且精准的演示文稿转换提升您的 .NET 应用程序。" --- -[**Aspose.Slides API**](https://products.aspose.com/slides/net/) 允许您将 OpenOffice ODP 演示文稿转换为多种格式。用于将 ODP 文件转换为其他文档格式的 API 与用于 PowerPoint (PPT 和 PPTX) 转换操作的 API 是相同的。 +## **概述** -这些示例向您展示如何将 ODP 文档转换为其他格式(只需更改源 ODP 文件): +Aspose.Slides for .NET 提供了一个强大的 API,用于将 OpenDocument (ODP) 演示文稿转换为多种其他格式。采用与 PowerPoint (PPT 和 PPTX) 文件相似的方法,开发者可以轻松将 ODP 文档导出为 HTML、PDF、TIFF、JPG、XPS 等格式。 + +以下示例展示了如何将 ODP 文档转换为其他格式(只需将源文件更改为 ODP 文件): - [将 ODP 转换为 HTML](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-html/) - [将 ODP 转换为 PDF](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-pdf/) - [将 ODP 转换为 TIFF](/slides/zh/net/convert-powerpoint-to-tiff/) -- [将 ODP 转换为 SWF Flash](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-swf-flash/) -- [将 ODP 转换为 XPS](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document/) -- [将 ODP 转换为带备注的 PDF](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-pdf-with-notes/) -- [将 ODP 转换为带备注的 TIFF](/slides/zh/net/convert-powerpoint-ppt-and-pptx-to-tiff-with-notes/) - -例如,如果您需要将 ODP 演示文稿转换为 PDF,可以这样做: - -```csharp -using (Presentation pres = new Presentation("pres.odp")) +- [将 ODP 转换为 SWF](/slides/zh/net/convert-powerpoint-to-swf-flash/) +- [将 ODP 转换为 XPS](/slides/zh/net/convert-powerpoint-to-xps/) +- [将 ODP 转换为带备注的 PDF](/slides/zh/net/convert-powerpoint-to-pdf-with-notes/) +- [将 ODP 转换为带备注的 TIFF](/slides/zh/net/convert-powerpoint-to-tiff-with-notes/) + +例如,将 ODP 演示文稿转换为 PDF 仅需几行 C# 代码: +```cs +using (Presentation presentation = new Presentation("presentation.odp")) { - pres.Save("pres.pdf", SaveFormat.Pdf); + presentation.Save("presentation.pdf", SaveFormat.Pdf); } ``` +## **不同应用中的 OpenDocument 演示文稿** -## 在不同应用程序中打开的 OpenDocument 演示文稿 +在 PowerPoint 中打开 OpenDocument 演示文稿 (ODP) 文件时,可能无法保留其原始创建应用程序中的格式。这是因为 OpenDocument 演示文稿应用程序与 PowerPoint 应用程序提供的功能和渲染行为不同。 -当 OpenDocument 演示文稿文件在 PowerPoint 中打开时,它可能缺少在创建其的原始应用程序中具有的格式,因为 OpenDocument 演示文稿应用程序和 PowerPoint 应用程序提供的功能和选项不同。 +一些差异包括: -以下是一些差异: -- 在 PowerPoint 中,所有表格通常最后加载并覆盖其他形状(不管 ODP 幻灯片上的形状排列)。 +- 在 PowerPoint 中,表格通常最后渲染,可能会覆盖其他形状,无论它们在 ODP 幻灯片上的顺序如何。 - PowerPoint 不支持 ODP 表格的图片填充。 -- LibreOffice/OpenOffice Impress 不支持文本的垂直旋转(270,堆叠)和分布对齐。 +- LibreOffice/OpenOffice Impress 不支持文本的垂直旋转(270°,堆叠)和分散对齐。 - LibreOffice/OpenOffice Impress 不支持文本的图片填充、渐变填充和图案填充。 -MS PowerPoint 和 LibreOffice/OpenOffice Impress 处理列表的方式也不同。在 PowerPoint 中创建的 ODP 文件在 LibreOffice/OpenOffice 中打开时不能正确显示,反之亦然。 +MS PowerPoint 与 LibreOffice/OpenOffice Impress 也在列表处理上有所不同。用 PowerPoint 创建的 ODP 文件在 LibreOffice/OpenOffice Impress 中可能显示不正确,反之亦然。 + +以下图片显示了在 LibreOffice Impress 中创建的列表效果: + +![ODP 列表示例](odp-list-example.png) + +Aspose.Slides 以一种能够在 LibreOffice/OpenOffice Impress 中正确显示的方式保存 ODP 列表。 + +[了解有关 OpenDocument 格式和 PowerPoint 的更多信息](https://support.microsoft.com/en-us/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0)。 + +## **常见问题解答** + +**如果我的 ODP 文件在转换后格式发生变化该怎么办?** + +ODP 与 PowerPoint 使用不同的演示模型,一些元素——如表格、自定义字体或填充样式——可能无法完全相同地渲染。建议检查输出结果,并在必要时通过代码调整布局或格式。 -这张图片展示了在 LibreOffice Impress 中创建的列表视图: +**使用 ODP 转换是否需要安装 OpenOffice 或 LibreOffice?** -![odp-list-example](odp-list-example.png) +不需要,Aspose.Slides for .NET 是独立库,无需在系统上安装 OpenOffice 或 LibreOffice。 +**在 ODP 转换过程中可以自定义输出格式吗(例如设置 PDF 选项)?** +可以,Aspose.Slides 提供丰富的选项来自定义输出。例如,保存为 PDF 时,可通过 [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) 类控制压缩、图像质量、文本渲染等。 -**Aspose.Slides** 保存 ODP 列表,以确保它们在 LibreOffice/OpenOffice Impress 中正确显示。 +**Aspose.Slides 适用于服务器端或基于云的 ODP 处理吗?** -[了解更多关于 OpenDocument 格式和 PowerPoint 的信息](https://support.microsoft.com/en-gb/office/use-powerpoint-to-save-or-open-a-presentation-in-the-opendocument-presentation-odp-format-94805e84-1b09-4c98-a8b5-0da2a52242a0/)。 \ No newline at end of file +完全适用。Aspose.Slides for .NET 旨在在桌面和服务器环境中运行,包括 Azure、AWS 和 Docker 容器等云平台,且不依赖任何 UI。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md index 3edce186c7..d776e1c49c 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-openoffice-odp/convert-odp-to-pptx/_index.md @@ -4,24 +4,23 @@ linktitle: 将 ODP 转换为 PPTX type: docs weight: 10 url: /zh/net/convert-odp-to-pptx/ -keywords: "转换 OpenOffice 演示文稿,ODP,ODP 到 PPTX,C#,Csharp,.NET" +keywords: "转换 OpenOffice 演示文稿, ODP, ODP 转 PPTX, C#, Csharp, .NET" description: "在 C# 或 .NET 中将 OpenOffice ODP 转换为 PowerPoint 演示文稿 PPTX" --- -## 概览 +## **概述** -本文解释了以下主题。 +本文解释以下主题。 - [C# 将 ODP 转换为 PPTX](#csharp-odp-to-pptx) - [C# 将 ODP 转换为 PowerPoint](#csharp-odp-to-powerpoint) -## C# ODP 到 PPTX 转换 +## **ODP 转 PPTX 转换** -Aspose.Slides for .NET 提供了表示演示文稿文件的 Presentation 类。[**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类现在还可以通过 Presentation 构造函数访问 ODP,当对象被实例化时。以下示例展示了如何将 ODP 演示文稿转换为 PPTX 演示文稿。 +Aspose.Slides for .NET 提供表示演示文稿文件的 Presentation 类。[**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类现在还可以通过实例化对象时的 Presentation 构造函数访问 ODP。下面的示例演示如何将 ODP 演示文稿转换为 PPTX 演示文稿。 步骤:在 C# 中将 ODP 转换为 PPTX | 步骤:在 C# 中将 ODP 转换为 PowerPoint - ```c# // 打开 ODP 文件 Presentation pres = new Presentation("AccessOpenDoc.odp"); @@ -30,5 +29,25 @@ Presentation pres = new Presentation("AccessOpenDoc.odp"); pres.Save("AccessOpenDoc_out.pptx", SaveFormat.Pptx); ``` + ## **实时示例** -您可以访问 [**Aspose.Slides 转换**](https://products.aspose.app/slides/conversion/) 网页应用程序,该应用程序是使用 **Aspose.Slides API** 构建的。该应用演示了如何使用 Aspose.Slides API 实现 ODP 到 PPTX 的转换。 \ No newline at end of file + +您可以访问使用 **Aspose.Slides API** 构建的 [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) Web 应用程序。该应用演示了如何使用 Aspose.Slides API 实现 ODP 到 PPTX 的转换。 + +## **常见问题** + +**是否需要安装 Microsoft PowerPoint 或 LibreOffice 来将 ODP 转换为 PPTX?** + +不需要。Aspose.Slides 可独立工作,无需第三方应用程序即可读取或写入 ODP/PPTX。 + +**转换期间是否会保留母版幻灯片、版式和主题?** + +会。该库使用完整的演示对象模型并保留结构,包括母版幻灯片和版式,从而在转换后保持设计的正确性。 + +**我可以转换受密码保护的 ODP 文件吗?** + +可以。Aspose.Slides 支持检测保护状态,在提供密码后能够打开和处理 [protected presentations](/slides/zh/net/password-protected-presentation/)(包括 ODP),并且可以配置加密和访问文档属性。 + +**Aspose.Slides 适用于云或基于 REST 的转换服务吗?** + +可以。您可以在自己的后端使用本地库,或使用 [Aspose.Slides Cloud](https://products.aspose.cloud/slides/family/)(REST API);这两种方式均支持 ODP → PPTX 转换。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md new file mode 100644 index 0000000000..17045c11bd --- /dev/null +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-in-Handout-mode/_index.md @@ -0,0 +1,65 @@ +--- +title: 在 C# 中将演示文稿转换为讲义模式 +type: docs +weight: 150 +url: /zh/net/convert-powerpoint-in-Handout-mode/ +keywords: +- 转换 PowerPoint +- 讲义模式 +- 讲义 +- PowerPoint +- PPT +- PPTX +- 演示文稿 +- C# +- Csharp +- .NET +- Aspose.Slides +description: "在 C# 中将演示文稿转换为讲义模式" +--- + +## **讲义模式导出** + +Aspose.Slides 提供将演示文稿转换为各种格式的功能,包括在讲义模式下创建用于打印的讲义。该模式允许您配置多个幻灯片在单页上的呈现方式,非常适用于会议、研讨会和其他活动。您可以通过在 [IPdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ipdfoptions/), [IRenderingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/irenderingoptions/), [IHtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/ihtmloptions/) 和 [ITiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/itiffoptions/) 接口中设置 `SlidesLayoutOptions` 属性来启用此模式。 + +要配置讲义模式,请使用 [HandoutLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/handoutlayoutingoptions/) 对象,该对象决定单页上放置的幻灯片数量以及其他显示参数。 + +下面的代码示例展示了如何在讲义模式下将演示文稿转换为 PDF。 +```c# +// 加载演示文稿。 +using var presentation = new Presentation("sample.pptx"); + +// 设置导出选项。 +var pdfOptions = new PdfOptions +{ + SlidesLayoutOptions = new HandoutLayoutingOptions + { + Handout = HandoutType.Handouts4Horizontal, // 每页水平放置4张幻灯片 + PrintSlideNumbers = true, // 打印幻灯片编号 + PrintFrameSlide = true, // 为幻灯片打印框架 + PrintComments = false // 不打印评论 + } +}; + +// 将演示文稿导出为 PDF 并使用所选布局。 +presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); +``` + + +{{% alert color="warning" %}} +请注意,`SlidesLayoutOptions` 属性仅在特定输出格式(如 PDF、HTML、TIFF)以及以图像形式渲染时可用。 +{{% /alert %}} + +## **常见问题** + +**在讲义模式下,每页幻灯片缩略图的最大数量是多少?** + +Aspose.Slides 支持的 [presets](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) 每页最多可放置 9 张缩略图,支持横向或纵向排列:1、2、3、4(横向/纵向)、6(横向/纵向)和 9(横向/纵向)。 + +**我可以自定义网格,例如每页 5 张或 8 张幻灯片吗?** + +不能。缩略图的数量和排列方式严格由 [HandoutType](https://reference.aspose.com/slides/net/aspose.slides.export/handouttype/) 枚举控制;不支持任意布局。 + +**我可以在讲义输出中包含隐藏的幻灯片吗?** + +可以。通过在目标格式的导出设置中启用 `ShowHiddenSlides` 选项,例如在 [PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/), [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions/) 或 [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) 中。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md index 50901aaad7..a1e9891050 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-animated-gif/_index.md @@ -3,14 +3,13 @@ title: 将 PowerPoint 转换为动画 GIF type: docs weight: 65 url: /zh/net/convert-powerpoint-to-animated-gif/ -keywords: "转换 PowerPoint, PPT, PPTX, 动画 GIF, PPT 转动画 GIF, PPTX 转动画 GIF C#, Csharp, .NET, 默认设置, 自定义设置 " -description: "将 PowerPoint 演示文稿转换为动画 GIF: PPT 转 GIF, PPTX 转 GIF 在 C# 或 .NET 中" +keywords: "转换 PowerPoint, PPT, PPTX, 动画 GIF, PPT 转动画 GIF, PPTX 转动画 GIF C#, Csharp, .NET, 默认设置, 自定义设置" +description: "将 PowerPoint 演示文稿转换为动画 GIF:在 C# 或 .NET 中将 PPT 转为 GIF、PPTX 转为 GIF" --- -## 使用默认设置将演示文稿转换为动画 GIF ## - -以下 C# 示例代码演示如何使用标准设置将演示文稿转换为动画 GIF: +## **将演示文稿转换为使用默认设置的动画 GIF** +下面的 C# 示例代码展示了如何使用标准设置将演示文稿转换为动画 GIF: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -18,31 +17,39 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -动画 GIF 将使用默认参数创建。 - -{{% alert title="提示" color="primary" %}} -如果您希望自定义 GIF 的参数,可以使用 [GifOptions](https://reference.aspose.com/slides/net/aspose.slides.export/gifoptions) 类。请参见下面的示例代码。 +动画 GIF 将使用默认参数创建。 +{{% alert title="TIP" color="primary" %}} +如果您希望自定义 GIF 的参数,可以使用 [GifOptions](https://reference.aspose.com/slides/net/aspose.slides.export/gifoptions) 类。请参阅下面的示例代码。 {{% /alert %}} -## 使用自定义设置将演示文稿转换为动画 GIF ## -以下示例代码演示如何使用自定义设置将演示文稿转换为动画 GIF: +## **将演示文稿转换为使用自定义设置的动画 GIF** +下面的示例代码展示了如何在 C# 中使用自定义设置将演示文稿转换为动画 GIF: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { pres.Save("pres.gif", SaveFormat.Gif, new GifOptions { - FrameSize = new Size(960, 720), // 结果 GIF 的大小 - DefaultDelay = 2000, // 每张幻灯片显示的时间,直到切换到下一张 - TransitionFps = 35 // 增加 FPS 以改善过渡动画质量 + FrameSize = new Size(960, 720), // 生成的 GIF 大小 + DefaultDelay = 2000, // 每张幻灯片显示的时长,直到切换到下一张 + TransitionFps = 35 // 提高 FPS 以获得更好的过渡动画质量 }); } ``` -{{% alert title="信息" color="info" %}} -您可能想查看 Aspose 开发的免费 [文本转 GIF](https://products.aspose.app/slides/text-to-gif) 转换器。 +{{% alert title="Info" color="info" %}} +您可能想了解 Aspose 开发的免费 [文本转 GIF](https://products.aspose.app/slides/text-to-gif) 转换器。 +{{% /alert %}} + +## **常见问题** + +**如果演示文稿使用的字体未在系统上安装怎么办?** + +安装缺失的字体或[配置回退字体](/slides/zh/net/powerpoint-fonts/)。Aspose.Slides 会进行替换,但外观可能会有所不同。出于品牌需求,请始终确保所需字体已明确可用。 + +**我可以在 GIF 帧上叠加水印吗?** -{{% /alert %}} \ No newline at end of file +可以。请在导出前将[添加半透明对象/徽标](/slides/zh/net/watermark/) 到母版幻灯片或各个幻灯片——水印将出现在每一帧上。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index 64efeb4d0d..f1beaff6a5 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -1,190 +1,205 @@ --- -title: 在 C# .NET 中将 PowerPoint 转换为 HTML +title: 在 C# 中将 PowerPoint 演示文稿转换为 HTML linktitle: 将 PowerPoint 转换为 HTML type: docs weight: 30 url: /zh/net/convert-powerpoint-to-html/ -keywords: "C# PowerPoint 转 HTML, C# PPT 转 HTML, C# ODP 转 HTML, C# 幻灯片 转 HTML, 转换 PowerPoint 演示文稿, PPTX, PPT, PPT 转 HTML, PPTX 转 HTML, PowerPoint 转 HTML, 将 PowerPoint 保存为 HTML, 将 PPT 保存为 HTML, 将 PPTX 保存为 HTML, C#, Csharp, .NET, Aspose.Slides, HTML 导出" -description: "转换 PowerPoint HTML:将 PPTX 或 PPT 保存为 HTML。将幻灯片保存为 HTML" +keywords: +- PowerPoint 转 HTML +- 演示文稿转 HTML +- 幻灯片转 HTML +- PPT 转 HTML +- PPTX 转 HTML +- ODP 转 HTML +- 转换 PowerPoint 演示文稿 +- PowerPoint 转换 +- 演示文稿转换 +- HTML 转换 +- 将 PowerPoint 保存为 HTML +- 将演示文稿保存为 HTML +- 将幻灯片保存为 HTML +- 将 PPT 保存为 HTML +- 将 PPTX 保存为 HTML +- HTML 导出 +- C# +- .NET +- Aspose.Slides +description: "了解如何使用 Aspose.Slides for .NET 将 PowerPoint 和 OpenDocument 演示文稿转换为 HTML。本指南提供了转换幻灯片为适合网页的格式的说明、代码示例和最佳实践。" --- ## **概述** -本文解释了如何使用 C# 将 PowerPoint 演示文稿转换为 HTML 格式。它涵盖了以下主题。 +通过使用 Aspose.Slides for .NET 将 PowerPoint 和 OpenDocument 演示文稿转换为 HTML,提升工作流效率。本指南提供详细的说明、完整的代码示例以及经过验证的方法,确保转换过程可靠、高效,并针对网页浏览进行优化。 -- [在 C# 中将 PowerPoint 转换为 HTML](#convert-powerpoint-to-html) -- [在 C# 中将 PPT 转换为 HTML](#convert-powerpoint-to-html) -- [在 C# 中将 PPTX 转换为 HTML](#convert-powerpoint-to-html) -- [在 C# 中将 ODP 转换为 HTML](#convert-powerpoint-to-html) -- [在 C# 中将 PowerPoint 幻灯片转换为 HTML](#convert-slide-to-html) - -## **C# PowerPoint 转 HTML** - -有关将 PowerPoint 转换为 HTML 的 C# 示例代码,请参见下面的部分,即 [在 C# 中将 PowerPoint 转换为 HTML](#convert-powerpoint-to-html)。该代码可以在 Presentation 对象中加载多种格式,如 PPT、PPTX 和 ODP,并将其保存为 HTML 格式。 - -## **关于 PowerPoint 到 HTML 转换** -使用 [**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/),应用程序和开发人员可以将 PowerPoint 演示文稿转换为 HTML:**PPTX 转 HTML** 或 **PPT 转 HTML**。 - -**Aspose.Slides** 提供了多种选项(主要来自 [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) 类),定义了 PowerPoint 到 HTML 的转换过程: +Aspose.Slides 提供了许多选项——主要来自 [**HtmlOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) 类,用于定义从 PowerPoint(或 OpenDocument)格式到 HTML 的转换过程: * 将整个 PowerPoint 演示文稿转换为 HTML。 * 将 PowerPoint 演示文稿中的特定幻灯片转换为 HTML。 * 将演示文稿媒体(图像、视频等)转换为 HTML。 -* 将 PowerPoint 演示文稿转换为响应式 HTML。 -* 将 PowerPoint 演示文稿转换为包含或不包含演讲者注释的 HTML。 -* 将 PowerPoint 演示文稿转换为包含或不包含评论的 HTML。 -* 将 PowerPoint 演示文稿转换为包含原始或嵌入字体的 HTML。 -* 将 PowerPoint 演示文稿转换为使用新 CSS 样式的 HTML。 - -{{% alert color="primary" %}} +* 将 PowerPoint 演示文稿转换为响应式 HTML。 +* 将 PowerPoint 演示文稿转换为包含或不包含旁注的 HTML。 +* 将 PowerPoint 演示文稿转换为包含或不包含批注的 HTML。 +* 将 PowerPoint 演示文稿转换为使用原始或嵌入式字体的 HTML。 +* 将 PowerPoint 演示文稿转换为使用新 CSS 样式的 HTML。 -使用其自己的 API,Aspose 开发了免费的 [演示文稿到 HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) 转换器:[PPT 到 HTML](https://products.aspose.app/slides/conversion/ppt-to-html)、[PPTX 到 HTML](https://products.aspose.app/slides/conversion/pptx-to-html)、[ODP 到 HTML](https://products.aspose.app/slides/conversion/odp-to-html) 等。 +## **将演示文稿转换为HTML** -[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) - -您可能希望查看其他 [Aspose 的免费转换器](https://products.aspose.app/slides/conversion)。 - -{{% /alert %}} - -{{% alert title="注意" color="warning" %}} +使用 Aspose.Slides,您可以按以下方式将整个 PowerPoint 或 OpenDocument 演示文稿转换为 HTML: -除了这里描述的转换过程,Aspose.Slides 还支持涉及 HTML 格式的这些转换操作: - -* [HTML 到图像](https://products.aspose.com/slides/net/conversion/html-to-image/) -* [HTML 到 JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) -* [HTML 到 XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) -* [HTML 到 TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) - -{{% /alert %}} - - -## **将 PowerPoint 转换为 HTML** -使用 Aspose.Slides,您可以通过以下方式将整个 PowerPoint 演示文稿转换为 HTML: - -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -1. 使用 [Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) 方法将对象保存为 HTML 文件。 - -以下代码向您展示了如何在 C# 中将 PowerPoint 转换为 HTML: +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +1. 使用 [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) 方法将对象保存为 HTML 文件。 +以下代码演示了如何在 C# 中将 PowerPoint 演示文稿转换为 HTML: ```c# -// 实例化表示演示文稿文件的演示对象,例如 PPT、PPTX、ODP 等。 -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// 实例化表示演示文件(例如 PPT、PPTX、ODP 等)的 Presentation 类。 +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions htmlOpt = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOpt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; - - htmlOpt.HtmlFormatter = HtmlFormatter.CreateDocumentFormatter("", false); - - // 将演示文稿保存为 HTML - presentation.Save("ConvertWholePresentationToHTML_out.html", SaveFormat.Html, htmlOpt); + // 将演示文稿保存为 HTML。 + presentation.Save("output.html", SaveFormat.Html); } ``` -## **将 PowerPoint 转换为响应式 HTML** -Aspose.Slides 提供了 [ResponsiveHtmlController ](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller) 类,允许您生成响应式 HTML 文件。以下代码向您展示了如何在 C# 中将 PowerPoint 演示文稿转换为响应式 HTML: +## **将演示文稿转换为响应式HTML** +Aspose.Slides 提供了 [ResponsiveHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/responsivehtmlcontroller) 类,可生成响应式 HTML 文件。以下代码演示了如何在 C# 中将 PowerPoint 演示文稿转换为响应式 HTML: ```c# -// 实例化表示演示文稿文件的 Presentation 对象 -using (Presentation presentation = new Presentation("Convert_HTML.pptx")) +// 实例化表示演示文件的 Presentation 类。 +using (Presentation presentation = new Presentation("presentation.pptx")) { ResponsiveHtmlController controller = new ResponsiveHtmlController(); - HtmlOptions htmlOptions = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) }; - // 将演示文稿保存为 HTML - presentation.Save("ConvertPresentationToResponsiveHTML_out.html", SaveFormat.Html, htmlOptions); + HtmlOptions htmlOptions = new HtmlOptions + { + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller) + }; + + // 将演示文稿保存为 HTML。 + presentation.Save("responsive.html", SaveFormat.Html, htmlOptions); } ``` -## **将 PowerPoint 转换为带备注的 HTML** -以下代码向您展示了如何在 C# 中将 PowerPoint 转换为带备注的 HTML: +## **将演示文稿转换为包含旁注的HTML** + +在将 PowerPoint 或 OpenDocument 演示文稿转换为包含旁注的 HTML 时,需要完整保留原始文档的核心内容。此过程不仅准确呈现幻灯片的视觉元素,还保留了伴随的旁注,为内容提供额外的上下文和洞察。 + +假设我们有如下带旁注的 PowerPoint 幻灯片: + +![带旁注的演示文稿幻灯片](slide_with_notes.png) + +以下代码示例展示了如何在 C# 中将 PowerPoint 演示文稿转换为包含旁注的 HTML: ```c# -using (Presentation pres = new Presentation("Presentation.pptx")) +using (Presentation presentation = new Presentation("presentation.pptx")) { - HtmlOptions opt = new HtmlOptions(); + // 设置演讲者备注的选项。 + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - INotesCommentsLayoutingOptions options = opt.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + // 为输出的 HTML 文档设置选项。 + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions + }; - // 保存备注页 - pres.Save("Output.html", SaveFormat.Html, opt); + // 将演示文稿保存为包含演讲者备注的 HTML。 + presentation.Save("slide_with_notes.html", SaveFormat.Html, htmlOptions); } ``` -## **将 PowerPoint 转换为带原始字体的 HTML** -Aspose.Slides 提供了 [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) 类,允许您在将演示文稿转换为 HTML 时嵌入所有字体。 +转换结果: + +![包含幻灯片及旁注的HTML文档](HTML_with_notes.png) -为了防止某些字体被嵌入,您可以将一个字体名称数组传递给 [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) 类的参数化构造函数。流行字体,例如 Calibri 或 Arial,在演示文稿中使用时不必嵌入,因为大多数系统已经包含这些字体。当这些字体被嵌入时,生成的 HTML 文档会变得不必要的大。 +## **将演示文稿转换为使用原始字体的HTML** -[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) 类支持继承,并提供 [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont) 方法,旨在被重写。 +Aspose.Slides 提供了 [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) 类,允许在将演示文稿转换为 HTML 时嵌入所有字体。 +如果希望排除某些字体的嵌入,可向 [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) 的带参数构造函数传入字体名称数组。常用字体如 Calibri 或 Arial 无需嵌入,因为大多数系统已预装这些字体。嵌入它们只会无谓地增大生成的 HTML 文档体积。 + +[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller) 支持继承,并提供了 [WriteFont](https://reference.aspose.com/slides/net/aspose.slides.export/embedallfontshtmlcontroller/methods/writefont) 方法,供子类重写。 ```c# -using (Presentation pres = new Presentation("input.pptx")) +using (Presentation presentation = new Presentation("input.pptx")) { - // 排除默认演示文稿字体 - string[] fontNameExcludeList = { "Calibri", "Arial" }; + // 排除默认演示文稿字体。 + string[] excludeFonts = { "Calibri", "Arial" }; - EmbedAllFontsHtmlController embedFontsController = new EmbedAllFontsHtmlController(fontNameExcludeList); + EmbedAllFontsHtmlController fontController = new EmbedAllFontsHtmlController(excludeFonts); - HtmlOptions htmlOptionsEmbed = new HtmlOptions + HtmlOptions htmlOptions = new HtmlOptions { - HtmlFormatter = HtmlFormatter.CreateCustomFormatter(embedFontsController) + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(fontController) }; - pres.Save("input-PFDinDisplayPro-Regular-installed.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("embedded_fonts.html", SaveFormat.Html, htmlOptions); } ``` -## **将 PowerPoint 转换为带高质量图像的 HTML** -默认情况下,当您将 PowerPoint 转换为 HTML 时,Aspose.Slides 输出 72 DPI 和删除裁剪区域的小 HTML 图像。为了获得更高质量图像的 HTML 文件,您必须将 `PicturesCompression` 属性(来自 `HtmlOptions` 类)设置为 96(即 `PicturesCompression.Dpi96`)或更高 [值](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression)。 +## **将演示文稿转换为高质量图片的HTML** -以下 C# 代码向您展示了如何在获得 150 DPI(即 `PicturesCompression.Dpi150`)的高质量图像时将 PowerPoint 演示文稿转换为 HTML: +默认情况下,将 PowerPoint 演示文稿转换为 HTML 时,Aspose.Slides 会生成图片分辨率为 72 DPI、并去除裁剪区域的小型 HTML 文件。若需更高质量的图片,必须将 `HtmlOptions` 类的 `PicturesCompression` 属性设为 96(即 `PicturesCompression.Dpi96`)或更高的值,详见 [此引用](https://reference.aspose.com/slides/net/aspose.slides.export/picturescompression)。 +下面的 C# 代码演示了如何在将 PowerPoint 演示文稿转换为 HTML 时,获取 150 DPI(即 `PicturesCompression.Dpi150`)的高质量图片: ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - PicturesCompression = PicturesCompression.Dpi150 -}; -pres.Save("OutputDoc-dpi150.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + PicturesCompression = PicturesCompression.Dpi150 + }; + + presentation.Save("output_dpi_150.html", SaveFormat.Html, htmlOptions); +} ``` -以下 C# 代码向您展示了如何输出带有高质量图像的 HTML: +以下 C# 代码展示了如何在转换为 HTML 时保留裁剪区域: ```c# -Presentation pres = new Presentation("InputDoc.pptx"); -HtmlOptions htmlOpts = new HtmlOptions +using (Presentation presentation = new Presentation("input.pptx")) { - DeletePicturesCroppedAreas = false -}; -pres.Save("Outputdoc-noCrop.html", Aspose.Slides.Export.SaveFormat.Html, htmlOpts); + HtmlOptions htmlOptions = new HtmlOptions + { + DeletePicturesCroppedAreas = false + }; + + presentation.Save("output_no_crop.html", SaveFormat.Html, htmlOptions); +} ``` -## **将幻灯片转换为 HTML** -要将 PowerPoint 中的特定幻灯片转换为 HTML,您必须实例化同一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类(用于将整个演示文稿转换为 HTML),然后使用 [Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) 方法将文件保存为 HTML。[HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions**) 类可用于指定其他转换选项: -以下 C# 代码向您展示了如何将 PowerPoint 演示文稿中的一张幻灯片转换为 HTML: +## **将单个幻灯片转换为HTML** + +若要将 PowerPoint 演示文稿中的特定幻灯片转换为 HTML,需要实例化用于整体转换的同一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类,然后使用 [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) 方法将文件保存为 HTML。可通过 [HtmlOptions](https://reference.aspose.com/slides/net/aspose.slides.export/htmloptions) 类指定额外的转换选项。 +以下 C# 代码演示了如何将带旁注的幻灯片转换为 HTML: ```c# public static void Run() { - using (Presentation presentation = new Presentation("Individual-Slide.pptx")) + using (Presentation presentation = new Presentation("sample.pptx")) { - HtmlOptions htmlOptions = new HtmlOptions(); - - INotesCommentsLayoutingOptions options = htmlOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + NotesCommentsLayoutingOptions notesOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()); + HtmlOptions htmlOptions = new HtmlOptions + { + SlidesLayoutOptions = notesOptions, + HtmlFormatter = HtmlFormatter.CreateCustomFormatter(new CustomFormattingController()) + }; - // 保存文件 for (int i = 0; i < presentation.Slides.Count; i++) - presentation.Save("Individual Slide" + (i + 1) + "_out.html", new[] { i + 1 }, SaveFormat.Html, htmlOptions); + { + int slideIndex = i + 1; + + // 将幻灯片保存为 HTML 文件。 + string fileName = $"output_slide_{slideIndex}.html"; + presentation.Save(fileName, new[] { slideIndex }, SaveFormat.Html, htmlOptions); + } } } @@ -218,27 +233,28 @@ public class CustomFormattingController : IHtmlFormattingController ``` -## **导出到 HTML 时保存 CSS 和图像** -使用新的 CSS 样式文件,您可以轻松更改从 PowerPoint 到 HTML 转换过程中生成的 HTML 文件的样式。 +## **导出HTML时保存CSS和图像** -以下 C# 代码示例向您展示了如何使用可重写的方法创建一个自定义 HTML 文档并链接到 CSS 文件: +使用新的 CSS 样式文件,您可以轻松更改从 PowerPoint 转换为 HTML 过程生成的 HTML 文件的外观。 +本示例中的 C# 代码演示了如何使用可重写的方法创建自定义 HTML 文档,并在文档中加入指向 CSS 文件的链接: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { CustomHeaderAndFontsController htmlController = new CustomHeaderAndFontsController("styles.css"); + HtmlOptions options = new HtmlOptions { HtmlFormatter = HtmlFormatter.CreateCustomFormatter(htmlController), }; - pres.Save("pres.html", SaveFormat.Html, options); + presentation.Save("pres.html", SaveFormat.Html, options); } ``` ```c# public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController { - // 自定义头部模板 + // 自定义头部模板。 const string Header = "\n" + "\n" + "\n" + @@ -247,7 +263,6 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController "\n" + ""; - private readonly string m_cssFileName; public CustomHeaderAndFontsController(string cssFileName) @@ -263,27 +278,24 @@ public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController public override void WriteAllFonts(IHtmlGenerator generator, IPresentation presentation) { - generator.AddHtml(""); + generator.AddHtml(""); base.WriteAllFonts(generator, presentation); } } ``` -## **将所有字体链接到转换后的 HTML 演示文稿** -如果您不想嵌入字体(以避免增加生成 HTML 的大小),可以通过实现自己的 `LinkAllFontsHtmlController` 版本来链接所有字体。 +## **在转换演示文稿为HTML时链接所有字体** -以下 C# 代码向您展示了如何在转换 PowerPoint 为 HTML 时链接所有字体,并排除 "Calibri" 和 "Arial"(因为它们已经存在于系统中): +如果不希望嵌入字体(以免增大生成的 HTML 大小),可以通过实现自定义的 `LinkAllFontsHtmlController` 来实现链接所有字体。 +以下 C# 代码展示了如何在转换 PowerPoint 演示文稿为 HTML 时链接所有字体,并排除 “Calibri” 与 “Arial”(因为它们已在系统中预装): ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("pres.pptx")) { - // 排除默认演示文稿字体 + // 排除默认演示文稿字体。 string[] fontNameExcludeList = { "Calibri", "Arial" }; - Paragraph para = new Paragraph(); - ITextFrame txt; - LinkAllFontsHtmlController linkcont = new LinkAllFontsHtmlController(fontNameExcludeList, @"C:\Windows\Fonts\");; HtmlOptions htmlOptionsEmbed = new HtmlOptions @@ -291,12 +303,12 @@ using (Presentation pres = new Presentation("pres.pptx")) HtmlFormatter = HtmlFormatter.CreateCustomFormatter(linkcont) }; - pres.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); + presentation.Save("pres.html", SaveFormat.Html, htmlOptionsEmbed); } ``` -以下 C# 代码展示了 `LinkAllFontsHtmlController` 的实现: +以下 C# 代码展示了 `LinkAllFontsHtmlController` 的实现方式: ```c# public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController { @@ -319,7 +331,7 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController try { string fontName = substitutedFont == null ? originalFont.FontName : substitutedFont.FontName; - string path = fontName + ".woff"; // 可能需要进行路径清理 + string path = fontName + ".woff"; // 可能需要对路径进行清理。 File.WriteAllBytes(Path.Combine(m_basePath, path), fontData); @@ -339,30 +351,36 @@ public class LinkAllFontsHtmlController : EmbedAllFontsHtmlController } ``` -## **将 PowerPoint 转换为响应式 HTML** -以下 C# 代码向您展示了如何将 PowerPoint 演示文稿转换为响应式 HTML: +## **将包含SVG图像的演示文稿转换为响应式HTML** + +以下 C# 代码展示了如何将 PowerPoint 演示文稿转换为响应式 HTML: ```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -HtmlOptions saveOptions = new HtmlOptions(); -saveOptions.SvgResponsiveLayout = true; -presentation.Save("SomePresentation-out.html", SaveFormat.Html, saveOptions); +using (Presentation presentation = new Presentation("Presentation.pptx")) +{ + HtmlOptions saveOptions = new HtmlOptions + { + SvgResponsiveLayout = true + }; + + presentation.Save("SvgResponsiveLayout-out.html", SaveFormat.Html, saveOptions); +} ``` -## **导出媒体文件到 HTML** -使用 Aspose.Slides for .NET,您可以这样导出媒体文件: +## **将媒体文件导出为HTML** -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的一个实例。 -1. 获取幻灯片的引用。 -1. 在幻灯片中添加视频。 -1. 将演示文稿写入 HTML 文件。 +使用 Aspose.Slides for .NET,您可以按以下步骤导出媒体文件: -以下 C# 代码向您展示了如何在演示文稿中添加视频并将其保存为 HTML: +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +1. 获取对幻灯片的引用。 +1. 向幻灯片添加视频。 +1. 将演示文稿写入 HTML 文件。 +以下 C# 代码展示了如何向演示文稿添加视频并将其保存为 HTML: ```c# -// 加载演示文稿 -using (Presentation pres = new Presentation()) +// 创建一个新的演示文稿。 +using (Presentation presentation = new Presentation()) { string path = "C:/out/"; const string fileName = "ExportMediaFiles_out.html"; @@ -370,22 +388,59 @@ using (Presentation pres = new Presentation()) using (FileStream fileStream = new FileStream("my_video.avi", FileMode.Open, FileAccess.Read)) { - IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); + IVideo video = presentation.Videos.AddVideo(fileStream, LoadingStreamBehavior.ReadStreamAndRelease); - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; slide.Shapes.AddVideoFrame(10, 10, 100, 100, video); } VideoPlayerHtmlController controller = new VideoPlayerHtmlController(path, fileName, baseUri); - // 设置 HTML 选项 + // 设置 HTML 选项。 HtmlOptions htmlOptions = new HtmlOptions(controller); SVGOptions svgOptions = new SVGOptions(controller); htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller); htmlOptions.SlideImageFormat = SlideImageFormat.Svg(svgOptions); - // 保存文件 - pres.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); + // 将演示文稿保存为 HTML 文件。 + presentation.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions); } -``` \ No newline at end of file +``` + + +{{% alert color="primary" %}} + +Aspose 开发了免费的 [演示文稿转HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) 转换器:[PPT to HTML](https://products.aspose.app/slides/conversion/ppt-to-html)、[PPTX to HTML](https://products.aspose.app/slides/conversion/pptx-to-html)、[ODP to HTML](https://products.aspose.app/slides/conversion/odp-to-html) 等。 + +[![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) + +了解其他 Aspose 免费转换器: +https://products.aspose.app/slides/conversion + +{{% /alert %}} + +{{% alert title="注意" color="warning" %}} + +除本文档中描述的转换流程外,Aspose.Slides 还支持以下涉及 HTML 格式的转换操作: + +* [HTML to image](https://products.aspose.com/slides/net/conversion/html-to-image/) +* [HTML to JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) +* [HTML to XML](https://products.aspose.com/slides/net/conversion/html-to-xml/) +* [HTML to TIFF](https://products.aspose.com/slides/net/conversion/html-to-tiff/) + +{{% /alert %}} + +## **常见问题** + +**Aspose.Slides 在将多个演示文稿批量转换为HTML时的性能如何?** + +性能取决于演示文稿的大小和复杂度。Aspose.Slides 在批量操作时具备高效且可扩展的特性。为获得最佳转换性能,建议在可能的情况下使用多线程或并行处理。 + +**Aspose.Slides 是否支持将超链接导出为HTML?** + +是的,Aspose.Slides 完全支持将嵌入的超链接导出为 HTML。转换为 HTML 格式时,超链接会自动保留并保持可点击。 + +**在将演示文稿转换为HTML时,幻灯片数量是否有限制?** + +使用 Aspose.Slides 时,幻灯片数量没有限制。您可以转换任意规模的演示文稿。不过,对于包含极大量幻灯片的演示文稿,性能可能受服务器或系统可用资源的影响。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md index c14d9e13a3..592e15f0ea 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-jpg/_index.md @@ -1,149 +1,177 @@ --- -title: 将 PowerPoint 转换为 JPG 的 C# -linktitle: 将 PowerPoint PPT 转换为 JPG +title: 在 C# 中将 PPT、PPTX 和 ODP 转换为 JPG +linktitle: 将幻灯片转换为 JPG 图像 type: docs weight: 60 url: /zh/net/convert-powerpoint-to-jpg/ -keywords: -- 转换 PowerPoint 演示文稿 -- JPG -- JPEG +keywords: +- 将 PowerPoint 转换为 JPG +- 将演示文稿转换为 JPG +- 将幻灯片转换为 JPG +- 将 PPT 转换为 JPG +- 将 PPTX 转换为 JPG +- 将 ODP 转换为 JPG - PowerPoint 转 JPG -- PowerPoint 转 JPEG +- 演示文稿转 JPG +- 幻灯片转 JPG - PPT 转 JPG - PPTX 转 JPG +- ODP 转 JPG +- 将 PowerPoint 转换为 JPEG +- 将演示文稿转换为 JPEG +- 将幻灯片转换为 JPEG +- 将 PPT 转换为 JPEG +- 将 PPTX 转换为 JPEG +- 将 ODP 转换为 JPEG +- PowerPoint 转 JPEG +- 演示文稿转 JPEG +- 幻灯片转 JPEG - PPT 转 JPEG - PPTX 转 JPEG +- ODP 转 JPEG - C# - Csharp - .NET - Aspose.Slides -description: "在 C# 或 .NET 中将 PowerPoint 转换为 JPG。将幻灯片保存为 JPG 图像" +description: "了解如何仅用几行代码将 PowerPoint 和 OpenDocument 演示文稿转换为高质量的 JPEG 图像。优化演示文稿以用于网页、共享和存档。立即阅读完整指南!" --- ## **概述** -本文解释了如何使用 C# 将 PowerPoint 演示文稿转换为 JPG 格式。它涵盖以下主题: - -- [C# 将 PowerPoint 转换为 JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# 将 PPT 转换为 JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# 将 PPTX 转换为 JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# 将 ODP 转换为 JPG](#convert-powerpoint-pptpptx-to-jpg) -- [C# 将 PowerPoint 幻灯片转换为图像](#convert-powerpoint-pptpptx-to-jpg) +将 PowerPoint 和 OpenDocument 演示文稿转换为 JPG 图像有助于共享幻灯片、优化性能以及将内容嵌入网站或应用程序中。Aspose.Slides for .NET 允许您将 PPTX、PPT 和 ODP 文件转换为高质量的 JPEG 图像。本指南解释了不同的转换方法。 -## **C# PowerPoint 转 JPG** +借助这些功能,您可以轻松实现自己的演示文稿查看器并为每张幻灯片创建缩略图。如果您希望保护幻灯片不被复制或以只读模式演示演示文稿,这将非常有用。Aspose.Slides 允许您将整个演示文稿或指定的幻灯片转换为图像格式。 -有关将 PowerPoint 转换为 JPG 的 C# 示例代码,请参见下面的部分,即 [将 PowerPoint 转换为 JPG](#convert-powerpoint-pptpptx-to-jpg)。 该代码可以加载 PPT、PPTX 和 ODP 等多种格式到演示文稿对象中,然后将其幻灯片缩略图保存为 JPG 格式。 其他类似的 PowerPoint 到图像的转换,如 PNG、BMP、TIFF 和 SVG,讨论在这些文章中。 +## **将演示文稿幻灯片转换为 JPG 图像** -- [C# PowerPoint 转 PNG](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -- [C# PowerPoint 转 BMP](#convert-powerpoint-pptpptx-to-jpg) -- [C# PowerPoint 转 TIFF](https://docs.aspose.com/slides/net/convert-powerpoint-to-tiff/) -- [C# PowerPoint 转 SVG](https://docs.aspose.com/slides/net/render-a-slide-as-an-svg-image/) - -## **关于 PowerPoint 转 JPG 转换** -使用 [**Aspose.Slides .NET API**](https://products.aspose.com/slides/net/) 您可以将 PowerPoint PPT 或 PPTX 演示文稿转换为 JPG 图像。还可以将 PPT/PPTX 转换为 BMP、PNG 或 SVG。 借助此功能,您可以轻松实现自己的演示文稿查看器,创建每个幻灯片的缩略图。如果您希望保护演示幻灯片不被版权保护,或以只读模式演示演示文稿,这可能很有用。 Aspose.Slides 允许将整个演示文稿或特定幻灯片转换为图像格式。 +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 从 [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) 集合中获取类型为 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) 的幻灯片对象。 +3. 使用 [ISlide.GetImage(float, float)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) 方法创建幻灯片的图像。 +4. 在图像对象上调用 [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3) 方法。将输出文件名和图像格式作为参数传递。 {{% alert color="primary" %}} -要查看 Aspose.Slides 如何将 PowerPoint 转换为 JPG 图像,您可能想尝试这些免费的在线转换器:PowerPoint [PPTX 转 JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) 和 [PPT 转 JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg)。 +**注意:** 在 Aspose.Slides .NET API 中,PPT、PPTX 或 ODP 转换为 JPG 与转换为其他格式不同。对于其他格式,通常使用 [IPresentation.Save(String, SaveFormat, ISaveOptions)](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/save/#save_5) 方法。但对于 JPG 转换,需要使用 [IImage.Save(string, ImageFormat)](https://reference.aspose.com/slides/net/aspose.slides/iimage/save/#save_3) 方法。 {{% /alert %}} - -![todo:image_alt_text](ppt-to-jpg.png) - -## **将 PowerPoint PPT/PPTX 转换为 JPG** -以下是将 PPT/PPTX 转换为 JPG 的步骤: - -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 从 [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) 集合中获取 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) 类型的幻灯片对象。 -3. 创建每个幻灯片的缩略图,然后将其转换为 JPG。[**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) 方法用于获取幻灯片的缩略图,它返回一个 [Bitmap](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.bitmap?view=netframework-4.8) 对象作为结果。[GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) 方法必须从所需的 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) 类型的幻灯片中调用,结果缩略图的比例传递到该方法中。 -4. 获取幻灯片缩略图后,从缩略图对象中调用 [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8) 方法。将结果文件名和图像格式传递给该方法。 - -{{% alert color="primary" %}} -**注意**: PPT/PPTX 转 JPG 的转换与 Aspose.Slides .NET API 中转换为其他类型的转换不同。对于其他类型,您通常使用 [**IPresentation.SaveMethod(String, SaveFormat, ISaveOptions)** ](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5)方法,但在这里您需要 [**Image.Save(string filename, ImageFormat format)**](https://docs.microsoft.com/en-us/dotnet/api/system.drawing.image.save?view=netframework-4.8) 方法。 -{{% /alert %}} - ```c# -const int imageScale = 1; +int scaleX = 1; +int scaleY = scaleX; -using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt")) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.ppt")) { - foreach (ISlide slide in pres.Slides) + foreach (ISlide slide in presentation.Slides) { - // 创建全尺度图像 - using (IImage thumbnail = slide.GetImage(imageScale, imageScale)) + // 创建指定缩放比例的幻灯片图像。 + using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) { - // 将图像以 JPEG 格式保存到磁盘 - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // 以 JPEG 格式将图像保存到磁盘。 + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } } ``` -## **使用自定义尺寸将 PowerPoint PPT/PPTX 转换为 JPG** -要更改生成的缩略图和 JPG 图像的尺寸,可以通过将 *ScaleX* 和 *ScaleY* 值传递到 [**ISlide.GetImage(float scaleX, float scaleY)**](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_5) 方法中来设置它们: -```c# -using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx")) -{ - // 定义尺寸 - int desiredX = 1200; - int desiredY = 800; +## **使用自定义尺寸将幻灯片转换为 JPG** - // 获取 X 和 Y 的缩放值 - float scaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX; - float scaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY; +若要更改生成的 JPG 图像的尺寸,您可以通过将尺寸传递给 [ISlide.GetImage(Size)](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/#getimage_6) 方法来设置图像大小。这使您能够生成具有特定宽度和高度的图像,确保输出符合分辨率和宽高比的要求。这种灵活性在为 Web 应用程序、报告或文档生成图像时特别有用,因为此时需要精确的图像尺寸。 + +```c# +Size imageSize = new Size(1200, 800); - foreach (ISlide slide in pres.Slides) +using (Presentation presentation = new Presentation("PowerPoint_Presentation.pptx")) +{ + foreach (ISlide slide in presentation.Slides) { - // 创建全尺度图像 - using (IImage thumbnail = slide.GetImage(scaleX, scaleY)) + // 创建指定大小的幻灯片图像。 + using (IImage thumbnail = slide.GetImage(imageSize)) { - // 将图像以 JPEG 格式保存到磁盘 - string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber); + // 以 JPEG 格式将图像保存到磁盘。 + string imageFileName = $"Slide_{slide.SlideNumber}.jpg"; thumbnail.Save(imageFileName, ImageFormat.Jpeg); } } } ``` -## **在将演示文稿保存为图像时呈现注释** -Aspose.Slides for .NET 提供了一种功能,让您在将演示文稿的幻灯片转换为图像时渲染注释。以下 C# 代码演示了该操作: + +## **在将幻灯片保存为图像时渲染批注** + +Aspose.Slides for .NET 提供了一个功能,允许在将演示文稿的幻灯片转换为 JPG 图像时渲染批注。此功能对于保留 PowerPoint 演示文稿中协作者添加的注释、反馈或讨论特别有用。通过启用此选项,您可以确保批注在生成的图像中可见,从而更容易在无需打开原始演示文稿文件的情况下审阅和分享反馈。 + +假设我们有一个演示文稿文件 “sample.pptx”,其中一张幻灯片包含批注: + +![包含批注的幻灯片](slide_with_comments.png) + +以下 C# 代码在保留批注的情况下将幻灯片转换为 JPG 图像: ```c# -using (Presentation presentation = new Presentation("test.pptx")) +int scaleX = 2; +int scaleY = scaleX; + +using (Presentation presentation = new Presentation("sample.pptx")) { IRenderingOptions options = new RenderingOptions { + // 设置幻灯片批注的选项。 SlidesLayoutOptions = new NotesCommentsLayoutingOptions { - NotesPosition = NotesPositions.BottomTruncated, - CommentsAreaColor = Color.Red, + CommentsPosition = CommentsPositions.Right, CommentsAreaWidth = 200, - CommentsPosition = CommentsPositions.Right + CommentsAreaColor = Color.DarkOrange } }; - using (IImage image = presentation.Slides[0].GetImage(options)) + // 将第一张幻灯片转换为图像。 + using (IImage image = presentation.Slides[0].GetImage(options, scaleX, scaleY)) { - image.Save("OutPresBitmap.png", ImageFormat.Png); + image.Save("Slide_1.jpg", ImageFormat.Jpeg); } - - System.Diagnostics.Process.Start("OutPresBitmap.png"); } ``` -{{% alert title="提示" color="primary" %}} -Aspose 提供了一个 [免费的拼贴网页应用](https://products.aspose.app/slides/collage)。使用这个在线服务,您可以合并 [JPG 到 JPG](https://products.aspose.app/slides/collage/jpg) 或 PNG 到 PNG 的图像,创建 [照片网格](https://products.aspose.app/slides/collage/photo-grid) 等。 +结果如下: + +![包含批注的 JPG 图像](image_with_comments.png) + +## **另请参阅** + +请参阅将 PPT、PPTX 或 ODP 转换为图像的其他选项,例如: + +- [将 PowerPoint 转换为 GIF](/slides/zh/net/convert-powerpoint-to-animated-gif/) +- [将 PowerPoint 转换为 PNG](/slides/zh/net/convert-powerpoint-to-png/) +- [将 PowerPoint 转换为 TIFF](/slides/zh/net/convert-powerpoint-to-tiff/) +- [将 PowerPoint 转换为 SVG](/slides/zh/net/render-a-slide-as-an-svg-image/) + +{{% alert color="primary" %}} + +要了解 Aspose.Slides 如何将 PowerPoint 转换为 JPG 图像,请尝试以下免费在线转换器:PowerPoint [PPTX to JPG](https://products.aspose.app/slides/conversion/pptx-to-jpg) 和 [PPT to JPG](https://products.aspose.app/slides/conversion/ppt-to-jpg)。 + +{{% /alert %}} + +![免费在线 PPTX 转 JPG 转换器](ppt-to-jpg.png) + +{{% alert title="Tip" color="primary" %}} -使用本文中描述的相同原理,您可以将图像从一种格式转换为另一种格式。有关更多信息,请参见以下页面:转换 [图像到 JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/);转换 [JPG 到图像](https://products.aspose.com/slides/net/conversion/jpg-to-image/);转换 [JPG 到 PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/),转换 [PNG 到 JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/);转换 [PNG 到 SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/),转换 [SVG 到 PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/)。 +Aspose 提供了一个 [FREE Collage web app](https://products.aspose.app/slides/collage)。使用此在线服务,您可以合并 [JPG to JPG](https://products.aspose.app/slides/collage/jpg) 或 PNG 到 PNG 的图像,创建 [photo grids](https://products.aspose.app/slides/collage/photo-grid) 等。 + +使用本文中描述的相同原理,您可以将图像从一种格式转换为另一种格式。有关更多信息,请参阅以下页面:将 [image to JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/) 转换为 JPG;将 [JPG to image](https://products.aspose.com/slides/net/conversion/jpg-to-image/) 转换为图像;将 [JPG to PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/) 转换为 PNG,将 [PNG to JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/) 转换为 JPG;将 [PNG to SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/) 转换为 SVG,将 [SVG to PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/) 转换为 PNG。 {{% /alert %}} -## **另请参见** +## **常见问题** + +**此方法是否支持批量转换?** + +是的,Aspose.Slides 允许在一次操作中批量将多个幻灯片转换为 JPG。 + +**转换是否支持 SmartArt、图表和其他复杂对象?** + +是的,Aspose.Slides 渲染所有内容,包括 SmartArt、图表、表格、形状等。然而,与 PowerPoint 相比,渲染精度可能会略有差异,尤其是在使用自定义或缺失字体时。 -查看其他将 PPT/PPTX 转换为图像的选项,例如: +**处理的幻灯片数量是否有限制?** -- [PPT/PPTX 转 SVG 转换](/slides/zh/net/render-a-slide-as-an-svg-image/)。 \ No newline at end of file +Aspose.Slides 本身对可处理的幻灯片数量没有严格限制。但在处理大型演示文稿或高分辨率图像时,可能会遇到内存不足错误。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md index 7bd8d6c0cb..60addfbe9b 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-markdown/_index.md @@ -9,23 +9,22 @@ description: "在 C# 中将 PowerPoint 转换为 Markdown" {{% alert color="info" %}} -对 PowerPoint 转换为 Markdown 的支持已在 [Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/) 中实现。 +已在 [Aspose.Slides 23.7](https://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/) 中实现对 PowerPoint 到 markdown 转换的支持。 {{% /alert %}} {{% alert color="warning" %}} -默认情况下,PowerPoint 到 Markdown 的导出**不包括图像**。如果您希望导出包含图像的 PowerPoint 文档,您需要设置 `ExportType = MarkdownExportType.Visual` 并设置 BasePath,以便在 Markdown 文档中引用的图像将被保存的位置。 +默认情况下,PowerPoint 到 markdown 的导出 **不包含图像**。如果您想导出包含图像的 PowerPoint 文档,需要将 `ExportType = MarkdownExportType.Visual` 设置为相应值,并设置 BasePath,以便将 markdown 文档中引用的图像保存到该路径。 {{% /alert %}} ## **将 PowerPoint 转换为 Markdown** -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例以表示演示文稿对象。 -2. 使用 [Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save) 方法将对象保存为 Markdown 文件。 - -以下 C# 代码演示了如何将 PowerPoint 转换为 Markdown: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例以表示演示文稿对象。 +2. 使用 [Save ](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save)method 将对象保存为 markdown 文件。 +以下 C# 代码演示如何将 PowerPoint 转换为 markdown: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -33,12 +32,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## 将 PowerPoint 转换为 Markdown 风格 -Aspose.Slides 允许您将 PowerPoint 转换为 Markdown(包含基本语法)、CommonMark、GitHub 风格 Markdown、Trello、XWiki、GitLab 以及其他 17 种 Markdown 风格。 +## **将 PowerPoint 转换为 Markdown 变体** -以下 C# 代码演示了如何将 PowerPoint 转换为 CommonMark: +Aspose.Slides 允许您将 PowerPoint 转换为 markdown(包含基本语法)、CommonMark、GitHub 风格 markdown、Trello、XWiki、GitLab 以及另外 17 种 markdown 变体。 +以下 C# 代码演示如何将 PowerPoint 转换为 CommonMark: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -49,16 +48,16 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -23 种支持的 Markdown 风格在 [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) 类的 [`Flavor` 枚举中列出](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/)。 + +23 种受支持的 markdown 变体已在 [Flavor 枚举](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/flavor/) 中列出,属于 [MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) 类。 ## **将包含图像的演示文稿转换为 Markdown** -[MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) 类提供的属性和枚举允许您对结果 Markdown 文件使用某些选项或设置。 例如,[MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/) 枚举可以设置为决定图像如何呈现或处理的值:`Sequential`、`TextOnly`、`Visual`。 +[MarkdownSaveOptions](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownsaveoptions/) 类提供属性和枚举,允许您为生成的 markdown 文件使用特定选项或设置。例如,可将 [MarkdownExportType](https://reference.aspose.com/slides/net/aspose.slides.dom.export.markdown.saveoptions/markdownexporttype/) 枚举设置为 `Sequential`、`TextOnly`、`Visual`,以决定图像的呈现或处理方式。 ### **顺序转换图像** -如果您希望图像在结果 Markdown 中一个接一个地单独出现,则必须选择顺序选项。以下 C# 代码演示了如何将包含图像的演示文稿转换为 Markdown: - +如果希望图像在生成的 markdown 中依次单独出现,请选择 **Sequential** 选项。以下 C# 代码演示如何将包含图像的演示文稿转换为 markdown: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -75,12 +74,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **视觉转换图像** -如果您希望在结果 Markdown 中一起显示图像,则必须选择视觉选项。在这种情况下,图像将保存到应用程序的当前目录(并将在 Markdown 文档中为它们构建相对路径),或者您可以指定所需的路径和文件夹名称。 +### **视觉转换图像** -以下 C# 代码演示了该操作: +如果希望图像在生成的 markdown 中一起出现,请选择 **Visual** 选项。此时,图像将保存到应用程序的当前目录(并在 markdown 文档中为其构建相对路径),也可以指定您偏好的路径和文件夹名称。 +以下 C# 代码演示该操作: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -92,4 +91,19 @@ using (Presentation pres = new Presentation("pres.pptx")) BasePath = outPath }); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**超链接在导出为 Markdown 时会被保留吗?** + +是的。文本 [hyperlinks](/slides/zh/net/manage-hyperlinks/) 会被保留为标准的 Markdown 链接。幻灯片 [transitions](/slides/zh/net/slide-transition/) 和 [animations](/slides/zh/net/powerpoint-animation/) 则不被转换。 + +**我可以通过多线程运行来加快转换速度吗?** + +可以对文件进行并行处理,但请勿在多个线程之间共享同一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 实例。每个文件使用独立的实例或进程,以避免竞争。 + +**图像会怎样处理——它们保存在哪里,路径是否相对?** + +[Images](/slides/zh/net/image/) 会导出到专用文件夹,Markdown 文件默认使用相对路径引用它们。您可以配置基础输出路径和资产文件夹名称,以保持仓库结构的可预测性。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index b3e5743c15..1f03a30169 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,16 +1,21 @@ --- -title: 将 PowerPoint 转换为 PDF 的 C# -linktitle: 将 PowerPoint 转换为 PDF +title: 在 C# 中将 PPT 和 PPTX 转换为 PDF(包括高级功能) +linktitle: 将 PPT 和 PPTX 转换为 PDF type: docs weight: 40 url: /zh/net/convert-powerpoint-to-pdf/ keywords: - 转换 PowerPoint -- 演示文稿 +- 转换演示文稿 - PowerPoint 转 PDF +- 演示文稿转 PDF - PPT 转 PDF +- 转换 PPT 为 PDF - PPTX 转 PDF -- 保存 PowerPoint 为 PDF +- 转换 PPTX 为 PDF +- ODP 转 PDF +- 转换 ODP 为 PDF +- 将 PowerPoint 保存为 PDF - PDF/A1a - PDF/A1b - PDF/UA @@ -18,41 +23,40 @@ keywords: - Csharp - .NET - Aspose.Slides for .NET -description: "在 C# 或 .NET 中将 PowerPoint 演示文稿转换为 PDF。保存 PowerPoint 为符合性或可访问性标准的 PDF。" +description: "了解如何使用 Aspose.Slides 在 C# 或 .NET 中将 PPT、PPTX 和 ODP 演示文稿转换为 PDF。实现高级功能,如密码保护、合规标准以及用于高质量、可访问 PDF 文档的自定义选项。" --- -## **概述** +## **概览** -将 PowerPoint 文档转换为 PDF 格式具有多个优点,包括确保不同设备之间的兼容性以及保持演示文稿的布局和格式。本文将向您展示如何将演示文稿转换为 PDF 文档,使用各种选项控制图像质量,包含隐藏幻灯片,给 PDF 文档加密,检测字体替代,选择要转换的幻灯片,并将符合性标准应用于输出文档。 +将 PowerPoint 演示文稿(PPT、PPTX、ODP 等)转换为 C# 中的 PDF 格式具有多种优势,包括跨设备兼容性以及保留演示文稿的布局和格式。本指南演示如何将演示文稿转换为 PDF 文档,使用各种选项控制图像质量,包含隐藏幻灯片,对 PDF 文件设置密码保护,检测字体替换,选择特定幻灯片进行转换,以及对输出文档应用合规标准。 ## **PowerPoint 到 PDF 的转换** 使用 Aspose.Slides,您可以将以下格式的演示文稿转换为 PDF: -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -要将演示文稿转换为 PDF,您只需将文件名作为参数传递给 [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类,然后使用 [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) 方法将演示文稿保存为 PDF。[`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类公开了 [`Save`](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/#presentationsave-method-5-of-9) 方法,该方法通常用于将演示文稿转换为 PDF。 +要将演示文稿转换为 PDF,请将文件名作为参数传递给[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)类,然后使用[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/)方法将演示文稿保存为 PDF。[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)类公开了通常用于将演示文稿转换为 PDF 的[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/)方法。 -{{% alert title="注意" color="warning" %}} +{{% alert title="NOTE" color="warning" %}} -Aspose.Slides for .NET 直接在输出文档中写入 API 信息和版本号。例如,当它将演示文稿转换为 PDF 时,Aspose.Slides for .NET 会将应用程序字段填充为 '*Aspose.Slides*' 值,而 PDF 生产者字段填充为 '*Aspose.Slides v XX.XX*' 形式的值。 **注意**,您无法指示 Aspose.Slides for .NET 更改或删除此信息。 +Aspose.Slides for .NET 会将其 API 信息和版本号插入输出文档。例如,在将演示文稿转换为 PDF 时,Aspose.Slides 会在 Application 字段填入 "*Aspose.Slides*",在 PDF Producer 字段填入 "*Aspose.Slides v XX.XX*" 形式的值。**注意**,您不能指示 Aspose.Slides 更改或删除这些信息。 {{% /alert %}} Aspose.Slides 允许您转换: -* 将整个演示文稿转换为 PDF -* 将演示文稿中的特定幻灯片转换为 PDF -* 一个演示文稿 +* 整个演示文稿为 PDF +* 演示文稿中的特定幻灯片为 PDF -Aspose.Slides 以一种方式将演示文稿导出为 PDF,使得结果 PDF 的内容与原始演示文稿非常相似。这些已知的元素和属性在演示文稿到 PDF 的转换中通常会正确呈现: +Aspose.Slides 将演示文稿导出为 PDF,确保生成的 PDF 与原始演示文稿高度一致。转换过程中会准确呈现以下元素和属性: * 图像 -* 文本框和其他形状 -* 文本及其格式 -* 段落及其格式 +* 文本框和形状 +* 文本格式 +* 段落格式 * 超链接 * 页眉和页脚 * 项目符号 @@ -60,130 +64,128 @@ Aspose.Slides 以一种方式将演示文稿导出为 PDF,使得结果 PDF 的 ## **将 PowerPoint 转换为 PDF** -标准的 PowerPoint PDF 转换操作使用默认选项执行。在这种情况下,Aspose.Slides 试图使用最佳设置在最高质量级别下将提供的演示文稿转换为 PDF。 - -以下 C# 代码演示了如何将 PowerPoint (PPT, PPTX, ODP) 转换为 PDF: +标准的 PowerPoint 到 PDF 转换过程使用默认选项。在这种情况下,Aspose.Slides 会尝试使用最佳设置在最高质量水平下将提供的演示文稿转换为 PDF。 +下面的 C# 代码展示了如何将演示文稿(PPT、PPTX、ODP 等)转换为 PDF: ```c# -// 实例化一个表示 PowerPoint 文件的 Presentation 类,可以是 PPT、PPTX、ODP 等 -Presentation presentation = new Presentation("PowerPoint.ppt"); +// 实例化表示 PowerPoint 或 OpenDocument 文件的 Presentation 类。 +using var presentation = new Presentation("PowerPoint.ppt"); -// 将演示文稿保存为 PDF +// 将演示文稿保存为 PDF。 presentation.Save("PDF-result.pdf", SaveFormat.Pdf); ``` + {{% alert color="primary" %}} -Aspose 提供了一个免费的在线 [**PowerPoint 到 PDF 转换器**](https://products.aspose.app/slides/conversion/ppt-to-pdf),演示了演示文稿到 PDF 的转换过程。要实时实现此处描述的过程,您可以使用该转换器进行测试。 +Aspose 提供了一个免费在线的[**PowerPoint 到 PDF 转换器**](https://products.aspose.app/slides/conversion/ppt-to-pdf),演示了演示文稿到 PDF 的转换过程。您可以使用此转换器进行测试,以实现本文所述的实时实现。 {{% /alert %}} ## **使用选项将 PowerPoint 转换为 PDF** -Aspose.Slides 提供了自定义选项——[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) 类下的属性——允许您自定义 PDF(转换过程生成的 PDF),用密码锁定 PDF,甚至指定转换过程的操作方式。 +Aspose.Slides 提供了自定义选项——[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) 类下的属性,您可以使用这些选项自定义生成的 PDF、为 PDF 设置密码,或指定转换过程的行为。 ### **使用自定义选项将 PowerPoint 转换为 PDF** -通过使用自定义转换选项,您可以设置所需的光栅图像质量设置,指定如何处理元文件,为文本设置压缩级别,为图像设置 DPI 等。 - -以下代码示例演示了一个操作,其中 PowerPoint 演示文稿使用多个自定义选项转换为 PDF: +通过自定义转换选项,您可以为光栅图像定义首选质量设置,指定元文件的处理方式,为文本设置压缩级别,配置图像的 DPI 等。 +下面的代码示例演示了如何使用多种自定义选项将 PowerPoint 演示文稿转换为 PDF。 ```c# -// 实例化 PdfOptions 类 -PdfOptions pdfOptions = new PdfOptions -{ - // 设置 JPG 图像的质量 - JpegQuality = 90, + // 实例化 PdfOptions 类。 + var pdfOptions = new PdfOptions + { + // 设置 JPG 图像的质量。 + JpegQuality = 90, - // 设置图像的 DPI - SufficientResolution = 300, + // 设置图像的 DPI。 + SufficientResolution = 300, - // 设置元文件的行为 - SaveMetafilesAsPng = true, + // 设置元文件的处理方式。 + SaveMetafilesAsPng = true, - // 设置文本内容的压缩级别 - TextCompression = PdfTextCompression.Flate, + // 设置文本内容的压缩级别。 + TextCompression = PdfTextCompression.Flate, - // 定义 PDF 合规模式 - Compliance = PdfCompliance.Pdf15 -}; + // 定义 PDF 合规模式。 + Compliance = PdfCompliance.Pdf15 + }; -// 实例化一个表示 PowerPoint 文档的 Presentation 类 -using (Presentation presentation = new Presentation("PowerPoint.pptx")) -{ - // 将演示文稿保存为 PDF 文档 - presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); -} + // 实例化表示 PowerPoint 或 OpenDocument 文件的 Presentation 类。 + using var presentation = new Presentation("PowerPoint.pptx"); + + // 将演示文稿保存为 PDF 文档。 + presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **将 PowerPoint 转换为包含隐藏幻灯片的 PDF** -如果演示文稿包含隐藏幻灯片,您可以使用一个自定义选项——[`ShowHiddenSlides`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/) 属性来自 [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) 类——来指示 Aspose.Slides 将隐藏幻灯片作为页面包含到生成的 PDF 中。 +### **将 PowerPoint 转换为包含隐藏幻灯片的 PDF** -以下 C# 代码演示了如何将 PowerPoint 演示文稿转换为包含隐藏幻灯片的 PDF: +如果演示文稿包含隐藏幻灯片,您可以使用[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)类的[ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/showhiddenslides/)属性,将隐藏幻灯片作为页面包含在生成的 PDF 中。 +下面的 C# 代码展示了如何在 PDF 中包含隐藏幻灯片进行转换: ```c# -// 实例化一个表示 PowerPoint 文件的 Presentation 类 -Presentation presentation = new Presentation("PowerPoint.pptx"); +// 实例化表示 PowerPoint 或 OpenDocument 文件的 Presentation 类。 +using var presentation = new Presentation("PowerPoint.pptx"); -// 实例化 PdfOptions 类 -PdfOptions pdfOptions = new PdfOptions(); +// 实例化 PdfOptions 类。 +var pdfOptions = new PdfOptions(); -// 添加隐藏的幻灯片 +// 添加隐藏幻灯片。 pdfOptions.ShowHiddenSlides = true; -// 将演示文稿保存为 PDF +// 将演示文稿保存为 PDF。 presentation.Save("PowerPoint-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **将 PowerPoint 转换为密码保护的 PDF** -以下 C# 代码演示了如何将 PowerPoint 转换为一个密码保护的 PDF(使用来自 [`PdfOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/) 类的保护参数): +### **将 PowerPoint 转换为受密码保护的 PDF** +下面的 C# 代码演示了如何使用[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)类的保护参数,将 PowerPoint 演示文稿转换为受密码保护的 PDF: ```c# -// 实例化一个表示 PowerPoint 文件的 Presentation 对象 -Presentation presentation = new Presentation("PowerPoint.pptx"); +// 实例化表示 PowerPoint 或 OpenDocument 文件的 Presentation 类。 +using var presentation = new Presentation("PowerPoint.pptx"); -/// 实例化 PdfOptions 类 -PdfOptions pdfOptions = new PdfOptions(); +// 实例化 PdfOptions 类。 +var pdfOptions = new PdfOptions(); -// 设置 PDF 密码和访问权限 +// 设置 PDF 密码和访问权限。 pdfOptions.Password = "password"; pdfOptions.AccessPermissions = PdfAccessPermissions.PrintDocument | PdfAccessPermissions.HighQualityPrint; -// 将演示文稿保存为 PDF +// 将演示文稿保存为 PDF。 presentation.Save("PPTX-to-PDF.pdf", SaveFormat.Pdf, pdfOptions); ``` -### **检测字体替代** -Aspose.Slides 在 [`SaveOptions`](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/) 类下提供 [WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/) 属性,以允许您检测演示文稿到 PDF 转换过程中的字体替代。 +### **检测字体替换** -以下 C# 代码演示了如何检测字体替代: +Aspose.Slides 在[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)类下提供了[WarningCallback](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/warningcallback/)属性,使您能够在演示文稿到 PDF 的转换过程中检测字体替换。 +下面的 C# 代码展示了如何检测字体替换: ```c# public static void Main() { - LoadOptions loadOptions = new LoadOptions(); - FontSubstSendsWarningCallback warningCallback = new FontSubstSendsWarningCallback(); - loadOptions.WarningCallback = warningCallback; + // 实例化表示 PowerPoint 或 OpenDocument 文件的 Presentation 类。 + using var presentation = new Presentation("sample.pptx"); - using (Presentation pres = new Presentation("pres.pptx", loadOptions)) - { - } + // 在 PDF 选项中设置警告回调。 + var pdfOptions = new PdfOptions(); + pdfOptions.WarningCallback = new FontSubstitutionHandler(); + + // 将演示文稿保存为 PDF。 + presentation.Save("output.pdf", SaveFormat.Pdf, pdfOptions); } -private class FontSubstSendsWarningCallback : IWarningCallback +// 警告回调的实现。 +private class FontSubstitutionHandler : IWarningCallback { public ReturnAction Warning(IWarningInfo warning) { - if (warning.WarningType == WarningType.CompatibilityIssue) - return ReturnAction.Continue; - if (warning.WarningType == WarningType.DataLoss && warning.Description.StartsWith("Font will be substituted")) { - Console.WriteLine($"字体替代警告: {warning.Description}"); + Console.WriteLine($"Font substitution warning: {warning.Description}"); } return ReturnAction.Continue; @@ -191,96 +193,131 @@ private class FontSubstSendsWarningCallback : IWarningCallback } ``` + {{% alert color="primary" %}} -有关如何获取字体替代的回调的更多信息,请参见 [获取字体替代的警告回调](https://docs.aspose.com/slides/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/)。 +有关在渲染过程中接收字体替换回调的详细信息,请参阅[获取字体替换警告回调](/slides/zh/net/getting-warning-callbacks-for-fonts-substitution-in-aspose-slides/)。 -有关字体替代的更多信息,请参见 [字体替代](https://docs.aspose.com/slides/net/font-substitution/) 文章。 +有关字体替换的更多信息,请参阅[字体替换](/slides/zh/net/font-substitution/)文章。 {{% /alert %}} -## **将选定的 PowerPoint 幻灯片转换为 PDF** - -以下 C# 代码演示了如何将 PowerPoint 演示文稿中的特定幻灯片转换为 PDF: +## **将 PowerPoint 中选定的幻灯片转换为 PDF** +下面的 C# 代码演示了如何仅将 PowerPoint 演示文稿中的特定幻灯片转换为 PDF: ```c# -// 实例化一个表示 PowerPoint 文件的 Presentation 对象 -Presentation presentation = new Presentation("PowerPoint.pptx"); +// 实例化表示 PowerPoint 或 OpenDocument 文件的 Presentation 类。 +using var presentation = new Presentation("PowerPoint.pptx"); -// 设置幻灯片位置的数组 +// 设置幻灯片编号数组。 int[] slides = { 1, 3 }; -// 将演示文稿保存为 PDF +// 将演示文稿保存为 PDF。 presentation.Save("PPTX-to-PDF.pdf", slides, SaveFormat.Pdf); ``` -## **将 PowerPoint 转换为具有自定义幻灯片大小的 PDF** -以下 C# 代码演示了如何在指定幻灯片大小时将 PowerPoint 转换为 PDF: +## **使用自定义幻灯片大小将 PowerPoint 转换为 PDF** +下面的 C# 代码演示了如何使用指定的幻灯片大小将 PowerPoint 演示文稿转换为 PDF: ```c# -// 实例化一个表示 PowerPoint 文件的 Presentation 对象 -Presentation presentation = new Presentation("SelectedSlides.pptx"); -Presentation auxPresentation = new Presentation(); +var slideWidth = 612; +var slideHeight = 792; + +// Load a PowerPoint presentation. +using var presentation = new Presentation("SelectedSlides.pptx"); -ISlide slide = presentation.Slides[0]; -auxPresentation.Slides.InsertClone(0, slide); +// Create a new presentation with an adjusted slide size. +using var resizedPresentation = new Presentation(); -// 设置幻灯片类型和大小 -auxPresentation.SlideSize.SetSize(612F, 792F,SlideSizeScaleType.EnsureFit); +// Set the custom slide size. +resizedPresentation.SlideSize.SetSize(slideWidth, slideHeight, SlideSizeScaleType.EnsureFit); -PdfOptions pdfOptions = new PdfOptions(); -INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; -options.NotesPosition = NotesPositions.BottomFull; +// Clone the first slide from the original presentation. +var slide = presentation.Slides[0]; +resizedPresentation.Slides.InsertClone(0, slide); -auxPresentation.Save("PDFnotes_out.pdf", SaveFormat.Pdf, pdfOptions); +// Save the resized presentation to a PDF with notes. +resizedPresentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf); ``` -## **以讲义幻灯片视图将 PowerPoint 转换为 PDF** -以下 C# 代码演示了如何将 PowerPoint 转换为 PDF 讲义: +## **在笔记幻灯片视图中将 PowerPoint 转换为 PDF** +下面的 C# 代码演示了如何将 PowerPoint 演示文稿转换为包含笔记的 PDF: ```c# -// 实例化一个表示 PowerPoint 文件的 Presentation 类 -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// 加载 PowerPoint 演示文稿。 +using var presentation = new Presentation("NotesFile.pptx"); + +// 使用备注布局配置 PDF 选项。 +var pdfOptions = new PdfOptions { - PdfOptions pdfOptions = new PdfOptions(); - INotesCommentsLayoutingOptions options = pdfOptions.NotesCommentsLayouting; - options.NotesPosition = NotesPositions.BottomFull; + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + } +}; - // 将演示文稿保存为 PDF 讲义 - presentation.Save("Pdf_Notes_out.tiff", SaveFormat.Pdf, pdfOptions); -} +// 将演示文稿保存为带有备注的 PDF。 +presentation.Save("PDF_with_notes.pdf", SaveFormat.Pdf, pdfOptions); ``` -## **PDF 的可访问性和合规性标准** -Aspose.Slides 允许您使用符合 [Web 内容可访问性指南 (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html) 的转换程序。您可以使用以下任何合规标准将 PowerPoint 文档导出为 PDF:**PDF/A1a**、**PDF/A1b** 和 **PDF/UA**。 +## **PDF 的可访问性和合规性标准** -以下 C# 代码演示了一次 PowerPoint 到 PDF 的转换操作,其中获取了基于不同合规标准的多个 PDF: +Aspose.Slides 允许您使用符合[Web 内容可访问性指南 (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html)的转换过程。您可以使用以下任意合规标准将 PowerPoint 文档导出为 PDF:**PDF/A1a**、**PDF/A1b** 和 **PDF/UA**。 +下面的 C# 代码演示了基于不同合规标准生成多个 PDF 的 PowerPoint 到 PDF 的转换过程: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using var presentation = new Presentation("pres.pptx"); + +presentation.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions { - pres.Save("pres-a1a-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1a - }); - - pres.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfA1b - }); - - pres.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions() - { - Compliance = PdfCompliance.PdfUa - }); -} + Compliance = PdfCompliance.PdfA1a +}); + +presentation.Save("pres-a1b-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfA1b +}); + +presentation.Save("pres-ua-compliance.pdf", SaveFormat.Pdf, new PdfOptions +{ + Compliance = PdfCompliance.PdfUa +}); ``` -{{% alert title="注意" color="warning" %}} -Aspose.Slides 对 PDF 转换操作的支持范围包括允许您转换 PDF 到最流行的文件格式。您可以进行 [PDF 到 HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/)、[PDF 到图像](https://products.aspose.com/slides/net/conversion/pdf-to-image/)、[PDF 到 JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/) 和 [PDF 到 PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/) 的转换。其他 PDF 转换操作到专业格式——[PDF 到 SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/)、[PDF 到 TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/) 和 [PDF 到 XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/)——也得到了支持。 +{{% alert title="Note" color="warning" %}} + +Aspose.Slides 支持 PDF 转换操作,允许您将 PDF 文件转换为流行的文件格式。您可以执行[PDF 转 HTML](https://products.aspose.com/slides/net/conversion/pdf-to-html/)、[PDF 转图像](https://products.aspose.com/slides/net/conversion/pdf-to-image/)、[PDF 转 JPG](https://products.aspose.com/slides/net/conversion/pdf-to-jpg/)、以及[PDF 转 PNG](https://products.aspose.com/slides/net/conversion/pdf-to-png/)转换。其他针对专业格式的 PDF 转换操作——[PDF 转 SVG](https://products.aspose.com/slides/net/conversion/pdf-to-svg/)、[PDF 转 TIFF](https://products.aspose.com/slides/net/conversion/pdf-to-tiff/)、以及[PDF 转 XML](https://products.aspose.com/slides/net/conversion/pdf-to-xml/)——也得到支持。 + +{{% /alert %}} + +## **常见问题** + +**我可以批量将多个 PowerPoint 文件转换为 PDF 吗?** + +可以,Aspose.Slides 支持将多个 PPT 或 PPTX 文件批量转换为 PDF。您可以遍历文件并以编程方式应用转换过程。 + +**是否可以为转换后的 PDF 设置密码保护?** + +当然。使用[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)类在转换过程中设置密码并定义访问权限。 + +**如何在 PDF 中包含隐藏幻灯片?** + +将[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)类的`ShowHiddenSlides`属性设置为`true`,即可在生成的 PDF 中包含隐藏幻灯片。 + +**Aspose.Slides 能否在 PDF 中保持高图像质量?** + +可以,通过在[PdfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pdfoptions/)类中设置`JpegQuality`、`SufficientResolution`等属性,您可以控制图像质量,以确保 PDF 中的图像保持高质量。 + +**Aspose.Slides 是否支持 PDF/A 合规标准?** + +是的,Aspose.Slides 允许您导出符合多种标准的 PDF,包括 PDF/A1a、PDF/A1b 和 PDF/UA,确保文档满足可访问性和归档要求。 + +## **其他资源** -{{% /alert %}} \ No newline at end of file +- [Aspose.Slides for .NET 文档](/slides/zh/net/) +- [Aspose.Slides for .NET API 参考](https://reference.aspose.com/slides/net/) +- [Aspose 免费在线转换器](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md index dbab1d3422..7a96556e40 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-png/_index.md @@ -1,5 +1,5 @@ --- -title: 将 PowerPoint 转换为 PNG 以 C# +title: 在 C# 中将 PowerPoint 转换为 PNG linktitle: 将 PowerPoint 转换为 PNG type: docs weight: 30 @@ -16,12 +16,12 @@ keywords: - C# - Csharp - Aspose.Slides for .NET -description: 在 C# 中将 PowerPoint 演示文稿转换为 PNG。 在 C# 中将 PPT 转换为 PNG。 在 C# 中将 PPTX 转换为 PNG。 在 C# 中将 ODP 转换为 PNG。 +description: 在 C# 中将 PowerPoint 演示文稿转换为 PNG。将 PPT 转换为 PNG。将 PPTX 转换为 PNG。将 ODP 转换为 PNG。 --- ## **概述** -本文解释了如何使用 C# 将 PowerPoint 演示文稿转换为 PNG 格式。 内容包括以下主题。 +本文说明如何使用 C# 将 PowerPoint 演示文稿转换为 PNG 格式。内容包括以下主题。 - [在 C# 中将 PowerPoint 转换为 PNG](#convert-powerpoint-to-png) - [在 C# 中将 PPT 转换为 PNG](#convert-powerpoint-to-png) @@ -31,7 +31,7 @@ description: 在 C# 中将 PowerPoint 演示文稿转换为 PNG。 在 C# 中将 ## **C# PowerPoint 转 PNG** -有关将 PowerPoint 转换为 PNG 的 C# 示例代码,请参见下面的部分,即 [将 PowerPoint 转换为 PNG](#convert-powerpoint-to-png)。 代码可以在 Presentation 对象中加载多种格式,如 PPT、PPTX 和 ODP,然后将其幻灯片缩略图保存为 PNG 格式。 其他类似的 PowerPoint 转图像转换,如 JPG、BMP、TIFF 和 SVG,已在这些文章中讨论。 +有关将 PowerPoint 转换为 PNG 的 C# 示例代码,请参阅下文章节,即 [在 C# 中将 PowerPoint 转换为 PNG](#convert-powerpoint-to-png)。代码可以在 Presentation 对象中加载 PPT、PPTX、ODP 等多种格式,然后将幻灯片缩略图保存为 PNG 格式。其他类似的 PowerPoint 转图像转换(如 JPG、BMP、TIFF、SVG)请参阅以下文章。 - [C# PowerPoint 转 JPG](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) - [C# PowerPoint 转 BMP](https://docs.aspose.com/slides/net/convert-powerpoint-to-jpg/) @@ -40,23 +40,22 @@ description: 在 C# 中将 PowerPoint 演示文稿转换为 PNG。 在 C# 中将 ## **关于 PowerPoint 转 PNG 转换** -PNG(可移植网络图形)格式不如 JPEG(联合图像专家组)流行,但仍然非常流行。 +PNG(Portable Network Graphics)格式虽然没有 JPEG(Joint Photographic Experts Group)那么流行,但依然非常常用。 -**用例:** 当您有一个复杂的图像而且大小不是问题时,PNG 是比 JPEG 更好的图像格式。 +**使用场景:** 当图像较为复杂且对文件大小没有严格要求时,PNG 是比 JPEG 更合适的图像格式。 -{{% alert title="提示" color="primary" %}} 您可能希望查看 Aspose 免费的 **PowerPoint 转 PNG 转换器**: [PPTX 转 PNG](https://products.aspose.app/slides/conversion/pptx-to-png) 和 [PPT 转 PNG](https://products.aspose.app/slides/conversion/ppt-to-png)。 它们是本文所描述过程的实时实现。 {{% /alert %}} +{{% alert title="Tip" color="primary" %}}您可以尝试 Aspose 免费的 **PowerPoint 转 PNG 转换工具**:[PPTX to PNG](https://products.aspose.app/slides/conversion/pptx-to-png) 和 [PPT to PNG](https://products.aspose.app/slides/conversion/ppt-to-png)。它们是本文所述流程的实时实现。{{% /alert %}} ## **将 PowerPoint 转换为 PNG** -请按照以下步骤操作: +请按以下步骤操作: 1. 实例化 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类。 -2. 从 [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) 集合中获取 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) 接口的幻灯片对象。 -3. 使用 [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/) 方法获取每个幻灯片的缩略图。 -4. 使用 [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) 方法将幻灯片缩略图保存为 PNG 格式。 - -这段 C# 代码演示了如何将 PowerPoint 演示文稿转换为 PNG。 Presentation 对象可以加载 PPT、PPTX、ODP 等,然后将演示文稿对象中的每个幻灯片转换为 PNG 格式或其他图像格式。 +2. 从 [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) 集合中获取 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) 接口对应的幻灯片对象。 +3. 使用 [ISlide.GetImage](https://reference.aspose.com/slides/net/aspose.slides/islide/getimage/) 方法获取每张幻灯片的缩略图。 +4. 使用 [IPresentation.Save(String, SaveFormat, ISaveOptions](https://reference.aspose.com/slides/net/aspose.slides.ipresentation/save/methods/5) 方法将幻灯片缩略图保存为 PNG 格式。 +下面的 C# 代码演示了如何将 PowerPoint 演示文稿转换为 PNG。Presentation 对象可以加载 PPT、PPTX、ODP 等格式,然后将演示文稿中的每张幻灯片转换为 PNG 或其他图像格式。 ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -72,12 +71,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## **以自定义尺寸转换 PowerPoint 为 PNG** -如果您想获得特定比例的 PNG 文件,可以设置 `desiredX` 和 `desiredY` 的值,这决定了生成缩略图的尺寸。 +## **使用自定义比例将 PowerPoint 转换为 PNG** -这段 C# 代码演示了所述操作: +如果希望生成特定比例的 PNG 文件,可以设置 `desiredX` 和 `desiredY` 的值,以决定生成缩略图的尺寸。 +下面的 C# 代码演示了上述操作: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -95,12 +94,12 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## **以自定义大小转换 PowerPoint 为 PNG** -如果您想获得特定大小的 PNG 文件,可以为 `imageSize` 传递您首选的 `width` 和 `height` 参数。 +## **使用自定义尺寸将 PowerPoint 转换为 PNG** -这段代码演示了如何在指定图像大小的情况下将 PowerPoint 转换为 PNG: +如果希望生成特定尺寸的 PNG 文件,可以为 `imageSize` 传入期望的 `width` 和 `height` 参数。 +下面的代码展示了如何在指定图像尺寸的情况下将 PowerPoint 转换为 PNG: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -115,4 +114,19 @@ using (Presentation pres = new Presentation("pres.pptx")) } } } -``` \ No newline at end of file +``` + + +## **常见问答** + +**如何仅导出特定形状(例如图表或图片)而不是整张幻灯片?** + +Aspose.Slides 支持[为单个形状生成缩略图](/slides/zh/net/create-shape-thumbnails/),可以将形状渲染为 PNG 图像。 + +**服务器上是否支持并行转换?** + +可以,但请[不要在多个线程之间共享](/slides/zh/net/multithreading/)同一个 Presentation 实例。每个线程或进程应使用单独的实例。 + +**导出为 PNG 时试用版有哪些限制?** + +评估模式会在输出图像上添加水印,并在应用许可证之前强制执行[其他限制](/slides/zh/net/licensing/)。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md index 6dc425f69c..bd9aa1e546 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-swf-flash/_index.md @@ -3,25 +3,47 @@ title: 将 PowerPoint 转换为 SWF Flash type: docs weight: 80 url: /zh/net/convert-powerpoint-to-swf-flash/ -keywords: "转换 PowerPoint, 演示文稿, PowerPoint 到 SWF, SWF flash PPT 到 SWF, PPTX 到 SWF, C#, Csharp, .NET" +keywords: "转换 PowerPoint, 演示文稿, PowerPoint 转 SWF, SWF flash PPT 转 SWF, PPTX 转 SWF, C#, Csharp, .NET" description: "在 C# 或 .NET 中将 PowerPoint 演示文稿转换为 SWF Flash" --- -由 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类暴露的 [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) 方法可用于将整个演示文稿转换为 SWF 文档。您还可以通过使用 [SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions) 类和 [INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions) 接口在生成的 SWF 中包含注释。以下示例演示了如何使用 SWFOptions 类提供的选项将演示文稿转换为 SWF 文档。 +## **将演示文稿转换为Flash** + +由[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类公开的[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)方法可用于将整个演示文稿转换为SWF文档。您还可以通过使用[SWFOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions)类和[INotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/inotescommentslayoutingoptions)接口在生成的SWF中包含批注。以下示例展示了如何使用SWFOptions类提供的选项将演示文稿转换为SWF文档。 ```c# -// 实例化表示演示文稿文件的 Presentation 对象 +// 实例化一个表示演示文件的 Presentation 对象 using (Presentation presentation = new Presentation("HelloWorld.pptx")) { SwfOptions swfOptions = new SwfOptions(); swfOptions.ViewerIncluded = false; + INotesCommentsLayoutingOptions notesOptions = swfOptions.NotesCommentsLayouting; notesOptions.NotesPosition = NotesPositions.BottomFull; - // 保存演示文稿和注释页面 + // 保存演示文稿和笔记页面 presentation.Save("SaveAsSwf_out.swf", SaveFormat.Swf, swfOptions); swfOptions.ViewerIncluded = true; presentation.Save("SaveNotes_out.swf", SaveFormat.Swf, swfOptions); } -``` \ No newline at end of file +``` + + +## **常见问题** + +**我可以在SWF中包含隐藏幻灯片吗?** + +可以。请在[SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/)中启用[ShowHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/showhiddenslides/)选项。默认情况下,隐藏的幻灯片不会被导出。 + +**如何控制压缩以及最终的SWF大小?** + +使用[Compressed](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/compressed/)标志(默认已启用)并调整[JpegQuality](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/jpegquality/)以在文件大小和图像保真度之间取得平衡。 + +**‘ViewerIncluded’ 是什么用途,何时应禁用它?** + +[ViewerIncluded](https://reference.aspose.com/slides/net/aspose.slides.export/swfoptions/viewerincluded/)会添加嵌入式播放器UI(导航控件、面板、搜索)。如果您计划使用自己的播放器或需要没有UI的裸SWF框架,请禁用它。 + +**如果导出机器上缺少源字体会怎样?** + +Aspose.Slides将在[SwfOptions](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/)中使用您通过[DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/)指定的字体进行替换,以避免意外的回退。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md index 960d804dc5..d25b85ef07 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff-with-notes/_index.md @@ -1,25 +1,92 @@ --- -title: 将 PowerPoint 转换为 TIFF,并包含备注 +title: 将 PowerPoint 转换为带备注的 TIFF(C#) +linktitle: PowerPoint 转 TIFF 带备注 type: docs weight: 100 url: /zh/net/convert-powerpoint-to-tiff-with-notes/ -keywords: "将 PowerPoint 转换为包含备注的 TIFF" -description: "在 Aspose.Slides 中将 PowerPoint 转换为包含备注的 TIFF。" +keywords: +- 转换 PowerPoint 为 TIFF +- 将演示文稿转换为 TIFF +- 将幻灯片转换为 TIFF +- 将 PPT 转换为 TIFF +- 将 PPTX 转换为 TIFF +- 将 ODP 转换为 TIFF +- PowerPoint 转 TIFF +- 演示文稿转 TIFF +- 幻灯片转 TIFF +- PPT 转 TIFF +- PPTX 转 TIFF +- ODP 转 TIFF +- 带备注的 PowerPoint +- 带备注的演示文稿 +- 带备注的幻灯片 +- 带备注的 PPT +- 带备注的 PPTX +- 带备注的 ODP +- 带备注的 TIFF +- C# +- .NET +- Aspose.Slides +description: "使用 Aspose.Slides for .NET 将 PowerPoint 和 OpenDocument 演示文稿转换为带备注的 TIFF。了解如何高效导出带演讲者备注的幻灯片。" --- -{{% alert title="提示" color="primary" %}} +## **概述** -您可能想查看 Aspose [免费的 PowerPoint 到海报转换器](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online)。 +Aspose.Slides for .NET 提供了一个简单的解决方案,用于将带有备注的 PowerPoint 和 OpenDocument 演示文稿(PPT、PPTX 和 ODP)转换为 TIFF 格式。该格式广泛用于高质量图像存储、打印和文档归档。使用 Aspose.Slides,您不仅可以导出带有演讲者备注的完整演示文稿,还可以在备注幻灯片视图中生成幻灯片缩略图。转换过程简单高效,利用 `Save` 方法的 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类将整个演示文稿转换为一系列 TIFF 图像,同时保留备注和布局。 -{{% /alert %}} +## **将演示文稿转换为带备注的 TIFF** + +使用 Aspose.Slides for .NET 将 PowerPoint 或 OpenDocument 演示文稿保存为带备注的 TIFF 包括以下步骤: + +1. 实例化 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类:加载 PowerPoint 或 OpenDocument 文件。 +1. 配置输出布局选项:使用 [NotesCommentsLayoutingOptions](https://reference.aspose.com/slides/net/aspose.slides.export/notescommentslayoutingoptions/) 类指定备注和评论的显示方式。 +1. 将演示文稿保存为 TIFF:将配置好的选项传递给 [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) 方法。 -TIFF 是 Aspose.Slides for .NET 支持的几种广泛使用的图像格式之一,可以将带有备注的 PowerPoint PPT 和 PPTX 演示文稿转换为图像。您还可以在备注幻灯片视图中生成幻灯片缩略图。Presentation 类公开的 [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) 方法可以用于将整份演示文稿以备注幻灯片视图转换为 TIFF。使用 Aspose.Slides for .NET 将 Microsoft PowerPoint 演示文稿保存为 TIFF 备注只需两行代码。您只需打开演示文稿并将其保存为 TIFF 备注。您还可以为单个幻灯片在备注幻灯片视图中生成幻灯片缩略图。以下代码片段更新示例演示文稿为备注幻灯片视图中的 TIFF 图像,如下所示: +假设我们有一个 "speaker_notes.pptx" 文件,其中包含以下幻灯片: +![演示文稿幻灯片(带演讲者备注)](slide_with_notes.png) + +下面的代码片段演示了如何使用 [SlidesLayoutOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/slideslayoutoptions/) 属性在备注幻灯片视图中将演示文稿转换为 TIFF 图像。 ```c# -// 实例化一个表示演示文稿文件的 Presentation 对象 -using (Presentation presentation = new Presentation("NotesFile.pptx")) +// 实例化表示演示文稿文件的 Presentation 类。 +using (Presentation presentation = new Presentation("speaker_notes.pptx")) { - // 将演示文稿保存为 TIFF 备注 - presentation.Save("Notes_In_Tiff_out.tiff", SaveFormat.Tiff); + // 配置带备注布局的 TIFF 选项。 + TiffOptions tiffOptions = new TiffOptions + { + DpiX = 300, + DpiY = 300, + + SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull // 在幻灯片下方显示备注。 + } + }; + + // 将演示文稿连同演讲者备注保存为 TIFF。 + presentation.Save("TIFF_with_notes.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +结果: + +![带演讲者备注的 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/net/aspose.slides.export/tiffoptions/slideslayoutoptions/) 在 `None`、`BottomTruncated` 或 `BottomFull` 等选项之间进行选择,分别可隐藏备注、将其压缩到单页,或允许其分页显示。 + +**如何在不明显降低质量的情况下减小带备注的 TIFF 文件大小?** + +选择高效的压缩方式,例如 `LZW` 或 `RLE`,设置合理的 DPI,并在可接受的情况下使用更低的 [pixel format](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/)(如 8 bpp 或单色 1 bpp)。适度缩小 [image dimensions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) 也能在不明显影响可读性的前提下进一步减小文件体积。 + +**如果系统中缺少原始字体,备注中的字体会影响结果吗?** + +会。缺失的字体会触发 [substitution](/slides/zh/net/font-selection-sequence/),可能改变文本度量和外观。为避免此问题,请 [提供所需字体](/slides/zh/net/custom-font/) 或设置默认的 [fallback font](/slides/zh/net/fallback-font/),以确保使用预期的字体。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md index 3de5cdc0c8..4e0c3985c4 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-tiff/_index.md @@ -1,120 +1,159 @@ --- -title: 将 PowerPoint 转换为 TIFF +title: 将 PowerPoint 演示文稿转换为 C# 中的 TIFF +titlelink: PowerPoint 到 TIFF type: docs weight: 90 url: /zh/net/convert-powerpoint-to-tiff/ -keywords: "将 PowerPoint 演示文稿转换为 TIFF, PowerPoint 转 TIFF, PPT 转 TIFF, PPTX 转 TIFF, C#, Csharp, .NET, Aspose.Slides" -description: "在 C# 或 .NET 中将 PowerPoint 演示文稿转换为 TIFF。" - +keywords: +- 转换 PowerPoint +- 转换 OpenDocument +- 转换 演示文稿 +- 转换 幻灯片 +- PowerPoint 转 TIFF +- OpenDocument 转 TIFF +- 演示文稿 转 TIFF +- 幻灯片 转 TIFF +- PPT 转 TIFF +- PPTX 转 TIFF +- ODP 转 TIFF +- C# +- .NET +- Aspose.Slides +description: "了解如何使用 Aspose.Slides for .NET 轻松将 PowerPoint(PPT、PPTX)和 OpenDocument(ODP)演示文稿转换为高质量的 TIFF 图像。提供带代码示例的分步指南。" --- -TIFF (**标签图像文件格式**) 是一种无损光栅图像格式,具有高质量。专业人士使用 TIFF 进行设计、摄影和桌面出版。例如,如果您想保留设计或图像中的图层和设置,可以将您的工作保存为 TIFF 图像文件。 - -Aspose.Slides 允许您直接将 PowerPoint 中的幻灯片转换为 TIFF。 - -{{% alert title="提示" color="primary" %}} +## **概述** -您可能想查看 Aspose 的 [免费 PowerPoint 转海报转换器](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online)。 +TIFF (**Tagged Image File Format**) 是一种广泛使用的无损光栅图像格式,以其卓越的质量和对图形细节的保留而闻名。设计师、摄影师和桌面出版人员通常选择 TIFF 来保持图层、颜色准确性和图像的原始设置。 -{{% /alert %}} - -## **将 PowerPoint 转换为 TIFF** +使用 Aspose.Slides,您可以轻松地将 PowerPoint 幻灯片(PPT、PPTX)和 OpenDocument 幻灯片(ODP)直接转换为高质量的 TIFF 图像,确保您的演示文稿保留最高的视觉保真度。 -使用 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类提供的 [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) 方法,您可以快速将整个 PowerPoint 演示文稿转换为 TIFF。生成的 TIFF 图像对应于幻灯片的默认大小。 +## **将演示文稿转换为 TIFF** -以下 C# 代码演示如何将 PowerPoint 转换为 TIFF: +使用由 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类提供的 [Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) 方法,您可以快速将整个 PowerPoint 演示文稿转换为 TIFF。生成的 TIFF 图像对应默认的幻灯片尺寸。 -```c# -// 实例化表示演示文稿文件的 Presentation 对象 -using (Presentation presentation = new Presentation("DemoFile.pptx")) +下面的 C# 代码演示了如何将 PowerPoint 演示文稿转换为 TIFF: +```cs +// 实例化表示演示文稿文件(PPT、PPTX、ODP 等)的 Presentation 类。 +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - // 将演示文稿保存为 TIFF - presentation.Save("Tiffoutput_out.tiff", SaveFormat.Tiff); + // 将演示文稿保存为 TIFF。 + presentation.Save("Output.tiff", SaveFormat.Tiff); } ``` -## **将 PowerPoint 转换为黑白 TIFF** -在 Aspose.Slides 23.10 中,Aspose.Slides 添加了新的属性 ([BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/)) 到 [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) 类,以允许您指定将彩色幻灯片或图像转换为黑白 TIFF 时遵循的算法。请注意,此设置仅在 [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) 属性设置为 `CCITT4` 或 `CCITT3` 时应用。 +## **将演示文稿转换为黑白 TIFF** + +[TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) 类中的属性 [BwConversionMode](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/bwconversionmode/) 允许您指定在将彩色幻灯片或图像转换为黑白 TIFF 时使用的算法。请注意,此设置仅在 [CompressionType](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/compressiontype/) 属性设置为 `CCITT4` 或 `CCITT3` 时适用。 -以下 C# 代码演示如何将彩色幻灯片或图像转换为黑白 TIFF: +假设我们有一个名为 "sample.pptx" 的文件,包含以下幻灯片: -```c# -var tiffOptions = new TiffOptions +![演示文稿幻灯片](slide_black_and_white.png) + +下面的 C# 代码演示了如何将彩色幻灯片转换为黑白 TIFF: +```cs +TiffOptions tiffOptions = new TiffOptions { CompressionType = TiffCompressionTypes.CCITT4, BwConversionMode = BlackWhiteConversionMode.Dithering }; -using var presentation = new Presentation("sample.pptx"); -presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +using (Presentation presentation = new Presentation("sample.pptx")) +{ + presentation.Save("output.tiff", SaveFormat.Tiff, tiffOptions); +} ``` -## **将 PowerPoint 转换为自定义尺寸的 TIFF** -如果您需要具有特定尺寸的 TIFF 图像,可以通过 [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) 中提供的属性定义您喜欢的尺寸。使用 [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) 属性,您可以为生成的图像设置大小。 +结果如下: -以下 C# 代码演示如何将 PowerPoint 转换为具有自定义大小的 TIFF 图像: +![黑白 TIFF](TIFF_black_and_white.png) -```c# -// 实例化表示演示文稿文件的 Presentation 对象 -using (Presentation pres = new Presentation("Convert_Tiff_Custom.pptx")) -{ - // 实例化 TiffOptions 类 - TiffOptions opts = new TiffOptions(); +## **将演示文稿转换为自定义尺寸的 TIFF** - // 设置压缩类型 - opts.CompressionType = TiffCompressionTypes.Default; +如果您需要具有特定尺寸的 TIFF 图像,可以使用 [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/) 中提供的属性设置所需的值。例如,属性 [ImageSize](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/imagesize/) 允许您定义生成图像的尺寸。 - INotesCommentsLayoutingOptions notesOptions = opts.NotesCommentsLayouting; - notesOptions.NotesPosition = NotesPositions.BottomFull; - // 压缩类型 +下面的 C# 代码演示了如何将 PowerPoint 演示文稿转换为具有自定义尺寸的 TIFF 图像: +```cs +// 实例化表示演示文稿文件(PPT、PPTX、ODP 等)的 Presentation 类。 +using (Presentation presentation = new Presentation("sample.pptx")) +{ + TiffOptions tiffOptions = new TiffOptions(); + + // 设置压缩类型。 + tiffOptions.CompressionType = TiffCompressionTypes.Default; + /* + 压缩类型: + Default - 指定默认压缩方案(LZW)。 + None - 指定无压缩。 + CCITT3 + CCITT4 + LZW + RLE + */ - // 默认 - 指定默认压缩方案 (LZW)。 - // 无 - 指定无压缩。 - // CCITT3 - // CCITT4 - // LZW - // RLE + // 深度取决于压缩类型,不能手动设置。 - // 深度取决于压缩类型,无法手动设置。 - // 分辨率单位始终等于“2”(每英寸点数) + // 设置图像 DPI。 + tiffOptions.DpiX = 200; + tiffOptions.DpiY = 200; - // 设置图像 DPI - opts.DpiX = 200; - opts.DpiY = 100; + // 设置图像尺寸。 + tiffOptions.ImageSize = new Size(1728, 1078); - // 设置图像大小 - opts.ImageSize = new Size(1728, 1078); + tiffOptions.SlidesLayoutOptions = new NotesCommentsLayoutingOptions + { + NotesPosition = NotesPositions.BottomFull + }; - // 以指定大小将演示文稿保存为 TIFF - pres.Save("TiffWithCustomSize_out.tiff", SaveFormat.Tiff, opts); + // 以指定尺寸将演示文稿保存为 TIFF。 + presentation.Save("custom_size.tiff", SaveFormat.Tiff, tiffOptions); } ``` -## **将 PowerPoint 转换为自定义图像像素格式的 TIFF** -使用 [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions) 类中的 [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) 属性,您可以为生成的 TIFF 图像指定您喜欢的像素格式。 +## **将演示文稿转换为自定义像素格式的 TIFF** -以下 C# 代码演示如何将 PowerPoint 转换为具有自定义像素格式的 TIFF 图像: +使用 [TiffOptions](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions) 类中的 [PixelFormat](https://reference.aspose.com/slides/net/aspose.slides.export/tiffoptions/pixelformat/) 属性,您可以为生成的 TIFF 图像指定所需的像素格式。 -```c# -// 实例化表示演示文稿文件的 Presentation 对象 -using (Presentation presentation = new Presentation("DemoFile.pptx")) +下面的 C# 代码演示了如何将 PowerPoint 演示文稿转换为具有自定义像素格式的 TIFF 图像: +```cs +// 实例化表示演示文稿文件(PPT、PPTX、ODP 等)的 Presentation 类。 +using (Presentation presentation = new Presentation("Demo_File.pptx")) { - TiffOptions options = new TiffOptions(); + TiffOptions tiffOptions = new TiffOptions(); - options.PixelFormat = ImagePixelFormat.Format8bppIndexed; + tiffOptions.PixelFormat = ImagePixelFormat.Format8bppIndexed; /* - ImagePixelFormat 包含以下值(如文档中所述): - Format1bppIndexed; // 每像素1位,索引化。 - Format4bppIndexed; // 每像素4位,索引化。 - Format8bppIndexed; // 每像素8位,索引化。 - Format24bppRgb; // 每像素24位,RGB。 - Format32bppArgb; // 每像素32位,ARGB。 + ImagePixelFormat 包含以下值(如文档所述): + Format1bppIndexed - 1 位每像素,索引。 + Format4bppIndexed - 4 位每像素,索引。 + Format8bppIndexed - 8 位每像素,索引。 + Format24bppRgb - 24 位每像素,RGB。 + Format32bppArgb - 32 位每像素,ARGB。 */ - // 以指定图像大小将演示文稿保存为 TIFF - presentation.Save("Tiff_With_Custom_Image_Pixel_Format_out.tiff", SaveFormat.Tiff, options); + // 将演示文稿保存为 TIFF,使用指定的图像尺寸。 + presentation.Save("Custom_Image_Pixel_Format.tiff", SaveFormat.Tiff, tiffOptions); } -``` \ No newline at end of file +``` + + +{{% alert title="Tip" color="primary" %}} +查看 Aspose 的 [免费 PowerPoint 到海报转换器](https://products.aspose.app/slides/conversion/convert-ppt-to-poster-online)。 +{{% /alert %}} + +## **常见问题** + +**我可以将单个幻灯片而不是整个 PowerPoint 演示文稿转换为 TIFF 吗?** + +是的。Aspose.Slides 允许您将 PowerPoint 和 OpenDocument 演示文稿中的单个幻灯片分别转换为 TIFF 图像。 + +**将演示文稿转换为 TIFF 时,幻灯片数量是否有限制?** + +不,Aspose.Slides 对幻灯片数量没有任何限制。您可以将任何规模的演示文稿转换为 TIFF 格式。 + +**将幻灯片转换为 TIFF 时,PowerPoint 动画和过渡效果会被保留吗?** + +不,TIFF 是一种静态图像格式。因此,动画和过渡效果不会被保留;仅导出幻灯片的静态快照。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md index 22b701be1a..44bdc64a8d 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-video/_index.md @@ -1,60 +1,100 @@ --- -title: 将 PowerPoint 转换为视频 +title: 使用 C# 将 PowerPoint 演示文稿转换为视频 +linktitle: PowerPoint 转视频 type: docs weight: 130 url: /zh/net/convert-powerpoint-to-video/ -keywords: "将 PowerPoint 转换为视频, PPT, PPTX, 演示文稿, 视频, MP4, PPT 转换为视频, PPT 转换为 MP4, C#, Csharp, .NET, Aspose.Slides" -description: "在 C# 或 .NET 中将 PowerPoint 转换为视频" +keywords: +- PowerPoint 转视频 +- 将 PowerPoint 转换为视频 +- 演示文稿转视频 +- 将演示文稿转换为视频 +- PPT 转视频 +- 将 PPT 转换为视频 +- PPTX 转视频 +- 将 PPTX 转换为视频 +- ODP 转视频 +- 将 ODP 转换为视频 +- PowerPoint 转 MP4 +- 将 PowerPoint 转换为 MP4 +- 演示文稿转 MP4 +- 将演示文稿转换为 MP4 +- PPT 转 MP4 +- 将 PPT 转换为 MP4 +- PPTX 转 MP4 +- 将 PPTX 转换为 MP4 +- PowerPoint 转视频转换 +- 演示文稿转视频转换 +- PPT 转视频转换 +- PPTX 转视频转换 +- ODP 转视频转换 +- C# 视频转换 +- PowerPoint +- .NET +- C# +- Aspose.Slides +description: "了解如何使用 C# 将 PowerPoint 和 OpenDocument 演示文稿转换为视频。探索示例代码和自动化技巧,以简化工作流。" --- -通过将您的 PowerPoint 演示文稿转换为视频,您可以获得 +## **概述** -* **提高可及性:** 所有设备(无论平台如何)默认都配备视频播放器,而不是演示文稿打开应用程序,因此用户更容易打开或播放视频。 -* **更广泛的覆盖:** 通过视频,您可以接触到大型观众,并针对他们提供可能在演示中显得乏味的信息。大多数调查和统计数据表明,人们观看和消费视频的频率高于其他内容形式,并且通常更喜欢此类内容。 +通过将 PowerPoint 或 OpenDocument 演示文稿转换为视频,您可以获得: + +**提升可访问性:** 所有设备默认都配备视频播放器,无论平台如何,相比传统演示应用,用户打开或播放视频更为便捷。 + +**更广的受众:** 视频让您能够触及更大观众,并以更具吸引力的形式呈现信息。调查与统计显示,人们更倾向于观看和消费视频内容,使您的信息更具冲击力。 {{% alert color="primary" %}} -您可能希望查看我们的 [**在线 PowerPoint 转视频转换器**](https://products.aspose.app/slides/conversion/ppt-to-word),因为它是对这里描述的过程的有效实时实现。 +查看我们的[**PowerPoint 转视频在线转换器**](https://products.aspose.app/slides/video),它提供了本文所述过程的实时有效实现。 {{% /alert %}} -## **在 Aspose.Slides 中将 PowerPoint 转换为视频** - -在 [Aspose.Slides 22.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-22-11-release-notes/) 中,我们实现了支持演示文稿转视频的功能。 +在 Aspose.Slides for .NET 中,我们实现了将演示文稿转换为视频的支持。 -* 使用 Aspose.Slides 生成一组帧(来自演示文稿幻灯片),以对应特定的 FPS(每秒帧数) -* 使用第三方工具,如 FFMpegCore (ffmpeg),根据帧创建视频。 +* 使用 Aspose.Slides for .NET 按指定帧率(FPS)从演示幻灯片生成帧。 +* 然后,使用第三方实用程序如 ffmpeg 将这些帧合成为视频。 -### **将 PowerPoint 转换为视频** +## **将 PowerPoint 演示文稿转换为视频** -1. 使用 dotnet 添加包命令将 Aspose.Slides 和 FFMpegCore 库添加到您的项目中: +1. 使用 `dotnet add package` 命令将 Aspose.Slides 和 FFMpegCore 库添加到项目中: * 运行 `dotnet add package Aspose.Slides.NET --version 22.11.0` * 运行 `dotnet add package FFMpegCore --version 4.8.0` -2. 在 [这里](https://ffmpeg.org/download.html) 下载 ffmpeg。 -3. FFMpegCore 需要您指定下载的 ffmpeg 的路径(例如,解压到 "C:\tools\ffmpeg"):`GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin",} );` -4. 运行将 PowerPoint 转换为视频的代码。 +2. 从[此处](https://ffmpeg.org/download.html)下载 ffmpeg。 +3. FFMpegCore 需要您指定下载的 ffmpeg 的路径(例如,解压到 “C:\tools\ffmpeg”): +```cs + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); +``` -这个 C# 代码片段展示了如何将包含图像和两个动画效果的演示文稿转换为视频: +4. 运行 PowerPoint 转视频的转换代码。 +下面的 C# 代码演示了如何将包含形状和两个动画效果的演示文稿转换为视频: ```c# using System.Collections.Generic; using Aspose.Slides; -using FFMpegCore; // 将使用我们之前提取到 "c:\tools\ffmpeg" 的 FFmpeg 二进制文件 +using FFMpegCore; // 将使用我们之前提取到 C:\tools\ffmpeg 的 FFmpeg 二进制文件。 using Aspose.Slides.Animation; -using (Presentation presentation = new Presentation()) +using (Presentation presentation = new Presentation()) { - // 添加一个笑脸形状并给它添加动画效果 - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // 添加一个笑脸形状并对其进行动画。 + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; - const int Fps = 33; - List frames = new List(); + const int Fps = 33; + List frames = new List(); - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) { player.FrameTick += (sender, args) => @@ -67,45 +107,42 @@ using (Presentation presentation = new Presentation()) } // 配置 ffmpeg 二进制文件夹。请参阅此页面: https://github.com/rosenbjerg/FFMpegCore#installation - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // 将帧转换为 webm 视频 - FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); + // 将帧转换为 webm 视频。 + FFMpeg.JoinImageSequence("smile.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); } ``` + ## **视频效果** -您可以对幻灯片上的对象应用动画并在幻灯片之间使用过渡。 +在使用 Aspose.Slides for .NET 将 PowerPoint 演示文稿转换为视频时,您可以应用各种视频效果以提升输出的视觉质量。这些效果通过添加平滑过渡、动画和其他视觉元素,让您能够控制最终视频中幻灯片的呈现方式。本节说明可用的视频效果选项并展示如何使用它们。 {{% alert color="primary" %}} -您可能想查看这些文章:[PowerPoint 动画](https://docs.aspose.com/slides/net/powerpoint-animation/)、[形状动画](https://docs.aspose.com/slides/net/shape-animation/) 和 [形状效果](https://docs.aspose.com/slides/net/shape-effect/)。 +请参阅: +- [在 C# 中使用动画增强 PowerPoint 演示文稿](https://docs.aspose.com/slides/net/powerpoint-animation/) +- [形状动画](https://docs.aspose.com/slides/net/shape-animation/) +- [在 PowerPoint 中使用 C# 应用形状效果](https://docs.aspose.com/slides/net/shape-effect/) {{% /alert %}} -动画和过渡使幻灯片放映更加引人入胜和有趣——它们对视频也有同样的效果。让我们为先前的演示文稿添加另一张幻灯片和过渡代码: - +动画和过渡使幻灯片放映更具吸引力,视频亦是如此。让我们为前面示例的演示文稿添加另一张幻灯片和过渡效果: ```c# -// 添加一个笑脸形状并给它添加动画效果 - -// ... - -// 添加一张新的幻灯片并做动画过渡 - -ISlide newSlide = presentation.Slides.AddEmptySlide(presentation.Slides[0].LayoutSlide); - -newSlide.Background.Type = BackgroundType.OwnBackground; - -newSlide.Background.FillFormat.FillType = FillType.Solid; - -newSlide.Background.FillFormat.SolidFillColor.Color = Color.Indigo; - -newSlide.SlideShowTransition.Type = TransitionType.Push; + // 添加一个笑脸形状并对其进行动画。 + // ... + + // 添加一个新幻灯片并设置动画过渡。 + ISlide newSlide = presentation.Slides.AddEmptySlide(presentation.Slides[0].LayoutSlide); + newSlide.Background.Type = BackgroundType.OwnBackground; + newSlide.Background.FillFormat.FillType = FillType.Solid; + newSlide.Background.FillFormat.SolidFillColor.Color = Color.Indigo; + newSlide.SlideShowTransition.Type = TransitionType.Push; ``` -Aspose.Slides 还支持文本的动画。因此,我们对对象上的段落进行动画处理,使其逐个出现(延迟设置为一秒): +Aspose.Slides 还支持文本动画。在本例中,我们对对象上的段落进行动画,使它们依次出现,每个段落之间有一秒的延迟: ```c# using System.Collections.Generic; using Aspose.Slides.Export; @@ -115,41 +152,44 @@ using Aspose.Slides.Animation; using (Presentation presentation = new Presentation()) { - // 添加文本和动画 - IAutoShape autoShape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); + ISlide slide = presentation.Slides[0]; + + // 添加文本和动画。 + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 210, 120, 300, 300); Paragraph para1 = new Paragraph(); para1.Portions.Add(new Portion("Aspose Slides for .NET")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("将 PowerPoint 演示文稿中的文本转换为视频")); + para2.Portions.Add(new Portion("Convert a PowerPoint presentation with text to video")); Paragraph para3 = new Paragraph(); - para3.Portions.Add(new Portion("逐段出现")); + para3.Portions.Add(new Portion("paragraph by paragraph")); autoShape.TextFrame.Paragraphs.Add(para1); autoShape.TextFrame.Paragraphs.Add(para2); autoShape.TextFrame.Paragraphs.Add(para3); autoShape.TextFrame.Paragraphs.Add(new Paragraph()); - IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect1 = slide.Timeline.MainSequence.AddEffect( + para1, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect2 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect2 = slide.Timeline.MainSequence.AddEffect( + para2, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect3 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect3 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - IEffect effect4 = presentation.Slides[0].Timeline.MainSequence.AddEffect(para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + IEffect effect4 = slide.Timeline.MainSequence.AddEffect( + para3, EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - effect.Timing.TriggerDelayTime = 1f; + effect1.Timing.TriggerDelayTime = 1f; effect2.Timing.TriggerDelayTime = 1f; effect3.Timing.TriggerDelayTime = 1f; effect4.Timing.TriggerDelayTime = 1f; - // 将帧转换为视频 const int Fps = 33; List frames = new List(); - - using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) + using (var animationsGenerator = new PresentationAnimationsGenerator(presentation)) using (var player = new PresentationPlayer(animationsGenerator, Fps)) - { player.FrameTick += (sender, args) => { @@ -157,34 +197,42 @@ using (Presentation presentation = new Presentation()) args.GetFrame().Save(frame); frames.Add(frame); }; + animationsGenerator.Run(presentation.Slides); } + // 配置 ffmpeg 二进制文件夹。请参阅此页面: https://github.com/rosenbjerg/FFMpegCore#installation + GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin" }); - GlobalFFOptions.Configure(new FFOptions { BinaryFolder = @"c:\tools\ffmpeg\bin", }); - // 将帧转换为 webm 视频 + // 将帧转换为 webm 视频。 FFMpeg.JoinImageSequence("text_animation.webm", Fps, frames.Select(frame => ImageInfo.FromPath(frame)).ToArray()); - } ``` -## **视频转换类** -为了使您能够执行 PowerPoint 转视频的转换任务,Aspose.Slides 提供了 [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) 和 [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) 类。 +## **视频转换类** -PresentationAnimationsGenerator 允许您通过其构造函数设置后续生成的视频的帧大小。如果您传递演示文稿的实例,将使用 `Presentation.SlideSize`,并生成 [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) 使用的动画。 +为了实现 PowerPoint 到视频的转换任务,Aspose.Slides for .NET 提供了 [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) 和 [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) 类。 -当动画生成时,将为每个随后的动画生成一个 `NewAnimation` 事件,其中包含 [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/) 参数。后者是表示单个动画播放器的类。 +`PresentationAnimationsGenerator` 通过构造函数允许您设置视频的帧大小(后续将创建)以及 FPS(每秒帧数)值。如果传入演示文稿实例,它会使用其 `Presentation.SlideSize`,并生成供 [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) 使用的动画。 -要与 [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/) 交互,将使用 [Duration](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/duration/)(动画的完整持续时间)属性和 [SetTimePosition](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/settimeposition/) 方法。每个动画位置在 *0 到持续时间* 范围内设置,然后 `GetFrame` 方法将返回该时刻的动画状态对应的 Bitmap。 +当动画生成时,会为每个后续动画触发 `NewAnimation` 事件,事件包含一个 [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/) 参数。该类表示单个动画的播放器。 +要使用 [IPresentationAnimationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/ipresentationanimationplayer/),您可以通过其 `Duration` 属性(获取动画的完整持续时间)和 `SetTimePosition` 方法进行操作。每个动画位置的设定范围为 *0 到 Duration*,随后 `GetFrame` 方法返回表示该时间点动画状态的 Bitmap。 ```c# using (Presentation presentation = new Presentation()) { - // 添加一个笑脸形状并添加动画 - IAutoShape smile = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); - IEffect effectIn = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); - IEffect effectOut = presentation.Slides[0].Timeline.MainSequence.AddEffect(smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + ISlide slide = presentation.Slides[0]; + + // 添加一个笑脸形状并为其设置动画。 + IAutoShape smile = slide.Shapes.AddAutoShape(ShapeType.SmileyFace, 110, 20, 500, 500); + + IEffect effectIn = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.TopLeft, EffectTriggerType.AfterPrevious); + + IEffect effectOut = slide.Timeline.MainSequence.AddEffect( + smile, EffectType.Fly, EffectSubtype.BottomRight, EffectTriggerType.AfterPrevious); + effectIn.Timing.Duration = 2f; effectOut.PresetClassType = EffectPresetClassType.Exit; @@ -192,21 +240,21 @@ using (Presentation presentation = new Presentation()) { animationsGenerator.NewAnimation += animationPlayer => { - Console.WriteLine($"动画总持续时间: {animationPlayer.Duration}"); - - animationPlayer.SetTimePosition(0); // 初始动画状态 - Bitmap bitmap = animationPlayer.GetFrame(); // 初始动画状态位图 + Console.WriteLine($"Total animation duration: {animationPlayer.Duration}"); + + animationPlayer.SetTimePosition(0); // 初始动画状态。 + Bitmap bitmap = animationPlayer.GetFrame(); // 初始动画状态位图。 - animationPlayer.SetTimePosition(animationPlayer.Duration); // 动画的最终状态 - Bitmap lastBitmap = animationPlayer.GetFrame(); // 动画的最后一帧 + animationPlayer.SetTimePosition(animationPlayer.Duration); // 动画的最终状态。 + Bitmap lastBitmap = animationPlayer.GetFrame(); // 动画的最后一帧。 lastBitmap.Save("last.png"); }; } } ``` -要使演示文稿中的所有动画同时播放,将使用 [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) 类。该类在其构造函数中接受一个 [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) 实例和用于效果的 FPS,然后调用 `FrameTick` 事件以播放所有动画: +若希望一次播放演示文稿中的所有动画,使用 [PresentationPlayer](https://reference.aspose.com/slides/net/aspose.slides.export/presentationplayer/) 类。该类在构造函数中接受一个 [PresentationAnimationsGenerator](https://reference.aspose.com/slides/net/aspose.slides.export/presentationanimationsgenerator/) 实例和一个 FPS 值,然后为所有动画调用 `FrameTick` 事件以播放它们: ```c# using (Presentation presentation = new Presentation("animated.pptx")) { @@ -222,137 +270,154 @@ using (Presentation presentation = new Presentation("animated.pptx")) } ``` -然后可以将生成的帧编译成视频。请参阅 [将 PowerPoint 转换为视频](https://docs.aspose.com/slides/net/convert-powerpoint-to-video/#convert-powerpoint-to-video) 部分。 -## **支持的动画和效果** +随后可以将生成的帧编译为视频。请参阅 [将 PowerPoint 演示文稿转换为视频](/slides/zh/net/convert-powerpoint-to-video/#convert-a-powerpoint-presentation-to-video) 部分。 + +## **受支持的动画和效果** +在使用 Aspose.Slides for .NET 将 PowerPoint 演示文稿转换为视频时,了解输出中支持哪些动画和效果非常重要。Aspose.Slides 支持多种常见的进入、退出和强调效果,例如淡入、飞入、缩放和旋转。但某些高级或自定义动画可能无法完整保留,或在最终视频中表现不同。本节概述了受支持的动画和效果。 -**进入**: +**进入(Entrance)**: | 动画类型 | Aspose.Slides | PowerPoint | |---|---|---| -| **出现** | ![不支持](x.png) | ![支持](v.png) | -| **渐变** | ![支持](v.png) | ![支持](v.png) | -| **飞入** | ![支持](v.png) | ![支持](v.png) | -| **浮入** | ![支持](v.png) | ![支持](v.png) | -| **分裂** | ![支持](v.png) | ![支持](v.png) | -| **擦除** | ![支持](v.png) | ![支持](v.png) | -| **形状** | ![支持](v.png) | ![支持](v.png) | -| **轮子** | ![支持](v.png) | ![支持](v.png) | -| **随机条** | ![支持](v.png) | ![支持](v.png) | -| **放大并旋转** | ![不支持](x.png) | ![支持](v.png) | -| **缩放** | ![支持](v.png) | ![支持](v.png) | -| **旋转** | ![支持](v.png) | ![支持](v.png) | -| **弹跳** | ![支持](v.png) | ![支持](v.png) | - - -**强调**: +| **Appear** | ![不支持](x.png) | ![支持](v.png) | +| **Fade** | ![支持](v.png) | ![支持](v.png) | +| **Fly In** | ![支持](v.png) | ![支持](v.png) | +| **Float In** | ![支持](v.png) | ![支持](v.png) | +| **Split** | ![支持](v.png) | ![支持](v.png) | +| **Wipe** | ![支持](v.png) | ![支持](v.png) | +| **Shape** | ![支持](v.png) | ![支持](v.png) | +| **Wheel** | ![支持](v.png) | ![支持](v.png) | +| **Random Bars** | ![支持](v.png) | ![支持](v.png) | +| **Grow & Turn** | ![不支持](x.png) | ![支持](v.png) | +| **Zoom** | ![支持](v.png) | ![支持](v.png) | +| **Swivel** | ![支持](v.png) | ![支持](v.png) | +| **Bounce** | ![支持](v.png) | ![支持](v.png) | + +**强调(Emphasis)**: | 动画类型 | Aspose.Slides | PowerPoint | |---|---|---| -| **脉动** | ![不支持](x.png) | ![支持](v.png) | -| **颜色脉动** | ![不支持](x.png) | ![支持](v.png) | -| **摇摆** | ![支持](v.png) | ![支持](v.png) | -| **旋转** | ![支持](v.png) | ![支持](v.png) | -| **放大/缩小** | ![不支持](x.png) | ![支持](v.png) | -| **去饱和** | ![不支持](x.png) | ![支持](v.png) | -| **变暗** | ![不支持](x.png) | ![支持](v.png) | -| **变亮** | ![不支持](x.png) | ![支持](v.png) | -| **透明度** | ![不支持](x.png) | ![支持](v.png) | -| **对象颜色** | ![不支持](x.png) | ![支持](v.png) | -| **互补色** | ![不支持](x.png) | ![支持](v.png) | -| **线条颜色** | ![不支持](x.png) | ![支持](v.png) | -| **填充颜色** | ![不支持](x.png) | ![支持](v.png) | - -**退出**: +| **Pulse** | ![不支持](x.png) | ![支持](v.png) | +| **Color Pulse** | ![不支持](x.png) | ![支持](v.png) | +| **Teeter** | ![支持](v.png) | ![支持](v.png) | +| **Spin** | ![支持](v.png) | ![支持](v.png) | +| **Grow/Shrink** | ![不支持](x.png) | ![支持](v.png) | +| **Desaturate** | ![不支持](x.png) | ![支持](v.png) | +| **Darken** | ![不支持](x.png) | ![支持](v.png) | +| **Lighten** | ![不支持](x.png) | ![支持](v.png) | +| **Transparency** | ![不支持](x.png) | ![支持](v.png) | +| **Object Color** | ![不支持](x.png) | ![支持](v.png) | +| **Complementary Color** | ![不支持](x.png) | ![支持](v.png) | +| **Line Color** | ![不支持](x.png) | ![支持](v.png) | +| **Fill Color** | ![不支持](x.png) | ![支持](v.png) | + +**退出(Exit)**: | 动画类型 | Aspose.Slides | PowerPoint | |---|---|---| -| **消失** | ![不支持](x.png) | ![支持](v.png) | -| **渐变** | ![支持](v.png) | ![支持](v.png) | -| **飞出** | ![支持](v.png) | ![支持](v.png) | -| **浮出** | ![支持](v.png) | ![支持](v.png) | -| **分裂** | ![支持](v.png) | ![支持](v.png) | -| **擦除** | ![支持](v.png) | ![支持](v.png) | -| **形状** | ![支持](v.png) | ![支持](v.png) | -| **随机条** | ![支持](v.png) | ![支持](v.png) | -| **缩小并旋转** | ![不支持](x.png) | ![支持](v.png) | -| **缩放** | ![支持](v.png) | ![支持](v.png) | -| **旋转** | ![支持](v.png) | ![支持](v.png) | -| **弹跳** | ![支持](v.png) | ![支持](v.png) | - -**运动路径:** +| **Disappear** | ![不支持](x.png) | ![支持](v.png) | +| **Fade** | ![支持](v.png) | ![支持](v.png) | +| **Fly Out** | ![支持](v.png) | ![支持](v.png) | +| **Float Out** | ![支持](v.png) | ![支持](v.png) | +| **Split** | ![支持](v.png) | ![支持](v.png) | +| **Wipe** | ![支持](v.png) | ![支持](v.png) | +| **Shape** | ![支持](v.png) | ![支持](v.png) | +| **Random Bars** | ![支持](v.png) | ![支持](v.png) | +| **Shrink & Turn** | ![不支持](x.png) | ![支持](v.png) | +| **Zoom** | ![支持](v.png) | ![支持](v.png) | +| **Swivel** | ![支持](v.png) | ![支持](v.png) | +| **Bounce** | ![支持](v.png) | ![支持](v.png) | + +**运动路径(Motion Paths)**: | 动画类型 | Aspose.Slides | PowerPoint | |---|---|---| -| **线条** | ![支持](v.png) | ![支持](v.png) | -| **弧** | ![支持](v.png) | ![支持](v.png) | -| **转弯** | ![支持](v.png) | ![支持](v.png) | -| **形状** | ![支持](v.png) | ![支持](v.png) | -| **循环** | ![支持](v.png) | ![支持](v.png) | -| **自定义路径** | ![支持](v.png) | ![支持](v.png) | +| **Lines** | ![支持](v.png) | ![支持](v.png) | +| **Arcs** | ![支持](v.png) | ![支持](v.png) | +| **Turns** | ![支持](v.png) | ![支持](v.png) | +| **Shapes** | ![支持](v.png) | ![支持](v.png) | +| **Loops** | ![支持](v.png) | ![支持](v.png) | +| **Custom Path** | ![支持](v.png) | ![支持](v.png) | -## **支持的幻灯片过渡效果** +## **受支持的幻灯片过渡效果** -**微妙**: +幻灯片过渡效果在视频中创建平滑且视觉上悦目的幻灯片切换中起关键作用。Aspose.Slides for .NET 支持多种常用的过渡效果,以帮助在转换过程中保留原始演示的流畅性和风格。本节重点介绍转换过程中受支持的过渡效果。 + +**细腻(Subtle)**: | 动画类型 | Aspose.Slides | PowerPoint | |---|---|---| -| **变形** | ![不支持](x.png) | ![支持](v.png) | -| **渐变** | ![支持](v.png) | ![支持](v.png) | -| **推送** | ![支持](v.png) | ![支持](v.png) | -| **拉动** | ![支持](v.png) | ![支持](v.png) | -| **擦除** | ![支持](v.png) | ![支持](v.png) | -| **分裂** | ![支持](v.png) | ![支持](v.png) | -| **揭示** | ![不支持](x.png) | ![支持](v.png) | -| **随机条** | ![支持](v.png) | ![支持](v.png) | -| **形状** | ![不支持](x.png) | ![支持](v.png) | -| **揭开** | ![不支持](x.png) | ![支持](v.png) | -| **覆盖** | ![支持](v.png) | ![支持](v.png) | -| **闪烁** | ![支持](v.png) | ![支持](v.png) | -| **条纹** | ![支持](v.png) | ![支持](v.png) | - -**兴奋**: +| **Morph** | ![不支持](x.png) | ![支持](v.png) | +| **Fade** | ![支持](v.png) | ![支持](v.png) | +| **Push** | ![支持](v.png) | ![支持](v.png) | +| **Pull** | ![支持](v.png) | ![支持](v.png) | +| **Wipe** | ![支持](v.png) | ![支持](v.png) | +| **Split** | ![支持](v.png) | ![支持](v.png) | +| **Reveal** | ![不支持](x.png) | ![支持](v.png) | +| **Random Bars** | ![支持](v.png) | ![支持](v.png) | +| **Shape** | ![不支持](x.png) | ![支持](v.png) | +| **Uncover** | ![不支持](x.png) | ![支持](v.png) | +| **Cover** | ![支持](v.png) | ![支持](v.png) | +| **Flash** | ![支持](v.png) | ![支持](v.png) | +| **Strips** | ![支持](v.png) | ![支持](v.png) | + +**激动(Exciting)**: | 动画类型 | Aspose.Slides | PowerPoint | |---|---|---| -| **翻倒** | ![不支持](x.png) | ![支持](v.png) | -| **披风** | ![不支持](x.png) | ![支持](v.png) | -| **帘幕** | ![不支持](x.png) | ![支持](v.png) | -| **风** | ![不支持](x.png) | ![支持](v.png) | -| **声望** | ![不支持](x.png) | ![支持](v.png) | -| **破裂** | ![不支持](x.png) | ![支持](v.png) | -| **压碎** | ![不支持](x.png) | ![支持](v.png) | -| **剥离** | ![不支持](x.png) | ![支持](v.png) | -| **翻页** | ![不支持](x.png) | ![支持](v.png) | -| **飞机** | ![不支持](x.png) | ![支持](v.png) | -| **折纸** | ![不支持](x.png) | ![支持](v.png) | -| **溶解** | ![支持](v.png) | ![支持](v.png) | -| **棋盘** | ![不支持](x.png) | ![支持](v.png) | -| **百叶窗** | ![不支持](x.png) | ![支持](v.png) | -| **时钟** | ![支持](v.png) | ![支持](v.png) | -| **波纹** | ![不支持](x.png) | ![支持](v.png) | -| **蜂窝** | ![不支持](x.png) | ![支持](v.png) | -| **闪光** | ![不支持](x.png) | ![支持](v.png) | -| **漩涡** | ![不支持](x.png) | ![支持](v.png) | -| **撕裂** | ![不支持](x.png) | ![支持](v.png) | -| **切换** | ![不支持](x.png) | ![支持](v.png) | -| **翻转** | ![不支持](x.png) | ![支持](v.png) | -| **画廊** | ![不支持](x.png) | ![支持](v.png) | -| **立方体** | ![不支持](x.png) | ![支持](v.png) | -| **门** | ![不支持](x.png) | ![支持](v.png) | -| **盒子** | ![不支持](x.png) | ![支持](v.png) | -| **梳子** | ![不支持](x.png) | ![支持](v.png) | -| **缩放** | ![支持](v.png) | ![支持](v.png) | -| **随机** | ![不支持](x.png) | ![支持](v.png) | - -**动态内容**: +| **Fall Over** | ![不支持](x.png) | ![支持](v.png) | +| **Drape** | ![不支持](x.png) | ![支持](v.png) | +| **Curtains** | ![不支持](x.png) | ![支持](v.png) | +| **Wind** | ![不支持](x.png) | ![支持](v.png) | +| **Prestige** | ![不支持](x.png) | ![支持](v.png) | +| **Fracture** | ![不支持](x.png) | ![支持](v.png) | +| **Crush** | ![不支持](x.png) | ![支持](v.png) | +| **Peel Off** | ![不支持](x.png) | ![支持](v.png) | +| **Page Curl** | ![不支持](x.png) | ![支持](v.png) | +| **Airplane** | ![不支持](x.png) | ![支持](v.png) | +| **Origami** | ![不支持](x.png) | ![支持](v.png) | +| **Dissolve** | ![支持](v.png) | ![支持](v.png) | +| **Checkerboard** | ![不支持](x.png) | ![支持](v.png) | +| **Blinds** | ![不支持](x.png) | ![支持](v.png) | +| **Clock** | ![支持](v.png) | ![支持](v.png) | +| **Ripple** | ![不支持](x.png) | ![支持](v.png) | +| **Honeycomb** | ![不支持](x.png) | ![支持](v.png) | +| **Glitter** | ![不支持](x.png) | ![支持](v.png) | +| **Vortex** | ![不支持](x.png) | ![支持](v.png) | +| **Shred** | ![不支持](x.png) | ![支持](v.png) | +| **Switch** | ![不支持](x.png) | ![支持](v.png) | +| **Flip** | ![不支持](x.png) | ![支持](v/png) | +| **Gallery** | ![不支持](x.png) | ![支持](v.png) | +| **Cube** | ![不支持](x.png) | ![支持](v.png) | +| **Doors** | ![不支持](x.png) | ![支持](v.png) | +| **Box** | ![不支持](x.png) | ![支持](v.png) | +| **Comb** | ![不支持](x.png) | ![支持](v.png) | +| **Zoom** | ![支持](v.png) | ![支持](v.png) | +| **Random** | ![不支持](x.png) | ![支持](v.png) | + +**动态内容(Dynamic Content)**: | 动画类型 | Aspose.Slides | PowerPoint | |---|---|---| -| **平移** | ![不支持](x.png) | ![支持](v.png) | -| **摩天轮** | ![支持](v.png) | ![支持](v.png) | -| **传送带** | ![不支持](x.png) | ![支持](v.png) | -| **旋转** | ![不支持](x.png) | ![支持](v.png) | -| **轨道** | ![不支持](x.png) | ![支持](v.png) | -| **穿越** | ![支持](v.png) | ![支持](v.png) | \ No newline at end of file +| **Pan** | ![不支持](x.png) | ![支持](v.png) | +| **Ferris Wheel** | ![支持](v.png) | ![支持](v.png) | +| **Conveyor** | ![不支持](x.png) | ![支持](v.png) | +| **Rotate** | ![不支持](x.png) | ![支持](v.png) | +| **Orbit** | ![不支持](x.png) | ![支持](v.png) | +| **Fly Through** | ![支持](v.png) | ![支持](v.png) | + +## **常见问题解答(FAQ)** + +**是否可以转换受密码保护的演示文稿?** + +是的,Aspose.Slides for .NET 支持处理受密码保护的演示文稿。处理此类文件时,需要提供正确的密码,以便库能够访问演示文稿的内容。 + +**Aspose.Slides for .NET 是否支持在云解决方案中使用?** + +是的,Aspose.Slides for .NET 可以集成到云应用和服务中。该库专为服务器环境设计,确保在批量文件处理时具备高性能和可扩展性。 + +**转换过程中对演示文稿的大小是否有限制?** + +Aspose.Slides for .NET 能够处理几乎任意大小的演示文稿。然而,在处理特别大的文件时,可能需要额外的系统资源,通常建议对演示文稿进行优化以提升性能。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md index 3fdffcb4c0..be98411258 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-word/_index.md @@ -1,85 +1,121 @@ --- -title: 将 PowerPoint 转换为 Word +title: 在 C# 中将 PowerPoint 演示文稿转换为 Word 文档 +linktitle: 将 PowerPoint 转换为 Word type: docs weight: 110 url: /zh/net/convert-powerpoint-to-word/ keywords: -- 转换 PowerPoint -- PPT -- PPTX -- 演示文稿 -- Word -- DOCX -- DOC +- PowerPoint 转 DOCX +- OpenDocument 转 DOCX +- 演示文稿 转 DOCX +- 幻灯片 转 DOCX +- PPT 转 DOCX - PPTX 转 DOCX +- ODP 转 DOCX +- PowerPoint 转 DOC +- OpenDocument 转 DOC +- 演示文稿 转 DOC +- 幻灯片 转 DOC - PPT 转 DOC - PPTX 转 DOC -- PPT 转 DOCX +- ODP 转 DOC +- PowerPoint 转 Word +- OpenDocument 转 Word +- 演示文稿 转 Word +- 幻灯片 转 Word +- PPT 转 Word +- PPTX 转 Word +- ODP 转 Word +- 转换 PowerPoint +- 转换 OpenDocument +- 转换 演示文稿 +- 转换 幻灯片 +- 转换 PPT +- 转换 PPTX +- 转换 ODP - C# -- Csharp - .NET - Aspose.Slides -description: "在 C# 或 .NET 中将 PowerPoint 演示文稿转换为 Word " +description: "了解如何使用 Aspose.Slides for .NET 轻松将 PowerPoint 和 OpenDocument 演示文稿转换为 Word 文档。我们的分步指南提供示例 C# 代码,为希望简化文档工作流的开发人员提供解决方案。" --- -如果您计划以新的方式使用演示文稿 (PPT 或 PPTX) 的文本内容或信息,您可能会受益于将演示文稿转换为 Word (DOC 或 DOCX)。 - -* 与 Microsoft PowerPoint 相比,Microsoft Word 应用程序在内容方面更具工具或功能。 -* 除了 Word 中的编辑功能,您还可以受益于增强的协作、打印和共享功能。 - -{{% alert color="primary" %}} - -您可能想尝试我们的 [**在线演示文稿转 Word 转换器**](https://products.aspose.app/slides/conversion/ppt-to-word),以查看从幻灯片中使用文本内容能获得哪些好处。 +## **概览** -{{% /alert %}} +本文为开发人员提供了使用 Aspose.Slides for .NET 和 Aspose.Words for .NET 将 PowerPoint 和 OpenDocument 演示文稿转换为 Word 文档的解决方案。该分步指南将带您逐步完成转换过程的每个阶段。 -### **Aspose.Slides 和 Aspose.Words** +## **将演示文稿转换为 Word 文档** -要将 PowerPoint 文件 (PPTX 或 PPT) 转换为 Word (DOCX 或 DOCX),您需要 [Aspose.Slides for .NET](https://products.aspose.com/slides/net/) 和 [Aspose.Words for .NET](https://products.aspose.com/words/net/) 两者。 +请按照以下说明将 PowerPoint 或 OpenDocument 演示文稿转换为 Word 文档: -作为一个独立的 API,[Aspose.Slides](https://products.aspose.app/slides) for .NET 提供了允许您从演示文稿中提取文本的功能。 +1. 实例化 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类并加载演示文稿文件。 +2. 实例化 [Document](https://reference.aspose.com/words/net/aspose.words/document/) 和 [DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/) 类以生成 Word 文档。 +3. 使用 [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/) 属性将 Word 文档的页面大小设置为与演示文稿相匹配。 +4. 使用 [DocumentBuilder.PageSetup](https://reference.aspose.com/words/net/aspose.words/documentbuilder/pagesetup/) 属性设置 Word 文档的页边距。 +5. 使用 [Presentation.Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/) 属性遍历所有演示文稿幻灯片。 + - 使用来自 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) 接口的 `GetImage` 方法生成幻灯片图像并将其保存到内存流中。 + - 使用 [DocumentBuilder](https://reference.aspose.com/words/net/aspose.words/documentbuilder/) 类的 `InsertImage` 方法将幻灯片图像添加到 Word 文档中。 +6. 将 Word 文档保存到文件。 -[Aspose.Words](https://docs.aspose.com/words/net/) 是一个高级文档处理 API,允许应用程序生成、修改、转换、渲染、打印文件,并在无需使用 Microsoft Word 的情况下执行其他文档任务。 +假设我们有一个名为 “sample.pptx” 的演示稿,其外观如下: -## **将 PowerPoint 转换为 Word** +![PowerPoint 演示文稿](PowerPoint.png) -1. 将这些命名空间添加到您的 program.cs 文件中: +以下 C# 代码示例演示如何将 PowerPoint 演示文稿转换为 Word 文档: +```cs +// 加载演示文稿文件. +using var presentation = new Presentation("sample.pptx"); -```c# -using Aspose.Slides; -using Aspose.Words; -using System.IO; -``` +// 创建 Document 和 DocumentBuilder 对象. +var document = new Document(); +var builder = new DocumentBuilder(document); -2. 使用此代码片段将 PowerPoint 转换为 Word: +// 在 Word 文档中设置页面大小. +var slideSize = presentation.SlideSize.Size; +builder.PageSetup.PageWidth = slideSize.Width; +builder.PageSetup.PageHeight = slideSize.Height; -```c# -using var presentation = new Presentation("sample.pptx"); +// 在 Word 文档中设置页边距. +builder.PageSetup.LeftMargin = 0; +builder.PageSetup.RightMargin = 0; +builder.PageSetup.TopMargin = 0; +builder.PageSetup.BottomMargin = 0; -var doc = new Document(); -var builder = new DocumentBuilder(doc); +const float scaleX = 2, scaleY = 2; +// 遍历所有演示文稿幻灯片. foreach (var slide in presentation.Slides) { - // 生成幻灯片图像并将其保存到内存流中 - using var image = slide.GetImage(1, 1); + // 生成幻灯片图像并保存到内存流. + using var image = slide.GetImage(scaleX, scaleY); using var imageStream = new MemoryStream(); image.Save(imageStream, ImageFormat.Png); + // 将幻灯片图像添加到 Word 文档. imageStream.Seek(0, SeekOrigin.Begin); - builder.InsertImage(imageStream.ToArray()); - - // 插入幻灯片的文本 - foreach (var shape in slide.Shapes) - { - if (shape is AutoShape autoShape) - { - builder.Writeln(autoShape.TextFrame.Text); - } - } + builder.InsertImage(imageStream.ToArray(), builder.PageSetup.PageWidth, builder.PageSetup.PageHeight); builder.InsertBreak(BreakType.PageBreak); } -doc.Save("output.docx"); -``` \ No newline at end of file +// 将 Word 文档保存到文件. +document.Save("output.docx"); +``` + + +结果: + +![Word 文档](Word.png) + +{{% alert color="primary" %}} +尝试我们的 [**在线 PPT 转 Word 转换器**](https://products.aspose.app/slides/conversion/ppt-to-word) ,了解将 PowerPoint 和 OpenDocument 演示文稿转换为 Word 文档可以带来哪些收益。 +{{% /alert %}} + +## **常见问题** + +**转换 PowerPoint 和 OpenDocument 演示文稿为 Word 文档需要安装哪些组件?** + +您只需在 C# 项目中添加对应的 NuGet 包 [Aspose.Slides for .NET](https://www.nuget.org/packages/Aspose.Slides.NET) 和 [Aspose.Words for .NET](https://www.nuget.org/packages/Aspose.Words/)。这两个库均以独立 API 形式运行,无需安装 Microsoft Office。 + +**是否支持所有 PowerPoint 和 OpenDocument 演示文稿格式?** + +Aspose.Slides for .NET [支持所有演示文稿格式](/slides/zh/net/supported-file-formats/),包括 PPT、PPTX、ODP 以及其他常见文件类型。这确保您能够处理由不同版本 Microsoft PowerPoint 创建的演示文稿。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md index b5892c09ee..f346460c69 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-xps/_index.md @@ -1,53 +1,50 @@ --- -title: 将 PowerPoint 转换为 XPS +title: 将 PowerPoint 转换为 XPS type: docs weight: 70 url: /zh/net/convert-powerpoint-to-xps -keywords: "转换 PowerPoint 演示文稿, PowerPoint 转 XPS, PPT 转 XPS, PPTX 转 XPS, 转换, C#, Csharp, .NET, Aspose.Slides" +keywords: "将 PowerPoint 演示文稿转换, PowerPoint 转 XPS, PPT 转 XPS, PPTX 转 XPS, 转换, C#, Csharp, .NET, Aspose.Slides" description: "在 C# 或 .NET 中将 PowerPoint 演示文稿转换为 XPS。" --- ## **关于 XPS** -微软开发的 [XPS](https://docs.fileformat.com/page-description-language/xps/) 是 [PDF](https://docs.fileformat.com/pdf/) 的替代方案。它允许通过输出类似于 PDF 的文件来打印内容。XPS 格式基于 XML。XPS 文件的布局或结构在所有操作系统和打印机上保持不变。 +Microsoft 将 [XPS](https://docs.fileformat.com/page-description-language/xps/) 开发为 [PDF](https://docs.fileformat.com/pdf/) 的替代方案。它通过输出与 PDF 非常相似的文件来实现内容打印。XPS 格式基于 XML。XPS 文件的布局或结构在所有操作系统和打印机上保持一致。 -## 何时使用 Microsoft XPS 格式 +## **何时使用 Microsoft XPS 格式** {{% alert color="primary" %}} - -要查看 Aspose.Slides 如何将 PPT 或 PPTX 演示文稿转换为 XPS 格式,您可以查看 [这个免费的在线转换器应用程序](https://products.aspose.app/slides/conversion)。 - +要了解 Aspose.Slides 如何将 PPT 或 PPTX 演示文稿转换为 XPS 格式,您可以查看 [此免费在线转换应用](https://products.aspose.app/slides/conversion)。 {{% /alert %}} -如果您想降低存储成本,可以将 Microsoft PowerPoint 演示文稿转换为 XPS 格式。这样,您会发现保存、共享和打印文档变得更容易。 +如果想降低存储成本,您可以将 Microsoft PowerPoint 演示文稿转换为 XPS 格式。这样,保存、共享和打印文档会更方便。 -微软继续在 Windows(甚至在 Windows 10 中)中实施对 XPS 的强力支持,因此您可能想要考虑将文件保存为此格式。如果您使用的是 Windows 8.1、Windows 8、Windows 7 和 Windows Vista,那么 XPS 可能实际上是某些操作的最佳选择。 +Microsoft 仍在 Windows(包括 Windows 10)中提供对 XPS 的强力支持,您可以考虑将文件保存为此格式。如果您使用的是 Windows 8.1、Windows 8、Windows 7 或 Windows Vista,则 XPS 可能是某些操作的最佳选择。 -- **Windows 8** 使用 OXPS(Open XPS)格式的 XPS 文件。OXPS 是原始 XPS 格式的标准化版本。Windows 8 对 XPS 文件提供了比 PDF 文件更好的支持。 - - **XPS:** 内置 XPS 查看器和打印到 XPS 功能可用。 - - **PDF**: 可用 PDF 阅读器,但没有打印到 PDF 功能。 +- **Windows 8** 使用 OXPS(Open XPS)格式来存储 XPS 文件。OXPS 是原始 XPS 格式的标准化版本。Windows 8 对 XPS 文件的支持优于对 PDF 文件的支持。 + - **XPS**:内置 XPS 查看器/阅读器,并支持打印为 XPS。 + - **PDF**:提供 PDF 阅读器,但不支持打印为 PDF。 -- **Windows 7 和 Windows Vista** 使用原始 XPS 格式。这些操作系统也对 XPS 文件提供了比 PDF 更好的支持。 - - **XPS**: 内置 XPS 查看器和打印到 XPS 功能可用。 - - **PDF**: 无 PDF 阅读器。无打印到 PDF 功能。 +- **Windows 7 和 Windows Vista** 使用原始 XPS 格式。这些操作系统对 XPS 文件的支持也优于对 PDF 的支持。 + - **XPS**:内置 XPS 查看器,并支持打印为 XPS。 + - **PDF**:没有 PDF 阅读器,也不支持打印为 PDF。 |

**输入 PPT(X):

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_1.png)**

|

**输出 XPS:

**![todo:image_alt_text](convert-powerpoint-ppt-and-pptx-to-microsoft-xps-document_2.png)**

| | :- | :- | -微软最终通过 Windows 10 中的打印到 PDF 功能实现了对 PDF 打印操作的支持。之前,用户被期望通过 XPS 格式打印文档。 +Microsoft 最终在 Windows 10 中通过“Print to PDF”功能实现了 PDF 的打印支持。之前,用户只能通过 XPS 格式来打印文档。 -## 使用 Aspose.Slides 进行 XPS 转换 +## **使用 Aspose.Slides 进行 XPS 转换** -在 [**Aspose.Slides**](https://products.aspose.com/slides/net/) for .NET 中,您可以使用 [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) 方法,由 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类提供,将整个演示文稿转换为 XPS 文档。 +在适用于 .NET 的 [**Aspose.Slides**](https://products.aspose.com/slides/net/) 中,您可以使用由 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类提供的 [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) 方法,将整个演示文稿转换为 XPS 文档。 -在将演示文稿转换为 XPS 时,您必须使用以下任一设置保存演示文稿: +将演示文稿转换为 XPS 时,需要使用以下任一设置进行保存: -- 默认设置(不带 [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) -- 自定义设置(带 [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) +- 默认设置(不使用 [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) +- 自定义设置(使用 [**XPSOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions)) ### **使用默认设置将演示文稿转换为 XPS** -以下 C# 示例代码演示如何使用标准设置将演示文稿转换为 XPS 文档: - +下面的 C# 示例代码演示了如何使用标准设置将演示文稿转换为 XPS 文档: ```c# // 实例化一个表示演示文稿文件的 Presentation 对象 using (Presentation pres = new Presentation("Convert_XPS.pptx")) @@ -57,12 +54,11 @@ using (Presentation pres = new Presentation("Convert_XPS.pptx")) } ``` -### **使用自定义设置将演示文稿转换为 XPS** - -以下示例代码演示如何使用 C# 中的自定义设置将演示文稿转换为 XPS 文档: +### **使用自定义设置将演示文稿转换为 XPS** +下面的 C# 示例代码演示了如何使用自定义设置将演示文稿转换为 XPS 文档: ```c# -// 实例化一个表示演示文稿文件的 Presentation 对象 + // 实例化一个表示演示文稿文件的 Presentation 对象 using (Presentation pres = new Presentation("Convert_XPS_Options.pptx")) { // 实例化 TiffOptions 类 @@ -74,4 +70,15 @@ using (Presentation pres = new Presentation("Convert_XPS_Options.pptx")) // 将演示文稿保存为 XPS 文档 pres.Save("XPS_With_Options_out.xps", SaveFormat.Xps, options); } -``` \ No newline at end of file +``` + + +## **常见问题** + +**我可以将 XPS 保存到流而不是文件吗?** + +是的——Aspose.Slides 允许直接导出到流,这对于 Web API、服务器端管道或任何需要在不涉及文件系统的情况下传输 XPS 的场景都非常适合。 + +**隐藏幻灯片会被转到 XPS 吗?我可以排除它们吗?** + +默认情况下,仅渲染常规(可见)幻灯片。您可以在保存为 XPS 之前通过 [导出设置](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/) [包含或排除隐藏幻灯片](https://reference.aspose.com/slides/net/aspose.slides.export/xpsoptions/showhiddenslides/),以确保输出仅包含您预期的页面。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index 48bdeffabc..f823c9e14e 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -1,61 +1,94 @@ --- -title: 在C#中将PPT转换为PPTX -linktitle: 将PPT转换为PPTX +title: 在 C# 中将 PPT 转换为 PPTX +linktitle: 将 PPT 转换为 PPTX type: docs weight: 20 url: /zh/net/convert-ppt-to-pptx/ -keywords: "C# 将PPT转换为PPTX, 转换PowerPoint演示文稿, PPT到PPTX, C#, Csharp, .NET, Aspose.Slides" -description: "在C#或.NET中将PowerPoint PPT转换为PPTX" +keywords: "C# 将 PPT 转换为 PPTX, 转换 PowerPoint 演示文稿, PPT 转 PPTX, C#, Csharp, .NET, Aspose.Slides" +description: "在 C# 或 .NET 中将 PowerPoint PPT 转换为 PPTX" --- ## **概述** -本文解释了如何使用C#将PPT格式的PowerPoint演示文稿转换为PPTX格式,以及使用在线PPT到PPTX转换应用程序。涵盖以下主题。 +本文说明如何使用 C# 和在线 PPT 到 PPTX 转换应用将 PowerPoint 演示文稿的 PPT 格式转换为 PPTX 格式。以下主题已覆盖。 -- [在C#中将PPT转换为PPTX](#convert-ppt-to-pptx) +- [在 C# 中将 PPT 转换为 PPTX](#convert-ppt-to-pptx) -## **C# 将PPT转换为PPTX** +## **C# 将 PPT 转换为 PPTX** -有关将PPT转换为PPTX的C#示例代码,请参见下面的部分,即[在C#中将PPT转换为PPTX](#convert-ppt-to-pptx)。它只需加载PPT文件并以PPTX格式保存。通过指定不同的保存格式,您还可以将PPT文件另存为许多其他格式,如PDF、XPS、ODP、HTML等,如以下文章中所讨论的。 +有关 C# 示例代码将 PPT 转换为 PPTX,请参阅下面的章节,即 [Convert PPT to PPTX](#convert-ppt-to-pptx)。它仅加载 PPT 文件并以 PPTX 格式保存。通过指定不同的保存格式,您还可以将 PPT 文件保存为 PDF、XPS、ODP、HTML 等其他多种格式,正如这些文章中所讨论的。 -- [C# 将PPT转换为PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) -- [C# 将PPT转换为XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) -- [C# 将PPT转换为HTML](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) -- [C# 将PPT转换为ODP](https://docs.aspose.com/slides/net/save-presentation/) -- [C# 将PPT转换为图像](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) +- [C# 将 PPT 转换为 PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) +- [C# 将 PPT 转换为 XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) +- [C# 将 PPT 转换为 HTML](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) +- [C# 将 PPT 转换为 ODP](https://docs.aspose.com/slides/net/save-presentation/) +- [C# 将 PPT 转换为 Image](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) -## **关于PPT到PPTX转换** -使用Aspose.Slides API将旧PPT格式转换为PPTX。如果您需要将成千上万的PPT演示文稿转换为PPTX格式,最佳解决方案是以编程方式完成。使用Aspose.Slides API,您可以仅用几行代码实现。该API支持完全兼容,将PPT演示文稿转换为PPTX,并且可以: +## **关于 PPT 到 PPTX 转换** + +使用 Aspose.Slides API 将旧的 PPT 格式转换为 PPTX。如果需要将成千上万的 PPT 演示文稿转换为 PPTX 格式,最佳解决方案是以编程方式进行。使用 Aspose.Slides API 只需几行代码即可完成。该 API 支持完整兼容性,将 PPT 演示文稿转换为 PPTX,并且可以: - 转换复杂的母版、布局和幻灯片结构。 - 转换包含图表的演示文稿。 -- 转换包含组合形状、自动形状(如矩形和椭圆)、具有自定义几何形状的形状的演示文稿。 -- 转换具有纹理和图片填充样式的自动形状的演示文稿。 -- 转换具有占位符、文本框和文本持有者的演示文稿。 +- 转换包含组合形状、自动形状(如矩形和椭圆)以及自定义几何形状的演示文稿。 +- 转换在自动形状中使用纹理和图片填充样式的演示文稿。 +- 转换包含占位符、文本框和文本持有者的演示文稿。 {{% alert color="primary" %}} -查看[**Aspose.Slides PPT到PPTX转换**](https://products.aspose.app/slides/conversion/ppt-to-pptx)应用: +查看 [**Aspose.Slides PPT to PPTX Conversion**](https://products.aspose.app/slides/conversion/ppt-to-pptx) 应用程序: [](https://products.aspose.app/slides/conversion/ppt-to-pptx) [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -该应用基于**Aspose.Slides API**构建,因此您可以查看基本PPT到PPTX转换功能的实时示例。Aspose.Slides转换是一个Web应用,允许您将PPT格式的演示文稿文件放入并下载其转换后的PPTX文件。 +此应用基于 **Aspose.Slides API** 构建,您可以看到基本 PPT 到 PPTX 转换功能的实时示例。Aspose.Slides Conversion 是一个网页应用,允许您拖放 PPT 格式的演示文件并下载转换后的 PPTX。 + +查找其他实时的 [**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/) 示例。 -查找其他实时的[**Aspose.Slides转换**](https://products.aspose.app/slides/conversion/)示例。 {{% /alert %}} +## **将 PPT 转换为 PPTX** -## **将PPT转换为PPTX** -要将PPT转换为PPTX,只需将文件名和保存格式传递给[**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的[**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)方法。下面的C#代码示例使用默认选项将演示文稿从PPT转换为PPTX。 +要将 PPT 转换为 PPTX,只需将文件名和保存格式传递给 [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index) 方法的 [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类。下面的 C# 示例代码使用默认选项将演示文稿从 PPT 转换为 PPTX。 ```c# -// 实例化一个表示PPTX文件的Presentation对象 +// 实例化一个表示 PPTX 文件的 Presentation 对象 Presentation pres = new Presentation("PPTtoPPTX.ppt"); -// 将PPTX演示文稿保存为PPTX格式 +// 将 PPTX 演示文稿保存为 PPTX 格式 pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` -了解更多关于[**PPT与PPTX**](/slides/zh/net/ppt-vs-pptx/)演示文稿格式以及[**Aspose.Slides支持PPT到PPTX转换**](/slides/zh/net/convert-ppt-to-pptx/)。 \ No newline at end of file + +了解更多关于 [**PPT vs PPTX**](/slides/zh/net/ppt-vs-pptx/) 演示文稿格式以及 [**Aspose.Slides supports PPT to PPTX conversion**](/slides/zh/net/convert-ppt-to-pptx/) 的信息。 + +## **常见问题** + +**PPT 与 PPTX 格式有什么区别?** + +PPT 是 Microsoft PowerPoint 使用的较旧的二进制文件格式,而 PPTX 是随 Microsoft Office 2007 引入的基于 XML 的新格式。PPTX 文件提供更好的性能、更小的文件大小以及改进的数据恢复能力。 + +**我可以使用 .NET 将 PPT 转换为 PPTX 吗?** + +是的,使用 Aspose.Slides for .NET 库,您可以轻松加载 PPT 文件并仅用几行代码将其保存为 PPTX 格式。 + +**Aspose.Slides 是否支持批量将多个 PPT 文件转换为 PPTX?** + +是的,您可以在循环中使用 Aspose.Slides 将多个 PPT 文件以编程方式转换为 PPTX,适用于批量转换场景。 + +**转换后内容和格式会被保留吗?** + +Aspose.Slides 在转换演示文稿时保持高度保真。幻灯片布局、动画、形状、图表以及其他设计元素在 PPT 转换为 PPTX 的过程中都会被完整保留。 + +**我可以将 PPT 文件转换为 PDF 或 HTML 等其他格式吗?** + +是的,Aspose.Slides 支持将 PPT 文件转换为多种格式,包括 PDF、XPS、HTML、ODP,以及 PNG、JPEG 等图像格式。 + +**是否可以在未安装 Microsoft PowerPoint 的情况下将 PPT 转换为 PPTX?** + +是的,Aspose.Slides for .NET 是独立的 API,无需 Microsoft PowerPoint 或任何第三方软件即可执行转换。 + +**是否有在线工具可用于 PPT 到 PPTX 转换?** + +是的,您可以使用免费的 [Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx) Web 应用程序,在浏览器中直接完成转换,无需编写任何代码。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md index 08ab67e3dd..fbbc159e4f 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-pptx-to-ppt/_index.md @@ -10,27 +10,41 @@ description: "在 C# 中将 PowerPoint PPTX 转换为 PPT" ## **概述** -本文解释了如何使用 C# 将 PPTX 格式的 PowerPoint 演示文稿转换为 PPT 格式。涉及以下主题。 +本文说明如何使用 C# 将 PPTX 格式的 PowerPoint 演示文稿转换为 PPT 格式。涵盖以下主题。 - 在 C# 中将 PPTX 转换为 PPT ## **C# 将 PPTX 转换为 PPT** -有关将 PPTX 转换为 PPT 的 C# 示例代码,请参见下面的章节,即 [将 PPTX 转换为 PPT](#convert-pptx-to-ppt)。它只是加载 PPTX 文件并以 PPT 格式保存。通过指定不同的保存格式,您还可以将 PPTX 文件保存为 PDF、XPS、ODP、HTML 等多种其他格式,如这些文章中所述。 +有关将 PPTX 转换为 PPT 的 C# 示例代码,请参见下面的章节,即[转换 PPTX 为 PPT](#convert-pptx-to-ppt)。它仅加载 PPTX 文件并以 PPT 格式保存。通过指定不同的保存格式,还可以将 PPTX 文件保存为 PDF、XPS、ODP、HTML 等多种格式,详见这些文章。 - [C# 将 PPTX 转换为 PDF](https://docs.aspose.com/slides/net/convert-powerpoint-to-pdf/) - [C# 将 PPTX 转换为 XPS](https://docs.aspose.com/slides/net/convert-powerpoint-to-xps/) - [C# 将 PPTX 转换为 HTML](https://docs.aspose.com/slides/net/convert-powerpoint-to-html/) - [C# 将 PPTX 转换为 ODP](https://docs.aspose.com/slides/net/save-presentation/) -- [C# 将 PPTX 转换为图像](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) - -## **将 PPTX 转换为 PPT** -要将 PPTX 转换为 PPT,只需将文件名和保存格式传递给 [**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/) 方法的 [**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类。下面的 C# 代码示例使用默认选项将演示文稿从 PPTX 转换为 PPT。 +- [C# 将 PPTX 转换为 Image](https://docs.aspose.com/slides/net/convert-powerpoint-to-png/) +## **转换 PPTX 为 PPT** +要将 PPTX 转换为 PPT,只需将文件名和保存格式传递给[**Save**](https://reference.aspose.com/slides/net/aspose.slides/presentation/save/)方法,即[**Presentation**](https://reference.aspose.com/slides/net/aspose.slides/presentation/)类。下面的 C# 代码示例使用默认选项将演示文稿从 PPTX 转换为 PPT。 ```c# -// 实例化表示 PPTX 文件的 Presentation 对象 +// 实例化一个表示 PPTX 文件的 Presentation 对象 Presentation pres = new Presentation("presentation.pptx"); // 将 PPTX 演示文稿保存为 PPT 格式 pres.Save("presentation.ppt", SaveFormat.Ppt); -``` \ No newline at end of file +``` + + +## **常见问答** + +**在将 PPTX 保存为传统 PPT(97–2003)格式时,所有效果和功能都会保留吗?** + +并非总是如此。PPT 格式缺少一些较新的功能(例如某些效果、对象和行为),因此在转换过程中某些功能可能会被简化或光栅化。 + +**我可以只将选定的幻灯片转换为 PPT,而不是整个演示文稿吗?** + +直接保存会针对整个演示文稿。若只转换特定幻灯片,需要先创建仅包含这些幻灯片的新演示文稿并将其保存为 PPT;或者使用支持逐幻灯片转换参数的服务/API。 + +**是否支持受密码保护的演示文稿?** + +支持。您可以检测文件是否受保护,使用密码打开,并且还能为保存的 PPT[配置保护/加密设置](/slides/zh/net/password-protected-presentation/)。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md index faeaef9829..ae36be70fc 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/ppt-vs-pptx/_index.md @@ -1,39 +1,54 @@ --- -title: PPT vs PPTX +title: "了解差异:PPT vs PPTX" +linktitle: "PPT vs PPTX" type: docs weight: 10 url: /zh/net/ppt-vs-pptx/ -keywords: "PPT vs PPTX, PPT 或 PPTX, PowerPoint 演示文稿, 格式, C#, Csharp, .NET" -description: "关于 PowerPoint 演示文稿格式。PPT vs PPTX。C# 或 .NET 中的差异" +keywords: "PPT vs PPTX, PowerPoint 格式, C#, .NET, 将 PPT 转换为 PPTX, .NET 中的演示文稿" +description: "探索 PPT 与 PPTX 格式之间的关键差异。了解它们在 C# 和 .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)。这种基于 XML 的格式提供了更大的灵活性,并兼容 PowerPoint 2007 及更高版本。PPTX 的模块化便于轻松添加新功能,例如新的图表或形状类型,确保向后兼容且无需对格式进行重大更改。 -## **PPT vs PPTX** -尽管 PPTX 提供了更广泛的功能,PPT 仍然相当受欢迎。转换 PPT 至 PPTX 及反之的需求也非常高。 +## **PPT 与 PPTX:关键差异和转换要点** +PPTX 提供了比传统 PPT 格式更强大的功能,但这两种格式之间的转换通常是必要的。将 PPT 转换为 PPTX 会因兼容性问题而面临独特挑战。PowerPoint 可能会在 PPT 文件中创建特定组件(MetroBlob)以存储 PPTX 专有的数据,旧版本的 PowerPoint 无法显示这些组件,但在新版本中打开或转换为 PPTX 时可以恢复。 -然而,旧的 PPT 与新的 PPTX 格式之间的转换是其他 Microsoft Office 格式中最复杂的挑战。尽管 PPT 格式的规范是公开的,但与其合作是困难的。PowerPoint 可以在 PPT 文件中创建特殊部分(MetroBlob)来存储 PPTX 中不受 PPT 格式支持且无法在旧版本 PowerPoint 中显示的信息。当 PPT 文件在现代 PowerPoint 版本中加载或转换为 PPTX 格式时,可以恢复这些信息。 - -Aspose.Slides 提供了一个通用接口来处理所有演示格式。它允许以非常简单的方式将 PPT 转换为 PPTX,并将 PPTX 转换为 PPT。Aspose.Slides 完全支持从 PPT 转换到 PPTX,并且在某些限制下也支持从 PPTX 转换到 PPT。我们建议在可能的情况下使用 PPTX 格式。 +Aspose.Slides 简化了 PPT 与 PPTX 格式的处理,提供无缝的转换功能。虽然完全支持从 PPT 转换为 PPTX,但将 PPTX 转换为 PPT 则存在一定限制。建议尽可能使用 PPTX,以优化功能和兼容性。 {{% alert color="primary" %}} - -通过在线 [**Aspose.Slides 转换应用**](https://products.aspose.app/slides/conversion/) 检查 PPT 到 PPTX 以及 PPTX 到 PPT 的转换质量。 - -{{% /alert %}} - -```c# +体验高质量的转换,使用 [**Aspose.Slides Conversion tool**](https://products.aspose.app/slides/conversion/)。 +{{% /alert %}} +```csharp // 实例化一个表示 PPTX 文件的 Presentation 对象 Presentation pres = new Presentation("PPTtoPPTX.ppt"); -// 将 PPTX 演示文稿保存为 PPTX 格式 +// 以 PPTX 格式保存 PPTX 演示文稿 pres.Save("PPTtoPPTX_out.pptx", SaveFormat.Pptx); ``` + {{% alert color="primary" %}} -阅读更多 [**如何将演示文稿从 PPT 转换为 PPTX**.](/slides/zh/net/convert-ppt-to-pptx/) -{{% /alert %}} \ No newline at end of file +发现更多: [**How to Convert Presentations from PPT to PPTX**](/slides/zh/net/convert-ppt-to-pptx/) +{{% /alert %}} + +## **常见问题** + +**如果演示文稿能够正常打开且没有错误,保留旧的 PPT 有意义吗?** + +如果演示文稿可以可靠地打开且不需要协作或新功能,可以保持 PPT 格式。但为了未来的兼容性和可扩展性,最好 [转换为 PPTX](/slides/zh/net/convert-ppt-to-pptx/):该格式基于开放的 OOXML 标准,且更容易被现代工具支持。 + +**如何决定哪些文件应该首先转换为 PPTX?** + +先转换以下演示文稿:由多个人编辑的;包含复杂的 [charts](/slides/zh/net/create-chart/)/[shapes](/slides/zh/net/shape-manipulations/);用于外部沟通的;或在 [opened](/slides/zh/net/open-presentation/) 时触发警告的。 + +**在将 PPT 转换为 PPTX 再转换回 PPT 时,密码保护会被保留吗?** + +密码的存在仅在正确的转换且工具支持加密的情况下才会保留。更可靠的做法是先 [删除保护](/slides/zh/net/password-protected-presentation/),然后 [转换](/slides/zh/net/convert-ppt-to-pptx/),再根据安全策略重新应用保护。 + +**为什么在将 PPTX 转回 PPT 时,一些效果会消失或被简化?** + +因为 PPT 不支持某些新对象/属性。PowerPoint 和工具可以将这些信息的“痕迹”存储在特殊块中以便以后恢复,但旧版本的 PowerPoint 无法渲染它们。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md index 8e7555bdf1..fc48667921 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/render-a-slide-as-an-svg-image/_index.md @@ -1,6 +1,6 @@ --- title: 在 C# 中将幻灯片呈现为 SVG 图像 -linktitle: 在 C# 中将幻灯片呈现为 SVG 图像 +linktitle: 将幻灯片呈现为 SVG 图像 type: docs weight: 50 url: /zh/net/render-a-slide-as-an-svg-image/ @@ -8,80 +8,79 @@ description: 本文解释了如何使用 C# 将 PowerPoint 演示文稿转换为 keywords: C# 将 PowerPoint 转换为 SVG, C# PPT 转换为 SVG, C# PPTX 转换为 SVG --- -## 概述 +## **概述** -本文解释了如何 **使用 C# 将 PowerPoint 演示文稿转换为 SVG 格式**。它涵盖以下主题。 +本文介绍了如何使用 **C# 将 PowerPoint 演示文稿转换为 SVG 格式**。涵盖以下主题。 -_格式_: **PowerPoint** -- [C# PowerPoint 转换为 SVG](#csharp-powerpoint-to-svg) +_Format_: **PowerPoint** +- [C# PowerPoint 转 SVG](#csharp-powerpoint-to-svg) - [C# 将 PowerPoint 转换为 SVG](#csharp-powerpoint-to-svg) - [C# 如何将 PowerPoint 文件转换为 SVG](#csharp-powerpoint-to-svg) -_格式_: **PPT** -- [C# PPT 转换为 SVG](#csharp-ppt-to-svg) +_Format_: **PPT** +- [C# PPT 转 SVG](#csharp-ppt-to-svg) - [C# 将 PPT 转换为 SVG](#csharp-ppt-to-svg) - [C# 如何将 PPT 文件转换为 SVG](#csharp-ppt-to-svg) -_格式_: **PPTX** -- [C# PPTX 转换为 SVG](#csharp-pptx-to-svg) +_Format_: **PPTX** +- [C# PPTX 转 SVG](#csharp-pptx-to-svg) - [C# 将 PPTX 转换为 SVG](#csharp-pptx-to-svg) - [C# 如何将 PPTX 文件转换为 SVG](#csharp-pptx-to-svg) -_格式_: **ODP** -- [C# ODP 转换为 SVG](#csharp-odp-to-svg) +_Format_: **ODP** +- [C# ODP 转 SVG](#csharp-odp-to-svg) - [C# 将 ODP 转换为 SVG](#csharp-odp-to-svg) - [C# 如何将 ODP 文件转换为 SVG](#csharp-odp-to-svg) -_格式_: **幻灯片** +_Format_: **Slide** - [C# 将 PowerPoint 幻灯片转换为 SVG](#render-a-slide-as-an-svg-image) - [C# 将 PPT 幻灯片转换为 SVG](#render-a-slide-as-an-svg-image) - [C# 将 PPTX 幻灯片转换为 SVG](#render-a-slide-as-an-svg-image) - [C# 将 ODP 幻灯片转换为 SVG](#render-a-slide-as-an-svg-image) -本文涵盖的其他主题。 -- [另请参见](#see-also) +本文还涉及其他主题。 +- [另请参阅](#see-also) -## SVG 格式 -SVG——可缩放矢量图形的缩写——是一种用于呈现二维图像的标准图形类型或格式。SVG 将图像存储为 XML 中的矢量,并包括定义其行为或外观的详细信息。 +## **SVG 格式** +SVG(Scalable Vector Graphics)是一种用于渲染二维图像的标准图形类型或格式。SVG 以 XML 中的矢量方式存储图像,并包含定义其行为或外观的细节。 -SVG 是满足这些标准中的一些很高标准的少数图像格式之一:可缩放性、交互性、性能、可访问性、可编程性等。因此,它在 web 开发中被广泛使用。 +SVG 是为数不多的在以下方面符合极高标准的图像格式:可缩放性、交互性、性能、可访问性、可编程性等。因此,它在 Web 开发中被广泛使用。 -您可能希望在需要时使用 SVG 文件: +当您需要时,可能会选择使用 SVG 文件: -- **以 *非常大格式* 打印演示文稿。** SVG 图像可以缩放到任何分辨率或级别。您可以随意调整 SVG 图像的大小,而不会牺牲质量。 -- **在 *不同介质或平台* 上使用幻灯片中的图表和图形。** 大多数阅读器能够解释 SVG 文件。 -- **使用 *尽可能小的图像大小*。** SVG 文件通常比其他基于位图(JPEG 或 PNG)的高分辨率格式的文件要小。 +- **以*超大尺寸*打印演示文稿。** SVG 图像可以无限放大,分辨率不受限制。您可以多次调整大小而不会降低质量。 +- **在*不同媒介或平台*中使用幻灯片中的图表和图形。** 大多数阅读器都能正确解析 SVG 文件。 +- **使用*尽可能小的图像体积*。** 与基于位图的高分辨率格式(如 JPEG 或 PNG)相比,SVG 文件通常更小。 -## 将幻灯片呈现为 SVG 图像 +## **将幻灯片呈现为 SVG 图像** -Aspose.Slides for .NET 允许您将演示文稿中的幻灯片导出为 SVG 图像。请按照以下步骤生成 SVG 图像: +Aspose.Slides for .NET 允许将演示文稿中的幻灯片导出为 SVG 图像。按以下步骤生成 SVG 图像: -_步骤:C# 中的 PowerPoint 到 SVG 转换_ +_Steps: PowerPoint to SVG Conversions in C#_ -以下示例代码解释了如何使用 .NET 进行这些转换。 +下面的示例代码演示了使用 .NET 进行这些转换的过程。 - 步骤:在 C# 中将 PowerPoint 转换为 SVG - 步骤:在 C# 中将 PPT 转换为 SVG - 步骤:在 C# 中将 PPTX 转换为 SVG - 步骤:在 C# 中将 ODP 转换为 SVG -_代码步骤:_ +_Code Steps:_ -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例。 - * _.ppt_ 扩展名加载 _Presentation_ 类中的 **PPT** 文件。 - * _.pptx_ 扩展名加载 _Presentation_ 类中的 **PPTX** 文件。 - * _.odp_ 扩展名加载 _Presentation_ 类中的 **ODP** 文件。 - * _.pps_ 扩展名加载 _Presentation_ 类中的 **PPS** 文件。 +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例。 + * _.ppt_ 扩展名用于在 **Presentation** 类中加载 **PPT** 文件。 + * _.pptx_ 扩展名用于在 **Presentation** 类中加载 **PPTX** 文件。 + * _.odp_ 扩展名用于在 **Presentation** 类中加载 **ODP** 文件。 + * _.pps_ 扩展名用于在 **Presentation** 类中加载 **PPS** 文件。 2. 遍历演示文稿中的所有幻灯片。 -3. 通过 FileStream 将每个幻灯片写入各自的 SVG 文件。 +3. 通过 FileStream 将每张幻灯片写入其各自的 SVG 文件。 {{% alert color="primary" %}} -您可能想尝试我们实现了从 Aspose.Slides for .NET 的 PPT 到 SVG 转换功能的 [免费网络应用程序](https://products.aspose.app/slides/conversion/ppt-to-svg)。 +您可以尝试我们的[免费网络应用](https://products.aspose.app/slides/conversion/ppt-to-svg),其中已经实现了 Aspose.Slides for .NET 的 PPT 转 SVG 功能。 {{% /alert %}} -以下 C# 示例代码展示了如何使用 Aspose.Slides 将 PowerPoint 转换为 SVG: - +下面的 C# 示例代码演示了如何使用 Aspose.Slides 将 PowerPoint 转换为 SVG: ``` csharp // Presentation 对象可以加载 PPT、PPTX、ODP 等 PowerPoint 格式。 using (Presentation pres = new Presentation("pres.pptx")) @@ -98,46 +97,61 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## 另请参见 -本文还涵盖这些主题。代码与上述相同。 +## **常见问答** + +**导致不同浏览器中 SVG 显示差异的原因是什么?** + +不同浏览器引擎对特定 SVG 功能的实现方式不同。[SVGOptions](https://reference.aspose.com/slides/net/aspose.slides.export/svgoptions/) 参数可帮助平滑这些不兼容。 + +**是否可以导出不仅是幻灯片,而是单独的形状为 SVG?** + +可以。任何[形状都可以另存为单独的 SVG](https://reference.aspose.com/slides/net/aspose.slides/shape/writeassvg/),这对于图标、图示以及复用图形非常方便。 + +**能否将多张幻灯片合并为一个 SVG(条带/文档)?** + +标准做法是一张幻灯片对应一个 SVG。将多张幻灯片合并到同一个 SVG 画布是应用层的后处理步骤。 + +## **另请参阅** + +本文还涵盖以下主题。代码与上述相同。 -_格式_: **PowerPoint** -- [C# PowerPoint 转换为 SVG 代码](#csharp-powerpoint-to-svg) -- [C# PowerPoint 转换为 SVG API](#csharp-powerpoint-to-svg) -- [C# PowerPoint 转换为 SVG 编程](#csharp-powerpoint-to-svg) -- [C# PowerPoint 转换为 SVG 库](#csharp-powerpoint-to-svg) +_Format_: **PowerPoint** +- [C# PowerPoint 转 SVG 代码](#csharp-powerpoint-to-svg) +- [C# PowerPoint 转 SVG API](#csharp-powerpoint-to-svg) +- [C# PowerPoint 转 SVG 编程方式](#csharp-powerpoint-to-svg) +- [C# PowerPoint 转 SVG 库](#csharp-powerpoint-to-svg) - [C# 将 PowerPoint 保存为 SVG](#csharp-powerpoint-to-svg) - [C# 从 PowerPoint 生成 SVG](#csharp-powerpoint-to-svg) - [C# 从 PowerPoint 创建 SVG](#csharp-powerpoint-to-svg) -- [C# PowerPoint 转换为 SVG 转换器](#csharp-powerpoint-to-svg) +- [C# PowerPoint 转 SVG 转换器](#csharp-powerpoint-to-svg) -_格式_: **PPT** -- [C# PPT 转换为 SVG 代码](#csharp-ppt-to-svg) -- [C# PPT 转换为 SVG API](#csharp-ppt-to-svg) -- [C# PPT 转换为 SVG 编程](#csharp-ppt-to-svg) -- [C# PPT 转换为 SVG 库](#csharp-ppt-to-svg) +_Format_: **PPT** +- [C# PPT 转 SVG 代码](#csharp-ppt-to-svg) +- [C# PPT 转 SVG API](#csharp-ppt-to-svg) +- [C# PPT 转 SVG 编程方式](#csharp-ppt-to-svg) +- [C# PPT 转 SVG 库](#csharp-ppt-to-svg) - [C# 将 PPT 保存为 SVG](#csharp-ppt-to-svg) - [C# 从 PPT 生成 SVG](#csharp-ppt-to-svg) - [C# 从 PPT 创建 SVG](#csharp-ppt-to-svg) -- [C# PPT 转换为 SVG 转换器](#csharp-ppt-to-svg) +- [C# PPT 转 SVG 转换器](#csharp-ppt-to-svg) -_格式_: **PPTX** -- [C# PPTX 转换为 SVG 代码](#csharp-pptx-to-svg) -- [C# PPTX 转换为 SVG API](#csharp-pptx-to-svg) -- [C# PPTX 转换为 SVG 编程](#csharp-pptx-to-svg) -- [C# PPTX 转换为 SVG 库](#csharp-pptx-to-svg) +_Format_: **PPTX** +- [C# PPTX 转 SVG 代码](#csharp-pptx-to-svg) +- [C# PPTX 转 SVG API](#csharp-pptx-to-svg) +- [C# PPTX 转 SVG 编程方式](#csharp-pptx-to-svg) +- [C# PPTX 转 SVG 库](#csharp-pptx-to-svg) - [C# 将 PPTX 保存为 SVG](#csharp-pptx-to-svg) - [C# 从 PPTX 生成 SVG](#csharp-pptx-to-svg) - [C# 从 PPTX 创建 SVG](#csharp-pptx-to-svg) -- [C# PPTX 转换为 SVG 转换器](#csharp-pptx-to-svg) +- [C# PPTX 转 SVG 转换器](#csharp-pptx-to-svg) -_格式_: **ODP** -- [C# ODP 转换为 SVG 代码](#csharp-odp-to-svg) -- [C# ODP 转换为 SVG API](#csharp-odp-to-svg) -- [C# ODP 转换为 SVG 编程](#csharp-odp-to-svg) -- [C# ODP 转换为 SVG 库](#csharp-odp-to-svg) +_Format_: **ODP** +- [C# ODP 转 SVG 代码](#csharp-odp-to-svg) +- [C# ODP 转 SVG API](#csharp-odp-to-svg) +- [C# ODP 转 SVG 编程方式](#csharp-odp-to-svg) +- [C# ODP 转 SVG 库](#csharp-odp-to-svg) - [C# 将 ODP 保存为 SVG](#csharp-odp-to-svg) - [C# 从 ODP 生成 SVG](#csharp-odp-to-svg) - [C# 从 ODP 创建 SVG](#csharp-odp-to-svg) -- [C# ODP 转换为 SVG 转换器](#csharp-odp-to-svg) \ No newline at end of file +- [C# ODP 转 SVG 转换器](#csharp-odp-to-svg) \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md index 33c6fa3f74..432031438d 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/export-to-html5/_index.md @@ -1,11 +1,11 @@ --- -title: 导出到 HTML5 +title: 导出为 HTML5 type: docs weight: 40 url: /zh/net/export-to-html5/ keywords: -- PowerPoint 到 HTML -- 幻灯片到 HTML +- PowerPoint 转 HTML +- 幻灯片 转 HTML - HTML5 - HTML 导出 - 导出演示文稿 @@ -17,18 +17,17 @@ keywords: description: "在 C# 或 .NET 中将 PowerPoint 导出为 HTML5" --- -{{% alert title="信息" color="info" %}} +{{% alert title="Info" color="info" %}} -在 [Aspose.Slides 21.9](/slides/zh/net/aspose-slides-for-net-21-9-release-notes/) 中,我们实现了对 HTML5 导出的支持。然而,如果您更喜欢使用 Web 扩展将 PowerPoint 导出为 HTML,请参阅 [这篇文章](/slides/zh/net/web-extensions/)。 +在 [Aspose.Slides 21.9](/slides/zh/net/aspose-slides-for-net-21-9-release-notes/) 中,我们实现了对 HTML5 导出的支持。但是,如果您更倾向于使用 WebExtensions 将 PowerPoint 导出为 HTML,请参阅 [this article](/slides/zh/net/web-extensions/)。 -{{% /alert %}} - -导出到 HTML5 的过程允许您在不使用 Web 扩展或依赖项的情况下将 PowerPoint 转换为 HTML。通过使用您自己的模板,您可以应用定义导出过程及生成的 HTML、CSS、JavaScript 和动画属性的灵活选项。 +{{% /alert %}} -## **将 PowerPoint 导出为 HTML5** +此处的 HTML5 导出过程允许您在不使用 WebExtensions 或其他依赖的情况下将 PowerPoint 转换为 HTML。通过使用您自己的模板,您可以应用高度灵活的选项来定义导出过程以及生成的 HTML、CSS、JavaScript 和动画属性。 -以下 C# 代码演示了如何在没有 Web 扩展和依赖项的情况下将演示文稿导出为 HTML5: +## **Export PowerPoint to HTML5** +下面的 C# 代码演示了如何在没有 WebExtensions 和依赖的情况下将演示文稿导出为 HTML5: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -36,14 +35,14 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -{{% alert color="primary" %}} -在这种情况下,您将获得干净的 HTML。 +{{% alert color="primary" %}} -{{% /alert %}} +在这种情况下,您将获得纯净的 HTML。 -您可能希望以这种方式指定形状动画和幻灯片过渡的设置: +{{% /alert %}} +您可以通过以下方式指定形状动画和幻灯片切换的设置: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -55,10 +54,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -#### **将 PowerPoint 导出为 HTML** -以下 C# 代码演示了标准的 PowerPoint 到 HTML 过程: +## **Export PowerPoint to HTML** +下面的 C# 示例演示了标准的 PowerPoint 到 HTML 的转换过程: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -66,30 +65,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -在这种情况下,演示文稿的内容通过 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 文件时,您将在网页上看到演示文稿的幻灯片视图模式。 +## **Export PowerPoint to HTML5 Slide View** -以下 C# 代码演示了 PowerPoint 到 HTML5 幻灯片视图导出过程: +**Aspose.Slides** 允许您将 PowerPoint 演示文稿转换为 HTML5 文档,并以幻灯片视图模式呈现幻灯片。这样,当您在浏览器中打开生成的 HTML5 文件时,演示文稿将在网页上以幻灯片视图模式显示。 +下面的 C# 代码演示了 PowerPoint 到 HTML5 幻灯片视图的导出过程: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -101,17 +100,18 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## 将演示文稿转换为带注释的 HTML5 文档 -PowerPoint 中的注释是允许用户在演示文稿幻灯片上留下笔记或反馈的工具。它们在协作项目中尤其有用,在这种情况下,多个人可以向特定幻灯片元素添加建议或备注,而不改变主要内容。每个注释会显示作者的姓名,便于跟踪是谁留下的评论。 +## **Convert a Presentation to an HTML5 Document with Comments** -假设我们有以下保存为 "sample.pptx" 文件的 PowerPoint 演示文稿。 +PowerPoint 中的批注是一种工具,允许用户在幻灯片上留下备注或反馈。它们在协作项目中尤为有用,多个用户可以对特定幻灯片元素添加建议或意见,而不会更改主体内容。每条批注都会显示作者姓名,便于追踪是谁留下的备注。 -![幻灯片上有两个注释](two_comments_pptx.png) +假设我们有一个名为 “sample.pptx” 的 PowerPoint 演示文稿。 -当您将 PowerPoint 演示文稿转换为 HTML5 文档时,您可以轻松指定是否将演示文稿中的注释包含在输出文档中。要做到这一点,您需要在 [Html5Options](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/) 类的 `NotesCommentsLayouting` 属性中指定注释的展示参数。 +![Two comments on the presentation slide](two_comments_pptx.png) -以下代码示例将演示文稿转换为带有注释显示在幻灯片右侧的 HTML5 文档。 +将 PowerPoint 演示文稿转换为 HTML5 文档时,您可以轻松指定是否在输出文档中包含演示文稿的批注。为此,需要在 [Html5Options](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/) 类的 `NotesCommentsLayouting` 属性中设置批注的显示参数。 + +下面的代码示例将演示文稿转换为在幻灯片右侧显示批注的 HTML5 文档。 ```cs var html5Options = new Html5Options { @@ -125,6 +125,21 @@ using var presentation = new Presentation("sample.pptx"); presentation.Save("output.html", SaveFormat.Html5, html5Options); ``` -"output.html" 文档在下面的图像中显示。 -![输出 HTML5 文档中的注释](two_comments_html5.png) \ No newline at end of file +下面的图片展示了 “output.html” 文档的效果。 + +![The comments in the output HTML5 document](two_comments_html5.png) + +## **FAQ** + +**Can I control whether object animations and slide transitions will play in HTML5?** + +是的,HTML5 提供了单独的选项来启用或禁用 [shape animations](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animateshapes/) 和 [slide transitions](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/animatetransitions/)。 + +**Is the output of comments supported, and where can they be placed relative to the slide?** + +是的,批注可以在 HTML5 中添加,并通过 [layout settings](https://reference.aspose.com/slides/net/aspose.slides.export/html5options/notescommentslayouting/) 将其定位(例如放置在幻灯片右侧)。 + +**Can I skip links that invoke JavaScript for security or CSP reasons?** + +是的,有一个 [setting](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/skipjavascriptlinks/) 可以在保存时跳过包含 JavaScript 调用的超链接,从而帮助遵守严格的安全策略。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md b/zh/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md index 4d0d97663f..ccd4c46f90 100644 --- a/zh/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md +++ b/zh/net/developer-guide/manage-presentation/convert-presentation/export-to-xaml/_index.md @@ -1,30 +1,29 @@ --- -title: 导出到 XAML +title: 导出为 XAML type: docs weight: 30 url: /zh/net/export-to-xaml/ -keywords: "导出 PowerPoint 演示文稿, 转换 PowerPoint, XAML, PowerPoint 到 XAML, PPT 到 XAML, PPTX 到 XAML, C#, Csharp, .NET" -description: "导出或转换 PowerPoint 演示文稿到 XAML" +keywords: "导出 PowerPoint 演示文稿, 转换 PowerPoint, XAML, PowerPoint 转 XAML, PPT 转 XAML, PPTX 转 XAML, C#, C#, .NET" +description: "将 PowerPoint 演示文稿导出或转换为 XAML" --- -# 导出演示文稿到 XAML +# **将演示文稿导出为 XAML** -{{% alert title="信息" color="info" %}} +{{% alert title="Info" color="info" %}} -在 [Aspose.Slides 21.6](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-6-release-notes/) 中,我们实现了对 XAML 导出的支持。您现在可以将演示文稿导出为 XAML。 +在 [Aspose.Slides 21.6](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-6-release-notes/) 中,我们实现了对 XAML 导出的支持。现在您可以将演示文稿导出为 XAML。 {{% /alert %}} -# 关于 XAML +# **关于 XAML** -XAML 是一种描述性编程语言,允许您构建或编写应用程序的用户界面,特别是那些使用 WPF(Windows Presentation Foundation)、UWP(通用 Windows 平台)和 Xamarin 表单的应用程序。 +XAML 是一种描述性编程语言,允许您为应用程序构建或编写用户界面,尤其是使用 WPF(Windows Presentation Foundation)、UWP(Universal Windows Platform)和 Xamarin 表单的应用。 -XAML 是一种基于 XML 的语言,是微软用于描述 GUI 的变体。您很可能在大多数情况下使用设计器来处理 XAML 文件,但您仍然可以手动编写和编辑您的 GUI。 +XAML 基于 XML,是 Microsoft 用于描述 GUI 的变体。您大多数情况下会使用设计器来编辑 XAML 文件,但仍然可以手动编写和修改 GUI。 -## 使用默认选项导出演示文稿到 XAML - -以下 C# 代码向您展示了如何使用默认设置将演示文稿导出为 XAML: +## **使用默认选项将演示文稿导出为 XAML** +以下 C# 代码演示了如何使用默认设置将演示文稿导出为 XAML: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,15 +31,30 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## 使用自定义选项导出演示文稿到 XAML -您可以从 [IXamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions) 接口中选择控制导出过程的选项,并确定 Aspose.Slides 如何将您的演示文稿导出为 XAML。 +## **使用自定义选项将演示文稿导出为 XAML** -例如,如果您希望 Aspose.Slides 在导出到 XAML 时添加演示文稿中的隐藏幻灯片,则可以将 [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) 属性设置为 true。请参见以下示例 C# 代码: +您可以从 [IXamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions) 接口中选择控制导出过程的选项,以决定 Aspose.Slides 如何将演示文稿导出为 XAML。 +例如,如果您希望在导出为 XAML 时让 Aspose.Slides 包含演示文稿中的隐藏幻灯片,可以将 [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/ixamloptions/properties/exporthiddenslides) 属性设为 true。请参阅以下示例 C# 代码: ```c# using (Presentation pres = new Presentation("pres.pptx")) { pres.Save(new XamlOptions { ExportHiddenSlides = true }); } -``` \ No newline at end of file +``` + + +## **常见问题** + +**如果原始字体在机器上不可用,如何确保使用可预测的字体?** + +在 [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) 中设置 [DefaultRegularFont](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions/defaultregularfont/),当原始字体缺失时,它将作为回退字体使用。这有助于避免意外的字体替换。 + +**导出的 XAML 只针对 WPF 吗,还是也可以用于其他 XAML 平台?** + +XAML 是一种通用的 UI 标记语言,适用于 WPF、UWP 和 Xamarin.Forms。导出旨在兼容 Microsoft 的 XAML 堆栈;具体行为和对特定构造的支持取决于目标平台。请在您的环境中测试该标记。 + +**是否支持隐藏幻灯片,如何默认阻止它们被导出?** + +默认情况下,不会包含隐藏幻灯片。您可以通过在 [XamlOptions](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/) 中的 [ExportHiddenSlides](https://reference.aspose.com/slides/net/aspose.slides.export.xaml/xamloptions/exporthiddenslides/) 来控制此行为——如果不需要导出隐藏幻灯片,请保持该选项禁用。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/create-presentation/_index.md b/zh/net/developer-guide/manage-presentation/create-presentation/_index.md index 5e9206155e..5387178094 100644 --- a/zh/net/developer-guide/manage-presentation/create-presentation/_index.md +++ b/zh/net/developer-guide/manage-presentation/create-presentation/_index.md @@ -5,19 +5,18 @@ type: docs weight: 10 url: /zh/net/create-presentation/ keywords: "创建 PowerPoint, PPTX, PPT, 创建演示文稿, 初始化演示文稿, C#, .NET" -description: "以编程方式在 C# 中创建 PowerPoint 演示文稿,例如 PPT, PPTX, ODP 等。" +description: "在 C# 中以编程方式创建 PowerPoint 演示文稿,例如 PPT、PPTX、ODP 等。" --- -## 创建 PowerPoint 演示文稿 -要向演示文稿的选定幻灯片添加一条简单的直线,请按照以下步骤操作: +## **创建 PowerPoint 演示文稿** +要在演示文稿的选定幻灯片上添加一条简单的直线,请按照以下步骤操作: -1. 创建一个 Presentation 类的实例。 -1. 通过使用幻灯片的索引获取幻灯片的引用。 -1. 使用 Shapes 对象公开的 AddAutoShape 方法添加一个线型的 AutoShape。 -1. 将修改后的演示文稿写入 PPTX 文件。 - -在下面的示例中,我们向演示文稿的第一张幻灯片添加了一条线。 +1. 创建 Presentation 类的实例。 +2. 通过使用索引获取幻灯片的引用。 +3. 使用 Shapes 对象提供的 AddAutoShape 方法添加类型为 Line 的 AutoShape。 +4. 将修改后的演示文稿写入为 PPTX 文件。 +在下面的示例中,我们在演示文稿的第一张幻灯片上添加了一条直线。 ```c# // 实例化一个表示演示文稿文件的 Presentation 对象 using (Presentation presentation = new Presentation()) @@ -25,35 +24,74 @@ using (Presentation presentation = new Presentation()) // 获取第一张幻灯片 ISlide slide = presentation.Slides[0]; - // 添加一个类型为线的自动形状 + // 添加类型为 line 的自动形状 slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); presentation.Save("NewPresentation_out.pptx", SaveFormat.Pptx); } ``` -## 创建并保存演示文稿 -步骤:在 C# 中创建并保存演示文稿 +## **创建并保存演示文稿** -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例。 -2. 将 _Presentation_ 保存为任何 [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) 支持的格式。 +步骤:在 C# 中创建并保存演示文稿 +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例。 +2. 将 _Presentation_ 保存为 [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) 支持的任意格式。 ```c# Presentation presentation = new Presentation(); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); ``` -## 打开并保存演示文稿 -步骤:在 C# 中打开并保存演示文稿 +## **打开并保存演示文稿** -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例,使用任何格式,例如 PPT, PPTX, ODP 等。 -2. 将 _Presentation_ 保存为任何 [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) 支持的格式。 +步骤:在 C# 中打开并保存演示文稿 +1. 使用任意格式(例如 PPT、PPTX、ODP 等)创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例。 +2. 将 _Presentation_ 保存为 [SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/) 支持的任意格式。 ```c# -// 在演示文稿中加载任何受支持的文件,例如 ppt, pptx, odp 等。 +# 在 Presentation 中加载任何受支持的文件,例如 ppt、pptx、odp 等。 Presentation presentation = new Presentation("Sample.odp"); presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **常见问题** + +**可以将新演示文稿保存为何种格式?** + +您可以将演示文稿保存为 [PPTX, PPT, and ODP](/slides/zh/net/save-presentation/),并导出为 [PDF](/slides/zh/net/convert-powerpoint-to-pdf/)、[XPS](/slides/zh/net/convert-powerpoint-to-xps/)、[HTML](/slides/zh/net/convert-powerpoint-to-html/)、[SVG](/slides/zh/net/convert-powerpoint-to-png/) 和 [images](/slides/zh/net/convert-powerpoint-to-png/),等等。 + +**我可以从模板(POTX/POTM)开始并保存为普通 PPTX 吗?** + +是的。加载模板后保存为所需格式;POTX/POTM/PPTM 等类似格式[已支持](/slides/zh/net/supported-file-formats/)。 + +**创建演示文稿时,如何控制幻灯片尺寸/宽高比?** + +设置[幻灯片大小](/slides/zh/net/slide-size/)(包括 4:3、16:9 等预设或自定义尺寸),并选择内容的缩放方式。 + +**尺寸和坐标使用什么单位?** + +使用点(points):1 英寸等于 72 单位。 + +**如何处理包含大量媒体文件的大型演示文稿以降低内存使用?** + +使用[BLOB 管理策略](/slides/zh/net/manage-blob/),通过使用临时文件限制内存存储,并优先采用基于文件的工作流而非纯内存流。 + +**我可以并行创建/保存演示文稿吗?** + +不能在[multiple threads](/slides/zh/net/multithreading/)中操作同一个[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)实例。请为每个线程或进程运行独立的实例。 + +**如何移除试用版水印和限制?** + +[Apply a license](/slides/zh/net/licensing/) 每个进程只需一次。许可证 XML 必须保持未修改,如果涉及多个线程,则应同步许可证设置。 + +**我可以对创建的 PPTX 进行数字签名吗?** + +是的。支持演示文稿的[Digital signatures](/slides/zh/net/digital-signature-in-powerpoint/)(添加和验证)。 + +**在创建的演示文稿中支持宏(VBA)吗?** + +是的。您可以[create/edit VBA projects](/slides/zh/net/presentation-via-vba/) 并保存为支持宏的文件,如 PPTM/PPSM。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/examine-presentation/_index.md b/zh/net/developer-guide/manage-presentation/examine-presentation/_index.md index 1afd2b1632..21531bffcd 100644 --- a/zh/net/developer-guide/manage-presentation/examine-presentation/_index.md +++ b/zh/net/developer-guide/manage-presentation/examine-presentation/_index.md @@ -23,18 +23,17 @@ description: "在 C# 或 .NET 中读取和修改 PowerPoint 演示文稿属性" Aspose.Slides for .NET 允许您检查演示文稿,以了解其属性并理解其行为。 -{{% alert title="信息" color="info" %}} +{{% alert title="Info" color="info" %}} -[PresentationInfo](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo) 和 [DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/) 类包含在此处操作中使用的属性和方法。 +The [PresentationInfo](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo) and [DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/) classes contain the properties and methods used in operations here. {{% /alert %}} ## **检查演示文稿格式** -在处理演示文稿之前,您可能想要找出当前演示文稿的格式(PPT、PPTX、ODP等)。 - -您可以在不加载演示文稿的情况下检查其格式。请看以下 C# 代码: +在处理演示文稿之前,您可能想了解当前演示文稿的格式(PPT、PPTX、ODP 等)。 +您可以在不加载演示文稿的情况下检查其格式。请参见以下 C# 代码: ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); Console.WriteLine(info.LoadFormat); // PPTX @@ -46,10 +45,10 @@ IPresentationInfo info3 = PresentationFactory.Instance.GetPresentationInfo("pres Console.WriteLine(info3.LoadFormat); // ODP ``` -## **获取演示文稿属性** -以下 C# 代码展示了如何获取演示文稿属性(关于演示文稿的信息): +## **获取演示文稿属性** +以下 C# 代码演示如何获取演示文稿属性(有关演示文稿的信息): ```c# IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo("pres.pptx"); IDocumentProperties props = info.ReadDocumentProperties(); @@ -59,40 +58,63 @@ Console.WriteLine(props.Title); // .. ``` -您可能希望查看 [DocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties) 类下的属性。 + +您可能想查看 [DocumentProperties 下的属性](https://reference.aspose.com/slides/net/aspose.slides/documentproperties/#properties) 类。 ## **更新演示文稿属性** -Aspose.Slides 提供了 [PresentationInfo.UpdateDocumentProperties](https://reference.aspose.com/slides/net/aspose.slides/presentationinfo/methods/updatedocumentproperties) 方法,允许您对演示文稿属性进行更改。 +Aspose.Slides 提供了 [PresentationInfo.UpdateDocumentProperties] 方法,允许您更改演示文稿属性。 假设我们有一个 PowerPoint 演示文稿,其文档属性如下所示。 ![PowerPoint 演示文稿的原始文档属性](input_properties.png) -以下代码示例展示了如何编辑一些演示文稿属性: - +以下代码示例演示如何编辑部分演示文稿属性: ```c# string fileName = "sample.pptx"; IPresentationInfo info = PresentationFactory.Instance.GetPresentationInfo(fileName); IDocumentProperties properties = info.ReadDocumentProperties(); -properties.Title = "我的标题"; +properties.Title = "My title"; properties.LastSavedTime = DateTime.Now; info.UpdateDocumentProperties(properties); info.WriteBindedPresentation(fileName); ``` -更改文档属性的结果如下所示。 -![PowerPoint 演示文稿的更改文档属性](output_properties.png) +更改文档属性后的结果如下所示。 + +![PowerPoint 演示文稿的更改后文档属性](output_properties.png) ## **有用链接** -要获取有关演示文稿及其安全属性的更多信息,您可能会发现以下链接很有用: +要获取有关演示文稿及其安全属性的更多信息,您可能会发现以下链接有用: -- [检查演示文稿是否加密](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) -- [检查演示文稿是否为写保护(只读)](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) +- [检查演示文稿是否已加密](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-encrypted) +- [检查演示文稿是否受写保护(只读)](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-write-protected) - [在加载之前检查演示文稿是否受密码保护](https://docs.aspose.com/slides/net/password-protected-presentation/#checking-whether-a-presentation-is-password-protected-before-loading-it) -- [确认用于保护演示文稿的密码](https://docs.aspose.com/slides/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/net/password-protected-presentation/#validating-or-confirming-that-a-specific-password-has-been-used-to-protect-a-presentation). + +## **常见问题** + +**如何检查字体是否已嵌入以及具体哪些字体?** + +查找演示文稿级别的 [嵌入字体信息](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getembeddedfonts/),然后将这些条目与 [实际在内容中使用的字体](https://reference.aspose.com/slides/net/aspose.slides/fontsmanager/getfonts/) 集合进行比较,以识别对渲染关键的字体。 + +**如何快速判断文件是否包含隐藏幻灯片以及数量?** + +遍历 [幻灯片集合](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/),检查每张幻灯片的 [可见性标志](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/)。 + +**我能检测是否使用了自定义幻灯片大小和方向,以及它们是否与默认值不同吗?** + +可以。将当前的 [幻灯片大小](https://reference.aspose.com/slides/net/aspose.slides/presentation/slidesize/) 和方向与标准预设进行比较;这有助于预测打印和导出时的行为。 + +**有没有快速方法查看图表是否引用外部数据源?** + +可以。遍历所有 [图表](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/),检查它们的 [数据源](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/datasourcetype/),并注意数据是内部的还是基于链接的,包括任何失效的链接。 + +**如何评估可能导致渲染或 PDF 导出变慢的“重量”幻灯片?** + +对于每张幻灯片,统计对象数量并查找大型图像、透明度、阴影、动画和多媒体;分配一个粗略的复杂度分数,以标记潜在的性能热点。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/import-presentation/_index.md b/zh/net/developer-guide/manage-presentation/import-presentation/_index.md index 5cb438f504..12bd9ecab8 100644 --- a/zh/net/developer-guide/manage-presentation/import-presentation/_index.md +++ b/zh/net/developer-guide/manage-presentation/import-presentation/_index.md @@ -8,20 +8,19 @@ keywords: "导入 PowerPoint, PDF 转 PowerPoint, HTML 转 PowerPoint, PDF 转 P description: "从 PDF 或 HTML 导入 PowerPoint。将 PDF 转换为 PowerPoint。将 HTML 转换为 PowerPoint" --- -使用 [**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/),您可以从其他格式的文件导入演示文稿。Aspose.Slides 提供了 [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) 类,以便您从 PDF 文档中导入演示文稿。 +使用[**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/),您可以从其他格式的文件导入演示文稿。Aspose.Slides 提供 [SlideCollection](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/) 类,以便从 PDF 文档导入演示文稿。 ## **从 PDF 导入 PowerPoint** -在本例中,您将把 PDF 转换为 PowerPoint 演示文稿。 +在这种情况下,您可以将 PDF 转换为 PowerPoint 演示文稿。 pdf-to-powerpoint -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例。 -2. 调用 [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) 方法并传入 PDF 文件。 +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例。 +2. 调用 [AddFromPdf](https://reference.aspose.com/slides/net/aspose.slides.slidecollection/addfrompdf/methods/1) 方法并传入 PDF 文件。 3. 使用 [Save](https://reference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) 方法将文件保存为 PowerPoint 格式。 -以下 C# 代码演示了 PDF 转 PowerPoint 的操作: - +下面的 C# 代码演示了 PDF 到 PowerPoint 的操作: ```c# using (Presentation pres = new Presentation()) { @@ -30,22 +29,20 @@ using (Presentation pres = new Presentation()) } ``` -{{% alert title="提示" color="primary" %}} - -您可能想查看 **Aspose 免费** [PDF 转 PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint) 网络应用,因为它是此处描述过程的实时实现。 +{{% alert title="TIP" color="primary" %}} +您可能想查看 **Aspose free** [PDF to PowerPoint](https://products.aspose.app/slides/import/pdf-to-powerpoint) 网络应用,因为它是此处描述的过程的实时实现。 {{% /alert %}} ## **从 HTML 导入 PowerPoint** -在本例中,您将把 HTML 文档转换为 PowerPoint 演示文稿。 +在这种情况下,您可以将 HTML 文档转换为 PowerPoint 演示文稿。 -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例。 -2. 调用 [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) 方法并传入 HTML 文件。 +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例。 +2. 调用 [AddFromHtml](https://reference.aspose.com/slides/net/aspose.slides/slidecollection/addfromhtml/#addfromhtml) 方法并传入 HTML 文件。 3. 使用 [Save](https://apireference.aspose.com/slides/net/aspose.slides.presentation/save/methods/5) 方法将文件保存为 PowerPoint 文档。 -以下 C# 代码演示了 HTML 转 PowerPoint 的操作: - +下面的 C# 代码演示了 HTML 到 PowerPoint 的操作: ```c# using (var presentation = new Presentation()) { @@ -58,9 +55,15 @@ using (var presentation = new Presentation()) } ``` -{{% alert title="注意" color="warning" %}} -您还可以使用 Aspose.Slides 将 HTML 转换为其他流行文件格式: +## **常见问题** + +**在导入 PDF 时表格是否会被保留,能否改进其检测?** + +在导入过程中可以检测表格;[PdfImportOptions](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/) 包含一个 [DetectTables](https://reference.aspose.com/slides/net/aspose.slides.import/pdfimportoptions/detecttables/) 参数,可启用表格识别。其效果取决于 PDF 的结构。 + +{{% alert title="Note" color="warning" %}} +您也可以使用 Aspose.Slides 将 HTML 转换为其他常用文件格式: * [HTML 转图片](https://products.aspose.com/slides/net/conversion/html-to-image/) * [HTML 转 JPG](https://products.aspose.com/slides/net/conversion/html-to-jpg/) diff --git a/zh/net/developer-guide/manage-presentation/manage-slide-show/_index.md b/zh/net/developer-guide/manage-presentation/manage-slide-show/_index.md new file mode 100644 index 0000000000..17623d940c --- /dev/null +++ b/zh/net/developer-guide/manage-presentation/manage-slide-show/_index.md @@ -0,0 +1,122 @@ +--- +title: 管理幻灯片放映 +type: docs +weight: 90 +url: /zh/net/manage-slide-show/ +keywords: +- 放映类型 +- 由演讲者呈现 +- 个人浏览 +- 展台浏览 +- 放映选项 +- 持续循环 +- 无解说放映 +- 无动画放映 +- 笔颜色 +- 放映幻灯片 +- 自定义放映 +- 推进幻灯片 +- 手动 +- 使用计时 +- PowerPoint +- 演示文稿 +- C# +- .NET +- Aspose.Slides for .NET +description: "使用 C# 在 PowerPoint 演示文稿中管理幻灯片放映设置" +--- + +在 Microsoft PowerPoint 中,**Slide Show** 设置是准备和演示专业幻灯片的关键工具。本节中最重要的功能之一是 **Set Up Show**,它允许您根据特定的环境和受众定制演示文稿,确保灵活性和便利性。通过此功能,您可以选择演示类型(例如,由演讲者呈现、个人浏览或在展台上浏览),启用或禁用循环,选择要显示的特定幻灯片,并使用计时。此准备步骤对于使您的演示更有效和专业至关重要。 + +`SlideShowSettings` 是 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的属性,类型为 [SlideShowSettings](https://reference.aspose.com/slides/net/aspose.slides/presentation/slideshowsettings/),用于管理 PowerPoint 演示文稿中的幻灯片放映设置。本文将探讨如何使用此属性来配置和控制幻灯片放映设置的各个方面。 + +## **选择放映类型** + +`SlideShowSettings.SlideShowType` 定义了幻灯片放映的类型,可以是以下类的实例:[PresentedBySpeaker](https://reference.aspose.com/slides/net/aspose.slides/presentedbyspeaker/)、[BrowsedByIndividual](https://reference.aspose.com/slides/net/aspose.slides/browsedbyindividual/) 或 [BrowsedAtKiosk](https://reference.aspose.com/slides/net/aspose.slides/browsedatkiosk/)。使用此属性可以使演示文稿适应不同的使用场景,例如自动展台或手动演示。 + +下面的代码示例创建一个新的演示文稿,并将放映类型设置为“Browsed by an individual”,且不显示滚动条。 +```cs +using var presentation = new Presentation(); + +var showType = new BrowsedByIndividual +{ + ShowScrollbar = false +}; + +presentation.SlideShowSettings.SlideShowType = showType; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **启用放映选项** + +`SlideShowSettings.Loop` 决定幻灯片放映是否应循环重复,直到手动停止。这对于需要持续运行的自动化演示非常有用。`SlideShowSettings.ShowNarration` 决定在放映期间是否播放语音解说,适用于包含语音指导的自动化演示。`SlideShowSettings.ShowAnimation` 决定是否播放添加到幻灯片对象的动画,以提供完整的视觉效果。 + +下面的代码示例创建一个新的演示文稿并循环放映。 +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.Loop = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **选择要放映的幻灯片** + +`SlideShowSettings.Slides` 属性允许您选择在演示期间要显示的幻灯片范围。当只需展示演示文稿的部分内容而非全部幻灯片时,这非常有用。以下代码示例创建一个新的演示文稿,并将幻灯片范围设置为显示第 `2` 张到第 `9` 张幻灯片。 +```cs +using var presentation = new Presentation(); + +var slideRange = new SlidesRange +{ + Start = 2, + End = 9 +}; + +presentation.SlideShowSettings.Slides = slideRange; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **使用预设计时** + +`SlideShowSettings.UseTimings` 属性允许您启用或禁用对每张幻灯片使用预设计时。这对于按预定义显示时长自动播放幻灯片非常有用。下面的代码示例创建一个新的演示文稿并关闭计时的使用。 +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.UseTimings = false; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **显示媒体控制** + +`SlideShowSettings.ShowMediaControls` 属性决定在放映期间播放多媒体内容(例如视频或音频)时,是否显示媒体控制(如播放、暂停、停止)。当您希望在演示过程中为演示者提供媒体播放控制时,这非常有用。 + +下面的代码示例创建一个新的演示文稿,并启用媒体控制的显示。 +```cs +using var presentation = new Presentation(); + +presentation.SlideShowSettings.ShowMediaControls = true; + +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + +## **常见问题** + +**我可以将演示文稿保存为直接在放映模式打开吗?** + +是的。将文件另存为 PPSX 或 PPSM;这些格式在 PowerPoint 中打开时会直接启动放映模式。在 Aspose.Slides 中,选择相应的保存格式[在导出期间](/slides/zh/net/save-presentation/)。 + +**我可以在不从文件中删除的情况下将单个幻灯片排除在放映之外吗?** + +是的。将幻灯片标记为[Hidden](https://reference.aspose.com/slides/net/aspose.slides/slide/hidden/)。隐藏的幻灯片仍保留在演示文稿中,但在放映时不会显示。 + +**Aspose.Slides 能够播放幻灯片放映或在屏幕上控制现场演示吗?** + +不能。Aspose.Slides 用于编辑、分析和转换演示文件,实际的播放由 PowerPoint 等查看器应用程序完成。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/merge-presentation/_index.md b/zh/net/developer-guide/manage-presentation/merge-presentation/_index.md index f8660d8ead..7a26bf7bb7 100644 --- a/zh/net/developer-guide/manage-presentation/merge-presentation/_index.md +++ b/zh/net/developer-guide/manage-presentation/merge-presentation/_index.md @@ -1,73 +1,87 @@ --- -title: 使用 C# 合并 PowerPoint 演示文稿 PPT, PPTX +title: 使用 C# 高效合并 PowerPoint 演示文稿(PPT,PPTX) linktitle: 合并演示文稿 type: docs weight: 40 url: /zh/net/merge-presentation/ -keywords: "合并 PowerPoint, PPTX, PPT, 合并 PowerPoint, 合并演示文稿, C#, Csharp, .NET" -description: "在 C# 或 .NET 中合并或组合 PowerPoint 演示文稿" +keywords: "合并 PowerPoint, PPTX, PPT, 合并 PowerPoint, 合并演示文稿, 合并演示文稿, C#, Csharp, .NET" +description: "学习如何在 C# 或 .NET 中轻松合并或组合 PowerPoint 演示文稿。" --- -{{% alert title="提示" color="primary" %}} +## **优化演示文稿合并** -您可能想要查看 **Aspose 免费在线** [合并应用](https://products.aspose.app/slides/merger)。它允许用户合并相同格式的 PowerPoint 演示文稿(PPT 到 PPT,PPTX 到 PPTX 等)以及合并不同格式的演示文稿(PPT 到 PPTX,PPTX 到 ODP 等)。 +使用 [Aspose.Slides for .NET](https://products.aspose.com/slides/net/),可无缝合并 PowerPoint 演示文稿,同时保留样式、布局和所有元素。不同于其他工具,Aspose.Slides 在合并演示文稿时不会降低质量或丢失数据。可合并整个演示文稿、特定幻灯片,甚至不同文件格式(PPT 转 PPTX 等)。 -[![todo:image_alt_text](slides-merger.png)](https://products.aspose.app/slides/merger) +### **合并功能** -{{% /alert %}} +- **完整演示文稿合并:** 将所有幻灯片组合成一个文件。 +- **特定幻灯片合并:** 选择并合并所需的幻灯片。 +- **跨格式合并:** 合并不同格式的演示文稿,保持完整性。 +{{% alert title="Tip" color="primary" %}} + +想要快速且 **免费的在线工具** 来 **合并 PowerPoint 演示文稿** 吗?请尝试 [**Aspose PowerPoint 合并器**](https://products.aspose.app/slides/merger)。 + +- **轻松合并 PowerPoint 文件**:将多个 **PPT、PPTX、ODP** 演示文稿合并为单个文件。 +- **支持不同格式**:合并 **PPT 到 PPTX**、**PPTX 到 ODP** 等。 +- **无需安装**:直接在浏览器中运行,快速且安全。 + +[![在线合并 PowerPoint 文件](slides-merger.png)](https://products.aspose.app/slides/merger) + +立即使用 **Aspose 免费在线工具** 合并您的 PowerPoint 文件! + +{{% /alert %}} ## **演示文稿合并** -当您 [将一个演示文稿合并到另一个演示文稿](https://products.aspose.com/slides/net/merger/ppt/) 时,您实际上是在将它们的幻灯片组合到一个演示文稿中,以获得一个文件。 +当您 [将一个演示文稿合并到另一个演示文稿](https://products.aspose.com/slides/net/merger/ppt/) 时,实际上是将它们的幻灯片组合到同一个演示文稿中,生成一个文件。 -{{% alert title="信息" color="info" %}} +{{% alert title="Info" color="info" %}} -大多数演示文稿程序(PowerPoint 或 OpenOffice)缺乏允许用户以这种方式组合演示文稿的功能。 +大多数演示文稿程序(PowerPoint 或 OpenOffice)缺少允许用户以这种方式合并演示文稿的功能。 -然而, [**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/) 允许您以不同方式合并演示文稿。您可以合并具有所有形状、样式、文本、格式、评论、动画等的演示文稿,而无需担心质量或数据的损失。 +[**Aspose.Slides for .NET**](https://products.aspose.com/slides/net/) 则提供多种合并演示文稿的方式。您可以合并包含所有形状、样式、文本、格式、批注、动画等的演示文稿,而无需担心质量或数据的损失。 -**另见** +**另请参阅** [克隆幻灯片](https://docs.aspose.com/slides/net/cloning-commenting-and-manipulating-slides/#cloning-commentingandmanipulatingslides-cloningslides)*.* {{% /alert %}} -### **可以合并的内容** +### **可合并的内容** -使用 Aspose.Slides,您可以合并 +使用 Aspose.Slides,您可以合并 -* 整个演示文稿。所有演示文稿中的幻灯片最终被放入一个演示文稿中 -* 特定的幻灯片。所选幻灯片最终放入一个演示文稿中 -* 同一格式的演示文稿(PPT 到 PPT,PPTX 到 PPTX 等)以及不同格式的演示文稿(PPT 到 PPTX,PPTX 到 ODP 等)。 +* 整个演示文稿。所有幻灯片都会放入一个演示文稿中。 +* 特定幻灯片。选中的幻灯片会放入一个演示文稿中。 +* 同一格式的演示文稿(PPT 到 PPT、PPTX 到 PPTX 等)以及不同格式的演示文稿(PPT 到 PPTX、PPTX 到 ODP 等)相互合并。 -{{% alert title="注意" color="warning" %}} +{{% alert title="Note" color="warning" %}} -除了演示文稿,Aspose.Slides 还允许您合并其他文件: +除了演示文稿,Aspose.Slides 还允许合并其他文件: -* [图像](https://products.aspose.com/slides/net/merger/image-to-image/),如 [JPG 到 JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/) 或 [PNG 到 PNG](https://products.aspose.com/slides/net/merger/png-to-png/) -* 文档,如 [PDF 到 PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/) 或 [HTML 到 HTML](https://products.aspose.com/slides/net/merger/html-to-html/) -* 以及两种不同的文件,如 [图像到 PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/) 或 [JPG 到 PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/) 或 [TIFF 到 PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/)。 +* [图像](https://products.aspose.com/slides/net/merger/image-to-image/),例如 [JPG 到 JPG](https://products.aspose.com/slides/net/merger/jpg-to-jpg/) 或 [PNG 到 PNG](https://products.aspose.com/slides/net/merger/png-to-png/) +* 文档,例如 [PDF 到 PDF](https://products.aspose.com/slides/net/merger/pdf-to-pdf/) 或 [HTML 到 HTML](https://products.aspose.com/slides/net/merger/html-to-html/) +* 以及两种不同类型的文件,例如 [图像转 PDF](https://products.aspose.com/slides/net/merger/image-to-pdf/) 或 [JPG 转 PDF](https://products.aspose.com/slides/net/merger/jpg-to-pdf/) 或 [TIFF 转 PDF](https://products.aspose.com/slides/net/merger/tiff-to-pdf/)。 {{% /alert %}} ### **合并选项** -您可以应用选项来确定是否 +您可以设置以下选项以决定 -* 输出演示文稿中的每个幻灯片保留唯一的样式 -* 输出演示文稿中的所有幻灯片使用特定的样式。 +* 输出演示文稿中的每张幻灯片是否保留各自的样式 +* 是否为所有输出幻灯片使用统一的样式 -要合并演示文稿,Aspose.Slides 提供 [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) 方法(来自 [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection) 接口)。有几种 `AddClone` 方法的实现定义演示文稿合并过程中的参数。每个 Presentation 对象都有一个 [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) 集合,因此您可以从要合并幻灯片的演示文稿调用 `AddClone` 方法。 +要合并演示文稿,Aspose.Slides 提供了 [AddClone](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) 方法(来自 [ISlideCollection](https://reference.aspose.com/slides/net/aspose.slides/islidecollection) 接口)。`AddClone` 方法有多种实现,定义了演示文稿合并过程的参数。每个 Presentation 对象都有一个 [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/slides) 集合,您可以从目标演示文稿调用 `AddClone` 方法以合并幻灯片。 -`AddClone` 方法返回一个 `ISlide` 对象,它是源幻灯片的克隆。输出演示文稿中的幻灯片只是源幻灯片的副本。因此,您可以在结果幻灯片上进行更改(例如,应用样式或格式选项或布局),而不必担心源演示文稿会受到影响。 +`AddClone` 方法返回一个 `ISlide` 对象,即源幻灯片的克隆。输出演示文稿中的幻灯片仅是源幻灯片的副本。因此,您可以对生成的幻灯片进行更改(例如应用样式、格式选项或布局),而无需担心影响源演示文稿。 ## **合并演示文稿** -Aspose.Slides 提供 [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) 方法,允许您合并幻灯片,同时保留幻灯片的布局和样式(默认参数)。 - -以下 C# 代码向您展示了如何合并演示文稿: +Aspose.Slides 提供了 [**AddClone (ISlide)**](https://reference.aspose.com/slides/net/aspose.slides/islidecollection/methods/addclone) 方法,允许在保留布局和样式的前提下合并幻灯片(默认参数)。 +下面的 C# 代码演示了如何合并演示文稿: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -81,12 +95,12 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **带幻灯片母版的合并演示文稿** -Aspose.Slides 提供 [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2) 方法,允许您合并幻灯片,同时应用幻灯片母版演示文稿模板。这样,如果需要,您可以更改输出演示文稿中幻灯片的样式。 +## **使用幻灯片母版合并演示文稿** -以下 C# 代码演示了所描述的操作: +Aspose.Slides 提供了 [**AddClone (ISlide, IMasterSlide, Boolean)**](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/2) 方法,允许在合并幻灯片时应用幻灯片母版模板。这样,必要时您可以更改输出演示文稿中幻灯片的样式。 +下面的 C# 代码展示了上述操作: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -100,35 +114,59 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -{{% alert title="注意" color="warning" %}} -幻灯片母版的幻灯片布局是自动确定的。当无法确定合适的布局时,如果 `AddClone` 方法的 `allowCloneMissingLayout` 布尔参数设置为 true,则使用源幻灯片的布局。否则,将抛出 [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception)。 +{{% alert title="Note" color="warning" %}} + +幻灯片母版的布局会自动确定。如果无法确定合适的布局,当 `AddClone` 方法的 `allowCloneMissingLayout` 布尔参数设为 true 时,将使用源幻灯片的布局。否则,将抛出 [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception)。 {{% /alert %}} -如果您希望输出演示文稿中的幻灯片具有不同的幻灯片布局,请在合并时使用 [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1) 方法。 +如果希望输出演示文稿中的幻灯片使用不同的布局,请在合并时改用 [AddClone (ISlide, ILayoutSlide)](https://reference.aspose.com/slides/net/aspose.slides.islidecollection/addclone/methods/1) 方法。 -## **从演示文稿中合并特定幻灯片** +## **从演示文稿中合并特定幻灯片** -以下 C# 代码向您展示了如何选择和合并来自不同演示文稿的特定幻灯片,以获得一个输出演示文稿: +从多个演示文稿中合并特定幻灯片对于创建自定义幻灯片套件非常有用。Aspose.Slides for .NET 允许您仅选择并导入所需的幻灯片。API 会保留原始幻灯片的格式、布局和设计。 -```c# -using (Presentation pres1 = new Presentation("pres1.pptx"), - pres2 = new Presentation("pres2.pptx")) +下面的 C# 代码创建了一个新演示文稿,从两个其他演示文稿中添加标题幻灯片,并将结果保存到文件: +```cs +using (Presentation presentation = new Presentation()) +using (Presentation presentation1 = new Presentation("presentation1.pptx")) +using (Presentation presentation2 = new Presentation("presentation2.pptx")) { - foreach (ISlide slide in pres2.Slides) + presentation.Slides.RemoveAt(0); + + ISlide slide1 = GetTitleSlide(presentation1); + + if (slide1 != null) + presentation.Slides.AddClone(slide1); + + ISlide slide2 = GetTitleSlide(presentation2); + + if (slide2 != null) + presentation.Slides.AddClone(slide2); + + presentation.Save("combined.pptx", SaveFormat.Pptx); +} +``` + +```cs +static ISlide GetTitleSlide(IPresentation presentation) +{ + foreach (ISlide slide in presentation.Slides) { - pres1.Slides.AddClone(slide, pres2.LayoutSlides[0]); + if (slide.LayoutSlide.LayoutType == SlideLayoutType.Title) + { + return slide; + } } - - pres1.Save("combined.pptx", SaveFormat.Pptx); + return null; } ``` -## **带幻灯片布局的合并演示文稿** -以下 C# 代码向您展示了如何在合并演示文稿的幻灯片时应用您首选的幻灯片布局,以获得一个输出演示文稿: +## **使用幻灯片布局合并演示文稿** +下面的 C# 代码演示了如何在合并演示文稿时为幻灯片应用首选布局,从而得到一个输出演示文稿: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -142,18 +180,18 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **合并不同幻灯片大小的演示文稿** -{{% alert title="注意" color="warning" %}} +## **合并不同幻灯片尺寸的演示文稿** -您无法合并具有不同幻灯片大小的演示文稿。 +{{% alert title="Note" color="warning" %}} -{{% /alert %}} +不能合并尺寸不同的演示文稿。 -要合并具有不同幻灯片大小的 2 个演示文稿,您必须调整其中一个演示文稿的大小以使其与另一个演示文稿的大小匹配。 +{{% /alert %}} -以下示例代码演示了所描述的操作: +要合并两个尺寸不同的演示文稿,必须先调整其中一个的尺寸,使其与另一个演示文稿的尺寸匹配。 +下面的示例代码演示了上述操作: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -169,10 +207,10 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -## **将幻灯片合并到演示文稿部分** -以下 C# 代码向您展示了如何将特定幻灯片合并到演示文稿中的一个部分: +## **将幻灯片合并到演示文稿章节** +下面的 C# 代码演示了如何将特定幻灯片合并到演示文稿的某个章节: ```c# using (Presentation pres1 = new Presentation("pres1.pptx"), pres2 = new Presentation("pres2.pptx")) @@ -187,10 +225,29 @@ using (Presentation pres1 = new Presentation("pres1.pptx"), } ``` -幻灯片将被添加到该部分的末尾。 -{{% alert title="提示" color="primary" %}} +该幻灯片会被添加到章节的末尾。 + +{{% alert title="Tip" color="primary" %}} + +Aspose 提供了一个 [免费拼图 Web 应用](https://products.aspose.app/slides/collage)。使用此在线服务,您可以合并 [JPG 到 JPG](https://products.aspose.app/slides/collage/jpg) 或 PNG 到 PNG 图像,创建 [照片网格](https://products.aspose.app/slides/collage/photo-grid) 等。 + +{{% /alert %}} + +## **常见问题** + +**合并时是否会保留演讲者备注?** + +会的。克隆幻灯片时,Aspose.Slides 会复制所有幻灯片元素,包括备注、格式和动画。 + +**评论及其作者会被转移吗?** + +评论是幻灯片内容的一部分,随幻灯片一起复制。评论作者标签会作为评论对象保存在生成的演示文稿中。 + +**如果源演示文稿受密码保护怎么办?** + +必须使用 [LoadOptions.Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) 通过[密码打开](/slides/zh/net/password-protected-presentation/)后,才能安全地将这些幻灯片克隆到未受保护的目标文件(或同样受保护的文件)中。 -Aspose 提供了一个 [免费拼贴网络应用](https://products.aspose.app/slides/collage)。使用此在线服务,您可以合并 [JPG 到 JPG](https://products.aspose.app/slides/collage/jpg) 或 PNG 到 PNG 图像,创建 [照片网格](https://products.aspose.app/slides/collage/photo-grid),等等。 +**合并操作的线程安全性如何?** -{{% /alert %}} \ No newline at end of file +请勿在 [多个线程](/slides/zh/net/multithreading/) 中使用同一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 实例。推荐的规则是“一个文档 — 一个线程”;不同文件可以在各自的线程中并行处理。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/open-presentation/_index.md b/zh/net/developer-guide/manage-presentation/open-presentation/_index.md index c92a657f71..7e586b89fa 100644 --- a/zh/net/developer-guide/manage-presentation/open-presentation/_index.md +++ b/zh/net/developer-guide/manage-presentation/open-presentation/_index.md @@ -4,105 +4,124 @@ linktitle: 打开演示文稿 type: docs weight: 20 url: /zh/net/open-presentation/ -keywords: "打开 PowerPoint, PPTX, PPT, 打开演示文稿, 加载演示文稿, C#, Csharp, .NET" -description: "在 C# 或 .NET 中打开或加载演示文稿 PPT,PPTX,ODP" +keywords: +- 打开 PowerPoint +- 打开演示文稿 +- 打开 PPTX +- 打开 PPT +- 打开 ODP +- 加载演示文稿 +- 加载 PPTX +- 加载 PPT +- 加载 ODP +- 受保护的演示文稿 +- 大型演示文稿 +- 外部资源 +- 二进制对象 +- .NET +- C# +- Aspose.Slides +description: "使用 Aspose.Slides for .NET 轻松打开 PowerPoint(.pptx、.ppt)和 OpenDocument(.odp)演示文稿——快速、可靠、功能齐全。" --- -除了从头创建 PowerPoint 演示文稿,Aspose.Slides 还允许您打开现有演示文稿。在您加载演示文稿后,可以获取有关演示文稿的信息,编辑演示文稿(幻灯片上的内容),添加新幻灯片或删除现有幻灯片等。 +## **概述** -## 打开演示文稿 +除了从头创建 PowerPoint 演示文稿,Aspose.Slides 还可以打开现有的演示文稿。加载演示文稿后,您可以检索其信息、编辑幻灯片内容、添加新幻灯片、删除已有幻灯片等。 -要打开现有演示文稿,您只需实例化 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类,并将文件路径(要打开的演示文稿的路径)传递给它的构造函数。 +## **打开演示文稿** -以下 C# 代码演示如何打开演示文稿,并找出其包含的幻灯片数量: +要打开现有演示文稿,实例化 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类并将文件路径传递给其构造函数。 -```c# -// 实例化 Presentation 类,并将文件路径传递给其构造函数 -Presentation pres = new Presentation("OpenPresentation.pptx"); - -// 打印演示文稿中存在的幻灯片总数 -System.Console.WriteLine(pres.Slides.Count.ToString()); +以下 C# 示例展示了如何打开演示文稿并获取其幻灯片计数: +```cs +// 实例化 Presentation 类并将文件路径传递给其构造函数。 +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + // 打印演示文稿中的幻灯片总数。 + System.Console.WriteLine(presentation.Slides.Count); +} ``` -## **打开受密码保护的演示文稿** -当您需要打开受密码保护的演示文稿时,可以通过 [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) 属性(来自 [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) 类)传递密码,以解密并加载演示文稿。以下 C# 代码演示该操作: +## **打开受密码保护的演示文稿** -```c# - LoadOptions loadOptions = new LoadOptions {Password = "YOUR_PASSWORD"}; - using (Presentation presentation = new Presentation("pres.pptx", loadOptions)) - { - // 对解密后的演示文稿进行一些操作 - } +当需要打开受密码保护的演示文稿时,通过 [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) 类的 [Password](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/password/) 属性传入密码即可解密并加载。以下 C# 代码演示了此操作: +```cs +LoadOptions loadOptions = new LoadOptions {Password = "YOUR_PASSWORD"}; +using (Presentation presentation = new Presentation("Sample.pptx", loadOptions)) +{ + // 对解密后的演示文稿执行操作。 +} ``` -## 打开大型演示文稿 -Aspose.Slides 提供选项(尤其是 [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) 属性)来允许您加载大型演示文稿。 +## **打开大型演示文稿** -以下 C# 演示了一项操作,其中加载一个大型演示文稿(例如 2GB 大小): +Aspose.Slides 提供了选项——特别是 [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) 类中的 [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/blobmanagementoptions/) 属性——帮助您加载大型演示文稿。 -```c# -const string pathToVeryLargePresentationFile = "veryLargePresentation.pptx"; +以下 C# 代码演示了加载大型演示文稿(例如 2 GB)的过程: +```cs +const string filePath = "LargePresentation.pptx"; LoadOptions loadOptions = new LoadOptions { - BlobManagementOptions = { - // 选择 KeepLocked 行为 - "veryLargePresentation.pptx" 将在 - // 演示文稿的实例生命周期内保持锁定,但我们不需要将其加载到内存中或复制到 - // 临时文件 + BlobManagementOptions = + { + // 选择 KeepLocked 行为——演示文稿文件将在整个生命周期内保持锁定 + // 演示实例期间,但它不需要加载到内存或复制到临时文件。 PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, + IsTemporaryFilesAllowed = true, + MaxBlobsBytesInMemory = 10 * 1024 * 1024 // 10 MB } }; -using (Presentation pres = new Presentation(pathToVeryLargePresentationFile, loadOptions)) +using (Presentation presentation = new Presentation(filePath, loadOptions)) { - // 大型演示文稿已被加载并可以使用,但内存消耗仍然较低。 + // 大型演示文稿已加载并可使用,同时内存消耗保持低水平。 // 对演示文稿进行更改。 - pres.Slides[0].Name = "非常大的演示文稿"; + presentation.Slides[0].Name = "Large presentation"; - // 演示文稿将保存到另一个文件。操作期间内存消耗保持较低 - pres.Save("veryLargePresentation-copy.pptx", SaveFormat.Pptx); + // 将演示文稿保存到另一个文件。此操作期间内存消耗保持低水平。 + presentation.Save("LargePresentation-copy.pptx", SaveFormat.Pptx); - // 不能这样做!将抛出 IO 异常,因为文件在 pres 对象未被 - // 释放时被锁定 - File.Delete(pathToVeryLargePresentationFile); + // 不要这样做!会抛出 I/O 异常,因为文件在演示稿对象释放之前会被锁定。 + File.Delete(filePath); } -// 此时可以这样做,源文件未被 pres 对象锁定 -File.Delete(pathToVeryLargePresentationFile); +// 在这里执行是可以的。源文件已不再被演示文稿对象锁定。 +File.Delete(filePath); ``` -{{% alert color="info" title="信息" %}} - -为避免在与流交互时遇到某些限制,Aspose.Slides 可能会复制流的内容。通过其流加载大型演示文稿将导致演示文稿内容的复制并导致加载缓慢。因此,当您打算加载大型演示文稿时,我们强烈建议您使用演示文稿文件路径,而不是其流。 -当您想创建一个包含大型对象(视频、音频、大图像等)的演示文稿时,可以使用 [Blob facility](https://docs.aspose.com/slides/net/manage-blob/) 以减少内存消耗。 +{{% alert color="info" title="Info" %}} +为了解决在使用流时的某些限制,Aspose.Slides 可能会复制流的内容。从流加载大型演示文稿会导致演示文稿被复制,从而降低加载速度。因此,在需要加载大型演示文稿时,我们强烈建议使用演示文稿文件路径而非流。 -{{%/alert %}} +在创建包含大对象(视频、音频、高分辨率图像等)的演示文稿时,您可以使用 [BLOB management](/slides/zh/net/manage-blob/) 来降低内存消耗。 +{{%/alert %}} +## **控制外部资源** -## 加载演示文稿 -Aspose.Slides 提供 [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) 及其单个方法,以允许您管理外部资源。以下 C# 代码演示如何使用 `IResourceLoadingCallback` 接口: +Aspose.Slides 提供了 [IResourceLoadingCallback](https://reference.aspose.com/slides/net/aspose.slides/iresourceloadingcallback/) 接口,以便您管理外部资源。以下 C# 代码展示了如何使用 `IResourceLoadingCallback` 接口: +```cs +LoadOptions loadOptions = new LoadOptions(); +loadOptions.ResourceLoadingCallback = new ImageLoadingHandler(); -```c# -LoadOptions opts = new LoadOptions(); -opts.ResourceLoadingCallback = new ImageLoadingHandler(); -Presentation presentation = new Presentation("presentation.pptx", opts); +Presentation presentation = new Presentation("Sample.pptx", loadOptions); ``` -```c# +```cs public class ImageLoadingHandler : IResourceLoadingCallback { public ResourceLoadingAction ResourceLoading(IResourceLoadingArgs args) { if (args.OriginalUri.EndsWith(".jpg")) { - try // 加载替代图像 + try { - byte[] imageBytes = File.ReadAllBytes("c:\\aspose-logo.jpg"); - args.SetData(imageBytes); + // 加载替代图像。 + byte[] imageData = File.ReadAllBytes("aspose-logo.jpg"); + args.SetData(imageData); return ResourceLoadingAction.UserProvided; } catch (Exception) @@ -112,53 +131,52 @@ public class ImageLoadingHandler : IResourceLoadingCallback } else if (args.OriginalUri.EndsWith(".png")) { - // 设置替代网址 + // 设置替代 URL。 args.Uri = "http://www.google.com/images/logos/ps_logo2.png"; return ResourceLoadingAction.Default; } - // 跳过所有其他图像 + // 跳过所有其他图像。 return ResourceLoadingAction.Skip; } } ``` -## 加载不包含嵌入二进制对象的演示文稿 - -PowerPoint 演示文稿可以包含以下类型的嵌入二进制对象: -- VBA 项目 ([IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/)); -- 嵌入的 OLE 对象数据 ([IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/)); -- ActiveX 控件二进制数据 ([IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/)); +## **在不加载嵌入二进制对象的情况下加载演示文稿** -通过 [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/) 属性,您可以加载不包含任何嵌入二进制对象的演示文稿。 +PowerPoint 演示文稿可能包含以下类型的嵌入二进制对象: -该属性对于删除潜在的恶意二进制内容非常有用。 +- VBA 项目(可通过 [IPresentation.VbaProject](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/vbaproject/) 访问); +- OLE 对象嵌入数据(可通过 [IOleEmbeddedDataInfo.EmbeddedFileData](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo/embeddedfiledata/) 访问); +- ActiveX 控件二进制数据(可通过 [IControl.ActiveXControlBinary](https://reference.aspose.com/slides/net/aspose.slides/icontrol/activexcontrolbinary/) 访问)。 -以下 C# 代码演示如何加载和保存没有恶意内容的演示文稿: +使用 [ILoadOptions.DeleteEmbeddedBinaryObjects](https://reference.aspose.com/slides/net/aspose.slides/iloadoptions/deleteembeddedbinaryobjects/) 属性,您可以在加载演示文稿时移除所有嵌入的二进制对象。 -```c# +此属性对于删除可能的恶意二进制内容非常有用。以下 C# 代码演示了如何在不加载任何嵌入二进制内容的情况下加载演示文稿: +```cs LoadOptions loadOptions = new LoadOptions() { DeleteEmbeddedBinaryObjects = true } -using (var pres = new Presentation("malware.ppt", loadOptions)) +using (Presentation presentation = new Presentation("malware.ppt", loadOptions)) { - pres.Save("clean.ppt", SaveFormat.Ppt); + // 对演示文稿执行操作。 } ``` -

打开和保存演示文稿

-步骤:在 C# 中打开和保存演示文稿 +## **常见问题** + +**如何判断文件已损坏且无法打开?** + +加载时会抛出解析/格式验证异常。此类错误通常提示 ZIP 结构无效或 PowerPoint 记录损坏。 + +**打开时缺少必需的字体会怎样?** -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例,并传递您想要打开的文件。 -2. 保存演示文稿。 +文件仍会打开,但随后在[渲染/导出](/slides/zh/net/convert-presentation/)时可能会替换字体。请在运行时环境中[配置字体替换](/slides/zh/net/font-substitution/)或[添加所需字体](/slides/zh/net/custom-font/)。 -```c# -// 加载任何支持的演示文稿,例如 ppt、pptx、odp -Presentation presentation = new Presentation("Sample.odp"); +**打开时嵌入的媒体(视频/音频)会怎样?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +它们会作为演示文稿资源可用。如果媒体通过外部路径引用,请确保这些路径在您的环境中可访问;否则在[渲染/导出](/slides/zh/net/convert-presentation/)时可能会省略这些媒体。 \ No newline at end of file diff --git a/zh/net/developer-guide/manage-presentation/save-presentation/_index.md b/zh/net/developer-guide/manage-presentation/save-presentation/_index.md index d122292152..153631024d 100644 --- a/zh/net/developer-guide/manage-presentation/save-presentation/_index.md +++ b/zh/net/developer-guide/manage-presentation/save-presentation/_index.md @@ -1,155 +1,195 @@ --- -title: 在.NET中保存演示文稿 +title: 在 .NET 中保存演示文稿 linktitle: 保存演示文稿 type: docs weight: 80 url: /zh/net/save-presentation/ -keywords: "保存PowerPoint, PPT, PPTX, 保存演示文稿, 文件, 流, C#, Csharp, .NET" -description: "在C#或.NET中将PowerPoint演示文稿保存为文件或流" +keywords: +- 保存 PowerPoint +- 保存 OpenDocument +- 保存演示文稿 +- 保存幻灯片 +- 保存 PPT +- 保存 PPTX +- 保存 ODP +- 演示文稿到文件 +- 演示文稿到流 +- 预定义视图类型 +- 严格 Office Open XML 格式 +- Zip64 模式 +- 刷新缩略图 +- 保存进度 +- .NET +- C# +- Aspose.Slides +description: "了解如何使用 Aspose.Slides 在 .NET 中保存演示文稿——导出为 PowerPoint 或 OpenDocument,同时保留布局、字体和效果。" --- -## **保存演示文稿** -打开演示文稿描述了如何使用[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类打开演示文稿。本文解释了如何创建和保存演示文稿。 -[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类持有演示文稿的内容。无论是从头创建演示文稿还是修改现有演示文稿,完成后都希望保存演示文稿。使用Aspose.Slides for .NET,可以将其保存为**文件**或**流**。本文解释了如何以不同方式保存演示文稿: +## **概览** -### **将演示文稿保存为文件** -通过调用[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)方法将演示文稿保存为文件。只需将文件名和保存格式传递给[Save](https://reference.aspose.com/slides/net/aspose.slides/presentation/methods/save/index)方法。以下示例显示了如何使用C#和Aspose.Slides for .NET保存演示文稿。 +[在 C# 中打开演示文稿](/slides/zh/net/open-presentation/) 说明了如何使用 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类打开演示文稿。本文介绍如何创建和保存演示文稿。Presentation 类包含演示文稿的内容。无论是从头创建演示文稿还是修改已有演示文稿,完成后都需要保存。使用 Aspose.Slides for .NET,您可以将演示文稿保存为 **文件** 或 **流**。本文阐述了保存演示文稿的不同方式。 -```c# -// 实例化一个表示PPT文件的Presentation对象 -Presentation presentation= new Presentation(); +## **将演示文稿保存为文件** -//...在这里做一些工作... +通过调用 Presentation 类的 `Save` 方法,可以将演示文稿保存为文件。将文件名和保存格式作为参数传递给该方法。下面的示例演示了如何使用 Aspose.Slides 保存演示文稿。 +```cs +// 实例化表示演示文稿文件的 Presentation 类。 +using (Presentation presentation = new Presentation()) +{ + // 在此执行一些操作... -// 将您的演示文稿保存到文件 -presentation.Save("Saved_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); + // 将演示文稿保存到文件。 + presentation.Save("Output.pptx", SaveFormat.Pptx); +} ``` -### **将演示文稿保存为流** -通过将输出流传递给[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的Save方法,可以将演示文稿保存为流。有多种类型的流可以保存演示文稿。在下面的示例中,我们创建了一个新的演示文稿文件,在形状中添加文本,并将演示文稿保存到流中。 +## **将演示文稿保存到流** -```c# -// 实例化一个表示PPT文件的Presentation对象 +您可以通过向 Presentation 类的 `Save` 方法传入输出流,将演示文稿保存到流中。演示文稿可以写入多种流类型。以下示例创建了一个新演示文稿并将其保存到文件流。 +```cs +// 实例化表示演示文稿文件的 Presentation 类。 using (Presentation presentation = new Presentation()) { + using (FileStream fileStream = new FileStream("Output.pptx", FileMode.Create)) + { + // 将演示文稿保存到流。 + presentation.Save(fileStream, SaveFormat.Pptx); + } +} +``` - IAutoShape shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 200, 200); - // 向形状添加文本 - shape.TextFrame.Text = "此演示展示了如何创建PowerPoint文件并将其保存到流中。"; +## **使用预定义视图类型保存演示文稿** - FileStream toStream = new FileStream("Save_As_Stream_out.pptx", FileMode.Create); - presentation.Save(toStream, Aspose.Slides.Export.SaveFormat.Pptx); - toStream.Close(); +Aspose.Slides 允许您通过 ViewProperties 类设置生成的演示文稿打开时 PowerPoint 使用的初始视图。将 LastView 属性设置为 ViewType 枚举中的某个值。 +```cs +using (Presentation presentation = new Presentation()) +{ + presentation.ViewProperties.LastView = ViewType.SlideMasterView; + presentation.Save("SlideMasterView.pptx", SaveFormat.Pptx); } ``` -### **保存具有预定义视图类型的演示文稿** -Aspose.Slides for .NET提供了一种功能,可以在PowerPoint中打开生成的演示文稿时设置视图类型,通过[ViewProperties](https://reference.aspose.com/slides/net/aspose.slides/viewproperties)类。[LastView](https://reference.aspose.com/slides/net/aspose.slides/viewproperties/properties/lastview)属性用于通过使用[ViewType](https://reference.aspose.com/slides/net/aspose.slides/viewtype)枚举来设置视图类型。 +## **以 Strict Office Open XML 格式保存演示文稿** + +Aspose.Slides 允许您以 Strict Office Open XML 格式保存演示文稿。保存时使用 PptxOptions 类并设置其 Conformance 属性。如果将其设为 `Conformance.Iso29500_2008_Strict`,输出文件将以 Strict Office Open XML 格式保存。 -```csharp -using (Presentation pres = new Presentation()) +下面的示例创建了一个演示文稿并以 Strict Office Open XML 格式保存。 +```cs +PptxOptions options = new PptxOptions() { - pres.ViewProperties.LastView = ViewType.SlideMasterView; - pres.Save("pres-will-open-SlideMasterView.pptx", SaveFormat.Pptx); + Conformance = Conformance.Iso29500_2008_Strict +}; + +// 实例化表示演示文稿文件的 Presentation 类。 +using (Presentation presentation = new Presentation()) +{ + // 将演示文稿保存为 Strict Office Open XML 格式。 + presentation.Save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options); } ``` -### **将演示文稿保存为严格的Office Open XML格式** -Aspose.Slides允许您将演示文稿保存为严格的Office Open XML格式。为此,它提供了[**Aspose.Slides.Export.PptxOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions)类,您可以在保存演示文稿文件时设置Conformance属性。如果将其值设置为Conformance.Iso29500_2008_Strict,则输出的演示文稿文件将以严格的Office Open XML格式保存。 -以下示例代码创建一个演示文稿并将其保存为严格的Office Open XML格式。在调用演示文稿的Save方法时,将**[Aspose.Slides.Export.PptxOptions](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions)**对象传递给它,并将[**Conformance**](https://reference.aspose.com/slides/net/aspose.slides.export/pptxoptions/properties/conformance)属性设置为[**Conformance.Iso29500_2008_Strict**](https://reference.aspose.com/slides/net/aspose.slides.export/conformance)。 +## **以 Zip64 模式保存 Office Open XML 格式的演示文稿** + +Office Open XML 文件是一个 ZIP 存档,对任意文件的未压缩大小、压缩大小以及整个存档的总大小均限制为 4 GB(2^32 字节),并且存档中文件数量上限为 65,535(2^16‑1)个。ZIP64 格式扩展将这些限制提升至 2^64。 -```csharp - // 实例化一个表示演示文稿文件的Presentation对象 - using (Presentation presentation = new Presentation()) - { - // 获取第一张幻灯片 - ISlide slide = presentation.Slides[0]; +IPptxOptions.Zip64Mode 属性允许您在保存 Office Open XML 文件时选择何时使用 ZIP64 格式扩展。 - // 添加一个类型为线的自动形状 - slide.Shapes.AddAutoShape(ShapeType.Line, 50, 150, 300, 0); +此属性提供以下模式: - // 将演示文稿保存为严格的Office Open XML格式 - presentation.Save(dataDir + "NewPresentation_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx, - new PptxOptions() { Conformance = Conformance.Iso29500_2008_Strict }); +- `IfNecessary` 使用 ZIP64 格式扩展,仅在演示文稿超过上述限制时使用。这是默认模式。 +- `Never` 永不使用 ZIP64 格式扩展。 +- `Always` 总是使用 ZIP64 格式扩展。 - } +下面的代码演示了如何在启用 ZIP64 格式扩展的情况下将演示文稿保存为 PPTX: +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) +{ + presentation.Save("OutputZip64.pptx", SaveFormat.Pptx, new PptxOptions() + { + Zip64Mode = Zip64Mode.Always + }); +} ``` -### **将演示文稿保存为Zip64模式的Office Open XML格式** -Office Open XML文件是一个ZIP存档,它在未压缩的文件大小、压缩的文件大小以及存档的总大小上有4 GB(2^32字节)的限制,存档中的文件限制为65,535(2^16-1)。ZIP64格式扩展可以将这些限制增加到2^64。 -新的[**IPptxOptions.Zip64Mode**](https://reference.aspose.com/slides/net/aspose.slides.export/ipptxoptions/zip64mode/)属性允许您选择何时使用ZIP64格式扩展来保存Office Open XML文件。 +{{% alert title="NOTE" color="warning" %}} +当使用 `Zip64Mode.Never` 保存时,如果演示文稿无法以 ZIP32 格式保存,则会抛出 [PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/)。 +{{% /alert %}} -该属性提供以下模式: +## **保存演示文稿时不刷新缩略图** -- [Zip64Mode.IfNecessary](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/)意味着只有在演示文稿超出上述限制时,才会使用ZIP64格式扩展。这是默认模式。 -- [Zip64Mode.Never](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/)意味着将不会使用ZIP64格式扩展。 -- [Zip64Mode.Always](https://reference.aspose.com/slides/net/aspose.slides.export/zip64mode/)意味着将始终使用ZIP64格式扩展。 +PptxOptions.RefreshThumbnail 属性控制在将演示文稿保存为 PPTX 时是否生成缩略图: -以下C#代码演示了如何使用ZIP64格式扩展将演示文稿保存为PPTX格式: +- 如果设置为 `true`,在保存时会刷新缩略图。这是默认值。 +- 如果设置为 `false`,则保留当前缩略图。如果演示文稿没有缩略图,则不会生成。 -```c# -using (Presentation pres = new Presentation("Sample.pptx")) +下面的代码将演示文稿保存为 PPTX,且不刷新缩略图。 +```cs +using (Presentation presentation = new Presentation("Sample.pptx")) { - pres.Save("Sample-zip64.pptx", SaveFormat.Pptx, new PptxOptions() + presentation.Save("Output.pptx", SaveFormat.Pptx, new PptxOptions() { - Zip64Mode = Zip64Mode.Always + RefreshThumbnail = false }); } ``` -{{% alert title="注意" color="warning" %}} - -在Zip64Mode.Never模式下保存时,如果演示文稿无法以ZIP32格式保存,将抛出[PptxException](https://reference.aspose.com/slides/net/aspose.slides/pptxexception/)异常。 +{{% alert title="Info" color="info" %}} +此选项有助于缩短以 PPTX 格式保存演示文稿所需的时间。 {{% /alert %}} -### **以百分比形式保存进度更新** -新的[**IProgressCallback**](https://reference.aspose.com/slides/net/aspose.slides/iprogresscallback)接口已添加到[**ISaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/isaveoptions)接口和[**SaveOptions**](https://reference.aspose.com/slides/net/aspose.slides.export/saveoptions)抽象类中。**IProgressCallback**接口表示一个回调对象,用于以百分比形式保存进度更新。 +## **以百分比显示保存进度更新** -以下代码片段展示了如何使用IProgressCallback接口: +IProgressCallback 接口通过 ISaveOptions 接口公开的 ProgressCallback 属性以及抽象的 SaveOptions 类使用。将 IProgressCallback 的实现分配给 ProgressCallback 可接收以百分比形式的保存进度更新。 -```c# -using (Presentation presentation = new Presentation("ConvertToPDF.pptx")) +以下代码片段演示了如何使用 IProgressCallback。 +```cs +ISaveOptions saveOptions = new PdfOptions(); +saveOptions.ProgressCallback = new ExportProgressHandler(); + +using (Presentation presentation = new Presentation("Sample.pptx")) { - ISaveOptions saveOptions = new PdfOptions(); - saveOptions.ProgressCallback = new ExportProgressHandler(); - presentation.Save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions); + presentation.Save("Output.pdf", SaveFormat.Pdf, saveOptions); } ``` -```c# +```cs class ExportProgressHandler : IProgressCallback { public void Reporting(double progressValue) { - // 在此处使用进度百分比值 + // 在此使用进度百分比值。 int progress = Convert.ToInt32(progressValue); - Console.WriteLine(progress + "% 文件已转换"); + + Console.WriteLine(progress + "% of the file has been converted."); } } ``` -{{% alert title="信息" color="info" %}} - -使用其自己的API,Aspose开发了一个[免费的PowerPoint拆分器应用程序](https://products.aspose.app/slides/splitter),允许用户将演示文稿拆分为多个文件。本质上,该应用将给定演示文稿中的选定幻灯片保存为新的PowerPoint(PPTX或PPT)文件。 +{{% alert title="Info" color="info" %}} +Aspose 已开发了一款免费 PowerPoint 拆分应用([https://products.aspose.app/slides/splitter](https://products.aspose.app/slides/splitter)),该应用使用其 API。该应用可通过将选定的幻灯片另存为新的 PPTX 或 PPT 文件,将演示文稿拆分为多个文件。 {{% /alert %}} -

打开和保存演示文稿

+## **常见问答** + +**是否支持“快速保存”(增量保存)仅写入更改?** + +不支持。每次保存都会生成完整的目标文件,不支持增量的“快速保存”。 + +**从多个线程保存同一个 Presentation 实例是否线程安全?** + +不安全。Presentation 实例不是线程安全的;请在单个线程中进行保存。 -步骤:在C#中打开和保存演示文稿 +**保存时超链接和外部链接文件会怎样?** -1. 创建一个[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/)类的实例,使用任何格式,即PPT、PPTX、ODP等。 -2. 将_Presentation_保存为[SaveFormat](https://reference.aspose.com/slides/net/aspose.slides.export/saveformat/)支持的任何格式。 +超链接会被保留。外部链接的文件(例如通过相对路径引用的视频)不会自动复制——请确保引用的路径仍然可访问。 -```c# -// 加载任何受支持的文件到Presentation,例如ppt、pptx、odp等。 -Presentation presentation = new Presentation("Sample.odp"); +**我可以设置/保存文档元数据(作者、标题、公司、日期)吗?** -presentation.Save("OutputPresenation.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +可以。支持标准的文档属性,并将在保存时写入文件。 \ No newline at end of file diff --git a/zh/net/developer-guide/modern-api/_index.md b/zh/net/developer-guide/modern-api/_index.md index 544b74c107..a84ff50516 100644 --- a/zh/net/developer-guide/modern-api/_index.md +++ b/zh/net/developer-guide/modern-api/_index.md @@ -7,70 +7,69 @@ keywords: "跨平台 现代 API System.Drawing" description: "现代 API" --- -## 引言 +## **简介** -从历史上看,Aspose Slides 依赖于 System.Drawing,并在公共 API 中包含以下来自该库的类: +历史上,Aspose Slides 依赖 System.Drawing,并在公共 API 中包含以下来自该库的类: - [Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) - [Image](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.image) - [Bitmap](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.bitmap) - [PrinterSettings](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.printing.printersettings) -自版本 24.4 起,此公共 API 被声明为不推荐使用。 +自 24.4 版起,此公共 API 已标记为不推荐使用。 -由于 .NET6 及更高版本中对非 Windows 版本的 System.Drawing 支持被移除([重大变化](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only)),Slides 实现了一个双库版本的方法: -- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) - 支持 Windows 的 .NET6+,Windows/Linux/MacOS 的 .NETStandard,Windows 下的 .NETFramework 2+。 - - 依赖于 [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/)。 -- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) - 无依赖的 Windows/Linux/MacOS 版本。 +由于 .NET6 及以上版本在非 Windows 平台上已移除对 System.Drawing 的支持([breaking change](https://learn.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/system-drawing-common-windows-only)),Slides 实现了两库版本的方案: +- [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) - 支持 Windows 上的 .NET6+、Windows/Linux/MacOS 上的 .NETStandard、Windows 上的 .NETFramework 2+。 + - 依赖 [System.Drawing.Common](https://www.nuget.org/packages/System.Drawing.Common/)。 +- [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) - Windows/Linux/MacOS 版本,无任何依赖。 -[Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) 的不便之处在于,它在同一个命名空间中实现了自己版本的 System.Drawing(以支持与公共 API 的向后兼容)。因此,当同时使用 Aspose.Slides.NET6.CrossPlatform 和来自 .NETFramrwork 或 System.Drawing.Common 包的 System.Drawing 时,除非使用别名,否则会发生名称冲突。 +[Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) 的不便之处在于它在同一命名空间下实现了自己的 System.Drawing 版本(以保持与公共 API 的向后兼容)。因此,当同时使用 Aspose.Slides.NET6.CrossPlatform 与来自 .NETFramework 或 System.Drawing.Common 包的 System.Drawing 时,除非使用别名,否则会出现名称冲突。 -为了摆脱主 Aspose.Slides.NET 包中对 System.Drawing 的依赖,我们添加了所谓的“现代 API”——即应当替代不推荐使用的 API 的 API,其签名包含对来自 System.Drawing 的以下类型的依赖:Image 和 Bitmap。PrinterSettings 和 Graphics 被声明为不推荐使用,其支持已从公共 Slides API 中移除。 +为了解除对主要 Aspose.Slides.NET 包中 System.Drawing 的依赖,我们加入了所谓的 “现代 API” —— 即应取代已不推荐使用的 API,其签名中不再包含对 System.Drawing 的 Image 和 Bitmap 类型的依赖。PrinterSettings 和 Graphics 已被标记为不推荐使用,并从公共 Slides API 中移除。 -带有 System.Drawing 依赖项的不推荐使用的公共 API 的移除将在 24.8 版本中进行。 +对依赖 System.Drawing 的已不推荐使用的公共 API 的移除将在 24.8 版发布。 -## 现代 API +## **现代 API** -将以下类和枚举添加到公共 API: +向公共 API 添加了以下类和枚举: -- Aspose.Slides.IImage - 表示栅格或矢量图像。 +- Aspose.Slides.IImage - 表示光栅或矢量图像。 - Aspose.Slides.ImageFormat - 表示图像的文件格式。 -- Aspose.Slides.Images - 实例化和处理 IImage 接口的方法。 +- Aspose.Slides.Images - 用于实例化和操作 IImage 接口的方法。 -请注意,IImage 是可处置的(它实现了 IDisposable 接口,其使用应被包裹在 using 中或以其他方便的方式处置)。 +请注意,IImage 实现了 IDisposable 接口,应使用 using 包裹或以其他合适方式进行释放。 使用新 API 的典型场景可能如下所示: - ``` csharp using (Presentation pres = new Presentation()) { IPPImage ppImage; - // 从磁盘文件实例化 IImage 的可处置实例。 + // 实例化一个可释放的 IImage 实例,来自磁盘上的文件。 using (IImage image = Images.FromFile("image.png")) { - // 通过将 IImage 的一个实例添加到演示文稿的图像中来创建 PowerPoint 图像。 + // 通过将 IImage 实例添加到演示文稿的图像集合中,创建 PowerPoint 图像。 ppImage = pres.Images.AddImage(image); } // 在幻灯片 #1 上添加图片形状 pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); - // 获取表示幻灯片 #1 的 IImage 实例。 + // 获取代表幻灯片 #1 的 IImage 实例。 using (var slideImage = pres.Slides[0].GetImage(new Size(1920, 1080))) { - // 将图像保存到磁盘。 + // 将图像保存到磁盘上。 slideImage.Save("slide1.jpeg", ImageFormat.Jpeg); } } ``` -## 用现代 API 替换旧代码 -为了方便过渡,新的 IImage 接口重复了 Image 和 Bitmap 类的独立签名。一般来说,您只需用新的方法替换对旧方法的调用,该方法使用 System.Drawing。 +## **使用现代 API 替换旧代码** -### 获取幻灯片缩略图 +为便于迁移,新 IImage 接口复用 Image 和 Bitmap 类的独立签名。通常,只需将使用 System.Drawing 的旧方法调用替换为新方法。 -使用不推荐使用的 API 的代码: +### **获取幻灯片缩略图** +使用已不推荐的 API 的代码: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -78,8 +77,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -现代 API: +现代 API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -87,10 +86,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### 获取形状缩略图 -使用不推荐使用的 API 的代码: +### **获取形状缩略图** +使用已不推荐的 API 的代码: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -98,8 +97,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -现代 API: +现代 API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -107,10 +106,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### 获取演示文稿缩略图 -使用不推荐使用的 API 的代码: +### **获取演示文稿缩略图** +使用已不推荐的 API 的代码: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -133,8 +132,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -现代 API: +现代 API: ``` csharp using (Presentation pres = new Presentation("pres.pptx")) { @@ -157,10 +156,10 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### 向演示文稿添加图片 -使用不推荐使用的 API 的代码: +### **向演示文稿添加图片** +使用已不推荐的 API 的代码: ``` csharp using (Presentation pres = new Presentation()) { @@ -174,8 +173,8 @@ using (Presentation pres = new Presentation()) } ``` -现代 API: +现代 API: ``` csharp using (Presentation pres = new Presentation()) { @@ -188,92 +187,104 @@ using (Presentation pres = new Presentation()) pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage); } ``` -## 要删除的方法/属性及其在现代 API 中的替代 -### Presentation -| 方法签名 | 替代方法签名 | -|-----------------------------------------------|-----------------------------------------------------| -| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | -| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | + +## **将被移除的方法/属性及其在现代 API 中的替代方案** + +### **Presentation** +| 方法签名 | 替代方法签名 | +|-----------------------------------------------|---------------------------------------------------------| +| public Bitmap[] GetThumbnails(IRenderingOptions options) | [GetImages(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages) | +| public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides) | [GetImages(IRenderingOptions options, int[] slides)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_1) | | public Bitmap[] GetThumbnails(IRenderingOptions options, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_4) | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, float scaleX, float scaleY) | [GetImages(IRenderingOptions options, int[] slides, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_2) | | public Bitmap[] GetThumbnails(IRenderingOptions options, Size imageSize) | [GetImages(IRenderingOptions options, Size imageSize)]() | | public Bitmap[] GetThumbnails(IRenderingOptions options, int[] slides, Size imageSize) | [GetImages(IRenderingOptions options, int[] slides, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/presentation/getimages#getimages_3) | -| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | 将完全删除 | -| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | 将完全删除 | -| public void Print() | 将完全删除 | -| public void Print(PrinterSettings printerSettings) | 将完全删除 | -| public void Print(string printerName) | 将完全删除 | -| public void Print(PrinterSettings printerSettings, string presName) | 将完全删除 | - -### Shape -| 方法签名 | 替代方法签名 | +| public void Save(string fname, SaveFormat format, HttpResponse response, bool showInline) | 将被完全删除 | +| public void Save(string fname, SaveFormat format, ISaveOptions options, HttpResponse response, bool showInline) | 将被完全删除 | +| public void Print() | 将被完全删除 | +| public void Print(PrinterSettings printerSettings) | 将被完全删除 | +| public void Print(string printerName) | 将被完全删除 | +| public void Print(PrinterSettings printerSettings, string presName) | 将被完全删除 | + +### **Shape** +| 方法签名 | 替代方法签名 | |----------------------------------------------------------------------|-------------------------------------------------------------------| -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage) | | public Bitmap GetThumbnail(ShapeThumbnailBounds bounds, float scaleX, float scaleY) | [GetImage(ShapeThumbnailBounds bounds, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/shape/getimage#getimage_1) | -### Slide -| 方法签名 | 替代方法签名 | -|----------------------------------------------------------------------|-----------------------------------------------------------------------| -| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | -| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | -| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | -| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | -| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | +### **Slide** +| 方法签名 | 替代方法签名 | +|----------------------------------------------------------------------|-------------------------------------------------------------------| +| public Bitmap GetThumbnail(float scaleX, float scaleY) | [GetImage(float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_5) | +| public Bitmap GetThumbnail() | [GetImage](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage) | +| public Bitmap GetThumbnail(IRenderingOptions options) | [GetImage(IRenderingOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_1) | +| public Bitmap GetThumbnail(Size imageSize) | [GetImage(Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_6) | +| public Bitmap GetThumbnail(ITiffOptions options) | [GetImage(ITiffOptions options)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_4) | | public Bitmap GetThumbnail(IRenderingOptions options, float scaleX, float scaleY) | [GetImage(IRenderingOptions options, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_2) | -| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | 将完全删除 | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | 将完全删除 | -| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | 将完全删除 | +| public Bitmap GetThumbnail(IRenderingOptions options, Size imageSize) | [GetImage(IRenderingOptions options, Size imageSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/getimage#getimage_3) | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics) | 将被完全删除 | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY) | 将被完全删除 | +| public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize) | 将被完全删除 | -#### 输出 -| 方法签名 | 替代方法签名 | +### **Output** +| 方法签名 | 替代方法签名 | |-----------------------------------------------------------------|-------------------------------------------------------------| -| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | +| public IOutputFile Add(string path, Image image) | [Add(string path, IImage image)](https://reference.aspose.com/slides/net/aspose.slides.export.web/output/add#add_1) | -### ImageCollection -| 方法签名 | 替代方法签名 | +### **ImageCollection** +| 方法签名 | 替代方法签名 | |-------------------------------------------|--------------------------------------------| -| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | +| IPPImage AddImage(Image image) | [AddImage(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/addimage#addimage) | -### ImageWrapperFactory -| 方法签名 | 替代方法签名 | +### **ImageWrapperFactory** +| 方法签名 | 替代方法签名 | |----------------------------------------------------------|---------------------------------------------------------| -| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | +| IImageWrapper CreateImageWrapper(Image image) | [CreateImageWrapper(IImage image)](https://reference.aspose.com/slides/net/aspose.slides/imagewrapperfactory/createimagewrapper#createimagewrapper) | -### PPImage -| 方法/属性签名 | 替代方法签名 | +### **PPImage** +| 方法/属性签名 | 替代方法签名 | |--------------------------------------|-----------------------------------------| -| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | -| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | +| void ReplaceImage(Image newImage) | [ReplaceImage(IImage newImage)](https://reference.aspose.com/slides/net/aspose.slides/ppimage/replaceimage#replaceimage) | +| Image SystemImage { get; } | [IImage Image { get; }](https://reference.aspose.com/slides/net/aspose.slides/ppimage/image) | -### PatternFormat -| 方法签名 | 替代方法签名 | +### **PatternFormat** +| 方法签名 | 替代方法签名 | |-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | -| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | +| Bitmap GetTileImage(Color background, Color foreground) | [GetTile(Color background, Color foreground)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile_1) | +| Bitmap GetTileImage(Color styleColor) | [GetTile(Color styleColor)](https://reference.aspose.com/slides/net/aspose.slides/patternformat/gettile#gettile) | -### IPatternFormatEffectiveData -| 方法签名 | 替代方法签名 | +### **IPatternFormatEffectiveData** +| 方法签名 | 替代方法签名 | |-----------------------------------------------------------|-----------------------------------------------------| -| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | - -## 将停止对 Aspose.Slides.NET6.CrossPlatform 的支持 - -在发布 [Aspose.Slides.NET](https://www.nuget.org/packages/Aspose.Slides.NET) 版本 24.8 之后,将停止对 [Aspose.Slides.NET6.CrossPlatform](https://www.nuget.org/packages/Aspose.Slides.NET6.CrossPlatform) 的支持。 +| Bitmap GetTileImage(Color background, Color foreground) | [GetTileIImage(SlidesImage image)](https://reference.aspose.com/slides/net/aspose.slides/ipatternformateffectivedata/gettileiimage) | -## 将停止对 Graphics 和 PrinterSettings 的 API 支持 +## **Graphics 与 PrinterSettings 的 API 支持将被停止** -[Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) 类不支持跨平台的 .NET6 及更高版本。在 Aspose Slides 中,使用它的 API 部分将被移除: +[Graphics](https://learn.microsoft.com/en-us/dotnet/api/system.drawing.graphics) 类在 .NET6 及以上的跨平台版本中不受支持。在 Aspose Slides 中,使用该类的 API 将被移除: [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide/) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) - [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, float scaleX, float scaleY)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_3) -- [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertographics_5) +- [public void RenderToGraphics(IRenderingOptions options, Graphics graphics, Size renderingSize)](https://reference.aspose.com/slides/net/aspose.slides/slide/rendertographics/#rendertgraphics_5) -此外,与打印相关的 API 部分也将被移除: +同样,涉及打印的 API 将被移除: -[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): +[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/): - [public void Presentation.Print](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print) - [public void Print(PrinterSettings printerSettings)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_1) - [public void Print(string printerName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_3) -- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) \ No newline at end of file +- [public void Print(PrinterSettings printerSettings, string presName)](https://reference.aspose.com/slides/net/aspose.slides/presentation/print/#print_2) + +# **FAQ** + +**为什么移除 System.Drawing.Graphics?** + +从公共 API 中移除 `Graphics` 的支持是为了统一渲染和图像的工作方式,消除对平台特定依赖的绑定,并转向使用跨平台的 [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/)。所有渲染到 `Graphics` 的方法都将被删除。 + +**IImage 相比 Image/Bitmap 有什么实际好处?** + +[IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) 统一了对光栅和矢量图像的处理,通过 [ImageFormat](https://reference.aspose.com/slides/net/aspose.slides/imageformat/) 简化了多种格式的保存,降低了对 `System.Drawing` 的依赖,使代码在不同环境间更加可移植。 + +**现代 API 会影响生成缩略图的性能吗?** + +从 `GetThumbnail` 切换到 `GetImage` 不会导致性能下降:新方法在生成带有选项和尺寸的图像时提供相同的功能,并保持对渲染选项的支持。具体的提升或下降取决于使用场景,但在功能上两者是等价的。 \ No newline at end of file diff --git a/zh/net/developer-guide/powerpoint-animation/_index.md b/zh/net/developer-guide/powerpoint-animation/_index.md index 4b07c19f6d..541bc71eb0 100644 --- a/zh/net/developer-guide/powerpoint-animation/_index.md +++ b/zh/net/developer-guide/powerpoint-animation/_index.md @@ -1,28 +1,55 @@ --- -title: PowerPoint 动画 +title: 在 C# 中使用动画增强 PowerPoint 演示文稿 +linktitle: PowerPoint 动画 type: docs weight: 150 url: /zh/net/powerpoint-animation/ -keywords: "动画, 动画效果, PowerPoint 动画, 动画时间线, 互动动画, 形状动画, 动画图表, 动画文本, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "PowerPoint 演示文稿中的动画和效果,使用 C# 或 .NET" +keywords: +- 添加动画 +- 更新动画 +- 更改动画 +- 删除动画 +- 管理动画 +- 控制动画 +- 动画效果 +- PowerPoint 动画 +- 动画时间线 +- 交互式动画 +- 自定义动画 +- 形状动画 +- 动态图表 +- 动画文字 +- 动画形状 +- 动画 OLE 对象 +- 动画图像 +- 动画表格 +- PowerPoint 演示文稿 +- C# +- C# +- Aspose.Slides for .NET +description: "了解 Aspose.Slides for .NET 在处理 PowerPoint 动画方面的功能。本概述概括了关键特性,并提供提升演示文稿的见解。" --- -由于演示文稿旨在呈现某些内容,因此在创建时始终考虑其视觉外观和互动行为。 +## **概述** -**PowerPoint 动画** 在使演示文稿对观众引人注目和有吸引力方面起着重要作用。Aspose.Slides for .NET 提供了广泛的选项来为 PowerPoint 演示文稿添加动画: +由于演示文稿旨在展示内容,在创建过程中始终会考虑其视觉外观和交互行为。 -- 对形状、图表、表格、OLE 对象和其他演示文稿元素应用各种类型的 PowerPoint 动画效果。 -- 对一个形状使用多种 PowerPoint 动画效果。 -- 使用动画时间线控制动画效果。 +**PowerPoint 动画** 在使演示文稿吸引观众并提升参与度方面发挥重要作用。Aspose.Slides for .NET 提供了多种向 PowerPoint 演示文稿添加动画的选项: + +- 对形状、图表、表格、OLE 对象以及其他演示元素应用各种 PowerPoint 动画效果。 +- 在单个形状上使用多个 PowerPoint 动画效果。 +- 利用动画时间线来控制动画效果。 - 创建自定义动画。 -在 Aspose.Slides for .NET 中,各种动画效果可以应用于形状。由于幻灯片上的每个元素(包括文本、图片、OLE 对象、表格等)都被视为形状,这意味着我们可以对幻灯片上的每个元素应用动画效果。 +在 Aspose.Slides for .NET,各种动画效果可以应用于形状。由于幻灯片上的每个元素,包括文本、图片、OLE 对象和表格,都被视为形状,动画效果可以应用于幻灯片上的任何元素。 + +[Aspose.Slides.Animation](https://reference.aspose.com/slides/net/aspose.slides.animation/) 命名空间提供用于处理 PowerPoint 动画的类。 -[**Aspose.Slides.Animation**](https://reference.aspose.com/slides/net/aspose.slides.animation/) **命名空间** 提供了与 PowerPoint 动画一起使用的类。 ## **动画效果** -Aspose.Slides 支持 **150+ 动画效果**,包括基本的动画效果,如 Bounce、PathFootball、Zoom 效果,以及特定的动画效果,如 OLEObjectShow、OLEObjectOpen。您可以在 [**EffectType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype) 枚举中找到动画效果的完整列表。 -此外,这些动画效果可以与以下效果结合使用: +Aspose.Slides 支持 **150+ 动画效果**,包括诸如 Bounce、PathFootball 和 Zoom 等基础效果,以及 OLEObjectShow 和 OLEObjectOpen 等特定效果。您可以在 [EffectType](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttype) 枚举中找到完整的动画效果列表。 + +此外,这些动画效果还可以与以下内容组合使用: - [ColorEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/coloreffect) - [CommandEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/commandeffect) @@ -32,35 +59,59 @@ Aspose.Slides 支持 **150+ 动画效果**,包括基本的动画效果,如 B - [RotationEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/rotationeffect) - [ScaleEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/scaleeffect) - [SetEffect](https://reference.aspose.com/slides/net/aspose.slides.animation/seteffect) + ## **自定义动画** -在 Aspose.Slides 中,可以创建您自己的 **自定义动画**。这可以通过将多个行为组合在一起形成新的自定义动画来实现。 -[**行为**](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) 是任何 PowerPoint 动画效果的构建单元。所有动画效果实际上是一组组合成一种策略的行为。您可以将行为组合成自定义动画一次,并在其他演示文稿中重用它。如果您向标准 PowerPoint 动画效果添加一个新行为,它将成为另一个自定义动画。例如,您可以向动画添加重复行为,以使其重复几次。 +在 Aspose.Slides 中可以创建自己的 **自定义动画**。通过将多个行为组合成新的自定义动画即可实现此目的。 + +[Behaviour](https://reference.aspose.com/slides/net/aspose.slides.animation/behavior) 是任何 PowerPoint 动画效果的构建块。所有动画效果本质上是一组行为组合成的策略。您可以将行为组合成自定义动画并在其他演示文稿中重复使用。如果向标准 PowerPoint 动画效果添加新行为,它将成为另一个自定义动画。例如,您可以向动画添加重复行为,使其重复几次。 + +[Animation Point](https://reference.aspose.com/slides/net/aspose.slides.animation/point) 是应应用行为的点。 -[**动画点**](https://reference.aspose.com/slides/net/aspose.slides.animation/point) 是行为应应用的点。 ## **动画时间线** -[**序列**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) 是应用于具体形状的动画效果集合。 -[**时间线**](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) 是在具体幻灯片中使用的一组序列。它是自 PowerPoint 2002 以来表示的动画引擎。在以前的 PowerPoint 版本中,将动画效果添加到演示文稿是具有挑战性的,这只能通过不同的变通方法实现。时间线取代了旧的 AnimationSettings 类,并提供了更清晰的 PowerPoint 动画对象模型。一个幻灯片只能有一个动画时间线。 -## **互动动画** -[**触发器**](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) 允许定义用户操作(例如按钮点击),使某个动画开始。触发器仅在最新的 PowerPoint 版本中添加。 +[Sequence](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) 是应用于特定形状的动画效果集合。 + +[Timeline](https://reference.aspose.com/slides/net/aspose.slides.animation/animationtimeline) 是在特定幻灯片中使用的序列集合。它是 PowerPoint 2002 引入的动画引擎。在早期版本的 PowerPoint 中,向演示文稿添加动画效果困难,且只能通过各种变通方法实现。时间线取代了旧的 AnimationSettings 类,提供了更清晰的 PowerPoint 动画对象模型。每个幻灯片只能拥有一个动画时间线。 + +## **交互式动画** + +[Trigger](https://reference.aspose.com/slides/net/aspose.slides.animation/effecttriggertype) 允许您定义用户操作(例如按钮点击),以触发特定动画。触发器在最新版本的 PowerPoint 中引入。 + ## **形状动画** -Aspose.Slides 允许将动画应用于形状,这实际上可以是文本、矩形、线条、框架、OLE 对象等。 + +Aspose.Slides 允许您对形状应用动画,形状可以包括文本、矩形、线条、框架、OLE 对象等。 {{% alert color="primary" %}} -阅读更多 [**关于形状动画**](/slides/zh/net/shape-animation/)。 +阅读更多 [**关于形状动画**](/slides/zh/net/shape-animation/). {{% /alert %}} -## **动画图表** -要创建动画图表,您应使用与形状相同的所有类。然而,PowerPoint 动画只能应用于图表类别或图表系列。您还可以对分类元素或系列元素应用动画效果。 +## **动态图表** + +要创建动态图表,您应使用与形状相同的类。不过,PowerPoint 动画只能应用于图表类别或图表系列。您也可以将动画效果应用于类别元素或系列元素。 {{% alert color="primary" %}} -阅读更多 [**关于动画图表**](/slides/zh/net/animated-charts/)。 +阅读更多 [**关于动态图表**](/slides/zh/net/animated-charts/). {{% /alert %}} ## **动画文本** + 除了动画文本外,还可以对段落应用动画。 {{% alert color="primary" %}} -阅读更多 [**关于动画文本**](/slides/zh/net/animated-text/)。 -{{% /alert %}} \ No newline at end of file +阅读更多 [**关于动画文本**](/slides/zh/net/animated-text/). +{{% /alert %}} + +## **常见问题** + +**导出为 PDF 时动画会被保留吗?** + +不会。PDF 是静态格式,因此动画和 [幻灯片切换](/slides/zh/net/slide-transition/) 不会播放。如果需要动态效果,请导出为 [HTML5](/slides/zh/net/export-to-html5/)、[动图 GIF](/slides/zh/net/convert-powerpoint-to-animated-gif/) 或 [视频](/slides/zh/net/convert-powerpoint-to-video/) 。 + +**我可以将动画演示文稿转换为视频并控制帧率和帧大小吗?** + +可以。您可以 [将演示文稿渲染为帧](/slides/zh/net/convert-powerpoint-to-video/) 并将其编码为视频(例如使用 ffmpeg),选择帧率和分辨率。渲染过程中会播放动画和幻灯片切换。 + +**在使用 ODP(而不仅限于 PPTX)时动画会保持完整吗?** + +PPT、PPTX 和 ODP 均受支持,可用于 [读取](/slides/zh/net/open-presentation/) 和 [写入](/slides/zh/net/save-presentation/),但格式差异可能导致某些效果在外观或行为上略有不同。请使用真实样本验证关键情况。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-comments/_index.md b/zh/net/developer-guide/presentation-comments/_index.md index b4d64fee75..8fbd3fdfea 100644 --- a/zh/net/developer-guide/presentation-comments/_index.md +++ b/zh/net/developer-guide/presentation-comments/_index.md @@ -1,74 +1,73 @@ --- -title: 演示文稿评论 +title: 演示文稿批注 type: docs weight: 100 url: /zh/net/presentation-comments/ -keywords: "评论, PowerPoint评论, PowerPoint演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "在C#或.NET中向PowerPoint演示文稿添加评论和回复" +keywords: "批注, PowerPoint 批注, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" +description: "在 PowerPoint 演示文稿中使用 C# 或 .NET 添加批注和回复" --- -在PowerPoint中,评论作为幻灯片上的注释或注解出现。当单击评论时,将显示其内容或消息。 +在 PowerPoint 中,批注显示为幻灯片上的备注或注释。单击批注后,其内容或信息会显示。 -## **为什么要在演示文稿中添加评论?** +## **为什么要在演示文稿中添加批注?** -您可能希望在审核演示文稿时使用评论来提供反馈或与同事沟通。 +在审阅演示文稿时,您可能希望使用批注提供反馈或与同事进行交流。 -为了让您能够在PowerPoint演示文稿中使用评论,Aspose.Slides for .NET提供了 +为了让您在 PowerPoint 演示文稿中使用批注,Aspose.Slides for .NET 提供 -* [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类,该类包含作者的集合(来自 [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index) 属性)。作者将评论添加到幻灯片上。 -* [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection) 接口,该接口包含每个作者的评论集合。 -* [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) 类,该类包含有关作者及其评论的信息:谁添加了评论,评论添加的时间,评论的位置等。 -* [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor) 类,该类包含有关单个作者的信息:作者的姓名、他的首字母、与作者姓名相关的评论等。 - -## **添加幻灯片评论** -以下C#代码向您展示如何在PowerPoint演示文稿中向幻灯片添加评论: +* [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类,其中包含作者集合(来自 [CommentAuthorCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentauthorcollection/properties/index) 属性)。作者向幻灯片添加批注。 +* [ICommentCollection](https://reference.aspose.com/slides/net/aspose.slides/icommentcollection) 接口,包含单个作者的批注集合。 +* [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) 类,包含作者及其批注的信息:谁添加了批注、批注添加的时间、批注的位置等。 +* [CommentAuthor](https://reference.aspose.com/slides/net/aspose.slides/commentauthor) 类,包含单个作者的信息:作者姓名、缩写、与该作者关联的批注等。 +## **添加幻灯片批注** +以下 C# 代码演示了如何在 PowerPoint 演示文稿的幻灯片中添加批注: ```c# -// 实例化Presentation类 +// 实例化 Presentation 类 using (Presentation presentation = new Presentation()) { - // 添加一个空幻灯片 + // 添加空幻灯片 presentation.Slides.AddEmptySlide(presentation.LayoutSlides[0]); // 添加作者 ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Jawad", "MF"); - // 设置评论的位置 + // 设置批注的位置 PointF point = new PointF(); point.X = 0.2f; point.Y = 0.2f; - // 为作者在幻灯片1上添加幻灯片评论 - author.Comments.AddComment("你好Jawad,这是幻灯片评论", presentation.Slides[0], point, DateTime.Now); + // 为作者在幻灯片 1 上添加幻灯片批注 + author.Comments.AddComment("Hello Jawad, this is slide comment", presentation.Slides[0], point, DateTime.Now); - // 为作者在幻灯片2上添加幻灯片评论 - author.Comments.AddComment("你好Jawad,这是第二个幻灯片评论", presentation.Slides[1], point, DateTime.Now); + // 为作者在幻灯片 2 上添加幻灯片批注 + author.Comments.AddComment("Hello Jawad, this is second slide comment", presentation.Slides[1], point, DateTime.Now); - // 访问ISlide 1 + // 访问 ISlide 1 ISlide slide = presentation.Slides[0]; - // 当传入null作为参数时,将所有作者的评论带到所选幻灯片 + // 当参数为 null 时,将所有作者的批注带到选定的幻灯片 IComment[] Comments = slide.GetSlideComments(author); - // 访问幻灯片1的索引0处的评论 + // 访问幻灯片 1 上索引为 0 的批注 String str = Comments[0].Text; presentation.Save("Comments_out.pptx", SaveFormat.Pptx); if (Comments.GetLength(0) > 0) { - // 选择索引0处的作者评论集合 + // 选择索引为 0 的作者批注集合 ICommentCollection commentCollection = Comments[0].Author.Comments; String Comment = commentCollection[0].Text; } } ``` -## **访问幻灯片评论** -以下C#代码向您展示如何访问PowerPoint演示文稿中的现有评论: +## **访问幻灯片批注** +以下 C# 代码演示了如何访问 PowerPoint 演示文稿中幻灯片的现有批注: ```c# -// 实例化Presentation类 +// 实例化 Presentation 类 using (Presentation presentation = new Presentation("Comments1.pptx")) { foreach (var commentAuthor in presentation.CommentAuthors) @@ -77,44 +76,44 @@ using (Presentation presentation = new Presentation("Comments1.pptx")) foreach (var comment1 in author.Comments) { var comment = (Comment) comment1; - Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " 有评论: " + comment.Text + " 来自作者: " + comment.Author.Name + " 发表时间 :" + comment.CreatedTime + "\n"); + Console.WriteLine("ISlide :" + comment.Slide.SlideNumber + " has comment: " + comment.Text + " with Author: " + comment.Author.Name + " posted on time :" + comment.CreatedTime + "\n"); } } } ``` -## **回复评论** -父评论是评论或回复层次结构中的顶层或原始评论。使用 [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) 属性(来自 [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) 接口),可以设置或获取父评论。 -以下C#代码向您展示如何添加评论并获取对其的回复: +## **回复批注** +父批注是层级结构中顶层或原始批注。使用来自 [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) 接口的 [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) 属性,您可以设置或获取父批注。 +以下 C# 代码演示了如何添加批注并获取其回复: ```c# using (Presentation pres = new Presentation()) { - // 添加评论 + // 添加批注 ICommentAuthor author1 = pres.CommentAuthors.AddAuthor("Author_1", "A.A."); - IComment comment1 = author1.Comments.AddComment("评论1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment1 = author1.Comments.AddComment("comment1", pres.Slides[0], new PointF(10, 10), DateTime.Now); - // 为评论1添加回复 + // 为 comment1 添加回复 ICommentAuthor author2 = pres.CommentAuthors.AddAuthor("Autror_2", "B.B."); - IComment reply1 = author2.Comments.AddComment("回复1关于评论1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply1 = author2.Comments.AddComment("reply 1 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply1.ParentComment = comment1; - // 为评论1添加另一个回复 - IComment reply2 = author2.Comments.AddComment("回复2关于评论1", pres.Slides[0], new PointF(10, 10), DateTime.Now); + // 为 comment1 添加另一个回复 + IComment reply2 = author2.Comments.AddComment("reply 2 for comment 1", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply2.ParentComment = comment1; - // 为现有回复添加回复 - IComment subReply = author1.Comments.AddComment("子回复3关于回复2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + // 为已有回复添加回复 + IComment subReply = author1.Comments.AddComment("subreply 3 for reply 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); subReply.ParentComment = reply2; - IComment comment2 = author2.Comments.AddComment("评论2", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment comment3 = author2.Comments.AddComment("评论3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment2 = author2.Comments.AddComment("comment 2", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment comment3 = author2.Comments.AddComment("comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); - IComment reply3 = author1.Comments.AddComment("回复4关于评论3", pres.Slides[0], new PointF(10, 10), DateTime.Now); + IComment reply3 = author1.Comments.AddComment("reply 4 for comment 3", pres.Slides[0], new PointF(10, 10), DateTime.Now); reply3.ParentComment = comment3; - // 在控制台上显示评论层级 + // 在控制台显示批注层次结构 ISlide slide = pres.Slides[0]; var comments = slide.GetSlideComments(null); for (int i = 0; i < comments.Length; i++) @@ -132,48 +131,48 @@ using (Presentation pres = new Presentation()) pres.Save("parent_comment.pptx",SaveFormat.Pptx); - // 删除评论1及其所有回复 + // 删除 comment1 及其所有回复 comment1.Remove(); pres.Save("remove_comment.pptx", SaveFormat.Pptx); } ``` -{{% alert color="warning" title="注意" %}} -* 当使用 [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) 方法(来自 [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) 接口)删除评论时,该评论的回复也将被删除。 -* 如果 [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) 设置导致循环引用,将抛出 [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception)。 +{{% alert color="warning" title="Attention" %}} -{{% /alert %}} +* 当使用来自 [IComment](https://reference.aspose.com/slides/net/aspose.slides/icomment) 接口的 [Remove](https://reference.aspose.com/slides/net/aspose.slides/icomment/methods/remove) 方法删除批注时,批注的所有回复也会被删除。 +* 如果 [ParentComment](https://reference.aspose.com/slides/net/aspose.slides/icomment/properties/parentcomment) 设置导致循环引用,将抛出 [PptxEditException](https://reference.aspose.com/slides/net/aspose.slides/pptxeditexception)。 -## **添加现代评论** +{{% /alert %}} -2021年,微软在PowerPoint中引入了*现代评论*。现代评论特性显著改善了PowerPoint中的协作。通过现代评论,PowerPoint用户可以更方便地解决评论、将评论锚定到对象和文本上,并进行互动。 +## **添加现代批注** -在 [Aspose Slides for .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/) 中,我们通过添加 [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment) 类实现了对现代评论的支持。 [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) 和 [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) 方法被添加到 [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection) 类中。 +2021 年,Microsoft 在 PowerPoint 中引入了 *现代批注*。现代批注功能显著提升了 PowerPoint 的协作体验。通过现代批注,用户可以解决批注、将批注锚定到对象和文本,并且能够更轻松地进行交互。 -以下C#代码向您展示如何向PowerPoint演示文稿中的幻灯片添加现代评论: +在 [Aspose Slides for .NET 21.11](https://docs.aspose.com/slides/net/aspose-slides-for-net-21-11-release-notes/) 中,我们通过添加 [ModernComment](https://reference.aspose.com/slides/net/aspose.slides/moderncomment) 类实现了对现代批注的支持。向 [CommentCollection](https://reference.aspose.com/slides/net/aspose.slides/commentcollection) 类添加了 [AddModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/addmoderncomment) 和 [InsertModernComment](https://reference.aspose.com/slides/net/aspose.slides/commentcollection/methods/insertmoderncomment) 方法。 +以下 C# 代码演示了如何在 PowerPoint 演示文稿的幻灯片中添加现代批注: ```c# using (Presentation pres = new Presentation()) { - ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("某些作者", "SA"); - IModernComment modernComment = newAuthor.Comments.AddModernComment("这是一条现代评论", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); + ICommentAuthor newAuthor = pres.CommentAuthors.AddAuthor("Some Author", "SA"); + IModernComment modernComment = newAuthor.Comments.AddModernComment("This is a modern comment", pres.Slides[0], null, new PointF(100, 100), DateTime.Now); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## **删除评论** -### **删除所有评论和作者** +## **删除批注** -以下C#代码向您展示如何删除演示文稿中的所有评论和作者: +### **删除所有批注和作者** +以下 C# 代码演示了如何删除演示文稿中的所有批注和作者: ```c# using (var presentation = new Presentation("example.pptx")) { - // 删除演示文稿中的所有评论 + // 删除演示文稿中的所有批注 foreach (var author in presentation.CommentAuthors) { author.Comments.Clear(); @@ -186,27 +185,27 @@ using (var presentation = new Presentation("example.pptx")) } ``` -### **删除特定评论** -以下C#代码向您展示如何删除幻灯片上的特定评论: +### **删除特定批注** +以下 C# 代码演示了如何删除幻灯片上的特定批注: ```c# using (var presentation = new Presentation()) { ISlide slide = presentation.Slides[0]; - // 添加评论... - ICommentAuthor author = presentation.CommentAuthors.AddAuthor("作者", "A"); - author.Comments.AddComment("评论1", slide, new PointF(0.2f, 0.2f), DateTime.Now); - author.Comments.AddComment("评论2", slide, new PointF(0.3f, 0.2f), DateTime.Now); + // 添加批注... + ICommentAuthor author = presentation.CommentAuthors.AddAuthor("Author", "A"); + author.Comments.AddComment("comment 1", slide, new PointF(0.2f, 0.2f), DateTime.Now); + author.Comments.AddComment("comment 2", slide, new PointF(0.3f, 0.2f), DateTime.Now); - // 删除所有包含“评论1”文本的评论 + // 删除所有包含 "comment 1" 文本的批注 foreach (ICommentAuthor commentAuthor in presentation.CommentAuthors) { List toRemove = new List(); foreach (IComment comment in slide.GetSlideComments(commentAuthor)) { - if (comment.Text == "评论1") + if (comment.Text == "comment 1") { toRemove.Add(comment); } @@ -220,4 +219,19 @@ using (var presentation = new Presentation()) presentation.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **常见问题** + +**Aspose.Slides 是否支持现代批注的“已解决”状态?** + +是的。 [Modern comments](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/) 暴露了 [Status](https://reference.aspose.com/slides/net/aspose.slides/moderncomment/status/) 属性;您可以读取和设置批注的状态(例如标记为已解决),该状态会保存在文件中并被 PowerPoint 识别。 + +**是否支持线程化讨论(回复链),以及是否有嵌套层级限制?** + +是的。每个批注都可以引用其 [parent comment](https://reference.aspose.com/slides/net/aspose.slides/comment/parentcomment/),从而实现任意深度的回复链。API 并未声明具体的嵌套深度限制。 + +**批注标记在幻灯片上的位置使用哪种坐标系定义?** + +位置以浮点坐标点存储在幻灯片的坐标系中。这使您能够精确地将批注标记放置在所需位置。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-blob/_index.md b/zh/net/developer-guide/presentation-content/manage-blob/_index.md index ec2973fc2e..f1ea5ea031 100644 --- a/zh/net/developer-guide/presentation-content/manage-blob/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-blob/_index.md @@ -3,71 +3,76 @@ title: 管理 Blob type: docs weight: 10 url: /zh/net/manage-blob/ -keywords: "添加 blob, 导出 blob, 作为 blob 添加图片, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 .NET 中将 blob 添加到 PowerPoint 演示文稿。导出 blob。作为 blob 添加图像" +keywords: "添加 Blob, 导出 Blob, 将图像添加为 Blob, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" +description: "在 C# 或 .NET 中将 Blob 添加到 PowerPoint 演示文稿。导出 Blob。将图像添加为 Blob" --- ## **关于 BLOB** -**BLOB** (**二进制大对象**) 通常是以二进制格式保存的大型项目(照片、演示文稿、文档或媒体)。 +**BLOB** (**Binary Large Object**) 通常是以二进制格式保存的大型项目(照片、演示文稿、文档或媒体)。 -Aspose.Slides for .NET 允许您以减少大型文件时内存消耗的方式使用 BLOB。 +Aspose.Slides for .NET 允许您在对象上使用 BLOB,以在处理大型文件时降低内存消耗。 ## **使用 BLOB 减少内存消耗** -### **通过 BLOB 向演示文稿添加大型文件** +### **通过 BLOB 将大型文件添加到演示文稿** -[Aspose.Slides](/slides/zh/net/) for .NET 允许您通过涉及 BLOB 的过程向演示文稿添加大型文件(在这种情况下是一个大型视频文件),以减少内存消耗。 - -以下 C# 示例展示了如何通过 BLOB 过程向演示文稿添加一个大型视频文件: +[Aspose.Slides](/slides/zh/net/) for .NET 允许您通过 BLOB 过程添加大型文件(在本例中是大型视频文件),以降低内存消耗。 +下面的 C# 示例演示了如何通过 BLOB 过程将大型视频文件添加到演示文稿: ```c# const string pathToVeryLargeVideo = "veryLargeVideo.avi"; -// 创建一个新的演示文稿,将添加视频 +// 创建一个新的演示文稿,将向其添加视频 using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToVeryLargeVideo, FileMode.Open)) { - // 将视频添加到演示文稿 - 我们选择 KeepLocked 行为,因为我们不打算访问 "veryLargeVideo.avi" 文件。 + // 让我们将视频添加到演示文稿中 - 我们选择 KeepLocked 行为,因为我们 + // 不打算访问 "veryLargeVideo.avi" 文件。 IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddVideoFrame(0, 0, 480, 270, video); - // 保存演示文稿。当大型演示文稿输出时,内存消耗在 pres 对象的生命周期内保持低。 + // 保存演示文稿。即使输出大型演示文稿,内存消耗 + // 通过整个 pres 对象的生命周期保持低位 pres.Save("presentationWithLargeVideo.pptx", SaveFormat.Pptx); } } ``` -### **通过 BLOB 从演示文稿导出大型文件** -Aspose.Slides for .NET 允许您通过涉及 BLOB 的过程从演示文稿导出大型文件(在这种情况下是音频或视频文件)。例如,您可能需要从演示文稿中提取一个大型媒体文件,但又不希望该文件加载到计算机的内存中。通过 BLOB 过程导出文件,您可以保持低内存消耗。 -以下 C# 代码演示了上述操作: +### **通过 BLOB 从演示文稿导出大型文件** +Aspose.Slides for .NET 允许您通过 BLOB 过程从演示文稿中导出大型文件(例如音频或视频文件)。例如,您可能需要从演示文稿中提取大型媒体文件,但不希望将文件加载到计算机内存中。通过 BLOB 导出文件,您可以保持低内存消耗。 +下面的 C# 代码演示了上述操作: ```c# const string hugePresentationWithAudiosAndVideosFile = @"Large Video File Test1.pptx"; LoadOptions loadOptions = new LoadOptions { BlobManagementOptions = { - // 锁定源文件并不将其加载到内存中 + // 锁定源文件且不加载到内存中 PresentationLockingBehavior = PresentationLockingBehavior.KeepLocked, } }; -// 创建一个演示文稿实例,锁定 "hugePresentationWithAudiosAndVideos.pptx" 文件。 +// 创建 Presentation 实例,并锁定 "hugePresentationWithAudiosAndVideos.pptx" 文件。 using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosFile, loadOptions)) { - // 将每个视频保存到文件。为了防止高内存使用,我们需要一个缓冲区,用于将数据从演示文稿的视频流传输到新创建视频文件的流。 + // 让我们将每个视频保存到文件。为防止高内存使用,我们需要一个缓冲区来 + // 将演示文稿视频流的数据传输到新创建的视频文件的流。 byte[] buffer = new byte[8 * 1024]; - // 遍历视频 + // Iterates through the videos for (var index = 0; index < pres.Videos.Count; index++) { IVideo video = pres.Videos[index]; - // 打开演示文稿视频流。请注意,我们故意避免访问类似 video.BinaryData 的属性,因为这个属性返回一个包含完整视频的字节数组,这会导致字节加载到内存中。我们使用 video.GetStream,它将返回 Stream,并不需要我们将整个视频加载到内存中。 + // 打开演示文稿的视频流。请注意,我们有意避免访问属性 + // 如 video.BinaryData —— 因为此属性返回包含完整视频的字节数组,这将 + // 导致字节被加载到内存中。我们使用 video.GetStream,它将返回 Stream —— 且不会 + // 需要我们将整个视频加载到内存中。 using (Stream presVideoStream = video.GetStream()) { using (FileStream outputFileStream = File.OpenWrite($"video{index}.avi")) @@ -80,42 +85,44 @@ using (Presentation pres = new Presentation(hugePresentationWithAudiosAndVideosF } } - // 无论视频或演示文稿的大小如何,内存消耗将保持低。 + // 无论视频或演示文稿的大小如何,内存消耗都将保持低。 } - // 如有必要,您可以对音频文件应用相同的步骤。 + // 如有必要,您可以对音频文件执行相同的步骤。 } ``` -### **在演示文稿中作为 BLOB 添加图像** -通过 [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) 接口和 [**ImageCollection** ](https://reference.aspose.com/slides/net/aspose.slides/imagecollection) 类的方法,您可以将大型图像作为流添加,使其被视为 BLOB。 -以下 C# 代码展示了如何通过 BLOB 过程添加一个大型图像: +### **在演示文稿中将图像添加为 BLOB** +使用 [**IImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) 接口和 [**ImageCollection**](https://reference.aspose.com/slides/net/aspose.slides/imagecollection) 类的方法,您可以将大型图像作为流添加,以将其视为 BLOB。 +下面的 C# 代码演示了如何通过 BLOB 过程添加大型图像: ```c# string pathToLargeImage = "large_image.jpg"; -// 创建一个新的演示文稿,将添加图像。 +// 创建一个新的演示文稿,将向其添加图像。 using (Presentation pres = new Presentation()) { using (FileStream fileStream = new FileStream(pathToLargeImage, FileMode.Open)) { - // 将图像添加到演示文稿 - 我们选择 KeepLocked 行为,因为我们不打算访问 "largeImage.png" 文件。 + // 让我们将图像添加到演示文稿中 - 我们选择 KeepLocked 行为,因为我们 + // 不打算访问 "largeImage.png" 文件。 IPPImage img = pres.Images.AddImage(fileStream, LoadingStreamBehavior.KeepLocked); pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, 300, 200, img); - // 保存演示文稿。当大型演示文稿输出时,内存消耗保持在 pres 对象的生命周期内 + // 保存演示文稿。即使输出大型演示文稿,内存消耗 + // 在整个 pres 对象的生命周期内保持低水平。 pres.Save("presentationWithLargeImage.pptx", SaveFormat.Pptx); } } ``` -## **内存和大型演示文稿** -通常,加载大型演示文稿时,计算机需要大量的临时内存。演示文稿的所有内容都加载到内存中,而文件(从中加载演示文稿)将不再使用。 +## **内存与大型演示文稿** -考虑一个包含 1.5 GB 视频文件的大型 PowerPoint 演示文稿(large.pptx)。加载演示文稿的标准方法在以下 C# 代码中描述: +通常,要加载大型演示文稿,计算机需要大量临时内存。演示文稿的所有内容都会加载到内存中,加载该演示文稿的文件则不再被使用。 +假设有一个包含 1.5 GB 视频文件的大型 PowerPoint 演示文稿(large.pptx)。加载该演示文稿的标准方法如下 C# 代码所示: ```c# using (Presentation pres = new Presentation("large.pptx")) { @@ -123,12 +130,12 @@ using (Presentation pres = new Presentation("large.pptx")) } ``` -但这种方法大约消耗 1.6 GB 的临时内存。 -### **将大型演示文稿作为 BLOB 加载** +但此方法会消耗约 1.6 GB 的临时内存。 -通过涉及 BLOB 的过程,您可以在使用较少内存的情况下加载大型演示文稿。以下 C# 代码描述了利用 BLOB 过程加载大型演示文稿文件(large.pptx)的实现: +### **将大型演示文稿作为 BLOB 加载** +通过 BLOB 过程,您可以在使用很少内存的情况下加载大型演示文稿。以下 C# 代码描述了使用 BLOB 过程加载大型演示文稿文件(large.pptx)的实现: ```c# LoadOptions loadOptions = new LoadOptions { @@ -145,10 +152,9 @@ using (Presentation pres = new Presentation("large.pptx", loadOptions)) } ``` -### **更改临时文件的文件夹** - -当使用 BLOB 过程时,您的计算机会在默认的临时文件文件夹中创建临时文件。如果您希望临时文件保存在不同的文件夹中,可以使用 `TempFilesRootPath` 更改存储设置: +### **更改临时文件夹** +使用 BLOB 过程时,计算机会在默认的临时文件夹中创建临时文件。如果您希望将临时文件保存在其他文件夹中,可以使用 `TempFilesRootPath` 更改存储设置: ```c# LoadOptions loadOptions = new LoadOptions { @@ -161,8 +167,29 @@ LoadOptions loadOptions = new LoadOptions }; ``` -{{% alert title="信息" color="info" %}} +{{% alert title="Info" color="info" %}} 使用 `TempFilesRootPath` 时,Aspose.Slides 不会自动创建用于存储临时文件的文件夹。您必须手动创建该文件夹。 +{{% /alert %}} + +## **常见问题** + +**在 Aspose.Slides 演示文稿中,哪些数据被视为 BLOB 并受 BLOB 选项控制?** + +图像、音频和视频等大型二进制对象被视为 BLOB。当加载或保存演示文稿文件时,整个演示文稿文件也涉及 BLOB 处理。这些对象受 BLOB 策略的管控,您可以在需要时管理内存使用并将数据转存至临时文件。 + +**在演示文稿加载期间,我在哪里配置 BLOB 处理规则?** + +使用 [LoadOptions](https://reference.aspose.com/slides/net/aspose.slides/loadoptions/) 与 [BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/)。在此处设置 BLOB 的内存限制,是否允许临时文件,临时文件的根路径,以及源锁定行为。 + +**BLOB 设置会影响性能吗?我该如何在速度和内存之间取得平衡?** + +会的。将 BLOB 保留在内存中可最大化速度,但会增加 RAM 消耗;降低内存限制会将更多工作转移到临时文件,从而降低 RAM 使用,但会增加额外的 I/O。调节 [MaxBlobsBytesInMemory](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/maxblobsbytesinmemory/) 阈值,以在您的工作负载和环境中实现合适的平衡。 + +**在打开极大型演示文稿(例如 GB 级)时,BLOB 选项是否有帮助?** + +会的。[BlobManagementOptions](https://reference.aspose.com/slides/net/aspose.slides/blobmanagementoptions/) 正是为此类场景设计的:启用临时文件并使用源锁定可以显著降低峰值 RAM 使用并使处理非常大型文稿更为稳定。 + +**在从流而非磁盘文件加载时,我可以使用 BLOB 策略吗?** -{{% /alert %}} \ No newline at end of file +可以。相同的规则适用于流:演示文稿实例可以拥有并锁定输入流(取决于所选的锁定模式),并在允许的情况下使用临时文件,从而在处理期间保持可预测的内存使用。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-hyperlinks/_index.md b/zh/net/developer-guide/presentation-content/manage-hyperlinks/_index.md index 84e4896c38..2cdf705ca7 100644 --- a/zh/net/developer-guide/presentation-content/manage-hyperlinks/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-hyperlinks/_index.md @@ -7,77 +7,70 @@ keywords: "添加超链接, PowerPoint 演示文稿, PowerPoint 超链接, 文 description: "在 C# 或 .NET 中向 PowerPoint 演示文稿添加超链接" --- -超链接是对某个对象、数据或某个地方的引用。这些是在 PowerPoint 演示文稿中常见的超链接: +超链接是对某个对象、数据或某处位置的引用。这些是在 PowerPoint 演示文稿中常见的超链接: -* 文本、形状或媒体中的网站链接 -* 幻灯片链接 +* 链接到文本、形状或媒体中的网站 +* 链接到幻灯片 -Aspose.Slides for .NET 允许您执行许多与演示文稿中的超链接相关的任务。 +Aspose.Slides for .NET 允许您在演示文稿中执行许多涉及超链接的任务。 {{% alert color="primary" %}} - -您可能想查看 Aspose 简单的 [免费在线 PowerPoint 编辑器。](https://products.aspose.app/slides/editor) - +您可能想了解 Aspose 简单的,[免费在线 PowerPoint 编辑器](https://products.aspose.app/slides/editor)。 {{% /alert %}} ## **添加 URL 超链接** -### **向文本添加 URL 超链接** - -以下 C# 代码演示如何向文本添加网站超链接: - +### **将 URL 超链接添加到文本** +此 C# 代码演示如何向文本添加网站超链接: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50, false); - shape1.AddTextFrame("Aspose: 文件格式 API"); + shape1.AddTextFrame("Aspose: File Format APIs"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "超过 70% 的财富 100 强公司信任 Aspose API"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; presentation.Save("presentation-out.pptx", SaveFormat.Pptx); } ``` -### **向形状或框架添加 URL 超链接** - -以下 C# 示例代码演示如何向形状添加网站超链接: +### **将 URL 超链接添加到形状或框架** +此 C# 示例代码演示如何向形状添加网站超链接: ```c# using (Presentation pres = new Presentation()) { IShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50); shape.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape.HyperlinkClick.Tooltip = "超过 70% 的财富 100 强公司信任 Aspose API"; + shape.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -### **向媒体添加 URL 超链接** -Aspose.Slides 允许您向图像、音频和视频文件添加超链接。 - -以下示例代码演示如何向 **图像** 添加超链接: +### **将 URL 超链接添加到媒体** +Aspose.Slides 允许您向图像、音频和视频文件添加超链接。 +此示例代码演示如何向 **图像** 添加超链接: ```c# using (Presentation pres = new Presentation()) { // 向演示文稿添加图像 IPPImage image = pres.Images.AddImage(File.ReadAllBytes("image.png")); - // 创建基于先前添加的图像的幻灯片 1 上的图片框 + // 在幻灯片 1 上创建基于先前添加图像的图片框 IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, image); pictureFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - pictureFrame.HyperlinkClick.Tooltip = "超过 70% 的财富 100 强公司信任 Aspose API"; + pictureFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -以下示例代码演示如何向 **音频文件** 添加超链接: - +此示例代码演示如何向 **音频文件** 添加超链接: ```c# using (Presentation pres = new Presentation()) { @@ -85,14 +78,13 @@ using (Presentation pres = new Presentation()) IAudioFrame audioFrame = pres.Slides[0].Shapes.AddAudioFrameEmbedded(10, 10, 100, 100, audio); audioFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - audioFrame.HyperlinkClick.Tooltip = "超过 70% 的财富 100 强公司信任 Aspose API"; + audioFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -以下示例代码演示如何向 **视频** 添加超链接: - +此示例代码演示如何向 **视频** 添加超链接: ``` csharp using (Presentation pres = new Presentation()) { @@ -100,25 +92,23 @@ using (Presentation pres = new Presentation()) IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 100, 100, video); videoFrame.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - videoFrame.HyperlinkClick.Tooltip = "超过 70% 的财富 100 强公司信任 Aspose API"; + videoFrame.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; pres.Save("pres-out.pptx", SaveFormat.Pptx); } ``` -{{% alert title="提示" color="primary" %}} +{{% alert title="Tip" color="primary" %}} 您可能想查看 *[管理 OLE](https://docs.aspose.com/slides/net/manage-ole/)*。 - {{% /alert %}} ## **使用超链接创建目录** -由于超链接允许您添加对对象或位置的引用,因此您可以使用它们来创建目录。 - -以下示例代码演示如何创建带有超链接的目录: +由于超链接可以为对象或位置添加引用,您可以使用它们创建目录。 +此示例代码演示如何使用超链接创建目录: ```c# using (var presentation = new Presentation()) { @@ -133,10 +123,10 @@ using (var presentation = new Presentation()) var paragraph = new Paragraph(); paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - paragraph.Text = "幻灯片 2 的标题 .......... "; + paragraph.Text = "Title of slide 2 .......... "; var linkPortion = new Portion(); - linkPortion.Text = "第 2 页"; + linkPortion.Text = "Page 2"; linkPortion.PortionFormat.HyperlinkManager.SetInternalHyperlinkClick(secondSlide); paragraph.Portions.Add(linkPortion); @@ -146,100 +136,95 @@ using (var presentation = new Presentation()) } ``` + ## **格式化超链接** ### **颜色** - -使用 [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource) 属性,可以为超链接设置颜色,并从超链接中获取颜色信息。此功能首次在 PowerPoint 2019 中引入,因此涉及该属性的更改不适用于旧版 PowerPoint。 - -以下示例代码演示了在同一幻灯片中添加不同颜色的超链接的操作: - +使用 [IHyperlink](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink) 接口中的 [ColorSource](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/colorsource) 属性,您可以设置超链接的颜色,也可以获取超链接的颜色信息。此功能首次在 PowerPoint 2019 中引入,因此涉及该属性的更改不适用于较旧的 PowerPoint 版本。 +此示例代码演示了在同一幻灯片上添加不同颜色的超链接的操作: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 450, 50, false); - shape1.AddTextFrame("这是彩色超链接的示例。"); + shape1.AddTextFrame("This is a sample of colored hyperlink."); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.ColorSource = HyperlinkColorSource.PortionFormat; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.FillType = FillType.Solid; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FillFormat.SolidFillColor.Color = Color.Red; IAutoShape shape2 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 450, 50, false); - shape2.AddTextFrame("这是普通超链接的示例。"); + shape2.AddTextFrame("This is a sample of usual hyperlink."); shape2.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); presentation.Save("presentation-out-hyperlink.pptx", SaveFormat.Pptx); } ``` + ### **声音** +Aspose.Slides 提供以下属性,以便您使用声音强调超链接: -Aspose.Slides 提供这些属性,以强调超链接的声音: - [IHyperlink.Sound](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/sound) - [IHyperlink.StopSoundOnClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/stopsoundonclick) #### **添加超链接声音** - -以下 C# 代码演示如何设置播放声音的超链接,并通过另一个超链接停止它: - +此 C# 代码演示如何设置播放声音的超链接,并使用另一个超链接停止它: ```c# using (Presentation pres = new Presentation()) { - // 向演示文稿音频集合添加新音频 + // 向演示文稿的音频集合添加新音频 IAudio playSound = pres.Audios.AddAudio(File.ReadAllBytes("sampleaudio.wav")); ISlide firstSlide = pres.Slides[0]; - // 添加带有超链接的形状到下一个幻灯片 + // 添加一个带有指向下一张幻灯片的超链接的新形状 IShape firstShape = firstSlide.Shapes.AddAutoShape(ShapeType.SoundButton, 100, 100, 100, 50); firstShape.HyperlinkClick = Hyperlink.NextSlide; - // 检查超链接的“No Sound” + // 检查超链接是否为“无声” if (!firstShape.HyperlinkClick.StopSoundOnClick && firstShape.HyperlinkClick.Sound == null) { // 设置播放声音的超链接 firstShape.HyperlinkClick.Sound = playSound; } - // 添加空幻灯片 + // 添加空白幻灯片 ISlide secondSlide = pres.Slides.AddEmptySlide(firstSlide.LayoutSlide); - // 添加带有 NoAction 超链接的形状 + // 添加一个带有 NoAction 超链接的新形状 IShape secondShape = secondSlide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 100, 50); secondShape.HyperlinkClick = Hyperlink.NoAction; - // 设置超链接“停止上一个声音”标志 + // 设置超链接的“停止前一个声音”标志 secondShape.HyperlinkClick.StopSoundOnClick = true; pres.Save("hyperlink-sound.pptx", SaveFormat.Pptx); } ``` -#### **提取超链接声音** - -以下 C# 代码演示如何提取超链接中使用的声音: +#### **提取超链接声音** +此 C# 代码演示如何提取超链接中使用的声音: ```c# using (Presentation pres = new Presentation("hyperlink-sound.pptx")) { ISlide firstSlide = pres.Slides[0]; - // 获取第一个形状超链接 + // 获取第一个形状的超链接 IHyperlink link = firstSlide.Shapes[0].HyperlinkClick; if (link.Sound != null) { - // 提取超链接声音到字节数组 + // 将超链接声音提取为字节数组 byte[] audioData = link.Sound.BinaryData; } } ``` -## **从演示文稿中删除超链接** - -### **从文本中删除超链接** -以下 C# 代码演示如何从演示文稿幻灯片中的文本中删除超链接: +## **在演示文稿中删除超链接** +### **从文本中删除超链接** +此 C# 代码演示如何从演示文稿幻灯片中的文本移除超链接: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -263,10 +248,9 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -### **从形状或框架中删除超链接** - -以下 C# 代码演示如何从演示文稿幻灯片中的形状中删除超链接: +### **从形状或框架中删除超链接** +此 C# 代码演示如何从演示文稿幻灯片中的形状移除超链接: ``` csharp using (Presentation pres = new Presentation("demo.pptx")) { @@ -279,6 +263,7 @@ using (Presentation pres = new Presentation("demo.pptx")) } ``` + ## **可变超链接** [Hyperlink](https://reference.aspose.com/slides/net/aspose.slides/hyperlink) 类是可变的。使用此类,您可以更改以下属性的值: @@ -288,18 +273,17 @@ using (Presentation pres = new Presentation("demo.pptx")) - [IHyperlink.History](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/history) - [IHyperlink.HighlightClick](https://reference.aspose.com/slides/net/aspose.slides/ihyperlink/properties/highlightclick) -以下代码片段演示如何向幻灯片添加超链接并稍后编辑其工具提示: - +此代码片段演示如何向幻灯片添加超链接并稍后编辑其工具提示: ```c# using (Presentation presentation = new Presentation()) { IAutoShape shape1 = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 600, 50, false); - shape1.AddTextFrame("Aspose: 文件格式 API"); + shape1.AddTextFrame("Aspose: File Format APIs"); shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick = new Hyperlink("https://www.aspose.com/"); - shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "超过 70% 的财富 100 强公司信任 Aspose API"; + shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkClick.Tooltip = "More than 70% Fortune 100 companies trust Aspose APIs"; shape1.TextFrame.Paragraphs[0].Portions[0].PortionFormat.FontHeight = 32; @@ -308,11 +292,9 @@ using (Presentation presentation = new Presentation()) ``` +## **IHyperlinkQueries 支持的属性** - -## **在 IHyperlinkQueries 中支持的属性** - -您可以从演示文稿、幻灯片或定义超链接的文本中访问 IHyperlinkQueries。 +您可以从定义了超链接的演示文稿、幻灯片或文本中访问 IHyperlinkQueries。 - [IPresentation.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/properties/hyperlinkqueries) - [IBaseSlide.HyperlinkQueries](https://reference.aspose.com/slides/net/aspose.slides/ibaseslide/properties/hyperlinkqueries) @@ -323,4 +305,18 @@ IHyperlinkQueries 类支持以下方法和属性: - [IHyperlinkQueries.GetHyperlinkClicks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkclicks) - [IHyperlinkQueries.GetHyperlinkMouseOvers();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/gethyperlinkmouseovers) - [IHyperlinkQueries.GetAnyHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/getanyhyperlinks) -- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) \ No newline at end of file +- [IHyperlinkQueries.RemoveAllHyperlinks();](https://reference.aspose.com/slides/net/aspose.slides/ihyperlinkqueries/methods/removeallhyperlinks) + +## **常见问题** + +**如何创建不仅指向幻灯片,还指向“章节”或章节的第一张幻灯片的内部导航?** + +PowerPoint 中的章节是幻灯片的分组;导航在技术上定位到特定的幻灯片。要 “导航到章节”,通常会链接到该章节的第一张幻灯片。 + +**我可以将超链接附加到母版幻灯片元素,以便在所有幻灯片上工作吗?** + +可以。母版幻灯片和版式元素支持超链接。这些链接会出现在子幻灯片上,并在放映时可点击。 + +**导出为 PDF、HTML、图像或视频时,超链接会被保留吗?** + +在 [PDF](/slides/zh/net/convert-powerpoint-to-pdf/) 和 [HTML](/slides/zh/net/convert-powerpoint-to-html/) 中,会保留链接——通常会保留。导出为 [图像](/slides/zh/net/convert-powerpoint-to-png/) 和 [视频](/slides/zh/net/convert-powerpoint-to-video/) 时,由于这些格式的特性(光栅帧/视频不支持超链接),点击功能将不再保留。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md b/zh/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md index 5d00cb63b9..a5bdf1dfea 100644 --- a/zh/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-media-files/audio-frame/_index.md @@ -1,25 +1,34 @@ --- -title: 音频帧 - 使用 C# 在 PowerPoint 中插入和提取音频 +title: 使用 C# 管理演示文稿中的音频 linktitle: 音频帧 type: docs weight: 10 url: /zh/net/audio-frame/ -keywords: "音频缩略图, 添加音频, 音频框, 音频属性, 提取音频, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 .NET 中向 PowerPoint 演示文稿添加音频" +keywords: +- 音频 +- 音频帧 +- 缩略图 +- 添加音频 +- 音频属性 +- 音频选项 +- 提取音频 +- .NET +- C# +- Aspose.Slides +description: "在 Aspose.Slides for .NET 中创建和控制音频帧——使用 C# 示例进行嵌入、修剪、循环以及在 PPT、PPTX 和 ODP 演示文稿中的播放配置。" --- ## **创建音频帧** -Aspose.Slides for .NET 允许您将音频文件添加到幻灯片中。音频文件以音频框的形式嵌入幻灯片中。 -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +Aspose.Slides for .NET 允许您向幻灯片添加音频文件。音频文件以音频帧的形式嵌入到幻灯片中。 + +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 2. 通过索引获取幻灯片的引用。 -3. 加载要嵌入幻灯片的音频文件流。 -4. 将嵌入的音频框(包含音频文件)添加到幻灯片。 -5. 设置 [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) 和 [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) 对象公开的 `Volume`。 +3. 加载要嵌入到幻灯片中的音频文件流。 +4. 将嵌入的音频帧(包含音频文件)添加到幻灯片。 +5. 设置由 [IAudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) 对象公开的 [PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioplaymodepreset) 和 `Volume`。 6. 保存修改后的演示文稿。 -以下 C# 代码演示了如何将嵌入的音频框添加到幻灯片中: - ```c# // 实例化一个表示演示文稿文件的 Presentation 类 using (Presentation pres = new Presentation()) @@ -27,10 +36,10 @@ using (Presentation pres = new Presentation()) // 获取第一张幻灯片 ISlide sld = pres.Slides[0]; - // 加载 wav 音频文件到流 + // 加载 wav 音频文件为流 FileStream fstr = new FileStream("sampleaudio.wav", FileMode.Open, FileAccess.Read); - // 添加音频框 + // 添加音频帧 IAudioFrame audioFrame = sld.Shapes.AddAudioFrameEmbedded(50, 150, 100, 100, fstr); // 设置音频的播放模式和音量 @@ -42,28 +51,27 @@ using (Presentation pres = new Presentation()) } ``` -## **更改音频框缩略图** -当您将音频文件添加到演示文稿时,音频会以带有标准默认图像的框出现(见下方部分中的图像)。您可以更改音频框的缩略图(设置您喜欢的图像)。 +## **更改音频帧缩略图** -以下 C# 代码演示了如何更改音频框的缩略图或预览图像: +当您向演示文稿添加音频文件时,音频会以带有标准默认图像的帧形式出现(请参见下节中的图像)。您可以更改音频帧的缩略图(设置您喜欢的图像)。 ```c# using (var presentation = new Presentation()) { var slide = presentation.Slides[0]; - // 添加带有指定位置和大小的音频框到幻灯片。 + // 向幻灯片添加音频帧,指定位置和大小。 var audioStream = new FileStream("sample2.mp3", FileMode.Open, FileAccess.Read); var audioFrame = slide.Shapes.AddAudioFrameEmbedded(150, 100, 50, 50, audioStream); audioStream.Dispose(); - // 将图像添加到演示文稿资源中。 + // 向演示文稿资源添加图像。 var imageStream = File.OpenRead("eagle.jpeg"); var audioImage = presentation.Images.AddImage(imageStream); imageStream.Dispose(); - // 为音频框设置图像。 + // 为音频帧设置图像。 audioFrame.PictureFormat.Picture.Image = audioImage; // <----- // 将修改后的演示文稿保存到磁盘 @@ -71,53 +79,61 @@ using (var presentation = new Presentation()) } ``` + ## **更改音频播放选项** -Aspose.Slides for .NET 允许您更改控制音频播放或属性的选项。例如,您可以调整音频的音量,将音频设置为循环播放,甚至隐藏音频图标。 +Aspose.Slides for .NET 允许您更改控制音频播放或属性的选项。例如,您可以调节音频音量、设置音频循环播放,甚至隐藏音频图标。 -在 Microsoft PowerPoint 中的 **音频选项** 窗格: +The **Audio Options** pane in Microsoft PowerPoint: ![example1_image](audio_frame_0.png) -PowerPoint 音频选项对应于 Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) 属性: +PowerPoint **Audio Options** 对应 Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) 属性: -- 音频选项 **开始** 下拉菜单与 [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode) 属性相匹配 -- 音频选项 **音量** 与 [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume) 属性相匹配 -- 音频选项 **跨幻灯片播放** 与 [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides) 属性相匹配 -- 音频选项 **循环播放直到停止** 与 [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode) 属性相匹配 -- 音频选项 **在演示时隐藏** 与 [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing) 属性相匹配 -- 音频选项 **播放后倒带** 与 [AudioFrame.RewindAudio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio) 属性相匹配 +- **Start** 下拉菜单对应 [AudioFrame.PlayMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playmode) 属性 +- **Volume** 对应 [AudioFrame.Volume](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/volume) 属性 +- **Play Across Slides** 对应 [AudioFrame.PlayAcrossSlides](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playacrossslides) 属性 +- **Loop until Stopped** 对应 [AudioFrame.PlayLoopMode](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/playloopmode) 属性 +- **Hide During Show** 对应 [AudioFrame.HideAtShowing](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/hideatshowing) 属性 +- **Rewind after Playing** 对应 [AudioFrame.RewindAudio](https://reference.aspose.com/slides/net/aspose.slides/audioframe/properties/rewindaudio) 属性 -以下是更改音频播放选项的步骤: +PowerPoint **Editing** 选项对应 Aspose.Slides [AudioFrame](https://reference.aspose.com/slides/net/aspose.slides/audioframe) 属性: -1. [创建](#create-audio-frame)或获取音频框。 -2. 设置要调整的音频框属性的新值。 -3. 保存修改后的 PowerPoint 文件。 +- **Fade In** 对应 [AudioFrame.FadeInDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeinduration/) 属性 +- **Fade Out** 对应 [AudioFrame.FadeOutDuration](https://reference.aspose.com/slides/net/aspose.slides/audioframe/fadeoutduration/) 属性 +- **Trim Audio Start Time** 对应 [AudioFrame.TrimFromStart](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromstart/) 属性 +- **Trim Audio End Time** 的值等于音频总时长减去 [AudioFrame.TrimFromEnd](https://reference.aspose.com/slides/net/aspose.slides/audioframe/trimfromend/) 属性的值 + +PowerPoint **Volume controll** 在音频控制面板上对应 [AudioFrame.VolumeValue](https://reference.aspose.com/slides/net/aspose.slides/audioframe/volumevalue/) 属性,可让您以百分比方式更改音频音量。 -以下 C# 代码演示了调整音频选项的操作: +下面展示了如何更改音频播放选项: + +1. [Create](#create-audio-frame) 或获取音频帧。 +2. 为要调整的音频帧属性设置新值。 +3. 保存修改后的 PowerPoint 文件。 ``` csharp using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) { - // 获取音频框形状 + // 获取 AudioFrame 形状 AudioFrame audioFrame = (AudioFrame)pres.Slides[0].Shapes[0]; - // 设置播放模式为单击播放 + // 将播放模式设置为点击播放 audioFrame.PlayMode = AudioPlayModePreset.OnClick; - // 设置音量为低 + // 将音量设置为低 audioFrame.Volume = AudioVolumeMode.Low; - // 设置音频跨幻灯片播放 + // 将音频设置为跨幻灯片播放 audioFrame.PlayAcrossSlides = true; // 禁用音频循环 audioFrame.PlayLoopMode = false; - // 在幻灯片放映期间隐藏音频框 + // 在放映期间隐藏 AudioFrame audioFrame.HideAtShowing = true; - // 播放后倒带音频 + // 播放后将音频倒回到开始 audioFrame.RewindAudio = true; // 将 PowerPoint 文件保存到磁盘 @@ -125,16 +141,53 @@ using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) } ``` + +```c# +using (Presentation pres = new Presentation()) +{ + ISlide slide = pres.Slides[0]; + + byte[] audioData = File.ReadAllBytes("sampleaudio.mp3"); + IAudio audio = pres.Audios.AddAudio(audioData); + IAudioFrame audioFrame = slide.Shapes.AddAudioFrameEmbedded(50, 50, 100, 100, audio); + + // 将修剪起始偏移设置为 1.5 秒 + audioFrame.TrimFromStart = 1500f; + // 将修剪结束偏移设置为 2 秒 + audioFrame.TrimFromEnd = 2000f; + + // 将淡入持续时间设置为 200 毫秒 + audioFrame.FadeInDuration = 200f; + // 将淡出持续时间设置为 500 毫秒 + audioFrame.FadeOutDuration = 500f; + + pres.Save("AudioFrameTrimFade_out.pptx", SaveFormat.Pptx); +} +``` + + +```c# +using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx")) +{ + // 获取音频帧形状 + IAudioFrame audioFrame = (IAudioFrame)pres.Slides[0].Shapes[0]; + + // 将音频音量设置为 85% + audioFrame.VolumeValue = 85f; + + pres.Save("AudioFrameValue_out.pptx", SaveFormat.Pptx); +} +``` + + ## **提取音频** -Aspose.Slides for .NET 允许您提取用于幻灯片放映过渡的声音。例如,您可以提取特定幻灯片中使用的声音。 +Aspose.Slides for .NET 允许您提取幻灯片放映过渡中使用的声音。例如,您可以提取特定幻灯片使用的声音。 -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例并加载包含音频的演示文稿。 +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例并加载包含音频的演示文稿。 2. 通过索引获取相关幻灯片的引用。 -3. 访问幻灯片的幻灯片放映过渡。 +3. 访问该幻灯片的幻灯片放映过渡。 4. 提取声音的字节数据。 -以下 C# 代码演示了如何提取幻灯片中使用的音频: - ```c# string presName = "AudioSlide.pptx"; @@ -144,11 +197,26 @@ Presentation pres = new Presentation(presName); // 访问幻灯片 ISlide slide = pres.Slides[0]; -// 获取幻灯片的幻灯片放映过渡效果 +// 获取该幻灯片的放映过渡效果 ISlideShowTransition transition = slide.SlideShowTransition; -// 提取音频的字节数组 +//提取声音的字节数组 byte[] audio = transition.Sound.BinaryData; -System.Console.WriteLine("长度: " + audio.Length); -``` \ No newline at end of file +System.Console.WriteLine("Length: " + audio.Length); +``` + + +## **FAQ** + +**Can I reuse the same audio asset across multiple slides without inflating the file size?** + +是的。将音频一次性添加到演示文稿的共享 [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) 中,然后创建引用该已有资源的额外音频帧。这样可避免重复媒体数据,使演示文稿大小保持在可控范围内。 + +**Can I replace the sound in an existing audio frame without recreating the shape?** + +是的。对于链接的声音,更新 [link path](https://reference.aspose.com/slides/net/aspose.slides/audioframe/linkpathlong/) 指向新文件。对于嵌入的声音,使用演示文稿的 [audio collection](https://reference.aspose.com/slides/net/aspose.slides/presentation/audios/) 中的其他嵌入音频对象进行替换。帧的格式和大多数播放设置会保持不变。 + +**Does trimming change the underlying audio data stored in the presentation?** + +不会。修剪仅调整播放边界。原始音频字节保持不变,可通过嵌入的音频或演示文稿的音频集合访问。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-media-files/flash/_index.md b/zh/net/developer-guide/presentation-content/manage-media-files/flash/_index.md index a8e0c9eeec..bc6c5c2aa1 100644 --- a/zh/net/developer-guide/presentation-content/manage-media-files/flash/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-media-files/flash/_index.md @@ -3,12 +3,12 @@ title: Flash type: docs weight: 10 url: /zh/net/flash/ -keywords: "提取 Flash, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 .NET 中从 PowerPoint 演示文稿中提取 Flash 对象" +keywords: "提取 flash, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" +description: "在 C# 或 .NET 中从 PowerPoint 演示文稿提取 flash 对象" --- ## **从演示文稿中提取 Flash 对象** -Aspose.Slides for .NET 提供了一种从演示文稿中提取 Flash 对象的功能。您可以通过名称访问 Flash 控件并将其从演示文稿中提取,包括存储 SWF 对象数据。 +Aspose.Slides for .NET 提供了从演示文稿中提取 Flash 对象的功能。您可以按名称访问 Flash 控件并将其从演示文稿中提取出来,包括存储 SWF 对象数据。 ```c# using (Presentation pres = new Presentation("withFlash.pptm")) @@ -23,4 +23,23 @@ using (Presentation pres = new Presentation("withFlash.pptm")) } } } -``` \ No newline at end of file +``` + + +## **常见问题** + +**在提取 Flash 内容时支持哪些演示文稿格式?** + +[Aspose.Slides 支持](/slides/zh/net/supported-file-formats/)主要的 PowerPoint 格式,如 PPT 和 PPTX,因为它能够加载这些容器并访问其中的控件,包括与 Flash 相关的 ActiveX 元素。 + +**我能将包含 Flash 的演示文稿转换为 HTML5 并保留 Flash 交互性吗?** + +不。Aspose.Slides 不会执行 SWF 内容或转换其交互性。虽然支持导出到 [HTML](/slides/zh/net/convert-powerpoint-to-html/)/[HTML5](/slides/zh/net/export-to-html5/),但由于浏览器已停止支持,Flash 在现代浏览器中无法播放。推荐的做法是在导出之前将 Flash 替换为视频或 HTML5 动画等替代方案。 + +**从安全角度来看,Aspose.Slides 在读取演示文稿时会执行 SWF 文件吗?** + +不。Aspose.Slides 将 Flash 视为嵌入文件中的二进制数据,在处理过程中不会执行 SWF 内容。 + +**我应该如何处理同时包含 Flash 和其他通过 OLE 嵌入的文件的演示文稿?** + +Aspose.Slides 支持[提取嵌入的 OLE 对象](/slides/zh/net/manage-ole/),因此您可以一次性处理所有相关的嵌入内容,统一处理 Flash 控件和其他 OLE 嵌入的文档。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-media-files/image/_index.md b/zh/net/developer-guide/presentation-content/manage-media-files/image/_index.md index 98f6483deb..844355ed77 100644 --- a/zh/net/developer-guide/presentation-content/manage-media-files/image/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-media-files/image/_index.md @@ -3,38 +3,56 @@ title: 图像 type: docs weight: 10 url: /zh/net/image/ -keywords: "添加图像, 添加图片, PowerPoint 演示文稿, EMF, SVG, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 .NET 中向 PowerPoint 幻灯片或演示文稿添加图像" +keywords: +- 添加图像 +- 添加图片 +- 添加位图 +- 替换图像 +- 替换图片 +- 来自网络 +- 背景 +- 添加 PNG +- 添加 JPG +- 添加 SVG +- 添加 EMF +- 添加 WMF +- 添加 TIFF +- PowerPoint +- OpenDocument +- 演示文稿 +- .NET +- C# +- Aspose.Slides +description: "在 PowerPoint 和 OpenDocument 中使用 Aspose.Slides for .NET 简化图像管理,优化性能并实现工作流自动化。" --- -## **演示文稿中的幻灯片图像** +## **演示文稿中幻灯片的图像** -图像使演示文稿更具吸引力和趣味性。在 Microsoft PowerPoint 中,您可以从文件、互联网或其他位置将图片插入到幻灯片中。同样,Aspose.Slides 允许您通过不同的程序向演示文稿中的幻灯片添加图像。 +图像使演示文稿更具吸引力和趣味性。在 Microsoft PowerPoint 中,您可以从文件、互联网或其他位置将图片插入幻灯片。同样,Aspose.Slides 也允许您通过多种方式向演示文稿的幻灯片中添加图像。 {{% 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)—可以快速从图像创建演示文稿。 +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 %}} {{% alert title="信息" color="info" %}} -如果您想将图像作为框架对象添加——特别是如果您计划使用标准格式选项来更改其大小、添加效果等——请参见 [图片框](https://docs.aspose.com/slides/net/picture-frame/)。 +如果您想将图像作为框架对象添加——尤其是计划对其使用标准格式选项来更改大小、添加效果等——请参阅 [Picture Frame](https://docs.aspose.com/slides/net/picture-frame/)。 {{% /alert %}} {{% alert title="注意" color="warning" %}} -您可以处理涉及图像和 PowerPoint 演示文稿的输入/输出操作,以便将图像从一种格式转换为另一种格式。请参见以下页面:转换 [图像为 JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/);转换 [JPG 为图像](https://products.aspose.com/slides/net/conversion/jpg-to-image/);转换 [JPG 为 PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/),转换 [PNG 为 JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/);转换 [PNG 为 SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/),转换 [SVG 为 PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/)。 +您可以操作涉及图像和 PowerPoint 演示文稿的输入/输出,以将图像从一种格式转换为另一种格式。请参阅以下页面:转换 [image to JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/); 转换 [JPG to image](https://products.aspose.com/slides/net/conversion/jpg-to-image/); 转换 [JPG to PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/),转换 [PNG to JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/); 转换 [PNG to SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/),转换 [SVG to PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/)。 {{% /alert %}} -Aspose.Slides 支持这些流行格式的图像操作:JPEG、PNG、BMP、GIF 等。 +Aspose.Slides 支持以下常见格式的图像操作:JPEG、PNG、BMP、GIF 等。 ## **将本地存储的图像添加到幻灯片** -您可以将计算机上的一张或多张图像添加到演示文稿的幻灯片中。下面的 C# 示例代码演示了如何将图像添加到幻灯片: - +您可以将计算机上的一张或多张图像添加到演示文稿的幻灯片中。下面的 C# 示例代码演示了如何向幻灯片添加图像: ```c# using (Presentation pres = new Presentation()) { @@ -46,12 +64,12 @@ using (Presentation pres = new Presentation()) } ``` -## **从网络向幻灯片添加图像** -如果您想要添加到幻灯片上的图像在您的计算机上不可用,您可以直接从网络添加图像。 +## **将来自网络的图像添加到幻灯片** -以下示例代码演示了如何从网络向幻灯片添加图像: +如果要添加到幻灯片的图像在计算机上不可用,您可以直接从网络添加该图像。 +以下示例代码演示了如何在 C# 中将网络图像添加到幻灯片: ```c# using (Presentation pres = new Presentation()) { @@ -70,12 +88,12 @@ using (Presentation pres = new Presentation()) } ``` -## **向幻灯片母版添加图像** -幻灯片母版是存储和控制有关其下所有幻灯片的信息(主题、布局等)的顶部幻灯片。因此,当您向幻灯片母版添加图像时,该图像会出现在该幻灯片母版下的每一张幻灯片上。 +## **将图像添加到幻灯片母版** -以下 C# 示例代码演示了如何向幻灯片母版添加图像: +幻灯片母版是存储并控制其下所有幻灯片信息(主题、布局等)的顶层幻灯片。因此,当您向幻灯片母版添加图像时,该图像会出现在该母版下的每一张幻灯片上。 +下面的 C# 示例代码演示了如何向幻灯片母版添加图像: ```c# using (Presentation pres = new Presentation()) { @@ -89,21 +107,22 @@ using (Presentation pres = new Presentation()) } ``` -## **将图像作为幻灯片背景添加** -您可能希望将图片用作特定幻灯片或多个幻灯片的背景。在这种情况下,您需要参见 *[设置幻灯片的背景图像](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*。 +## **将图像设置为幻灯片背景** -## **向演示文稿添加 SVG 图像** -您可以通过使用属于 [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) 接口的 [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe) 方法将任何图像添加或插入到演示文稿中。 +您可能决定将图片用作特定幻灯片或多张幻灯片的背景。在这种情况下,请参阅 *[Setting Images as Backgrounds for Slides](https://docs.aspose.com/slides/net/presentation-background/#setting-images-as-background-for-slides)*。 -要基于 SVG 图像创建图像对象,可以这样做: +## **将 SVG 添加到演示文稿** +您可以使用属于 [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) 接口的 [AddPictureFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/methods/addpictureframe) 方法,将任何图像添加或插入到演示文稿中。 -1. 创建 SvgImage 对象以插入到 ImageShapeCollection -2. 从 ISvgImage 创建 PPImage 对象 -3. 使用 IPPImage 接口创建 PictureFrame 对象 +要基于 SVG 图像创建图像对象,可以按以下方式操作: -以下示例代码演示了如何实现上述步骤以将 SVG 图像添加到演示文稿: -``` csharp +1. 创建 SvgImage 对象以将其插入 ImageShapeCollection +2. 从 ISvgImage 创建 PPImage 对象 +3. 使用 IPPImage 接口创建 PictureFrame 对象 + +下面的示例代码演示了如何实现上述步骤,将 SVG 图像添加到演示文稿中: +```csharp // 文档目录的路径 string dataDir = @"D:\Documents\"; @@ -113,7 +132,7 @@ string svgFileName = dataDir + "sample.svg"; // 输出演示文稿文件名 string outPptxPath = dataDir + "presentation.pptx"; -// 创建新的演示文稿 +// 创建新演示文稿 using (var p = new Presentation()) { // 读取 SVG 文件内容 @@ -125,7 +144,7 @@ using (var p = new Presentation()) // 创建 PPImage 对象 IPPImage ppImage = p.Images.AddImage(svgImage); - // 创建一个新的 PictureFrame + // 创建新的 PictureFrame p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 200, 100, ppImage.Width, ppImage.Height, ppImage); // 以 PPTX 格式保存演示文稿 @@ -133,15 +152,15 @@ using (var p = new Presentation()) } ``` -## **将 SVG 转换为一组形状** -Aspose.Slides 对 SVG 的转换为一组形状的功能与 PowerPoint 处理 SVG 图像的功能相似: -![PowerPoint 弹出菜单](img_01_01.png) +## **将 SVG 转换为形状集合** +Aspose.Slides 将 SVG 转换为形状集合的功能类似于 PowerPoint 中处理 SVG 图像的功能: -该功能由 [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) 接口的 [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) 方法的一个重载提供,该方法将 [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) 对象作为第一个参数。 +![PowerPoint Popup Menu](img_01_01.png) -以下示例代码演示了如何使用描述的方法将 SVG 文件转换为一组形状: +该功能由 [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection) 接口的一个重载的 [AddGroupShape](https://reference.aspose.com/slides/net/aspose.slides.ishapecollection/addgroupshape/methods/1) 方法提供,该方法接受 [ISvgImage](https://reference.aspose.com/slides/net/aspose.slides/isvgimage) 对象作为第一个参数。 +下面的示例代码演示了如何使用上述方法将 SVG 文件转换为形状集合: ``` csharp // 文档目录的路径 string dataDir = @"D:\Documents\"; @@ -152,7 +171,7 @@ string svgFileName = dataDir + "sample.svg"; // 输出演示文稿文件名 string outPptxPath = dataDir + "presentation.pptx"; -// 创建新的演示文稿 +// 创建新演示文稿 using (IPresentation presentation = new Presentation()) { // 读取 SVG 文件内容 @@ -164,7 +183,7 @@ using (IPresentation presentation = new Presentation()) // 获取幻灯片大小 SizeF slideSize = presentation.SlideSize.Size; - // 将 SVG 图像转换为形状组,缩放至幻灯片大小 + // 将 SVG 图像转换为形状组,并按幻灯片尺寸进行缩放 presentation.Slides[0].Shapes.AddGroupShape(svgImage, 0f, 0f, slideSize.Width, slideSize.Height); // 以 PPTX 格式保存演示文稿 @@ -172,11 +191,11 @@ using (IPresentation presentation = new Presentation()) } ``` -## **将图像作为 EMF 添加到幻灯片** -Aspose.Slides for .NET 允许您从 Excel 表生成 EMF 图像,并将图像作为 EMF 添加到幻灯片中。 -以下示例代码演示了如何执行上述任务: +## **将图像作为 EMF 添加到幻灯片** +Aspose.Slides for .NET 允许您使用 Aspose.Cells 从 Excel 工作表生成 EMF 图像,并将这些图像以 EMF 形式添加到幻灯片中。 +下面的示例代码演示了如何完成上述任务: ``` csharp using (Workbook book = new Workbook(dataDir + "chart.xlsx")) { @@ -209,8 +228,66 @@ using (Workbook book = new Workbook(dataDir + "chart.xlsx")) } ``` + +## **替换图像集合中的图像** + +Aspose.Slides 允许您替换存储在演示文稿图像集合中的图像(包括幻灯片形状使用的图像)。本节展示了几种更新集合中图像的方法。API 提供了直接的方式,可使用原始字节数据、[IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) 实例或集合中已存在的另一个图像来替换图像。 + +请按以下步骤操作: + +1. 使用 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类加载包含图像的演示文稿文件。 +2. 将新图像从文件加载到字节数组。 +3. 使用字节数组将目标图像替换为新图像。 +4. 在第二种方法中,将图像加载到 [IImage](https://reference.aspose.com/slides/net/aspose.slides/iimage/) 对象,并使用该对象替换目标图像。 +5. 在第三种方法中,将目标图像替换为演示文稿图像集合中已存在的图像。 +6. 将修改后的演示文稿写入为 PPTX 文件。 +```cs +// 实例化表示演示文稿文件的 Presentation 类。 +using Presentation presentation = new Presentation("sample.pptx"); + +// 第一种方法。 +byte[] imageData = File.ReadAllBytes("image0.jpeg"); +IPPImage oldImage = presentation.Images[0]; +oldImage.ReplaceImage(imageData); + +// 第二种方法。 +using IImage newImage = Images.FromFile("image1.png"); +oldImage = presentation.Images[1]; +oldImage.ReplaceImage(newImage); + +// 第三种方法。 +oldImage = presentation.Images[2]; +oldImage.ReplaceImage(presentation.Images[3]); + +// 将演示文稿保存到文件。 +presentation.Save("output.pptx", SaveFormat.Pptx); +``` + + {{% alert title="信息" color="info" %}} -使用 Aspose 免费的 [文本到 GIF](https://products.aspose.app/slides/text-to-gif) 转换器,您可以轻松地动画文本、从文本创建 GIF 等。 +使用 Aspose 免费的 [Text to GIF](https://products.aspose.app/slides/text-to-gif) 转换器,您可以轻松为文本添加动画、从文本创建 GIF 等。 + +{{% /alert %}} + +## **常见问题** + +**插入后原始图像分辨率是否保持不变?** + +是的。源像素被保留,但最终外观取决于幻灯片上 [picture](/slides/zh/net/picture-frame/) 的缩放方式以及保存时是否进行压缩。 + +**一次性替换数十张幻灯片上的相同徽标的最佳方法是什么?** + +将徽标放在母版幻灯片或布局上,并在演示文稿的图像集合中替换它——更改会传播到所有使用该资源的元素。 + +**插入的 SVG 能否转换为可编辑的形状?** + +可以。您可以将 SVG 转换为一组形状,随后各个部分即可使用标准形状属性进行编辑。 + +**如何一次性将图片设置为多张幻灯片的背景?** + +在母版幻灯片或相应布局上 [Assign the image as the background](/slides/zh/net/presentation-background/),使用该母版/布局的所有幻灯片都会继承该背景。 + +**如何防止因大量图片导致演示文稿体积“膨胀”?** -{{% /alert %}} \ No newline at end of file +重复使用单个图像资源而非复制,选择合理的分辨率,保存时进行压缩,并在合适的情况下将重复的图形放在母版上。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md b/zh/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md index 62efd787cc..75cdf0496d 100644 --- a/zh/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-media-files/picture-frame/_index.md @@ -3,44 +3,46 @@ title: 图片框 type: docs weight: 10 url: /zh/net/picture-frame/ -keywords: +keywords: +- 图片框 - 添加图片框 - 创建图片框 -- 添加图片 -- 创建图片 -- 提取图片 +- 添加图像 +- 创建图像 +- 提取图像 +- 裁剪图像 - StretchOff 属性 -- 图片框格式 +- 图片框格式化 - 图片框属性 -- PowerPoint 演示文稿 +- 图像效果 +- 纵横比 +- PowerPoint +- 演示文稿 - C# - Csharp - Aspose.Slides for .NET description: "在 C# 或 .NET 中向 PowerPoint 演示文稿添加图片框" --- -图片框是包含图像的形状——它就像框中的一张图片。 +图片框是一种包含图像的形状——它类似于装在框中的图片。 -您可以通过图片框向幻灯片添加图像。通过这种方式,您可以通过格式化图片框来格式化图像。 - -{{% 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 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 %}} ## **创建图片框** -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 通过其索引获取幻灯片的引用。 -3. 通过将图像添加到与演示文稿对象关联的 [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection)中来创建 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 对象,该对象将用于填充形状。 -4. 指定图像的宽度和高度。 -5. 通过与引用的幻灯片关联的形状对象暴露的 `AddPictureFrame` 方法,根据图像的宽度和高度创建 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe)。 -6. 将图片框(包含图片)添加到幻灯片中。 -7. 将修改后的演示文稿写入 PPTX 文件。 - -以下 C# 代码展示了如何创建一个图片框: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 通过索引获取幻灯片的引用。 +3. 通过向与演示文稿对象关联的 [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) 添加图像,创建一个 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 对象,用于填充形状。 +4. 指定图像的宽度和高度。 +5. 通过引用幻灯片关联的形状对象公开的 `AddPictureFrame` 方法,根据图像的宽度和高度创建一个 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe)。 +6. 将图片框(包含图片)添加到幻灯片。 +7. 将修改后的演示文稿写入为 PPTX 文件。 +此 C# 代码展示了如何创建图片框: ```c# // 实例化表示 PPTX 文件的 Presentation 类 using (Presentation pres = new Presentation()) @@ -48,15 +50,15 @@ using (Presentation pres = new Presentation()) // 获取第一张幻灯片 ISlide slide = pres.Slides[0]; - // 加载图像并将其添加到演示文稿的图像集合中 + // 加载图像并将其添加到演示文稿的图像集合 IImage image = Images.FromFile("aspose-logo.jpg"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // 添加与高度和宽度相同的图片框 + // 添加一个宽高相同的图片框 IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // 对图片框应用一些格式 + // 对图片框应用一些格式设置 pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; pictureFrame.LineFormat.Width = 20; @@ -67,35 +69,33 @@ using (Presentation pres = new Presentation()) } ``` -{{% alert color="warning" %}} - -图片框允许您迅速基于图像创建演示文稿幻灯片。当您将图片框与 Aspose.Slides 的保存选项结合使用时,您可以操作输入/输出操作以将图像从一种格式转换为另一种格式。您可能想查看这些页面:转换 [图像到 JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/);转换 [JPG 到图像](https://products.aspose.com/slides/net/conversion/jpg-to-image/);转换 [JPG 到 PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/),转换 [PNG 到 JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/);转换 [PNG 到 SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/),转换 [SVG 到 PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/)。 -{{% /alert %}} - -## **通过相对缩放创建图片框** +{{% alert color="warning" %}} +图片框可帮助您快速基于图像创建演示幻灯片。当将图片框与 Aspose.Slides 的保存选项结合使用时,您可以操作输入/输出以将图像从一种格式转换为另一种格式。您可能想查看以下页面:转换 [image to JPG](https://products.aspose.com/slides/net/conversion/image-to-jpg/);转换 [JPG to image](https://products.aspose.com/slides/net/conversion/jpg-to-image/);转换 [JPG to PNG](https://products.aspose.com/slides/net/conversion/jpg-to-png/),转换 [PNG to JPG](https://products.aspose.com/slides/net/conversion/png-to-jpg/);转换 [PNG to SVG](https://products.aspose.com/slides/net/conversion/png-to-svg/),转换 [SVG to PNG](https://products.aspose.com/slides/net/conversion/svg-to-png/)。 +{{% /alert %}} -通过改变图像的相对缩放,您可以创建一个更复杂的图片框。 +## **使用相对比例创建图片框** -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 通过其索引获取幻灯片的引用。 -3. 将图像添加到演示文稿图像集合中。 -4. 通过将图像添加到与演示文稿对象关联的 [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) 中创建一个 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 对象,该对象将用于填充形状。 -5. 在图片框中指定图像的相对宽度和高度。 -6. 将修改后的演示文稿写入 PPTX 文件。 +通过改变图像的相对缩放,您可以创建更复杂的图片框。 -以下 C# 代码展示了如何通过相对缩放创建图片框: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 通过索引获取幻灯片的引用。 +3. 向演示文稿的图像集合添加图像。 +4. 通过向与演示文稿对象关联的 [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) 添加图像,创建一个 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 对象,用于填充形状。 +5. 在图片框中指定图像的相对宽度和高度。 +6. 将修改后的演示文稿写入为 PPTX 文件。 +此 C# 代码展示了如何使用相对比例创建图片框: ```c# // 实例化表示 PPTX 文件的 Presentation 类 using (Presentation presentation = new Presentation()) { - // 加载图像并将其添加到演示文稿图像集合中 + // 加载图像并将其添加到演示文稿的图像集合 IImage image = Images.FromFile("aspose-logo.jpg"); IPPImage ppImage = presentation.Images.AddImage(image); image.Dispose(); - // 将图片框添加到幻灯片 + // 向幻灯片添加图片框 IPictureFrame pictureFrame = presentation.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 50, 100, 100, ppImage); // 设置相对缩放宽度和高度 @@ -107,10 +107,10 @@ using (Presentation presentation = new Presentation()) } ``` -## **从图片框提取图像** -您可以从 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) 对象中提取图像,并将其保存为 PNG、JPG 和其他格式。下面的代码示例演示了如何从文档 "sample.pptx" 中提取图像并将其保存为 PNG 格式。 +## **从图片框提取光栅图像** +您可以从 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe) 对象提取光栅图像,并将其保存为 PNG、JPG 等格式。下面的代码示例演示如何从文档 "sample.pptx" 中提取图像并保存为 PNG 格式。 ```c# using (var presentation = new Presentation("sample.pptx")) { @@ -125,12 +125,34 @@ using (var presentation = new Presentation("sample.pptx")) } ``` -## **获取图像的透明度** -Aspose.Slides 允许您获取图像的透明度。以下 C# 代码演示了此操作: +## **从图片框提取 SVG 图像** + +当演示文稿在 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) 形状中包含 SVG 图形时,Aspose.Slides for .NET 允许您完整保真地检索原始矢量图像。通过遍历幻灯片的形状集合,您可以识别每个 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/),检查其底层的 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) 是否包含 SVG 内容,然后将该图像以原生 SVG 格式保存到磁盘或流中。 + +以下代码示例演示如何从图片框提取 SVG 图像: +```cs +using var presentation = new Presentation("sample.pptx"); + +var slide = presentation.Slides[0]; +var shape = slide.Shapes[0]; + +if (shape is IPictureFrame pictureFrame) +{ + var svgImage = pictureFrame.PictureFormat.Picture.Image.SvgImage; + if (svgImage != null) + { + File.WriteAllText("output.svg", svgImage.SvgContent); + } +} +``` + +## **获取图像的透明度** + +Aspose.Slides 允许您获取应用于图像的透明度效果。以下 C# 代码演示该操作: ```c# -using (var presentation = new Presentation(folderPath + "Test.pptx")) +using (var presentation = new Presentation("Test.pptx")) { var pictureFrame = (IPictureFrame)presentation.Slides[0].Shapes[0]; var imageTransform = pictureFrame.PictureFormat.Picture.ImageTransform; @@ -139,32 +161,36 @@ using (var presentation = new Presentation(folderPath + "Test.pptx")) if (effect is IAlphaModulateFixed alphaModulateFixed) { var transparencyValue = 100 - alphaModulateFixed.Amount; - Console.WriteLine("图片透明度: " + transparencyValue); + Console.WriteLine("Picture transparency: " + transparencyValue); } } } ``` -## **图片框格式** - -Aspose.Slides 提供了许多可以应用于图片框的格式选项。使用这些选项,您可以更改图片框以使其符合特定要求。 -1. 创建一个 [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) 类的实例。 -2. 通过其索引获取幻灯片的引用。 -3. 通过将图像添加到与演示文稿对象关联的 [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) 中创建一个 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 对象,该对象将用于填充形状。 -4. 指定图像的宽度和高度。 -5. 通过与引用的幻灯片关联的 [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection) 对象暴露的 [AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe) 方法,根据图像的宽度和高度创建一个 `PictureFrame`。 -6. 将图片框(包含图片)添加到幻灯片中。 -7. 设置图片框的线条颜色。 -8. 设置图片框的线条宽度。 -9. 通过给定正值或负值旋转图片框。 - * 正值使图像顺时针旋转。 - * 负值使图像逆时针旋转。 -10. 将图片框(包含图片)添加到幻灯片中。 -11. 将修改后的演示文稿写入 PPTX 文件。 - -以下 C# 代码演示了图片框格式处理过程: +{{% alert color="primary" %}} +所有应用于图像的效果均可在 [Aspose.Slides.Effects](https://reference.aspose.com/slides/net/aspose.slides.effects/) 中找到。 +{{% /alert %}} +## **图片框格式化** + +Aspose.Slides 提供了许多可应用于图片框的格式化选项。使用这些选项,您可以修改图片框以满足特定要求。 + +1. 创建一个 [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) 类的实例。 +2. 通过索引获取幻灯片的引用。 +3. 通过向与演示文稿对象关联的 [IImagescollection](https://reference.aspose.com/slides/net/aspose.slides/iimagecollection) 添加图像,创建一个 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 对象,用于填充形状。 +4. 指定图像的宽度和高度。 +5. 通过引用幻灯片关联的 [IShapes](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection) 对象公开的 [AddPictureFrame](http://www.aspose.com/api/net/slides/aspose.slides/ishapecollection/methods/addpictureframe) 方法,根据图像的宽度和高度创建 `PictureFrame`。 +6. 将图片框(包含图片)添加到幻灯片。 +7. 设置图片框的线条颜色。 +8. 设置图片框的线条宽度。 +9. 通过给定正值或负值来旋转图片框。 + * 正值将图像顺时针旋转。 + * 负值将图像逆时针旋转。 +10. 将图片框(包含图片)添加到幻灯片。 +11. 将修改后的演示文稿写入为 PPTX 文件。 + +此 C# 代码演示图片框格式化过程: ```c# // 实例化表示 PPTX 文件的 Presentation 类 using (Presentation presentation = new Presentation()) @@ -172,15 +198,15 @@ using (Presentation presentation = new Presentation()) // 获取第一张幻灯片 ISlide slide = presentation.Slides[0]; - // 加载图像并将其添加到演示文稿的图像集合中 + // 加载图像并将其添加到演示文稿的图像集合 IImage image = Images.FromFile("aspose-logo.jpg"); IPPImage ppImage = presentation.Images.AddImage(image); image.Dispose(); - // 添加与图片的高度和宽度相等的图片框 + // 添加一个宽高与图片相同的图片框 IPictureFrame pictureFrame = slide.Shapes.AddPictureFrame(ShapeType.Rectangle, 50, 150, ppImage.Width, ppImage.Height, ppImage); - // 对图片框应用一些格式 + // 对图片框应用一些格式设置 pictureFrame.LineFormat.FillFormat.FillType = FillType.Solid; pictureFrame.LineFormat.FillFormat.SolidFillColor.Color = Color.Blue; pictureFrame.LineFormat.Width = 20; @@ -191,16 +217,14 @@ using (Presentation presentation = new Presentation()) } ``` -{{% alert 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 %}} -## **作为链接添加图像** +{{% alert 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 %}} -为避免演示文稿大小过大,您可以通过链接添加图像(或视频),而不是直接将文件嵌入到演示文稿中。以下 C# 代码展示了如何向占位符中添加图像和视频: +## **将图像作为链接添加** +为避免演示文稿体积过大,您可以通过链接方式添加图像(或视频),而不是将文件直接嵌入演示文稿中。以下 C# 代码演示如何将图像和视频添加到占位符中: ```c# using (var presentation = new Presentation("input.pptx")) { @@ -251,10 +275,10 @@ using (var presentation = new Presentation("input.pptx")) } ``` -## **裁剪图像** -以下 C# 代码展示了如何裁剪幻灯片上现有的图像: +## **裁剪图像** +以下 C# 代码演示如何裁剪幻灯片上的现有图像: ```c# using (Presentation presentation = new Presentation()) { @@ -263,7 +287,7 @@ using (Presentation presentation = new Presentation()) IPPImage newImage = presentation.Images.AddImage(image); image.Dispose(); - // 向幻灯片添加一个 PictureFrame + // 向幻灯片添加 PictureFrame IPictureFrame picFrame = presentation.Slides[0].Shapes.AddPictureFrame( ShapeType.Rectangle, 100, 100, 420, 250, newImage); @@ -278,18 +302,18 @@ using (Presentation presentation = new Presentation()) } ``` -## 删除图片的裁剪区域 -如果您想要删除位于框中的图像的裁剪区域,您可以使用 [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) 方法。此方法返回裁剪后的图像,或者在裁剪不必要时返回原始图像。 +## **删除图片裁剪区域** -以下 C# 代码演示了此操作: +如果您想删除框中图像的裁剪区域,可以使用 [IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) 方法。若无需裁剪,该方法返回原始图像。 +此 C# 代码演示该操作: ```c# using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) { ISlide slide = presentation.Slides[0]; - // 获取第一张幻灯片的 PictureFrame + // 获取第一张幻灯片上的 PictureFrame IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; // 删除 PictureFrame 图像的裁剪区域并返回裁剪后的图像 @@ -300,20 +324,64 @@ using (Presentation presentation = new Presentation("PictureFrameCrop.pptx")) } ``` -{{% alert title="注意" color="warning" %}} -[IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) 方法将裁剪后的图像添加到演示文稿图像集合中。如果图像仅在处理的 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) 中使用,此设置可以减少演示文稿的大小。否则,生成的演示文稿中的图像数量将增加。 +{{% alert title="NOTE" color="warning" %}} +[IPictureFillFormat.DeletePictureCroppedAreas](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/deletepicturecroppedareas/) 方法会将裁剪后的图像添加到演示文稿的图像集合中。如果该图像仅在处理后的 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) 中使用,此设置可以减小演示文稿大小;否则,生成的演示文稿中的图像数量会增加。 +此方法在裁剪操作中会将 WMF/EMF 元文件转换为光栅 PNG 图像。 +{{% /alert %}} -该方法在裁剪操作中将 WMF/EMF 元文件转换为栅格 PNG 图像。 +## **压缩图像** -{{% /alert %}} +您可以使用 [`IPictureFillFormat.CompressImage`](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat/compressimage/) 方法压缩演示文稿中的图片。该方法根据形状大小和指定的分辨率缩小图像尺寸,并可选择删除裁剪区域。 +它会像 PowerPoint 的 **图片格式 → 压缩图片 → 分辨率** 功能一样调整图片的尺寸和分辨率。 +下面的 C# 示例演示如何通过指定目标分辨率并可选地删除裁剪区域来压缩演示文稿中的图像: +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; -## **锁定纵横比** + // 获取幻灯片上的 PictureFrame + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; -如果您希望包含图像的形状在更改图像尺寸后保持其纵横比,可以使用 [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) 属性设置 *锁定纵横比* 设置。 + // 使用目标分辨率 150 DPI(网页分辨率)压缩图像并删除裁剪区域 + bool result = picFrame.PictureFormat.CompressImage(true, PicturesCompression.Dpi150); + + // 检查压缩结果 + if (result) + { + Console.WriteLine("Image successfully compressed."); + } + else + { + Console.WriteLine("Image compression failed or no changes were necessary."); + } +} +``` -以下 C# 代码展示了如何锁定形状的纵横比: +或直接使用自定义 DPI 值: +```csharp +using (Presentation presentation = new Presentation("demo.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + IPictureFrame picFrame = slide.Shapes[0] as IPictureFrame; + + // 将图像压缩至 150 DPI(网络分辨率),并删除裁剪区域 + bool result = picFrame.PictureFormat.CompressImage(true, 150f); +} +``` + + +{{% alert title="NOTE" color="warning" %}} +该方法根据形状大小和提供的 DPI 将图像转换为较低分辨率。裁剪区域也可以被删除以优化文件大小。 +如果图像是元文件(WMF/EMF)或 SVG,则不会进行压缩。另外,JPEG 质量会依据分辨率保持或略有降低,类似于 PowerPoint 对高分辨率 JPEG 的处理方式。 +{{% /alert %}} + +## **锁定纵横比** + +如果您希望包含图像的形状在更改图像尺寸后仍保持纵横比,可使用 [IPictureFrameLock.AspectRatioLocked](https://reference.aspose.com/slides/net/aspose.slides/ipictureframelock/aspectratiolocked/) 属性来设置 *锁定纵横比*。 +此 C# 代码展示如何锁定形状的纵横比: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -331,30 +399,25 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -{{% alert title="注意" color="warning" %}} - -这个 *锁定纵横比* 设置仅保留形状的纵横比,而不保留其包含的图像的纵横比。 -{{% /alert %}} +{{% alert title="NOTE" color="warning" %}} +此 *锁定纵横比* 设置仅保持形状的纵横比,而不影响其包含的图像。 +{{% /alert %}} ## **使用 StretchOff 属性** -通过使用 [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft)、[StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop)、[StretchOffsetRight,](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) 和 [StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) 属性,您可以指定填充矩形。 - -当为图像指定拉伸时,源矩形会按比例缩放以适应指定的填充矩形。填充矩形的每条边由形状边界框相应边缘的百分比偏移量定义。正百分比指定内缩,而负百分比指定外缩。 - -1. 创建一个 [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) 类的实例。 -2. 通过其索引获取幻灯片的引用。 -3. 添加一个矩形的 `AutoShape`。 -4. 创建一张图像。 -5. 设置形状的填充类型。 -6. 设置形状的图片填充模式。 -7. 添加一个图像以填充形状。 -8. 指定图像从形状边框相应边缘的偏移量。 -9. 将修改后的演示文稿写入 PPTX 文件。 - -以下 C# 代码演示了使用 StretchOff 属性的过程: - +使用来自 [IPictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/ipicturefillformat) 接口和 [PictureFillFormat](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat) 类的 [StretchOffsetLeft](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetleft)、[StretchOffsetTop](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsettop)、[StretchOffsetRight](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetright) 和 [StretchOffsetBottom](https://reference.aspose.com/slides/net/aspose.slides/picturefillformat/properties/stretchoffsetbottom) 属性,可指定填充矩形。 +当对图像指定拉伸时,源矩形会缩放以适应指定的填充矩形。填充矩形的每条边均由相对于形状边界框相应边缘的百分比偏移量定义。正百分比表示内缩,负百分比表示外扩。 + +1. 创建一个 [Presentation](http://www.aspose.com/api/net/slides/aspose.slides/) 类的实例。 +2. 通过索引获取幻灯片的引用。 +3. 添加一个矩形 `AutoShape`。 +4. 创建图像。 +5. 设置形状的填充类型。 +6. 设置形状的图片填充模式。 +7. 添加已设置的图像以填充形状。 +8. 指定图像相对于形状边界框相应边缘的偏移量 +9. 将修改后的演示文稿写入为 PPTX 文件。 ```c# using (Presentation pres = new Presentation()) { @@ -364,7 +427,7 @@ using (Presentation pres = new Presentation()) IPictureFrame pictureFrame = pres.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 10, 10, 400, 400, ppImage); - // 设置从形状主体各边拉伸的图像 + // 将图像在形状主体的每一侧拉伸 pictureFrame.PictureFormat.PictureFillMode = PictureFillMode.Stretch; pictureFrame.PictureFormat.StretchOffsetLeft = 24; pictureFrame.PictureFormat.StretchOffsetRight = 24; @@ -373,4 +436,19 @@ using (Presentation pres = new Presentation()) pres.Save("imageStretch.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **常见问题** + +**如何了解 PictureFrame 支持的图像格式?** +Aspose.Slides 通过分配给 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) 的图像对象,支持光栅图像(PNG、JPEG、BMP、GIF 等)和矢量图像(例如 SVG)。支持的格式列表通常与幻灯片和图像转换引擎的功能相重叠。 + +**大量添加大图像会如何影响 PPTX 的大小和性能?** +嵌入大图像会增加文件大小和内存使用;通过链接图像可以降低演示文稿大小,但需要外部文件保持可访问。Aspose.Slides 提供通过链接方式添加图像的功能,以减小文件大小。 + +**如何锁定图像对象以防止意外移动/缩放?** +对 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) 使用 [shape locks](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/pictureframelock/)(例如,禁用移动或缩放)。锁定机制在单独的 [保护文章](/slides/zh/net/applying-protection-to-presentation/) 中说明,并支持包括 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) 在内的多种形状类型。 + +**将演示文稿导出为 PDF/图像时,SVG 矢量保真度是否保留?** +Aspose.Slides 允许从 [PictureFrame](https://reference.aspose.com/slides/net/aspose.slides/pictureframe/) 中提取 SVG 原始矢量。导出为 [PDF](/slides/zh/net/convert-powerpoint-to-pdf/) 或 [光栅格式](/slides/zh/net/convert-powerpoint-to-png/) 时,结果可能会根据导出设置被光栅化;提取行为确认了原始 SVG 以矢量形式存储。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md b/zh/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md index c2fbe7397b..8df673192f 100644 --- a/zh/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-media-files/video-frame/_index.md @@ -3,51 +3,50 @@ title: 视频帧 type: docs weight: 10 url: /zh/net/video-frame/ -keywords: "添加视频,创建视频帧,提取视频,PowerPoint演示文稿,C#,Csharp,Aspose.Slides for .NET" -description: "在C#或.NET中向PowerPoint演示文稿添加视频帧" +keywords: "添加视频,创建视频帧,提取视频,PowerPoint 演示文稿,C#,Csharp,Aspose.Slides for .NET" +description: "在 C# 或 .NET 中向 PowerPoint 演示文稿添加视频帧" --- -在演示文稿中适当地放置视频可以使您的信息更具吸引力,并提高与观众的互动水平。 +在演示文稿中恰当地放置视频可以使您的信息更具说服力,并提高观众的参与度。 -PowerPoint允许您通过两种方式向演示文稿的幻灯片添加视频: +PowerPoint 允许您以两种方式向演示文稿的幻灯片添加视频: * 添加或嵌入本地视频(存储在您的计算机上) -* 添加在线视频(来自网络来源,如YouTube)。 +* 添加在线视频(来自如 YouTube 的网络来源)。 -为了让您可以向演示文稿中添加视频(视频对象),Aspose.Slides提供了[IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/)接口、[IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/)接口以及其他相关类型。 +为了让您向演示文稿添加视频(视频对象),Aspose.Slides 提供了 [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) 接口、[IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) 接口以及其他相关类型。 ## **创建嵌入式视频帧** -如果您想要添加到幻灯片的视频文件存储在本地,您可以创建一个视频帧将视频嵌入到您的演示文稿中。 +如果您要添加到幻灯片的视频文件存储在本地,您可以创建视频帧以在演示文稿中嵌入该视频。 -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -1. 通过其索引获取幻灯片的引用。 -1. 添加[IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/)对象,并传递视频文件路径以将视频与演示文稿嵌入。 -1. 添加[IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/)对象以创建视频的框架。 -1. 保存修改后的演示文稿。 - -以下C#代码展示了如何将本地存储的视频添加到演示文稿中: +1. 创建一个 [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +1. 通过索引获取幻灯片的引用。 +1. 添加一个 [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) 对象,并传递视频文件路径以将视频嵌入演示文稿中。 +1. 添加一个 [IVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ivideoframe/) 对象来为视频创建帧。 +1. 保存已修改的演示文稿。 +以下 C# 代码演示如何将本地存储的视频添加到演示文稿中: ```c# -// Instantiates the Presentation class -using (Presentation pres = new Presentation("pres.pptx")) -{ - // Loads the video - using (FileStream fileStream = new FileStream("Wildlife.mp4", FileMode.Open, FileAccess.Read)) - { - IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); - - // Gets the first slide and adds a videoframe - pres.Slides[0].Shapes.AddVideoFrame(10, 10, 150, 250, video); - - // Saves the presentation to disk - pres.Save("pres-with-video.pptx", SaveFormat.Pptx); - } -} + // 实例化 Presentation 类 + using (Presentation pres = new Presentation("pres.pptx")) + { + // 加载视频 + using (FileStream fileStream = new FileStream("Wildlife.mp4", FileMode.Open, FileAccess.Read)) + { + IVideo video = pres.Videos.AddVideo(fileStream, LoadingStreamBehavior.KeepLocked); + + // 获取第一张幻灯片并添加视频帧 + pres.Slides[0].Shapes.AddVideoFrame(10, 10, 150, 250, video); + + // 将演示文稿保存到磁盘 + pres.Save("pres-with-video.pptx", SaveFormat.Pptx); + } + } ``` -另外,您也可以通过直接将文件路径传递给[AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/)方法来添加视频: -```csharp +或者,您可以通过将文件路径直接传递给 [AddVideoFrame](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/addvideoframe/) 方法来添加视频: +``` csharp using (Presentation pres = new Presentation()) { ISlide sld = pres.Slides[0]; @@ -55,21 +54,22 @@ using (Presentation pres = new Presentation()) } ``` -## **从网络来源创建视频帧** -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/net/aspose.slides/presentation)类的实例。 -1. 通过其索引获取幻灯片的引用。 -1. 添加[IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/)对象并传递视频链接。 -1. 设置视频帧的缩略图。 -1. 保存演示文稿。 +## **创建来自网络源的视频帧** -以下C#代码展示了如何将网络视频添加到PowerPoint演示文稿的幻灯片中: +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/net/aspose.slides/presentation) 类的实例 +1. 通过索引获取幻灯片的引用。 +1. 添加一个 [IVideo](https://reference.aspose.com/slides/net/aspose.slides/ivideo/) 对象,并传递视频链接。 +1. 为视频帧设置缩略图。 +1. 保存演示文稿。 + +以下 C# 代码演示如何将网络视频添加到 PowerPoint 演示文稿的幻灯片中: ```c# public static void Run() { - // Instantiates a Presentation object that represents a presentation file + // 实例化一个表示演示文稿文件的 Presentation 对象 using (Presentation pres = new Presentation()) { AddVideoFromYouTube(pres, "Tj75Arhq5ho"); @@ -79,11 +79,11 @@ public static void Run() private static void AddVideoFromYouTube(Presentation pres, string videoId) { - // Adds a VideoFrame + // 添加一个 VideoFrame IVideoFrame videoFrame = pres.Slides[0].Shapes.AddVideoFrame(10, 10, 427, 240, "https://www.youtube.com/embed/" + videoId); videoFrame.PlayMode = VideoPlayModePreset.Auto; - // Loads thumbnail + // 加载缩略图 using (WebClient client = new WebClient()) { string thumbnailUri = "http://img.youtube.com/vi/" + videoId + "/hqdefault.jpg"; @@ -92,27 +92,28 @@ private static void AddVideoFromYouTube(Presentation pres, string videoId) } ``` -## **从幻灯片中提取视频** -除了向幻灯片添加视频,Aspose.Slides还允许您提取嵌入在演示文稿中的视频。 -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例以加载包含视频的演示文稿。 -2. 遍历所有[ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide)对象。 -3. 遍历所有[IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape)对象以查找[VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe)。 -4. 将视频保存到磁盘。 +## **从幻灯片提取视频** -以下C#代码展示了如何从演示文稿幻灯片中提取视频: +除了向幻灯片添加视频之外,Aspose.Slides 还允许您提取嵌入在演示文稿中的视频。 + +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例,以加载包含视频的演示文稿。 +2. 遍历所有 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide) 对象。 +3. 遍历所有 [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) 对象,以查找 [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe)。 +4. 将视频保存到磁盘。 +以下 C# 代码演示如何提取演示文稿幻灯片上的视频: ```c# -// Instantiates a Presentation object that represents a presentation file -Presentation presentation = new Presentation("Video.pptx"); + // 实例化一个表示演示文稿文件的 Presentation 对象 + Presentation presentation = new Presentation("Video.pptx"); // Iterates through slides foreach (ISlide slide in presentation.Slides) { - // Iterates through shapes + // 遍历形状 foreach (IShape shape in presentation.Slides[0].Shapes) { - // Saves video to disk once VideoFrame containing video is found + // 在找到包含视频的 VideoFrame 后将视频保存到磁盘 if (shape is VideoFrame) { IVideoFrame vf = shape as IVideoFrame; @@ -127,4 +128,23 @@ foreach (ISlide slide in presentation.Slides) } } } -``` \ No newline at end of file +``` + + +## **常见问题** + +**可以为 VideoFrame 更改哪些视频播放参数?** + +您可以控制[播放模式](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playmode/)(自动或点击时)和[循环](https://reference.aspose.com/slides/net/aspose.slides/videoframe/playloopmode/)。这些选项可通过 [VideoFrame](https://reference.aspose.com/slides/net/aspose.slides/videoframe/) 对象的属性进行设置。 + +**添加视频会影响 PPTX 文件大小吗?** + +是的。嵌入本地视频时,二进制数据会被包含在文档中,导致演示文稿的大小按文件大小比例增加。添加在线视频时,只会嵌入链接和缩略图,因而大小增幅较小。 + +**我能在不改变位置和大小的情况下替换现有 VideoFrame 中的视频吗?** + +可以。您可以在保持形状几何不变的情况下替换框架内的[视频内容](https://reference.aspose.com/slides/net/aspose.slides/videoframe/embeddedvideo/),这在更新现有布局中的媒体时是常见的做法。 + +**可以确定嵌入视频的内容类型(MIME)吗?** + +可以。嵌入的视频拥有一个[内容类型](https://reference.aspose.com/slides/net/aspose.slides/video/contenttype/),您可以读取并使用,例如在保存到磁盘时。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-ole/_index.md b/zh/net/developer-guide/presentation-content/manage-ole/_index.md index 7f04b87dca..1f9c434999 100644 --- a/zh/net/developer-guide/presentation-content/manage-ole/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-ole/_index.md @@ -1,331 +1,342 @@ --- -title: 管理OLE +title: 使用 C# 在演示文稿中管理 OLE +linktitle: 管理 OLE type: docs weight: 40 url: /zh/net/manage-ole/ keywords: -- 添加OLE -- 嵌入OLE +- OLE 对象 +- 对象链接与嵌入 +- 添加 OLE +- 嵌入 OLE - 添加对象 - 嵌入对象 +- 添加文件 - 嵌入文件 -- 连接对象 -- 对象链接与嵌入 -- OLE对象 +- 链接对象 +- 链接文件 +- 更改 OLE +- OLE 图标 +- OLE 标题 +- 提取 OLE +- 提取对象 +- 提取文件 - PowerPoint - 演示文稿 +- .NET - C# -- Csharp -- Aspose.Slides for .NET -description: 在C#或.NET中将OLE对象添加到PowerPoint演示文稿 +- Aspose.Slides +description: "使用 Aspose.Slides for .NET 优化在 PowerPoint 和 OpenDocument 文件中的 OLE 对象管理。实现 OLE 内容的无缝嵌入、更新和导出。" --- -{{% alert title="信息" color="info" %}} +{{% alert title="Info" color="info" %}} -OLE(对象链接与嵌入)是一种微软技术,允许在一个应用程序中创建的数据和对象通过链接或嵌入被放置到另一个应用程序中。 +OLE(对象链接与嵌入)是 Microsoft 的一项技术,允许在一个应用程序中创建的数据和对象通过链接或嵌入放置到另一个应用程序中。 -{{% /alert %}} +{{% /alert %}} -考虑在MS Excel中创建的图表。该图表随后被放置在PowerPoint幻灯片中。那个Excel图表被视为OLE对象。 +考虑一个在 MS Excel 中创建的图表。该图表随后被放置在 PowerPoint 幻灯片中。该 Excel 图表被视为 OLE 对象。 -- OLE对象可以显示为一个图标。在这种情况下,当您双击图标时,图表将在其关联的应用程序(Excel)中打开,或者系统会要求您选择一个应用程序来打开或编辑该对象。 -- OLE对象可以显示实际内容,例如图表的内容。在这种情况下,图表会在PowerPoint中激活,图表界面被加载,您可以在PowerPoint应用程序中修改图表的数据。 +- OLE 对象可能以图标形式出现。在此情况下,双击图标时,图表会在其关联的应用程序(Excel)中打开,或会提示您选择用于打开或编辑对象的应用程序。 +- OLE 对象可能显示其实际内容,例如图表的内容。在此情况下,图表在 PowerPoint 中被激活,图表界面加载,您可以在 PowerPoint 中修改图表的数据。 -[Aspose.Slides for .NET](https://products.aspose.com/slides/net/)允许您将OLE对象插入幻灯片作为OLE对象框([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe))。 +[Aspose.Slides for .NET](https://products.aspose.com/slides/net/) 允许您将 OLE 对象插入幻灯片作为 OLE 对象框([OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe))。 -## **向幻灯片添加OLE对象框** -假设您已经在Microsoft Excel中创建了一个图表,并希望使用Aspose.Slides for .NET将该图表作为OLE对象框嵌入到幻灯片中,可以这样做: +## **向幻灯片添加 OLE 对象框** -1. 创建一个[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 通过索引获取幻灯片的引用。 -3. 打开包含Excel图表对象的Excel文件并保存到`MemoryStream`。 -4. 将包含字节数组和关于OLE对象的其他信息的[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)添加到幻灯片中。 -5. 将修改后的演示文稿写入PPTX文件。 +假设您已经在 Microsoft Excel 中创建了图表,并希望使用 Aspose.Slides for .NET 将其嵌入为幻灯片上的 OLE 对象框,可按以下方式操作: -在下面的示例中,我们使用Aspose.Slides for .NET将来自Excel文件的图表添加到幻灯片中作为[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)。 -**注意**,[IOleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides/ioleembeddeddatainfo)构造函数的第二个参数为可嵌入对象的扩展名。此扩展名允许PowerPoint正确解释文件类型并选择正确的应用程序打开此OLE对象。 +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 通过索引获取幻灯片的引用。 +3. 将 Excel 文件读取为字节数组。 +4. 将 [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) 添加到幻灯片中,包含该字节数组以及 OLE 对象的其他信息。 +5. 将修改后的演示文稿写入为 PPTX 文件。 -``` csharp -// 实例化表示PPTX文件的Presentation类 -using (Presentation pres = new Presentation()) +在下面的示例中,我们使用 Aspose.Slides for .NET 将来自 Excel 文件的图表作为 [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) 添加到幻灯片中。**注意**,[OleEmbeddedDataInfo](https://reference.aspose.com/slides/net/aspose.slides.dom.ole/oleembeddeddatainfo/) 构造函数接受可嵌入对象的扩展名作为第二参数。此扩展名允许 PowerPoint 正确解释文件类型并选择合适的应用程序打开此 OLE 对象。 +```csharp +using (Presentation presentation = new Presentation()) { - // 访问第一张幻灯片 - ISlide sld = pres.Slides[0]; - - // 将Excel文件加载到流中 - MemoryStream mstream = new MemoryStream(); - using (FileStream fs = new FileStream("book1.xlsx", FileMode.Open, FileAccess.Read)) - { - byte[] buf = new byte[4096]; - - while (true) - { - int bytesRead = fs.Read(buf, 0, buf.Length); - if (bytesRead <= 0) - break; - mstream.Write(buf, 0, bytesRead); - } - } + SizeF slideSize = presentation.SlideSize.Size; + ISlide slide = presentation.Slides[0]; - // 创建一个嵌入数据对象 - IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(mstream.ToArray(), "xlsx"); + // 准备 OLE 对象的数据。 + byte[] fileData = File.ReadAllBytes("book.xlsx"); + IOleEmbeddedDataInfo dataInfo = new OleEmbeddedDataInfo(fileData, "xlsx"); - // 添加一个Ole对象框形状 - IOleObjectFrame oleObjectFrame = sld.Shapes.AddOleObjectFrame(0, 0, pres.SlideSize.Size.Width, - pres.SlideSize.Size.Height, dataInfo); + // 将 OLE 对象框添加到幻灯片中。 + slide.Shapes.AddOleObjectFrame(0, 0, slideSize.Width, slideSize.Height, dataInfo); - //将PPTX文件写入磁盘 - pres.Save("OleEmbed_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -### 添加链接的OLE对象框 -Aspose.Slides for .NET允许您添加一个没有嵌入数据而仅仅链接到文件的[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)。 -以下C#代码向您展示如何将链接的Excel文件添加到幻灯片中的[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe): +### **添加链接的 OLE 对象框** + +Aspose.Slides for .NET 允许您添加一个不嵌入数据、仅使用文件链接的 [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)。 -``` csharp -using (Presentation pres = new Presentation()) +下面的 C# 代码演示了如何将带有链接的 Excel 文件的 [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) 添加到幻灯片中: +```csharp +using (Presentation presentation = new Presentation()) { - // 访问第一张幻灯片 - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // 添加一个链接的Excel文件的Ole对象框 - IOleObjectFrame oleObjectFrame = slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book1.xlsx"); + // 添加一个带有链接 Excel 文件的 OLE 对象框。 + slide.Shapes.AddOleObjectFrame(20, 20, 200, 150, "Excel.Sheet.12", "book.xlsx"); - // 将PPTX文件写入磁盘 - pres.Save("OleLinked_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **访问OLE对象框** -如果OLE对象已经嵌入在幻灯片中,您可以这样轻松找到或访问该对象: - -1. 创建一个包含OLE对象的[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 通过索引获取幻灯片的引用。 -3. 访问[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)形状。 - 在我们的示例中,我们使用先前创建的只有一个形状的PPTX在第一张幻灯片上。然后我们将该对象*强制转换*为[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)。这是要访问的目标OLE对象框。 -4. 一旦访问了OLE对象框,您可以对其执行任何操作。 -在下面的示例中,访问了一个OLE对象框(在幻灯片中嵌入的Excel图表对象),然后将其文件数据写入Excel文件: -``` csharp -// 将PPTX加载到演示对象中 -using (Presentation pres = new Presentation("AccessingOLEObjectFrame.pptx")) + +## **访问 OLE 对象框** + +如果 OLE 对象已经嵌入到幻灯片中,您可以通过以下方式轻松查找或访问它: + +1. 通过创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例,加载包含嵌入式 OLE 对象的演示文稿。 +2. 使用索引获取幻灯片的引用。 +3. 访问 [OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) 形状。在我们的示例中,我们使用了之前创建的 PPTX,该 PPTX 的第一张幻灯片只有一个形状。然后将该对象*强制转换*为 [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe)。这就是要访问的目标 OLE 对象框。 +4. 一旦访问到 OLE 对象框,您就可以对其执行任何操作。 + +在下面的示例中,访问了 OLE 对象框(嵌入在幻灯片中的 Excel 图表对象)及其文件数据。 +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) { - // 访问第一张幻灯片 - ISlide sld = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - // 强制转换形状为OleObjectFrame - OleObjectFrame oleObjectFrame = sld.Shapes[0] as OleObjectFrame; + // 获取第一个形状作为 OLE 对象框。 + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // 读取OLE对象并将其写入磁盘 - if (oleObjectFrame != null) + if (oleFrame != null) { - // 获取嵌入的文件数据 - byte[] data = oleObjectFrame.EmbeddedData.EmbeddedFileData; + // 获取嵌入的文件数据。 + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; - // 获取嵌入的文件扩展名 - string fileExtention = oleObjectFrame.EmbeddedData.EmbeddedFileExtension; + // 获取嵌入文件的扩展名。 + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; - // 创建一个路径以保存提取的文件 - string extractedPath = "excelFromOLE_out" + fileExtention; - - // 保存提取的数据 - using (FileStream fstr = new FileStream(extractedPath, FileMode.Create, FileAccess.Write)) - { - fstr.Write(data, 0, data.Length); - } + // ... } } ``` -### 访问链接的OLE对象框属性 -Aspose.Slides允许您访问链接的OLE对象框属性。 +### **访问链接的 OLE 对象框属性** + +Aspose.Slides 允许您访问链接的 OLE 对象框属性。 -以下C#代码向您展示如何检查OLE对象是否链接,并获取链接文件的路径: +下面的 C# 代码演示了如何检查 OLE 对象是否为链接的,并获取链接文件的路径: ```csharp -using (Presentation pres = new Presentation("OleLinked.ppt")) -{ - // 访问第一张幻灯片 - ISlide slide = pres.Slides[0]; - - // 将第一个形状作为OLE对象框获取 - OleObjectFrame oleObjectFrame = slide.Shapes[0] as OleObjectFrame; - - // 检查OLE对象是否链接。 - if (oleObjectFrame != null && oleObjectFrame.IsObjectLink) - { - // 打印链接文件的完整路径 - Console.WriteLine("Ole对象框链接到: " + oleObjectFrame.LinkPathLong); - - // 如果存在,打印链接文件的相对路径。 - // 只有PPT演示文稿可以包含相对路径。 - string relativePath = oleObjectFrame.LinkPathRelative; - if (!string.IsNullOrEmpty(relativePath)) - { - Console.WriteLine("Ole对象框相对路径: " + oleObjectFrame.LinkPathRelative); - } - } -} -``` -## **更改OLE对象数据** - -如果OLE对象已经嵌入在幻灯片中,您可以通过以下方式轻松访问该对象并修改其数据: - -1. 通过创建一个[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例来打开所需的包含嵌入OLE对象的演示文稿。 -2. 通过索引获取幻灯片的引用。 -3. 访问[OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)形状。 - 在我们的示例中,我们使用先前创建的PPTX在第一张幻灯片上有一个形状。我们将该对象*强制转换*为[OleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)。这是要访问的目标OLE对象框。 -4. 一旦访问了OLE对象框,您可以对其执行任何操作。 -5. 创建Workbook对象并访问OLE数据。 -6. 访问所需的工作表并修改数据。 -7. 在流中保存更新的工作簿。 -8. 从流数据更改OLE对象数据。 -在下面的示例中,访问了一个OLE对象框(在幻灯片中嵌入的Excel图表对象),然后将其文件数据修改以更改图表数据: -``` csharp -using (Presentation pres = new Presentation("ChangeOLEObjectData.pptx")) +using (Presentation presentation = new Presentation("sample.ppt")) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - OleObjectFrame ole = null; + // 获取第一个形状作为 OLE 对象框。 + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; - // 遍历所有形状以寻找OLE框 - foreach (IShape shape in slide.Shapes) + // 检查 OLE 对象是否为链接。 + if (oleFrame != null && oleFrame.IsObjectLink) { - if (shape is OleObjectFrame) + // 打印链接文件的完整路径。 + Console.WriteLine("OLE object frame is linked to: " + oleFrame.LinkPathLong); + + // 如果存在,打印链接文件的相对路径。 + // 仅 PPT 演示文稿可以包含相对路径。 + if (!string.IsNullOrEmpty(oleFrame.LinkPathRelative)) { - ole = (OleObjectFrame)shape; + Console.WriteLine("OLE object frame relative path: " + oleFrame.LinkPathRelative); } } +} +``` + - if (ole != null) +## **更改 OLE 对象数据** + +{{% alert color="primary" %}} + +在本节中,下面的代码示例使用了 [Aspose.Cells for .NET](/cells/net/)。 + +{{% /alert %}} + +如果 OLE 对象已经嵌入到幻灯片中,您可以通过以下方式轻松访问该对象并修改其数据: + +1. 通过创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例,加载包含嵌入式 OLE 对象的演示文稿。 +2. 通过索引获取幻灯片的引用。 +3. 访问 [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) 形状。在我们的示例中,我们使用了之前创建的 PPTX,该 PPTX 的第一张幻灯片只有一个形状。然后将该对象*强制转换*为 [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe)。这就是要访问的目标 OLE 对象框。 +4. 一旦访问到 OLE 对象框,您就可以对其执行任何操作。 +5. 创建一个 `Workbook` 对象并访问 OLE 数据。 +6. 访问所需的 `Worksheet` 并修改数据。 +7. 将更新后的 `Workbook` 保存到流中。 +8. 从流中更改 OLE 对象数据。 + +在下面的示例中,访问了 OLE 对象框(嵌入在幻灯片中的 Excel 图表对象),并修改其文件数据以更新图表数据。 +```csharp +using (Presentation presentation = new Presentation("sample.pptx")) +{ + ISlide slide = presentation.Slides[0]; + + // 获取第一个形状作为 OLE 对象框。 + IOleObjectFrame oleFrame = slide.Shapes[0] as IOleObjectFrame; + + if (oleFrame != null) { - using (MemoryStream msln = new MemoryStream(ole.EmbeddedData.EmbeddedFileData)) + using (MemoryStream oleStream = new MemoryStream(oleFrame.EmbeddedData.EmbeddedFileData)) { - // 在Workbook中读取对象数据 - Workbook Wb = new Workbook(msln); + // 将 OLE 对象数据读取为 Workbook 对象。 + Workbook workbook = new Workbook(oleStream); - using (MemoryStream msout = new MemoryStream()) + using (MemoryStream newOleStream = new MemoryStream()) { - // 修改工作簿数据 - Wb.Worksheets[0].Cells[0, 4].PutValue("E"); - Wb.Worksheets[0].Cells[1, 4].PutValue(12); - Wb.Worksheets[0].Cells[2, 4].PutValue(14); - Wb.Worksheets[0].Cells[3, 4].PutValue(15); - - OoxmlSaveOptions so1 = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); - Wb.Save(msout, so1); - - // 更改OLE框对象数据 - IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(msout.ToArray(), ole.EmbeddedData.EmbeddedFileExtension); - ole.SetEmbeddedData(newData); + // 修改工作簿数据。 + workbook.Worksheets[0].Cells[0, 4].PutValue("E"); + workbook.Worksheets[0].Cells[1, 4].PutValue(12); + workbook.Worksheets[0].Cells[2, 4].PutValue(14); + workbook.Worksheets[0].Cells[3, 4].PutValue(15); + + OoxmlSaveOptions fileOptions = new OoxmlSaveOptions(Aspose.Cells.SaveFormat.Xlsx); + workbook.Save(newOleStream, fileOptions); + + // 更改 OLE 框对象数据。 + IOleEmbeddedDataInfo newData = new OleEmbeddedDataInfo(newOleStream.ToArray(), oleFrame.EmbeddedData.EmbeddedFileExtension); + oleFrame.SetEmbeddedData(newData); } } } - pres.Save("OleEdit_out.pptx", SaveFormat.Pptx); + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **在幻灯片中嵌入其他文件类型** -除了Excel图表,Aspose.Slides for .NET允许您在幻灯片中嵌入其他类型的文件。例如,您可以将HTML、PDF和ZIP文件作为对象插入到幻灯片中。当用户双击插入的对象时,该对象会自动在相关程序中启动,或者用户会被引导选择相应的程序来打开该对象。 -以下C#代码向您展示如何在幻灯片中嵌入HTML和ZIP: +## **在幻灯片中嵌入其他文件类型** +除了 Excel 图表,Aspose.Slides for .NET 还允许您将其他类型的文件嵌入到幻灯片中。例如,您可以插入 HTML、PDF 和 ZIP 文件作为对象。当用户双击插入的对象时,它会自动在相应的程序中打开,或提示用户选择合适的程序来打开它。 + +下面的 C# 代码演示了如何将 HTML 和 ZIP 嵌入到幻灯片中: ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - - byte[] htmlBytes = File.ReadAllBytes("embedOle.html"); - IOleEmbeddedDataInfo dataInfoHtml = new OleEmbeddedDataInfo(htmlBytes, "html"); - IOleObjectFrame oleFrameHtml = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, dataInfoHtml); - oleFrameHtml.IsObjectIcon = true; - - byte[] zipBytes = File.ReadAllBytes("embedOle.zip"); - IOleEmbeddedDataInfo dataInfoZip = new OleEmbeddedDataInfo(zipBytes, "zip"); - IOleObjectFrame oleFrameZip = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, dataInfoZip); - oleFrameZip.IsObjectIcon = true; - - pres.Save("embeddedOle.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + + byte[] htmlData = File.ReadAllBytes("sample.html"); + IOleEmbeddedDataInfo htmlDataInfo = new OleEmbeddedDataInfo(htmlData, "html"); + IOleObjectFrame htmlOleFrame = slide.Shapes.AddOleObjectFrame(150, 120, 50, 50, htmlDataInfo); + htmlOleFrame.IsObjectIcon = true; + + byte[] zipData = File.ReadAllBytes("sample.zip"); + IOleEmbeddedDataInfo zipDataInfo = new OleEmbeddedDataInfo(zipData, "zip"); + IOleObjectFrame zipOleFrame = slide.Shapes.AddOleObjectFrame(150, 220, 50, 50, zipDataInfo); + zipOleFrame.IsObjectIcon = true; + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **为嵌入对象设置文件类型** -在处理演示文稿时,您可能需要用新的OLE对象替换旧的OLE对象。或者,您可能需要将不支持的OLE对象替换为支持的对象。 -Aspose.Slides for .NET允许您为嵌入对象设置文件类型。通过这种方式,您可以更改OLE框数据或其扩展名。 +## **为嵌入对象设置文件类型** -以下C#代码向您展示如何为嵌入的OLE对象设置文件类型: +在处理演示文稿时,您可能需要将旧的 OLE 对象替换为新的,或将不受支持的 OLE 对象替换为受支持的对象。Aspose.Slides for .NET 允许您为嵌入对象设置文件类型,从而更新 OLE 框数据或其扩展名。 +下面的 C# 代码演示了如何将嵌入的 OLE 对象的文件类型设置为 `zip`: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; - Console.WriteLine($"当前嵌入数据扩展名为: {oleObjectFrame.EmbeddedData.EmbeddedFileExtension}"); - - oleObjectFrame.SetEmbeddedData(new OleEmbeddedDataInfo(File.ReadAllBytes("embedOle.zip"), "zip")); - - pres.Save("embeddedChanged.pptx", SaveFormat.Pptx); + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; + + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + + Console.WriteLine($"Current embedded file extension is: {fileExtension}"); + + // 将文件类型更改为 ZIP. + oleFrame.SetEmbeddedData(new OleEmbeddedDataInfo(fileData, "zip")); + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **为嵌入对象设置图标图像和标题** -在您嵌入OLE对象后,预览将自动添加一个图标图像和标题。预览是用户在访问或打开OLE对象之前看到的内容。 -如果您希望使用特定的图像和文本作为预览中的元素,您可以使用Aspose.Slides for .NET设置图标图像和标题。 +## **为嵌入对象设置图标图像和标题** -以下C#代码向您展示如何为嵌入对象设置图标图像和标题: +嵌入 OLE 对象后,会自动添加由图标图像组成的预览。此预览是用户在访问或打开 OLE 对象之前看到的内容。如果您想在预览中使用特定的图像和文本作为元素,可以使用 Aspose.Slides for .NET 设置图标图像和标题。 +下面的 C# 代码演示了如何为嵌入对象设置图标图像和标题: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; - IOleObjectFrame oleObjectFrame = (IOleObjectFrame)slide.Shapes[0]; + ISlide slide = presentation.Slides[0]; + IOleObjectFrame oleFrame = (IOleObjectFrame)slide.Shapes[0]; - IPPImage oleImage = pres.Images.AddImage(File.ReadAllBytes("image.png")); - oleObjectFrame.SubstitutePictureTitle = "我的标题"; - oleObjectFrame.SubstitutePictureFormat.Picture.Image = oleImage; - oleObjectFrame.IsObjectIcon = false; + // 向演示文稿资源中添加图像。 + byte[] imageData = File.ReadAllBytes("image.png"); + IPPImage oleImage = presentation.Images.AddImage(imageData); - pres.Save("embeddedOle-newImage.pptx", SaveFormat.Pptx); + // 为 OLE 预览设置标题和图像。 + oleFrame.SubstitutePictureTitle = "My title"; + oleFrame.SubstitutePictureFormat.Picture.Image = oleImage; + oleFrame.IsObjectIcon = true; + + presentation.Save("output.pptx", SaveFormat.Pptx); } ``` -## **防止OLE对象框被调整大小和重新定位** -在您将链接的OLE对象添加到演示文稿幻灯片后,当您在PowerPoint中打开演示文稿时,您可能会看到一个消息提示您更新链接。点击“更新链接”按钮可能会改变OLE对象框的大小和位置,因为PowerPoint会从链接的OLE对象更新数据并刷新对象预览。要防止PowerPoint提示更新对象的数据,请将[IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/)接口的`UpdateAutomatic`属性设置为`false`: +## **防止 OLE 对象框被重新调整大小和重新定位** +在将链接的 OLE 对象添加到演示文稿幻灯片后,如果在 PowerPoint 中打开演示文稿,可能会看到提示更新链接的消息。单击 “Update Links” 按钮可能会改变 OLE 对象框的大小和位置,因为 PowerPoint 会从链接的 OLE 对象更新数据并刷新对象预览。为防止 PowerPoint 提示更新对象的数据,请将 [IOleObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/ioleobjectframe/) 接口的 `UpdateAutomatic` 属性设为 `false`: ```cs -oleObjectFrame.UpdateAutomatic = false; +oleFrame.UpdateAutomatic = false; ``` -## **提取嵌入文件** -Aspose.Slides for .NET允许您按以下方式提取作为OLE对象嵌入在幻灯片中的文件: -1. 创建一个包含您打算提取的OLE对象的[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 遍历演示文稿中的所有形状,并访问[OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe)形状。 -3. 从OLE对象框访问嵌入文件的数据并将其写入磁盘。 -以下C#代码向您展示如何提取作为OLE对象嵌入在幻灯片中的文件: +## **提取嵌入的文件** + +Aspose.Slides for .NET 允许您按以下方式提取嵌入在幻灯片中的文件作为 OLE 对象: + +1. 创建一个包含您要提取的 OLE 对象的 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 遍历演示文稿中的所有形状并访问其中的 [OLEObjectFrame](https://reference.aspose.com/slides/net/aspose.slides/oleobjectframe) 形状。 +3. 从 OLE 对象框中获取嵌入文件的数据并写入磁盘。 + +下面的 C# 代码演示了如何将幻灯片中嵌入的文件提取为 OLE 对象: ```c# -using (Presentation pres = new Presentation("embeddedOle.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; - for (var index = 0; index < slide.Shapes.Count; index++) + for (int index = 0; index < slide.Shapes.Count; index++) { IShape shape = slide.Shapes[index]; - IOleObjectFrame oleFrame = shape as IOleObjectFrame; - + if (oleFrame != null) { - byte[] data = oleFrame.EmbeddedData.EmbeddedFileData; - string extension = oleFrame.EmbeddedData.EmbeddedFileExtension; - - File.WriteAllBytes($"oleFrame{index}{extension}", data); + byte[] fileData = oleFrame.EmbeddedData.EmbeddedFileData; + string fileExtension = oleFrame.EmbeddedData.EmbeddedFileExtension; + + string filePath = $"OLE_object_{index}{fileExtension}"; + File.WriteAllBytes(filePath, fileData); } } } -``` \ No newline at end of file +``` + + +## **常见问题** + +**在将幻灯片导出为 PDF/图像时,OLE 内容会被渲染吗?** + +只渲染幻灯片上可见的内容——图标/替代图像(预览)。“实时” OLE 内容在渲染过程中不会执行。如有需要,可设置自定义的预览图像,以确保在导出的 PDF 中出现预期的外观。 + +**如何锁定幻灯片上的 OLE 对象,使用户在 PowerPoint 中无法移动/编辑?** + +锁定形状:Aspose.Slides 提供 [shape-level locks](/slides/zh/net/applying-protection-to-presentation/)。这不是加密,但可以有效防止意外的编辑和移动。 + +**为什么在打开演示文稿时,链接的 Excel 对象会“跳动”或改变大小?** + +PowerPoint 可能会刷新链接 OLE 的预览。为获得稳定的外观,请遵循 [Working Solution for Worksheet Resizing](/slides/zh/net/working-solution-for-worksheet-resizing/) 的做法——要么将框适配到范围,要么将范围缩放到固定框并设置合适的替代图像。 + +**在 PPTX 格式中,链接的 OLE 对象的相对路径会被保留吗?** + +在 PPTX 中,无法保存“相对路径”信息——仅有完整路径。相对路径仅在旧的 PPT 格式中存在。为实现可移植性,建议使用可靠的绝对路径/可访问的 URI 或进行嵌入。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-text/animated-text/_index.md b/zh/net/developer-guide/presentation-content/manage-text/animated-text/_index.md index 97d145e48e..bc06a14b0e 100644 --- a/zh/net/developer-guide/presentation-content/manage-text/animated-text/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-text/animated-text/_index.md @@ -4,13 +4,12 @@ type: docs weight: 60 url: /zh/net/animated-text/ keywords: "动画文本, 动画效果, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 .NET 中为 PowerPoint 演示文稿添加动画文本和效果" +description: "在 C# 或 .NET 中向 PowerPoint 演示文稿添加动画文本和效果" --- -## 为段落添加动画效果 - -我们将 [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) 方法添加到 [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) 和 [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence) 类中。此方法允许您为单个段落添加动画效果。以下示例代码展示了如何为单个段落添加动画效果: +## **向段落添加动画效果** +我们在 [**AddEffect()**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence/methods/addeffect/index) 方法已添加到 [**Sequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/sequence) 和 [**ISequence**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence) 类。此方法允许您向单个段落添加动画效果。以下示例代码演示了如何向单个段落添加动画效果: ```c# using (Presentation presentation = new Presentation(dataDir + "Presentation1.pptx")) { @@ -18,19 +17,18 @@ using (Presentation presentation = new Presentation(dataDir + "Presentation1.ppt IAutoShape autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; - // 为选定的段落添加飞入动画效果 + // 为选定的段落添加 Fly 动画效果 IEffect effect = presentation.Slides[0].Timeline.MainSequence.AddEffect(paragraph, EffectType.Fly, EffectSubtype.Left, EffectTriggerType.OnClick); + presentation.Save(dataDir + "AnimationEffectinParagraph.pptx", SaveFormat.Pptx); } ``` -## 获取段落中的动画效果 - -您可能想要了解添加到段落中的动画效果,例如,在一种情况下,您希望获取段落中的动画效果,因为您计划将这些效果应用于另一个段落或形状。 -Aspose.Slides for .NET 允许您获取文本框(形状)中包含的段落上应用的所有动画效果。以下示例代码展示了如何获取段落中的动画效果: +## **获取段落中的动画效果** +您可能需要查找已添加到段落的动画效果——例如,在某些情况下,您想获取段落中的动画效果,因为您计划将这些效果应用于另一段落或形状。Aspose.Slides for .NET 允许您获取文本框(形状)中段落所应用的所有动画效果。以下示例代码演示了如何获取段落中的动画效果: ```c# using (Presentation pres = new Presentation("Test.pptx")) { @@ -42,7 +40,22 @@ using (Presentation pres = new Presentation("Test.pptx")) IEffect[] effects = sequence.GetEffectsByParagraph(paragraph); if (effects.Length > 0) - Console.WriteLine("段落 \"" + paragraph.Text + "\" 有 " + effects[0].Type + " 效果。"); + Console.WriteLine("Paragraph \"" + paragraph.Text + "\" has " + effects[0].Type + " effect."); } } -``` \ No newline at end of file +``` + + +## **常见问题** + +**文本动画与幻灯片切换有何不同,是否可以组合使用?** + +文本动画控制对象在幻灯片上的随时间变化,而 [transitions](/slides/zh/net/slide-transition/) 控制幻灯片之间的切换方式。它们相互独立,可同时使用;播放顺序由动画时间轴和切换设置决定。 + +**导出为 PDF 或图像时,文本动画会被保留吗?** + +不会。PDF 和光栅图像是静态的,因此您只能看到幻灯片的单一静止状态。若想保留动画,请使用 [video](/slides/zh/net/convert-powerpoint-to-video/) 或 [HTML](/slides/zh/net/export-to-html5/) 导出。 + +**文本动画在布局和母版中是否有效?** + +应用于布局/母版对象的效果会被幻灯片继承,但其时间安排及与幻灯片级别动画的交互取决于幻灯片上的最终序列。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md b/zh/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md index cd5f0b84c8..ffc5c00cf7 100644 --- a/zh/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-text/extract-text-from-presentation/_index.md @@ -1,125 +1,152 @@ --- -title: 从演示文稿中提取文本 +title: "C# 中的高级演示文稿文本提取" +linktitle: "提取文本" type: docs weight: 90 url: /zh/net/extract-text-from-presentation/ -keywords: "从幻灯片提取文本, 从PowerPoint提取文本, C#, Csharp, Aspose.Slides for .NET" -description: "在C#或.NET中从幻灯片或PowerPoint演示文稿中提取文本" +keywords: +- 提取文本 +- 从幻灯片提取文本 +- 从演示文稿提取文本 +- 从 PowerPoint 提取文本 +- 从 PPT 提取文本 +- 从 PPTX 提取文本 +- 从 ODP 提取文本 +- C# +- .NET +- Aspose.Slides +description: "了解如何使用 Aspose.Slides for .NET 快速轻松地从 PowerPoint 演示文稿中提取文本。遵循我们的简单分步指南,节省时间并高效访问应用程序中的幻灯片内容。" --- -{{% alert color="primary" %}} +## **概述** -开发人员需要从演示文稿中提取文本并不罕见。为了做到这一点,您需要从演示文稿中所有幻灯片的所有形状中提取文本。本文解释了如何使用Aspose.Slides从Microsoft PowerPoint PPTX演示文稿中提取文本。可以通过以下方式提取文本: +从演示文稿中提取文字是开发人员处理幻灯片内容时常见且必不可少的任务。无论是处理 Microsoft PowerPoint 的 PPT 或 PPTX 文件,还是 OpenDocument 演示文稿(ODP),获取文本数据对于分析、自动化、索引或内容迁移都可能至关重要。 -- [从一张幻灯片提取文本](/slides/zh/net/extracting-text-from-the-presentation/) -- [使用GetAllTextBoxes方法提取文本](/slides/zh/net/extracting-text-from-the-presentation/) -- [分类和快速提取文本](/slides/zh/net/extracting-text-from-the-presentation/) +本文提供了使用 Aspose.Slides for .NET 高效提取 PPT、PPTX 和 ODP 等多种演示文稿格式文本的完整指南。您将学习如何系统地遍历演示文稿元素,以准确检索所需的文字内容。 -{{% /alert %}} -## **从幻灯片中提取文本** -Aspose.Slides for .NET提供了Aspose.Slides.Util命名空间,其中包含SlideUtil类。该类公开了多个重载的静态方法,用于提取演示文稿或幻灯片中的所有文本。要从PPTX演示文稿中的幻灯片提取文本,请使用SlideUtil类公开的 [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextboxes) 重载静态方法。该方法接受Slide对象作为参数。 -执行时,Slide方法扫描传入的幻灯片的所有文本,并返回一个TextFrame对象的数组。这意味着与文本相关的任何文本格式信息都可以使用。以下代码提取演示文稿第一张幻灯片上的所有文本: +## **从幻灯片提取文字** -```c# -//实例化表示PPTX文件的Presentation类 -Presentation pptxPresentation = new Presentation("demo.pptx"); +Aspose.Slides for .NET 提供了 [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/) 命名空间,其中包含 [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/) 类。该类提供了多个重载的静态方法,用于从演示文稿或幻灯片中提取全部文字。要从演示文稿中的某张幻灯片提取文字,请使用 [GetAllTextBoxes](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextboxes/) 方法。该方法接受一个类型为 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) 的对象作为参数。执行后,方法会扫描整个幻灯片的文字并返回一个类型为 [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) 的对象数组,保留所有文字格式。 -//从PPTX中的所有幻灯片获取ITextFrame对象数组 -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +以下代码片段提取演示文稿第一张幻灯片的全部文字: +```cs +int slideIndex = 0; -//循环遍历TextFrames数组 -for (int i = 0; i < textFramesPPTX.Length; i++) +// 实例化表示演示文稿文件(PPT、PPTX、ODP 等)的 Presentation 类。 +using Presentation presentation = new Presentation("demo.pptx"); + +// 获取对幻灯片的引用。 +ISlide slide = presentation.Slides[slideIndex]; + +// 从幻灯片获取文本框数组。 +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextBoxes(slide); + +// 遍历文本框数组。 +for (int i = 0; i < textFrames.Length; i++) { - //循环遍历当前ITextFrame中的段落 - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) - { - //循环遍历当前IParagraph中的部分 - foreach (IPortion port in para.Portions) - { - //显示当前部分中的文本 - Console.WriteLine(port.Text); - - //显示文本的字体高度 - Console.WriteLine(port.PortionFormat.FontHeight); - - //显示文本的字体名称 - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } - } + // 遍历当前文本框中的段落。 + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // 遍历当前段落中的文本片段。 + foreach (IPortion portion in paragraph.Portions) + { + // 显示当前文本片段的文本。 + Console.WriteLine(portion.Text); + + // 显示文本的字体高度。 + Console.WriteLine(portion.PortionFormat.FontHeight); + + // 显示文本的字体名称。 + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } } ``` +## **从演示文稿提取文字** +要扫描整个演示文稿的文字,请使用由 [SlideUtil](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/) 类公开的 [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/getalltextframes/) 静态方法。它接受两个参数: -## **从演示文稿中提取文本** -要从整个演示文稿中扫描文本,请使用SlideUtil类公开的 [GetAllTextFrames](https://reference.aspose.com/slides/net/aspose.slides.util/slideutil/methods/getalltextframes) 静态方法。它接受两个参数: - -1. 首先,表示要从中提取文本的PPTX演示文稿的Presentation对象。 -1. 第二,布尔值确定在扫描演示文稿的文本时是否包含母版幻灯片。 - 该方法返回一个TextFrame对象的数组,包含文本格式信息。以下代码扫描演示文稿中的文本和格式信息,包括母版幻灯片。 - -```c# -//实例化表示PPTX文件的Presentation类 -Presentation pptxPresentation = new Presentation("demo.pptx"); +1. 第一个参数是表示 PowerPoint 或 OpenDocument 演示文稿的 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 对象,文本将从该对象中提取。 +2. 第二个参数是 `Boolean` 值,指示在扫描演示文稿文字时是否应包括母版幻灯片。 -//从PPTX中的所有幻灯片获取ITextFrame对象数组 -ITextFrame[] textFramesPPTX = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(pptxPresentation, true); +该方法返回一个类型为 [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) 的对象数组,包含文字格式信息。下面的代码扫描演示文稿的文字及格式细节,包括母版幻灯片。 +```cs +// 实例化表示演示文稿文件(PPT、PPTX、ODP 等)的 Presentation 类。 +using Presentation presentation = new Presentation("demo.pptx"); -//循环遍历TextFrames数组 -for (int i = 0; i < textFramesPPTX.Length; i++) +// 获取演示文稿中所有幻灯片的文本框数组。 +ITextFrame[] textFrames = Aspose.Slides.Util.SlideUtil.GetAllTextFrames(presentation, true); - //循环遍历当前ITextFrame中的段落 - foreach (IParagraph para in textFramesPPTX[i].Paragraphs) +// 遍历文本框数组。 +for (int i = 0; i < textFrames.Length; i++) +{ + // 遍历当前文本框中的段落。 + foreach (IParagraph paragraph in textFrames[i].Paragraphs) + { + // 遍历当前段落中的文本片段。 + foreach (IPortion portion in paragraph.Portions) + { + // 显示当前文本片段的文本。 + Console.WriteLine(portion.Text); + + // 显示文本的字体高度。 + Console.WriteLine(portion.PortionFormat.FontHeight); + + // 显示文本的字体名称。 + if (portion.PortionFormat.LatinFont != null) + Console.WriteLine(portion.PortionFormat.LatinFont.FontName); + } + } +} +``` - //循环遍历当前IParagraph中的部分 - foreach (IPortion port in para.Portions) - { - //显示当前部分中的文本 - Console.WriteLine(port.Text); - //显示文本的字体高度 - Console.WriteLine(port.PortionFormat.FontHeight); +## **分类与快速文字提取** - //显示文本的字体名称 - if (port.PortionFormat.LatinFont != null) - Console.WriteLine(port.PortionFormat.LatinFont.FontName); - } +[PresentationFactory](https://reference.aspose.com/slides/net/aspose.slides/presentationfactory/) 类同样提供了用于从演示文稿提取全部文字的静态方法: +``` cs +IPresentationText GetPresentationText(string file, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode); +IPresentationText GetPresentationText(Stream stream, TextExtractionArrangingMode mode, ILoadOptions options); ``` +[TextExtractionArrangingMode](https://reference.aspose.com/slides/net/aspose.slides/textextractionarrangingmode/) 枚举参数指示组织文字提取结果的模式,可设置为以下值: +- `Unarranged` - 原始文字,不考虑其在幻灯片上的位置。 +- `Arranged` - 按幻灯片上的顺序排列文字。 +当对速度要求极高时,可使用未排列模式,它比已排列模式更快。 -## **分类和快速文本提取** -新的静态方法GetPresentationText已被添加到Presentation类中。该方法有两个重载: +[IPresentationText](https://reference.aspose.com/slides/net/aspose.slides/ipresentationtext/) 表示从演示文稿中提取的原始文字。它包含来自 [Aspose.Slides.Util](https://reference.aspose.com/slides/net/aspose.slides.util/) 命名空间的 [SlidesText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) 属性,返回一个类型为 [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) 的对象数组。每个对象代表对应幻灯片上的文字。类型为 [ISlideText](https://reference.aspose.com/slides/net/aspose.slides/islidetext/) 的对象具有以下属性: -``` csharp -PresentationText GetPresentationText(Stream stream) -PresentationText GetPresentationText(Stream stream, ExtractionMode mode) +- `Text` - 幻灯片形状中的文字。 +- `MasterText` - 与该幻灯片关联的母版幻灯片形状中的文字。 +- `LayoutText` - 与该幻灯片关联的布局幻灯片形状中的文字。 +- `NotesText` - 幻灯片备注形状中的文字。 +- `CommentsText` - 与该幻灯片关联的批注中的文字。 +```cs +IPresentationText text = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); +Console.WriteLine(text.SlidesText[0].Text); +Console.WriteLine(text.SlidesText[0].LayoutText); +Console.WriteLine(text.SlidesText[0].MasterText); +Console.WriteLine(text.SlidesText[0].NotesText); +Console.WriteLine(text.SlidesText[0].CommentsText); ``` -ExtractionMode枚举参数指示组织文本结果输出的模式,可以设置为以下值: -Unarranged - 原始文本,不考虑在幻灯片上的位置 -Arranged - 文本按照与幻灯片上的相同顺序排列 -当速度至关重要时,可以使用Unarranged模式,它比Arranged模式更快。 +## **常见问题** + +**Aspose.Slides 在进行大文件文字提取时的速度如何?** -PresentationText表示从演示文稿中提取的原始文本。它包含来自Aspose.Slides.Util命名空间的SlidesText属性,该属性返回ISlideText对象的数组。每个对象代表相应幻灯片上的文本。ISlideText对象具有以下属性: +Aspose.Slides 经过高度优化,能够高效处理即使是大型演示文稿,适用于实时或批量处理场景。 -ISlideText.Text - 幻灯片形状上的文本 -ISlideText.MasterText - 该幻灯片的母版页面形状上的文本 -ISlideText.LayoutText - 该幻灯片的布局页面形状上的文本 -ISlideText.NotesText - 该幻灯片的备注页面形状上的文本 +**Aspose.Slides 能否从演示文稿中的表格和图表提取文字?** -还有一个实现了ISlideText接口的SlideText类。 +可以,Aspose.Slides 完全支持从表格、图表以及其他复杂幻灯片元素中提取文字,帮助您轻松访问并分析所有文本内容。 -新的API可以这样使用: +**提取演示文稿文字是否需要特殊的 Aspose.Slides 许可证?** -```c# -IPresentationText text1 = new PresentationFactory().GetPresentationText("presentation.ppt", TextExtractionArrangingMode.Unarranged); -Console.WriteLine(text1.SlidesText[0].Text); -Console.WriteLine(text1.SlidesText[0].LayoutText); -Console.WriteLine(text1.SlidesText[0].MasterText); -Console.WriteLine(text1.SlidesText[0].NotesText); -``` \ No newline at end of file +您可以使用 Aspose.Slides 的免费试用版进行文字提取,但会有一些限制,例如只能处理有限数量的幻灯片。若需无限制使用并处理更大的演示文稿,建议购买完整许可证。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md b/zh/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md index 508c5d4ae7..e296c736ee 100644 --- a/zh/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-text/manage-autofit-settings/_index.md @@ -1,42 +1,55 @@ --- -title: 管理自动适应设置 +title: 使用 C# 的 AutoFit 提升您的演示文稿 +linktitle: 管理 Autofit 设置 type: docs weight: 30 url: /zh/net/manage-autofit-settings/ -keywords: "文本框, 自动适应, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 .NET 中设置 PowerPoint 中文本框的自动适应设置" +keywords: +- 文本框 +- 自动适应 +- 不自动适应 +- 适配文本 +- 收缩文本 +- 换行文本 +- 调整形状大小 +- PowerPoint +- 演示文稿 +- C# +- .NET +- Aspose.Slides +description: "了解如何在 Aspose.Slides for .NET 中管理 AutoFit 设置,以优化 PowerPoint 和 OpenDocument 演示文稿中的文本显示并提升内容可读性。" --- -默认情况下,当你添加一个文本框时,Microsoft PowerPoint 使用 **调整形状以适应文本** 设置——它会自动调整文本框大小以确保文本始终适合其中。 +## **概述** -![textbox-in-powerpoint](textbox-in-powerpoint.png) +默认情况下,当你添加文本框时,Microsoft PowerPoint 使用 **Resize shape to fit text** 设置——它会自动调整文本框的大小,以确保其中的文本始终能够完全适配。 -* 当文本框中的文本变得更长或更大时,PowerPoint 会自动增大文本框——增加其高度——以便容纳更多文本。 -* 当文本框中的文本变得更短或更小,PowerPoint 会自动缩小文本框——减少其高度——以清除多余的空间。 +![PowerPoint 中的文本框](textbox-in-powerpoint.png) -在 PowerPoint 中,有以下 4 个重要参数或选项控制文本框的自动适应行为: +* 当文本框中的文字变长或变大时,PowerPoint 会自动放大文本框——增加其高度——以容纳更多文字。 +* 当文本框中的文字变短或变小的时,PowerPoint 会自动缩小文本框——降低其高度——以清除多余的空间。 -* **不自动适应** -* **溢出时缩小文本** -* **调整形状以适应文本** -* **在形状中换行文本。** +在 PowerPoint 中,以下四个重要参数或选项控制文本框的自动适应行为: -![autofit-options-powerpoint](autofit-options-powerpoint.png) +* **Do not Autofit** +* **Shrink text on overflow** +* **Resize shape to fit text** +* **Wrap text in shape** -Aspose.Slides for .NET 提供类似的选项——一些属性在 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类下——允许你控制演示文稿中文本框的自动适应行为。 +![PowerPoint 中的 Autofit 选项](autofit-options-powerpoint.png) -## **调整形状以适应文本** +Aspose.Slides for .NET 提供了类似的选项——位于 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类下的属性——允许你在演示文稿中控制文本框的自动适应行为。 -如果你希望文本框中的文本在更改后始终适合该框,你必须使用 **调整形状以适应文本** 选项。要指定此设置,将 [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) 属性(来自 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类)设置为 `Shape`。 +## **将形状大小调整以适应文本** -![alwaysfit-setting-powerpoint](alwaysfit-setting-powerpoint.png) +如果希望文本框中的文字在任何修改后始终能够完全适配该框,需要使用 **Resize shape to fit text** 选项。要指定此设置,请将来自 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类的 `AutofitType` 属性设置为 `Shape`。 -以下 C# 代码展示了如何在 PowerPoint 演示文稿中指定文本必须始终适合其框: +![将形状大小调整以适应文本](alwaysfit-setting-powerpoint.png) ```c# - using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -47,24 +60,23 @@ Aspose.Slides for .NET 提供类似的选项——一些属性在 [TextFrameForm ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Shape; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -如果文本变得更长或更大,文本框将自动调整大小(高度增加),以确保所有文本适合其中。如果文本变得更短,则会发生相反的情况。 -## **不自动适应** +如果文字变长或变大,文本框将自动(在高度上)增大,以确保所有文字都能容纳进去。文字变短时则相反。 -如果你希望文本框或图形在文本内容变化时保持其尺寸,你必须使用 **不自动适应** 选项。要指定此设置,将 [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) 属性 (来自 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类)设置为 `None`。 +## **不自动适应** -![donotautofit-setting-powerpoint](donotautofit-setting-powerpoint.png) +如果希望文本框或形状在文字内容变化后仍保持其尺寸,需要使用 **Do not Autofit** 选项。要指定此设置,请将来自 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类的 `AutofitType` 属性设置为 `None`。 -以下 C# 代码展示了如何在 PowerPoint 演示文稿中指定文本框始终保持其尺寸: +![PowerPoint 中的 “Do not Autofit” 设置](donotautofit-setting-powerpoint.png) ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -75,24 +87,23 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.None; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -当文本变得过长以适应其框时,它将溢出。 -## **溢出时缩小文本** +当文字超出框的范围时,文字会溢出。 -如果文本对其框来说过长,使用 **溢出时缩小文本** 选项,你可以指定文本的大小和间距必须减少,以便适合其框。要指定此设置,将 [AutofitType](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/autofittype) 属性 (来自 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类)设置为 `Normal`。 +## **文字溢出时收缩文本** -![shrinktextonoverflow-setting-powerpoint](shrinktextonoverflow-setting-powerpoint.png) +如果文字超出框的范围,可以通过 **Shrink text on overflow** 选项让文字的大小和间距被缩小,以适配框的大小。要指定此设置,请将来自 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类的 `AutofitType` 属性设置为 `Normal`。 -以下 C# 代码展示了如何在 PowerPoint 演示文稿中指定文本在溢出时必须缩小: +![PowerPoint 中的 “Shrink text on overflow” 设置](shrinktextonoverflow-setting-powerpoint.png) ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -103,26 +114,23 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.AutofitType = TextAutofitType.Normal; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="信息" color="info" %}} - -当使用 **溢出时缩小文本** 选项时,该设置仅在文本变得过长时应用。 +{{% alert title="Info" color="info" %}} +使用 **Shrink text on overflow** 选项时,仅在文字超出框的范围时才会应用此设置。 {{% /alert %}} ## **换行文本** -如果你希望文本框中的文本在超出形状边界(仅宽度)时发生换行,则必须使用 **在形状中换行文本** 参数。要指定此设置,你需要将 [WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/wraptext) 属性(来自 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类)设置为 `true`。 - -以下 C# 代码展示了如何在 PowerPoint 演示文稿中使用换行文本设置: +如果希望文字在超出形状的宽度时在形状内部换行,需要使用 **Wrap text in shape** 参数。要指定此设置,请将来自 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类的 `WrapText` 属性设置为 `NullableBool.True`。 ```c# -using (Presentation pres = new Presentation()) +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; + ISlide slide = presentation.Slides[0]; IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 30, 30, 350, 100); Portion portion = new Portion("lorem ipsum..."); @@ -133,12 +141,25 @@ using (Presentation pres = new Presentation()) ITextFrameFormat textFrameFormat = autoShape.TextFrame.TextFrameFormat; textFrameFormat.WrapText = NullableBool.True; - pres.Save("Output-presentation.pptx", SaveFormat.Pptx); + presentation.Save("output_presentation.pptx", SaveFormat.Pptx); } ``` -{{% alert title="注意" color="warning" %}} -如果你将 `WrapText` 属性设置为 `False`,当形状内部的文本变得比形状的宽度更长时,文本将沿着一条单行延伸到形状的边界之外。 +{{% alert title="Note" color="warning" %}} +如果将 `WrapText` 属性设置为 `NullableBool.False`,当形状内部的文字长度超过形状宽度时,文字会沿单行超出形状边界。 +{{% /alert %}} + +## **常见问题** + +**文本框的内部边距会影响 AutoFit 吗?** + +会。内部边距(Padding)会减少可用的文字区域,因此 AutoFit 会更早触发——会更早地缩小字体或调整形状大小。请在调节 AutoFit 之前检查并调整边距。 + +**AutoFit 如何与手动换行和软换行交互?** + +强制换行会保持原位,AutoFit 会在这些换行点周围调整字体大小和间距。删除不必要的换行通常可以减少 AutoFit 的收缩力度。 + +**更改主题字体或触发字体替换会影响 AutoFit 结果吗?** -{{% /alert %}} \ No newline at end of file +会。替换为字形度量不同的字体会改变文字的宽高,从而可能改变最终的字体大小和换行方式。任何字体更改或替换后,都应重新检查幻灯片的显示效果。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md b/zh/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md index 25dd82df80..be32727ad2 100644 --- a/zh/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-text/manage-bullet-and-numbered-lists/_index.md @@ -3,57 +3,56 @@ title: 管理项目符号和编号列表 type: docs weight: 70 url: /zh/net/manage-bullet-and-numbered-lists -keywords: "项目符号, 项目符号列表, 数字, 编号列表, 图片项目符号, 多级项目符号, PowerPoint演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "在C#或.NET中创建PowerPoint演示文稿中的项目符号和编号列表" +keywords: "项目符号, 项目符号列表, 数字, 编号列表, 图片项目符号, 多级项目符号, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" +description: "在 PowerPoint 演示文稿中使用 C# 或 .NET 创建项目符号和编号列表" --- -在**Microsoft PowerPoint**中,您可以像在Word和其他文本编辑器中一样创建项目符号和编号列表。**Aspose.Slides for .NET**也允许您在演示文稿的幻灯片中使用项目符号和编号。 +在 **Microsoft PowerPoint** 中,您可以像在 Word 和其他文本编辑器中一样创建项目符号和编号列表。**Aspose.Slides for .NET** 也允许在演示文稿的幻灯片中使用项目符号和编号。 -### 为什么使用项目符号列表? +## **为什么使用项目符号列表?** -项目符号列表帮助您快速有效地组织和呈现信息。 +项目符号列表帮助您快速高效地组织和呈现信息。 **项目符号列表示例** -在大多数情况下,项目符号列表有以下三个主要功能: +在大多数情况下,项目符号列表具有以下三大功能: -- 吸引读者或观众注意重要信息 -- 便于读者或观众快速查找要点 -- 有效传达和传递重要细节。 +- 吸引读者或观众关注重要信息 +- 使读者或观众能够轻松扫描关键要点 +- 高效地传达和交付重要细节。 -### 为什么使用编号列表? +## **为什么使用编号列表?** -编号列表同样有助于组织和呈现信息。理想情况下,当条目的顺序(例如,*步骤 1,步骤 2*等)很重要时,或者当需要引用某个条目(例如,*参见步骤 3*)时,应使用数字(而不是项目符号)。 +编号列表也有助于组织和呈现信息。理想情况下,当条目的顺序(例如*步骤 1,步骤 2*等)重要,或需要引用某个条目(例如*参见步骤 3*)时,您应该使用数字(代替项目符号)。 **编号列表示例** -以下是**创建项目符号**过程中的步骤(步骤 1 到步骤 15)的摘要: +以下是 **创建项目符号** 过程(第 1 步至第 15 步)的步骤摘要: -1. 创建演示文稿类的实例。 -2. 执行多个任务(步骤 3 到步骤 14)。 -3. 保存演示文稿。 +1. 创建 Presentation 类的实例。 +2. 执行多个任务(第 3 步至第 14 步)。 +3. 保存演示文稿。 -## 创建项目符号 +## **创建项目符号** -要创建项目符号列表,请按照以下步骤: +要创建项目符号列表,请按照以下步骤操作: -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 通过[ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index)对象访问幻灯片(您要在其中添加项目符号列表)。 -3. 在选定的幻灯片中添加一个[AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape)。 -4. 访问添加形状的[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)。 -5. 删除[TextFrame]()中的默认段落。 -6. 使用[Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph)类创建第一个段落实例。 -8. 设置项目符号类型为符号,然后设置项目符号字符。 -9. 设置段落文本。 -10. 设置段落缩进以设置项目符号。 -11. 设置项目符号的颜色。 -12. 设置项目符号的高度。 -13. 将创建的段落添加到[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)段落集合中。 -14. 添加第二个段落并重复步骤7-12。 -15. 保存演示文稿。 - -以下C#示例代码——是上述步骤的实现——展示了如何在幻灯片中创建项目符号列表: +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 通过 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index) 对象访问幻灯片集合中的幻灯片(即您想要添加项目符号列表的幻灯片)。 +3. 在选定的幻灯片中添加一个 [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape)。 +4. 访问已添加形状的 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)。 +5. 移除 [TextFrame]() 中的默认段落。 +6. 使用 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) 类创建第一个段落实例。 +8. 将项目符号类型设置为 Symbol,然后设置项目符号字符。 +9. 设置段落文本。 +10. 设置段落缩进以确定项目符号位置。 +11. 设置项目符号的颜色。 +12. 设置项目符号的高度。 +13. 将创建的段落添加到 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) 的段落集合中。 +14. 添加第二个段落并重复步骤 7-12。 +15. 保存演示文稿。 +以下 C# 示例代码实现上述步骤,演示如何在幻灯片中创建项目符号列表: ```c# using (Presentation pres = new Presentation()) { @@ -69,48 +68,48 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; paragraph.ParagraphFormat.Bullet.Color.Color = Color.Red; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "我的文本"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); // ... - + pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## 创建图片项目符号 -Aspose.Slides for .NET允许您更改项目符号列表上的项目符号。您可以用自定义符号或图像替换项目符号。如果您想为列表增添视觉趣味,或者更引起对列表中条目的关注,您可以使用您自己的图像作为项目符号。 +## **创建图片项目符号** + +Aspose.Slides for .NET 允许您更改项目符号列表中的项目符号。您可以用自定义符号或图像替换项目符号。如果想为列表增添视觉趣味或进一步吸引对列表条目的注意,可以使用自己的图像作为项目符号。 {{% alert color="primary" %}} -理想情况下,如果您打算用图片替换常规项目符号,您可能想选择一个带透明背景的简单图形图像。这类图像作为自定义项目符号效果最好。 +理想情况下,如果您打算用图片替换常规的项目符号,建议选择具有透明背景的简洁图形图像。此类图像最适合作为自定义项目符号。 -无论如何,您选择的图像将被缩小到非常小的尺寸,因此我们强烈建议您选择在列表中看起来不错的图像(作为项目符号的替代品)。 +无论如何,所选图像都会被压缩到非常小的尺寸,因此我们强烈建议您选择在列表中作为项目符号替代时仍然美观的图像。 {{% /alert %}} 要创建图片项目符号,请按照以下步骤操作: -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 使用[ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index)对象访问幻灯片集合中的所需幻灯片。 -3. 在所选幻灯片中添加一个[AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape)。 -4. 访问添加形状的[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)。 -5. 删除[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)中的默认段落。 -6. 使用[Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph)类创建第一个段落实例。 -7. 从磁盘加载图像并将其添加到[Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images),然后使用[AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index)方法返回的[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)实例。 -8. 设置项目符号类型为图片,然后设置图像。 -9. 设置段落文本。 -10. 设置段落缩进以设置项目符号。 -11. 设置项目符号的颜色。 -12. 设置项目符号的高度。 -13. 将创建的段落添加到[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)段落集合中。 -14. 添加第二个段落并重复步骤7-13。 -15. 保存演示文稿。 - -以下C#代码展示了如何在幻灯片中创建图片项目符号: - +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 通过 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index) 对象访问幻灯片集合中的目标幻灯片。 +3. 在选定的幻灯片中添加一个 [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape)。 +4. 访问已添加形状的 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)。 +5. 移除 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) 中的默认段落。 +6. 使用 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) 类创建第一个段落实例。 +7. 从磁盘加载图像并将其添加到 [Presentation.Images](https://reference.aspose.com/slides/net/aspose.slides/presentation/properties/images),然后使用从 [AddImage](https://reference.aspose.com/slides/net/aspose.slides/imagecollection/methods/addimage/index) 方法返回的 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 实例。 +8. 将项目符号类型设置为 Picture,然后设置图片。 +9. 设置段落文本。 +10. 设置段落缩进以确定项目符号位置。 +11. 设置项目符号的颜色。 +12. 设置项目符号的高度。 +13. 将创建的段落添加到 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) 的段落集合中。 +14. 添加第二个段落并重复步骤 7-13。 +15. 保存演示文稿。 + +以下 C# 代码演示如何在幻灯片中创建图片项目符号: ```c# using (Presentation pres = new Presentation()) { @@ -126,34 +125,34 @@ using (Presentation pres = new Presentation()) paragraph.ParagraphFormat.Bullet.Picture.Image = image; paragraph.ParagraphFormat.Indent = 15; paragraph.ParagraphFormat.Bullet.Height = 100; - paragraph.Text = "我的文本"; + paragraph.Text = "My text"; textFrame.Paragraphs.Add(paragraph); // ... - + pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## 创建多级项目符号 -要创建一个包含不同级别项目的项目符号列表——即在主项目符号列表下的附加列表——请按照以下步骤操作: +## **创建多级项目符号** -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 使用[ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index)对象访问幻灯片集合中的所需幻灯片。 -3. 在所选幻灯片中添加一个[AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape)。 -4. 访问添加形状的[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)。 -5. 删除[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)中的默认段落。 -6. 使用[Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph)类创建第一个段落实例,深度设置为0。 -7. 使用Paragraph类创建第二个段落实例,深度设置为1。 -8. 使用Paragraph类创建第三个段落实例,深度设置为2。 -9. 使用Paragraph类创建第四个段落实例,深度设置为3。 -10. 将创建的段落添加到[TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)段落集合中。 -11. 保存演示文稿。 +要创建包含不同层级项目的项目符号列表(即在主项目符号列表下的子列表),请按照以下步骤操作: -以下代码是上述步骤的实现,展示了如何在C#中创建多级项目符号列表: +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 通过 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/methods/index) 对象访问幻灯片集合中的目标幻灯片。 +3. 在选定的幻灯片中添加一个 [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape)。 +4. 访问已添加形状的 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe)。 +5. 移除 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) 中的默认段落。 +6. 使用 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph) 类创建第一个段落实例,并将深度设置为 0。 +7. 使用 Paragraph 类创建第二个段落实例,深度设置为 1。 +8. 使用 Paragraph 类创建第三个段落实例,深度设置为 2。 +9. 使用 Paragraph 类创建第四个段落实例,深度设置为 3。 +10. 将创建的段落添加到 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe) 的段落集合中。 +11. 保存演示文稿。 +以下代码实现上述步骤,展示如何在 C# 中创建多级项目符号列表: ```c# using (Presentation pres = new Presentation()) { @@ -164,32 +163,32 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Depth = 0; - paragraph.Text = "我的文本 深度 0"; + paragraph.Text = "My text Depth 0"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); paragraph2.ParagraphFormat.Depth = 0; - paragraph2.Text = "我的文本 深度 1"; + paragraph2.Text = "My text Depth 1"; textFrame.Paragraphs.Add(paragraph2); Paragraph paragraph3 = new Paragraph(); paragraph3.ParagraphFormat.Depth = 2; - paragraph3.Text = "我的文本 深度 2"; + paragraph3.Text = "My text Depth 2"; textFrame.Paragraphs.Add(paragraph3); Paragraph paragraph4 = new Paragraph(); paragraph4.ParagraphFormat.Depth = 3; - paragraph4.Text = "我的文本 深度 3"; + paragraph4.Text = "My text Depth 3"; textFrame.Paragraphs.Add(paragraph4); pres.Save("pres.pptx", SaveFormat.Pptx); } ``` -## 创建数字 -以下C#代码展示了如何在幻灯片中创建编号列表: +## **创建编号** +以下 C# 代码演示如何在幻灯片中创建编号列表: ```c# using (Presentation pres = new Presentation()) { @@ -200,16 +199,31 @@ using (Presentation pres = new Presentation()) Paragraph paragraph = new Paragraph(); paragraph.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph.Text = "我的文本 1"; + paragraph.Text = "My text 1"; textFrame.Paragraphs.Add(paragraph); Paragraph paragraph2 = new Paragraph(); paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; - paragraph2.Text = "我的文本 2"; + paragraph2.Text = "My text 2"; textFrame.Paragraphs.Add(paragraph2); // ... - + pres.Save("pres.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **常见问题解答** + +**使用 Aspose.Slides 创建的项目符号和编号列表是否可以导出为 PDF 或图像等其他格式?** + +是的,Aspose.Slides 在将演示文稿导出为 PDF、图像等格式时,完整保留项目符号和编号列表的格式与结构,确保结果保持一致。 + +**是否可以从现有演示文稿中导入项目符号或编号列表?** + +是的,Aspose.Slides 允许您从现有演示文稿中导入并编辑项目符号或编号列表,同时保留其原始的格式和外观。 + +**Aspose.Slides 是否支持在多语言创建的演示文稿中使用项目符号和编号列表?** + +是的,Aspose.Slides 完全支持多语言演示文稿,允许您在任何语言中创建项目符号和编号列表,包括使用特殊或非拉丁字符。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md b/zh/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md index e315cb59b9..c7230aa6e7 100644 --- a/zh/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-text/manage-paragraph/_index.md @@ -1,60 +1,66 @@ --- -title: 管理 C# 中的 PowerPoint 段落 +title: 在 C# 中管理 PowerPoint 段落 type: docs weight: 40 url: /zh/net/manage-paragraph/ -keywords: +keywords: +- 添加文本 - 添加段落 +- 管理文本 - 管理段落 - 段落缩进 +- 段落项目符号 +- 编号列表 - 段落属性 -- HTML 文本 -- 导出段落文本 +- 导入 HTML +- 文本转 HTML +- 段落转 HTML +- 段落转图像 +- 导出段落 - PowerPoint 演示文稿 - C# - Csharp -- Aspose.Slides for .NET -description: "在 C# 或 .NET 中创建和管理 PowerPoint 演示文稿中的段落、文本、缩进和属性" +- .NET 的 Aspose.Slides +description: "在 C# 或 .NET 中创建段落并管理 PowerPoint 演示文稿的段落属性" --- -Aspose.Slides 提供了您在 C# 中处理 PowerPoint 文本、段落和部分所需的所有接口和类。 +Aspose.Slides 提供您在 C# 中处理 PowerPoint 文本、段落和部分所需的所有接口和类。 -* Aspose.Slides 提供 [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) 接口,使您能够添加表示段落的对象。一个 `ITextFrame` 对象可以包含一个或多个段落(每个段落通过换行符创建)。 -* Aspose.Slides 提供 [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) 接口,使您能够添加表示部分的对象。一个 `IParagraph` 对象可以包含一个或多个部分(iPortions 对象的集合)。 -* Aspose.Slides 提供 [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) 接口,使您能够添加表示文本及其格式属性的对象。 +* Aspose.Slides 提供 [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) 接口,允许您添加表示段落的对象。`ITextFame` 对象可以包含一个或多个段落(每个段落通过回车创建)。 +* Aspose.Slides 提供 [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) 接口,允许您添加表示部分的对象。`IParagraph` 对象可以包含一个或多个部分(iPortions 对象的集合)。 +* Aspose.Slides 提供 [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) 接口,允许您添加表示文本及其格式属性的对象。 -一个 `IParagraph` 对象能够通过其底层的 `IPortion` 对象处理具有不同格式属性的文本。 +`IParagraph` 对象能够通过其底层的 `IPortion` 对象处理具有不同格式属性的文本。 -## **添加多个包含多个部分的段落** +## **添加包含多个部分的多个段落** -以下步骤展示了如何添加一个包含 3 个段落的文本框,每个段落包含 3 个部分: +以下步骤演示如何添加一个包含 3 个段落且每个段落包含 3 个部分的文本框: 1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 通过其索引访问相关幻灯片的引用。 +2. 通过索引访问相关幻灯片的引用。 3. 向幻灯片添加一个矩形 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)。 -4. 获取与 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) 相关联的 ITextFrame。 +4. 获取与该 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) 关联的 ITextFrame。 5. 创建两个 [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) 对象并将它们添加到 [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) 的 `IParagraphs` 集合中。 -6. 为每个新的 `IParagraph` 创建三个 [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) 对象(默认段落两个部分对象)并将每个 `IPortion` 对象添加到每个 `IParagraph` 的 IPortion 集合中。 -7. 为每个部分设置一些文本。 -8. 使用 `IPortion` 对象公开的格式属性为每个部分应用首选格式特征。 +6. 为每个新建的 `IParagraph`(默认段落创建两个 Portion 对象)创建三个 [IPortion](https://reference.aspose.com/slides/net/aspose.slides/iportion/) 对象,并将每个 `IPortion` 对象添加到相应 `IParagraph` 的 IPortion 集合中。 +7. 为每个部分设置文本。 +8. 使用 `IPortion` 对象公开的格式属性为每个部分应用首选的格式设置。 9. 保存修改后的演示文稿。 -此 C# 代码是添加包含部分的段落的步骤实现: - +下面的 C# 代码实现了添加包含部分的段落的步骤: ```c# -// Instantiates a Presentation class that represents a PPTX file +// 实例化一个表示 PPTX 文件的 Presentation 类 using (Presentation pres = new Presentation()) { - // Accesses the first slide + // 访问第一张幻灯片 ISlide slide = pres.Slides[0]; - // Adds a Rectangle IAutoShape + // 添加一个矩形 IAutoShape IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 150, 300, 150); - // Accesses the AutoShape TextFrame + // 访问 AutoShape 的 TextFrame ITextFrame tf = ashp.TextFrame; - // Creates Paragraphs and Portions with different text formats + // 创建具有不同文本格式的段落和部分 IParagraph para0 = tf.Paragraphs[0]; IPortion port01 = new Portion(); IPortion port02 = new Portion(); @@ -98,256 +104,255 @@ using (Presentation pres = new Presentation()) tf.Paragraphs[i].Portions[j].PortionFormat.FontHeight = 18; } } - // Saves the modified presentation + // 保存修改后的演示文稿 pres.Save("multiParaPort_out.pptx", SaveFormat.Pptx); - } ``` + ## **管理段落项目符号** -项目符号列表帮助您快速有效地组织和呈现信息。带项目符号的段落通常更容易阅读和理解。 +项目符号列表帮助您快速高效地组织和呈现信息。带项目符号的段落始终更易阅读和理解。 1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 通过其索引访问相关幻灯片的引用。 -3. 向选定幻灯片添加一个 [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)。 -4. 访问 autoshape 的 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/)。 +2. 通过索引访问相关幻灯片的引用。 +3. 向选定的幻灯片添加一个 [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)。 +4. 访问 autoshape 的 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/)。 5. 删除 `TextFrame` 中的默认段落。 6. 使用 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) 类创建第一个段落实例。 -7. 为段落设置项目符号的 `Type` 为 `Symbol`,并设置项目符号字符。 -8. 设置段落 `Text`。 -9. 为项目符号设置段落 `Indent`。 -10. 为项目符号设置颜色。 -11. 设置项目符号的高度。 -12. 将新段落添加到 `TextFrame` 的段落集合中。 -13. 添加第二个段落,重复步骤 7 到 13 中给出的过程。 -14. 保存演示文稿。 - -此 C# 代码展示了如何添加段落项目符号: +8. 将段落的 bullet `Type` 设置为 `Symbol` 并设置项目符号字符。 +9. 设置段落的 `Text`。 +10. 为项目符号设置段落的 `Indent`。 +11. 为项目符号设置颜色。 +12. 设置项目符号的高度。 +13. 将新段落添加到 `TextFrame` 的段落集合中。 +14. 添加第二个段落并重复步骤 7 至 13。 +15. 保存演示文稿。 +下面的 C# 代码示例展示了如何添加段落项目符号: ```c# -// Instantiates a Presentation class that represents a PPTX file +// 实例化一个表示 PPTX 文件的 Presentation 类 using (Presentation pres = new Presentation()) { - - // Accesses the first slide + // 访问第一张幻灯片 ISlide slide = pres.Slides[0]; - // Adds and accesses Autoshape + // 添加并访问自动形状 IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // Accesses the autoshape text frame + // 访问自动形状的文本框 ITextFrame txtFrm = aShp.TextFrame; - // Removes the default paragraph + // 移除默认段落 txtFrm.Paragraphs.RemoveAt(0); - // Creates a paragraph + // 创建段落 Paragraph para = new Paragraph(); - // Sets a paragraph bullet style and symbol + // 设置段落项目符号样式和符号 para.ParagraphFormat.Bullet.Type = BulletType.Symbol; para.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); - // Sets a paragraph text - para.Text = "欢迎使用 Aspose.Slides"; + // 设置段落文本 + para.Text = "Welcome to Aspose.Slides"; - // Sets bullet indent + // 设置项目符号缩进 para.ParagraphFormat.Indent = 25; - // Sets bullet color + // 设置项目符号颜色 para.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; para.ParagraphFormat.Bullet.Color.Color = Color.Black; - para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // set IsBulletHardColor to true to use own bullet color + para.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // 将 IsBulletHardColor 设置为 true 以使用自定义项目符号颜色 - // Sets Bullet Height + // 设置项目符号高度 para.ParagraphFormat.Bullet.Height = 100; - // Adds Paragraph to text frame + // 将段落添加到文本框 txtFrm.Paragraphs.Add(para); - // Creates second paragraph + // 创建第二个段落 Paragraph para2 = new Paragraph(); - // Sets paragraph bullet type and style + // 设置段落项目符号类型和样式 para2.ParagraphFormat.Bullet.Type = BulletType.Numbered; para2.ParagraphFormat.Bullet.NumberedBulletStyle = NumberedBulletStyle.BulletCircleNumWDBlackPlain; - // Adds paragraph text - para2.Text = "这是编号项目符号"; + // 添加段落文本 + para2.Text = "This is numbered bullet"; - // Sets bullet indent + // 设置项目符号缩进 para2.ParagraphFormat.Indent = 25; para2.ParagraphFormat.Bullet.Color.ColorType = ColorType.RGB; para2.ParagraphFormat.Bullet.Color.Color = Color.Black; - para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // set IsBulletHardColor to true to use own bullet color + para2.ParagraphFormat.Bullet.IsBulletHardColor = NullableBool.True; // 将 IsBulletHardColor 设置为 true 以使用自定义项目符号颜色 - // Sets Bullet Height + // 设置项目符号高度 para2.ParagraphFormat.Bullet.Height = 100; - // Adds Paragraph to text frame + // 将段落添加到文本框 txtFrm.Paragraphs.Add(para2); - // Saves the modified presentation - pres.Save("Bullet_out.pptx", SaveFormat.Pptx); + // 保存修改后的演示文稿 + pres.Save("Bullet_out.pptx", SaveFormat.Pptx); } ``` + ## **管理图片项目符号** -项目符号列表帮助您快速有效地组织和呈现信息。图片段落易于阅读和理解。 +项目符号列表帮助您快速高效地组织和呈现信息。图片段落易于阅读和理解。 1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 通过其索引访问相关幻灯片的引用。 +2. 通过索引访问相关幻灯片的引用。 3. 向幻灯片添加一个 [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)。 4. 访问 autoshape 的 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)。 5. 删除 `TextFrame` 中的默认段落。 6. 使用 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) 类创建第一个段落实例。 7. 在 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) 中加载图像。 -8. 将项目符号类型设置为 [Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/),并设置图像。 -9. 设置段落 `Text`。 -10. 为项目符号设置段落 `Indent`。 +8. 将项目符号类型设置为 [Picture](https://reference.aspose.com/slides/net/aspose.slides/ippimage/) 并设置图像。 +9. 设置段落的 `Text`。 +10. 为项目符号设置段落的 `Indent`。 11. 为项目符号设置颜色。 12. 为项目符号设置高度。 13. 将新段落添加到 `TextFrame` 的段落集合中。 -14. 添加第二个段落并重复之前的步骤。 +14. 添加第二个段落并根据前面的步骤重复操作。 15. 保存修改后的演示文稿。 -此 C# 代码展示了如何添加和管理图片项目符号: - +下面的 C# 代码展示了如何添加和管理图片项目符号: ```c# -// Instantiates a Presentation class that represents a PPTX file +// 实例化一个表示 PPTX 文件的 Presentation 类 Presentation presentation = new Presentation(); -// Accesses the first slide +// 访问第一张幻灯片 ISlide slide = presentation.Slides[0]; -// Instantiates the image for bullets +// 实例化用于项目符号的图像 IImage image = Images.FromFile("bullets.png"); IPPImage ippxImage = presentation.Images.AddImage(image); image.Dispose(); -// Adds and accesses Autoshape +// 添加并访问自动形状 IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); -// Accesses the autoshape textframe +// 访问自动形状的文本框 ITextFrame textFrame = autoShape.TextFrame; -// Removes the default paragraph +// 移除默认段落 textFrame.Paragraphs.RemoveAt(0); -// Creates a new paragraph +// 创建新段落 Paragraph paragraph = new Paragraph(); -paragraph.Text = "欢迎使用 Aspose.Slides"; +paragraph.Text = "Welcome to Aspose.Slides"; -// Sets paragraph bullet style and image +// 设置段落项目符号样式和图像 paragraph.ParagraphFormat.Bullet.Type = BulletType.Picture; paragraph.ParagraphFormat.Bullet.Picture.Image = ippxImage; -// Sets bullet Height +// 设置项目符号高度 paragraph.ParagraphFormat.Bullet.Height = 100; -// Adds paragraph to text frame +// 将段落添加到文本框 textFrame.Paragraphs.Add(paragraph); -// Writes the presentation as a PPTX file +// 将演示文稿保存为 PPTX 文件 presentation.Save("ParagraphPictureBulletsPPTX_out.pptx", SaveFormat.Pptx); -// Writes the presentation as a PPT file +// 将演示文稿保存为 PPT 文件 presentation.Save("ParagraphPictureBulletsPPT_out.ppt", SaveFormat.Ppt); ``` + ## **管理多级项目符号** -项目符号列表帮助您快速有效地组织和呈现信息。多级项目符号易于阅读和理解。 +项目符号列表帮助您快速高效地组织和呈现信息。多级项目符号易于阅读和理解。 -1. 创建 [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 通过其索引访问相关幻灯片的引用。 +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 通过索引访问相关幻灯片的引用。 3. 在新幻灯片中添加一个 [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)。 4. 访问 autoshape 的 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)。 5. 删除 `TextFrame` 中的默认段落。 -6. 通过 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) 类创建第一个段落实例,并将深度设置为 0。 -7. 通过 `Paragraph` 类创建第二个段落实例,并将深度设置为 1。 -8. 通过 `Paragraph` 类创建第三个段落实例,并将深度设置为 2。 -9. 通过 `Paragraph` 类创建第四个段落实例,并将深度设置为 3。 +6. 通过 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) 类创建第一个段落实例并将深度设为 0。 +7. 通过 `Paragraph` 类创建第二个段落实例并将深度设为 1。 +8. 通过 `Paragraph` 类创建第三个段落实例并将深度设为 2。 +9. 通过 `Paragraph` 类创建第四个段落实例并将深度设为 3。 10. 将新段落添加到 `TextFrame` 的段落集合中。 11. 保存修改后的演示文稿。 -此 C# 代码展示了如何添加和管理多级项目符号: - +下面的 C# 代码展示了如何添加和管理多级项目符号: ```c# -// Instantiates a Presentation class that represents a PPTX file +// 实例化一个表示 PPTX 文件的 Presentation 类 using (Presentation pres = new Presentation()) { - // Accesses the first slide + // 访问第一张幻灯片 ISlide slide = pres.Slides[0]; - // Adds and accesses Autoshape + // 添加并访问自动形状 IAutoShape aShp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // Accesses the text frame of created autoshape + // 访问已创建自动形状的文本框 ITextFrame text = aShp.AddTextFrame(""); - // Clears the default paragraph + // 清除默认段落 text.Paragraphs.Clear(); - // Adds the first paragraph + // 添加第一段 IParagraph para1 = new Paragraph(); - para1.Text = "内容"; + para1.Text = "Content"; para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para1.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // 设置项目符号级别 + // 设置项目符号层级 para1.ParagraphFormat.Depth = 0; - // Adds the second paragraph + // 添加第二段 IParagraph para2 = new Paragraph(); - para2.Text = "第二级"; + para2.Text = "Second Level"; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = '-'; para2.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para2.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // 设置项目符号级别 + // 设置项目符号层级 para2.ParagraphFormat.Depth = 1; - // Adds the third paragraph + // 添加第三段 IParagraph para3 = new Paragraph(); - para3.Text = "第三级"; + para3.Text = "Third Level"; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para3.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para3.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // 设置项目符号级别 + // 设置项目符号层级 para3.ParagraphFormat.Depth = 2; - // Adds the fourth paragraph + // 添加第四段 IParagraph para4 = new Paragraph(); - para4.Text = "第四级"; + para4.Text = "Fourth Level"; para4.ParagraphFormat.Bullet.Type = BulletType.Symbol; para4.ParagraphFormat.Bullet.Char = '-'; para4.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; para4.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; - // 设置项目符号级别 + // 设置项目符号层级 para4.ParagraphFormat.Depth = 3; - // Adds paragraphs to collection + // 将段落添加到集合 text.Paragraphs.Add(para1); text.Paragraphs.Add(para2); text.Paragraphs.Add(para3); text.Paragraphs.Add(para4); - // Writes the presentation as a PPTX file + // 将演示文稿保存为 PPTX 文件 pres.Save("MultilevelBullet.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **管理带有自定义编号列表的段落** -[IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) 接口提供了 [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) 属性等,允许您管理具有自定义编号或格式的段落。 -1. 创建 [Presentation ](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 访问包含段落的幻灯片。 +## **管理自定义编号列表的段落** +[IBulletFormat](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/) 接口提供了 [NumberedBulletStartWith](https://reference.aspose.com/slides/net/aspose.slides/ibulletformat/numberedbulletstartwith) 属性等,可帮助您管理具有自定义编号或格式的段落。 + +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 访问包含该段落的幻灯片。 3. 向幻灯片添加一个 [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)。 4. 访问 autoshape 的 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)。 5. 删除 `TextFrame` 中的默认段落。 @@ -357,34 +362,33 @@ using (Presentation pres = new Presentation()) 9. 将新段落添加到 `TextFrame` 的段落集合中。 10. 保存修改后的演示文稿。 -此 C# 代码展示了如何添加和管理具有自定义编号或格式的段落: - +下面的 C# 代码展示了如何添加和管理具有自定义编号或格式的段落: ```c# using (var presentation = new Presentation()) { var shape = presentation.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); - // Accesses the text frame of created autoshape + // 访问已创建自动形状的文本框 ITextFrame textFrame = shape.TextFrame; - // Removes the default exisiting paragraph + // 移除默认的现有段落 textFrame.Paragraphs.RemoveAt(0); - // First list - var paragraph1 = new Paragraph { Text = "项目符号 2" }; + // 第一个列表 + var paragraph1 = new Paragraph { Text = "bullet 2" }; paragraph1.ParagraphFormat.Depth = 4; paragraph1.ParagraphFormat.Bullet.NumberedBulletStartWith = 2; paragraph1.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph1); - var paragraph2 = new Paragraph { Text = "项目符号 3" }; + var paragraph2 = new Paragraph { Text = "bullet 3" }; paragraph2.ParagraphFormat.Depth = 4; paragraph2.ParagraphFormat.Bullet.NumberedBulletStartWith = 3; paragraph2.ParagraphFormat.Bullet.Type = BulletType.Numbered; textFrame.Paragraphs.Add(paragraph2); - var paragraph5 = new Paragraph { Text = "项目符号 7" }; + var paragraph5 = new Paragraph { Text = "bullet 7" }; paragraph5.ParagraphFormat.Depth = 4; paragraph5.ParagraphFormat.Bullet.NumberedBulletStartWith = 7; paragraph5.ParagraphFormat.Bullet.Type = BulletType.Numbered; @@ -394,40 +398,40 @@ using (var presentation = new Presentation()) } ``` + ## **设置段落缩进** 1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -1. 通过其索引访问相关幻灯片的引用。 +1. 通过索引访问相关幻灯片的引用。 1. 向幻灯片添加一个矩形 [autoshape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)。 1. 向矩形 autoshape 添加一个包含三个段落的 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)。 -1. 隐藏矩形的线条。 -1. 通过其 BulletOffset 属性设置每个 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) 的缩进。 -1. 将修改后的演示文稿写入 PPT 文件。 - -此 C# 代码展示了如何设置段落缩进: +1. 隐藏矩形线条。 +1. 通过段落的 BulletOffset 属性为每个 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) 设置缩进。 +1. 将修改后的演示文稿保存为 PPT 文件。 +下面的 C# 代码展示了如何设置段落缩进: ```c# -// Instantiate Presentation Class +// 实例化 Presentation 类 Presentation pres = new Presentation(); -// Gets the first slide +// 获取第一张幻灯片 ISlide sld = pres.Slides[0]; -// Adds a Rectangle Shape +// 添加矩形形状 IAutoShape rect = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 500, 150); -// Adds TextFrame to the Rectangle -ITextFrame tf = rect.AddTextFrame("这是第一行 \r这是第二行 \r这是第三行"); +// 向矩形添加 TextFrame +ITextFrame tf = rect.AddTextFrame("This is first line \rThis is second line \rThis is third line"); -// Sets the text to fit the shape +// 设置文本以适应形状 tf.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// Hides the lines of the Rectangle +// 隐藏矩形的线条 rect.LineFormat.FillFormat.FillType = FillType.Solid; -// Gets the first Paragraph in the TextFrame and set its Indent +// 获取 TextFrame 中的第一个段落并设置其缩进 IParagraph para1 = tf.Paragraphs[0]; -// Sets paragraph bullet style and symbol +// 设置段落项目符号样式和符号 para1.ParagraphFormat.Bullet.Type = BulletType.Symbol; para1.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); para1.ParagraphFormat.Alignment = TextAlignment.Left; @@ -435,7 +439,7 @@ para1.ParagraphFormat.Alignment = TextAlignment.Left; para1.ParagraphFormat.Depth = 2; para1.ParagraphFormat.Indent = 30; -// Gets second Paragraph in the TextFrame and set its Indent +// 获取 TextFrame 中的第二个段落并设置其缩进 IParagraph para2 = tf.Paragraphs[1]; para2.ParagraphFormat.Bullet.Type = BulletType.Symbol; para2.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -443,7 +447,7 @@ para2.ParagraphFormat.Alignment = TextAlignment.Left; para2.ParagraphFormat.Depth = 2; para2.ParagraphFormat.Indent = 40; -// Gets third Paragraph in the TextFrame and sets its Indent +// 获取 TextFrame 中的第三个段落并设置其缩进 IParagraph para3 = tf.Paragraphs[2]; para3.ParagraphFormat.Bullet.Type = BulletType.Symbol; para3.ParagraphFormat.Bullet.Char = Convert.ToChar(8226); @@ -451,14 +455,14 @@ para3.ParagraphFormat.Alignment = TextAlignment.Left; para3.ParagraphFormat.Depth = 2; para3.ParagraphFormat.Indent = 50; -// Writes the Presentation to disk +// 将演示文稿写入磁盘 pres.Save("InOutDent_out.pptx", SaveFormat.Pptx); ``` -## **为段落设置悬挂缩进** -此 C# 代码展示了如何为段落设置悬挂缩进: +## **设置段落悬挂缩进** +下面的 C# 代码展示了如何为段落设置悬挂缩进: ```c# using (Presentation pres = new Presentation()) { @@ -466,15 +470,15 @@ using (Presentation pres = new Presentation()) Paragraph para1 = new Paragraph { - Text = "示例" + Text = "Example" }; Paragraph para2 = new Paragraph { - Text = "为段落设置悬挂缩进" + Text = "Set Hanging Indent for Paragraph" }; Paragraph para3 = new Paragraph { - Text = "此 C# 代码展示了如何为段落设置悬挂缩进:" + Text = "This C# code shows you how to set the hanging indent for a paragraph: " }; para2.ParagraphFormat.MarginLeft = 10f; @@ -488,28 +492,28 @@ using (Presentation pres = new Presentation()) } ``` -## **管理段落的结束段落运行属性** + +## **管理段落结束运行属性** 1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -1. 通过其位置获取包含段落的幻灯片的引用。 +1. 通过位置获取包含该段落的幻灯片的引用。 1. 向幻灯片添加一个矩形 [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)。 1. 向矩形添加一个包含两个段落的 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)。 1. 为段落设置 `FontHeight` 和字体类型。 -1. 设置段落的结束属性。 -1. 将修改后的演示文稿写入 PPTX 文件。 - -此 C# 代码展示了如何为 PowerPoint 中的段落设置结束属性: +1. 为段落设置结束属性。 +1. 将修改后的演示文稿写入为 PPTX 文件。 +下面的 C# 代码展示了如何为 PowerPoint 中的段落设置结束属性: ```c# using (Presentation pres = new Presentation("Test.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 200, 250); Paragraph para1 = new Paragraph(); - para1.Portions.Add(new Portion("示例文本")); + para1.Portions.Add(new Portion("Sample text")); Paragraph para2 = new Paragraph(); - para2.Portions.Add(new Portion("示例文本 2")); + para2.Portions.Add(new Portion("Sample text 2")); PortionFormat endParagraphPortionFormat = new PortionFormat(); endParagraphPortionFormat.FontHeight = 48; endParagraphPortionFormat.LatinFont = new FontData("Times New Roman"); @@ -522,81 +526,191 @@ using (Presentation pres = new Presentation("Test.pptx")) } ``` -## **将 HTML 文本导入到段落中** -Aspose.Slides 提供了增强的支持,以将 HTML 文本导入到段落中。 + +## **将 HTML 文本导入段落** +Aspose.Slides 提供了增强的 HTML 文本导入段落的支持。 1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 通过其索引访问相关幻灯片的引用。 +2. 通过索引访问相关幻灯片的引用。 3. 向幻灯片添加一个 [autoshape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)。 -4. 添加并访问 autoshape [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/)。 +4. 添加并访问 `autoshape` 的 [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/)。 5. 删除 `ITextFrame` 中的默认段落。 -6. 使用 TextReader 读取源 HTML 文件。 +6. 在 TextReader 中读取源 HTML 文件。 7. 通过 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/) 类创建第一个段落实例。 -8. 将读取的 TextReader 中的 HTML 文件内容添加到 TextFrame 的 [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/) 中。 +8. 将读取的 TextReader 中的 HTML 内容添加到 TextFrame 的 [ParagraphCollection](https://reference.aspose.com/slides/net/aspose.slides/paragraphcollection/)。 9. 保存修改后的演示文稿。 -此 C# 代码是将 HTML 文本导入段落的步骤实现: - +下面的 C# 代码实现了将 HTML 文本导入段落的步骤: ```c# -// Creates Empty presentation instance +// 创建空的演示文稿实例 using (Presentation pres = new Presentation()) { - // Acessses the default first slide of presentation + // 访问演示文稿的默认第一张幻灯片 ISlide slide = pres.Slides[0]; - // Adds the AutoShape to house the HTML content + // 添加 AutoShape 用于容纳 HTML 内容 IAutoShape ashape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, pres.SlideSize.Size.Width - 20, pres.SlideSize.Size.Height - 10); ashape.FillFormat.FillType = FillType.NoFill; - // Adds text frame to the shape + // 向形状添加文本框 ashape.AddTextFrame(""); - // Clears all paragraphs in the added text frame + // 清除已添加文本框中的所有段落 ashape.TextFrame.Paragraphs.Clear(); - // Loads the HTML file using stream reader + // 使用流读取器加载 HTML 文件 TextReader tr = new StreamReader("file.html"); - // Adds the text from HTML stream reader in text frame + // 将 HTML 流读取器中的文本添加到文本框 ashape.TextFrame.Paragraphs.AddFromHtml(tr.ReadToEnd()); - // Saves Presentation + // 保存演示文稿 pres.Save("output_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` + ## **将段落文本导出为 HTML** -Aspose.Slides 提供了增强的支持,将文本(包含在段落中)导出为 HTML。 +Aspose.Slides 提供了增强的将段落文本导出为 HTML 的支持。 1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例并加载所需的演示文稿。 -2. 通过其索引访问相关幻灯片的引用。 +2. 通过索引访问相关幻灯片的引用。 3. 访问包含要导出为 HTML 的文本的形状。 -4. 访问形状 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)。 -5. 创建 `StreamWriter` 的实例并添加新的 HTML 文件。 +4. 访问形状的 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/textframe/)。 +5. 创建 `StreamWriter` 实例并添加新的 HTML 文件。 6. 为 StreamWriter 提供起始索引并导出您选择的段落。 -此 C# 代码展示了如何将 PowerPoint 段落文本导出为 HTML: - +下面的 C# 代码展示了如何将 PowerPoint 段落文本导出为 HTML: ```c# -// Loads the presentation file +// 加载演示文稿文件 using (Presentation pres = new Presentation("ExportingHTMLText.pptx")) { - // Acessses the default first slide of presentation + // 访问演示文稿的默认第一张幻灯片 ISlide slide = pres.Slides[0]; - // Accesses the required index + // 访问所需的索引 int index = 0; - // Accesses the added shape + // 访问已添加的形状 IAutoShape ashape = (IAutoShape)slide.Shapes[index]; StreamWriter sw = new StreamWriter("output_out.html", false, Encoding.UTF8); - // Writes paragraphs data to HTML by specifying paragraph starting index and number of paragraphs to be copied + // 将段落数据写入HTML,通过指定段落起始索引和要复制的段落数量 sw.Write(ashape.TextFrame.Paragraphs.ExportToHtml(0, ashape.TextFrame.Paragraphs.Count, null)); sw.Close(); } -``` \ No newline at end of file +``` + + +## **将段落保存为图像** + +本节我们将展示两个示例,演示如何将由 [IParagraph](https://reference.aspose.com/slides/net/aspose.slides/iparagraph/) 接口表示的文本段落保存为图像。两者都包括使用 [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/) 接口的 `GetImage` 方法获取包含段落的形状图像、计算段落在形状内的边界并将其导出为位图图像。这些方法让您能够提取 PowerPoint 演示文稿中特定的文本部分并保存为单独的图像,便于在各种场景中进一步使用。 + +假设我们有一个名为 sample.pptx 的演示文稿,包含一张幻灯片,其中第一个形状是包含三段文本的文本框。 + +![包含三段文本的文本框](paragraph_to_image_input.png) + +**示例 1** + +本示例获取第二段文本并将其保存为图像。为此,我们先从演示文稿的第一张幻灯片中提取形状图像,然后计算该形状文本框中第二段的边界。随后将段落重新绘制到新的位图图像中,并以 PNG 格式保存。该方法在需要将特定段落单独保存为图像且保持文本的精确尺寸和格式时特别有用。 +```csharp +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap. +using var shapeImage = firstShape.GetImage(); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +结果: + +![段落图像](paragraph_to_image_output.png) + +**示例 2** + +本示例在前一种方法的基础上为段落图像添加了缩放因子。我们从演示文稿中提取形状并以 `2` 的缩放因子保存为图像,这在导出段落时可获得更高分辨率的输出。随后在考虑缩放的情况下计算段落边界。缩放在需要更高细节的图像时特别有用,例如用于高质量印刷材料。 +```csharp +var imageScaleX = 2f; +var imageScaleY = imageScaleX; + +using var presentation = new Presentation("sample.pptx"); +var firstShape = presentation.Slides[0].Shapes[0] as IAutoShape; + +// Save the shape in memory as a bitmap with scaling. +using var shapeImage = firstShape.GetImage(ShapeThumbnailBounds.Shape, imageScaleX, imageScaleY); +using var shapeImageStream = new MemoryStream(); +shapeImage.Save(shapeImageStream, ImageFormat.Png); + +// Create a shape bitmap from memory. +shapeImageStream.Seek(0, SeekOrigin.Begin); +using var shapeBitmap = Image.FromStream(shapeImageStream); + +// Calculate the boundaries of the second paragraph. +var secondParagraph = firstShape.TextFrame.Paragraphs[1]; +var paragraphRectangle = secondParagraph.GetRect(); +paragraphRectangle.X *= imageScaleX; +paragraphRectangle.Y *= imageScaleY; +paragraphRectangle.Width *= imageScaleX; +paragraphRectangle.Height *= imageScaleY; + +// Calculate the size for the output image (minimum size - 1x1 pixel). +var imageWidth = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Width)); +var imageHeight = Math.Max(1, (int)Math.Ceiling(paragraphRectangle.Height)); + +// Prepare a bitmap for the paragraph. +using var paragraphBitmap = new Bitmap(imageWidth, imageHeight); + +// Redraw the paragraph from the shape bitmap to the paragraph bitmap. +using var imageGraphics = Graphics.FromImage(paragraphBitmap); +var drawingRectangle = new RectangleF(0, 0, paragraphRectangle.Width, paragraphRectangle.Height); +imageGraphics.DrawImage(shapeBitmap, drawingRectangle, paragraphRectangle, GraphicsUnit.Pixel); + +paragraphBitmap.Save("paragraph.png", System.Drawing.Imaging.ImageFormat.Png); +``` + + +## **常见问题** + +**我能完全禁用文本框内的自动换行吗?** + +可以。使用文本框的换行设置 ([WrapText](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/wraptext/)) 将换行关闭即可,行不会在框边缘换行。 + +**如何获取特定段落在幻灯片上的精确边界?** + +您可以检索段落(甚至单个部分)的边界矩形,以了解其在幻灯片上的确切位置和大小。 + +**段落对齐方式(左/右/居中/两端对齐)在哪里控制?** + +[Alignment](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/alignment/) 是 [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/) 中的段落级设置;它适用于整个段落,而不受单个部分格式的影响。 + +**我能为段落的某一部分(例如一个词)设置拼写检查语言吗?** + +可以。语言在部分级别设置 ([PortionFormat.LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/)),因此同一段落中可以共存多种语言。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md b/zh/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md index b752b308f0..cf8d7cc31b 100644 --- a/zh/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-text/manage-placeholder/_index.md @@ -7,21 +7,20 @@ keywords: "占位符, 占位符文本, 提示文本, PowerPoint 演示文稿, C# description: "在 C# 或 .NET 中更改 PowerPoint 演示文稿中的占位符文本和提示文本" --- -## **在占位符中更改文本** -使用 [Aspose.Slides for .NET](/slides/zh/net/),您可以在演示文稿的幻灯片上查找和修改占位符。Aspose.Slides 允许您更改占位符中的文本。 +## **更改占位符中的文本** +使用 [Aspose.Slides for .NET](/slides/zh/net/),您可以在演示文稿的幻灯片中查找和修改占位符。Aspose.Slides 允许您更改占位符中的文本。 -**前提条件**:您需要一个包含占位符的演示文稿。您可以在标准的 Microsoft PowerPoint 应用中创建这样的演示文稿。 +**先决条件**: 您需要一个包含占位符的演示文稿。可以在标准的 Microsoft PowerPoint 应用程序中创建此类演示文稿。 -以下是您如何使用 Aspose.Slides 替换演示文稿中占位符的文本: +下面演示如何使用 Aspose.Slides 替换该演示文稿中占位符的文本: -1. 实例化 [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类,并将演示文稿作为参数传递。 +1. 实例化 [`Presentation`](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类并将演示文稿作为参数传入。 2. 通过索引获取幻灯片引用。 -3. 迭代形状以找到占位符。 -4. 将占位符形状强制转换为 [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/),并使用与 [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) 相关联的 [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/) 更改文本。 +3. 遍历形状以查找占位符。 +4. 将占位符形状强制转换为 [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/),并使用与该 [`AutoShape`](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) 关联的 [`TextFrame`](https://reference.aspose.com/slides/net/aspose.slides/textframe/) 更改文本。 5. 保存修改后的演示文稿。 -以下 C# 代码演示了如何更改占位符中的文本: - +此 C# 代码展示了如何更改占位符中的文本: ```c# // 实例化一个 Presentation 类 using (Presentation pres = new Presentation("ReplacingText.pptx")) @@ -30,12 +29,12 @@ using (Presentation pres = new Presentation("ReplacingText.pptx")) // 访问第一张幻灯片 ISlide sld = pres.Slides[0]; - // 迭代形状以查找占位符 + // 遍历形状以查找占位符 foreach (IShape shp in sld.Shapes) if (shp.Placeholder != null) { // 更改每个占位符中的文本 - ((IAutoShape)shp).TextFrame.Text = "这是一个占位符"; + ((IAutoShape)shp).TextFrame.Text = "This is a Placeholder"; } // 将演示文稿保存到磁盘 @@ -44,32 +43,32 @@ using (Presentation pres = new Presentation("ReplacingText.pptx")) ``` -## **设置占位符中的提示文本** -标准和预建布局包含占位符提示文本,例如 ***单击添加标题*** 或 ***单击添加副标题***。使用 Aspose.Slides,您可以将首选提示文本插入到占位符布局中。 -以下 C# 代码演示了如何设置占位符中的提示文本: +## **设置占位符提示文本** +标准和预设布局包含占位符提示文本,例如 ***Click to add a title*** 或 ***Click to add a subtitle***。使用 Aspose.Slides,您可以向占位符布局中插入自定义提示文本。 +此 C# 代码展示了如何在占位符中设置提示文本: ```c# using (Presentation pres = new Presentation("Presentation2.pptx")) { ISlide slide = pres.Slides[0]; - foreach (IShape shape in slide.Slide.Shapes) // 迭代幻灯片 + foreach (IShape shape in slide.Slide.Shapes) // 遍历幻灯片 { if (shape.Placeholder != null && shape is AutoShape) { string text = ""; - if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPoint 显示 "单击添加标题" + if (shape.Placeholder.Type == PlaceholderType.CenteredTitle) // PowerPoint 显示 "Click to add title" { - text = "添加标题"; + text = "Add Title"; } else if (shape.Placeholder.Type == PlaceholderType.Subtitle) // 添加副标题 { - text = "添加副标题"; + text = "Add Subtitle"; } ((IAutoShape)shape).TextFrame.Text = text; - Console.WriteLine($"占位符文本: {text}"); + Console.WriteLine($"Placeholder with text: {text}"); } } @@ -77,12 +76,12 @@ using (Presentation pres = new Presentation("Presentation2.pptx")) } ``` -## **设置占位符图像透明度** -Aspose.Slides 允许您设置文本占位符中背景图像的透明度。通过调整此框中图片的透明度,您可以使文本或图像更突出(具体取决于文本和图片的颜色)。 +## **设置占位符图像透明度** -以下 C# 代码演示了如何设置图像背景的透明度(在形状内部): +Aspose.Slides 允许您设置文本占位符中背景图像的透明度。通过调整该框架中图片的透明度,您可以使文本或图像更加突出(取决于文本和图片的颜色)。 +此 C# 代码展示了如何为形状内的图片背景设置透明度: ```c# using (var presentation = new Presentation()) { @@ -93,4 +92,19 @@ using (var presentation = new Presentation()) autoShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch; autoShape.FillFormat.PictureFillFormat.Picture.ImageTransform.AddAlphaModulateFixedEffect(75); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**什么是基础占位符,它与幻灯片上的本地图形有何不同?** + +基础占位符是布局或母版上原始的形状,幻灯片的形状会继承自它——类型、位置以及部分格式均来源于它。本地图形是独立的;如果不存在基础占位符,则不适用继承。 + +**如何在不遍历每张幻灯片的情况下更新整个演示文稿中的所有标题或说明文字?** + +在布局或母版上编辑相应的占位符。基于这些布局/母版的幻灯片会自动继承此更改。 + +**如何控制标准的页眉/页脚占位符——日期时间、幻灯片编号和页脚文本?** + +在适当的范围(普通幻灯片、布局、母版、备注/讲义)使用 HeaderFooter 管理器来打开或关闭这些占位符并设置其内容。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md b/zh/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md index 919b94553c..2bbfe2fe8d 100644 --- a/zh/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-text/manage-textbox/_index.md @@ -3,32 +3,41 @@ title: 管理文本框 type: docs weight: 20 url: /zh/net/manage-textbox/ -keywords: "文本框, 文本框架, 添加文本框, 带超链接的文本框, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 .NET 中向 PowerPoint 演示文稿添加文本框或文本框架" +keywords: +- 文本框 +- 文本框架 +- 添加文本 +- 更新文本 +- 带超链接的文本框 +- PowerPoint +- 演示文稿 +- C# +- Csharp +- Aspose.Slides for .NET +description: "使用 C# 或 .NET 在 PowerPoint 演示文稿中管理文本框或文本框架" --- -幻灯片上的文本通常存在于文本框或形状中。因此,要向幻灯片添加文本,您必须先添加一个文本框,然后在文本框中放入一些文本。 +幻灯片上的文本通常位于文本框或形状中。因此,要向幻灯片添加文本,必须先添加一个文本框,然后在文本框中放入文本。 -为了允许您添加一个可以容纳文本的形状,Aspose.Slides for .NET 提供了 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) 接口。 +为了让您能够添加可容纳文本的形状,Aspose.Slides for .NET 提供了 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) 接口。 -{{% alert title="注意" color="warning" %}} +{{% alert title="Note" color="warning" %}} -Aspose.Slides 还提供了 [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) 接口,允许您向幻灯片添加形状。然而,并不是通过 `IShape` 接口添加的所有形状都可以容纳文本。通过 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) 接口添加的形状通常包含文本。 +Aspose.Slides 还提供了 [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape) 接口,以便您向幻灯片添加形状。然而,并非所有通过 `IShape` 接口添加的形状都能容纳文本。通过 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) 接口添加的形状通常包含文本。 -因此,在处理您要添加文本的现有形状时,您可能需要检查并确认它是通过 `IAutoShape` 接口进行转换的。只有这样,您才能与 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe) 进行交互,这是 `IAutoShape` 下的一个属性。请参阅本页上的 [更新文本](https://docs.aspose.com/slides/net/manage-textbox/#update-text) 部分。 +因此,当处理已有的形状并希望向其添加文本时,您可能需要检查并确认它是通过 `IAutoShape` 接口进行强制转换的。只有这样,您才能使用 `IAutoShape` 下的属性 [TextFrame](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/properties/textframe)。请参阅本页的 [Update Text](https://docs.aspose.com/slides/net/manage-textbox/#update-text) 部分。 {{% /alert %}} ## **在幻灯片上创建文本框** -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 通过其索引获取第一张幻灯片的引用。 -3. 在幻灯片的指定位置添加一个 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) 对象,并将 [ShapeType](https://reference.aspose.com/slides/net/aspose.slides/igeometryshape/properties/shapetype) 设置为 `Rectangle`,并获取新添加的 `IAutoShape` 对象的引用。 -4. 向 `IAutoShape` 对象添加一个包含文本的 `TextFrame` 属性。在下面的示例中,我们添加了以下文本:*Aspose 文本框* -5. 最后,通过 `Presentation` 对象写入 PPTX 文件。 - -以下 C# 代码——上述步骤的实现——向您展示了如何向幻灯片添加文本: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 通过索引获取第一张幻灯片的引用。 +3. 在幻灯片的指定位置添加一个 `ShapeType` 为 `Rectangle` 的 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape) 对象,并获取新添加的 `IAutoShape` 对象的引用。 +4. 为 `IAutoShape` 对象添加 `TextFrame` 属性,以容纳文本。在以下示例中,我们添加的文本为 *Aspose TextBox*。 +5. 最后,通过 `Presentation` 对象写入 PPTX 文件。 +下面的 C# 代码实现了上述步骤,演示了如何向幻灯片添加文本: ```c# // 实例化 PresentationEx using (Presentation pres = new Presentation()) @@ -37,72 +46,101 @@ using (Presentation pres = new Presentation()) // 获取演示文稿中的第一张幻灯片 ISlide sld = pres.Slides[0]; - // 添加类型设置为矩形的 AutoShape + // 添加一个类型为 Rectangle 的 AutoShape IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); // 向矩形添加 TextFrame ashp.AddTextFrame(" "); - // 访问文本框 + // 访问文本框架 ITextFrame txtFrame = ashp.TextFrame; - // 为文本框创建段落对象 + // 为文本框架创建 Paragraph 对象 IParagraph para = txtFrame.Paragraphs[0]; - // 为段落创建一个 Portion 对象 + // 为段落创建 Portion 对象 IPortion portion = para.Portions[0]; // 设置文本 - portion.Text = "Aspose 文本框"; + portion.Text = "Aspose TextBox"; // 将演示文稿保存到磁盘 pres.Save("TextBox_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); } ``` -## **检查文本框形状** -Aspose.Slides 提供了 [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) 属性(来自 [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/) 类)允许您检查形状并找到文本框。 +## **检查文本框形状** -![文本框和形状](istextbox.png) +Aspose.Slides 提供了来自 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) 接口的 [IsTextBox](https://reference.aspose.com/slides/net/aspose.slides/autoshape/istextbox/) 属性,允许您检查形状并识别文本框。 -以下 C# 代码向您展示了如何检查一个形状是否作为文本框创建: +![Text box and shape](istextbox.png) +下面的 C# 代码展示了如何检查某个形状是否被创建为文本框: ```c# -using (Presentation pres = new Presentation("pres.pptx")) +using (Presentation presentation = new Presentation("sample.pptx")) { - Aspose.Slides.LowCode.ForEach.Shape(pres, (shape, slide, index) => + Aspose.Slides.LowCode.ForEach.Shape(presentation, (shape, slide, index) => { - if (shape is AutoShape autoShape) + if (shape is IAutoShape autoShape) { - Console.WriteLine(autoShape.IsTextBox ? "形状是文本框" : "形状不是文本框"); + Console.WriteLine(autoShape.IsTextBox ? "shape is a text box" : "shape is not a text box"); } }); } ``` -## **在文本框中添加列** -Aspose.Slides 提供了 [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) 和 [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) 属性(来自 [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) 接口和 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类),允许您向文本框添加列。您可以指定文本框中的列数,然后指定列之间的间距(单位为点)。 +请注意,如果您仅使用 [IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection/) 接口的 `AddAutoShape` 方法添加自动形状,则该自动形状的 `IsTextBox` 属性将返回 `false`。但在使用 `AddTextFrame` 方法或 `Text` 属性向自动形状添加文本后,`IsTextBox` 属性会返回 `true`。 +```cs +using (Presentation presentation = new Presentation()) +{ + ISlide slide = presentation.Slides[0]; + + IAutoShape shape1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 100, 40); + // shape1.IsTextBox 为 false + shape1.AddTextFrame("shape 1"); + // shape1.IsTextBox 为 true + + IAutoShape shape2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 110, 100, 40); + // shape2.IsTextBox 为 false + shape2.TextFrame.Text = "shape 2"; + // shape2.IsTextBox 为 true + + IAutoShape shape3 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 210, 100, 40); + // shape3.IsTextBox 为 false + shape3.AddTextFrame(""); + // shape3.IsTextBox 为 false + + IAutoShape shape4 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 310, 100, 40); + // shape4.IsTextBox 为 false + shape4.TextFrame.Text = ""; + // shape4.IsTextBox 为 false +} +``` + -以下 C# 代码演示了所述操作: +## **在文本框中添加列** + +Aspose.Slides 提供了来自 [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) 接口和 [TextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/textframeformat) 类的 [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) 和 [ColumnSpacing](https://reference.aspose.com/slides/net/aspose.slides/textframeformat/properties/columnspacing) 属性,允许您在文本框中添加列。您可以指定文本框的列数,然后指定列之间的点距。 +下面的 C# 代码演示了上述操作: ```c# using (Presentation presentation = new Presentation()) { // 获取演示文稿中的第一张幻灯片 ISlide slide = presentation.Slides[0]; - // 添加类型设置为矩形的 AutoShape + // 添加一个类型为 Rectangle 的 AutoShape IAutoShape aShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 300, 300); // 向矩形添加 TextFrame - aShape.AddTextFrame("所有这些列都被限制在一个单一的文本容器内 -- " + - "您可以添加或删除文本,新的或剩余的文本会自动调整 " + - "以在容器内流动。然而,您无法让文本从一个容器流动到另一个容器 -- " + - "我们告诉您 PowerPoint 的文本列选项是有限的!"); + aShape.AddTextFrame("All these columns are limited to be within a single text container -- " + + "you can add or delete text and the new or remaining text automatically adjusts " + + "itself to flow within the container. You cannot have text flow from one container " + + "to other though -- we told you PowerPoint's column options for text are limited!"); - // 获取文本框的文本格式 + // 获取 TextFrame 的文本格式 ITextFrameFormat format = aShape.TextFrame.TextFrameFormat; // 指定 TextFrame 中的列数 @@ -116,12 +154,12 @@ using (Presentation presentation = new Presentation()) } ``` -## **在文本框架中添加列** -Aspose.Slides for .NET 提供了 [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) 属性(来自 [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) 接口),允许您在文本框架中添加列。通过该属性,您可以指定文本框架中所需的列数。 +## **在文本帧中添加列** -以下 C# 代码向您展示了如何在文本框架中添加列: +Aspose.Slides for .NET 提供了来自 [ITextFrameFormat](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat) 接口的 [ColumnCount](https://reference.aspose.com/slides/net/aspose.slides/itextframeformat/properties/columncount) 属性,可用于在文本帧中添加列。通过该属性,您可以指定文本帧中期望的列数。 +下面的 C# 代码展示了如何在文本帧内部添加列: ```c# string outPptxFileName = "ColumnsTest.pptx"; using (Presentation pres = new Presentation()) @@ -130,10 +168,10 @@ using (Presentation pres = new Presentation()) TextFrameFormat format = (TextFrameFormat)shape1.TextFrame.TextFrameFormat; format.ColumnCount = 2; - shape1.TextFrame.Text = "所有这些列都被强制保留在单个文本容器内 -- " + - "您可以添加或删除文本 - 新的或剩余的文本会自动调整 " + - "以保持在容器内。然而,您无法让文本从一个容器溢出到另一个容器," + - "因为 PowerPoint 的文本列选项是有限的!"; + shape1.TextFrame.Text = "All these columns are forced to stay within a single text container -- " + + "you can add or delete text - and the new or remaining text automatically adjusts " + + "itself to stay within the container. You cannot have text spill over from one container " + + "to other, though -- because PowerPoint's column options for text are limited!"; pres.Save(outPptxFileName, SaveFormat.Pptx); using (Presentation test = new Presentation(outPptxFileName)) @@ -147,7 +185,7 @@ using (Presentation pres = new Presentation()) using (Presentation test = new Presentation(outPptxFileName)) { - Debug.Assert(2 == ((AutoShape)test.Slides[0].Shapes[0]).TextFrame.TextFrameFormat.ColumnCount); + Debug.Assert(3 == ((AutoShape)test.Slides[0].Shapes[0]).TextFrame.TextFrameFormat.ColumnCount); Debug.Assert(20 == ((AutoShape)test.Slides[0].Shapes[0]).TextFrame.TextFrameFormat.ColumnSpacing); } @@ -163,12 +201,12 @@ using (Presentation pres = new Presentation()) } ``` -## **更新文本** -Aspose.Slides 允许您更改或更新文本框中包含的文本或演示文稿中包含的所有文本。 +## **更新文本** -以下 C# 代码演示了一个操作,其中更新或更改演示文稿中的所有文本: +Aspose.Slides 允许您更改或更新文本框中包含的文本,或更新演示文稿中所有的文本。 +下面的 C# 代码演示了将演示文稿中所有文本更新或更改的操作: ```c# using(Presentation pres = new Presentation("text.pptx")) { @@ -176,64 +214,75 @@ using(Presentation pres = new Presentation("text.pptx")) { foreach (IShape shape in slide.Shapes) { - if (shape is IAutoShape autoShape) // 检查形状是否支持文本框 (IAutoShape) + if (shape is IAutoShape autoShape) //检查形状是否支持文本框 (IAutoShape)。 { - foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) // 遍历文本框中的段落 + foreach (IParagraph paragraph in autoShape.TextFrame.Paragraphs) //遍历文本框中的段落 { - foreach (IPortion portion in paragraph.Portions) // 遍历段落中的每个部分 + foreach (IPortion portion in paragraph.Portions) //遍历段落中的每个文本块 { - portion.Text = portion.Text.Replace("years", "months"); // 更改文本 - portion.PortionFormat.FontBold = NullableBool.True; // 更改格式 + portion.Text = portion.Text.Replace("years", "months"); //更改文本 + portion.PortionFormat.FontBold = NullableBool.True; //更改格式 } } } } } - // 保存修改后的演示文稿 + //保存修改后的演示文稿 pres.Save("text-changed.pptx", SaveFormat.Pptx); } ``` -## **添加带超链接的文本框** -您可以在文本框中插入链接。当单击文本框时,用户将被引导打开该链接。 +## **添加带超链接的文本框** -1. 创建一个 `Presentation` 类的实例。 -2. 通过其索引获取第一张幻灯片的引用。 -3. 在幻灯片的指定位置添加一个 `AutoShape` 对象,`ShapeType` 设置为 `Rectangle`,并获取新添加的 AutoShape 对象的引用。 -4. 向 `AutoShape` 对象添加一个包含 *Aspose 文本框* 作为其默认文本的 `TextFrame`。 -5. 实例化 `IHyperlinkManager` 类。 -6. 将 `IHyperlinkManager` 对象分配给与您首选的 `TextFrame` 部分相关的 [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick) 属性。 -7. 最后,通过 `Presentation` 对象写入 PPTX 文件。 +您可以在文本框中插入链接。单击该文本框时,会打开相应链接。 -以下 C# 代码——上述步骤的实现——向您展示了如何向幻灯片添加带超链接的文本框: +1. 创建 `Presentation` 类的实例。 +2. 通过索引获取第一张幻灯片的引用。 +3. 在幻灯片的指定位置添加一个 `ShapeType` 为 `Rectangle` 的 `AutoShape` 对象,并获取新添加的 AutoShape 对象的引用。 +4. 为 `AutoShape` 对象添加一个 `TextFrame`,其默认文本为 *Aspose TextBox*。 +5. 实例化 `IHyperlinkManager` 类。 +6. 将 `IHyperlinkManager` 对象分配给您希望在 `TextFrame` 中设置的特定文本片段的 [HyperlinkClick](https://reference.aspose.com/slides/net/aspose.slides/shape/properties/hyperlinkclick) 属性。 +7. 最后,通过 `Presentation` 对象写入 PPTX 文件。 +下面的 C# 代码实现了上述步骤,演示了如何向幻灯片添加带超链接的文本框: ```c# -// 实例化一个表示 PPTX 的 Presentation 类 +// 实例化表示 PPTX 的 Presentation 类 Presentation pptxPresentation = new Presentation(); -// 获取演示文稿中的第一张幻灯片 +// Gets the first slide in the presentation ISlide slide = pptxPresentation.Slides[0]; -// 添加类型设置为矩形的 AutoShape 对象 +// Adds an AutoShape object with type set as Rectangle IShape pptxShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 150, 150, 50); -// 将形状转换为 AutoShape +// Casts the shape to AutoShape IAutoShape pptxAutoShape = (IAutoShape)pptxShape; -// 访问与 AutoShape 相关的 ITextFrame 属性 +// Accesses the ITextFrame property associated with the AutoShape pptxAutoShape.AddTextFrame(""); ITextFrame ITextFrame = pptxAutoShape.TextFrame; -// 向框中添加一些文本 +// Adds some text to the frame ITextFrame.Paragraphs[0].Portions[0].Text = "Aspose.Slides"; -// 为文本部分设置超链接 +// Sets the Hyperlink for the portion text IHyperlinkManager HypMan = ITextFrame.Paragraphs[0].Portions[0].PortionFormat.HyperlinkManager; HypMan.SetExternalHyperlinkClick("http://www.aspose.com"); -// 保存 PPTX 演示文稿 +// Saves the PPTX Presentation pptxPresentation.Save("hLinkPPTX_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**在使用母版幻灯片时,文本框和文本占位符有什么区别?** + +[占位符](/slides/zh/net/manage-placeholder/) 继承自 [母版](https://reference.aspose.com/slides/net/aspose.slides/masterslide/) 的样式/位置,并且可以在 [布局](https://reference.aspose.com/slides/net/aspose.slides/layoutslide/) 上被覆盖,而普通文本框是特定幻灯片上的独立对象,切换布局时不会改变。 + +**如何在不影响图表、表格和 SmartArt 中文本的情况下,对整个演示文稿执行批量文本替换?** + +将遍历范围限制在具有文本框的自动形状上,并通过单独遍历其集合或跳过这些对象类型,排除嵌入的对象(如 [图表](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/)、[表格](https://reference.aspose.com/slides/net/aspose.slides/table/)、[SmartArt](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartart/))。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md b/zh/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md index 88217432bb..a23fba4114 100644 --- a/zh/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-text/presentation-localization/_index.md @@ -3,26 +3,40 @@ title: 演示文稿本地化 type: docs weight: 100 url: /zh/net/presentation-localization/ -keywords: "更改语言, 拼写检查, 拼写检查, 拼写检查工具, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "在 PowerPoint 演示文稿中更改或检查语言。 在 C# 或 .NET 中进行拼写检查" +keywords: "更改语言, 拼写检查, 拼写检查, 拼写检查器, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" +description: "在 PowerPoint 演示文稿中更改或检查语言。使用 C# 或 .NET 进行拼写检查。" --- -## **更改演示文稿和形状文本的语言** -- 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -- 通过使用其索引获取幻灯片的引用。 -- 向幻灯片添加一个矩形类型的自动形状。 -- 向文本框添加一些文本。 -- 将语言 ID 设置为文本。 -- 将演示文稿写入 PPTX 文件。 -以上步骤的实现如下示例所示。 +## **更改演示文稿和形状文本的语言** +- 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +- 通过使用索引获取幻灯片的引用。 +- 向幻灯片添加一个矩形类型的 AutoShape。 +- 向 TextFrame 添加一些文本。 +- 为文本设置 Language Id。 +- 将演示文稿写入为 PPTX 文件。 ```c# using (Presentation pres = new Presentation("test0.pptx")) { IAutoShape shape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); - shape.AddTextFrame("应用拼写检查语言的文本"); + shape.AddTextFrame("Text to apply spellcheck language"); shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId = "en-EN"; pres.Save("test1.pptx",Aspose.Slides.Export.SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **常见问题** + +**language_id 会触发自动文本翻译吗?** + +否。Aspose.Slides 中的 [language_id](https://reference.aspose.com/slides/net/aspose.slides/portionformat/languageid/) 用于存储用于拼写检查和语法校对的语言,但它不翻译或更改文本内容。它是 PowerPoint 用于校对的元数据。 + +**language_id 会影响渲染时的连字符和换行吗?** + +在 Aspose.Slides 中,[LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) 用于校对。连字符质量和换行主要取决于 [proper fonts](/slides/zh/net/powerpoint-fonts/) 的可用性以及针对书写系统的布局/换行设置。为确保正确渲染,需要提供所需字体,配置 [font substitution rules](/slides/zh/net/font-substitution/),和/或将字体 [embed fonts](/slides/zh/net/embedded-font/) 到演示文稿中。 + +**我可以在同一段落中设置不同的语言吗?** + +是的。[LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) 在文本段落级别应用,因此单个段落可以混合多种语言并具有不同的校对设置。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md b/zh/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md index ddb991a7a0..0998b7c9b2 100644 --- a/zh/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-text/superscript-and-subscript/_index.md @@ -1,78 +1,114 @@ --- -title: 上标和下标 +title: 管理 C# 中的上标和下标 +linktitle: 上标和下标 type: docs weight: 80 url: /zh/net/superscript-and-subscript/ -keywords: "上标, 下标, 添加上标文本, 添加下标文本, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 .NET 中向 PowerPoint 演示文稿添加上标和下标文本" +keywords: +- 上标 +- 下标 +- 添加上标 +- 添加下标 +- PowerPoint +- OpenDocument +- 演示文稿 +- C# +- Csharp +- Aspose.Slides +description: "在 Aspose.Slides for .NET 中精通上标和下标,并通过专业的文本格式提升演示文稿的最大影响力。" --- -## **管理上标和下标文本** -您可以在任何段落部分添加上标和下标文本。要在 Aspose.Slides 文本框中添加上标或下标文本,必须使用**Escapement**属性的 PortionFormat 类。 +## **概述** -该属性返回或设置上标或下标文本(值范围从 -100%(下标)到 100%(上标))。例如: +Aspose.Slides for .NET 提供将上标和下标文本集成到 PowerPoint (PPT、PPTX) 和 OpenDocument (ODP) 演示文稿中的功能。无论是需要突出显示化学式、数学公式,还是使用脚注对内容进行注释,这些专用的格式选项都有助于保持清晰和精准。本文将教您如何无缝应用上标和下标样式,并在每张幻灯片中实现专业效果。 -- 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -- 通过使用其索引获取幻灯片的引用。 -- 向幻灯片添加一个矩形类型的 IAutoShape。 -- 访问与 IAutoShape 关联的 ITextFrame。 -- 清除现有段落。 -- 创建一个新的段落对象以保存上标文本,并将其添加到 ITextFrame 的 IParagraphs 集合中。 -- 创建一个新的部分对象。 -- 为部分设置 Escapement 属性,值在 0 到 100 之间以添加上标。(0 表示没有上标) -- 设置部分的文本,然后将其添加到段落的部分集合中。 -- 创建一个新的段落对象以保存下标文本,并将其添加到 ITextFrame 的 IParagraphs 集合中。 -- 创建一个新的部分对象。 -- 为部分设置 Escapement 属性,值在 0 到 -100 之间以添加下标。(0 表示没有下标) -- 设置部分的文本,然后将其添加到段落的部分集合中。 -- 将演示文稿另存为 PPTX 文件。 +## **添加上标和下标文本** -上述步骤的实现如下所示。 +您可以在演示文稿中的任意段落内添加上标和下标文本。使用 Aspose.Slides 时,需要使用 [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) 类的 `Escapement` 属性。 +该属性允许您设置上标或下标文本,取值范围为 -100%(下标)到 100%(上标)。 + +实现步骤: + +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类的实例。 +1. 使用索引获取幻灯片的引用。 +1. 向幻灯片添加一个类型为 `Rectangle` 的 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)。 +1. 访问与 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/) 关联的 [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/)。 +1. 清除现有段落。 +1. 创建一个用于上标文本的新的 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/),并将其添加到 [ITextFrame](https://reference.aspose.com/slides/net/aspose.slides/itextframe/) 的段落集合中。 +1. 创建一个新的文本片段对象。 +1. 将文本片段的 `Escapement` 属性设置为 0 到 100 之间,以应用上标(0 表示不使用上标)。 +1. 为 [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) 设置一些文本,并将其添加到段落的片段集合中。 +1. 创建另一个用于下标文本的 [Paragraph](https://reference.aspose.com/slides/net/aspose.slides/paragraph/),并将其添加到段落集合中。 +1. 创建一个新的文本片段对象。 +1. 将文本片段的 `Escapement` 属性设置为 0 到 -100 之间,以应用下标(0 表示不使用下标)。 +1. 为 [Portion](https://reference.aspose.com/slides/net/aspose.slides/portion/) 设置一些文本,并将其添加到段落的片段集合中。 +1. 将演示文稿保存为 PPTX 文件。 + +以下 C# 代码实现了上述步骤: ```c# -using (Presentation presentation = new Presentation("test.pptx")) +using (Presentation presentation = new Presentation()) { - // 获取幻灯片 + // 获取第一张幻灯片。 ISlide slide = presentation.Slides[0]; - // 创建文本框 + // 创建文本框。 IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 100, 200, 100); ITextFrame textFrame = shape.TextFrame; + textFrame.Paragraphs.Clear(); - // 创建上标文本的段落 + // 为上标文本创建段落。 IParagraph superPar = new Paragraph(); - // 创建普通文本的部分 + // 创建普通文本片段。 IPortion portion1 = new Portion(); - portion1.Text = "SlideTitle"; + portion1.Text = "MyProduct"; superPar.Portions.Add(portion1); - // 创建上标文本的部分 + // 创建上标文本片段。 IPortion superPortion = new Portion(); superPortion.PortionFormat.Escapement = 30; superPortion.Text = "TM"; superPar.Portions.Add(superPortion); - // 创建下标文本的段落 + // 为下标文本创建段落。 IParagraph paragraph2 = new Paragraph(); - // 创建普通文本的部分 + // 创建普通文本片段。 IPortion portion2 = new Portion(); portion2.Text = "a"; paragraph2.Portions.Add(portion2); - // 创建下标文本的部分 + // 创建下标文本片段。 IPortion subPortion = new Portion(); subPortion.PortionFormat.Escapement = -25; subPortion.Text = "i"; paragraph2.Portions.Add(subPortion); - // 将段落添加到文本框 + // 将段落添加到文本框。 textFrame.Paragraphs.Add(superPar); textFrame.Paragraphs.Add(paragraph2); - presentation.Save("TestOut.pptx", SaveFormat.Pptx); - System.Diagnostics.Process.Start("TestOut.pptx"); - } -``` \ No newline at end of file + presentation.Save("output.pptx", SaveFormat.Pptx); +} +``` + + +结果: + +![上标和下标](superscript_and_subscript.png) + +## **常见问题** + +**在导出为 PDF 或其他格式时,上标和下标会被保留吗?** + +是的,Aspose.Slides for .NET 在将演示文稿导出为 PDF、PPT/PPTX、图像以及其他受支持的格式时,会正确保留上标和下标的格式。专用的格式在所有输出文件中保持完整。 + +**上标和下标可以与加粗、斜体等其他格式样式组合使用吗?** + +可以,Aspose.Slides 允许在同一个文本片段中混合多种文本样式。您可以通过设置 [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) 中的相应属性,同时启用加粗、斜体、下划线以及上标或下标。 + +**上标和下标格式在表格、图表或 SmartArt 中的文本是否同样有效?** + +可以,Aspose.Slides for .NET 支持在大多数对象中进行格式设置,包括表格和图表元素。对于 SmartArt,需要访问相应的元素(例如 [SmartArtNode](https://reference.aspose.com/slides/net/aspose.slides.smartart/smartartnode/))及其文本容器,然后以类似方式配置 [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) 属性。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md b/zh/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md index e481f3e0f7..191d15e7a3 100644 --- a/zh/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-text/text-formatting/_index.md @@ -1,664 +1,519 @@ --- -title: 文本格式化 +title: 在 C# 中格式化 PowerPoint 文本 linktitle: 文本格式化 type: docs weight: 50 url: /zh/net/text-formatting/ keywords: -- 高亮文本 +- 突出显示文本 - 正则表达式 -- 对齐文本段落 +- 对齐段落 +- 文本样式 +- 文本背景 - 文本透明度 -- 段落字体属性 -- 字体家族 +- 字符间距 +- 字体属性 +- 字体族 - 文本旋转 -- 自定义角度旋转 +- 旋转角度 - 文本框 - 行间距 -- 自适应属性 +- 自动适应属性 - 文本框锚点 -- 文本制表符 -- 默认文本样式 +- 文本制表 +- 默认语言 +- PowerPoint +- OpenDocument +- 演示文稿 - C# -- Aspose.Slides for .NET -description: "在 C# 中管理和操作文本及文本框属性" +- Aspose.Slides +description: "了解如何使用 Aspose.Slides for .NET 在 PowerPoint 和 OpenDocument 演示文稿中格式化和美化文本。通过强大的 C# 示例代码自定义字体、颜色、对齐方式等。" --- -## 概述 +## **概述** -本文描述了如何 **使用 C# 处理 PowerPoint 演示文稿的文本格式化**,例如高亮文本、应用正则表达式、对齐文本段落、设置文本透明度、改变段落字体属性、使用字体家族、设置文本旋转、自定义角度旋转、管理文本框、设置行间距、使用自适应属性、设置文本框锚点、改变文本制表符。文章涵盖了这些主题。 +本文介绍如何使用 Aspose.Slides for .NET 在 PowerPoint 和 OpenDocument 演示文稿中管理和格式化文本。您将学习如何应用字体选择、大小、颜色、突出显示、背景色、间距和对齐等文本格式化功能。此外,还包括对文本框、段落、格式化以及自定义旋转和自动适应行为等高级布局选项的使用。 -## **高亮文本** -新的 HighlightText 方法已添加到 ITextFrame 接口和 TextFrame 类。 +无论是以编程方式生成演示文稿,还是自定义现有内容,这些示例都可帮助您创建清晰、专业的文本布局,以提升幻灯片的可读性。 -它允许使用文本样本以背景颜色高亮文本部分,类似于 PowerPoint 2019 中的文本高亮颜色工具。 +在下面的示例中,我们使用名为 **"sample.pptx"** 的文件,该文件在第一页包含一个文本框,文本如下: -1. 实例化 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类并传入输入文件。 - - 输入文件可以是 PPT、PPTX、ODP 等。 -3. 使用 [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/) 集合访问其幻灯片。 -4. 使用 [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) 集合访问形状,并将其转换为 [AutoShape](https://reference.aspose.com/slides/net/aspose.slides/autoshape/)。 -5. 使用 [TextFrame.Highlight()](https://reference.aspose.com/slides/net/aspose.slides/textframe/highlighttext/#highlighttext) 方法高亮文本。 -6. 以所需的输出格式保存演示文稿,即 PPT、PPTX 或 ODP 等。 +![示例文字](sample_text.png) -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("title", Color.LightBlue); // 高亮所有词语 'important' -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightText("to", Color.Violet, new TextHighlightingOptions() -{ - WholeWordsOnly = true -}); // 高亮所有单独的 'the' 出现 -presentation.Save("SomePresentation-out2.pptx", SaveFormat.Pptx); -``` +## **突出显示文本** -{{% alert color="primary" %}} +[ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/) 方法允许您根据匹配的文本样本,以背景色突出显示文本的一部分。 -Aspose 提供了一个简单的 [免费在线 PowerPoint 编辑服务](https://products.aspose.app/slides/editor) +使用此方法,请按以下步骤操作: -{{% /alert %}} +1. 使用输入文件(PPT、PPTX、ODP 等)实例化 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation/) 类。 +1. 通过 [Slides](https://reference.aspose.com/slides/net/aspose.slides/presentation/slides/) 集合获取目标幻灯片。 +1. 从 [Shapes](https://reference.aspose.com/slides/net/aspose.slides/baseslide/shapes/) 集合中获取目标形状,并将其强制转换为 [IAutoShape](https://reference.aspose.com/slides/net/aspose.slides/iautoshape/)。 +1. 使用 [ITextFrame.HighlightText](https://reference.aspose.com/slides/net/aspose.slides/itextframe/highlighttext/) 方法提供示例文本和颜色,以突出显示所需文本。 +1. 将演示文稿保存为所需的输出格式(例如 PPT、PPTX、ODP)。 +下面的代码示例突出显示所有出现的 **"try"** 字符和完整单词 **"to"**。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + // 获取第一张幻灯片中的第一个形状。 + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; -## **使用正则表达式高亮文本** -新的 HighlightRegex 方法已添加到 ITextFrame 接口和 TextFrame 类。 + // 在形状中突出显示单词 "try"。 + shape.TextFrame.HighlightText("try", Color.LightBlue); -它允许使用正则表达式以背景颜色高亮文本部分,类似于 PowerPoint 2019 中的文本高亮颜色工具。 + var searchOptions = new TextSearchOptions() + { + WholeWordsOnly = true + }; -以下代码片段显示如何使用此功能: + // 在形状中突出显示单词 "to"。 + shape.TextFrame.HighlightText("to", Color.Violet, searchOptions, null); -```c# -Presentation presentation = new Presentation("SomePresentation.pptx"); -TextHighlightingOptions options = new TextHighlightingOptions(); -((AutoShape)presentation.Slides[0].Shapes[0]).TextFrame.HighlightRegex(@"\b[^\s]{5,}\b", Color.Blue, options); // 高亮所有 10 个符号或更长的词语 -presentation.Save("SomePresentation-out.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text.pptx", SaveFormat.Pptx); +} ``` -## **设置文本背景颜色** -Aspose.Slides 允许您为文本设置偏好的背景颜色。 +结果: -以下 C# 代码显示您如何为整个文本设置背景颜色: +![突出显示的文本](highlighted_text.png) -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Black"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Red "); - - var portion3 = new Portion("Black"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +{{% alert color="primary" %}} +Aspose 提供了一个简单的[免费在线 PowerPoint 编辑器](https://products.aspose.app/slides/editor)。 +{{% /alert %}} + +## **使用正则表达式突出显示文本** -using (Presentation pres = new Presentation("text.pptx")) +Aspose.Slides for .NET 允许您使用正则表达式在 PowerPoint 幻灯片中搜索并突出显示特定文本部分。该功能在需要动态强调关键字、模式或数据驱动内容时尤其有用。[ITextFrame.HighlightRegex](https://docs.aspose.com/slides/net/text-formatting/) 方法允许您使用正则表达式以背景色突出显示文本片段。 + +下面的代码示例突出显示所有包含 **七个或更多字符** 的单词: +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var shape = (IAutoShape)presentation.Slides[0].Shapes[0]; - foreach (IPortion portion in autoShape.TextFrame.Paragraphs[0].Portions) - { - portion.PortionFormat.HighlightColor.Color = Color.Blue; - } + // 突出显示所有七个或更多字符的单词。 + shape.TextFrame.HighlightRegex(@"\b[^\s]{7,}\b", Color.Yellow, null); - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("highlighted_text_using_regex.pptx", SaveFormat.Pptx); } ``` -此 C# 代码显示您如何仅为部分文本设置背景颜色: -```c# -using (Presentation pres = new Presentation()) -{ - IAutoShape autoShape = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 100); - autoShape.TextFrame.Paragraphs.Clear(); - - Paragraph para = new Paragraph(); - - var portion1 = new Portion("Black"); - portion1.PortionFormat.FontBold = NullableBool.True; - - var portion2 = new Portion(" Red "); - - var portion3 = new Portion("Black"); - portion3.PortionFormat.FontBold = NullableBool.True; - - para.Portions.Add(portion1); - para.Portions.Add(portion2); - para.Portions.Add(portion3); - autoShape.TextFrame.Paragraphs.Add(para); - - pres.Save("text.pptx", SaveFormat.Pptx); -} +结果: + +![使用正则表达式突出显示的文本](highlighted_text_using_regex.png) + +## **设置文本背景颜色** + +Aspose.Slides for .NET 使您能够为 PowerPoint 幻灯片中的整个段落或单独的文本片段应用背景颜色。当您想突出显示特定单词或短语、吸引对关键信息的注意,或提升演示文稿的视觉效果时,此功能非常实用。 -using (Presentation pres = new Presentation("text.pptx")) +以下代码示例演示如何为 **整个段落** 设置背景颜色: +```cs +using (var presentation = new Presentation("sample.pptx")) { - var autoShape = (IAutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - IPortion redPortion = autoShape.TextFrame.Paragraphs[0].Portions - .First(p => p.Text.Contains("Red")); + // 为整个段落设置高亮颜色。 + paragraph.ParagraphFormat.DefaultPortionFormat.HighlightColor.Color = Color.LightGray; - redPortion.PortionFormat.HighlightColor.Color = Color.Red; - - pres.Save("text-red.pptx", SaveFormat.Pptx); + presentation.Save("gray_paragraph.pptx", SaveFormat.Pptx); } ``` -## **对齐文本段落** - -文本格式化是创建任何类型文档或演示文稿的关键元素之一。我们知道 Aspose.Slides for .NET 支持向幻灯片中添加文本,但在本主题中,我们将看到如何控制幻灯片中文本段落的对齐。请按照以下步骤使用 Aspose.Slides for .NET 对齐文本段落: -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 使用其索引获取幻灯片的引用。 -3. 访问幻灯片中存在的占位符形状,并将其类型转换为 AutoShape。 -4. 从 AutoShape 暴露的 TextFrame 中获取(需要对齐的)段落。 -5. 对齐段落。段落可以对齐到右边、左边、居中和两端对齐。 -6. 将修改后的演示文稿写入 PPTX 文件。 +结果: -以上步骤的实现如下。 +![灰色段落](gray_paragraph.png) -```c# -// 实例化表示 PPTX 文件的 Presentation 对象 -using (Presentation pres = new Presentation("ParagraphsAlignment.pptx")) +下面的代码示例演示如何为 **加粗字体的文本片段** 设置背景颜色: +```cs +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // 访问第一张幻灯片 - ISlide slide = pres.Slides[0]; - - // 访问幻灯片中的第一个和第二个占位符并将其类型转换为 AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; - - // 更改两个占位符中的文本 - tf1.Text = "根据 Aspose 居中对齐"; - tf2.Text = "根据 Aspose 居中对齐"; - - // 获取占位符的第一个段落 - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - - // 将文本段落对齐到中心 - para1.ParagraphFormat.Alignment = TextAlignment.Center; - para2.ParagraphFormat.Alignment = TextAlignment.Center; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // 设置文本片段的高亮颜色。 + portion.PortionFormat.HighlightColor.Color = Color.LightGray; + } + } - // 将演示文稿写入 PPTX 文件 - pres.Save("Centeralign_out.pptx", SaveFormat.Pptx); + presentation.Save("gray_text_portions.pptx", SaveFormat.Pptx); } ``` -## **设置文本透明度** -本文演示如何使用 Aspose.Slides for .NET 为任何文本形状设置透明度属性。为文本设置透明度,请按照以下步骤操作: +结果: -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 获取幻灯片的引用。 -3. 设置阴影颜色。 -4. 将演示文稿写入 PPTX 文件。 +![灰色文本片段](gray_text_portions.png) -以上步骤的实现如下。 - -```c# -using (Presentation pres = new Presentation("transparency.pptx")) -{ - IAutoShape shape = (IAutoShape)pres.Slides[0].Shapes[0]; - IEffectFormat effects = shape.TextFrame.Paragraphs[0].Portions[0].PortionFormat.EffectFormat; +## **对齐文本段落** - IOuterShadow outerShadowEffect = effects.OuterShadowEffect; +文本对齐是幻灯片格式化的关键因素,影响可读性和视觉美感。在 Aspose.Slides for .NET 中,您可以精确控制文本框内段落的对齐方式,确保内容始终以居中、左对齐、右对齐或两端对齐的形式呈现。本节说明如何在 PowerPoint 演示文稿中应用和自定义文本对齐。 - Color shadowColor = outerShadowEffect.ShadowColor.Color; - Console.WriteLine($"{shadowColor} - 透明度为: {((float)shadowColor.A / byte.MaxValue) * 100}"); +以下代码示例展示如何将段落对齐至 **居中**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // 将透明度设置为零百分比 - outerShadowEffect.ShadowColor.Color = Color.FromArgb(255, shadowColor); + // 将段落对齐方式设置为居中。 + paragraph.ParagraphFormat.Alignment = TextAlignment.Center; - pres.Save("transparency-2.pptx", SaveFormat.Pptx); + presentation.Save("aligned_paragraph.pptx", SaveFormat.Pptx); } ``` -## **设置文本的字符间距** -Aspose.Slides 允许您设置文本框中字母之间的间距。通过这种方式,您可以通过扩展或压缩字符之间的间距来调整文本行或块的视觉密度。 +结果: -以下 C# 代码展示了如何扩展一行文本的间距并收缩另一行文本的间距: +![对齐的段落](aligned_paragraph.png) -```c# -var presentation = new Presentation("in.pptx"); +## **设置文本透明度** + +调整文本透明度可创建细腻的视觉效果并提升幻灯片美感。Aspose.Slides for .NET 提供了为段落和文本片段设置透明度级别的功能,便于将文本与背景融合或强调特定元素。本节展示如何在演示文稿中为文本应用透明度设置。 -var textBox1 = (IAutoShape) presentation.Slides[0].Shapes[0]; -var textBox2 = (IAutoShape) presentation.Slides[0].Shapes[1]; +下面的代码示例演示如何为 **整个段落** 设置透明度: +```cs +int alpha = 50; -textBox1.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = 20; // 扩展 -textBox2.TextFrame.Paragraphs[0].ParagraphFormat.DefaultPortionFormat.Spacing = -2; // 收缩 +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -presentation.Save("out.pptx", SaveFormat.Pptx); + // 设置文本的填充颜色为透明颜色。 + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); + + presentation.Save("transparent_paragraph.pptx", SaveFormat.Pptx); +} ``` -## **管理段落的字体属性** -演示文稿通常包含文本和图像。文本可以以多种方式格式化,无论是为了突出特定部分和单词,还是符合企业风格。文本格式化有助于用户改变演示文稿内容的外观和感觉。本文展示了如何使用 Aspose.Slides for .NET 配置幻灯片上文本段落的字体属性。要使用 Aspose.Slides for .NET 管理段落的字体属性: +结果: -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 使用其索引获取幻灯片的引用。 -3. 访问幻灯片中的占位符形状并将其类型转换为 AutoShape。 -4. 从 AutoShape 暴露的 TextFrame 中获取段落。 -5. 对段落进行对齐。 -6. 访问段落的文本部分。 -7. 使用 FontData 定义字体,并相应地设置文本部分的字体。 - 1. 将字体设置为粗体。 - 1. 将字体设置为斜体。 -8. 使用部分对象暴露的 FillFormat 设置字体颜色。 -9. 将修改后的演示文稿写入 [PPTX](https://docs.fileformat.com/presentation/pptx/) 文件。 +![透明段落](transparent_paragraph.png) -以上步骤的实现如下。它使用一个未装饰的演示文稿并对其中一张幻灯片的字体进行格式化。 +以下代码示例演示如何为 **加粗字体的文本片段** 设置透明度: +```cs +int alpha = 50; -```c# -// 实例化表示 PPTX 文件的 Presentation 对象 -using (Presentation pres = new Presentation("FontProperties.pptx")) +using (var presentation = new Presentation("sample.pptx")) { + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // 通过其幻灯片位置访问幻灯片 - ISlide slide = pres.Slides[0]; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // 设置文本片段的透明度。 + portion.PortionFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.FromArgb(alpha, Color.Black); + } + } - // 访问幻灯片中的第一个和第二个占位符并将其类型转换为 AutoShape - ITextFrame tf1 = ((IAutoShape)slide.Shapes[0]).TextFrame; - ITextFrame tf2 = ((IAutoShape)slide.Shapes[1]).TextFrame; + presentation.Save("transparent_text_portions.pptx", SaveFormat.Pptx); +} +``` - // 访问第一个段落 - IParagraph para1 = tf1.Paragraphs[0]; - IParagraph para2 = tf2.Paragraphs[0]; - // 访问第一个部分 - IPortion port1 = para1.Portions[0]; - IPortion port2 = para2.Portions[0]; +结果: - // 定义新字体 - FontData fd1 = new FontData("Elephant"); - FontData fd2 = new FontData("Castellar"); +![透明文本片段](transparent_text_portions.png) - // 将新字体分配给部分 - port1.PortionFormat.LatinFont = fd1; - port2.PortionFormat.LatinFont = fd2; +## **设置文本字符间距** - // 设置字体为粗体 - port1.PortionFormat.FontBold = NullableBool.True; - port2.PortionFormat.FontBold = NullableBool.True; +Aspose.Slides 允许您设置文本框中字母之间的间距。通过扩展或压缩字符间距,可调节行或文本块的视觉密度。 - // 设置字体为斜体 - port1.PortionFormat.FontItalic = NullableBool.True; - port2.PortionFormat.FontItalic = NullableBool.True; +以下 C# 代码展示如何在 **整个段落** 中扩大字符间距: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // 设置字体颜色 - port1.PortionFormat.FillFormat.FillType = FillType.Solid; - port1.PortionFormat.FillFormat.SolidFillColor.Color = Color.Purple; - port2.PortionFormat.FillFormat.FillType = FillType.Solid; - port2.PortionFormat.FillFormat.SolidFillColor.Color = Color.Peru; + // 注意:使用负值来压缩字符间距。 + paragraph.ParagraphFormat.DefaultPortionFormat.Spacing = 3; // 扩展字符间距。 - //将 PPTX 保存到磁盘 - pres.Save("WelcomeFont_out.pptx", SaveFormat.Pptx); + presentation.Save("character_spacing_in_paragraph.pptx", SaveFormat.Pptx); } ``` -## **管理文本的字体家族** -部分用于在段落中保存具有相似格式样式的文本。本文展示了如何使用 Aspose.Slides for .NET 创建一个包含一些文本的文本框,然后定义特定的字体和字体家族类别的各种其他属性。要创建文本框并设置其中文本的字体属性: +结果: -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 使用其索引获取幻灯片的引用。 -3. 向幻灯片添加类型为矩形的 AutoShape。 -4. 移除与 AutoShape 关联的填充样式。 -5. 访问 AutoShape 的 TextFrame。 -6. 向 TextFrame 添加一些文本。 -7. 访问与 TextFrame 关联的 Portion 对象。 -8. 定义用于 Portion 的字体。 -9. 使用 Portion 对象暴露的相关属性设置其他字体属性,例如粗体、斜体、下划线、颜色和高度。 -10. 将修改后的演示文稿写入 PPTX 文件。 +![段落中的字符间距](character_spacing_in_paragraph.png) -以下是上述步骤的实现。 - -```c# -// 实例化 Presentation -using (Presentation presentation = new Presentation()) +下面的代码示例展示如何在 **加粗字体的文本片段** 中扩大字符间距: +```cs +using (var presentation = new Presentation("sample.pptx")) { - - // 获取第一张幻灯片 - ISlide sld = presentation.Slides[0]; - - // 添加类型为矩形的 AutoShape - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 200, 50); + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // 移除与 AutoShape 关联的任何填充样式 - ashp.FillFormat.FillType = FillType.NoFill; + foreach (var portion in paragraph.Portions) + { + if (portion.PortionFormat.GetEffective().FontBold) + { + // 注意:使用负值来压缩字符间距。 + portion.PortionFormat.Spacing = 3; // 扩展字符间距。 + } + } - // 访问与 AutoShape 关联的 TextFrame - ITextFrame tf = ashp.TextFrame; - tf.Text = "Aspose 文本框"; + presentation.Save("character_spacing_in_text_portions.pptx", SaveFormat.Pptx); +} +``` - // 访问与 TextFrame 关联的 Portion - IPortion port = tf.Paragraphs[0].Portions[0]; - // 设置 Portion 的字体 - port.PortionFormat.LatinFont = new FontData("Times New Roman"); +结果: - // 设置字体的粗体属性 - port.PortionFormat.FontBold = NullableBool.True; +![文本片段中的字符间距](character_spacing_in_text_portions.png) - // 设置字体的斜体属性 - port.PortionFormat.FontItalic = NullableBool.True; +## **管理文本字体属性** - // 设置字体的下划线属性 - port.PortionFormat.FontUnderline = TextUnderlineType.Single; +Aspose.Slides for .NET 允许您在段落级别和单个文本片段级别细致地调整字体设置,确保视觉一致性并满足演示文稿的设计需求。您可以为整个段落定义字体样式、大小及其他格式选项,从而对文本外观拥有更大的控制权。本节演示如何在幻灯片中管理文本段落的字体属性。 - // 设置字体的高度 - port.PortionFormat.FontHeight = 25; +以下代码为整个段落设置字体和文本样式:包括字体大小、粗体、斜体、点状下划线以及 Times New Roman 字体,适用于段落中的所有片段。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; - // 设置字体的颜色 - port.PortionFormat.FillFormat.FillType = FillType.Solid; - port.PortionFormat.FillFormat.SolidFillColor.Color = Color.Blue; + // 为段落设置字体属性。 + paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 12; + paragraph.ParagraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontItalic = NullableBool.True; + paragraph.ParagraphFormat.DefaultPortionFormat.FontUnderline = TextUnderlineType.Dotted; + paragraph.ParagraphFormat.DefaultPortionFormat.LatinFont = new FontData("Times New Roman"); - // 保存 PPTX 到磁盘 - presentation.Save("SetTextFontProperties_out.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_paragraph.pptx", SaveFormat.Pptx); } ``` -## **设置文本的字体大小** -Aspose.Slides 允许您为段落中的现有文本及将来可能添加的其他文本选择自己偏好的字体大小。 +结果: -以下 C# 代码展示了如何为包含在段落中的文本设置字体大小: +![段落的字体属性](font_properties_for_paragraph.png) -```c# -var presentation = new Presentation("example.pptx"); - -// 获取第一个形状,例如。 -var shape = presentation.Slides[0].Shapes[0]; - -if (shape is IAutoShape autoShape) +下面的代码示例将相同属性应用于 **加粗字体的文本片段**: +```cs +using (var presentation = new Presentation("sample.pptx")) { - // 获取第一个段落,例如。 + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; var paragraph = autoShape.TextFrame.Paragraphs[0]; - // 将所有文本部分的默认字体大小设置为 20 磅。 - paragraph.ParagraphFormat.DefaultPortionFormat.FontHeight = 20; - - // 将当前段落中的文本部分的字体大小设置为 20 磅。 foreach (var portion in paragraph.Portions) { - portion.PortionFormat.FontHeight = 20; + if (portion.PortionFormat.GetEffective().FontBold) + { + // 为文本片段设置字体属性。 + portion.PortionFormat.FontHeight = 13; + portion.PortionFormat.FontItalic = NullableBool.True; + portion.PortionFormat.FontUnderline = TextUnderlineType.Dotted; + portion.PortionFormat.LatinFont = new FontData("Times New Roman"); + } } -} -presentation.Save("output.pptx", SaveFormat.Pptx); + presentation.Save("font_properties_for_text_portions.pptx", SaveFormat.Pptx); +} ``` -## **设置文本旋转** - -Aspose.Slides for .NET 允许开发人员旋转文本。文本可以设置为水平、垂直、垂直270、WordArt垂直、东亚垂直、蒙古垂直或从左到右的WordArt 垂直。要旋转任何 TextFrame 的文本,请按照以下步骤操作: - -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 访问第一张幻灯片。 -3. 向幻灯片添加任意形状。 -4. 访问 TextFrame。 -5. 旋转文本。 -6. 将文件保存到磁盘。 - -```c# -// 创建 Presentation 类的实例 -Presentation presentation = new Presentation(); -// 获取第一张幻灯片 -ISlide slide = presentation.Slides[0]; +结果: -// 添加类型为矩形的 AutoShape -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); +![文本片段的字体属性](font_properties_for_text_portions.png) -// 向矩形添加 TextFrame -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; +## **设置文本旋转** -// 访问文本框 -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; +旋转文本可以优化幻灯片布局并强调特定内容。使用 Aspose.Slides for .NET,您可以轻松为形状内的文本设置旋转角度,以匹配设计需求。本节演示如何设置和控制文本旋转,以实现所需的视觉效果。 -// 为文本框创建段落对象 -IParagraph para = txtFrame.Paragraphs[0]; +以下代码示例将形状中文本的方向设置为 `Vertical270`,使文本 **逆时针旋转 90 度**: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// 为段落创建部分对象 -IPortion portion = para.Portions[0]; -portion.Text = "一只快速的棕色狐狸跳过懒狗。一只快速的棕色狐狸跳过懒狗。"; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.TextVerticalType = TextVerticalType.Vertical270; -// 保存演示文稿 -presentation.Save("RotateText_out.pptx", SaveFormat.Pptx); + presentation.Save("text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **设置文本框的自定义旋转角度** -Aspose.Slides for .NET 现在支持设置文本框的自定义旋转角度。在本主题中,我们将看到如何在 Aspose.Slides 中设置 RotationAngle 属性。新的 RotationAngle 属性已添加到 IChartTextBlockFormat 和 ITextFrameFormat 接口中,允许设置文本框的自定义旋转角度。要设置 RotationAngle 属性,请按照以下步骤操作: - -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 在幻灯片上添加一个图表。 -3. 设置 RotationAngle 属性。 -4. 将演示文稿写入 PPTX 文件。 +结果: -在以下示例中,我们设置 RotationAngle 属性。 +![文本旋转](text_rotation.png) -```c# -// 创建 Presentation 类的实例 -Presentation presentation = new Presentation(); +## **为文本框设置自定义旋转** -IChart chart = presentation.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 300); +为 `TextFrame` 设置自定义旋转角度,可让您以精确角度定位文本,从而实现更具创意和灵活性的幻灯片设计。Aspose.Slides for .NET 完全控制文本框的旋转,便于将文本与其他幻灯片元素对齐。本节指导您如何为 `TextFrame` 应用特定旋转角度。 -IChartSeries series = chart.ChartData.Series[0]; - -series.Labels.DefaultDataLabelFormat.ShowValue = true; -series.Labels.DefaultDataLabelFormat.TextFormat.TextBlockFormat.RotationAngle = 65; +下面的代码示例在形状内将文本框顺时针旋转 3 度: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -chart.HasTitle = true; -chart.ChartTitle.AddTextFrameForOverriding("自定义标题").TextFrameFormat.RotationAngle = -30; + autoShape.TextFrame.TextFrameFormat.RotationAngle = 3; -// 保存演示文稿 -presentation.Save("textframe-rotation_out.pptx", SaveFormat.Pptx); + presentation.Save("custom_text_rotation.pptx", SaveFormat.Pptx); +} ``` -## **段落的行间距** -Aspose.Slides 提供了属性 ([SpaceAfter](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spaceafter), [SpaceBefore](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacebefore) 和 [SpaceWithin](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/spacewithin)) 在 [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/) 类下,允许您管理段落的行间距。这三个属性的用法如下: - -* 要以百分比指定段落的行间距,请使用正值。 -* 要以点数指定段落的行间距,请使用负值。 +结果: -例如,您可以通过将 `SpaceBefore` 属性设置为 -16 来为段落应用 16 磅的行间距。 +![自定义文本旋转](custom_text_rotation.png) -以下是如何为特定段落指定行间距: +## **设置段落行间距** -1. 加载一个包含某些文本的 AutoShape 的演示文稿。 -2. 通过其索引获取幻灯片的引用。 -3. 访问 TextFrame。 -4. 访问段落。 -5. 设置段落属性。 -6. 保存演示文稿。 +Aspose.Slides 在 [ParagraphFormat](https://reference.aspose.com/slides/net/aspose.slides/paragraphformat/) 类下提供 `SpaceAfter`、`SpaceBefore` 和 `SpaceWithin` 属性,可用于管理段落的行间距。这些属性的使用方式如下: -以下 C# 代码展示了如何为段落指定行间距: +* 使用正值指定行间距为行高的百分比。 +* 使用负值指定行间距的磅值。 -```c# -// 创建 Presentation 类的实例 -Presentation presentation = new Presentation("Fonts.pptx"); - -// 通过其索引获取幻灯片的引用 -ISlide sld = presentation.Slides[0]; - -// 访问 TextFrame -ITextFrame tf1 = ((IAutoShape)sld.Shapes[0]).TextFrame; +以下代码示例展示如何在段落内部指定行间距: +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// 访问段落 -IParagraph para1 = tf1.Paragraphs[0]; + paragraph.ParagraphFormat.SpaceWithin = 200; -// 设置段落的属性 -para1.ParagraphFormat.SpaceWithin = 80; -para1.ParagraphFormat.SpaceBefore = 40; -para1.ParagraphFormat.SpaceAfter = 40; -// 保存演示文稿 -presentation.Save("LineSpacing_out.pptx", SaveFormat.Pptx); + presentation.Save("line_spacing.pptx", SaveFormat.Pptx); +} ``` -## **设置文本框的 AutofitType 属性** -在本主题中,我们将探索文本框的不同格式属性。本文涵盖如何设置文本框的 AutofitType 属性、文本的锚点以及在演示文稿中旋转文本。Aspose.Slides for .NET 允许开发人员为任何文本框设置 AutofitType 属性。AutofitType 可以设置为 Normal 或 Shape。如果设置为 Normal,则形状将保持不变,而文本将进行调整而不导致形状发生变化;如果 AutofitType 设置为 Shape,则形状将被修改,以便仅包含所需的文本。要设置文本框的 AutofitType 属性,请按照以下步骤操作: - -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 访问第一张幻灯片。 -3. 向幻灯片添加任意形状。 -4. 访问 TextFrame。 -5. 设置 TextFrame 的 AutofitType。 -6. 将文件保存到磁盘。 - -```c# -// 创建 Presentation 类的实例 -Presentation presentation = new Presentation(); - -// 访问第一张幻灯片 -ISlide slide = presentation.Slides[0]; +结果: -// 添加类型为矩形的 AutoShape -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); +![段落内部的行间距](line_spacing.png) -// 向矩形添加 TextFrame -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; +## **为文本框设置 AutoFit 类型** -// 访问文本框 -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; - -// 为文本框创建段落对象 -IParagraph para = txtFrame.Paragraphs[0]; +AutoFitType 属性决定当文本超出容器边界时的行为。Aspose.Slides for .NET 允许您控制文本是收缩以适应、溢出还是自动调整形状大小。本节演示如何为 `TextFrame` 设置 `AutofitType`,以在形状内有效管理文本布局。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// 为段落创建部分对象 -IPortion portion = para.Portions[0]; -portion.Text = "一只快速的棕色狐狸跳过懒狗。一只快速的棕色狐狸跳过懒狗。"; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + autoShape.TextFrame.TextFrameFormat.AutofitType = TextAutofitType.Shape; -// 保存演示文稿 -presentation.Save("formatText_out.pptx", SaveFormat.Pptx); + presentation.Save("autofit_type.pptx", SaveFormat.Pptx); +} ``` -## **设置文本框的锚点** -Aspose.Slides for .NET 允许开发人员设置任何 TextFrame 的锚点。TextAnchorType 指定文本在形状中的位置。TextAnchorType 可以设置为顶部、中间、底部、两端对齐或均匀分布。要设置任何 TextFrame 的锚点,请按照以下步骤操作: - -1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 访问第一张幻灯片。 -3. 向幻灯片添加任意形状。 -4. 访问 TextFrame。 -5. 设置 TextAnchorType 的 TextFrame。 -6. 将文件保存到磁盘。 +## **设置文本框锚点** -```c# -// 创建 Presentation 类的实例 -Presentation presentation = new Presentation(); +锚点定义文本在形状内部的垂直位置。使用 Aspose.Slides for .NET,您可以为 `TextFrame` 设置锚点类型,以将文本对齐到形状的顶部、居中或底部。本节展示如何调整锚点设置,以实现所需的文本垂直对齐。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; -// 获取第一张幻灯片 -ISlide slide = presentation.Slides[0]; + autoShape.TextFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; -// 添加类型为矩形的 AutoShape -IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 350, 350); + presentation.Save("text_anchor.pptx", SaveFormat.Pptx); +} +``` -// 向矩形添加 TextFrame -ashp.AddTextFrame(" "); -ashp.FillFormat.FillType = FillType.NoFill; -// 访问文本框 -ITextFrame txtFrame = ashp.TextFrame; -txtFrame.TextFrameFormat.AnchoringType = TextAnchorType.Bottom; +## **设置文本制表位** -// 为文本框创建段落对象 -IParagraph para = txtFrame.Paragraphs[0]; +制表位帮助通过在内容元素之间添加一致的间距,将文本组织成结构化布局。Aspose.Slides for .NET 支持在文本段落中设置自定义制表位,实现对文本定位的精确控制。本节演示如何配置文本制表位,以获得更好的对齐和格式化效果。 +```cs +using (var presentation = new Presentation("sample.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; -// 为段落创建部分对象 -IPortion portion = para.Portions[0]; -portion.Text = "一只快速的棕色狐狸跳过懒狗。一只快速的棕色狐狸跳过懒狗。"; -portion.PortionFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.ParagraphFormat.DefaultTabSize = 100; + paragraph.ParagraphFormat.Tabs.Add(30, TabAlignment.Left); -// 保存演示文稿 -presentation.Save("AnchorText_out.pptx", SaveFormat.Pptx); + presentation.Save("paragraph_tabs.pptx", SaveFormat.Pptx); +} ``` -## **设置文本制表符** -- EffectiveTabs.ExplicitTabCount (在本例中为 2) 属性等于 Tabs.Count。 -- EffectiveTabs 集合包括所有制表符(来自 Tabs 集合和默认制表符)。 -- EffectiveTabs.ExplicitTabCount (在本例中为 2) 属性等于 Tabs.Count。 -- EffectiveTabs.DefaultTabSize (294) 属性显示了默认制表符之间的距离(在我们的示例中为 3 和 4)。 -- 使用 EffectiveTabs.GetTabByIndex(index) 和 index = 0 将返回第一个显式制表符(Position = 731),index = 1 - 第二个制表符(Position = 1241)。如果尝试使用 index = 2 获取下一个制表符,则它将返回第一个默认制表符(Position = 1470)等等。 -- 使用 EffectiveTabs.GetTabAfterPosition(pos) 用于在某些文本后获取下一个制表符。例如您有文本:“Helloworld!”。为了渲染这样的文本,您需要知道在哪里开始绘制“world!”。首先,您应该计算“Hello”的像素长度,随后调用 GetTabAfterPosition,传入这个值。您将获得下一个制表符的位置来绘制“world!”。 -## **设置校对语言** +结果: + +![段落制表位](paragraph_tabs.png) -Aspose.Slides 提供了 [LanguageId](https://reference.aspose.com/slides/net/aspose.slides/baseportionformat/languageid/) 属性(由 [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) 类暴露),允许您为 PowerPoint 文档设置校对语言。校对语言是检查 PowerPoint 中拼写和语法的语言。 +## **设置校对语言** -以下 C# 代码展示了如何设置 PowerPoint 的校对语言: +Aspose.Slides 在 [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) 类中提供 `LanguageId` 属性,允许您为 PowerPoint 文档设置校对语言。校对语言决定 PowerPoint 中拼写和语法检查使用的语言。 -```c# -using (Presentation pres = new Presentation(pptxFileName)) +以下代码示例展示如何为文本片段设置校对语言: +```cs +using (var presentation = new Presentation("presentation.pptx")) { - AutoShape autoShape = (AutoShape)pres.Slides[0].Shapes[0]; + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; - IParagraph paragraph = autoShape.TextFrame.Paragraphs[0]; + var paragraph = autoShape.TextFrame.Paragraphs[0]; paragraph.Portions.Clear(); - Portion newPortion = new Portion(); + var font = new FontData("SimSun"); + + var textPortion = new Portion(); + textPortion.PortionFormat.ComplexScriptFont = font; + textPortion.PortionFormat.EastAsianFont = font; + textPortion.PortionFormat.LatinFont = font; - IFontData font = new FontData("SimSun"); - IPortionFormat portionFormat = newPortion.PortionFormat; - portionFormat.ComplexScriptFont = font; - portionFormat.EastAsianFont = font; - portionFormat.LatinFont = font; + // 设置校对语言的 Id。 + textPortion.PortionFormat.LanguageId = "zh-CN"; - portionFormat.LanguageId = "zh-CN"; // 设置校对语言的 Id - - newPortion.Text = "1。"; - paragraph.Portions.Add(newPortion); + textPortion.Text = "1。"; + paragraph.Portions.Add(textPortion); + + presentation.Save("proofing_language.pptx", SaveFormat.Pptx); } ``` -## **设置默认语言** -以下 C# 代码展示了如何为整个 PowerPoint 演示文稿设置默认语言: +## **设置默认语言** -```c# -LoadOptions loadOptions = new LoadOptions(); +为文本指定默认语言可确保 PowerPoint 中的拼写检查、断字和文本转语音功能的正确性。Aspose.Slides for .NET 允许您在文本片段或段落级别设置语言。本节展示如何为演示文稿文本定义默认语言。 +```cs +var loadOptions = new LoadOptions(); loadOptions.DefaultTextLanguage = "en-US"; -using (Presentation pres = new Presentation(loadOptions)) + +using (var presentation = new Presentation(loadOptions)) { - // 添加一个带文本的新矩形形状 - IAutoShape shp = pres.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 150, 50); - shp.TextFrame.Text = "新文本"; - - // 检查第一个部分的语言 - Console.WriteLine(shp.TextFrame.Paragraphs[0].Portions[0].PortionFormat.LanguageId); + var slide = presentation.Slides[0]; + + // 添加一个带文本的新矩形形状。 + var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 150, 50); + shape.TextFrame.Text = "Sample text"; + + // 检查第一个文本片段的语言。 + var portion = shape.TextFrame.Paragraphs[0].Portions[0]; + Console.WriteLine(portion.PortionFormat.LanguageId); } ``` + ## **设置默认文本样式** -如果您需要将相同的默认文本格式应用于演示文稿中的所有文本元素,可以使用 [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) 接口中的 `DefaultTextStyle` 属性并设置首选格式。以下代码示例显示如何在新的演示文稿中为所有幻灯片上的文本设置默认粗体字体(14 磅)。 +如果需要一次性为演示文稿中的所有文本元素应用相同的默认文本格式,可使用 [IPresentation](https://reference.aspose.com/slides/net/aspose.slides/ipresentation/) 接口的 `DefaultTextStyle` 属性并定义所需的格式。 -```c# -using (Presentation presentation = new Presentation()) +以下代码示例展示如何在新演示文稿中为所有幻灯片的文本设置 14 磅、粗体的默认字体。 +```cs +using (var presentation = new Presentation()) { - // 获取顶级段落格式。 - IParagraphFormat paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); + // 获取顶层段落格式。 + var paragraphFormat = presentation.DefaultTextStyle.GetLevel(0); if (paragraphFormat != null) { @@ -666,6 +521,51 @@ using (Presentation presentation = new Presentation()) paragraphFormat.DefaultPortionFormat.FontBold = NullableBool.True; } - presentation.Save("DefaultTextStyle.pptx", SaveFormat.Pptx); + presentation.Save("default_text_style.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **提取带全大写效果的文本** + +在 PowerPoint 中,应用 **All Caps** 字体效果会使文本在幻灯片上显示为大写,即使原始输入为小写。当使用 Aspose.Slides 检索此类文本片段时,库会返回原始输入的文本。为处理此情况,请检查 [TextCapType](https://reference.aspose.com/slides/net/aspose.slides/textcaptype/)——如果返回 `All`,只需将返回的字符串转换为大写,以使输出与幻灯片上显示的内容一致。 + +假设在 sample2.pptx 文件的第一张幻灯片上有如下文本框: + +![全大写效果](all_caps_effect.png) + +下面的代码示例展示如何提取带 **All Caps** 效果的文本: +```cs +using (var presentation = new Presentation("sample2.pptx")) +{ + var autoShape = (IAutoShape)presentation.Slides[0].Shapes[0]; + var textPortion = autoShape.TextFrame.Paragraphs[0].Portions[0]; + + Console.WriteLine($"Original text: {textPortion.Text}"); + + var textFormat = textPortion.PortionFormat.GetEffective(); + if (textFormat.TextCapType == TextCapType.All) + { + var text = textPortion.Text.ToUpper(); + Console.WriteLine($"All-Caps effect: {text}"); + } +} +``` + + +输出: +```text +Original text: Hello, Aspose! +All-Caps effect: HELLO, ASPOSE! +``` + + +## **常见问题** + +**如何修改幻灯片中表格的文本?** + +要修改幻灯片中表格的文本,需要使用 [ITable](https://reference.aspose.com/slides/net/aspose.slides/itable/) 对象。您可以遍历表格中的所有单元格,通过访问每个单元格的 `TextFrame` 和 `ParagraphFormat` 属性来更改其中的文本。 + +**如何为 PowerPoint 幻灯片中的文本应用渐变色?** + +要为文本应用渐变色,请在 [PortionFormat](https://reference.aspose.com/slides/net/aspose.slides/portionformat/) 中使用 `FillFormat` 属性。将 `FillFormat` 设置为 `Gradient`,并定义渐变的起止颜色以及方向、透明度等其他属性,以在文本上创建渐变效果。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-text/wordart/_index.md b/zh/net/developer-guide/presentation-content/manage-text/wordart/_index.md index cb67e27d92..8f1c0aebfc 100644 --- a/zh/net/developer-guide/presentation-content/manage-text/wordart/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-text/wordart/_index.md @@ -1,372 +1,257 @@ --- -title: WordArt +title: 在 C# 中创建和应用文字艺术效果 +linktitle: 文字艺术 type: docs weight: 110 url: /zh/net/wordart/ -keywords: "WordArt, Word Art, 创建 WordArt, WordArt 模板, WordArt 效果, 阴影效果, 显示效果, 发光效果, WordArt 变换, 3D 效果, 外部阴影效果, 内部阴影效果, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 Aspose.Slides for .NET 中添加、操作和管理 PowerPoint 演示文稿中的 WordArt 和效果" +keywords: +- 文字艺术 +- 创建文字艺术 +- 文字艺术模板 +- 文字艺术效果 +- 阴影效果 +- 显示效果 +- 辉光效果 +- 文字艺术变换 +- 3D 效果 +- 外部阴影效果 +- 内部阴影效果 +- C# +- Csharp +- .NET +- Aspose.Slides +description: "了解如何在 Aspose.Slides for .NET 中创建和定制文字艺术效果。本分步指南帮助开发者使用 C# 在演示文稿中添加时尚、专业的文本。" --- -## **关于 WordArt?** -WordArt 或 Word Art 是一项功能,允许您对文本应用效果,使其更突出。例如,使用 WordArt,您可以勾勒出文本或用颜色(或渐变)填充它,为其添加 3D 效果等。您还可以扭曲、弯曲和拉伸文本形状。 +## **概述** -{{% alert color="primary" %}} - -WordArt 允许您将文本视为图形对象。WordArt 由对文本进行的效果或特殊修改组成,以使其更具吸引力或更醒目。 - -{{% /alert %}} - -**Microsoft PowerPoint 中的 WordArt** - -要在 Microsoft PowerPoint 中使用 WordArt,您必须选择预定义的 WordArt 模板之一。WordArt 模板是一组应用于文本或其形状的效果。 - -**Aspose.Slides 中的 WordArt** - -在 Aspose.Slides for .NET 20.10 中,我们实现了对 WordArt 的支持,并在随后的 Aspose.Slides for .NET 版本中对该功能进行了改进。 +WordArt 效果允许您在 PowerPoint 演示文稿中添加视觉上吸引人的样式化文本。借助 Aspose.Slides for .NET,开发者可以以编程方式创建、定制和管理 WordArt,就像在 Microsoft PowerPoint 中一样——无需安装 Office。本文概述了在 .NET 中使用 WordArt,包括如何应用文本变换、填充样式、轮廓、阴影以及其他格式设置选项,以使您的演示内容更具表现力和吸引力。WordArt 使您能够将文本视为图形对象。它由对文本应用的效果或特殊修改组成,使文本更具吸引力或更显眼。 -使用 Aspose.Slides for .NET,您可以轻松在 C# 中创建自己的 WordArt 模板(一个效果或效果组合)并应用于文本。 +## **创建简单的 WordArt 模板并将其应用于文本** -## 创建简单的 WordArt 模板并将其应用于文本 +在本节中,我们将探讨如何使用 Aspose.Slides for .NET 创建一个简单的 WordArt 模板并将其应用于文本。WordArt 提供了一种简便的方法,可通过引人注目的视觉效果和样式增强文本外观。通过学习创建和使用 WordArt 的基本步骤,您可以轻松将这些技术适配到任何项目,使演示更加生动且令人难忘。 -**使用 Aspose.Slides** - -首先,我们使用以下 C# 代码创建简单文本: - -``` csharp -using (Presentation pres = new Presentation()) +首先,使用以下 C# 代码创建简单文本: +```cs +using (Presentation presentation = new Presentation()) { - ISlide slide = pres.Slides[0]; - IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 200, 200, 400, 200); + ISlide slide = presentation.Slides[0]; + + IAutoShape autoShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 20, 20, 400, 200); ITextFrame textFrame = autoShape.TextFrame; - Portion portion = (Portion)textFrame.Paragraphs[0].Portions[0]; + IPortion portion = textFrame.Paragraphs[0].Portions[0]; portion.Text = "Aspose.Slides"; } ``` -现在,我们通过以下代码将文本的字体高度设置为更大的值,以使效果更明显: - -``` csharp -FontData fontData = new FontData("Arial Black"); -portion.PortionFormat.LatinFont = fontData; -portion.PortionFormat.FontHeight = 36; -``` - -**使用 Microsoft PowerPoint** -在 Microsoft PowerPoint 中转到 WordArt 效果菜单: -![todo:image_alt_text](image-20200930113926-1.png) - -在右侧菜单中,您可以选择预定义的 WordArt 效果。在左侧菜单中,您可以指定新的 WordArt 设置。 - -以下是一些可用的参数或选项: - -![todo:image_alt_text](image-20200930114015-3.png) - -**使用 Aspose.Slides** - -在这里,我们将 SmallGrid 图案颜色应用于文本,并使用以下代码添加 1 像素宽的黑色文本边框: - -``` csharp -portion.PortionFormat.FillFormat.FillType = FillType.Pattern; -portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; -portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; -portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; - -portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; -portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +现在,使用以下代码将文本的字体高度设置为更大的值,以使效果更明显: +```cs + portion.PortionFormat.LatinFont = new FontData("Arial Black"); + portion.PortionFormat.FontHeight = 36; ``` -结果文本: -![todo:image_alt_text](image-20200930114108-4.png) +在这里,我们使用以下代码将 SmallGrid 图案填充应用于文本,并添加宽度为 1 的黑色文本边框: +```cs + portion.PortionFormat.FillFormat.FillType = FillType.Pattern; + portion.PortionFormat.FillFormat.PatternFormat.ForeColor.Color = Color.DarkOrange; + portion.PortionFormat.FillFormat.PatternFormat.BackColor.Color = Color.White; + portion.PortionFormat.FillFormat.PatternFormat.PatternStyle = PatternStyle.SmallGrid; + + portion.PortionFormat.LineFormat.FillFormat.FillType = FillType.Solid; + portion.PortionFormat.LineFormat.FillFormat.SolidFillColor.Color = Color.Black; +``` -## 应用其他 WordArt 效果 -**使用 Microsoft PowerPoint** +生成的文本: -从程序界面,您可以将这些效果应用于文本、文本块、形状或类似元素: +![简单的 WordArt 模板](WordArt_template.png) -![todo:image_alt_text](image-20200930114129-5.png) +## **应用其他 WordArt 效果** -例如,阴影、反射和发光效果可以应用于文本;3D 格式和 3D 旋转效果可以应用于文本块;软边缘属性可以应用于形状对象(在未设置 3D 格式属性时,仍然有效)。 +除了基本的变换之外,Aspose.Slides for .NET 还允许您应用各种高级 WordArt 效果,以增强文本的外观。这些包括轮廓、填充、阴影、反射和辉光效果。通过组合这些功能,您可以创建在演示中脱颖而出的抢眼文本样式。本节演示如何使用简洁的代码示例以编程方式应用这些效果。 -### 应用阴影效果 +### **应用外部阴影效果** -在这里,我们打算仅设置与文本相关的属性。我们使用以下 C# 代码将阴影效果应用于文本: +外部阴影效果通过在文本轮廓后添加阴影,使文本更突出,营造出深度感并与背景分离。Aspose.Slides for .NET 允许您轻松地在 WordArt 文本上应用和自定义外部阴影。在本节中,您将学习如何设置阴影颜色、方向、距离、模糊半径等,以实现所需的视觉冲击。 -``` csharp -portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 65; -portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4.73; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; -portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 2; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 30; -portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; -portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); +以下 C# 代码片段对上述创建的文本应用阴影效果。 +```cs + portion.PortionFormat.EffectFormat.EnableOuterShadowEffect(); + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.Color = Color.Black; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ScaleVertical = 100; + portion.PortionFormat.EffectFormat.OuterShadowEffect.BlurRadius = 4; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Direction = 230; + portion.PortionFormat.EffectFormat.OuterShadowEffect.Distance = 30; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewHorizontal = 20; + portion.PortionFormat.EffectFormat.OuterShadowEffect.SkewVertical = 0; + portion.PortionFormat.EffectFormat.OuterShadowEffect.ShadowColor.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.32f); ``` -Aspose.Slides API 支持三种类型的阴影:OuterShadow、InnerShadow 和 PresetShadow。 - - 使用 PresetShadow,您可以为文本应用阴影(使用预设值)。 -**使用 Microsoft PowerPoint** +生成的文本: -在 PowerPoint 中,您可以使用一种类型的阴影。以下是一个示例: +![外部阴影效果](outer_shadow_effect.png) -![todo:image_alt_text](image-20200930114225-6.png) - -**使用 Aspose.Slides** - -Aspose.Slides 实际上允许您同时应用两种类型的阴影:InnerShadow 和 PresetShadow。 - -**注意:** - -- 当同时使用 OuterShadow 和 PresetShadow 时,仅应用 OuterShadow 效果。 -- 如果同时使用 OuterShadow 和 InnerShadow,则结果或应用效果取决于 PowerPoint 版本。例如,在 PowerPoint 2013 中,效果会加倍。但在 PowerPoint 2007 中,应用的是 OuterShadow 效果。 +{{% alert color="primary" %}} +- 当同时使用 OuterShadow 和 PresetShadow 时,仅应用 OuterShadow 效果。 +- 如果同时使用 OuterShadow 和 InnerShadow,最终效果取决于 PowerPoint 版本。例如,在 PowerPoint 2013 中,效果会叠加两次,而在 PowerPoint 2007 中,仅应用 OuterShadow 效果。 +{{% /alert %}} + +### **应用反射效果** + +在本节中,我们将探讨如何使用 Aspose.Slides for .NET 在幻灯片中应用反射效果。反射效果可以为文本或形状赋予时尚、现代的外观,帮助关键元素突出并为演示增添深度。通过了解这些效果的应用和自定义过程,您可以轻松将其调整以符合设计需求和品牌要求。 + +使用以下 C# 示例代码为文本添加反射效果: +```cs + portion.PortionFormat.EffectFormat.EnableReflectionEffect(); + portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; + portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; + portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; + portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; + portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; + portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; +``` -### 将显示应用于文本 -我们通过以下 C# 示例代码为文本添加显示: +生成的文本: -``` csharp -portion.PortionFormat.EffectFormat.EnableReflectionEffect(); -portion.PortionFormat.EffectFormat.ReflectionEffect.BlurRadius = 0.5; -portion.PortionFormat.EffectFormat.ReflectionEffect.Distance = 4.72; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartPosAlpha = 0f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndPosAlpha = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.Direction = 90; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleHorizontal = 100; -portion.PortionFormat.EffectFormat.ReflectionEffect.ScaleVertical = -100; -portion.PortionFormat.EffectFormat.ReflectionEffect.StartReflectionOpacity = 60f; -portion.PortionFormat.EffectFormat.ReflectionEffect.EndReflectionOpacity = 0.9f; -portion.PortionFormat.EffectFormat.ReflectionEffect.RectangleAlign = RectangleAlignment.BottomLeft; -``` +![反射效果](reflection_effect.png) -### 为文本应用发光效果 +### **应用辉光效果** -我们使用以下代码将发光效果应用于文本,使其闪亮或突出: +在本节中,我们将探讨如何使用 Aspose.Slides for .NET 为文本应用辉光效果。辉光效果可以通过发光的轮廓使文本突出,提升幻灯片的视觉吸引力。通过调整颜色和强度等设置,您可以轻松将辉光效果定制为符合设计和品牌需求,确保演示中的关键点吸引观众注意。 -``` csharp -portion.PortionFormat.EffectFormat.EnableGlowEffect(); -portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; -portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); -portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; +使用以下代码为文本应用辉光效果,使其发光或突出: +```cs + portion.PortionFormat.EffectFormat.EnableGlowEffect(); + portion.PortionFormat.EffectFormat.GlowEffect.Color.R = 255; + portion.PortionFormat.EffectFormat.GlowEffect.Color.ColorTransform.Add(ColorTransformOperation.SetAlpha, 0.54f); + portion.PortionFormat.EffectFormat.GlowEffect.Radius = 7; ``` -操作的结果: -![todo:image_alt_text](image-20200930114621-7.png) +生成的文本: -{{% alert color="primary" %}} - -您可以更改阴影、显示和发光的参数。效果的属性会单独设置在文本的每个部分上。 +![辉光效果](glow_effect.png) -{{% /alert %}} +### **应用 WordArt 变换** -### 在 WordArt 中使用变换 +在本节中,我们将探讨如何使用 Aspose.Slides for .NET 在 WordArt 中使用变换。变换允许您弯曲、拉伸或扭曲文本,创建独特且视觉冲击强烈的效果。通过掌握这些技术,您可以轻松将文本形状和样式调整为符合品牌或创意愿景,确保演示既引人入胜又精致。 -我们通过以下代码使用文本块的 Transform 属性: -``` csharp -textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; +使用以下代码通过 `Transform` 属性(适用于整段文本)进行变换: +```cs + textFrame.TextFrameFormat.Transform = TextShapeType.ArchUpPour; ``` -结果: - -![todo:image_alt_text](image-20200930114712-8.png) -{{% alert color="primary" %}} +生成的文本: -Microsoft PowerPoint 和 Aspose.Slides for .NET 都提供了一定数量的预定义变换类型。 +![WordArt 变换](transform_effect.png) +{{% alert color="primary" %}} +Aspose.Slides for .NET 提供了一组预定义的[转换类型](https://reference.aspose.com/slides/net/aspose.slides/textshapetype/)。 {{% /alert %}} -**使用 PowerPoint** - -要访问预定义的变换类型,请转到: **格式** -> **文本效果** -> **变换** - -**使用 Aspose.Slides** +### **对形状和文本应用 3D 效果** -要选择变换类型,请使用 TextShapeType 枚举。 +创建逼真、引人注目的视觉效果可以显著提升演示的影响力。在本节中,我们将探讨如何使用 Aspose.Slides for .NET 为形状应用三维(3D)效果。通过操控深度、角度和光照等参数,您可以产生令人印象深刻的 3D 变换,立即抓住观众的注意力。无论是微妙的高光还是戏剧性的幻觉,这些功能都提供了灵活的方式来提升设计,使想法以更具吸引力的方式呈现。 -### 为文本和形状应用 3D 效果 +使用以下示例代码为形状设置 3D 效果: +```cs + autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelBottom.Height = 10.5; + autoShape.ThreeDFormat.BevelBottom.Width = 10.5; -我们使用以下示例代码为文本形状设置 3D 效果: + autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + autoShape.ThreeDFormat.BevelTop.Height = 12.5; + autoShape.ThreeDFormat.BevelTop.Width = 11; -``` csharp -autoShape.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelBottom.Height = 10.5; -autoShape.ThreeDFormat.BevelBottom.Width = 10.5; + autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + autoShape.ThreeDFormat.ExtrusionHeight = 6; -autoShape.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -autoShape.ThreeDFormat.BevelTop.Height = 12.5; -autoShape.ThreeDFormat.BevelTop.Width = 11; + autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; + autoShape.ThreeDFormat.ContourWidth = 1.5; -autoShape.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -autoShape.ThreeDFormat.ExtrusionHeight = 6; + autoShape.ThreeDFormat.Depth = 3; -autoShape.ThreeDFormat.ContourColor.Color = Color.DarkRed; -autoShape.ThreeDFormat.ContourWidth = 1.5; + autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; -autoShape.ThreeDFormat.Depth = 3; + autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -autoShape.ThreeDFormat.Material = MaterialPresetType.Plastic; - -autoShape.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -autoShape.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -autoShape.ThreeDFormat.LightRig.SetRotation(0, 0, 40); - -autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + autoShape.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -结果文本及其形状: -![todo:image_alt_text](image-20200930114816-9.png) +生成的形状: -我们使用以下 C# 代码为文本应用 3D 效果: +![形状 3D 效果](shape_3D_effect.png) -``` csharp -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; +使用以下示例代码为文本设置 3D 效果: +```cs + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Height = 3.5; + textFrame.TextFrameFormat.ThreeDFormat.BevelBottom.Width = 3.5; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; -textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.BevelType = BevelPresetType.Circle; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Height = 4; + textFrame.TextFrameFormat.ThreeDFormat.BevelTop.Width = 4; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; -textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionColor.Color = Color.Orange; + textFrame.TextFrameFormat.ThreeDFormat.ExtrusionHeight= 6; -textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; -textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; + textFrame.TextFrameFormat.ThreeDFormat.ContourColor.Color = Color.DarkRed; + textFrame.TextFrameFormat.ThreeDFormat.ContourWidth = 1.5; -textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; + textFrame.TextFrameFormat.ThreeDFormat.Depth= 3; -textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; + textFrame.TextFrameFormat.ThreeDFormat.Material = MaterialPresetType.Plastic; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; -textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); + textFrame.TextFrameFormat.ThreeDFormat.LightRig.Direction = LightingDirection.Top; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.LightType = LightRigPresetType.Balanced; + textFrame.TextFrameFormat.ThreeDFormat.LightRig.SetRotation(0, 0, 40); -textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; + textFrame.TextFrameFormat.ThreeDFormat.Camera.CameraType = CameraPresetType.PerspectiveContrastingRightFacing; ``` -操作的结果: -![todo:image_alt_text](image-20200930114905-10.png) - -{{% alert color="primary" %}} +生成的文本: -将 3D 效果应用于文本或其形状以及效果之间的相互作用基于某些规则。 +![文本 3D 效果](text_3D_effect.png) -考虑一个文本的场景和包含该文本的形状。3D 效果包含 3D 对象表示和放置对象的场景。 - -- 当为形状和文本都设置场景时,形状场景具有更高的优先级——文本场景将被忽略。 -- 当形状没有自己的场景但有 3D 表示时,将使用文本场景。 -- 否则——当形状原本没有 3D 效果时——形状是平面的,而 3D 效果仅应用于文本。 +{{% alert color="primary" %}} +对文本或其所在形状应用 3D 效果—以及这些效果之间的交互—受特定规则约束。考虑一个同时包含文本及其承载形状的场景。3D 效果包括对象的 3D 表现以及其所在的场景。 -这些描述与 [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/lightrig) 和 [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/properties/camera) 属性相关。 +- 如果形状和文本都设置了场景,则形状的场景优先,文本的场景被忽略。 +- 如果形状没有自己的场景但拥有 3D 表现,则使用文本的场景。 +- 如果形状根本没有 3D 效果,则视为平面,仅对文本应用 3D 效果。 +这些行为与 [ThreeDFormat.LightRig](https://reference.aspose.com/slides/net/aspose.slides/threedformat/lightrig/) 和 [ThreeDFormat.Camera](https://reference.aspose.com/slides/net/aspose.slides/threedformat/camera/) 属性相关。 {{% /alert %}} -## **将外部阴影效果应用于文本** -Aspose.Slides for .NET 提供 [**IOuterShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/ioutershadow) 和 [**IInnerShadow**](https://reference.aspose.com/slides/net/aspose.slides.effects/iinnershadow) 类,允许您对由 TextFrame 支持的文本应用阴影效果。遵循以下步骤: - -1. 创建一个 [Presentation](https://reference.aspose.com/slides/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 设置为黑色。 -12. 将演示文稿写为 PPTX 文件。 - -以下 C# 示例代码展示了如何对文本应用外部阴影效果: - -```c# -using (Presentation pres = new Presentation()) -{ - - // 获取幻灯片的引用 - ISlide sld = pres.Slides[0]; - - // 添加一个矩形类型的 AutoShape - IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50); - - // 向矩形添加 TextFrame - ashp.AddTextFrame("Aspose TextBox"); - - // 禁用形状填充以获取文本阴影 - ashp.FillFormat.FillType = FillType.NoFill; +## **常见问题** - // 添加外部阴影并设置所有必要参数 - ashp.EffectFormat.EnableOuterShadowEffect(); - IOuterShadow shadow = ashp.EffectFormat.OuterShadowEffect; - shadow.BlurRadius = 4.0; - shadow.Direction = 45; - shadow.Distance = 3; - shadow.RectangleAlign = RectangleAlignment.TopLeft; - shadow.ShadowColor.PresetColor = PresetColor.Black; +**我可以将 WordArt 效果用于不同的字体或脚本(例如阿拉伯语、中文)吗?** - //将演示文稿写入磁盘 - pres.Save("pres_out.pptx", SaveFormat.Pptx); -} -``` +可以。Aspose.Slides for .NET 支持 Unicode,并兼容所有主流字体和脚本。阴影、填充和轮廓等 WordArt 效果可在任何语言下使用,尽管字体的可用性和渲染可能取决于系统安装的字体。 +**我可以将 WordArt 效果应用于幻灯片母版元素吗?** -## **为形状应用内部阴影效果** -请遵循以下步骤: +可以。您可以对母版幻灯片上的形状(包括标题占位符、页脚或背景文本)应用 WordArt 效果。对母版布局的更改将会反映到所有关联的幻灯片中。 -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 -2. 获取幻灯片的引用。 -3. 添加一个矩形类型的 AutoShape。 -4. 启用 InnerShadowEffect。 -5. 设置所有必要的参数。 -6. 将 ColorType 设置为 Scheme。 -7. 设置 Scheme 颜色。 -8. 将演示文稿写为 [PPTX](https://docs.fileformat.com/presentation/pptx/) 文件。 +**WordArt 效果会影响演示文件大小吗?** -以下示例代码(基于上述步骤)展示了如何在 C# 中添加两个形状之间的连接器: +会有轻微影响。阴影、辉光和渐变填充等 WordArt 效果会因添加的格式元数据略微增大文件大小,但差异通常可以忽略不计。 -```c# -using(Presentation presentation = new Presentation()) -{ - // 获取幻灯片的引用 - ISlide slide = presentation.Slides[0]; +**我可以在不保存演示文稿的情况下预览 WordArt 效果的结果吗?** - // 添加一个矩形类型的 AutoShape - IAutoShape ashp = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 400, 300); - ashp.FillFormat.FillType = FillType.NoFill; - - // 向矩形添加 TextFrame - ashp.AddTextFrame("Aspose TextBox"); - IPortion port = ashp.TextFrame.Paragraphs[0].Portions[0]; - IPortionFormat pf = port.PortionFormat; - pf.FontHeight = 50; - - // 启用 InnerShadowEffect - IEffectFormat ef = pf.EffectFormat; - ef.EnableInnerShadowEffect(); - - // 设置所有必要参数 - ef.InnerShadowEffect.BlurRadius = 8.0; - ef.InnerShadowEffect.Direction = 90.0F; - ef.InnerShadowEffect.Distance = 6.0; - ef.InnerShadowEffect.ShadowColor.B = 189; - - // 将 ColorType 设置为 Scheme - ef.InnerShadowEffect.ShadowColor.ColorType = ColorType.Scheme; - - // 设置 Scheme 颜色 - ef.InnerShadowEffect.ShadowColor.SchemeColor = SchemeColor.Accent1; - - // 保存演示文稿 - presentation.Save("WordArt_out.pptx", SaveFormat.Pptx); -} -``` \ No newline at end of file +可以。您可以使用 [IShape](https://reference.aspose.com/slides/net/aspose.slides/ishape/) 或 [ISlide](https://reference.aspose.com/slides/net/aspose.slides/islide/) 接口的 `GetImage` 方法将包含 WordArt 的幻灯片渲染为图像(如 PNG、JPEG),从而在内存或屏幕上预览效果,然后再决定是否保存或导出完整的演示文稿。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/manage-zoom/_index.md b/zh/net/developer-guide/presentation-content/manage-zoom/_index.md index 6f99a7b3d9..24a167f3bc 100644 --- a/zh/net/developer-guide/presentation-content/manage-zoom/_index.md +++ b/zh/net/developer-guide/presentation-content/manage-zoom/_index.md @@ -3,49 +3,48 @@ title: 管理缩放 type: docs weight: 60 url: /zh/net/manage-zoom/ -keywords: +keywords: - 缩放 - 缩放帧 - 添加缩放 -- 格式缩放帧 -- 概要缩放 -- PowerPoint演示文稿 +- 格式化缩放帧 +- 汇总缩放 +- PowerPoint 演示文稿 - C# - Csharp - Aspose.Slides for .NET -description: "在C#或.NET中向PowerPoint演示文稿添加缩放或缩放帧" +description: "在 C# 或 .NET 中向 PowerPoint 演示文稿添加缩放或缩放帧" --- ## **概述** -PowerPoint中的缩放功能允许你跳转到特定的幻灯片、部分和演示文稿的片段。当你在进行演示时,这种快速导航的能力可能非常有用。 +PowerPoint 中的缩放功能可让您在演示文稿的特定幻灯片、章节和部分之间跳转。演示时,这种快速导航的能力可能非常有用。 ![overview_image](overview.png) -* 要在单个幻灯片上总结整个演示文稿,请使用[概要缩放](#Summary-Zoom)。 -* 要仅显示选定的幻灯片,请使用[幻灯片缩放](#Slide-Zoom)。 -* 要仅显示单个部分,请使用[部分缩放](#Section-Zoom)。 +* 若要在单张幻灯片上概述整个演示文稿,请使用[汇总缩放](#Summary-Zoom)。 +* 若仅显示选定的幻灯片,请使用[幻灯片缩放](#Slide-Zoom)。 +* 若仅显示单个章节,请使用[章节缩放](#Section-Zoom)。 ## **幻灯片缩放** -幻灯片缩放可以使你的演示更加动态,允许你在幻灯片之间以你选择的任何顺序自由导航,而不会打断你的演示流程。幻灯片缩放非常适合没有很多部分的短演示,但你仍然可以在不同的演示场景中使用它们。 +幻灯片缩放可让您的演示更具动态性,使您能够自由选择任意顺序在幻灯片之间切换,而不会中断演示流程。幻灯片缩放非常适合章节不多的短篇演示,但也可在其他演示场景中使用。 -幻灯片缩放帮助你深入多个信息片段,同时让你觉得自己在单个画布上。 +幻灯片缩放帮助您在单一画布上深入多条信息。 ![overview_image](slidezoomsel.png) -对于幻灯片缩放对象,Aspose.Slides提供了[ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype)枚举、[IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe)接口,以及一些方法在[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection)接口下。 +对于幻灯片缩放对象,Aspose.Slides 提供了[ZoomImageType](https://reference.aspose.com/slides/net/aspose.slides/zoomimagetype)枚举、[IZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/izoomframe)接口以及[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection)接口下的若干方法。 ### **创建缩放帧** -你可以通过以下方式向幻灯片添加缩放帧: +您可以按以下方式在幻灯片上添加缩放帧: -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 创建新幻灯片,以便将其链接到缩放帧。 -3. 为创建的幻灯片添加标识文本和背景。 -4. 将缩放帧(包含对创建的幻灯片的引用)添加到第一个幻灯片。 -5. 将修改后的演示文稿写入PPTX文件。 - -以下C#代码向幻灯片创建缩放帧: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 创建您希望链接到缩放帧的新幻灯片。 +3. 为创建的幻灯片添加标识文本和背景。 +4. 将缩放帧(包含对已创建幻灯片的引用)添加到第一张幻灯片。 +5. 将修改后的演示文稿保存为 PPTX 文件。 +以下 C# 代码演示如何在幻灯片上创建缩放帧: ``` csharp using (Presentation pres = new Presentation()) { @@ -60,7 +59,7 @@ using (Presentation pres = new Presentation()) // 为第二张幻灯片创建文本框 IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "第二幻灯片"; + autoshape.TextFrame.Text = "Second Slide"; // 为第三张幻灯片创建背景 slide3.Background.Type = BackgroundType.OwnBackground; @@ -69,9 +68,9 @@ using (Presentation pres = new Presentation()) // 为第三张幻灯片创建文本框 autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "第三幻灯片"; + autoshape.TextFrame.Text = "Trird Slide"; - //添加ZoomFrame对象 + //添加 ZoomFrame 对象 pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); @@ -79,17 +78,18 @@ using (Presentation pres = new Presentation()) pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` + ### **使用自定义图像创建缩放帧** -使用Aspose.Slides for .NET,你可以通过以下方式创建具有不同幻灯片预览图像的缩放帧: -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 创建你打算将缩放帧链接到的新幻灯片。 -3. 向幻灯片添加标识文本和背景。 -4. 通过将图像添加到与[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)对象关联的图像集合中,创建[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)对象,用于填充帧。 -5. 将缩放帧(包含对创建的幻灯片的引用)添加到第一个幻灯片。 -6. 将修改后的演示文稿写入PPTX文件。 +使用 Aspose.Slides for .NET,您可以按以下方式创建带有不同幻灯片预览图像的缩放帧: -以下C#代码显示如何创建具有不同图像的缩放帧: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 创建您希望链接到缩放帧的新幻灯片。 +3. 为该幻灯片添加标识文本和背景。 +4. 通过向与 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 对象关联的 Images 集合中添加图像,创建一个 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 对象,以填充帧。 +5. 将缩放帧(包含对已创建幻灯片的引用)添加到第一张幻灯片。 +6. 将修改后的演示文稿保存为 PPTX 文件。 +以下 C# 代码演示如何使用不同图像创建缩放帧: ``` csharp using (Presentation pres = new Presentation()) { @@ -103,37 +103,37 @@ using (Presentation pres = new Presentation()) // 为第三张幻灯片创建文本框 IAutoShape autoshape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "第二幻灯片"; + autoshape.TextFrame.Text = "Second Slide"; // 为缩放对象创建新图像 IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - //添加ZoomFrame对象 + // 添加 ZoomFrame 对象 pres.Slides[0].Shapes.AddZoomFrame(20, 20, 300, 200, slide, ppImage); // 保存演示文稿 pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **格式化缩放帧** -在前面的部分中,我们向你展示了如何创建简单的缩放帧。要创建更复杂的缩放帧,你需要修改简单帧的格式。你可以对缩放帧应用多种格式选项。 -你可以通过以下方式控制幻灯片上缩放帧的格式: +### **格式化缩放帧** +在前面的章节中,我们展示了如何创建简单的缩放帧。要创建更复杂的缩放帧,您需要修改简单帧的格式。缩放帧可以应用多种格式化选项。 -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 创建新幻灯片以链接到你打算链接的缩放帧。 -3. 为创建的幻灯片添加一些标识文本和背景。 -4. 将缩放帧(包含对创建的幻灯片的引用)添加到第一个幻灯片。 -5. 通过将图像添加到与[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)对象关联的图像集合中,创建[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)对象,用于填充帧。 -6. 为第一个缩放帧对象设置自定义图像。 -7. 更改第二个缩放帧对象的线条格式。 -8. 从第二个缩放帧对象的图像中删除背景。 -9. 将修改后的演示文稿写入PPTX文件。 +您可以按以下方式控制幻灯片上缩放帧的格式: -以下C#代码展示了如何更改幻灯片上缩放帧的格式: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 创建您希望链接到缩放帧的新幻灯片。 +3. 为创建的幻灯片添加一些标识文本和背景。 +4. 将缩放帧(包含对已创建幻灯片的引用)添加到第一张幻灯片。 +5. 通过向与 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 对象关联的 Images 集合中添加图像,创建一个 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 对象,以填充帧。 +6. 为第一个缩放帧对象设置自定义图像。 +7. 更改第二个缩放帧对象的线条格式。 +8. 移除第二个缩放帧对象图像的背景。 +9. 将修改后的演示文稿保存为 PPTX 文件。 +以下 C# 代码演示如何在幻灯片上更改缩放帧的格式: ``` csharp using (Presentation pres = new Presentation()) { @@ -148,7 +148,7 @@ using (Presentation pres = new Presentation()) // 为第二张幻灯片创建文本框 IAutoShape autoshape = slide2.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "第二幻灯片"; + autoshape.TextFrame.Text = "Second Slide"; // 为第三张幻灯片创建背景 slide3.Background.Type = BackgroundType.OwnBackground; @@ -157,9 +157,9 @@ using (Presentation pres = new Presentation()) // 为第三张幻灯片创建文本框 autoshape = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 200, 500, 200); - autoshape.TextFrame.Text = "第三幻灯片"; + autoshape.TextFrame.Text = "Trird Slide"; - //添加ZoomFrame对象 + //添加 ZoomFrame 对象 IZoomFrame zoomFrame1 = pres.Slides[0].Shapes.AddZoomFrame(20, 20, 250, 200, slide2); IZoomFrame zoomFrame2 = pres.Slides[0].Shapes.AddZoomFrame(200, 250, 250, 200, slide3); @@ -168,16 +168,16 @@ using (Presentation pres = new Presentation()) IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // 设置缩放帧对象的自定义图像 + // 为 zoomFrame1 对象设置自定义图像 zoomFrame1.ZoomImage = ppImage; - // 为zoomFrame2对象设置缩放帧格式 + // 为 zoomFrame2 对象设置缩放帧格式 zoomFrame2.LineFormat.Width = 5; zoomFrame2.LineFormat.FillFormat.FillType = FillType.Solid; zoomFrame2.LineFormat.FillFormat.SolidFillColor.Color = Color.HotPink; zoomFrame2.LineFormat.DashStyle = LineDashStyle.DashDot; - // 设置不显示zoomFrame2对象的背景 + // 设置 zoomFrame2 对象不显示背景 zoomFrame2.ShowBackground = false; // 保存演示文稿 @@ -185,27 +185,27 @@ using (Presentation pres = new Presentation()) } ``` -## **部分缩放** -部分缩放是指向你演示文稿中的某个部分的链接。你可以使用部分缩放返回到你真正想强调的部分。或者,你也可以使用它们来突出显示你演示文稿中某些部分的联系。 +## **章节缩放** -![overview_image](seczoomsel.png) +章节缩放是指向演示文稿中某个章节的链接。您可以使用章节缩放返回您想要强调的章节,或用于突出演示文稿中各部分之间的关联。 -对于部分缩放对象,Aspose.Slides提供了[ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe)接口,以及一些方法在[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection)接口下。 +![overview_image](seczoomsel.png) -### **创建部分缩放帧** +对于章节缩放对象,Aspose.Slides 提供了[ISectionZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isectionzoomframe)接口以及[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection)接口下的若干方法。 -你可以通过以下方式向幻灯片添加部分缩放帧: +### **创建章节缩放帧** -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 创建一张新幻灯片。 -3. 向创建的幻灯片添加标识背景。 -4. 创建你打算链接到的部分。 -5. 将部分缩放帧(包含对创建的部分的引用)添加到第一个幻灯片。 -6. 将修改后的演示文稿写入PPTX文件。 +您可以按以下方式将章节缩放帧添加到幻灯片: -以下C#代码展示了如何在幻灯片上创建缩放帧: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 创建一张新幻灯片。 +3. 为创建的幻灯片添加标识背景。 +4. 创建您希望链接到缩放帧的新章节。 +5. 将章节缩放帧(包含对已创建章节的引用)添加到第一张幻灯片。 +6. 将修改后的演示文稿保存为 PPTX 文件。 +以下 C# 代码演示如何在幻灯片上创建缩放帧: ``` csharp using (Presentation pres = new Presentation()) { @@ -215,92 +215,92 @@ using (Presentation pres = new Presentation()) slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - pres.Sections.AddSection("部分 1", slide); + // 添加一个新章节到演示文稿 + pres.Sections.AddSection("Section 1", slide); - // 添加SectionZoomFrame对象 + // 添加一个 SectionZoomFrame 对象 ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); // 保存演示文稿 pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **使用自定义图像创建部分缩放帧** -使用Aspose.Slides for .NET,你可以通过以下方式创建具有不同幻灯片预览图像的部分缩放帧: +### **使用自定义图像创建章节缩放帧** -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 创建一张新幻灯片。 -3. 向创建的幻灯片添加标识背景。 -4. 创建你打算链接到的部分。 -5. 通过将图像添加到与[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)对象关联的图像集合中,创建[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)对象,用于填充帧。 -6. 将部分缩放帧(包含对创建的部分的引用)添加到第一个幻灯片。 -7. 将修改后的演示文稿写入PPTX文件。 +使用 Aspose.Slides for .NET,您可以按以下方式创建带有不同幻灯片预览图像的章节缩放帧: -以下C#代码展示了如何创建具有不同图像的缩放帧: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 创建一张新幻灯片。 +3. 为创建的幻灯片添加标识背景。 +4. 创建您希望链接到缩放帧的新章节。 +5. 通过向与 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 对象关联的 Images 集合中添加图像,创建一个 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 对象,以填充帧。 +6. 将章节缩放帧(包含对已创建章节的引用)添加到第一张幻灯片。 +7. 将修改后的演示文稿保存为 PPTX 文件。 +以下 C# 代码演示如何使用不同图像创建缩放帧: ``` csharp using (Presentation pres = new Presentation()) { - //向演示文稿添加新幻灯片 + //添加新幻灯片到演示文稿 ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - pres.Sections.AddSection("部分 1", slide); + // 向演示文稿添加新章节 + pres.Sections.AddSection("Section 1", slide); // 为缩放对象创建新图像 IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // 添加SectionZoomFrame对象 + // 添加 SectionZoomFrame 对象 ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1], ppImage); // 保存演示文稿 pres.Save("presentation.pptx", SaveFormat.Pptx); } ``` -### **格式化部分缩放帧** -要创建更复杂的部分缩放帧,你需要修改简单帧的格式。可以对部分缩放帧应用多种格式选项。 +### **格式化章节缩放帧** -你可以通过以下方式控制幻灯片上部分缩放帧的格式: +要创建更复杂的章节缩放帧,您需要修改简单帧的格式。章节缩放帧可应用多种格式化选项。 -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 创建一张新幻灯片。 -3. 向创建的幻灯片添加标识背景。 -4. 创建你打算链接到的部分。 -5. 将部分缩放帧(包含对创建的部分的引用)添加到第一个幻灯片。 -6. 更改创建的部分缩放对象的大小和位置。 -7. 通过将图像添加到与[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)对象关联的图像集合中,创建[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)对象,用于填充帧。 -8. 为创建的部分缩放帧对象设置自定义图像。 -9. 设置从链接部分返回原始幻灯片的能力。 -10. 从部分缩放帧对象的图像中删除背景。 -11. 更改第二个缩放帧对象的线条格式。 -12. 更改过渡持续时间。 -13. 将修改后的演示文稿写入PPTX文件。 +您可以按以下方式控制章节缩放帧的格式: -以下C#代码展示了如何更改部分缩放帧的格式: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 创建一张新幻灯片。 +3. 为创建的幻灯片添加标识背景。 +4. 创建您希望链接到缩放帧的新章节。 +5. 将章节缩放帧(包含对已创建章节的引用)添加到第一张幻灯片。 +6. 更改已创建章节缩放对象的大小和位置。 +7. 通过向与 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 对象关联的 Images 集合中添加图像,创建一个 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 对象,以填充帧。 +8. 为已创建的章节缩放帧对象设置自定义图像。 +9. 设置*从链接章节返回到原始幻灯片*的功能。 +10. 移除章节缩放帧对象图像的背景。 +11. 更改第二个缩放帧对象的线条格式。 +12. 更改过渡持续时间。 +13. 将修改后的演示文稿保存为 PPTX 文件。 +以下 C# 代码演示如何更改章节缩放帧的格式: ``` csharp using (Presentation pres = new Presentation()) { - //向演示文稿添加新幻灯片 + //添加新幻灯片到演示文稿 ISlide slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); slide.Background.FillFormat.FillType = FillType.Solid; slide.Background.FillFormat.SolidFillColor.Color = Color.YellowGreen; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - pres.Sections.AddSection("部分 1", slide); + // 添加新章节到演示文稿 + pres.Sections.AddSection("Section 1", slide); - // 添加SectionZoomFrame对象 + // 添加 SectionZoomFrame 对象 ISectionZoomFrame sectionZoomFrame = pres.Slides[0].Shapes.AddSectionZoomFrame(20, 20, 300, 200, pres.Sections[1]); - // 为SectionZoomFrame格式化 + // 为 SectionZoomFrame 设置格式 sectionZoomFrame.X = 100; sectionZoomFrame.Y = 300; sectionZoomFrame.Width = 100; @@ -328,25 +328,24 @@ using (Presentation pres = new Presentation()) ``` -## **概要缩放** +## **汇总缩放** -概要缩放就像一个着陆页,所有演示文稿的部分同时显示。当你进行演示时,可以使用缩放从演示文稿中的一个地方跳转到另一个地方,顺序任你选择。你可以发挥创造力,跳到后面,或重新访问幻灯片中的部分,而不会打断你的演示流程。 +汇总缩放类似于登录页,展示演示文稿的所有部分。当您进行演示时,可使用缩放在演示文稿的任意位置之间随意跳转。您可以发挥创意,提前跳过或重新访问幻灯片的某些部分,而不会打断演示流畅性。 ![overview_image](sumzoomsel.png) -对于概要缩放对象,Aspose.Slides提供了[ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe)、[ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)和[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection)接口,以及一些方法在[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection)接口下。 - -### **创建概要缩放** +对于汇总缩放对象,Aspose.Slides 提供了[ISummaryZoomFrame](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomframe)、[ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)以及[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection)接口,并在[IShapeCollection](https://reference.aspose.com/slides/net/aspose.slides/ishapecollection)接口下提供若干方法。 -你可以通过以下方式向幻灯片添加概要缩放帧: +### **创建汇总缩放** -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 创建具有标识背景的新幻灯片,并为创建的幻灯片创建新部分。 -3. 将概要缩放帧添加到第一个幻灯片。 -4. 将修改后的演示文稿写入PPTX文件。 +您可以按以下方式将汇总缩放帧添加到幻灯片: -以下C#代码展示了如何在幻灯片上创建概要缩放帧: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 为创建的幻灯片添加标识背景并创建新章节。 +3. 将汇总缩放帧添加到第一张幻灯片。 +4. 将修改后的演示文稿保存为 PPTX 文件。 +以下 C# 代码演示如何在幻灯片上创建汇总缩放帧: ``` csharp using (Presentation pres = new Presentation()) { @@ -356,8 +355,8 @@ using (Presentation pres = new Presentation()) slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - pres.Sections.AddSection("部分 1", slide); + // 向演示文稿添加新章节 + pres.Sections.AddSection("Section 1", slide); //向演示文稿添加新幻灯片 slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -365,8 +364,8 @@ using (Presentation pres = new Presentation()) slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - pres.Sections.AddSection("部分 2", slide); + // 向演示文稿添加新章节 + pres.Sections.AddSection("Section 2", slide); //向演示文稿添加新幻灯片 slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -374,8 +373,8 @@ using (Presentation pres = new Presentation()) slide.Background.FillFormat.SolidFillColor.Color = Color.Chartreuse; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - pres.Sections.AddSection("部分 3", slide); + // 向演示文稿添加新章节 + pres.Sections.AddSection("Section 3", slide); //向演示文稿添加新幻灯片 slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -383,10 +382,10 @@ using (Presentation pres = new Presentation()) slide.Background.FillFormat.SolidFillColor.Color = Color.DarkGreen; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - pres.Sections.AddSection("部分 4", slide); + // 向演示文稿添加新章节 + pres.Sections.AddSection("Section 4", slide); - // 添加SummaryZoomFrame对象 + // 添加 SummaryZoomFrame 对象 ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); // 保存演示文稿 @@ -394,20 +393,20 @@ using (Presentation pres = new Presentation()) } ``` -### **添加和移除概要缩放部分** -概要缩放帧中的所有部分通过[ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)对象表示,这些对象存储在[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection)对象中。你可以通过[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection)接口以以下方式添加或移除概要缩放部分对象: +### **添加和移除汇总缩放章节** -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 创建具有标识背景的新幻灯片,并为创建的幻灯片创建新部分。 -3. 在第一个幻灯片中添加概要缩放帧。 -4. 添加新幻灯片和部分到演示文稿。 -5. 将创建的部分添加到概要缩放帧。 -6. 从概要缩放帧中移除第一个部分。 -7. 将修改后的演示文稿写入PPTX文件。 +汇总缩放帧中的所有章节均由[ISummaryZoomFrameSection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsection)对象表示,这些对象存储在[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection)中。您可以通过[ISummaryZoomSectionCollection](https://reference.aspose.com/slides/net/aspose.slides/isummaryzoomsectioncollection)接口按以下方式添加或移除汇总缩放章节对象: -以下C#代码展示了如何在概要缩放帧中添加和移除部分: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 为创建的幻灯片添加标识背景并创建新章节。 +3. 将汇总缩放帧添加到第一张幻灯片。 +4. 向演示文稿中添加新幻灯片和章节。 +5. 将创建的章节添加到汇总缩放帧。 +6. 从汇总缩放帧中移除第一章节。 +7. 将修改后的演示文稿保存为 PPTX 文件。 +以下 C# 代码演示如何在汇总缩放帧中添加和移除章节: ``` csharp using (Presentation pres = new Presentation()) { @@ -417,8 +416,8 @@ using (Presentation pres = new Presentation()) slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - pres.Sections.AddSection("部分 1", slide); + // 向演示文稿添加新章节 + pres.Sections.AddSection("Section 1", slide); //向演示文稿添加新幻灯片 slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -426,10 +425,10 @@ using (Presentation pres = new Presentation()) slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - pres.Sections.AddSection("部分 2", slide); + // 向演示文稿添加新章节 + pres.Sections.AddSection("Section 2", slide); - // 添加SummaryZoomFrame对象 + // 添加 SummaryZoomFrame 对象 ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); //向演示文稿添加新幻灯片 @@ -438,13 +437,13 @@ using (Presentation pres = new Presentation()) slide.Background.FillFormat.SolidFillColor.Color = Color.Chartreuse; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - ISection section3 = pres.Sections.AddSection("部分 3", slide); + // 向演示文稿添加新章节 + ISection section3 = pres.Sections.AddSection("Section 3", slide); - // 将部分添加到概要缩放 + // 向汇总缩放添加章节 summaryZoomFrame.SummaryZoomCollection.AddSummaryZoomSection(section3); - // 从概要缩放中移除部分 + // 从汇总缩放中移除章节 summaryZoomFrame.SummaryZoomCollection.RemoveSummaryZoomSection(pres.Sections[1]); // 保存演示文稿 @@ -452,25 +451,25 @@ using (Presentation pres = new Presentation()) } ``` -### **格式化概要缩放部分** -要创建更复杂的概要缩放部分对象,你需要修改简单帧的格式。可以对概要缩放部分对象应用多种格式选项。 +### **格式化汇总缩放章节** -你可以通过以下方式控制概要缩放帧中的概要缩放部分对象的格式: +要创建更复杂的汇总缩放章节对象,您需要修改简单帧的格式。汇总缩放章节对象可应用多种格式化选项。 -1. 创建[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类的实例。 -2. 创建具有标识背景的新幻灯片,并为创建的幻灯片创建新部分。 -3. 将概要缩放帧添加到第一个幻灯片。 -4. 从`ISummaryZoomSectionCollection`获取第一个概要缩放部分对象。 -5. 通过将图像添加到与[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)对象关联的图像集合中,创建[IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage)对象,用于填充帧。 -6. 为创建的概要缩放部分对象设置自定义图像。 -7. 设置从链接部分返回原始幻灯片的能力。 -8. 更改第二个缩放帧对象的线条格式。 -9. 更改过渡持续时间。 -10. 将修改后的演示文稿写入PPTX文件。 +您可以按以下方式控制汇总缩放帧中章节对象的格式: -以下C#代码展示了如何更改概要缩放部分对象的格式: +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +2. 为创建的幻灯片添加标识背景并创建新章节。 +3. 将汇总缩放帧添加到第一张幻灯片。 +4. 从 `ISummaryZoomSectionCollection` 中获取第一章节对象。 +5. 通过向与 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 对象关联的 images 集合中添加图像,创建一个 [IPPImage](https://reference.aspose.com/slides/net/aspose.slides/ippimage) 对象,以填充帧。 +6. 为创建的章节缩放帧对象设置自定义图像。 +7. 设置*从链接章节返回到原始幻灯片*的功能。 +8. 更改第二个缩放帧对象的线条格式。 +9. 更改过渡持续时间。 +10. 将修改后的演示文稿保存为 PPTX 文件。 +以下 C# 代码演示如何更改汇总缩放章节对象的格式: ``` csharp using (Presentation pres = new Presentation()) { @@ -480,8 +479,8 @@ using (Presentation pres = new Presentation()) slide.Background.FillFormat.SolidFillColor.Color = Color.Brown; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - pres.Sections.AddSection("部分 1", slide); + // 向演示文稿添加新章节 + pres.Sections.AddSection("Section 1", slide); //向演示文稿添加新幻灯片 slide = pres.Slides.AddEmptySlide(pres.Slides[0].LayoutSlide); @@ -489,20 +488,20 @@ using (Presentation pres = new Presentation()) slide.Background.FillFormat.SolidFillColor.Color = Color.Aqua; slide.Background.Type = BackgroundType.OwnBackground; - // 向演示文稿添加新部分 - pres.Sections.AddSection("部分 2", slide); + // 向演示文稿添加新章节 + pres.Sections.AddSection("Section 2", slide); - // 添加SummaryZoomFrame对象 + // 添加 SummaryZoomFrame 对象 ISummaryZoomFrame summaryZoomFrame = pres.Slides[0].Shapes.AddSummaryZoomFrame(150, 50, 300, 200); - // 获取第一个SummaryZoomSection对象 + // 获取第一个 SummaryZoomSection 对象 ISummaryZoomSection summarySection = summaryZoomFrame.SummaryZoomCollection[0]; IImage image = Images.FromFile("image.png"); IPPImage ppImage = pres.Images.AddImage(image); image.Dispose(); - // 为SummaryZoomSection对象格式化 + // 为 SummaryZoomSection 对象设置格式 summarySection.ZoomImage = ppImage; summarySection.ReturnToParent = false; @@ -516,4 +515,19 @@ using (Presentation pres = new Presentation()) // 保存演示文稿 pres.Save("presentation.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**是否可以控制在显示目标后返回“父”幻灯片?** + +可以。[Zoom frame](https://reference.aspose.com/slides/net/aspose.slides/zoomframe/)或[section](https://reference.aspose.com/slides/net/aspose.slides/sectionzoomframe/)具有 `ReturnToParent` 行为,启用后可在浏览目标内容后返回原始幻灯片。 + +**是否可以调整 Zoom 过渡的“速度”或持续时间?** + +可以。Zoom 支持设置 `TransitionDuration`,从而控制跳转动画的时长。 + +**演示文稿中可以包含多少个 Zoom 对象有限制吗?** + +官方文档未列出硬性 API 限制。实际限制取决于演示文稿的整体复杂度以及观看者的性能。您可以添加大量 Zoom 帧,但需考虑文件大小和渲染时间。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md b/zh/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md index d31f8435b5..9a143fd3aa 100644 --- a/zh/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md +++ b/zh/net/developer-guide/presentation-content/managing-tags-and-custom-data/_index.md @@ -4,27 +4,24 @@ type: docs weight: 300 url: /zh/net/managing-tags-and-custom-data keywords: "标签, 自定义数据, 标签值, 添加标签, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 .NET 中为 PowerPoint 演示文稿添加标签和自定义数据" +description: "在 C# 或 .NET 中向 PowerPoint 演示文稿添加标签和自定义数据" --- -## 演示文稿文件中的数据存储 +## **演示文件中的数据存储** -PPTX 文件——具有 .pptx 扩展名的项目——以 PresentationML 格式存储,该格式是 Office Open XML 规范的一部分。Office Open XML 格式定义了演示文稿中包含的数据的结构。 +PPTX 文件——扩展名为 .pptx 的项目——采用 PresentationML 格式存储,属于 Office Open XML 规范的一部分。Office Open XML 格式定义了演示文稿中数据的结构。 -*幻灯片* 是演示文稿中的元素之一,*幻灯片部分* 包含单个幻灯片的内容。幻灯片部分可以与多个部分(例如用户定义的标签)具有明确的关系,按 ISO/IEC 29500 定义。 +在演示文稿中,*幻灯片* 是一种元素,*幻灯片部件* 包含单个幻灯片的内容。幻灯片部件可以显式关联到许多部件——例如由 ISO/IEC 29500 定义的用户自定义标签。 -自定义数据(特定于演示文稿)或用户可以作为标签([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection))和 CustomXmlParts([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection))存在。 +自定义数据(特定于演示文稿)或用户可以以标签([ITagCollection](https://reference.aspose.com/slides/net/aspose.slides/itagcollection))和 CustomXmlParts([ICustomXmlPartCollection](https://reference.aspose.com/slides/net/aspose.slides/icustomxmlpartcollection))的形式存在。 {{% alert color="primary" %}} - 标签本质上是字符串键值对。 - {{% /alert %}} -## 获取标签的值 - -在幻灯片中,标签对应于 IDocumentProperties.Keywords 属性。以下示例代码展示了如何使用 Aspose.Slides for .NET 获取标签的值,针对 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation): +## **获取标签的值** +在幻灯片中,标签对应于 IDocumentProperties.Keywords 属性。下面的示例代码展示了如何使用 Aspose.Slides for .NET 获取 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 中标签的值: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -32,17 +29,17 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -## 向演示文稿添加标签 -Aspose.Slides 允许您向演示文稿添加标签。标签通常由两个项目组成: +## **向演示文稿添加标签** + +Aspose.Slides 允许向演示文稿添加标签。标签通常由两项组成: - 自定义属性的名称 - `MyTag` - 自定义属性的值 - `My Tag Value` -如果您需要根据特定规则或属性对某些演示文稿进行分类,则可以通过向这些演示文稿添加标签来受益。例如,如果您想将所有来自北美国家的演示文稿分类或放在一起,您可以创建一个北美标签,然后将相关国家(美国、墨西哥和加拿大)作为值分配。 - -以下示例代码展示了如何使用 Aspose.Slides for .NET 向 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 添加标签: +如果需要根据特定规则或属性对某些演示文稿进行分类,添加标签可能会有所帮助。例如,如果想将所有来自北美国家的演示文稿归为一类,可以创建一个 “North American” 标签,并将相关国家(美国、墨西哥和加拿大)设为其值。 +下面的示例代码展示了如何使用 Aspose.Slides for .NET 向 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 添加标签: ```c# using (Presentation pres = new Presentation("pres.pptx")) { @@ -51,8 +48,8 @@ using (Presentation pres = new Presentation("pres.pptx")) } ``` -标签也可以为 [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide) 设置: +标签也可以为 [Slide](https://reference.aspose.com/slides/net/aspose.slides/slide) 设置: ```csharp using(Presentation pres = new Presentation()) { @@ -61,14 +58,29 @@ using(Presentation pres = new Presentation()) } ``` -或者任何单独的 [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape): +或为任意单独的 [Shape](https://reference.aspose.com/slides/net/aspose.slides/shape) 设置: ```csharp using(Presentation pres = new Presentation()) { ISlide slide = pres.Slides[0]; IAutoShape shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 10, 10, 100, 50); - shape.TextFrame.Text = "我的文本"; + shape.TextFrame.Text = "My text"; shape.CustomData.Tags["tag"] = "value"; } -``` \ No newline at end of file +``` + + +## **常见问答** + +**我能一次性删除演示文稿、幻灯片或形状中的所有标签吗?** + +可以。[tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) 支持 [clear](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/clear/) 操作,可一次性删除所有键‑值对。 + +**如何在不遍历整个集合的情况下,仅通过名称删除单个标签?** + +在 [TagCollection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) 上使用 [Remove(name)](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/remove/) 操作即可按键删除标签。 + +**如何获取标签名称的完整列表以进行分析或过滤?** + +在 [tag collection](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/) 上使用 [GetNamesOfTags](https://reference.aspose.com/slides/net/aspose.slides/tagcollection/getnamesoftags/);它会返回所有标签名称的数组。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md b/zh/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md index 1d7f208a43..22ee18b9e1 100644 --- a/zh/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md +++ b/zh/net/developer-guide/presentation-content/powerpoint-charts/animated-charts/_index.md @@ -3,66 +3,65 @@ title: 动画图表 type: docs weight: 80 url: /zh/net/animated-charts/ -keywords: "图表, 图表系列, 动画PPT演示文稿, PPTX, PPT, C#, Csharp, Aspose.Slides for .NET" -description: "在C#或.NET中使用PowerPoint图表系列和动画" +keywords: "图表, 图表系列, 动画 PowerPoint 演示文稿, PPTX, PPT, C#, Csharp, Aspose.Slides for .NET" +description: "PowerPoint 图表系列和动画,使用 C# 或 .NET" --- -Aspose.Slides for .NET支持动画图表元素。**系列**、**类别**、**系列元素**、**类别元素**可以通过[**ISequence**.**AddEffect**](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect)方法和两个枚举[**EffectChartMajorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype)和[**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype)进行动画处理。 -## **图表系列动画** -如果您想为图表系列添加动画,请根据以下步骤编写代码: +Aspose.Slides for .NET 支持对图表元素进行动画。 **Series**、**Categories**、**Series Elements**、**Categories Elements** 可以使用[**ISequence**.**AddEffect** ](https://reference.aspose.com/slides/net/aspose.slides.animation/isequence/methods/addeffect)方法以及两个枚举[**EffectChartMajorGroupingType** ](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartmajorgroupingtype)和[**EffectChartMinorGroupingType**](https://reference.aspose.com/slides/net/aspose.slides.animation/effectchartminorgroupingtype)进行动画设置。 -1. 加载演示文稿。 -2. 获取图表对象的引用。 -3. 为系列添加动画。 -4. 将演示文稿文件写入磁盘。 +## **图表系列动画** +如果您想为图表系列添加动画,请按照下面列出的步骤编写代码: -在下面给出的示例中,我们对图表系列进行了动画处理。 +1. 加载演示文稿。 +1. 获取图表对象的引用。 +1. 为系列添加动画。 +1. 将演示文稿写入磁盘。 +在下面的示例中,我们为图表系列添加了动画。 ```c# -// 实例化Presentation类,表示演示文稿文件 -using (Presentation presentation = new Presentation("ExistingChart.pptx")) -{ - // 获取图表对象的引用 - var slide = presentation.Slides[0] as Slide; - var shapes = slide.Shapes as ShapeCollection; - var chart = shapes[0] as IChart; - - // 为系列添加动画 - slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, - EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, - EffectChartMajorGroupingType.BySeries, 0, - EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, - EffectChartMajorGroupingType.BySeries, 1, - EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, - EffectChartMajorGroupingType.BySeries, 2, - EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, - EffectChartMajorGroupingType.BySeries, 3, - EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); - - // 将修改后的演示文稿写入磁盘 - presentation.Save("AnimatingSeries_out.pptx", SaveFormat.Pptx); -} + // 实例化表示演示文稿文件的 Presentation 类 + using (Presentation presentation = new Presentation("ExistingChart.pptx")) + { + // 获取图表对象的引用 + var slide = presentation.Slides[0] as Slide; + var shapes = slide.Shapes as ShapeCollection; + var chart = shapes[0] as IChart; + + // 为系列添加动画 + slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None, + EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, + EffectChartMajorGroupingType.BySeries, 0, + EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, + EffectChartMajorGroupingType.BySeries, 1, + EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, + EffectChartMajorGroupingType.BySeries, 2, + EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + ((Sequence)slide.Timeline.MainSequence).AddEffect(chart, + EffectChartMajorGroupingType.BySeries, 3, + EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious); + + // 将修改后的演示文稿写入磁盘 + presentation.Save("AnimatingSeries_out.pptx", SaveFormat.Pptx); + } ``` ## **图表类别动画** -如果您想为图表类别添加动画,请根据以下步骤编写代码: - -1. 加载演示文稿。 -2. 获取图表对象的引用。 -3. 为类别添加动画。 -4. 将演示文稿文件写入磁盘。 +如果您想为图表类别添加动画,请按照下面列出的步骤编写代码: -在下面给出的示例中,我们对图表类别进行了动画处理。 +1. 加载演示文稿。 +1. 获取图表对象的引用。 +1. 为类别添加动画。 +1. 将演示文稿写入磁盘。 +在下面的示例中,我们为图表类别添加了动画。 ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -94,16 +93,15 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) ``` -## **系列元素中的动画** -如果您想为系列元素添加动画,请根据以下步骤编写代码: +## **系列元素动画** +如果您想为系列元素添加动画,请按照下面列出的步骤编写代码: -1. 加载演示文稿。 -2. 获取图表对象的引用。 -3. 为系列元素添加动画。 -4. 将演示文稿文件写入磁盘。 - -在下面给出的示例中,我们对系列元素进行了动画处理。 +1. 加载演示文稿。 +1. 获取图表对象的引用。 +1. 为系列元素添加动画。 +1. 将演示文稿写入磁盘。 +在下面的示例中,我们已经为系列元素添加了动画。 ```c# // 加载演示文稿 using (Presentation presentation = new Presentation("ExistingChart.pptx")) @@ -133,19 +131,19 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) // 将演示文稿文件写入磁盘 presentation.Save("AnimatingSeriesElements_out.pptx", SaveFormat.Pptx); +} ``` -## **类别元素中的动画** -如果您想为类别元素添加动画,请根据以下步骤编写代码: +## **类别元素动画** +如果您想为类别元素添加动画,请按照下面列出的步骤编写代码: -1. 加载演示文稿。 -2. 获取图表对象的引用。 -3. 为类别元素添加动画。 -4. 将演示文稿文件写入磁盘。 - -在下面给出的示例中,我们对类别元素进行了动画处理。 +1. 加载演示文稿。 +1. 获取图表对象的引用。 +1. 为类别元素添加动画。 +1. 将演示文稿写入磁盘。 +在下面的示例中,我们已经为类别元素添加了动画。 ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -174,4 +172,27 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) // 将演示文稿文件写入磁盘 presentation.Save("AnimatingCategoriesElements_out.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**是否支持与普通形状相同的不同效果类型(例如进入、强调、退出)用于图表?** + +是的。图表被视为形状,因此支持标准的动画效果类型,包括进入、强调和退出,并可通过幻灯片时间线和动画序列进行完整控制。 + +**我可以将图表动画与幻灯片切换效果结合使用吗?** + +是的。[Transitions](/slides/zh/net/slide-transition/) 作用于幻灯片本身,而动画效果作用于幻灯片上的对象。您可以在同一演示文稿中同时使用两者,并独立控制它们。 + +**将演示文稿保存为 PPTX 时,图表动画会被保留吗?** + +是的。当您[save to PPTX](/slides/zh/net/save-presentation/) 时,所有动画效果及其顺序都会被保留,因为它们是演示文稿原生动画模型的一部分。 + +**我可以读取演示文稿中已有的图表动画并进行修改吗?** + +是的。该[API](https://reference.aspose.com/slides/net/aspose.slides.animation/) 提供对幻灯片时间线、序列和效果的访问,您可以检查现有的图表动画并在不重新创建的情况下对其进行调整。 + +**我能使用 Aspose.Slides 生成包含图表动画的视频吗?** + +是的。您可以[export a presentation to video](/slides/zh/net/convert-powerpoint-to-video/) 并保留动画,配置时间和其他导出设置,使生成的影片能够完整呈现动画播放效果。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md index 056c5b28ac..1da4c40244 100644 --- a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md +++ b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-calculations/_index.md @@ -3,13 +3,12 @@ title: 图表计算 type: docs weight: 50 url: /zh/net/chart-calculations/ -keywords: "图表计算, 图表元素, 元素位置, 图表值 C#, Csharp, Aspose.Slides for .NET" -description: "C# 或 .NET 中的 PowerPoint 图表计算和数值" +keywords: "图表计算, 图表元素, 元素位置, 图表数值 C#, Csharp, Aspose.Slides for .NET" +description: "PowerPoint 图表计算和数值(使用 C# 或 .NET)" --- ## **计算图表元素的实际值** -Aspose.Slides for .NET 提供了一个简单的 API 来获取这些属性。这将帮助您计算图表元素的实际值。实际值包括实现 IActualLayout 接口的元素的位置(IActualLayout.ActualX,IActualLayout.ActualY,IActualLayout.ActualWidth,IActualLayout.ActualHeight)和实际坐标轴值(IAxis.ActualMaxValue,IAxis.ActualMinValue,IAxis.ActualMajorUnit,IAxis.ActualMinorUnit,IAxis.ActualMajorUnitScale,IAxis.ActualMinorUnitScale)。 - +Aspose.Slides for .NET 提供了一个简单的 API 来获取这些属性。这将帮助您计算图表元素的实际值。实际值包括实现 IActualLayout 接口的元素的位置(IActualLayout.ActualX、IActualLayout.ActualY、IActualLayout.ActualWidth、IActualLayout.ActualHeight)以及实际坐标轴值(IAxis.ActualMaxValue、IAxis.ActualMinValue、IAxis.ActualMajorUnit、IAxis.ActualMinorUnit、IAxis.ActualMajorUnitScale、IAxis.ActualMinorUnitScale)。 ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -26,10 +25,8 @@ using (Presentation pres = new Presentation("test.pptx")) ``` - ## **计算父图表元素的实际位置** -Aspose.Slides for .NET 提供了一个简单的 API 来获取这些属性。IActualLayout 的属性提供有关父图表元素的实际位置信息。在填充属性以获取实际值之前,必须调用方法 IChart.ValidateChartLayout()。 - +Aspose.Slides for .NET 提供了一个简单的 API 来获取这些属性。IActualLayout 的属性提供了父图表元素的实际位置信息。需要先调用 IChart.ValidateChartLayout() 方法以用实际值填充这些属性。 ```c# // 创建空演示文稿 using (Presentation pres = new Presentation()) @@ -45,29 +42,27 @@ using (Presentation pres = new Presentation()) ``` - -## **隐藏图表中的信息** -本主题帮助您理解如何隐藏图表中的信息。使用 Aspose.Slides for .NET,您可以隐藏图表中的 **标题、纵轴、横轴** 和 **网格线**。以下代码示例展示了如何使用这些属性。 - +## **隐藏图表信息** +本主题帮助您了解如何隐藏图表信息。使用 Aspose.Slides for .NET,您可以隐藏图表的 **标题、垂直坐标轴、水平坐标轴** 和 **网格线**。下面的代码示例展示了如何使用这些属性。 ```c# using (Presentation pres = new Presentation()) { ISlide slide = pres.Slides[0]; IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 140, 118, 320, 370); - // 隐藏图表标题 + //隐藏图表标题 chart.HasTitle = false; - // 隐藏数值轴 + ///隐藏值轴 chart.Axes.VerticalAxis.IsVisible = false; - // 类别轴的可见性 + //分类轴可见性 chart.Axes.HorizontalAxis.IsVisible = false; - // 隐藏图例 + //隐藏图例 chart.HasLegend = false; - // 隐藏主网格线 + //隐藏主网格线 chart.Axes.HorizontalAxis.MajorGridLinesFormat.Line.FillFormat.FillType = FillType.NoFill; for (int i = 0; i < chart.ChartData.Series.Count; i++) @@ -82,11 +77,22 @@ using (Presentation pres = new Presentation()) series.Labels.DefaultDataLabelFormat.Position = LegendDataLabelPosition.Top; series.Marker.Size = 15; - // 设置系列线条颜色 + //Setting series line color series.Format.Line.FillFormat.FillType = FillType.Solid; series.Format.Line.FillFormat.SolidFillColor.Color = Color.Purple; series.Format.Line.DashStyle = LineDashStyle.Solid; pres.Save("HideInformationFromChart.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **常见问题** +**外部 Excel 工作簿是否可以用作数据源,以及这如何影响重新计算?** +是的。图表可以引用外部工作簿:当您连接或刷新外部源时,公式和数值会从该工作簿中获取,图表在打开/编辑操作期间会反映这些更新。API 允许您[指定外部工作簿](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/)路径并管理链接的数据。 + +**我可以在不自行实现回归的情况下计算并显示趋势线吗?** +是的。[趋势线](/slides/zh/net/trend-line/)(线性、指数等)由 Aspose.Slides 添加并更新;其参数会自动根据系列数据重新计算,因此您无需自行实现计算。 + +**如果演示文稿中有多个带外部链接的图表,我能控制每个图表使用哪个工作簿进行计算吗?** +是的。每个图表可以指向其自己的[外部工作簿](https://reference.aspose.com/slides/net/aspose.slides.charts/chartdata/setexternalworkbook/),或者您可以为每个图表单独创建/替换外部工作簿,而不受其他图表的影响。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md index cfd634aebd..70895c3847 100644 --- a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md +++ b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/callout/_index.md @@ -1,14 +1,13 @@ --- -title: 提示框 +title: 标注 type: docs url: /zh/net/callout/ -keywords: "图表提示框, 图表数据标签, C#, Csharp, Aspose.Slides for .NET" -description: "在C#或.NET中的PowerPoint图表提示框和数据标签" +keywords: "图表标注, 图表数据标签, C#, Csharp, Aspose.Slides for .NET" +description: "PowerPoint 图表标注和数据标签的 C# 或 .NET 实现" --- -## **使用提示框** -新属性 **ShowLabelAsDataCallout** 已添加到 **DataLabelFormat** 类和 **IDataLabelFormat** 接口,用于确定指定图表的数据标签是显示为数据提示框还是数据标签。在下面给出的示例中,我们设置了提示框。 - +## **使用标注** +已在 **DataLabelFormat** 类和 **IDataLabelFormat** 接口中添加了新属性 **ShowLabelAsDataCallout**,该属性决定指定图表的数据标签是显示为数据标注还是显示为数据标签。在下面的示例中,我们已设置标注。 ```c# using (Presentation presentation = new Presentation()) { @@ -22,9 +21,9 @@ using (Presentation presentation = new Presentation()) -## **为圆环图设置提示框** -Aspose.Slides for .NET 提供了为圆环图设置系列数据标签提示框形状的支持。下面给出了示例代码。 +## **为环形图设置标注** +Aspose.Slides for .NET 提供了为环形图设置系列数据标签标注形状的支持。下面给出示例。 ```c# Presentation pres = new Presentation("testc.pptx"); ISlide slide = pres.Slides[0]; @@ -82,4 +81,15 @@ while (categoryIndex < 15) categoryIndex++; } pres.Save("chart.pptx", Aspose.Slides.Export.SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **常见问题** + +**在将演示文稿转换为 PDF、HTML5、SVG 或图像时,标注会被保留吗?** + +是的。标注是图表渲染的一部分,因此当您导出为 [PDF](/slides/zh/net/convert-powerpoint-to-pdf/)、[HTML5](/slides/zh/net/export-to-html5/)、[SVG](/slides/zh/net/render-a-slide-as-an-svg-image/) 或 [raster images](/slides/zh/net/convert-powerpoint-to-png/) 时,它们会与幻灯片的格式一起被保留。 + +**自定义字体在标注中是否有效,且在导出时外观能否得到保留?** + +是的。Aspose.Slides 支持将 [嵌入字体](/slides/zh/net/embedded-font/) 嵌入到演示文稿中,并在诸如 [PDF](/slides/zh/net/convert-powerpoint-to-pdf/) 等导出过程中控制字体嵌入,确保标注在不同系统上保持相同的外观。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md index 58e843a815..f0a3e78cf4 100644 --- a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md +++ b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-axis/_index.md @@ -1,27 +1,25 @@ --- -title: 图表坐标轴 +title: 图表轴 type: docs url: /zh/net/chart-axis/ -keywords: "PowerPoint 图表坐标轴, 演示文稿图表, C#, .NET, 操作图表坐标轴, 图表数据" -description: "使用 C# 或 .NET 编辑 PowerPoint 图表坐标轴" +keywords: "PowerPoint 图表轴, 演示文稿图表, C#, .NET, 操作图表轴, 图表数据" +description: "在 C# 或 .NET 中编辑 PowerPoint 图表轴" --- +## **在图表中获取垂直轴的最大值** +Aspose.Slides for .NET 允许您获取垂直坐标轴的最小值和最大值。请按照以下步骤操作: -## **获取图表垂直轴的最大值** -Aspose.Slides for .NET 允许您获取垂直轴上的最小值和最大值。请按照以下步骤操作: - -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +1. 创建 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 1. 访问第一张幻灯片。 1. 添加一个带有默认数据的图表。 -1. 获取轴上的实际最大值。 -1. 获取轴上的实际最小值。 -1. 获取轴的实际主要单位。 -1. 获取轴的实际次要单位。 -1. 获取轴的实际主要单位刻度。 -1. 获取轴的实际次要单位刻度。 - -以下示例代码——上述步骤的实现——向您展示如何在 C# 中获取所需的值: - +1. 获取坐标轴上的实际最大值。 +1. 获取坐标轴上的实际最小值。 +1. 获取坐标轴的实际主单位。 +1. 获取坐标轴的实际次单位。 +1. 获取坐标轴的实际主单位比例。 +1. 获取坐标轴的实际次单位比例。 + +此示例代码(上述步骤的实现)展示了如何在 C# 中获取所需的值: ```c# using (Presentation pres = new Presentation()) { @@ -41,17 +39,16 @@ using (Presentation pres = new Presentation()) ## **在坐标轴之间交换数据** -Aspose.Slides 允许您快速在坐标轴之间交换数据——表示在垂直轴 (y 轴) 上的数据移至水平轴 (x 轴),反之亦然。 - -以下 C# 代码向您展示如何在图表的坐标轴之间执行数据交换任务: +Aspose.Slides 允许您快速在坐标轴之间交换数据——垂直轴(y 轴)上的数据将移动到水平轴(x 轴),反之亦然。 +此 C# 代码展示了如何在图表的坐标轴之间执行数据交换: ```c# -// 创建空演示文稿 +// 创建空白演示文稿 using (Presentation pres = new Presentation()) { IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 400, 300); - // 交换行和列 + //切换行和列 chart.ChartData.SwitchRowColumn(); // 保存演示文稿 @@ -59,10 +56,9 @@ using (Presentation pres = new Presentation()) } ``` -## **为折线图禁用垂直轴** - -以下 C# 代码向您展示如何隐藏折线图的垂直轴: +## **在折线图中禁用垂直坐标轴** +此 C# 代码展示了如何在折线图中隐藏垂直坐标轴: ```c# using (Presentation pres = new Presentation()) { @@ -73,10 +69,9 @@ using (Presentation pres = new Presentation()) } ``` -## **为折线图禁用水平轴** - -以下代码向您展示如何隐藏折线图的水平轴: +## **在折线图中禁用水平坐标轴** +此代码展示了如何在折线图中隐藏水平坐标轴: ```c# using (Presentation pres = new Presentation()) { @@ -87,10 +82,9 @@ using (Presentation pres = new Presentation()) } ``` -## **更改分类轴** - -使用 **CategoryAxisType** 属性,您可以指定首选的分类轴类型 (**date** 或 **text**)。以下 C# 代码演示了此操作: +## **更改类别坐标轴** +使用 **CategoryAxisType** 属性,您可以指定首选的类别坐标轴类型(**date** 或 **text**)。以下 C# 代码演示了该操作: ```c# using (Presentation presentation = new Presentation("ExistingChart.pptx")) { @@ -103,9 +97,9 @@ using (Presentation presentation = new Presentation("ExistingChart.pptx")) } ``` -## **为分类轴值设置日期格式** -Aspose.Slides for .NET 允许您为分类轴值设置日期格式。 此操作在以下 C# 代码中演示: +## **为类别坐标轴值设置日期格式** +Aspose.Slides for .NET 允许您为类别坐标轴值设置日期格式。此 C# 代码演示了该操作: ```c# using (Presentation pres = new Presentation()) { @@ -134,9 +128,9 @@ using (Presentation pres = new Presentation()) } ``` -## **为图表坐标轴标题设置旋转角度** -Aspose.Slides for .NET 允许您设置图表坐标轴标题的旋转角度。 以下 C# 代码演示了此操作: +## **设置图表坐标轴标题的旋转角度** +Aspose.Slides for .NET 允许您设置图表坐标轴标题的旋转角度。此 C# 代码演示了该操作: ```c# using (Presentation pres = new Presentation()) { @@ -148,9 +142,9 @@ using (Presentation pres = new Presentation()) } ``` -## **在分类或数值轴中设置位置轴** -Aspose.Slides for .NET 允许您在分类或数值轴中设置位置轴。 以下 C# 代码展示了如何执行该任务: +## **在类别轴或数值轴中设置位置** +Aspose.Slides for .NET 允许您在类别轴或数值轴中设置位置。此 C# 代码展示了如何执行此任务: ```c# using (Presentation pres = new Presentation()) { @@ -161,9 +155,9 @@ using (Presentation pres = new Presentation()) } ``` -## **在图表数值轴上启用显示单位标签** -Aspose.Slides for .NET 允许您配置图表以在其图表数值轴上显示单位标签。 以下 C# 代码演示了此操作: +## **在图表数值坐标轴上启用显示单位标签** +Aspose.Slides for .NET 允许您配置图表在其数值坐标轴上显示单位标签。此 C# 代码演示了该操作: ```c# using (Presentation pres = new Presentation(dataDir+"Test.pptx")) { @@ -171,4 +165,15 @@ using (Presentation pres = new Presentation(dataDir+"Test.pptx")) chart.Axes.VerticalAxis.DisplayUnit = DisplayUnitType.Millions; pres.Save("Result.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**如何设置坐标轴交叉的数值(轴交叉点)?** + +坐标轴提供了一个 [crossing setting](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/crosstype/):您可以选择在零、在最大类别/数值处或在特定数值处交叉。这对于上下移动 X 轴或强调基线非常有用。 + +**如何相对于坐标轴定位刻度标签(旁边、外侧、内侧)?** + +将 [label position](https://reference.aspose.com/slides/net/aspose.slides.charts/axis/majortickmark/) 设置为 “cross”、 “outside” 或 “inside”。这会影响可读性,并有助于节省空间,尤其是在小型图表中。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md index 00006d9392..b383b4c0d5 100644 --- a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md +++ b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-label/_index.md @@ -6,12 +6,10 @@ keywords: "图表数据标签,标签距离, C#, Csharp, Aspose.Slides for .NET" description: "在 C# 或 .NET 中设置 PowerPoint 图表数据标签和距离" --- -图表上的数据标签显示有关图表数据系列或单个数据点的详细信息。它们使读者能够快速识别数据系列,并且还使图表更易于理解。 - -## **设置图表数据标签中的数据精度** - -以下 C# 代码演示了如何在图表数据标签中设置数据精度: +图表上的数据标签显示有关图表数据系列或单个数据点的详细信息。它们使读者能够快速识别数据系列,并且使图表更易于理解。 +## **设置图表数据标签的数据精度** +此 C# 代码展示了如何在图表数据标签中设置数据精度: ```c# using (Presentation pres = new Presentation()) { @@ -23,9 +21,9 @@ using (Presentation pres = new Presentation()) } ``` -## **显示百分比作为标签** -Aspose.Slides for .NET 允许您在显示的图表上设置百分比标签。以下 C# 代码演示了该操作: +## **将百分比显示为标签** +Aspose.Slides for .NET 允许在显示的图表上设置百分比标签。此 C# 代码演示了该操作: ```c# // 创建 Presentation 类的实例 Presentation presentation = new Presentation(); @@ -76,9 +74,9 @@ for (int x = 0; x < chart.ChartData.Series.Count; x++) presentation.Save("DisplayPercentageAsLabels_out.pptx", SaveFormat.Pptx); ``` -## **为图表数据标签设置百分号** -以下 C# 代码演示了如何为图表数据标签设置百分号: +## **在图表数据标签中设置百分号** +此 C# 代码展示了如何为图表数据标签设置百分号: ```c# // 创建 Presentation 类的实例 Presentation presentation = new Presentation(); @@ -110,7 +108,7 @@ series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetInde series.Format.Fill.FillType = FillType.Solid; series.Format.Fill.SolidFillColor.Color = Color.Red; -// 设置 LabelFormat 属性 +// 设置标签格式属性 series.Labels.DefaultDataLabelFormat.ShowValue = true; series.Labels.DefaultDataLabelFormat.IsNumberFormatLinkedToSource = false; series.Labels.DefaultDataLabelFormat.NumberFormat = "0.0%"; @@ -126,7 +124,7 @@ series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetInd series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 3, 2, 0.20)); series2.DataPoints.AddDataPointForBarSeries(workbook.GetCell(defaultWorksheetIndex, 4, 2, 0.35)); -// 设置填充类型和颜色 +// 设置 Fill type and color series2.Format.Fill.FillType = FillType.Solid; series2.Format.Fill.SolidFillColor.Color = Color.Blue; series2.Labels.DefaultDataLabelFormat.ShowValue = true; @@ -140,9 +138,9 @@ series2.Labels.DefaultDataLabelFormat.TextFormat.PortionFormat.FillFormat.SolidF presentation.Save("SetDataLabelsPercentageSign_out.pptx", SaveFormat.Pptx); ``` -## **设置距离轴的标签** -以下 C# 代码演示了如何在处理来自轴的图表时设置标签距离类别轴的距离: +## **设置标签距离轴的距离** +此 C# 代码展示了在处理基于轴绘制的图表时,如何设置标签与类别轴之间的距离: ```c# // 创建 Presentation 类的实例 Presentation presentation = new Presentation(); @@ -153,19 +151,18 @@ ISlide sld = presentation.Slides[0]; // 在幻灯片上创建图表 IChart ch = sld.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 300); -// 设置与轴的标签距离 +// 设置标签相对于坐标轴的距离 ch.Axes.HorizontalAxis.LabelOffset = 500; // 将演示文稿写入磁盘 presentation.Save("SetCategoryAxisLabelDistance_out.pptx", SaveFormat.Pptx); ``` -## **调整标签位置** -当您创建一个不依赖于任何轴的图表(例如饼图)时,图表的数据标签可能会靠得太近。在这种情况下,您必须调整数据标签的位置,以确保引导线能够清晰显示。 - -以下 C# 代码演示了如何在饼图上调整标签位置: +## **调整标签位置** +当您创建的图表不依赖任何轴(例如饼图)时,图表的数据标签可能会太靠近边缘。此时,需要调整数据标签的位置,以便清晰显示引线。 +此 C# 代码展示了如何在饼图上调整标签位置: ```c# using (Presentation pres = new Presentation()) { @@ -183,4 +180,16 @@ using (Presentation pres = new Presentation()) } ``` -![pie-chart-adjusted-label](pie-chart-adjusted-label.png) \ No newline at end of file + +![pie-chart-adjusted-label](pie-chart-adjusted-label.png) + +## **FAQ** + +**如何防止密集图表上的数据标签重叠?** +结合自动标签布局、引线以及减小字体大小;必要时隐藏某些字段(例如类别),或仅对极端/关键点显示标签。 + +**如何仅对零、负数或空值禁用标签?** +在启用标签之前过滤数据点,并根据定义的规则关闭对值为 0、负数或缺失值的显示。 + +**如何在导出为 PDF/图片时确保标签样式一致?** +显式设置字体(系列、大小),并确保渲染端可用该字体,以避免回退。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md index e19f194be4..5f6021f177 100644 --- a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md +++ b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-marker/_index.md @@ -9,30 +9,26 @@ keywords: - C# - Csharp - Aspose.Slides for .NET -description: "在C#或.NET的PowerPoint演示文稿中设置图表标记选项" +description: "在 PowerPoint 演示文稿中使用 C# 或 .NET 设置图表标记选项" --- ## **设置图表标记选项** -可以在特定系列中的图表数据点上设置标记。为了设置图表标记选项,请按照以下步骤操作: +可以在特定系列的图表数据点上设置标记。要设置图表标记选项,请按照以下步骤操作: -- 实例化[Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation)类。 +- 实例化 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类。 - 创建默认图表。 - 设置图片。 - 获取第一个图表系列。 -- 添加新的数据点。 +- 添加新数据点。 - 将演示文稿写入磁盘。 -在下面给出的示例中,我们已经在数据点级别设置了图表标记选项。 - +在下面的示例中,我们在数据点级别设置了图表标记选项。 ```c# -// 创建Presentation类的实例 +// 创建 Presentation 类的实例 using Presentation presentation = new Presentation(); ISlide slide = presentation.Slides[0]; -// 创建默认图表 -IChart chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 0, 0, 400, 400); - // 获取默认图表数据工作表索引 int defaultWorksheetIndex = 0; @@ -43,7 +39,7 @@ IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook; chart.ChartData.Series.Clear(); // 添加新系列 -chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "系列 1"), chart.Type); +chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type); // 设置图片 using IImage image1 = Images.FromFile("aspose-logo.jpg"); @@ -56,7 +52,7 @@ IPPImage imgx2 = presentation.Images.AddImage(image2); // 获取第一个图表系列 IChartSeries series = chart.ChartData.Series[0]; -// 在该位置添加新点 (1:3) +// 在此处添加新点 (1:3)。 IChartDataPoint point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, (double)4.5)); point.Marker.Format.Fill.FillType = FillType.Picture; point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx1; @@ -76,6 +72,17 @@ point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx2; // 更改图表系列标记 series.Marker.Size = 15; -// 将演示文稿写入磁盘 +// 将演示文稿保存到磁盘 presentation.Save("MarkOptions_out.pptx", SaveFormat.Pptx); -``` \ No newline at end of file +``` + + +## **FAQ** + +**默认提供哪些标记形状?** + +提供标准形状(圆形、方形、菱形、三角形等);这些形状由 [MarkerStyleType](https://reference.aspose.com/slides/net/aspose.slides.charts/markerstyletype/) 枚举定义。如果需要非标准形状,可使用带图片填充的标记来模拟自定义视觉效果。 + +**导出图表为图像或 SVG 时标记会被保留吗?** + +会的。在将图表渲染为 [raster formats](/slides/zh/net/convert-powerpoint-to-png/) 或保存为 [shapes as SVG](/slides/zh/net/render-a-slide-as-an-svg-image/) 时,标记会保留其外观和设置,包括大小、填充和轮廓。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md index bcabddd2db..6fa0fa677d 100644 --- a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md +++ b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-data-table/_index.md @@ -3,20 +3,19 @@ title: 图表数据表 type: docs url: /zh/net/chart-data-table/ keywords: "字体属性, 图表数据表, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 .NET 中为 PowerPoint 演示文稿中的图表数据库表设置字体属性" +description: "在 PowerPoint 演示文稿中使用 C# 或 .NET 设置图表数据表的字体属性" --- ## **为图表数据表设置字体属性** -Aspose.Slides for .NET 提供支持以更改系列颜色中的类别颜色。 +Aspose.Slides for .NET 提供对系列颜色中类别颜色更改的支持。 -1. 实例化 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类对象。 +1. 实例化 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类对象。 1. 在幻灯片上添加图表。 -1. 设置图表表格。 +1. 设置图表数据表。 1. 设置字体高度。 1. 保存修改后的演示文稿。 -以下是给出的示例。 - +下面给出示例。 ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -29,4 +28,23 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **常见问题** + +**我可以在图表数据表的数值旁显示小的图例键吗?** + +是的。数据表支持 [legend keys](https://reference.aspose.com/slides/net/aspose.slides.charts/datatable/showlegendkey/),您可以打开或关闭它们。 + +**将演示文稿导出为 PDF、HTML 或图片时,数据表会被保留吗?** + +是的。Aspose.Slides 将图表渲染为幻灯片的一部分,因此导出的 [PDF](/slides/zh/net/convert-powerpoint-to-pdf/)/[HTML](/slides/zh/net/convert-powerpoint-to-html/)/[image](/slides/zh/net/convert-powerpoint-to-png/) 包含带有数据表的图表。 + +**来自模板文件的图表支持数据表吗?** + +是的。对于从现有演示文稿或模板加载的任何图表,您可以使用图表属性检查并更改数据表是否 [is shown](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/)。 + +**如何快速找到文件中哪些图表启用了数据表?** + +检查每个图表的属性,该属性指示数据表是否 [is shown](https://reference.aspose.com/slides/net/aspose.slides.charts/chart/hasdatatable/),并遍历幻灯片以识别启用该功能的图表。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md index 46c49de995..007ec86037 100644 --- a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md +++ b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-legend/_index.md @@ -3,28 +3,27 @@ title: 图表图例 type: docs url: /zh/net/chart-legend/ keywords: "图表图例, 图例字体大小, PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "在 C# 或 .NET 中设置 PowerPoint 演示文稿中图表图例的位置和字体大小" +description: "在 C# 或 .NET 中为 PowerPoint 演示文稿设置图表图例的位置和字体大小" --- -## **图例位置** -为了设置图例属性。请按照以下步骤操作: +## **图例定位** +要设置图例属性,请按照以下步骤操作: - 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 - 获取幻灯片的引用。 - 在幻灯片上添加图表。 - 设置图例的属性。 -- 将演示文稿写入 PPTX 文件。 - -在下面给出的示例中,我们为图表图例设置了位置和大小。 +- 将演示文稿保存为 PPTX 文件。 +在下面的示例中,我们为图表图例设置了位置和大小。 ```c# -// 创建一个 Presentation 类的实例 +// 创建 Presentation 类的实例 Presentation presentation = new Presentation(); // 获取幻灯片的引用 ISlide slide = presentation.Slides[0]; -// 在幻灯片上添加一个簇状柱形图 +// 在幻灯片上添加聚簇柱形图表 IChart chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 500); // 设置图例属性 @@ -39,7 +38,7 @@ presentation.Save("Legend_out.pptx", SaveFormat.Pptx); -## **设置图例的字体大小** +## **设置图例字体大小** Aspose.Slides for .NET 允许开发人员设置图例的字体大小。请按照以下步骤操作: - 实例化 `Presentation` 类。 @@ -48,7 +47,6 @@ Aspose.Slides for .NET 允许开发人员设置图例的字体大小。请按照 - 设置最小轴值。 - 设置最大轴值。 - 将演示文稿写入磁盘。 - ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -65,6 +63,7 @@ using (Presentation pres = new Presentation("test.pptx")) ``` + ## **设置单个图例项的字体大小** Aspose.Slides for .NET 允许开发人员设置单个图例项的字体大小。请按照以下步骤操作: @@ -75,7 +74,6 @@ Aspose.Slides for .NET 允许开发人员设置单个图例项的字体大小。 - 设置最小轴值。 - 设置最大轴值。 - 将演示文稿写入磁盘。 - ```c# using (Presentation pres = new Presentation("test.pptx")) { @@ -90,4 +88,19 @@ using (Presentation pres = new Presentation("test.pptx")) pres.Save("output.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **FAQ** + +**我可以启用图例,使图表自动为其分配空间,而不是覆盖吗?** + +可以。将非覆盖模式([Overlay](https://reference.aspose.com/slides/net/aspose.slides.charts/legend/overlay/) = `false`)设为 false;此时绘图区域会收缩以容纳图例。 + +**我可以创建多行图例标签吗?** + +可以。当空间不足时,长标签会自动换行;通过在系列名称中插入换行符可以实现强制换行。 + +**如何让图例遵循演示文稿主题的配色方案?** + +不要为图例或其文本设置显式的颜色、填充或字体。这样它们会继承主题的设置,并在主题更改时自动更新。 \ No newline at end of file diff --git a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md index f5661bfe5c..a94f73b66d 100644 --- a/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md +++ b/zh/net/developer-guide/presentation-content/powerpoint-charts/chart-entities/chart-plot-area/_index.md @@ -3,21 +3,20 @@ title: 图表绘图区 type: docs url: /zh/net/chart-plot-area/ keywords: "图表绘图区 PowerPoint 演示文稿, C#, Csharp, Aspose.Slides for .NET" -description: "获取图表绘图区的宽度和高度。设置布局模式。C# 或 .NET 中的 PowerPoint 演示文稿" +description: "获取图表绘图区的宽度和高度。设置布局模式。在 C# 或 .NET 中的 PowerPoint 演示文稿。" --- ## **获取图表绘图区的宽度和高度** Aspose.Slides for .NET 提供了一个简单的 API。 -1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 +1. 创建一个 [Presentation](https://reference.aspose.com/slides/net/aspose.slides/presentation) 类的实例。 1. 访问第一张幻灯片。 -1. 添加带有默认数据的图表。 -1. 在获取实际值之前调用方法 IChart.ValidateChartLayout()。 -1. 获取相对于图表左上角的图表元素的实际 X 位置(左)。 -1. 获取相对于图表左上角的图表元素的实际顶部。 +1. 添加具有默认数据的图表。 +1. 在获取实际值之前调用 IChart.ValidateChartLayout() 方法。 +1. 获取图表元素相对于图表左上角的实际 X 位置(左)。 +1. 获取图表元素相对于图表左上角的实际顶部位置。 1. 获取图表元素的实际宽度。 1. 获取图表元素的实际高度。 - ```c# using (Presentation pres = new Presentation("test.Pptx")) { @@ -35,16 +34,13 @@ using (Presentation pres = new Presentation("test.Pptx")) ``` - - ## **设置图表绘图区的布局模式** -Aspose.Slides for .NET 提供了一个简单的 API 来设置图表绘图区的布局模式。属性 **LayoutTargetType** 已添加到 **ChartPlotArea** 和 **IChartPlotArea** 类。如果绘图区的布局是手动定义的,则该属性指定是否通过内部(不包括坐标轴和坐标轴标签)或外部(包括坐标轴和坐标轴标签)来布局绘图区。可以在 **LayoutTargetType** 枚举中定义两种可能的值。 +Aspose.Slides for .NET 提供了一个简单的 API 来设置图表绘图区的布局模式。已向 **ChartPlotArea** 和 **IChartPlotArea** 类添加了属性 **LayoutTargetType**。如果绘图区的布局是手动定义的,则此属性指定是按内部(不包括坐标轴和坐标轴标签)还是外部(包括坐标轴和坐标轴标签)进行布局。**LayoutTargetType** 枚举中定义了两个可能的值。 -- **LayoutTargetType.Inner** - 指定绘图区的大小应决定绘图区的大小,不包括刻度线和坐标轴标签。 -- **LayoutTargetType.Outer** - 指定绘图区的大小应决定绘图区的大小、刻度线和坐标轴标签。 - -下面是示例代码。 +- **LayoutTargetType.Inner** - 指定绘图区的大小应决定绘图区的尺寸,不包括刻度线和坐标轴标签。 +- **LayoutTargetType.Outer** - 指定绘图区的大小应决定绘图区的尺寸、刻度线和坐标轴标签。 +下面给出示例代码。 ```c# using (Presentation presentation = new Presentation()) { @@ -58,4 +54,18 @@ using (Presentation presentation = new Presentation()) presentation.Save("SetLayoutMode_outer.pptx", SaveFormat.Pptx); } -``` \ No newline at end of file +``` + + +## **常见问题** +**ActualX、ActualY、ActualWidth 和 ActualHeight 以什么单位返回?** +以点(points)为单位;1 英寸 = 72 点。这是 Aspose.Slides 的坐标单位。 + +**绘图区在内容上与图表区有何不同?** +绘图区是数据绘制区域(系列、网格线、趋势线等);图表区包括外围元素(标题、图例等)。在 3D 图表中,绘图区还包括墙面/底面和坐标轴。 + +**当布局为手动时,绘图区的 X、Y、宽度和高度如何解释?** +它们是图表整体大小的比例(0–1);在此模式下,自动定位被禁用,使用您设置的比例值。 + +**为什么在添加/移动图例后绘图区位置会发生变化?** +图例位于绘图区之外的图表区,但会影响布局和可用空间,因此在自动定位生效时绘图区可能会移动。(这是 PowerPoint 图表的标准行为。) \ No newline at end of file diff --git a/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..c26a3da707 --- /dev/null +++ b/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,200 @@ +--- +title: "在 .NET 中自动化 PowerPoint 生成:轻松创建动态演示文稿" +linktitle: 自动化 PowerPoint 生成 +type: docs +weight: 20 +url: /zh/net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- 云平台 +- 自动化 PowerPoint 生成 +- 以编程方式生成演示文稿 +- PowerPoint 自动化 +- 动态幻灯片创建 +- 自动化业务报告 +- PPT 自动化 +- .NET 演示文稿 +- C# +- Aspose.Slides +description: "在云平台上使用 Aspose.Slides for .NET 自动化幻灯片创建——快速可靠地生成、编辑和转换 PowerPoint 与 OpenDocument 文件。" +--- + +## **介绍** + +手动创建 PowerPoint 演示文稿可能既耗时又重复——尤其是当内容基于经常变化的动态数据时。无论是生成每周业务报告、编写教育材料,还是制作可直接交付给客户的销售幻灯片,自动化都可以节省大量时间并确保团队之间的一致性。 + +.NET 开发人员自动化创建 PowerPoint 演示文稿可开启强大的可能性。您可以将幻灯片生成集成到 Web 门户、桌面工具、后端服务或云平台中,动态将数据转换为专业的品牌化演示文稿——随需应变。 + +本文将探讨在 .NET 应用程序(包括云平台部署)中自动化生成 PowerPoint 的常见使用场景,以及它为何成为现代解决方案的关键特性。从获取实时业务数据到将文本或图像转换为幻灯片,目标是将原始内容转化为结构化、可视化的形式,使受众能够立即理解。 + +## **在 .NET 中 PowerPoint 自动化的常见使用场景** + +在需要动态组装、个性化或频繁更新演示内容的场景中,自动化生成 PowerPoint 尤为有用。最常见的真实业务案例包括: + +- **业务报告与仪表板** + 通过从数据库或 API 获取实时数据,生成销售摘要、关键绩效指标或财务绩效报告。 + +- **个性化销售与营销幻灯片** + 使用 CRM 或表单数据自动创建针对特定客户的推介幻灯片,确保快速交付并保持品牌一致性。 + +- **教育内容** + 将学习资料、测验或课程摘要转换为结构化的幻灯片套件,用于电子学习平台。 + +- **数据与 AI 驱动的洞察** + 利用自然语言处理或分析引擎将原始数据或长文本转化为摘要演示文稿。 + +- **基于媒体的幻灯片** + 从上传的图像、带注释的截图或视频关键帧以及辅助描述组装演示文稿。 + +- **文档转换** + 自动将 Word 文档、PDF 或表单输入转换为可视化演示稿,几乎无需人工操作。 + +- **开发者和技术工具** + 直接从代码或 markdown 内容生成技术演示、文档概览或变更日志的幻灯片格式。 + +通过自动化这些工作流,组织能够扩展内容创建规模,保持一致性,并释放出更多时间用于战略性工作。 + +## **让我们编码** + +在本示例中,我们选择了 **[Aspose.Slides for .NET](https://products.aspose.com/slides/net)** 来演示 PowerPoint 自动化,因为它功能全面且在以编程方式操作演示文稿时使用简便。 + +不同于需要开发人员直接操作 Open XML 结构、代码冗长且难以阅读的低层库,如 **[Open XML SDK](https://github.com/dotnet/Open-XML-SDK)**,Aspose.Slides 提供了更高级的 API。它抽象掉了底层复杂性,使开发者能够专注于演示逻辑——例如布局、格式和数据绑定——而无需深入了解 PowerPoint 文件格式的细节。 + +虽然 Aspose.Slides 是商业库,但它提供了可完全运行本文示例的 [free trial](https://releases.aspose.com/slides/net/) 版本。用于演示概念、测试功能或构建本文所示的概念验证时,试用版已经足够。这使得在不需提前购买许可证的情况下,能够方便地尝试自动化 PowerPoint 生成。 + +对于寻找开源或免费替代方案的用户,可以考虑 Open XML SDK 或 [NPOI](https://github.com/dotnetcore/NPOI) 等库,不过它们通常需要更多代码并对底层文件格式有更深入的了解。 + +好,让我们一步步构建一个基于真实内容的示例演示文稿。 + +在开始之前,请确保已添加 Aspose.Slides NuGet 包的引用: +```sh +dotnet add package Aspose.Slides.NET +``` + + +### **创建标题幻灯片** + +我们首先创建一个新演示文稿,并添加包含主标题和副标题的标题幻灯片。 +```cs +using var presentation = new Presentation(); + +var slide0 = presentation.Slides[0]; +slide0.LayoutSlide = presentation.LayoutSlides.GetByType(SlideLayoutType.Title); + +var titleShape = slide0.Shapes[0] as IAutoShape; +var subtitleShape = slide0.Shapes[1] as IAutoShape; + +titleShape.TextFrame.Text = "Quarterly Business Review – Q1 2025"; +subtitleShape.TextFrame.Text = "Prepared for Executive Team"; +``` + + +![标题幻灯片](slide_0.png) + +### **添加柱状图幻灯片** + +接下来,我们将创建一个展示区域销售业绩的柱状图幻灯片。 +```cs +var layoutSlide1 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide1 = presentation.Slides.AddEmptySlide(layoutSlide1); + +var chart = slide1.Shapes.AddChart(ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.Legend.Position = LegendPositionType.Bottom; +chart.HasTitle = true; +chart.ChartTitle.AddTextFrameForOverriding("Data from January – March 2025"); +chart.ChartTitle.Overlay = false; + +var workbook = chart.ChartData.ChartDataWorkbook; +var worksheetIndex = 0; + +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 1, 0, "North America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 2, 0, "Europe")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 4, 0, "Latin America")); +chart.ChartData.Categories.Add(workbook.GetCell(worksheetIndex, 5, 0, "Middle East")); + +var series = chart.ChartData.Series.Add(workbook.GetCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.Type); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 1, 1, 480)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 2, 1, 365)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 3, 1, 290)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 4, 1, 150)); +series.DataPoints.AddDataPointForBarSeries(workbook.GetCell(worksheetIndex, 5, 1, 120)); +``` + + +![带图表的幻灯片](slide_1.png) + +### **添加表格幻灯片** + +现在我们将添加一个以表格形式呈现关键绩效指标的幻灯片。 +```cs +var layoutSlide2 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide2 = presentation.Slides.AddEmptySlide(layoutSlide2); + +var columnWidths = new double[] { 200, 100 }; +var rowHeights = new double[] { 40, 40, 40, 40, 40 }; + +var table = slide2.Shapes.AddTable(200, 200, columnWidths, rowHeights); +table[0, 0].TextFrame.Text = "Metric"; +table[1, 0].TextFrame.Text = "Value"; +table[0, 1].TextFrame.Text = "Total Revenue"; +table[1, 1].TextFrame.Text = "$1.4M"; +table[0, 2].TextFrame.Text = "Gross Margin"; +table[1, 2].TextFrame.Text = "54%"; +table[0, 3].TextFrame.Text = "New Customers"; +table[1, 3].TextFrame.Text = "340"; +table[0, 4].TextFrame.Text = "Customer Retention"; +table[1, 4].TextFrame.Text = "87%"; +``` + + +![带表格的幻灯片](slide_2.png) + +### **添加要点摘要幻灯片** + +最后,我们将使用简短的要点列表添加一个摘要及行动计划幻灯片。 +```cs +IParagraph CreateBulletParagraph(string text) +{ + var paragraph = new Paragraph(); + paragraph.ParagraphFormat.Bullet.Type = BulletType.Symbol; + paragraph.ParagraphFormat.Indent = 15; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.FillType = FillType.Solid; + paragraph.ParagraphFormat.DefaultPortionFormat.FillFormat.SolidFillColor.Color = Color.Black; + paragraph.Text = text; + return paragraph; +} +``` + +```cs +var layoutSlide3 = presentation.LayoutSlides.GetByType(SlideLayoutType.Blank); +var slide3 = presentation.Slides.AddEmptySlide(layoutSlide3); + +var bulletList = slide3.Shapes.AddAutoShape(ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.FillFormat.FillType = FillType.NoFill; +bulletList.LineFormat.FillFormat.FillType = FillType.NoFill; + +bulletList.TextFrame.Paragraphs.Clear(); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.TextFrame.Paragraphs.Add(CreateBulletParagraph("Schedule follow-up review in early July")); +``` + + +![带文字的幻灯片](slide_3.png) + +### **保存演示文稿** + +最后,我们将演示文稿保存到磁盘上: +```cs +presentation.Save("presentation.pptx", SaveFormat.Pptx); +``` + + +## **结论** + +.NET 应用程序中自动化生成 PowerPoint 能显著节省时间并降低人工工作量。通过集成图表、表格和文本等动态内容,开发者可以快速产出一致且专业的演示文稿——非常适用于业务报告、客户会议或教育内容。 + +本文展示了如何从零自动化创建演示文稿,包括添加标题幻灯片、图表和表格。该方法可适用于各种需要自动化、数据驱动演示文稿的场景。 + +通过使用合适的工具,.NET 开发者能够高效地自动化 PowerPoint 的生成,提高生产力并确保演示文稿的一致性。 \ No newline at end of file diff --git a/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/zh/net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..d667ba139c --- /dev/null +++ b/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "使用 JavaScript 自动化 PowerPoint 生成:轻松创建动态演示文稿" +linktitle: 自动化 PowerPoint 生成 +type: docs +weight: 20 +url: /zh/nodejs-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- 云平台 +- 自动化 PowerPoint 生成 +- 以编程方式生成演示文稿 +- PowerPoint 自动化 +- 动态幻灯片创建 +- 自动化业务报告 +- PPT 自动化 +- JavaScript 演示 +- Node.js +- JavaScript +- Aspose.Slides +description: "使用 Aspose.Slides for Node.js 在云平台上自动化幻灯片创建——快速且可靠地生成、编辑和转换 PowerPoint 与 OpenDocument 文件。" +--- + +## **介绍** + +手动创建 PowerPoint 演示文稿可能既耗时又重复——尤其是当内容基于经常变化的动态数据时。无论是生成每周业务报告、编排教学资料,还是制作面向客户的销售演示文稿,自动化都能节省大量时间并确保团队之间的一致性。 + +对于 Node.js 开发者来说,自动化创建 PowerPoint 演示文稿可以带来强大的可能性。您可以将幻灯片生成集成到网页门户、桌面工具、后端服务或云平台中,实时将数据转换为专业且有品牌标识的演示文稿——按需生成。 + +在本文中,我们将探讨在 Node.js 应用(包括云平台部署)中自动生成 PowerPoint 的常见使用场景,以及为何它正成为现代解决方案的关键特性。从实时业务数据抽取到将文本或图像转换为幻灯片,目标是将原始内容转化为结构化、可视化的形式,让受众能够立即理解。 + +## **JavaScript 中 PowerPoint 自动化的常见使用场景** + +在需要动态组装、个性化或频繁更新演示内容的情形下,PowerPoint 自动化尤为有用。最常见的真实业务场景包括: + +- **业务报告与仪表盘** + 通过从数据库或 API 获取实时数据,生成销售摘要、关键绩效指标或财务业绩报告。 + +- **个性化销售与营销演示文稿** + 自动使用 CRM 或表单数据创建针对特定客户的演示文稿,确保快速交付和品牌一致性。 + +- **教育内容** + 将学习材料、测验或课程摘要转换为结构化的幻灯片,供 e‑learning 平台使用。 + +- **数据与 AI 驱动的洞察** + 利用自然语言处理或分析引擎将原始数据或长文本转化为精要的演示文稿。 + +- **媒体驱动的幻灯片** + 从上传的图片、带注释的截图或视频关键帧中组装演示文稿,并添加说明文字。 + +- **文档转换** + 自动将 Word 文档、PDF 或表单输入转换为可视化演示文稿,几乎无需手动操作。 + +- **开发者和技术工具** + 直接从代码或 Markdown 内容生成技术演示、文档概览或变更日志幻灯片。 + +通过自动化这些工作流,组织能够扩展内容创作规模、保持一致性,并释放时间用于更具战略性的工作。 + +## **让我们开始编写代码** + +本示例选用 **[Aspose.Slides for Node.js](https://products.aspose.com/slides/nodejs-java/)** 来演示 PowerPoint 自动化,因为它功能完整且在程序化操作演示文稿时使用便捷。 + +与需要开发者直接操作 Open XML 结构的底层库不同(往往导致代码冗长且难以阅读),Aspose.Slides 提供了更高层的 API。它把复杂性抽象掉,使开发者可以专注于演示逻辑——如布局、格式和数据绑定——而无需深入了解 PowerPoint 文件格式的细节。 + +虽然 Aspose.Slides 是商业库,但它提供了一个 [免费试用](https://releases.aspose.com/slides/nodejs-java/) 版本,完全能够运行本文提供的示例。对于演示思路、测试功能或构建概念验证(正如本例所示),试用版已足够使用。这使得在不先行购买许可证的情况下,能够方便地尝试自动化 PowerPoint 生成。 + +好,现在让我们一步步构建一个使用真实内容的示例演示文稿。 + +### **创建标题幻灯片** + +首先创建一个新演示文稿,并添加包含主标题和副标题的标题幻灯片。 +```js +let presentation = new aspose.slides.Presentation(); + +let slide0 = presentation.getSlides().get_Item(0); + +let layoutSlide = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Title)); +slide0.setLayoutSlide(layoutSlide); + +let titleShape = slide0.getShapes().get_Item(0); +let subtitleShape = slide0.getShapes().get_Item(1); + +titleShape.getTextFrame().setText("Quarterly Business Review – Q1 2025"); +subtitleShape.getTextFrame().setText("Prepared for Executive Team"); +``` + + +![标题幻灯片](slide_0.png) + +### **添加包含柱状图的幻灯片** + +接下来创建一张展示地区销售业绩的柱状图幻灯片。 +```js +let layoutSlide1 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide1 = presentation.getSlides().addEmptySlide(layoutSlide1); + +let chart = slide1.getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 100, 100, 500, 350, false); +chart.getLegend().setPosition(aspose.slides.LegendPositionType.Bottom); +chart.setTitle(true); +chart.getChartTitle().addTextFrameForOverriding("Data from January – March 2025"); +chart.getChartTitle().setOverlay(false); + +let workbook = chart.getChartData().getChartDataWorkbook(); +let worksheetIndex = 0; + +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 1, 0, "North America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 2, 0, "Europe")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 3, 0, "Asia Pacific")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 4, 0, "Latin America")); +chart.getChartData().getCategories().add(workbook.getCell(worksheetIndex, 5, 0, "Middle East")); + +let series = chart.getChartData().getSeries().add(workbook.getCell(worksheetIndex, 0, 1, "Sales ($K)"), chart.getType()); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 1, 1, 480)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 2, 1, 365)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 3, 1, 290)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 4, 1, 150)); +series.getDataPoints().addDataPointForBarSeries(workbook.getCell(worksheetIndex, 5, 1, 120)); +``` + + +![带图表的幻灯片](slide_1.png) + +### **添加包含表格的幻灯片** + +现在添加一张以表格形式呈现关键绩效指标的幻灯片。 +```js +let layoutSlide2 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide2 = presentation.getSlides().addEmptySlide(layoutSlide2); + +let columnWidths = java.newArray("double", [200, 100]); +let rowHeights = java.newArray("double", [40, 40, 40, 40, 40]); + +let table = slide2.getShapes().addTable(200, 200, columnWidths, rowHeights); +table.getColumns().get_Item(0).get_Item(0).getTextFrame().setText("Metric"); +table.getColumns().get_Item(1).get_Item(0).getTextFrame().setText("Value"); +table.getColumns().get_Item(0).get_Item(1).getTextFrame().setText("Total Revenue"); +table.getColumns().get_Item(1).get_Item(1).getTextFrame().setText("$1.4M"); +table.getColumns().get_Item(0).get_Item(2).getTextFrame().setText("Gross Margin"); +table.getColumns().get_Item(1).get_Item(2).getTextFrame().setText("54%"); +table.getColumns().get_Item(0).get_Item(3).getTextFrame().setText("New Customers"); +table.getColumns().get_Item(1).get_Item(3).getTextFrame().setText("340"); +table.getColumns().get_Item(0).get_Item(4).getTextFrame().setText("Customer Retention"); +table.getColumns().get_Item(1).get_Item(4).getTextFrame().setText("87%"); +``` + + +![带表格的幻灯片](slide_2.png) + +### **添加带项目符号的摘要幻灯片** + +最后,使用简洁的项目符号列表加入摘要与行动计划。 +```js +function createBulletParagraph(text) { + let paragraph = new aspose.slides.Paragraph(); + paragraph.getParagraphFormat().getBullet().setType(java.newByte(aspose.slides.BulletType.Symbol)); + paragraph.getParagraphFormat().setIndent(15); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.Solid)); + paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(java.getStaticFieldValue("java.awt.Color", "BLACK")); + paragraph.setText(text); + return paragraph; +} +``` + +```js +let layoutSlide3 = presentation.getLayoutSlides().getByType(java.newByte(aspose.slides.SlideLayoutType.Blank)); +let slide3 = presentation.getSlides().addEmptySlide(layoutSlide3); + +let bulletList = slide3.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 50, 600, 200); +bulletList.getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); +bulletList.getLineFormat().getFillFormat().setFillType(java.newByte(aspose.slides.FillType.NoFill)); + +bulletList.getTextFrame().getParagraphs().clear(); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Prepare new campaign strategy for Q2")); +bulletList.getTextFrame().getParagraphs().add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![带文本的幻灯片](slide_3.png) + +### **保存演示文稿** + +最后,将演示文稿保存到磁盘: +```js +presentation.save("presentation.pptx", aspose.slides.SaveFormat.Pptx); +``` + + +## **结论** + +在 Node.js 应用中自动化生成 PowerPoint 可显著节省时间并降低手动工作量。通过集成图表、表格和文本等动态内容,开发者能够快速生成一致且专业的演示文稿——这对于业务报告、客户会议或教学内容尤为理想。 + +本文演示了如何从零创建演示文稿,包括添加标题幻灯片、图表和表格。该方法可广泛应用于各种需要自动化、数据驱动的演示场景。 + +借助合适的工具,Node.js 开发者可以高效地实现 PowerPoint 自动化,提升生产力并确保演示文稿的一致性。 \ No newline at end of file diff --git a/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/zh/nodejs-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..66de19ecfe --- /dev/null +++ b/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,193 @@ +--- +title: "在 PHP 中实现 PowerPoint 自动化:轻松创建动态演示文稿" +linktitle: 在 PHP 中实现 PowerPoint 自动化 +type: docs +weight: 20 +url: /zh/php-java/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- 云平台 +- 自动化 PowerPoint 生成 +- 编程生成演示文稿 +- PowerPoint 自动化 +- 动态幻灯片创建 +- 自动化业务报告 +- PPT 自动化 +- PHP 演示 +- PHP +- Aspose.Slides +description: "使用 Aspose.Slides for PHP 在云平台上自动化幻灯片创建——快速可靠地生成、编辑和转换 PowerPoint 与 OpenDocument 文件。" +--- + +## **介绍** + +手动创建 PowerPoint 演示文稿可能既耗时又重复——尤其是当内容基于经常变化的动态数据时。无论是生成每周业务报告、组织教学材料,还是制作面向客户的销售演示文稿,自动化都能节省大量时间并确保团队之间的一致性。 + +对于 PHP 开发者来说,自动化创建 PowerPoint 演示文稿能够带来强大的可能性。您可以将幻灯片生成集成到 Web 门户、桌面工具、后端服务或云平台中,动态地将数据转换为专业、品牌化的演示文稿——按需生成。 + +本文将探讨在 PHP 应用(包括在云平台上的部署)中自动生成 PowerPoint 的常见用例,以及为什么它正成为现代解决方案的关键特性。无论是提取实时业务数据,还是将文本或图像转换为幻灯片,目标都是将原始内容转化为结构化、可视化的形式,让受众瞬间理解。 + +## **PHP 中 PowerPoint 自动化的常见用例** + +在需要动态组装、个性化或频繁更新演示文稿内容的场景中,自动化 PowerPoint 生成尤为有用。最常见的实际用例包括: + +- **业务报告与仪表板** + 通过从数据库或 API 拉取实时数据,生成销售摘要、关键绩效指标或财务绩效报告。 + +- **个性化销售与营销演示** + 使用 CRM 或表单数据自动创建针对特定客户的推介稿,确保快速交付并保持品牌一致性。 + +- **教学内容** + 将学习材料、测验或课程摘要转换为结构化的幻灯片,供在线学习平台使用。 + +- **数据与 AI 驱动的洞察** + 利用自然语言处理或分析引擎,将原始数据或长文本转化为精简的演示文稿。 + +- **媒体类幻灯片** + 从上传的图片、带注释的截图或视频关键帧中组装演示文稿,并附加说明文字。 + +- **文档转换** + 自动将 Word 文档、PDF 或表单输入转换为可视化的演示文稿,极大降低手工工作量。 + +- **开发者与技术工具** + 直接从代码或 markdown 内容生成技术演示、文档概览或变更日志的幻灯片。 + +通过自动化这些工作流,组织能够规模化内容创建、保持一致性,并将时间释放用于更具战略性的工作。 + +## **让我们开始编码** + +在本示例中,我们选择 **[Aspose.Slides for PHP](https://products.aspose.com/slides/php-java/)** 来演示 PowerPoint 自动化,因为它功能全面且在编程操作演示文稿时使用方便。 + +相较于需要直接操作 Open XML 结构(往往导致代码冗长且难以阅读)的底层库,Aspose.Slides 提供了更高层次的 API。它抽象掉了复杂性,使开发者能够专注于演示逻辑——如布局、格式和数据绑定——而无需深入了解 PowerPoint 文件格式的细节。 + +虽然 Aspose.Slides 是商业库,但它提供了一个 [免费试用](https://releases.aspose.com/slides/php-java/) 版本,完全可以运行本文提供的示例。对于演示思路、测试功能或构建概念验证(如本文所示),试用版已经足够。这使得在不需事先购买许可证的情况下,能够方便地尝试自动化 PowerPoint 生成。 + +好的,让我们通过实际内容一步步构建示例演示文稿。 + +### **创建标题幻灯片** + +我们首先创建一个新演示文稿,并添加包含主标题和副标题的标题幻灯片。 +```php +$presentation = new Presentation(); + +$slide0 = $presentation->getSlides()->get_Item(0); + +$layoutSlide = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Title); +$slide0->setLayoutSlide($layoutSlide); + +$titleShape = $slide0->getShapes()->get_Item(0); +$subtitleShape = $slide0->getShapes()->get_Item(1); + +$titleShape->getTextFrame()->setText("Quarterly Business Review – Q1 2025"); +$subtitleShape->getTextFrame()->setText("Prepared for Executive Team"); +``` + + +![标题幻灯片](slide_0.png) + +### **添加带柱形图的幻灯片** + +接下来,我们创建一张展示地区销售业绩的柱形图幻灯片。 +```php +$layoutSlide1 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide1 = $presentation->getSlides()->addEmptySlide($layoutSlide1); + +$chart = $slide1->getShapes()->addChart(ChartType::ClusteredColumn, 100, 100, 500, 350, false); +$chart->getLegend()->setPosition(LegendPositionType::Bottom); +$chart->setTitle(true); +$chart->getChartTitle()->addTextFrameForOverriding("Data from January – March 2025"); +$chart->getChartTitle()->setOverlay(false); + +$workbook = $chart->getChartData()->getChartDataWorkbook(); +$worksheetIndex = 0; + +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 1, 0, "North America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 2, 0, "Europe")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 3, 0, "Asia Pacific")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 4, 0, "Latin America")); +$chart->getChartData()->getCategories()->add($workbook->getCell($worksheetIndex, 5, 0, "Middle East")); + +$series = $chart->getChartData()->getSeries()->add($workbook->getCell($worksheetIndex, 0, 1, "Sales (\$K)"), $chart->getType()); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 1, 1, 480)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 2, 1, 365)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 3, 1, 290)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 4, 1, 150)); +$series->getDataPoints()->addDataPointForBarSeries($workbook->getCell($worksheetIndex, 5, 1, 120)); +``` + + +![带图表的幻灯片](slide_1.png) + +### **添加带表格的幻灯片** + +现在,我们添加一张以表格形式呈现关键绩效指标的幻灯片。 +```php +$layoutSlide2 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide2 = $presentation->getSlides()->addEmptySlide($layoutSlide2); + +$columnWidths = [200, 100]; +$rowHeights = [40, 40, 40, 40, 40]; + +$table = $slide2->getShapes()->addTable(200, 200, $columnWidths, $rowHeights); +$table->getColumns()->get_Item(0)->get_Item(0)->getTextFrame()->setText("Metric"); +$table->getColumns()->get_Item(1)->get_Item(0)->getTextFrame()->setText("Value"); +$table->getColumns()->get_Item(0)->get_Item(1)->getTextFrame()->setText("Total Revenue"); +$table->getColumns()->get_Item(1)->get_Item(1)->getTextFrame()->setText("\$1.4M"); +$table->getColumns()->get_Item(0)->get_Item(2)->getTextFrame()->setText("Gross Margin"); +$table->getColumns()->get_Item(1)->get_Item(2)->getTextFrame()->setText("54%"); +$table->getColumns()->get_Item(0)->get_Item(3)->getTextFrame()->setText("New Customers"); +$table->getColumns()->get_Item(1)->get_Item(3)->getTextFrame()->setText("340"); +$table->getColumns()->get_Item(0)->get_Item(4)->getTextFrame()->setText("Customer Retention"); +$table->getColumns()->get_Item(1)->get_Item(4)->getTextFrame()->setText("87%"); +``` + + +![带表格的幻灯片](slide_2.png) + +### **添加包含要点的总结幻灯片** + +最后,我们使用简单的项目符号列表加入总结和行动计划。 +```php +function createBulletParagraph($text) { + $paragraph = new Paragraph(); + $paragraph->getParagraphFormat()->getBullet()->setType(BulletType::Symbol); + $paragraph->getParagraphFormat()->setIndent(15); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid); + $paragraph->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK); + $paragraph->setText($text); + return $paragraph; +} +``` + +```php +$layoutSlide3 = $presentation->getLayoutSlides()->getByType(SlideLayoutType::Blank); +$slide3 = $presentation->getSlides()->addEmptySlide($layoutSlide3); + +$bulletList = $slide3->getShapes()->addAutoShape(ShapeType::Rectangle, 100, 50, 600, 200); +$bulletList->getFillFormat()->setFillType(FillType::NoFill); +$bulletList->getLineFormat()->getFillFormat()->setFillType(FillType::NoFill); + +$bulletList->getTextFrame()->getParagraphs()->clear(); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Strong performance in North America; growth opportunity in Asia Pacific")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Improve marketing outreach in underperforming regions")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Prepare new campaign strategy for Q2")); +$bulletList->getTextFrame()->getParagraphs()->add(createBulletParagraph("Schedule follow-up review in early July")); +``` + + +![带文字的幻灯片](slide_3.png) + +### **保存演示文稿** + +最后,将演示文稿保存到磁盘: +```php +$presentation->save("presentation.pptx", SaveFormat::Pptx); +``` + + +## **结论** + +在 PHP 应用中实现 PowerPoint 自动化能够显著节省时间并降低手工工作量。通过集成图表、表格和文本等动态内容,开发者可以快速生成一致、专业的演示文稿——无论是业务报告、客户会议还是教学材料,都极其适用。 + +本文演示了如何从零开始自动创建演示文稿,包括添加标题幻灯片、图表和表格等。这一方法可广泛应用于各种需要自动化、数据驱动的演示场景。 + +借助合适的工具,PHP 开发者能够高效地实现 PowerPoint 自动化,提升生产力并确保演示文稿的一致性。 \ No newline at end of file diff --git a/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/zh/php-java/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ diff --git a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md index 5447f3acbd..48af90f501 100644 --- a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md +++ b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-html/_index.md @@ -22,12 +22,12 @@ keywords: - 将 PPTX 保存为 HTML - Python - Aspose.Slides -description: "在 Python 中将 PowerPoint 演示文稿转换为响应式 HTML。使用 Aspose.Slides 转换指南,保留布局、链接和图像,实现快速且完美的结果。" +description: "在 Python 中将 PowerPoint 演示文稿转换为响应式 HTML。使用 Aspose.Slides 转换指南快速、完美地保留布局、链接和图像。" --- ## **概述** -本文介绍如何使用 Python 将 PowerPoint 演示文稿转换为 HTML 格式。它涵盖以下主题。 +本文解释了如何使用 Python 将 PowerPoint 演示文稿转换为 HTML 格式。它涵盖以下主题。 - 在 Python 中将 PowerPoint 转换为 HTML - 在 Python 中将 PPT 转换为 HTML @@ -37,35 +37,36 @@ description: "在 Python 中将 PowerPoint 演示文稿转换为响应式 HTML ## **Python PowerPoint 转 HTML** -有关将 PowerPoint 转换为 HTML 的 Python 示例代码,请参见下面的章节,即[将 PowerPoint 转换为 HTML](#convert-powerpoint-to-html)。该代码可以在 Presentation 对象中加载 PPT、PPTX 和 ODP 等多种格式,并将其保存为 HTML 格式。 +有关将 PowerPoint 转换为 HTML 的 Python 示例代码,请参阅下面的部分,即[Convert PowerPoint to HTML](#convert-powerpoint-to-html)。该代码可以在 Presentation 对象中加载 PPT、PPTX 和 ODP 等多种格式,并将其保存为 HTML 格式。 ## **关于 PowerPoint 转 HTML 转换** -使用 [**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/),应用程序和开发者可以将 PowerPoint 演示文稿转换为 HTML:**PPTX 转 HTML** 或 **PPT 转 HTML**。 -**Aspose.Slides** 提供许多选项(主要来自 [**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) 类),用于定义 PowerPoint 转 HTML 的转换过程: +使用[**Aspose.Slides for Python via .NET**](https://products.aspose.com/slides/python-net/),应用程序和开发人员可以将 PowerPoint 演示文稿转换为 HTML:**PPTX to HTML** 或 **PPT to HTML**。 + +**Aspose.Slides** 提供了许多选项(主要来自[**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) 类),用于定义 PowerPoint 转 HTML 的转换过程: * 将整个 PowerPoint 演示文稿转换为 HTML。 * 将 PowerPoint 演示文稿中的特定幻灯片转换为 HTML。 * 将演示文稿媒体(图像、视频等)转换为 HTML。 -* 将 PowerPoint 演示文稿转换为响应式 HTML。 -* 将 PowerPoint 演示文稿转换为包含或不包含演讲者备注的 HTML。 -* 将 PowerPoint 演示文稿转换为包含或不包含批注的 HTML。 -* 将 PowerPoint 演示文稿转换为使用原始或嵌入字体的 HTML。 -* 在使用新 CSS 样式的情况下将 PowerPoint 演示文稿转换为 HTML。 +* 将 PowerPoint 演示文稿转换为响应式 HTML。 +* 将 PowerPoint 演示文稿转换为包含或不包含演讲者备注的 HTML。 +* 将 PowerPoint 演示文稿转换为包含或不包含批注的 HTML。 +* 将 PowerPoint 演示文稿转换为使用原始或嵌入字体的 HTML。 +* 在使用新 CSS 样式的情况下将 PowerPoint 演示文稿转换为 HTML。 {{% alert color="primary" %}} -使用其自身的 API,Aspose 开发了免费的 [presentation to HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html) 转换器: [PPT to HTML](https://products.aspose.app/slides/conversion/ppt-to-html)、[PPTX to HTML](https://products.aspose.app/slides/conversion/pptx-to-html)、[ODP to HTML](https://products.aspose.app/slides/conversion/odp-to-html) 等。 +使用自己的 API,Aspose 开发了免费的[演示文稿转 HTML](https://products.aspose.app/slides/conversion/powerpoint-to-html)转换器: [PPT to HTML](https://products.aspose.app/slides/conversion/ppt-to-html)、[PPTX to HTML](https://products.aspose.app/slides/conversion/pptx-to-html)、[ODP to HTML](https://products.aspose.app/slides/conversion/odp-to-html) 等。 [![todo:image_alt_text](ppt-to-html.png)](https://products.aspose.app/slides/conversion/ppt-to-html) -您可能想查看 Aspose 的其他 [Aspose 的免费转换器](https://products.aspose.app/slides/conversion)。 +您可能想查看 Aspose 的其他[免费转换器](https://products.aspose.app/slides/conversion)。 {{% /alert %}} {{% alert title="Note" color="warning" %}} -除了本文中描述的转换过程之外,Aspose.Slides 还支持以下涉及 HTML 格式的转换操作: +除了本文所述的转换流程外,Aspose.Slides 还支持以下涉及 HTML 格式的转换操作: * [HTML 转图像](https://products.aspose.com/slides/python-net/conversion/html-to-image/) * [HTML 转 JPG](https://products.aspose.com/slides/python-net/conversion/html-to-jpg/) @@ -76,12 +77,13 @@ description: "在 Python 中将 PowerPoint 演示文稿转换为响应式 HTML ## **将 PowerPoint 转换为 HTML** + 使用 Aspose.Slides,您可以通过以下方式将整个 PowerPoint 演示文稿转换为 HTML: 1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例 -1. 使用 [Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 方法将对象保存为 HTML 文件。 +1. 使用[Save](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/)方法将对象保存为 HTML 文件。 -这段代码演示了如何在 python 中将 PowerPoint 转换为 HTML: +以下代码演示了如何在 python 中将 PowerPoint 转换为 HTML: ```python import aspose.slides as slides @@ -99,7 +101,8 @@ pres.save("ConvertWholePresentationToHTML_out.html", slides.export.SaveFormat.HT ## **将 PowerPoint 转换为响应式 HTML** -Aspose.Slides 提供了 [ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) 类,允许您生成响应式 HTML 文件。下面的代码演示了如何在 python 中将 PowerPoint 演示文稿转换为响应式 HTML: + +Aspose.Slides 提供了[ResponsiveHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/responsivehtmlcontroller/) 类,允许您生成响应式 HTML 文件。以下代码演示了如何在 python 中将 PowerPoint 演示文稿转换为响应式 HTML: ```py # 实例化一个表示演示文稿文件的 Presentation 对象 import aspose.slides as slides @@ -116,7 +119,8 @@ pres.save("ConvertPresentationToResponsiveHTML_out.html", slides.export.SaveForm ## **将 PowerPoint 转换为带备注的 HTML** -下面的代码演示了如何在 python 中将 PowerPoint 转换为带备注的 HTML: + +以下代码演示了如何在 python 中将 PowerPoint 转换为带备注的 HTML: ```py import aspose.slides as slides @@ -130,11 +134,12 @@ pres.save("Output.html", slides.export.SaveFormat.HTML, opt) ## **将 PowerPoint 转换为带原始字体的 HTML** -Aspose.Slides 提供了 [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) 类,允许在将演示文稿转换为 HTML 时嵌入所有字体。 -为了防止嵌入某些字体,您可以向 [EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) 类的带参数构造函数传递字体名称数组。常用字体,如 Calibri 或 Arial,在演示文稿中使用时无需嵌入,因为大多数系统已包含这些字体。如果嵌入这些字体,生成的 HTML 文档会不必要地增大。 +Aspose.Slides 提供了[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) 类,允许在将演示文稿转换为 HTML 时嵌入所有字体。 -[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) 类支持继承,并提供 `WriteFont` 方法,供重写使用。 +若要防止嵌入某些字体,您可以向[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) 类的参数化构造函数传递字体名称数组。诸如 Calibri 或 Arial 等常用字体在演示文稿中使用时,无需嵌入,因为大多数系统已预装这些字体。嵌入这些字体会导致生成的 HTML 文档体积过大。 + +[EmbedAllFontsHtmlController](https://reference.aspose.com/slides/python-net/aspose.slides.export/embedallfontshtmlcontroller/) 类支持继承,并提供 `WriteFont` 方法,可供覆写。 ```py import aspose.slides as slides @@ -151,33 +156,36 @@ pres.save("input-PFDinDisplayPro-Regular-installed.html", slides.export.SaveForm ## **将幻灯片转换为 HTML** -将单独的演示文稿幻灯片转换为 HTML。为此,请使用由 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类公开的相同 [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 方法,该方法用于将整个 PPT(X) 演示文稿转换为 HTML 文档。[**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) 类亦可用于设置额外的转换选项: + +将单独的演示文稿幻灯片转换为 HTML。为此使用[Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类公开的相同[**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 方法,该方法用于将整个 PPT(X) 演示文稿转换为 HTML 文档。[**HtmlOptions**](https://reference.aspose.com/slides/python-net/aspose.slides.export/htmloptions/) 类也可以用于设置额外的转换选项: ```py -# [TODO[not_supported_yet]: python 实现 .net 接口] +# [TODO[not_supported_yet]: python 对 .net 接口的实现] ``` - ## **导出为 HTML 时保存 CSS 和图像** -使用新的 CSS 样式文件,您可以轻松更改 PowerPoint 转 HTML 转换过程生成的 HTML 文件的样式。 -本示例中的 python 代码展示了如何使用可重写的方法创建带有 CSS 文件链接的自定义 HTML 文档: +使用新的 CSS 样式文件,您可以轻松更改 PowerPoint 转 HTML 转换过程生成的 HTML 文件的样式。 + +此示例中的 python 代码演示了如何使用可覆写的方法创建带有 CSS 文件链接的自定义 HTML 文档: ```py -# [TODO[not_supported_yet]: python 实现 .net 接口] +# [TODO[not_supported_yet]: python 对 .net 接口的实现] ``` -## **转换演示文稿为 HTML 时链接所有字体** -如果您不想嵌入字体(以避免增加生成的 HTML 大小),可以通过实现自己的 `LinkAllFontsHtmlController` 版本来链接所有字体。 +## **在将演示文稿转换为 HTML 时链接所有字体** -下面的 python 代码演示了如何在链接所有字体且排除 "Calibri" 和 "Arial"(因为系统已存在这些字体)的情况下将 PowerPoint 转换为 HTML: +如果您不想嵌入字体(以避免增大生成的 HTML 大小),可以通过实现自定义的 `LinkAllFontsHtmlController` 版本来链接所有字体。 + +以下 python 代码演示了如何在链接所有字体且排除 “Calibri” 与 “Arial”(因为系统中已存在) 的情况下,将 PowerPoint 转换为 HTML: ```py # [TODO[not_supported_yet]: python 实现 .net 接口] ``` ## **支持 SVG 响应式属性** -以下代码示例展示了如何将 PPT(X) 演示文稿导出为带有响应式布局的 HTML: + +下面的代码示例展示了如何将 PPT(X) 演示文稿导出为具有响应式布局的 HTML: ```py presentation = slides.Presentation("SomePresentation.pptx") @@ -188,7 +196,8 @@ presentation.save("SomePresentation-out.html", slides.export.SaveFormat.HTML, sa ``` -## **将媒体文件导出为 HTML 文件** +## **导出媒体文件到 HTML 文件** + 使用 Aspose.Slides for python,您可以按以下方式导出媒体文件: 1. 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例。 @@ -196,7 +205,7 @@ presentation.save("SomePresentation-out.html", slides.export.SaveFormat.HTML, sa 3. 向幻灯片添加视频。 4. 将演示文稿写入为 HTML 文件。 -下面的 python 代码演示了如何向演示文稿添加视频,然后将其保存为 HTML: +以下 python 代码演示了如何向演示文稿添加视频,然后将其保存为 HTML: ```py import aspose.slides as slides @@ -219,44 +228,44 @@ presentation.save(path + "ExportMediaFiles_out.html", slides.export.SaveFormat.H ``` -## **常见问题解答** +## **FAQ** -### **如何使用 Python 将 PowerPoint 演示文稿转换为 HTML?** +**如何使用 Python 将 PowerPoint 演示文稿转换为 HTML?** -您可以使用 Aspose.Slides for Python via .NET 库加载 PPT、PPTX 或 ODP 文件,并使用带有 `SaveFormat.HTML` 的 `save()` 方法将其转换为 HTML。 +您可以使用 Aspose.Slides for Python via .NET 库加载 PPT、PPTX 或 ODP 文件,并使用 `save()` 方法配合 `SaveFormat.HTML` 将其转换为 HTML。 -### **Aspose.Slides 是否支持将单个 PowerPoint 幻灯片转换为 HTML?** +**Aspose.Slides 是否支持将单个 PowerPoint 幻灯片转换为 HTML?** -是的,Aspose.Slides 允许您通过相应配置 `HtmlOptions` 将整个演示文稿或特定幻灯片转换为 HTML。 +是的,Aspose.Slides 允许通过相应的 `HtmlOptions` 配置将整个演示文稿或特定幻灯片转换为 HTML。 -### **我可以从 PowerPoint 演示文稿生成响应式 HTML 吗?** +**我可以从 PowerPoint 演示文稿生成响应式 HTML 吗?** -是的,使用 `ResponsiveHtmlController` 类,您可以将演示文稿导出为可适配不同屏幕尺寸的响应式 HTML 布局。 +可以,使用 `ResponsiveHtmlController` 类即可将演示文稿导出为适配不同屏幕尺寸的响应式 HTML 布局。 -### **是否可以在导出的 HTML 中包含演讲者备注或批注?** +**导出的 HTML 是否可以包含演讲者备注或批注?** -是的,您可以通过配置 `HtmlOptions` 在将 PowerPoint 演示文稿导出为 HTML 时包含或排除演讲者备注和批注。 +可以,您可以在 `HtmlOptions` 中设置以包含或排除演讲者备注和批注。 -### **在将演示文稿转换为 HTML 时,我可以嵌入字体吗?** +**在将演示文稿转换为 HTML 时可以嵌入字体吗?** -是的,Aspose.Slides 提供 `EmbedAllFontsHtmlController` 类,您可以嵌入字体或排除特定字体以减小输出文件大小。 +可以,Aspose.Slides 提供 `EmbedAllFontsHtmlController` 类,可用于嵌入字体或排除特定字体以减小输出文件大小。 -### **PowerPoint 转 HTML 的转换是否支持视频和音频等媒体文件?** +**PowerPoint 转 HTML 转换是否支持视频和音频等媒体文件?** -是的,Aspose.Slides 可使用 `VideoPlayerHtmlController` 及相关配置类将幻灯片中嵌入的媒体内容导出为 HTML。 +支持,Aspose.Slides 可使用 `VideoPlayerHtmlController` 等相关类将幻灯片中嵌入的媒体内容导出为 HTML。 -### **支持哪些文件格式转换为 HTML?** +**支持哪些文件格式转换为 HTML?** -Aspose.Slides 支持将 PPT、PPTX 和 ODP 演示文稿格式转换为 HTML。它还允许将幻灯片内容保存为 SVG 并导出媒体资产。 +Aspose.Slides 支持将 PPT、PPTX 和 ODP 演示文稿格式转换为 HTML,并且可以将幻灯片内容保存为 SVG 以及导出媒体资源。 -### **我可以避免嵌入字体以减小 HTML 输出大小吗?** +**我能通过链接常用系统字体而不是嵌入它们来减小 HTML 输出大小吗?** -是的,您可以通过自定义 `HtmlController` 的实现,将常见系统字体(如 Arial 或 Calibri)链接而非嵌入,以减小 HTML 输出大小。 +可以,您可以实现自定义的 `HtmlController`,将常见的系统字体(如 Arial、Calibri)以链接方式引用,而不是嵌入。 -### **是否有在线工具可以将 PowerPoint 转换为 HTML?** +**是否有在线工具可以将 PowerPoint 转换为 HTML?** -是的,您可以尝试 Aspose 免费的网页工具,例如 [PPT 转 HTML](https://products.aspose.app/slides/conversion/ppt-to-html) 或 [PPTX 转 HTML](https://products.aspose.app/slides/conversion/pptx-to-html),在浏览器中直接转换演示文稿,无需编写代码。 +有,您可以使用 Aspose 的免费在线工具,例如[PowerPoint 转 HTML](https://products.aspose.app/slides/conversion/ppt-to-html)或[PowerPoint 转 HTML](https://products.aspose.app/slides/conversion/pptx-to-html)直接在浏览器中进行转换,无需编写代码。 -### **我可以在导出的 HTML 文件中使用自定义 CSS 样式吗?** +**我可以在导出的 HTML 文件中使用自定义 CSS 样式吗?** -是的,Aspose.Slides 允许在转换过程中链接外部 CSS 文件,使您能够完全自定义生成的 HTML 内容的外观。 \ No newline at end of file +可以,Aspose.Slides 在转换时支持链接外部 CSS 文件,您可以完全自定义生成的 HTML 内容的外观。 diff --git a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md index d365091c6c..08f2f261f8 100644 --- a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md +++ b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-powerpoint-to-pdf/_index.md @@ -1,5 +1,5 @@ --- -title: 在 Python 中将 PPT 和 PPTX 转换为 PDF | 高级选项 +title: 将 PPT 与 PPTX 转换为 PDF(Python) | 高级选项 linktitle: PowerPoint 转 PDF type: docs weight: 40 @@ -15,42 +15,42 @@ keywords: - PDF/A1b - PDF/UA - Python -- Aspose.Slides -description: 使用适用于 .NET 的 Aspose.Slides for Python,按照分步指南将 PPT、PPTX 和 ODP 转换为高质量、符合 WCAG 要求的 PDF——包括密码保护、幻灯片选择和图像质量控制。 +- Aspose.Slides for Python +description: "使用 Aspose.Slides 在 Python 中将 PPT、PPTX 和 ODP 转换为高质量、符合 WCAG 标准的 PDF 的分步指南——包括密码保护、幻灯片选择和图像质量控制。" +showReadingTime: true --- ## **概述** -将 PowerPoint 文档转换为 PDF 格式提供了多个优点,包括确保在不同设备之间的兼容性,并保留演示文稿的布局和格式。本文将向您展示如何将演示文稿转换为 PDF 文档,使用各种选项控制图像质量,包含隐藏幻灯片,给 PDF 文档加密,检测字体替代,选择要转换的幻灯片,并将合规性标准应用于输出文档。 +将 PowerPoint 演示文稿(PPT、PPTX、ODP)转换为 Python 中的 PDF 格式可带来多种优势,包括确保在不同设备间的兼容性并保留演示文稿的布局和格式。本指南演示如何将演示文稿转换为 PDF 文档,使用各种选项控制图像质量,包含隐藏幻灯片,为 PDF 文档设置密码,检测字体替代,选择特定幻灯片进行转换,以及对输出文档应用合规标准。 -## **PowerPoint 转 PDF 转换** +## **PowerPoint 到 PDF 转换** 使用 Aspose.Slides,您可以将以下格式的演示文稿转换为 PDF: -* PPT -* PPTX -* ODP +* **PPT** +* **PPTX** +* **ODP** -要在 Python 中将演示文稿转换为 PDF,您只需将文件名作为参数传递给 [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) 类,然后使用 [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) 方法将演示文稿保存为 PDF。[Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) 类暴露了通常用于将演示文稿转换为 PDF 的 [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) 方法。 +要在 Python 中将演示文稿转换为 PDF,只需在 [Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) 类中将文件名作为参数传递,然后使用 [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) 方法将演示文稿另存为 PDF。[Presentation](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/) 类公开的 [Save](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides/presentation/#methods) 方法通常用于将演示文稿转换为 PDF。 {{% alert title="注意" color="warning" %}} -Aspose.Slides for Python 直接在输出文档中写入 API 信息和版本号。例如,当它将演示文稿转换为 PDF 时,Aspose.Slides for Python 会将应用程序字段填充为 '*Aspose.Slides*' 值,并将 PDF 制作者字段填充为 '*Aspose.Slides v XX.XX*' 形式的值。**注意**,您无法指示 Aspose.Slides for Python 更改或移除此信息。 +Aspose.Slides for Python 会直接在输出文档中写入 API 信息和版本号。例如,当它将演示文稿转换为 PDF 时,Aspose.Slides for Python 会在 Application 字段填入 '*Aspose.Slides*' 值,在 PDF Producer 字段填入 '*Aspose.Slides v XX.XX*' 形式的值。**注意**,您无法指示 Aspose.Slides for Python 更改或删除这些信息。 {{% /alert %}} Aspose.Slides 允许您转换: -* 整个演示文稿到 PDF -* 演示文稿中的特定幻灯片到 PDF -* 演示文稿 +* 整个演示文稿为 PDF +* 演示文稿中的特定幻灯片为 PDF -Aspose.Slides 以使最终 PDF 内容非常类似于原始演示文稿的方式将演示文稿导出为 PDF。以下已知元素和属性通常会在演示文稿到 PDF 转换时正确呈现: +Aspose.Slides 将演示文稿导出为 PDF,确保生成的 PDF 内容与原始演示文稿高度匹配。转换过程中会准确渲染以下元素和属性: * 图像 -* 文本框和其他形状 -* 文本及其格式 -* 段落及其格式 +* 文本框和形状 +* 文本格式 +* 段落格式 * 超链接 * 页眉和页脚 * 项目符号 @@ -58,52 +58,52 @@ Aspose.Slides 以使最终 PDF 内容非常类似于原始演示文稿的方式 ## **将 PowerPoint 转换为 PDF** -标准的 PowerPoint PDF 转换操作使用默认选项执行。在这种情况下,Aspose.Slides 尝试以最佳设置和最高质量级别将提供的演示文稿转换为 PDF。以下 Python 代码演示了如何将 PowerPoint 转换为 PDF: +使用默认选项执行标准的 PowerPoint PDF 转换操作。在此情况下,Aspose.Slides 会尝试使用最佳设置和最高质量级别将提供的演示文稿转换为 PDF。以下 Python 代码展示了如何将 PowerPoint 转换为 PDF: -_步骤:在 Python 中将 PowerPoint 转换为 PDF_ +_Steps: PowerPoint to PDF Conversions in Python_ -以下示例代码通过 .NET 使用 Python 解释这些转换 -- 步骤:通过 .NET 使用 Python 将 PowerPoint 转换为 PDF -- 步骤:通过 .NET 使用 Python 将 PPT 转换为 PDF -- 步骤:通过 .NET 使用 Python 将 PPTX 转换为 PDF -- 步骤:通过 .NET 使用 Python 将 ODP 转换为 PDF -- 步骤:通过 .NET 使用 Python 将 PPS 转换为 PDF +以下示例代码通过 .NET 使用 Python 说明这些转换 +- 步骤:使用 Python 通过 .NET 将 PowerPoint 转换为 PDF +- 步骤:使用 Python 通过 .NET 将 PPT 转换为 PDF +- 步骤:使用 Python 通过 .NET 将 PPTX 转换为 PDF +- 步骤:使用 Python 通过 .NET 将 ODP 转换为 PDF +- 步骤:使用 Python 通过 .NET 将 PPS 转换为 PDF -_代码步骤:_ +_Code Steps:_ -- 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例,并提供 PowerPoint 文件。 - * _.ppt_ 扩展名用于加载 _Presentation_ 类中的 **PPT** 文件。 - * _.pptx_ 扩展名用于加载 _Presentation_ 类中的 **PPTX** 文件。 - * _.odp_ 扩展名用于加载 _Presentation_ 类中的 **ODP** 文件。 - * _.pps_ 扩展名用于加载 _Presentation_ 类中的 **PPS** 文件。 -- 通过调用 **Save** 方法并使用 **SaveFormat.PDF** 枚举将 _Presentation_ 保存为 **PDF** 格式。 - +- 创建 [Presentation](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类的实例并提供 PowerPoint 文件。 + * _.ppt_ 扩展名加载 **PPT** 文件到 _Presentation_ 类。 + * _.pptx_ 扩展名加载 **PPTX** 文件到 _Presentation_ 类。 + * _.odp_ 扩展名加载 **ODP** 文件到 _Presentation_ 类。 + * _.pps_ 扩展名加载 **PPS** 文件到 _Presentation_ 类。 +- 通过调用 **Save** 方法并使用 **SaveFormat.PDF** 枚举,将 _Presentation_ 保存为 **PDF** 格式。 ```python import aspose.slides as slides -# 实例化表示 PowerPoint 文件的 Presentation 类 +# 实例化一个表示 PowerPoint 文件的 Presentation 类 presentation = slides.Presentation("PowerPoint.ppt") # 将演示文稿保存为 PDF presentation.save("PPT-to-PDF.pdf", slides.export.SaveFormat.PDF) ``` + {{% alert color="primary" %}} -Aspose 提供一个免费的在线 [**PowerPoint 转 PDF 转换器**](https://products.aspose.app/slides/conversion/ppt-to-pdf),演示演示文稿到 PDF 的转换过程。要测试此处描述的过程的实时实现,您可以使用该转换器进行测试。 +Aspose 提供免费的在线 [**PowerPoint 转 PDF 转换器**](https://products.aspose.app/slides/conversion/ppt-to-pdf) 演示演示文稿到 PDF 的转换过程。要实际运行本文描述的过程,您可以使用该转换器进行测试。 {{% /alert %}} -## 将 PowerPoint 转换为带选项的 PDF +## **使用选项将 PowerPoint 转换为 PDF** -Aspose.Slides 提供自定义选项——[PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) 类下的属性——允许您自定义转换过程生成的 PDF,给 PDF 加密,甚至指定转换过程应如何进行。 +Aspose.Slides 提供自定义选项——位于 [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) 类下的属性——允许您自定义 PDF(转换过程产生的文件),为 PDF 设置密码,甚至指定转换过程的方式。 ### **使用自定义选项将 PowerPoint 转换为 PDF** -使用自定义转换选项,您可以为光栅图像设置首选质量设置,指定元文件的处理方式,设置文本的压缩级别,设置图像的 DPI 等。 +使用自定义转换选项,您可以设置光栅图像的首选质量设置,指定元文件的处理方式,设置文本的压缩级别,设置图像的 DPI 等。 -以下代码示例演示了将 PowerPoint 演示文稿转换为 PDF,同时应用多个自定义选项的操作: +以下代码示例演示了将 PowerPoint 演示文稿转换为 PDF 并使用多个自定义选项的操作: ```python import aspose.slides as slides @@ -117,7 +117,7 @@ pdf_options.jpeg_quality = 90 # 设置图像的 DPI pdf_options.sufficient_resolution = 300 -# 设置元文件的处理方式 +# 设置元文件的行为 pdf_options.save_metafiles_as_png = True # 设置文本内容的压缩级别 @@ -132,16 +132,17 @@ with slides.Presentation("PowerPoint.pptx") as presentation: presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdf_options) ``` -### **将 PowerPoint 转换为包含隐藏幻灯片的 PDF** -如果演示文稿包含隐藏幻灯片,您可以使用自定义选项——[PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) 类中的 `show_hidden_slides` 属性——指示 Aspose.Slides 将隐藏幻灯片作为页面包含在结果 PDF 中。 +### **使用隐藏幻灯片将 PowerPoint 转换为 PDF** + +如果演示文稿包含隐藏幻灯片,您可以使用自定义选项——[PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) 类中的 `show_hidden_slides` 属性——指示 Aspose.Slides 将隐藏幻灯片作为页面包含在生成的 PDF 中。 -以下 Python 代码演示了如何将 PowerPoint 演示文稿转换为包含隐藏幻灯片的 PDF: +以下 Python 代码展示了如何在包含隐藏幻灯片的情况下将 PowerPoint 演示文稿转换为 PDF: ```python import aspose.slides as slides -# 实例化表示 PowerPoint 文件的 Presentation 类 +# 实例化一个表示 PowerPoint 文件的 Presentation 类 presentation = slides.Presentation("PowerPoint.pptx") # 实例化 PdfOptions 类 @@ -154,14 +155,15 @@ pdfOptions.show_hidden_slides = True presentation.save("PowerPoint-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### **将 PowerPoint 转换为带密码保护的 PDF** -以下 Python 代码演示了如何将 PowerPoint 转换为密码保护的 PDF(使用 [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) 类中的保护参数): +### **将 PowerPoint 转换为受密码保护的 PDF** + +以下 Python 代码展示了如何使用 [PdfOptions](https://docs.aspose.com/slides/python-net/api-reference/aspose.slides.export/pdfoptions/) 类的保护参数将 PowerPoint 转换为受密码保护的 PDF: ```python import aspose.slides as slides -# 实例化表示 PowerPoint 文件的 Presentation 对象 +# 实例化一个表示 PowerPoint 文件的 Presentation 对象 presentation = slides.Presentation("PowerPoint.pptx") # 实例化 PdfOptions 类 @@ -175,30 +177,32 @@ pdfOptions.access_permissions = slides.export.PdfAccessPermissions.PRINT_DOCUMEN presentation.save("PPTX-to-PDF.pdf", slides.export.SaveFormat.PDF, pdfOptions) ``` -### 检测字体替代 -Aspose.Slides 在 [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/) 类下提供了 `warning_callback` 属性,以允许您在演示文稿到 PDF 转换过程中检测字体替代。 +### **检测字体替代** + +Aspose.Slides 在 [SaveOptions](https://reference.aspose.com/slides/python-net/aspose.slides.export/saveoptions/) 类下提供 `warning_callback` 属性,以便您在演示文稿到 PDF 的转换过程中检测字体替代。 -以下 Python 代码演示了如何检测字体替代: +以下 Python 代码展示了如何检测字体替代: ```python -[TODO[SLIDESPYNET-91]: callbacks are not supported for now] +[TODO[SLIDESPYNET-91]: 回调目前不受支持] ``` + {{% alert color="primary" %}} 有关字体替代的更多信息,请参阅 [字体替代](https://docs.aspose.com/slides/python-net/font-substitution/) 文章。 {{% /alert %}} -## **将选定的幻灯片从 PowerPoint 转换为 PDF** +## **将 PowerPoint 中选定的幻灯片转换为 PDF** -以下 Python 代码演示了如何将 PowerPoint 演示文稿中的特定幻灯片转换为 PDF: +以下 Python 代码展示了如何将 PowerPoint 演示文稿中的特定幻灯片转换为 PDF: ```python import aspose.slides as slides -# 实例化表示 PowerPoint 文件的 Presentation 对象 +# 实例化一个表示 PowerPoint 文件的 Presentation 对象 presentation = slides.Presentation("PowerPoint.pptx") # 设置幻灯片位置的数组 @@ -208,38 +212,43 @@ slides_array = [ 1, 3 ] presentation.save("PPTX-to-PDF.pdf", slides_array, slides.export.SaveFormat.PDF) ``` -## **将 PowerPoint 转换为 PDF,并指定自定义幻灯片大小** -以下 Python 代码演示了如何在指定幻灯片大小的情况下将 PowerPoint 转换为 PDF: +## **使用自定义幻灯片大小将 PowerPoint 转换为 PDF** + +以下 Python 代码展示了在指定幻灯片大小的情况下将 PowerPoint 转换为 PDF: ```python import aspose.slides as slides -# 实例化表示 PowerPoint 文件的 Presentation 对象 -presentation = slides.Presentation("SelectedSlides.pptx") -auxPresentation = slides.Presentation() +slide_width = 612 +slide_height = 792 -slide = presentation.slides[0] +# 实例化表示 PowerPoint 或 OpenDocument 文件的 Presentation 类。 +with slides.Presentation("SelectedSlides.pptx") as presentation: -auxPresentation.slides.insert_clone(0, slide) + # 创建一个调整了幻灯片尺寸的新演示文稿。 + with slides.Presentation() as resized_presentation: -# 设置幻灯片类型和大小 -auxPresentation.slide_size.set_size(612, 792, slides.SlideSizeScaleType.ENSURE_FIT) + # 设置自定义幻灯片尺寸。 + resized_presentation.slide_size.set_size(slide_width, slide_height, slides.SlideSizeScaleType.ENSURE_FIT) -pdfOptions = slides.export.PdfOptions() -pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPositions.BOTTOM_FULL + # 从原始演示文稿克隆第一张幻灯片。 + slide = presentation.slides[0] + resized_presentation.slides.insert_clone(0, slide) -auxPresentation.save("PDFnotes_out.pdf", slides.export.SaveFormat.PDF, pdfOptions) + # 将调整尺寸的演示文稿保存为带备注的 PDF。 + resized_presentation.save("PDF_with_notes.pdf", slides.export.SaveFormat.PDF) ``` -## **以注释幻灯片视图转换 PowerPoint 为 PDF** -以下 Python 代码演示了如何将 PowerPoint 转换为 PDF 注释: +## **在备注幻灯片视图中将 PowerPoint 转换为 PDF** + +以下 Python 代码展示了如何将 PowerPoint 转换为 PDF 备注: ```python import aspose.slides as slides -# 实例化表示 PowerPoint 文件的 Presentation 类 +# 实例化一个表示 PowerPoint 文件的 Presentation 类 presentation = slides.Presentation("NotesFile.pptx") pdfOptions = slides.export.PdfOptions() @@ -249,11 +258,12 @@ pdfOptions.notes_comments_layouting.notes_position = slides.export.NotesPosition presentation.Save("Pdf_Notes_out.tiff", slides.export.SaveFormat.PDF, pdfOptions) ``` + ## **PDF 的可访问性和合规性标准** -Aspose.Slides 允许您使用符合 [Web 内容可访问性指南(**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html) 的转换程序。您可以使用以下任何合规性标准将 PowerPoint 文档导出为 PDF:**PDF/A1a**、**PDF/A1b** 和 **PDF/UA**。 +Aspose.Slides 允许您使用符合 [Web Content Accessibility Guidelines (**WCAG**)](https://www.w3.org/TR/WCAG-TECHS/pdf.html) 的转换过程。您可以使用以下任意合规标准将 PowerPoint 文档导出为 PDF:**PDF/A1a**、**PDF/A1b** 和 **PDF/UA**。 -以下 Python 代码演示了一种 PowerPoint 到 PDF 的转换操作,其中基于不同合规性标准获得多个 PDF: +以下 Python 代码演示了一个 PowerPoint 到 PDF 的转换操作,其中生成了基于不同合规标准的多个 PDF: ```python import aspose.slides as slides @@ -272,8 +282,49 @@ options.compliance = slides.export.PdfCompliance.PDF_UA pres.save("pres-ua-compliance.pdf", slides.export.SaveFormat.PDF, options) ``` + {{% alert title="注意" color="warning" %}} -Aspose.Slides 对 PDF 转换操作的支持扩展到允许您将 PDF 转换为最流行的文件格式。您可以执行 [PDF 转 HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/)、[PDF 转图像](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/)、[PDF 转 JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/) 和 [PDF 转 PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/) 转换。其他 PDF 转换操作到专业格式——[PDF 转 SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/)、[PDF 转 TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/) 和 [PDF 转 XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/)——也得到支持。 +Aspose.Slides 对 PDF 转换操作的支持扩展到允许您将 PDF 转换为最流行的文件格式。您可以进行 [PDF 转 HTML](https://products.aspose.com/slides/python-net/conversion/pdf-to-html/)、[PDF 转图像](https://products.aspose.com/slides/python-net/conversion/pdf-to-image/)、[PDF 转 JPG](https://products.aspose.com/slides/python-net/conversion/pdf-to-jpg/)、以及 [PDF 转 PNG](https://products.aspose.com/slides/python-net/conversion/pdf-to-png/) 转换。其他针对特化格式的 PDF 转换操作——[PDF 转 SVG](https://products.aspose.com/slides/python-net/conversion/pdf-to-svg/)、[PDF 转 TIFF](https://products.aspose.com/slides/python-net/conversion/pdf-to-tiff/)、以及 [PDF 转 XML](https://products.aspose.com/slides/python-net/conversion/pdf-to-xml/)——也受到支持。 + +{{% /alert %}} + +## **常见问题** + +**Aspose.Slides for Python 能否从 PDF 中移除应用程序信息?** + +不能,Aspose.Slides for Python 会自动在输出 PDF 中包含 API 信息和版本号。此信息无法修改或移除。 + +**如何仅在 PDF 转换中包含特定幻灯片?** + +您可以通过将幻灯片索引数组传递给 `save` 方法来指定要转换的幻灯片。 + +**是否可以在转换期间为 PDF 设置密码保护?** + +可以,您可以在将演示文稿保存为 PDF 之前使用 `PdfOptions` 类设置密码并定义访问权限。 + +**Aspose.Slides 是否支持将 PDF 转换为其他格式?** + +支持,Aspose.Slides 能将 PDF 转换为 HTML、图像格式(JPG、PNG)、SVG、TIFF 和 XML 等格式。 + +**如何确保我的 PDF 符合可访问性标准?** + +在 `PdfOptions` 中将 `compliance` 属性设置为 `PDF_A1A`、`PDF_A1B` 或 `PDF_UA`,即可确保符合可访问性指南。 + +**是否可以在 PDF 输出中包含隐藏幻灯片?** + +可以,通过将 `PdfOptions` 中的 `show_hidden_slides` 属性设为 `True`,隐藏幻灯片将被包含在 PDF 中。 + +**如何在转换期间调整图像质量和分辨率?** + +使用 `PdfOptions` 中的 `jpeg_quality` 和 `sufficient_resolution` 属性来控制生成的 PDF 中图像的质量和分辨率。 + +**Aspose.Slides 会自动处理字体替代吗?** + +Aspose.Slides 会在转换过程中检测字体替代,您可以使用 `SaveOptions` 中的 `warning_callback` 属性(目前受限)来处理它们。 + +## **其他资源** -{{% /alert %}} \ No newline at end of file +- [Aspose.Slides for .NET 文档](https://docs.aspose.com/slides/python-net/) +- [Aspose.Slides API 参考](https://reference.aspose.com/slides/python-net/) +- [Aspose 免费在线转换器](https://products.aspose.app/slides/conversion) \ No newline at end of file diff --git a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md index 7cb0cd0a57..f0e4683bd4 100644 --- a/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md +++ b/zh/python-net/developer-guide/manage-presentation/convert-presentation/convert-powerpoint/convert-ppt-to-pptx/_index.md @@ -11,18 +11,18 @@ keywords: - 演示文稿 - Python - Aspose.Slides -description: "使用 Aspose.Slides 在 Python 中快速将旧版 PPT 演示文稿转换为现代 PPTX — 清晰的教程,免费代码示例,无需 Microsoft Office 依赖。" +description: "使用 Aspose.Slides 在 Python 中快速将传统 PPT 演示文稿转换为现代 PPTX — 清晰的教学、免费代码示例,无需 Microsoft Office 依赖。" --- ## **概述** -本文介绍如何使用 Python 将 PowerPoint 演示文稿的 PPT 格式转换为 PPTX 格式,以及使用在线 PPT 转 PPTX 转换应用程序。涵盖以下主题: +本文说明如何使用 Python 以及在线 PPT 到 PPTX 转换应用程序,将 PowerPoint 演示文稿的 PPT 格式转换为 PPTX 格式。涵盖以下主题: - 使用 Python 将 PPT 转换为 PPTX ## **Python 将 PPT 转换为 PPTX** -有关将 PPT 转换为 PPTX 的 Python 示例代码,请参见下节,即[Convert PPT to PPTX](#convert-ppt-to-pptx)。它仅仅加载 PPT 文件并以 PPTX 格式保存。通过指定不同的保存格式,您还可以将 PPT 文件保存为许多其他格式,如 PDF、XPS、ODP、HTML 等,详见以下文章: +有关将 PPT 转换为 PPTX 的 Python 示例代码,请参见下面的章节,即 [Convert PPT to PPTX](#convert-ppt-to-pptx)。它仅加载 PPT 文件并以 PPTX 格式保存。通过指定不同的保存格式,还可以将 PPT 文件保存为 PDF、XPS、ODP、HTML 等多种格式,详见以下文章: - [Python Convert PPT to PDF](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-pdf/) - [Python Convert PPT to XPS](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-xps/) @@ -30,14 +30,14 @@ description: "使用 Aspose.Slides 在 Python 中快速将旧版 PPT 演示文 - [Python Convert PPT to ODP](https://docs.aspose.com/slides/python-net/save-presentation/) - [Python Convert PPT to Image](https://docs.aspose.com/slides/python-net/convert-powerpoint-to-png/) -## **关于 PPT 转 PPTX 转换** -使用 Aspose.Slides API 将旧的 PPT 格式转换为 PPTX。如果需要将成千上万的 PPT 演示文稿转换为 PPTX 格式,最佳方案是通过编程实现。借助 Aspose.Slides API,只需几行代码即可完成。该 API 完全兼容 PPT 转 PPTX,并且可以: +## **关于 PPT 到 PPTX 转换** +使用 Aspose.Slides API 将旧的 PPT 格式转换为 PPTX。如果需要将成千上万的 PPT 演示文稿转换为 PPTX 格式,最佳解决方案是以编程方式完成。借助 Aspose.Slides API,只需几行代码即可实现。该 API 完全兼容将 PPT 演示文稿转换为 PPTX,并且可以: -- 转换复杂的母版、布局和幻灯片结构。 -- 转换包含图表的演示文稿。 -- 转换包含组合形状、自动形状(如矩形和椭圆)以及自定义几何形状的演示文稿。 -- 转换为自动形状提供纹理和图片填充样式的演示文稿。 -- 转换包含占位符、文本框和文本占位符的演示文稿。 +- 将复杂的母版、布局和幻灯片结构转换。 +- 将包含图表的演示文稿转换。 +- 将包含组合形状、自动形状(如矩形和椭圆)以及自定义几何形状的演示文稿转换。 +- 将对自动形状使用纹理和图片填充样式的演示文稿转换。 +- 将包含占位符、文本框和文本占位符的演示文稿转换。 {{% alert color="primary" %}} @@ -47,56 +47,52 @@ description: "使用 Aspose.Slides 在 Python 中快速将旧版 PPT 演示文 [![todo:image_alt_text](ppt-to-pptx.png)](https://products.aspose.app/slides/conversion/ppt-to-pptx) -此应用基于 **Aspose.Slides API** 构建,您可以看到基本 PPT 转 PPTX 转换功能的实时示例。Aspose.Slides Conversion 是一个网页应用,允许您拖放 PPT 格式的演示文稿文件并下载已转换为 PPTX 的文件。 +此应用基于 **Aspose.Slides API** 构建,您可以看到基本 PPT 到 PPTX 转换功能的实时示例。Aspose.Slides Conversion 是一个 Web 应用,允许您拖放 PPT 格式的演示文件并下载转换后的 PPTX。 -查找其他实时的[**Aspose.Slides Conversion**](https://products.aspose.app/slides/conversion/)示例。 +查找其他实时的 [**Aspose.Slides 转换**](https://products.aspose.app/slides/conversion/) 示例。 {{% /alert %}} ## **将 PPT 转换为 PPTX** -要将 PPT 转换为 PPTX,只需将文件名和保存格式传递给 [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 方法,使用 [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类。下面的 Python 代码示例使用默认选项将演示文稿从 PPT 转换为 PPTX。 +要将 PPT 转换为 PPTX,只需将文件名和保存格式传递给 [**Save**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 方法的 [**Presentation**](https://reference.aspose.com/slides/python-net/aspose.slides/presentation/) 类。下面的 Python 代码示例使用默认选项将演示文稿从 PPT 转换为 PPTX。 ```python import aspose.slides as slides # 实例化一个表示 PPT 文件的 Presentation 对象 pres = slides.Presentation("PPTtoPPTX.ppt") -# 将演示文稿保存为 PPTX 格式 +# 以 PPTX 格式保存演示文稿 pres.save("PPTtoPPTX_out.pptx", slides.export.SaveFormat.PPTX) ``` -阅读更多关于[**PPT vs PPTX**](/slides/zh/python-net/ppt-vs-pptx/)演示文稿格式以及[**Aspose.Slides 支持 PPT 转 PPTX 转换**](/slides/zh/python-net/convert-ppt-to-pptx/)的信息。 +了解更多关于 [**PPT 与 PPTX**](/slides/zh/python-net/ppt-vs-pptx/) 演示文稿格式以及 [**Aspose.Slides 支持 PPT 到 PPTX 转换**](/slides/zh/python-net/convert-ppt-to-pptx/) 的信息。 -## 常见问题 +## **常见问题** -### **PPT 和 PPTX 格式有什么区别?** +**PPT 与 PPTX 格式有什么区别?** -PPT 是 Microsoft PowerPoint 使用的较早的二进制文件格式,而 PPTX 是随 Microsoft Office 2007 引入的基于 XML 的新格式。PPTX 文件提供更好的性能、更小的文件大小和更完善的数据恢复能力。 +PPT 是 Microsoft PowerPoint 使用的旧二进制文件格式,而 PPTX 是随 Microsoft Office 2007 引入的基于 XML 的新格式。PPTX 文件提供更好的性能、更小的文件大小以及改进的数据恢复能力。 -### **我可以使用 Python 将 PPT 转换为 PPTX 吗?** +**我可以使用 Python 将 PPT 转换为 PPTX 吗?** -是的,使用 Aspose.Slides for Python via .NET 库,您只需几行代码即可加载 PPT 文件并以 PPTX 格式保存。 +是的,使用 Aspose.Slides for Python via .NET 库,您可以轻松加载 PPT 文件并仅用几行代码将其保存为 PPTX 格式。 -### **进行 PPT 到 PPTX 转换是否必须使用 Aspose.Slides for Python via .NET?** +**Aspose.Slides 支持批量将多个 PPT 文件转换为 PPTX 吗?** -是的,Aspose.Slides API 提供了转换、操作和保存 PowerPoint 演示文稿所需的所有方法和类,无需依赖 Microsoft PowerPoint。 +是的,您可以在循环中使用 Aspose.Slides 将多个 PPT 文件以编程方式转换为 PPTX,适用于批量转换场景。 -### **Aspose.Slides 是否支持批量将多个 PPT 文件转换为 PPTX?** +**转换后内容和格式会被保留吗?** -是的,您可以在循环中使用 Aspose.Slides 编程批量转换多个 PPT 文件为 PPTX,适用于批量转换场景。 +Aspose.Slides 在转换演示文稿时保持高保真度。幻灯片布局、动画、形状、图表以及其他设计元素在 PPT 到 PPTX 转换过程中都能得到保留。 -### **转换后内容和格式会被保留吗?** +**我可以将 PPT 文件转换为 PDF 或 HTML 等其他格式吗?** -Aspose.Slides 在转换演示文稿时保持高保真度。幻灯片布局、动画、形状、图表以及其他设计元素在 PPT 转 PPTX 过程中都会被保留。 +是的,Aspose.Slides 支持将 PPT 文件转换为多种格式,包括 PDF、XPS、HTML、ODP,以及 PNG、JPEG 等图像格式。 -### **我可以将 PPT 文件转换为 PDF 或 HTML 等其他格式吗?** +**可以在未安装 Microsoft PowerPoint 的情况下将 PPT 转换为 PPTX 吗?** -是的,Aspose.Slides 支持将 PPT 文件转换为多种格式,包括 PDF、XPS、HTML、ODP,以及 PNG、JPEG 等图片格式。 +是的,Aspose.Slides for Python via .NET 是独立的 API,无需 Microsoft PowerPoint 或任何第三方软件即可执行转换。 -### **是否可以在没有安装 Microsoft PowerPoint 的情况下进行 PPT 到 PPTX 转换?** +**是否有在线工具可用于 PPT 到 PPTX 转换?** -可以,Aspose.Slides for Python via .NET 是独立的 API,无需 Microsoft PowerPoint 或任何第三方软件即可完成转换。 - -### **是否有在线工具可用于 PPT 到 PPTX 转换?** - -是的,您可以使用免费的[Aspose.Slides PPT to PPTX Converter](https://products.aspose.app/slides/conversion/ppt-to-pptx)网页应用,在浏览器中直接完成转换,无需编写任何代码。 \ No newline at end of file +是的,您可以使用免费的 [Aspose.Slides PPT 到 PPTX 转换器](https://products.aspose.app/slides/conversion/ppt-to-pptx) Web 应用,在浏览器中直接完成转换,无需编写任何代码。 diff --git a/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md b/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md new file mode 100644 index 0000000000..9d6a117c00 --- /dev/null +++ b/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/_index.md @@ -0,0 +1,194 @@ +--- +title: "在 Python 中实现 PowerPoint 自动化:轻松创建动态演示文稿" +linktitle: PowerPoint 自动化生成 +type: docs +weight: 20 +url: /zh/python-net/automating-powerpoint-generation-on-cloud-platforms/ +keywords: +- 云平台 +- 自动化 PowerPoint 生成 +- 编程生成演示文稿 +- PowerPoint 自动化 +- 动态幻灯创建 +- 自动化业务报告 +- PPT 自动化 +- Python 演示 +- Python +- Aspose.Slides +description: "使用 Aspose.Slides for Python 在云平台上实现幻灯片自动创建——快速且可靠地生成、编辑和转换 PowerPoint 与 OpenDocument 文件。" +--- + +## **简介** + +手动创建 PowerPoint 演示文稿可能既耗时又重复——尤其是内容基于经常变化的动态数据时。无论是生成每周业务报告、编写教学材料,还是制作面向客户的销售演示稿,自动化都能节省大量时间并确保团队之间的一致性。 + +对 Python 开发者而言,自动化创建 PowerPoint 演示文稿提供了强大的可能性。您可以将生成幻灯片的功能集成到 Web 门户、桌面工具、后端服务或云平台中,动态地将数据转换为专业且具品牌形象的演示文稿——按需生成。 + +本文将探讨在 Python 应用程序(包括云平台部署)中自动生成 PowerPoint 的常见使用场景,以及其为何成为现代解决方案的关键特性。从实时业务数据抽取到将文本或图像转换为幻灯片,目标是将原始内容转化为结构化、可视化的形式,让受众一眼即懂。 + +## **Python 中 PowerPoint 自动化的常见使用场景** + +在需要动态组装、个性化或频繁更新演示文稿内容的场景中,自动化生成 PowerPoint 尤为有用。以下是一些最常见的真实业务场景: + +- **业务报告与仪表盘** + 通过从数据库或 API 拉取实时数据,生成销售摘要、关键绩效指标或财务绩效报告。 + +- **个性化销售与营销稿件** + 自动使用 CRM 或表单数据创建针对特定客户的推介稿,确保快速交付并保持品牌一致性。 + +- **教学内容** + 将学习材料、测验或课程摘要转换为结构化的幻灯片,供电子学习平台使用。 + +- **数据与 AI 驱动的洞察** + 利用自然语言处理或分析引擎,将原始数据或长文本转化为精炼的演示稿。 + +- **媒体类幻灯片** + 将上传的图片、带注释的截图或视频关键帧连同说明文字组装成演示文稿。 + +- **文档转换** + 自动将 Word 文档、PDF 或表单输入转换为可视化的演示文稿,几乎无需人工操作。 + +- **开发者与技术工具** + 直接从代码或 markdown 内容生成技术演示、文档概览或变更日志的幻灯片格式。 + +通过自动化这些工作流,组织能够规模化内容创作,保持一致性,并释放时间用于更具战略性的工作。 + +## **让我们动手编码** + +本示例选用 **[Aspose.Slides for Python](https://products.aspose.com/slides/python-net/)** 来演示 PowerPoint 自动化,因为它功能全面且使用便捷,适合以编程方式处理演示文稿。 + +相较于需要直接操作 Open XML 结构的底层库(往往导致代码冗长且难以阅读),Aspose.Slides 提供了更高层次的 API。它把复杂性抽象掉,使开发者能够专注于演示逻辑——例如布局、格式以及数据绑定——而无需深入了解 PowerPoint 文件格式的细节。 + +虽然 Aspose.Slides 是商业库,但它提供了一个 [免费试用](https://releases.aspose.com/slides/python-net/) 版本,完全可以运行本文提供的示例。对于演示思路、测试功能或构建概念验证(本文即为示例)而言,试用版已绰绰有余。这使得在不先行购买许可证的情况下,仍可方便地尝试自动化生成 PowerPoint。 + +下面我们将一步步构建一个包含真实业务内容的示例演示文稿。 + +### **创建标题幻灯片** + +我们首先创建一个新演示文稿,并添加包含主标题和副标题的标题幻灯片。 +```py +import aspose.slides as slides +import aspose.slides.charts as charts +import aspose.pydrawing as draw + +with slides.Presentation() as presentation: + + slide_0 = presentation.slides[0] + slide_0.layout_slide = presentation.layout_slides.get_by_type(slides.SlideLayoutType.TITLE) + + title_shape = slide_0.shapes[0] + subtitle_shape = slide_0.shapes[1] + + title_shape.text_frame.text = "Quarterly Business Review – Q1 2025" + subtitle_shape.text_frame.text = "Prepared for Executive Team" +``` + + +![标题幻灯片](slide_0.png) + +### **添加带柱状图的幻灯片** + +接下来,创建一张展示区域销售业绩的柱状图幻灯片。 +```py +layout_slide_1 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_1 = presentation.slides.add_empty_slide(layout_slide_1) + +chart = slide_1.shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 100, 100, 500, 350, False) +chart.legend.position = charts.LegendPositionType.BOTTOM +chart.has_title = True +chart.chart_title.add_text_frame_for_overriding("Data from January – March 2025") +chart.chart_title.overlay = False + +workbook = chart.chart_data.chart_data_workbook +worksheet_index = 0 + +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 1, 0, "North America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 2, 0, "Europe")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 3, 0, "Asia Pacific")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 4, 0, "Latin America")) +chart.chart_data.categories.add(workbook.get_cell(worksheet_index, 5, 0, "Middle East")) + +series = chart.chart_data.series.add(workbook.get_cell(worksheet_index, 0, 1, "Sales ($K)"), chart.type) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 1, 1, 480)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 2, 1, 365)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 3, 1, 290)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 4, 1, 150)) +series.data_points.add_data_point_for_bar_series(workbook.get_cell(worksheet_index, 5, 1, 120)) +``` + + +![带图表的幻灯片](slide_1.png) + +### **添加带表格的幻灯片** + +现在,为关键绩效指标添加一张表格幻灯片。 +```py +layout_slide_2 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_2 = presentation.slides.add_empty_slide(layout_slide_2) + +column_widths = [200, 100] +row_heights = [40, 40, 40, 40, 40] + +table = slide_2.shapes.add_table(200, 200, column_widths, row_heights) +table.columns[0][0].text_frame.text = "Metric" +table.columns[1][0].text_frame.text = "Value" +table.columns[0][1].text_frame.text = "Total Revenue" +table.columns[1][1].text_frame.text = "$1.4M" +table.columns[0][2].text_frame.text = "Gross Margin" +table.columns[1][2].text_frame.text = "54%" +table.columns[0][3].text_frame.text = "New Customers" +table.columns[1][3].text_frame.text = "340" +table.columns[0][4].text_frame.text = "Customer Retention" +table.columns[1][4].text_frame.text = "87%" +``` + + +![带表格的幻灯片](slide_2.png) + +### **添加包含项目符号的汇总幻灯片** + +最后,使用简洁的项目符号列表加入汇总与行动计划幻灯片。 +```py +def create_bullet_paragraph(text): + paragraph = slides.Paragraph() + paragraph.paragraph_format.bullet.type = slides.BulletType.SYMBOL + paragraph.paragraph_format.indent = 15 + paragraph.paragraph_format.default_portion_format.fill_format.fill_type = slides.FillType.SOLID + paragraph.paragraph_format.default_portion_format.fill_format.solid_fill_color.color = draw.Color.black + paragraph.text = text + return paragraph +``` + +```py +layout_slide_3 = presentation.layout_slides.get_by_type(slides.SlideLayoutType.BLANK) +slide_3 = presentation.slides.add_empty_slide(layout_slide_3) + +bullet_list = slide_3.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 50, 600, 200) +bullet_list.fill_format.fill_type = slides.FillType.NO_FILL +bullet_list.line_format.fill_format.fill_type = slides.FillType.NO_FILL + +bullet_list.text_frame.paragraphs.clear() +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Strong performance in North America; growth opportunity in Asia Pacific")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Improve marketing outreach in underperforming regions")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Prepare new campaign strategy for Q2")) +bullet_list.text_frame.paragraphs.add(create_bullet_paragraph("Schedule follow-up review in early July")) +``` + + +![带文本的幻灯片](slide_3.png) + +### **保存演示文稿** + +完成后,将演示文稿保存到磁盘: +```py +presentation.save("presentation.pptx", slides.export.SaveFormat.PPTX) +``` + + +## **结论** + +在 Python 应用中自动化生成 PowerPoint 能显著节省时间并降低手工工作量。通过集成动态图表、表格和文本,开发者可以快速产出一致且专业的演示文稿——无论是业务报告、客户会议还是教学内容。 + +本文演示了如何从零创建演示文稿,包括添加标题幻灯片、图表和表格。此方法可广泛应用于各种需要自动化、数据驱动演示的场景。 + +借助合适的工具,Python 开发者能够高效实现 PowerPoint 自动化,提升生产力并确保演示文稿的一致性。 \ No newline at end of file diff --git a/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png b/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png new file mode 100644 index 0000000000..baf8631f30 Binary files /dev/null and b/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_0.png differ diff --git a/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png b/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png new file mode 100644 index 0000000000..b9135880bf Binary files /dev/null and b/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_1.png differ diff --git a/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png b/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png new file mode 100644 index 0000000000..2b57f9f3c5 Binary files /dev/null and b/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_2.png differ diff --git a/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png b/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png new file mode 100644 index 0000000000..e19bbc7054 Binary files /dev/null and b/zh/python-net/slides-on-cloud-platforms/automating-powerpoint-generation/slide_3.png differ