Aggiungere testo dinamicamente
Contents
[
Hide
]
Entrambi i metodi seguono questi passaggi:
- Crea una presentazione.
- Aggiungi una diapositiva vuota.
- Aggiungi una casella di testo.
- Imposta del testo.
- Scrivi la presentazione.
VSTO
private void AddTextBox()
{
//Crea una presentazione
PowerPoint.Presentation pres = Globals.ThisAddIn.Application
.Presentations.Add(Microsoft.Office.Core.MsoTriState.msoFalse);
//Ottieni il layout della diapositiva vuota
PowerPoint.CustomLayout layout = pres.SlideMaster.
CustomLayouts[7];
//Aggiungi una diapositiva vuota
PowerPoint.Slide sld = pres.Slides.AddSlide(1, layout);
//Aggiungi un testo
PowerPoint.Shape shp =sld.Shapes.AddTextbox
(Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal,150, 100, 400, 100);
//Imposta un testo
PowerPoint.TextRange txtRange = shp.TextFrame.TextRange;
txtRange.Text = "Text added dynamically";
txtRange.Font.Name = "Arial";
txtRange.Font.Bold = Microsoft.Office.Core.MsoTriState.msoTrue;
txtRange.Font.Size = 32;
//Scrivi l'output su disco
pres.SaveAs("outVSTOAddingText.ppt",
PowerPoint.PpSaveAsFileType.ppSaveAsPresentation,
Microsoft.Office.Core.MsoTriState.msoFalse);
}
Aspose.Slides
static void AddTextBox()
{
//Crea una presentazione
Presentation pres = new Presentation();
//La diapositiva vuota viene aggiunta per impostazione predefinita, quando crei
//la presentazione dal costruttore predefinito
//Quindi, non è necessario aggiungere alcuna diapositiva vuota
Slide sld = pres.GetSlideByPosition(1);
//Ottieni l'indice del font per Arial
//È sempre 0 se crei una presentazione da
//costruttore predefinito
int arialFontIndex = 0;
//Aggiungi una casella di testo
//Per aggiungerla, prima aggiungeremo un rettangolo
Shape shp = sld.Shapes.AddRectangle(1200, 800, 3200, 370);
//Nascondi la sua linea
shp.LineFormat.ShowLines = false;
//Quindi aggiungi un textframe al suo interno
TextFrame tf = shp.AddTextFrame("");
//Imposta un testo
tf.Text = "Text added dynamically";
Portion port = tf.Paragraphs[0].Portions[0];
port.FontIndex = arialFontIndex;
port.FontBold = true;
port.FontHeight = 32;
//Scrivi l'output su disco
pres.Write("outAspose.ppt");
}