Конвертация различных форматов изображений в PDF в .NET

Обзор

Эта статья объясняет, как конвертировать различные форматы изображений в PDF с использованием C#. В ней рассматриваются следующие темы.

Следующий фрагмент кода также работает с библиотекой Aspose.PDF.Drawing.

Конвертации изображений в PDF на C#

Aspose.PDF for .NET позволяет вам конвертировать различные форматы изображений в PDF-файлы. Наша библиотека демонстрирует фрагменты кода для конвертации самых популярных форматов изображений, таких как - BMP, CGM, DICOM, EMF, JPG, PNG, SVG, CDR, HEIC и TIFF.

Конвертировать BMP в PDF

Конвертируйте BMP-файлы в PDF-документ с помощью библиотеки Aspose.PDF for .NET.

BMP изображения - это файлы с расширением. BMP представляют собой файлы растровых изображений, которые используются для хранения цифровых изображений. Эти изображения независимы от графического адаптера и также называются форматом файла независимого растрового изображения (DIB). Вы можете конвертировать BMP в PDF-файлы с помощью API Aspose.PDF for .NET. Поэтому вы можете следовать следующим шагам для конвертации BMP-изображений:

Конвертировать BMP в PDF

  1. Инициализируйте новый объект класса Document.
  2. Загрузите входное BMP изображение.
  3. Наконец, сохраните выходной PDF-файл.

Таким образом, следующий фрагмент кода следует этим шагам и показывает, как конвертировать BMP в PDF с использованием C#:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertBMPtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.Pages.Add();
        var image = new Aspose.Pdf.Image();
        
        // Load BMP file
        image.File = dataDir + "BMPtoPDF.bmp";
        page.Paragraphs.Add(image);
        
        // Save PDF document
        document.Save(dataDir + "BMPtoPDF_out.pdf");
    }
}

Конвертировать CGM в PDF

CGM - это расширение файла для формата Computer Graphics Metafile, который обычно используется в CAD (компьютерном проектировании) и приложениях для презентационной графики. CGM - это векторный графический формат, который поддерживает три различных метода кодирования: бинарный (лучший для скорости чтения программой), основанный на символах (создает наименьший размер файла и позволяет более быстрые передачи данных) или кодирование в открытом виде (позволяет пользователям читать и изменять файл с помощью текстового редактора).

Проверьте следующий фрагмент кода для конвертации файлов CGM в формат PDF.

Конвертировать CGM в PDF

  1. Создайте экземпляр класса CgmLoadOptions.
  2. Создайте экземпляр класса Document с указанием имени исходного файла и параметров.
  3. Сохраните документ с желаемым именем файла.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertCGMtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    var option = new Aspose.Pdf.CgmLoadOptions();

    // Open PDF document
    using (var document = new Aspose.Pdf.Document(dataDir + "CGMtoPDF.cgm", option))
    {
        // Save PDF document
        document.Save(dataDir + "CGMtoPDF_out.pdf");
    }
}

Конвертировать DICOM в PDF

DICOM формат является стандартом медицинской отрасли для создания, хранения, передачи и визуализации цифровых медицинских изображений и документов обследованных пациентов.

Aspose.PDF для .NET позволяет вам конвертировать DICOM и SVG изображения, но по техническим причинам для добавления изображений вам необходимо указать тип файла, который будет добавлен в PDF:

Конвертировать DICOM в PDF

  1. Создайте объект класса Image.
  2. Добавьте изображение в коллекцию Paragraphs страницы.
  3. Укажите свойство FileType.
  4. Укажите путь или источник файла.
    • Если изображение находится на жестком диске, укажите путь, используя свойство Image.File.
    • Если изображение помещено в MemoryStream, передайте объект, содержащий изображение, в свойство Image.ImageStream.

Следующий фрагмент кода показывает, как конвертировать DICOM файлы в формат PDF с помощью Aspose.PDF. Вы должны загрузить DICOM изображение, разместить изображение на странице в PDF-файле и сохранить выходной файл в формате PDF.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertDICOMtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Create PDF document 
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.Pages.Add();
        
        var image = new Aspose.Pdf.Image
        {
            FileType = ImageFileType.Dicom,
            File = dataDir + "DICOMtoPDF.dcm"
        };
        page.Paragraphs.Add(image);

        // Save PDF document
        document.Save(dataDir + "DICOMtoPDF_out.pdf");
    }
}

Конвертировать EMF в PDF

EMF хранит графические изображения независимо от устройства. Метафайлы EMF состоят из записей переменной длины в хронологическом порядке, которые могут отображать сохраненное изображение после разбора на любом выходном устройстве. Более того, вы можете конвертировать EMF в PDF изображение, используя следующие шаги:

