# Λύση Εργασίας για Αλλαγή Μεγέθους Γραφήματος σε PPTX

> Διορθώστε την απροσδόκητη αλλαγή μεγέθους του γραφήματος σε PPTX όταν χρησιμοποιείτε ενσωματωμένα αντικείμενα OLE Excel με το Aspose.Slides for Python via .NET. Ορίστε σταθερές διαστάσεις γραφήματος ώστε να διατηρείται η συνέπεια των μεγεθών του γραφήματος και του πλαισίου OLE.

Source: https://docs.aspose.com/slides/el/python-net/working-solution-for-chart-resizing-in-pptx/
Updated: 2026-10-20


## **Επισκόπηση**

Τα γραφήματα Excel που ενσωματώνονται ως αντικείμενα OLE σε παρουσιάσεις PowerPoint χρησιμοποιώντας συστατικά Aspose μπορούν να αλλάξουν μέγεθος μετά την πρώτη ενεργοποίησή τους. Αυτό μπορεί να προκαλέσει διακριτή διαφορά στην εμφάνιση του γραφήματος πριν και μετά την ενεργοποίηση. Αυτό το άρθρο εξηγεί γιατί συμβαίνει η αλλαγή μεγέθους και δείχνει πώς να την αποτρέψετε ταιριάζοντας τις σταθερές διαστάσεις του γραφήματος με το πλαίσιο OLE.

Στο [Δημιουργία Γραφημάτων Excel και Ενσωμάτωση τους ως Αντικείμενα OLE σε Παρουσιάσεις](/slides/el/python-net/creating-excel-chart-and-embedding-it-in-presentation-as-ole-object/), εξηγήσαμε πώς να δημιουργήσετε ένα γράφημα Excel με το Aspose.Cells for Python via .NET και να το ενσωματώσετε σε μια παρουσίαση PowerPoint χρησιμοποιώντας το Aspose.Slides for Python via .NET. Για να αντιμετωπίσουμε το [ζήτημα προεπισκόπησης αντικειμένου](/slides/el/python-net/object-preview-issue-when-adding-oleobjectframe/), αντιστοιχίσαμε την εικόνα του γραφήματος στο πλαίσιο OLE του γραφήματος. Στην παραγόμενη παρουσίαση, όταν κάνετε διπλό κλικ στο πλαίσιο OLE που εμφανίζει την εικόνα του γραφήματος, ενεργοποιείται το γράφημα Excel. Οι χρήστες μπορούν να επεξεργαστούν το ενσωματωμένο βιβλίο εργασίας Excel και στη συνέχεια να επιστρέψουν στη διαφάνεια κάνοντας κλικ εκτός του ενεργοποιημένου βιβλίου εργασίας. Το μέγεθος του πλαισίου OLE αλλάζει όταν ο χρήστης επιστρέφει στη διαφάνεια, και ο παράγοντας αλλαγής μεγέθους διαφέρει ανάλογα με τα αρχικά μεγέθη τόσο του πλαισίου OLE όσο και του ενσωματωμένου βιβλίου εργασίας Excel.

## **Αιτία Αλλαγής Μεγέθους**

Το ενσωματωμένο βιβλίο εργασίας Excel έχει τις δικές του διαστάσεις παραθύρου, τις οποίες το Excel προσπαθεί να διατηρήσει όταν το αντικείμενο ενεργοποιείται για πρώτη φορά. Το πλαίσιο OLE στη διαφάνεια έχει ανεξάρτητα ορισμένες διαστάσεις. Όταν το βιβλίο εργασίας Excel ενεργοποιείται, το Excel και το PowerPoint διαπραγματεύονται το μέγεθος του αντικειμένου ώστε να διατηρήσουν τις αναλογίες του ως μέρος της διαδικασίας ενσωμάτωσης. Διαφορές μεταξύ του παραθύρου του βιβλίου εργασίας και του πλαισίου OLE μπορούν επομένως να προκαλέσουν αλλαγή μεγέθους του αντικειμένου.

## **Λειτουργική Λύση**

Ταιριάξτε το μέγεθος του γραφήματος με το πλαίσιο OLE στη διαφάνεια και διατηρήστε τις διαστάσεις του γραφήματος ανεξάρτητες από το παράθυρο του βιβλίου εργασίας. Αυτή η λύση λειτουργεί με μια νέα παρουσίαση ή με ένα υπάρχον πρότυπο.

