Convert images to PDF in memory using C# and .NET


Complete code

using System;
using System.IO;
using System.Collections.Generic;
using SautinSoft.PdfVision;

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            ConvertImagesToPdfInMemory();
        }
        public static void ConvertImagesToPdfInMemory()
        {
            // We'll use files here only to get input data and show the PDF result.
            // The converting process will be done completely in memory.
            string[] inpFiles = new string[]
            {
                @"..\..\..\testing\image-jpeg.jpg",
                @"..\..\..\testing\image-png.png",
                @"..\..\..\testing\image-tiff.tiff",
                @"..\..\..\testing\multipage.tiff"
            };
            string outFile = new FileInfo(@"Result.pdf").FullName;
			// Before starting, we recommend to get a free 100-day key:
            // https://sautinsoft.com/start-for-free/
            
            // Apply the key here:
			// SautinSoft.PdfVision.SetLicense("...");
            

            PdfVision v = new PdfVision();
            ImageToPdfOptions options = new ImageToPdfOptions();
            options.PageSetup.PaperType = PaperType.Letter;

            List<byte[]> imageBytesCollection = new List<byte[]>();
            foreach (string inpFile in inpFiles)
                imageBytesCollection.Add(File.ReadAllBytes(inpFile));

            try
            {
                byte[] pdfDocument = v.ConvertImageToPdf(imageBytesCollection, options);
                File.WriteAllBytes(outFile, pdfDocument);
                System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error: {ex.Message}");
                Console.ReadLine();
            }
        }
    }
}

Download

Imports System
Imports System.IO
Imports System.Collections.Generic
Imports SautinSoft.PdfVision

Namespace Sample
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			ConvertImagesToPdfInMemory()
		End Sub
		Public Shared Sub ConvertImagesToPdfInMemory()
			' We'll use files here only to get input data and show the PDF result.
			' The converting process will be done completely in memory.
			Dim inpFiles() As String = {
				"..\..\..\testing\image-jpeg.jpg",
				"..\..\..\testing\image-png.png",
				"..\..\..\testing\image-tiff.tiff",
				"..\..\..\testing\multipage.tiff"}

			Dim outFile As String = (New FileInfo("Result.pdf")).FullName
			' Before starting, we recommend to get a free 100-day key:
            ' https://sautinsoft.com/start-for-free/
            
            ' Apply the key here:
			' SautinSoft.PdfVision.SetLicense("...");

			Dim v As New PdfVision()
			Dim options As New ImageToPdfOptions()
			options.PageSetup.PaperType = PaperType.Letter

			Dim imageBytesCollection As New List(Of Byte())()
			For Each inpFile As String In inpFiles
				imageBytesCollection.Add(File.ReadAllBytes(inpFile))
			Next inpFile

			Try
				Dim pdfDocument() As Byte = v.ConvertImageToPdf(imageBytesCollection, options)
				File.WriteAllBytes(outFile, pdfDocument)
				System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
			Catch ex As Exception
				Console.WriteLine($"Error: {ex.Message}")
				Console.ReadLine()
			End Try
		End Sub
	End Class
End Namespace

Download


If you need a new code example or have a question: email us at support@sautinsoft.com or ask at Online Chat (right-bottom corner of this page) or use the Form below:



Questions and suggestions from you are always welcome!

We are developing .Net components since 2002. We know PDF, DOCX, RTF, HTML, XLSX and Images formats. If you need any assistance with creating, modifying or converting documents in various formats, we can help you. We will write any code example for you absolutely free.