Конвертировать EMF в PDF

  1. Сначала инициализируйте объект класса Document.
  2. Загрузите файл EMF изображения.
  3. Добавьте загруженное EMF изображение на страницу.
  4. Сохраните PDF-документ.

Более того, следующий фрагмент кода показывает, как конвертировать EMF в PDF с C# в вашем .NET коде:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertEMFtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Create PDF document 
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.Pages.Add();
        var image = new Aspose.Pdf.Image();
        // Load EMF file
        image.File = dataDir + "EMFtoPDF.emf";

        // Specify page dimension properties
        page.PageInfo.Margin.Bottom = 0;
        page.PageInfo.Margin.Top = 0;
        page.PageInfo.Margin.Left = 0;
        page.PageInfo.Margin.Right = 0;
        page.PageInfo.Width = image.BitmapSize.Width;
        page.PageInfo.Height = image.BitmapSize.Height;

        page.Paragraphs.Add(image);

        // Save PDF document
        document.Save(dataDir + "EMFtoPDF_out.pdf");
    }
}

Конвертировать GIF в PDF

Конвертируйте GIF-файлы в PDF-документ с помощью библиотеки Aspose.PDF for .NET.

GIF может хранить сжатые данные без потери качества в формате не более 256 цветов. Независимый от оборудования формат GIF был разработан в 1987 году (GIF87a) компанией CompuServe для передачи растровых изображений по сетям. Вы можете конвертировать GIF в PDF-файлы с помощью API Aspose.PDF for .NET. Поэтому вы можете следовать следующим шагам для конвертации GIF-изображений:

Конвертировать GIF в PDF

  1. Инициализируйте новый объект класса Document.
  2. Загрузите входное GIF изображение.
  3. Наконец, сохраните выходной PDF-файл.

Таким образом, следующий фрагмент кода следует этим шагам и показывает, как конвертировать BMP в PDF с использованием C#:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertGIFtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.Pages.Add();
        var image = new Aspose.Pdf.Image();
        
        // Load sample GIF image file
        image.File = dataDir + "GIFtoPDF.gif";
        page.Paragraphs.Add(image);

        // Save PDF document
        document.Save(dataDir + "GIFtoPDF_out.pdf");
    }
}

Конвертировать JPG в PDF

Не нужно удивляться, как конвертировать JPG в PDF, потому что библиотека Aspose.PDF для .NET имеет лучшее решение.

Вы можете очень легко конвертировать изображения JPG в PDF с помощью Aspose.PDF for .NET, следуя следующим шагам:

Конвертировать JPG в PDF

  1. Инициализируйте объект класса Document.
  2. Добавьте новую страницу в PDF-документ.
  3. Загрузите JPG изображение и добавьте его в параграф.
  4. Сохраните выходной PDF.

Ниже приведенный фрагмент кода показывает, как конвертировать изображение JPG в PDF с использованием C#:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertJPGtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Create PDF document 
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.Pages.Add();
        var image = new Aspose.Pdf.Image();
        // Load input JPG file
        image.File = dataDir + "JPGtoPDF.jpg";
        
        // Add image on a page
        page.Paragraphs.Add(image);
        
        // Save PDF document
        document.Save(dataDir + "JPGtoPDF_out.pdf");
    }
}

Затем вы можете увидеть, как конвертировать изображение в PDF с той же высотой и шириной страницы. Мы получим размеры изображения и соответственно установим размеры страницы PDF-документа с помощью следующих шагов:

  1. Загрузите входной файл изображения.
  2. Установите высоту, ширину и поля страницы.
  3. Сохраните выходной PDF-файл.

Следующий фрагмент кода показывает, как конвертировать изображение в PDF с одинаковой высотой и шириной страницы с использованием C#:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertJPGtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.Pages.Add();
        var image = new Aspose.Pdf.Image();
        // Load JPEG file
        image.File = dataDir + "JPGtoPDF.jpg";
        
        // Read Height of input image
        page.PageInfo.Height = image.BitmapSize.Height;
        // Read Width of input image
        page.PageInfo.Width = image.BitmapSize.Width;
        page.PageInfo.Margin.Bottom = 0;
        page.PageInfo.Margin.Top = 0;
        page.PageInfo.Margin.Right = 0;
        page.PageInfo.Margin.Left = 0;
        page.Paragraphs.Add(image);
        
        // Save PDF document
        document.Save(dataDir + "JPGtoPDF_out.pdf");
    }
}

Конвертировать PNG в PDF

