page 245

Adding an image in table cell can make your PPT files more different. Spire.Presentation allows developers add images to table cells. Here we introduce an example to add an image to a table cell in PPT.

Step 1: Create a new PPT document instance.

Presentation presentation = new Presentation();

Step 2: Call AppendTable() method to create a table and set the table style.

ISlide slide = presentation.Slides[0];
Double[] widths = new double[] { 100, 100};
Double[] heights = new double[] { 100, 100};
ITable table = presentation.Slides[0].Shapes.AppendTable(100, 80, widths, heights);
table.StylePreset = TableStylePreset.LightStyle1Accent2;

Step 3: Use table[0, 0].FillFormat.PictureFill.Picture.EmbedImage to embed the image to the cell. The FillType can be changed.

IImageData imgData = presentation.Images.Append(Image.FromFile("1.jpg"));
table[0, 0].FillFormat.FillType = FillFormatType.Picture;
table[0, 0].FillFormat.PictureFill.Picture.EmbedImage = imgData;
table[0, 0].FillFormat.PictureFill.FillType = PictureFillType.Stretch;

Step 4: Save and review.

presentation.SaveToFile("table.pptx", FileFormat.Pptx2010);
System.Diagnostics.Process.Start("table.pptx");

Here is the screenshot:

How to add an image in Table Cell via Spire.Presentation

Layout of PPT concerns visual effect directly. PPT Viewer may have different feelings and thoughts such as tense, confused or anxious about different layouts. We can make our PPT files show main information and weaken minor information. This article will show how to set the layout for your slide via Spire.Presentation. Here are the steps:

Step 1: Create a PPT document.

Presentation ppt = new Presentation();

Step2: Set the layout for slide. Spire.Presentation offers 11 kinds of layout just as Microsoft PowerPoint supports.

ISlide slide = ppt.Slides.Append(SlideLayoutType.Title); 

Change the layout of the slide in .NET

Step 3: Add content for Title and Text.

IAutoShape shape = slide.Shapes[0] as IAutoShape;
shape.TextFrame.Text = "Hello Wolrd! –> This is title";

shape = slide.Shapes[1] as IAutoShape;
shape.TextFrame.Text = "E-iceblue Support Team -> This is content";

Step 4: Save and review.

ppt.SaveToFile("Result.PPTx", FileFormat.PPTx2010);
System.Diagnostics.Process.Start("Result.PPTx");

Here is the result:

Change the layout of the slide in .NET

Then change another layout (Picture With Caption) to show: PictureAndCaption

Use function AppendEmbedImage to add image, and notice the order of the shape in PictureAndCaption is Shapes[1], Shapes[0] and Shapes[2].

Full code:

using Spire.Presentation;
namespace SetLayout
{
    class Program
    {
        static void Main(string[] args)
        {
            Presentation ppt = new Presentation();
            ISlide slide = ppt.Slides.Append(SlideLayoutType.PictureAndCaption);

            string ImageFile2 = "1.jpg";
            IAutoShape shape0 = slide.Shapes[1] as IAutoShape;

            slide.Shapes.AppendEmbedImage(ShapeType.Rectangle, ImageFile2, shape0.Frame.Rectangle);


            IAutoShape shape = slide.Shapes[0] as IAutoShape;
            shape.TextFrame.Text = "Title - Cattle back mountain";

            IAutoShape shape2 = slide.Shapes[2] as IAutoShape;
            shape2.TextFrame.Text = " Text content - Got name because it's slender ridge seems cow back";


            ppt.SaveToFile("Sample.pptx", FileFormat.Pptx2010);
            System.Diagnostics.Process.Start("Sample.PPTx");


        }
    }
}

Result:

Change the layout of the slide in .NET

PDF attachments allow users to see more details on a particular point by visiting attachments inside the PDF. Basically, there are two types of attachments in PDF: document level attachment and annotation attachment. Below are the differences between them.

  • Document Level Attachment (represented by PdfAttachment class): A file attached to a PDF at the document level won't appear on a page, but only appear in the PDF reader's "Attachments" panel.
  • Annotation Attachment (represented by PdfAttachmentAnnotation class): A file that is attached to a specific position of a page. Annotation attachments are shown as a paper clip icon on the page; reviewers can double-click the icon to open the file.