Το παράδειγμα απαιτεί το Aspose.Cells for Python via .NET και το Aspose.Slides for Python via .NET. Δημιουργεί ένα απλό γράφημα ράβδων σε ένα ενεργό φύλλο γραφήματος και ενσωματώνει το βιβλίο εργασίας σε μορφή XLS. Δεν έχει οριστεί εικόνα προεπισκόπησης γραφήματος· το γράφημα γίνεται ορατό όταν το αντικείμενο OLE ενεργοποιείται στο PowerPoint.

Το παράδειγμα δημιουργεί μια νέα παρουσίαση με ένα πλαίσιο OLE 9,5 × 4 ίντσες, τοποθετημένο 0,5 ίντσες από το αριστερό άκρο και 1 ίντσα από την κορυφή. Οι συντεταγμένες και οι διαστάσεις της διαφάνειας δίνεται σε πόντους (72 πόντοι ανά ίντσα). Για μια υπάρχουσα παρουσίαση, δείτε [Χρήση Προτύπου](#use-a-template).

## **Ορισμός Σταθερού Μεγέθους Γραφήματος**

Ορίστε το [size_with_window](https://reference.aspose.com/cells/python-net/aspose.cells.charts/chart/size_with_window/) σε false ώστε οι διαστάσεις του γραφήματος να είναι ανεξάρτητες από το παράθυρο του βιβλίου εργασίας. Ορίστε τις διαστάσεις του [chart_object](https://reference.aspose.com/cells/python-net/aspose.cells.charts/chart/chart_object/) μέσω των [width](https://reference.aspose.com/cells/python-net/aspose.cells.drawing/shape/width/) και [height](https://reference.aspose.com/cells/python-net/aspose.cells.drawing/shape/height/), μετατρέποντας τους πόντους σε εικονοστοιχεία χρησιμοποιώντας 96 εικονοστοιχεία ανά ίντσα: ένα πλαίσιο 684 × 288 πόντους αντιστοιχεί σε γράφημα 912 × 384 εικονοστοιχείων. Ορίστε το [print_size](https://reference.aspose.com/cells/python-net/aspose.cells.charts/chart/print_size/) στην τιμή CUSTOM του [PrintSizeType](https://reference.aspose.com/cells/python-net/aspose.cells/printsizetype/). Το παράδειγμα ενσωματώνει το βιβλίο εργασίας με το [add_ole_object_frame](https://reference.aspose.com/slides/python-net/aspose.slides/ishapecollection/add_ole_object_frame/) και αποθηκεύει μια παρουσίαση με ένα πλαίσιο OLE 9,5 × 4 ίντσες.

```python
import io
import aspose.cells as cells
import aspose.cells.charts as charts
import aspose.slides as slides

workbook = cells.Workbook()
data_sheet = workbook.worksheets[0]
data_sheet.name = "Data"
data_sheet.cells.get("A1").put_value(10)
data_sheet.cells.get("A2").put_value(20)

chart_sheet_index = workbook.worksheets.add(cells.SheetType.CHART)
chart_sheet = workbook.worksheets[chart_sheet_index]
chart_index = chart_sheet.charts.add(charts.ChartType.COLUMN, 0, 0, 20, 10)
chart = chart_sheet.charts[chart_index]
chart.n_series.add("Data!A1:A2", True)
workbook.worksheets.active_sheet_index = chart_sheet_index

with slides.Presentation() as presentation:
    slide = presentation.slides[0]

    # Οι συντεταγμένες και οι διαστάσεις της διαφάνειας δίνονται σε πόντους (72 πόντοι ανά ίντσα).
    width = 684.0  # 9,5 ίντσες.
    height = 288.0  # 4 ίντσες.

    chart.size_with_window = False
    # Μετατρέψτε τους πόντους σε εικονοστοιχεία γραφήματος χρησιμοποιώντας 96 εικονοστοιχεία ανά ίντσα.
    chart.chart_object.width = int(width / 72 * 96)
    chart.chart_object.height = int(height / 72 * 96)
    chart.print_size = cells.PrintSizeType.CUSTOM

    with io.BytesIO() as workbook_stream:
        workbook.save(workbook_stream, cells.SaveFormat.EXCEL_97_TO_2003)
        data_info = slides.dom.ole.OleEmbeddedDataInfo(workbook_stream.getvalue(), "xls")
        slide.shapes.add_ole_object_frame(36, 72, width, height, data_info)

    presentation.save("chart-fixed-size.pptx", slides.export.SaveFormat.PPTX)
```

## **Χρήση Προτύπου**

Η λογική μεγέθους είναι η ίδια για μια υπάρχουσα παρουσίαση. Για να προσαρμόσετε το παράδειγμα:

1. Φορτώστε την παρουσίαση προτύπου αντί να δημιουργήσετε μια κενή παρουσίαση.  
2. Ελέγξτε ότι η πρώτη διαφάνεια περιέχει τουλάχιστον τρία σχήματα, στη συνέχεια χρησιμοποιήστε το σχήμα στον δείκτη 2 ως χώρο κράτησης.  
3. Πάρτε το πλάτος και το ύψος του πλαισίου από αυτό το σχήμα αντί να χρησιμοποιήσετε τις σταθερές τιμές 684 και 288. Διατηρήστε τους υπολογισμούς μεγέθους αμετάβλητους.  
4. Προσθέστε το πλαίσιο OLE στη θέση του χώρου κράτησης αντί για τις σταθερές συντεταγμένες 36 και 72.  
5. Αφαιρέστε το χώρο κράτησης πριν αποθηκεύσετε την παρουσίαση.

## **FAQ**

**Γιατί το ενσωματωμένο γράφημα Excel αλλάζει μέγεθος μετά την ενεργοποίησή του στο PowerPoint;**

Αυτό συμβαίνει επειδή το Excel προσπαθεί να αποκαταστήσει το αρχικό μέγεθος του παραθύρου όταν ενεργοποιείται για πρώτη φορά, ενώ το πλαίσιο αντικειμένου OLE στο PowerPoint έχει τις δικές του διαστάσεις. Το PowerPoint και το Excel διαπραγματεύονται το μέγεθος για να διατηρήσουν την αναλογία διαστάσεων, πράγμα που μπορεί να προκαλέσει αλλαγή μεγέθους.

**Πώς μπορώ να διατηρήσω σταθερά τα μεγέθη του γραφήματος και του πλαισίου OLE;**

Ορίστε σταθερές διαστάσεις γραφήματος που ταιριάζουν με το πλαίσιο OLE και χρησιμοποιήστε προσαρμοσμένο μέγεθος εκτύπωσης γραφήματος πριν ενσωματώσετε το βιβλίο εργασίας. Το παραπάνω παράδειγμα δείχνει τις απαιτούμενες ρυθμίσεις και τις μετατροπές μονάδων.

**Είναι η αντιστοίχιση του μεγέθους του παραθύρου του βιβλίου εργασίας επαρκής;**

Η απλή αντιστοίχιση του μεγέθους του παραθύρου του βιβλίου εργασίας δεν αποτρέπει αξιόπιστα το πλαίσιο OLE από το να αλλάζει μέγεθος μετά την ενεργοποίηση. Χρησιμοποιήστε σταθερές διαστάσεις γραφήματος όπως φαίνεται στο παράδειγμα.

**Λειτουργεί αυτή η λύση τόσο με παρουσιάσεις βασισμένες σε πρότυπο όσο και με νέες παρουσιάσεις;**

Ναι. Για ένα πρότυπο, χρησιμοποιήστε τις διαστάσεις και τη θέση του χώρου κράτησης. Για μια νέα παρουσίαση, καθορίστε απευθείας τις διαστάσεις και τη θέση του πλαισίου.

**Μπορώ να χρησιμοποιήσω αυτό το παράδειγμα με γραφήματα που δημιουργήθηκαν σε άλλα προγράμματα λογιστικών φύλλων;**

Το παράδειγμα χρησιμοποιεί ένα βιβλίο εργασίας Excel που δημιουργήθηκε με το Aspose.Cells. Δεν δείχνει τη συμπεριφορά ενεργοποίησης για άλλα προγράμματα λογιστικών φύλλων.

## **Σχετικές Ενότητες**

- [Δημιουργία Γραφημάτων Excel και Ενσωμάτωση τους ως Αντικείμενα OLE σε Παρουσιάσεις](/slides/el/python-net/creating-excel-chart-and-embedding-it-in-presentation-as-ole-object/)
- [Αυτόματη Ενημέρωση Αντικειμένων OLE με Χρήση Πρόσθετου PowerPoint](/slides/el/net/updating-ole-objects-automatically-using-ms-powerpoint-add-in/)


