如何在C#中使用Aspose.PDF动态放置图像?

时间:2017-11-07 04:05:50

标签: c# image pdf aspose

我有一个C#脚本,我正在使用Aspose.PDF库。 我试图在垂直方向放置多个图像。

这是我正在做的事情。

  // Create pdf document
        Aspose.Pdf.Document document = new Aspose.Pdf.Document();
        Aspose.Pdf.Page page = document.Pages.Add();


        Aspose.Pdf.Text.TextFragment text = new Aspose.Pdf.Text.TextFragment("Einstein Picture");
        page.Paragraphs.Add(text);

        Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(100, 600, 300, 800);
        Aspose.Pdf.Rectangle rectangle1 = new Aspose.Pdf.Rectangle(100, 400, 300, 800);

        page.AddImage("C:/Users/Alan/Desktop/image.gif", rectangle);
        page.AddImage("C:/Users/Alan/Desktop/s.jpeg", rectangle1);


        document.Save("C:/Users/Alan/Desktop/Testpdf.pdf", Aspose.Pdf.SaveFormat.Pdf);

无论有多少张照片,如何将照片垂直对齐并留有一点间隙?

目前图片看起来像这样。 PDF image

1 个答案:

答案 0 :(得分:2)

@alan samuel,我请求您使用下面的代码片段,然后与我们分享您的反馈意见。这样您就可以放置多个垂直间隔的图像。

        // Instantiate Document object
        var pdf = new Aspose.Pdf.Document();
        //Add a page to the document
        var pdfImageSection = pdf.Pages.Add();
        DirectoryInfo dir = new DirectoryInfo(@"D:\Aspose Files\images\");
        FileInfo[] files = dir.GetFiles("*.jpg");
        //Iterate through multiple images
        foreach (var file in files)
        {
            FileStream stream = new FileStream(file.FullName, FileMode.Open);
            System.Drawing.Image img = new System.Drawing.Bitmap(stream);
            var image = new Aspose.Pdf.Image { ImageStream = stream };
            //Set appearance properties
            image.FixHeight = 300;
            image.FixWidth = 300;
            //Set margins for proper spacing and alignment
            image.Margin = new MarginInfo(5, 5, 5, 5);
            //Add the image to paragraphs of the document
            pdfImageSection.Paragraphs.Add(image);
        }
        //Save resultant document
        pdf.Save(@"D:\Aspose Files\Image2Pdf_out.pdf");

您只是在PDF页面上添加图像,而此代码段将图像添加到Paragraphs集合,并设置图像对象的margin属性可修复图像的对齐和间距。

如果您需要任何进一步的帮助,请告诉我们。我们很乐意提供帮助。

我与Aspose一起担任开发者布道者。