Aspose.PDF for .NET поддерживает функцию конвертации изображений PNG в формат PDF. Проверьте следующий фрагмент кода для выполнения вашей задачи.

PNG относится к типу растрового файла изображения, который использует безпотерянное сжатие, что делает его популярным среди пользователей.

Вы можете конвертировать PNG в PDF изображение, используя следующие шаги:

Конвертировать PNG в PDF

  1. Загрузите входное PNG изображение.
  2. Прочитайте значения высоты и ширины.
  3. Создайте новый объект Document и добавьте страницу.
  4. Установите размеры страницы.
  5. Сохраните выходной файл.

Более того, следующий фрагмент кода показывает, как конвертировать PNG в PDF с C# в ваших .NET приложениях:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertPNGtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        // Add page
        var page = document.Pages.Add();
        var image = new Aspose.Pdf.Image();
        // Load PNG file
        image.File = dataDir + "PNGtoPDF.png";
        
        // Read Height of input image
        page.PageInfo.Height = image.BitmapSize.Height;
        // Read Width of input image
        page.PageInfo.Width = image.BitmapSize.Width;
        page.PageInfo.Margin.Bottom = 0;
        page.PageInfo.Margin.Top = 0;
        page.PageInfo.Margin.Right = 0;
        page.PageInfo.Margin.Left = 0;
        page.Paragraphs.Add(image);
        
        // Save PDF document
        document.Save(dataDir + "PNGtoPDF_out.pdf");
    }
}

Конвертировать SVG в PDF

Aspose.PDF for .NET объясняет, как конвертировать изображения SVG в формат PDF и как получить размеры исходного SVG файла.

Векторная графика (SVG) - это семейство спецификаций формата файла на основе XML для двумерной векторной графики, как статической, так и динамической (интерактивной или анимированной). Спецификация SVG является открытым стандартом, который разрабатывается Консорциумом Всемирной паутины (W3C) с 1999 года.

Изображения SVG и их поведение определяются в текстовых файлах XML. Это означает, что их можно искать, индексировать, скриптовать, и при необходимости сжимать. Как XML-файлы, изображения SVG могут быть созданы и отредактированы с помощью любого текстового редактора, но часто удобнее создавать их с помощью графических программ, таких как Inkscape.

Чтобы конвертировать файлы SVG в PDF, используйте класс под названием SvgLoadOptions, который используется для инициализации объекта LoadOptions. Позже этот объект передается в качестве аргумента при инициализации объекта Document и помогает движку рендеринга PDF определить входной формат исходного документа.

Конвертировать SVG в PDF

  1. Создайте экземпляр класса SvgLoadOptions.
  2. Создайте экземпляр класса Document с указанием имени исходного файла и параметров.
  3. Сохраните документ с желаемым именем файла.

Следующий фрагмент кода показывает процесс конвертации файла SVG в формат PDF с помощью Aspose.PDF for .NET.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertSVGtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    var option = new Aspose.Pdf.SvgLoadOptions();
    // Open SVG file 
    using (var document = new Aspose.Pdf.Document(dataDir + "SVGtoPDF.svg", option))
    {
        // Save PDF document
        document.Save(dataDir + "SVGtoPDF_out.pdf");
    }
}

Получить размеры SVG

Также возможно получить размеры исходного файла SVG. Эта информация может быть полезна, если мы хотим, чтобы SVG занимал всю страницу выходного PDF. Свойство AdjustPageSize класса SvgLoadOption выполняет это требование. Значение по умолчанию для этого свойства - false. Если значение установлено в true, выходной PDF будет иметь такой же размер (размеры), как исходный SVG.

Следующий фрагмент кода показывает процесс получения размеров исходного файла SVG и генерации PDF-файла.

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertSVGtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_DocumentConversion();

    var loadopt = new Aspose.Pdf.SvgLoadOptions();
    loadopt.AdjustPageSize = true;
    // Open SVG file
    using (var document = new Aspose.Pdf.Document(dataDir + "SVGtoPDF.svg", loadopt))
    {
        document.Pages[1].PageInfo.Margin.Top = 0;
        document.Pages[1].PageInfo.Margin.Left = 0;
        document.Pages[1].PageInfo.Margin.Bottom = 0;
        document.Pages[1].PageInfo.Margin.Right = 0;

        // Save PDF document
        document.Save(dataDir + "SVGtoPDF_out.pdf");
    }
    
}

Поддерживаемые функции SVG

SVG Тег

Пример использования

circle

< circle id="r2" cx="10" cy="10" r="10" stroke="blue" stroke-width="2"> 

defs

