Категория

C#/VB.NET: преобразование нескольких изображений в один файл PDF

2023-07-17 01:41:10

Установлено через NuGet

PM> Install-Package Spire.PDF

Ссылки по теме

Если у вас есть несколько изображений, которые вы хотите объединить в один файл для более удобного распространения или хранения, преобразование их в один PDF-документ — отличное решение. Этот процесс не только экономит место, но и гарантирует, что все ваши изображения будут храниться вместе в одном файле, что делает его удобным для совместного использования или передачи. В этой статье вы узнаете, как объединить несколько изображений в один PDF-документ на C# и VB.NET, используя Spire.PDF for .NET.

Установите Spire.PDF for .NET

Для начала вам нужно добавить файлы DLL, включенные в пакет Spire.PDF for .NET, в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить по этой ссылке или установить через NuGet.

PM> Install-Package Spire.PDF

Объединение нескольких изображений в один PDF-файл на C# и VB.NET

Чтобы преобразовать все изображения в папке в PDF, мы перебираем каждое изображение, добавляем новую страницу в PDF с тем же размером, что и изображение, а затем рисуем изображение на новой странице. Ниже приведены подробные шаги.

  • Создайте объект PdfDocument.
  • Установите поля страницы равными нулю, используя метод PdfDocument.PageSettings.SetMargins().
  • Получить папку, в которой хранятся изображения.
  • Переберите каждый файл изображения в папке и получите ширину и высоту определенного изображения.
  • Добавьте новую страницу той же ширины и высоты, что и изображение, в документ PDF с помощью метода PdfDocument.Pages.Add().
  • Нарисуйте изображение на странице с помощью метода PdfPageBase.Canvas.DrawImage().
  • Сохраните документ с помощью метода PdfDocument.SaveToFile().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Graphics;
    using System.Drawing;
    
    namespace ConvertMultipleImagesIntoPdf
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Set the page margins to 0
                doc.PageSettings.SetMargins(0);
    
                //Get the folder where the images are stored
                DirectoryInfo folder = new DirectoryInfo(@"C:\Users\Administrator\Desktop\Images");
    
                //Iterate through the files in the folder
                foreach (FileInfo file in folder.GetFiles())
                {
                    //Load a particular image
                    Image image = Image.FromFile(file.FullName);
    
                    //Get the image width and height
                    float width = image.PhysicalDimension.Width;
                    float height = image.PhysicalDimension.Height;
    
                    //Add a page that has the same size as the image
                    PdfPageBase page = doc.Pages.Add(new SizeF(width, height));
    
                    //Create a PdfImage object based on the image
                    PdfImage pdfImage = PdfImage.FromImage(image);
    
                    //Draw image at (0, 0) of the page
                    page.Canvas.DrawImage(pdfImage, 0, 0, pdfImage.Width, pdfImage.Height);
                }
    
                //Save to file
                doc.SaveToFile("CombinaImagesToPdf.pdf");
                doc.Dispose();
            }
        }
    }

C#/VB.NET: Convert Multiple Images into a Single PDF

Подать заявку на временную лицензию

Если вы хотите удалить оценочное сообщение из сгенерированных документов или избавиться от функциональных ограничений, пожалуйста запросите 30-дневную пробную лицензию для себя.

Смотрите также