VintaSoft Imaging .NET SDK v8.7
In This Topic
    PDF: Create PDF document
    In This Topic

    The SDK allows to create PDF documents in compliance with version 1.0-1.7 and PDF/A-1b of PDF specification. It can create searchable PDF documents in vector format and image-only PDF documents.
    Each of created PDFs can be secured using ARC4 or AES algorithms. The secured PDF document can be assigned with owner and user passwords, as well as applied with configured access permission rights.

    Here is an example that demonstrates how to create a PDF document v1.4 in the memory and save it to a file:

    ' The project, which uses this code, must have references to the following assemblies:
    ' - Vintasoft.Imaging
    ' - Vintasoft.Imaging.Pdf
    
    Public Sub CreatePdfDocumentInMemory(images As Vintasoft.Imaging.ImageCollection)
            ' create new PDF document version 1.4 in the memory
            Using document As New Vintasoft.Imaging.Pdf.PdfDocument(New Vintasoft.Imaging.Pdf.PdfFormat("1.4"))
                    ' create an empty image
                    Using image As New Vintasoft.Imaging.VintasoftImage(600, 800)
                            ' add image to PDF document
                            document.Pages.Add(image)
                    End Using
    
                    ' save document to a file
                    document.Save("doc.pdf")
            End Using
    End Sub
                  
    
    // The project, which uses this code, must have references to the following assemblies:
    // - Vintasoft.Imaging
    // - Vintasoft.Imaging.Pdf
    
    public void CreatePdfDocumentInMemory(Vintasoft.Imaging.ImageCollection images)
    {
        // create new PDF document version 1.4 in the memory
        using (Vintasoft.Imaging.Pdf.PdfDocument document = new Vintasoft.Imaging.Pdf.PdfDocument(
            new Vintasoft.Imaging.Pdf.PdfFormat("1.4")))
        {
            // create an empty image
            using (Vintasoft.Imaging.VintasoftImage image = new Vintasoft.Imaging.VintasoftImage(600, 800))
            {
                // add image to PDF document
                document.Pages.Add(image);
            }
    
            // save document to a file
            document.Save("doc.pdf");
        }
    }
                    
    

    Here is an example that demonstrates how to create a PDF/A-1b compliant document in a file:
    ' The project, which uses this code, must have references to the following assemblies:
    ' - Vintasoft.Imaging
    ' - Vintasoft.Imaging.Pdf
    
    Public Sub CreatePdfADocumentInFile(filename As String)
            ' create new PDF document version 1.4 in the memory
            Using document As New Vintasoft.Imaging.Pdf.PdfDocument(filename, Vintasoft.Imaging.Pdf.PdfFormat.Pdf_A)
                    ' create an empty image
                    Using image As New Vintasoft.Imaging.VintasoftImage(600, 800)
                            ' add image to PDF document
                            document.Pages.Add(image)
                    End Using
    
                    ' save document to a file
                    document.SaveChanges()
            End Using
    End Sub
                  
    
    // The project, which uses this code, must have references to the following assemblies:
    // - Vintasoft.Imaging
    // - Vintasoft.Imaging.Pdf
    
    public void CreatePdfADocumentInFile(string filename)
    {
        // create new PDF document version 1.4 in the memory
        using (Vintasoft.Imaging.Pdf.PdfDocument document = new Vintasoft.Imaging.Pdf.PdfDocument(
            filename, Vintasoft.Imaging.Pdf.PdfFormat.Pdf_A))
        {
            // create an empty image
            using (Vintasoft.Imaging.VintasoftImage image = new Vintasoft.Imaging.VintasoftImage(600, 800))
            {
                // add image to PDF document
                document.Pages.Add(image);
            }
    
            // save document to a file
            document.SaveChanges();
        }
    }
                    
    

    Here is an example that demonstrates how to create an secured PDF document in memory and save it to a file:
    ' The project, which uses this code, must have references to the following assemblies:
    ' - Vintasoft.Imaging
    ' - Vintasoft.Imaging.Pdf
    
    Public Shared Sub CreateEncryptedDocument(pdfFilename As String, images As Vintasoft.Imaging.ImageCollection, password As String)
            ' create encryption system 40-bit RC4, password protection
            Dim encryption As New Vintasoft.Imaging.Pdf.Security.EncryptionSystem(Vintasoft.Imaging.Pdf.Security.EncryptionAlgorithm.RC4, 40, password, password, Vintasoft.Imaging.Pdf.Security.UserAccessPermissions.AllowAll)
    
            ' create encrypted document
            Using document As New Vintasoft.Imaging.Pdf.PdfDocument(Vintasoft.Imaging.Pdf.PdfFormat.Pdf_14, encryption)
                    ' add pages
                    For Each image As Vintasoft.Imaging.VintasoftImage In images
                            document.Pages.Add(image)
                    Next
    
                    ' save document
                    document.SaveChanges(pdfFilename)
            End Using
    End Sub
                  
    
    // The project, which uses this code, must have references to the following assemblies:
    // - Vintasoft.Imaging
    // - Vintasoft.Imaging.Pdf
    
    public static void CreateEncryptedDocument(
        string pdfFilename, 
        Vintasoft.Imaging.ImageCollection images, 
        string password)
    {
        // create encryption system 40-bit RC4, password protection
        Vintasoft.Imaging.Pdf.Security.EncryptionSystem encryption = 
            new Vintasoft.Imaging.Pdf.Security.EncryptionSystem(
                Vintasoft.Imaging.Pdf.Security.EncryptionAlgorithm.RC4, 40,
                password, password, 
                Vintasoft.Imaging.Pdf.Security.UserAccessPermissions.AllowAll);
    
        // create encrypted document
        using (Vintasoft.Imaging.Pdf.PdfDocument document = new Vintasoft.Imaging.Pdf.PdfDocument(
            Vintasoft.Imaging.Pdf.PdfFormat.Pdf_14, encryption))
        {
            // add pages
            foreach (Vintasoft.Imaging.VintasoftImage image in images)
                document.Pages.Add(image);
    
            // save document
            document.SaveChanges(pdfFilename);
        }
    }
                    
    



    Create a searchable PDF document (PDF document with vector graphics)

    For creation of searchable PDF document is necessary to create a new PDF document and draw a document content (text, images, graphics, diagrams, etc) on PDF pages. Detailed information about drawing graphics on PDF page can be found here.



    Create an image-only PDF document

    For creation of an image-only PDF document is necessary to create a new PDF document and add PDF pages, based on images, to PDF document.

    Here is an example that demonstrates how to convert a raster image to an image-only PDF document using PdfEncoder class:
    ' The project, which uses this code, must have references to the following assemblies:
    ' - Vintasoft.Imaging
    ' - Vintasoft.Imaging.Pdf
    
    Public Sub CreateImageOnlyPdf(stream As System.IO.Stream, image As Vintasoft.Imaging.VintasoftImage)
            ' create new PDF document version 1.4 and use JPEG compression for image
            Dim encoder As New Vintasoft.Imaging.Codecs.Encoders.PdfEncoder(True, Vintasoft.Imaging.Codecs.Encoders.PdfImageCompression.Jpeg)
            ' set document Title
            encoder.Settings.DocumentTitle = "New PDF document!"
            ' add image to PDF document
            encoder.SaveImage(image, stream)
    End Sub
                  
    
    // The project, which uses this code, must have references to the following assemblies:
    // - Vintasoft.Imaging
    // - Vintasoft.Imaging.Pdf
    
    public void CreateImageOnlyPdf(System.IO.Stream stream, Vintasoft.Imaging.VintasoftImage image)
    {
        // create new PDF document version 1.4 and use JPEG compression for image
        Vintasoft.Imaging.Codecs.Encoders.PdfEncoder encoder = 
            new Vintasoft.Imaging.Codecs.Encoders.PdfEncoder(true, 
                Vintasoft.Imaging.Codecs.Encoders.PdfImageCompression.Jpeg);
        // set document Title
        encoder.Settings.DocumentTitle = "New PDF document!";
        // add image to PDF document
        encoder.SaveImage(image, stream);
    }
                    
    

    Here is an example that demonstrates how to convert an image collection to an image-only PDF document using PdfEncoder class:
    ' The project, which uses this code, must have references to the following assemblies:
    ' - Vintasoft.Imaging
    ' - Vintasoft.Imaging.Pdf
    
    Public Sub CreateImageOnlyPdf(stream As System.IO.Stream, images As Vintasoft.Imaging.ImageCollection)
            ' create new PDF document version 1.4 and use JPEG compression for image
            Dim encoder As New Vintasoft.Imaging.Codecs.Encoders.PdfEncoder(True, Vintasoft.Imaging.Codecs.Encoders.PdfImageCompression.Jpeg)
            ' set document Title
            encoder.Settings.DocumentTitle = "New PDF document!"
            ' add image to PDF document
            encoder.SaveImages(images, stream)
    End Sub
                  
    
    // The project, which uses this code, must have references to the following assemblies:
    // - Vintasoft.Imaging
    // - Vintasoft.Imaging.Pdf
    
    public void CreateImageOnlyPdf(System.IO.Stream stream, Vintasoft.Imaging.ImageCollection images)
    {
        // create new PDF document version 1.4 and use JPEG compression for image
        Vintasoft.Imaging.Codecs.Encoders.PdfEncoder encoder = 
            new Vintasoft.Imaging.Codecs.Encoders.PdfEncoder(true, 
                Vintasoft.Imaging.Codecs.Encoders.PdfImageCompression.Jpeg);
        // set document Title
        encoder.Settings.DocumentTitle = "New PDF document!";
        // add image to PDF document
        encoder.SaveImages(images, stream);
    }
                    
    

    Here is an example that demonstrates how to convert a raster image to an image-only PDF document using PdfDocument class:
    ' The project, which uses this code, must have references to the following assemblies:
    ' - Vintasoft.Imaging
    ' - Vintasoft.Imaging.Pdf
    
    Public Sub CreateImageOnlyPdf(stream As System.IO.Stream, image As Vintasoft.Imaging.VintasoftImage)
            ' create new PDF document version 1.4
            Dim document As New Vintasoft.Imaging.Pdf.PdfDocument(stream, New Vintasoft.Imaging.Pdf.PdfFormat("1.4"))
            ' set document Title
            document.DocumentInformation.Title = "New PDF document!"
    
            ' add image to PDF document using JPEG compression
            document.Pages.Add(image, Vintasoft.Imaging.Pdf.PdfCompression.Jpeg)
            ' save changes
            document.SaveChanges()
    
            ' close document
            document.Dispose()
    End Sub
                  
    
    // The project, which uses this code, must have references to the following assemblies:
    // - Vintasoft.Imaging
    // - Vintasoft.Imaging.Pdf
    
    public void CreateImageOnlyPdf(System.IO.Stream stream, Vintasoft.Imaging.VintasoftImage image)
    {
        // create new PDF document version 1.4
        Vintasoft.Imaging.Pdf.PdfDocument document = 
            new Vintasoft.Imaging.Pdf.PdfDocument(
                stream, new Vintasoft.Imaging.Pdf.PdfFormat("1.4"));
        // set document Title
        document.DocumentInformation.Title = "New PDF document!";
    
        // add image to PDF document using JPEG compression
        document.Pages.Add(image, Vintasoft.Imaging.Pdf.PdfCompression.Jpeg);
        // save changes
        document.SaveChanges();
    
        // close document
        document.Dispose();
    }
                    
    

    Here is an example that demonstrates how to convert an image collection to an image-only PDF document using PdfDocument class:
    ' The project, which uses this code, must have references to the following assemblies:
    ' - Vintasoft.Imaging
    ' - Vintasoft.Imaging.Pdf
    
    Public Sub CreateImageOnlyPdf(stream As System.IO.Stream, images As Vintasoft.Imaging.ImageCollection)
            ' create new PDF document version 1.4
            Dim document As New Vintasoft.Imaging.Pdf.PdfDocument(stream, New Vintasoft.Imaging.Pdf.PdfFormat("1.4"))
            ' set document Title
            document.DocumentInformation.Title = "New PDF document!"
    
            ' for each image in image collection
            For i As Integer = 0 To images.Count - 1
                    ' add image to PDF document using JPEG compression
                    document.Pages.Add(images(i), Vintasoft.Imaging.Pdf.PdfCompression.Jpeg)
            Next
            ' save changes
            document.SaveChanges()
    
            ' close document
            document.Dispose()
    End Sub
                  
    
    // The project, which uses this code, must have references to the following assemblies:
    // - Vintasoft.Imaging
    // - Vintasoft.Imaging.Pdf
    
    public void CreateImageOnlyPdf(System.IO.Stream stream, Vintasoft.Imaging.ImageCollection images)
    {
        // create new PDF document version 1.4
        Vintasoft.Imaging.Pdf.PdfDocument document = 
            new Vintasoft.Imaging.Pdf.PdfDocument(
                stream, new Vintasoft.Imaging.Pdf.PdfFormat("1.4"));
        // set document Title
        document.DocumentInformation.Title = "New PDF document!";
    
        // for each image in image collection
        for (int i = 0; i < images.Count; i++)
        {
            // add image to PDF document using JPEG compression
            document.Pages.Add(images[i], Vintasoft.Imaging.Pdf.PdfCompression.Jpeg);
        }
        // save changes
        document.SaveChanges();
    
        // close document
        document.Dispose();
    }