<defs> 
<rect id="r1" width="15" height="15" stroke="blue" stroke-width="2" /> 
<circle id="r2" cx="10" cy="10" r="10" stroke="blue" stroke-width="2"/> 
<circle id="r3" cx="10" cy="10" r="10" stroke="blue" stroke-width="3"/> 
</defs> 
<use x="25" y="40" xlink:href="#r1" fill="red"/> 
<use x="35" y="15" xlink:href="#r2" fill="green"/> 
<use x="58" y="50" xlink:href="#r3" fill="blue"/>

tref

<defs> 
    <text id="ReferencedText"> 
      Ссылаемые данные символов 
    </text> 
</defs> 
<text x="10" y="100" font-size="15" fill="red" > 
    <tref xlink:href="#ReferencedText"/> 
</text>

use

<defs> 
    <text id="Text" x="400" y="200" 
          font-family="Verdana" font-size="100" text-anchor="middle" > 
      Замаскированный текст 
    </text> 
<use xlink:href="#Text" fill="blue"  />

ellipse 

<ellipse cx="2.5" cy="1.5" rx="2" ry="1" fill="red" />

<g fill="none" stroke="dimgray" stroke-width="1.5" > 
                <line x1="-7" y1="-7" x2="-3" y2="-3"/> 
                <line x1="7" y1="7" x2="3" y2="3"/> 
                <line x1="-7" y1="7" x2="-3" y2="3"/> 
                <line x1="7" y1="-7" x2="3" y2="-3"/> 
</g> 

image

<image id="ShadedRelief" x="24" y="4" width="64" height="82" xlink:href="relief.jpg" /> 

line

<line style="stroke:#eea;stroke-width:8" x1="10" y1="30" x2="260" y2="100"/> 

path

<path style="fill:#daa;fill-rule:evenodd;stroke:red" d="M 230,150 C 290,30 10,255 110,140 z "/> 

style

<path style="fill:#daa;fill-rule:evenodd;stroke:red" d="M 230,150 C 290,30 10,255 110,140 z "/>

polygon

<polygon style="stroke:#24a;stroke-width:1.5;fill:#eefefe" points="10,10 180,10 10,250 10,10" />

polyline

<polyline fill="none" stroke="dimgray" stroke-width="1" points="-3,-6 3,-6 3,1 5,1 0,7 -5,1 -3,1 -3,-5"/>

rect 

<rect x="0" y="0" width="400" height="600" stroke="none" fill="aliceblue" />

svg

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="10cm" height="5cm" >

text

<text font-family="sans-serif" fill="dimgray" font-size="22px" font-weight="bold" x="58" y="30" pointer-events="none">Название карты</text>

font

<text x="10" y="100" font-size="15" fill="red" > 
    Пример текста 
</text>

tspan

<tspan dy="25" x="25">шесть значений цвета чернил. Здесь это будет </tspan>

Конвертировать TIFF в PDF

Aspose.PDF поддерживает формат файла, будь то однофреймовое или многофреймовое TIFF изображение. Это означает, что вы можете конвертировать TIFF изображение в PDF в ваших .NET приложениях.

TIFF или TIF, Tagged Image File Format, представляет собой растровые изображения, которые предназначены для использования на различных устройствах, соответствующих этому стандарту формата файла. TIFF изображение может содержать несколько кадров с разными изображениями. Формат файла Aspose.PDF также поддерживается, будь то однофреймовое или многофреймовое TIFF изображение.

Вы можете конвертировать TIFF в PDF тем же образом, что и остальные растровые графические форматы:

Конвертировать TIFF в PDF

  1. Создайте новый объект класса Document и добавьте страницу.
  2. Загрузите входное TIFF изображение.
  3. Сохраните PDF-документ.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertTIFFtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        document.Pages.Add();
        var image = new Aspose.Pdf.Image();
        
        // Load sample Tiff image file
        image.File = dataDir + "TIFFtoPDF.tiff";
        document.Pages[1].Paragraphs.Add(image);
        
        // Save PDF document
        document.Save(dataDir + "TIFFtoPDF_out.pdf");
    }
}

В случае, если вам нужно конвертировать многостраничное TIFF изображение в многостраничный PDF документ и контролировать некоторые параметры, например, ширину или соотношение сторон, пожалуйста, выполните следующие шаги:

  1. Создайте экземпляр класса Document.
  2. Загрузите входное TIFF изображение.
  3. Получите FrameDimension кадров.
  4. Добавьте новую страницу для каждого кадра.
  5. Наконец, сохраните изображения на страницах PDF.