In this article, you will learn how to extract these two kinds of attachments from a PDF document in C# and VB.NET using Spire.PDF for .NET.

Install Spire.PDF for .NET

To begin with, you need to add the DLL files included in the Spire.PDF for.NET package as references in your .NET project. The DLL files can be either downloaded from this link or installed via NuGet.

PM> Install-Package Spire.PDF

Extract Attachments from PDF in C# and VB.NET

The document level attachments of a PDF document can be obtained through PdfDocument.Attachments property. The following steps illustrate how to extract all document level attachments from a PDF document and save them to a local folder.

  • Create a PdfDocument object.
  • Load a PDF file using PdfDocument.LoadFromFile() method.
  • Get the attachment collection from the document through PdfDocument.Attachments property.
  • Get the data of a specific attachment through PdfAttachment.Data property.
  • Write the data to a file and save to a specified folder.
  • C#
  • VB.NET
using Spire.Pdf;
using Spire.Pdf.Attachments;
using System.Net.Mail;

namespace ExtractAttachments
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create a PdfDocument object
            PdfDocument doc = new PdfDocument();

            //Load a PDF file that contains attachments
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Attachments.pdf");

            //Get the attachment collection of the PDF document
            PdfAttachmentCollection attachments = doc.Attachments;

            //Specific output folder path
            string outputFolder = "C:\\Users\\Administrator\\Desktop\\output\\";

            //Loop through the collection
            for (int i = 0; i < attachments.Count; i++)
            {   
	          //Write attachment to a file
                File.WriteAllBytes(outputFolder + attachments[i].FileName, attachments[i].Data);
            }
        }
    }
}

C#/VB.NET: Extract Attachments from PDF

Extract Annotation Attachments from PDF in C# and VB.NET

Annotation attachment is a page-based element. To get annotations from a specific page, use PdfPageBase.AnnotationsWidget property. After that, you’ll need to determine if a specific annotation is an annotation attachment. The follows are the steps to extract annotation attachments from a PDF document and save them to a local folder.

  • Create a PdfDocument object.
  • Load a PDF file using PdfDocument.LoadFromFile() method.
  • Get a specific page from the document through PdfDocument.Pages[] property.
  • Get the annotation collection from the page through PdfPageBase.AnnotationsWidget property.
  • Determine if a specific annotation is an instance of PdfAttachmentAnnotationWidget. If yes, write the annotation attachment to a file and save it to a specified folder.
  • C#
  • VB.NET
using Spire.Pdf;
using Spire.Pdf.Annotations;

namespace ExtractAnnotationAttachments
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create a PdfDocument object
            PdfDocument doc = new PdfDocument();

            //Load a PDF file that contains attachments
            doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\AnnotationAttachments.pdf");

            //Specific output folder path
            string outputFolder = "C:\\Users\\Administrator\\Desktop\\Output\\";

            //Loop through the pages
            for (int i = 0; i < doc.Pages.Count; i++)
            {
                //Get the annotation collection
                PdfAnnotationCollection collection = doc.Pages[i].Annotations;

                //Loop through the annotations
                for (int j = 0; j < collection.Count; j++)
                {
                    //Determine if an annotation is an instance of PdfAttachmentAnnotationWidget
                    if (collection[j] is PdfAttachmentAnnotationWidget)
                    {
                        //Write annotation attachment to a file
                        PdfAttachmentAnnotationWidget attachmentAnnotation = (PdfAttachmentAnnotationWidget)collection[j];
                        String fileName = Path.GetFileName(attachmentAnnotation.FileName);
                        File.WriteAllBytes(outputFolder + fileName, attachmentAnnotation.Data);
                    }
                }
            }
        }
    }
}

C#/VB.NET: Extract Attachments from PDF

Apply for a Temporary License

If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.

page 245