VintaSoft Imaging .NET SDK 12.3: Documentation for .NET developer
In This Topic
    PDF: Create PDF document
    In This Topic
    The SDK allows to create PDF documents in compliance with version 1.0-2.0 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:
    public static 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");
        }
    }
    
    Public Shared 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
    


    Here is an example that demonstrates how to create a PDF/A-1b compliant document in a file:
    public static void CreatePdfADocumentInFile(string pdfFilename, string pageImage)
    {
        // create new PDF document version 1.4
        using (Vintasoft.Imaging.Pdf.PdfDocument document = new Vintasoft.Imaging.Pdf.PdfDocument(
            pdfFilename, Vintasoft.Imaging.Pdf.PdfFormat.Pdf_14))
        {
            // create an image
            using (Vintasoft.Imaging.VintasoftImage image = new Vintasoft.Imaging.VintasoftImage(pageImage))
            {
                // add image to PDF document
                document.Pages.Add(image);
            }
    
            // convert documen to PDF/A-1b
            document.ConvertDocument(Vintasoft.Imaging.Pdf.PdfDocumentConformance.PdfA_1b);
        }
    }
    
    Public Shared Sub CreatePdfADocumentInFile(pdfFilename As String, pageImage As String)
        ' create new PDF document version 1.4
        Using document As New Vintasoft.Imaging.Pdf.PdfDocument(pdfFilename, Vintasoft.Imaging.Pdf.PdfFormat.Pdf_14)
            ' create an image
            Using image As New Vintasoft.Imaging.VintasoftImage(pageImage)
                ' add image to PDF document
                document.Pages.Add(image)
            End Using
    
            ' convert documen to PDF/A-1b
            document.ConvertDocument(Vintasoft.Imaging.Pdf.PdfDocumentConformance.PdfA_1b)
        End Using
    End Sub
    


    Here is an example that demonstrates how to create an secured PDF document in memory and save it to a file:
    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);
        }
    }
    
    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
    


    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:
    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);
    }
    
    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
    


    Here is an example that demonstrates how to convert an image collection to an image-only PDF document using PdfEncoder class:
    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);
    }
    
    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
    


    Here is an example that demonstrates how to convert a raster image to an image-only PDF document using PdfDocument class:
    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();
    }
    
    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
    


    Here is an example that demonstrates how to convert an image collection to an image-only PDF document using PdfDocument class:
    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();
    }
    
    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