Следующий фрагмент кода показывает, как конвертировать многостраничное или многофреймовое TIFF изображение в PDF с C#:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertTIFFtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Create PDF document
    using (var document = new Aspose.Pdf.Document())
    {
        using (var bitmap = new System.Drawing.Bitmap(File.OpenRead(dataDir + "TIFFtoPDF.tif")))
        {
            // Convert multi page or multi frame TIFF to PDF
            var dimension = new FrameDimension(bitmap.FrameDimensionsList[0]);
            var frameCount = bitmap.GetFrameCount(dimension);

            // Iterate through each frame
            for (int frameIdx = 0; frameIdx <= frameCount - 1; frameIdx++)
            {
                var page = document.Pages.Add();

                bitmap.SelectActiveFrame(dimension, frameIdx);

                using (var currentImage = new MemoryStream())
                {
                    bitmap.Save(currentImage, ImageFormat.Tiff);

                    var imageht = new Aspose.Pdf.Image
                    {
                        ImageStream = currentImage,
                        //Apply some other options
                        //ImageScale = 0.5
                    };
                    page.Paragraphs.Add(imageht);
                }
            }
        }

        // Save PDF document
        document.Save(dataDir + "TIFFtoPDF_out.pdf");
    }
}

Конвертировать CDR в PDF

CDR - это формат файла, разработанный компанией Corel и в основном используемый для векторных графических изображений и рисунков. Формат файла CDR распознается большинством программ для редактирования изображений. Формат CDR является форматом по умолчанию для приложений Corel Draw.

Проверьте следующий фрагмент кода для конвертации файлов CDR в формат PDF.

Конвертировать CDR в PDF

  1. Создайте экземпляр класса CdrLoadOptions.
  2. Создайте экземпляр класса Document с указанием имени исходного файла и параметров.
  3. Сохраните документ с желаемым именем файла.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertCDRtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Open CDR file
    using (var document = new Aspose.Pdf.Document(dataDir + "CDRtoPDF.cdr", new CdrLoadOptions()))
    {
        // Save PDF document
        document.Save(dataDir + "CDRtoPDF_out.pdf");
    }
}

Конвертировать DJVU в PDF

DjVu - это сжатый формат изображения, разработанный компанией LizardTech. Этот формат файла был в первую очередь разработан для хранения различных типов отсканированных документов; особенно документов, содержащих комбинацию текста, изображений, индексированных цветных изображений и линейных рисунков.

Проверьте следующий фрагмент кода для конвертации файлов DJVU в формат PDF.

Конвертировать DJVU в PDF

  1. Создайте экземпляр класса DjvuLoadOptions.
  2. Создайте экземпляр класса Document с указанием имени исходного файла и параметров.
  3. Сохраните документ с желаемым именем файла.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertDJVUtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();
    
    // Open DJVU file
    using (var document = new Aspose.Pdf.Document(dataDir + "CDRtoPDF.djvu", new DjvuLoadOptions()))
    {
        // Save PDF document
        document.Save(dataDir + "CDRtoPDF_out.pdf");
    }
}

Конвертировать HEIC в PDF

Конвертировать HEIC в PDF

Файл HEIC - это формат файла High-Efficiency Container Image, который может хранить несколько изображений в виде коллекции в одном файле. Для загрузки изображений heic вам необходимо добавить ссылку на пакет https://www.nuget.org/packages/FileFormat.Heic/. Конвертируйте изображения HEIC в PDF с помощью Aspose.PDF:

// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ConvertHEICtoPDF()
{
    // The path to the documents directory
    var dataDir = RunExamples.GetDataDir_AsposePdf_WorkingDocuments();

    // Open HEIC file
    using (var fs = new FileStream(dataDir + "HEICtoPDF.heic", FileMode.Open))
    {
        var image = FileFormat.Heic.Decoder.HeicImage.Load(fs);
        var pixels = image.GetByteArray(PixelFormat.Rgb24);
        var width = (int)image.Width;
        var height = (int)image.Height;

        using (var document = new Aspose.Pdf.Document())
        {
            var page = document.Pages.Add();
            var asposeImage = new Aspose.Pdf.Image();
            asposeImage.BitmapInfo = new Aspose.Pdf.BitmapInfo(pixels, width, height, Aspose.Pdf.BitmapInfo.PixelFormat.Rgb24);
            page.PageInfo.Height = height;
            page.PageInfo.Width = width;
            page.PageInfo.Margin.Bottom = 0;
            page.PageInfo.Margin.Top = 0;
            page.PageInfo.Margin.Right = 0;
            page.PageInfo.Margin.Left = 0;

            page.Paragraphs.Add(asposeImage);

            // Save PDF document
            document.Save(dataDir + "HEICtoPDF_out.pdf");
        }
    }
}