Merges different PDF files into single PDF

Namespace:  SautinSoft
Assembly:  SautinSoft.PdfVision (in SautinSoft.PdfVision.dll) Version: 5.3.6.5

Syntax

      
 C#  Visual Basic 
public byte[] MergePDFFileArrayToPDFStream(
	string[] Files
)
Public Function MergePDFFileArrayToPDFStream ( _
	Files As String() _
) As Byte()

Parameters

Files
array< String >[]()[]
Array with paths to PDF documents

Return Value

Single PDF document as byte array - in case of merging successfully
null - in case of merging failed

Examples

CopyHow to merge PDF in memory using C#
using System;
using System.IO;
using System.Collections.Generic;

namespace Sample
{
    class Test
    {

        static void Main(string[] args)
        {

            // Merge PDF in memory
            SautinSoft.PdfVision v = new SautinSoft.PdfVision();

            //v.Serial = "XXXXXXXXXXXXXXX";

            // merge two PDF files
            string[] inpFiles = new string[] { @"..\..\simple text.pdf", @"..\..\table.pdf" };

            FileInfo singlePdf = new FileInfo("single.pdf");

            List<byte[]> inpFilesByte = new List<byte[]>();

            // Fill the pdfBytesList.
            foreach (string inpFile in inpFiles)
                inpFilesByte.Add(File.ReadAllBytes(inpFile));

            byte[] pdfBytes = v.MergePDFStreamArrayToPDFStream(inpFilesByte);

            if (pdfBytes != null)
            {
                File.WriteAllBytes(singlePdf.FullName, pdfBytes);
                System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(singlePdf.FullName) { UseShellExecute = true });
            }
        }
    }
}
CopyHow to merge PDF in memory using VB.Net
Imports System
Imports System.IO
Imports System.Collections.Generic

Namespace Sample
    Friend Class Test

        Shared Sub Main(ByVal args() As String)

            ' Merge PDF in memory
            Dim v As New SautinSoft.PdfVision()

            'v.Serial = "XXXXXXXXXXXXXXX"


            ' merge two PDF files
            Dim inpFiles() As String = { "..\..\simple text.pdf", "..\..\table.pdf" }

            Dim singlePdf As New FileInfo("single.pdf")

            Dim inpFilesByte As New List(Of Byte())()

            ' Fill the pdfBytesList.
            For Each inpFile As String In inpFiles
                inpFilesByte.Add(File.ReadAllBytes(inpFile))
            Next inpFile

            Dim pdfBytes() As Byte = v.MergePDFStreamArrayToPDFStream(inpFilesByte)

            If pdfBytes IsNot Nothing Then
                File.WriteAllBytes(singlePdf.FullName, pdfBytes)
                System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(singlePdf.FullName) With {.UseShellExecute = True})
            End If
        End Sub
    End Class
End Namespace

See Also