Как объединить PDF файлы в один PDF файл в памяти на C# и .NET


Полный код

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

namespace Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            MergePdfInMemory();
        }
        public static void MergePdfInMemory()
        {
			// 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();
            // The whole merge process will be done in memory.
            // We're using files only to get input data and show the result.
            string[] inpFiles = new string[] {@"..\..\..\simple text.pdf", @"..\..\..\table.pdf"};
            string outFile = new FileInfo("Result.pdf").FullName;

            // Get bytes from input pdf documents.
            List<byte[]> mergingPdf = new List<byte[]>();
            foreach (string inpFile in inpFiles)
                mergingPdf.Add(File.ReadAllBytes(inpFile));

            // Merge PDF documents in memory into single document.
            byte[] singlePdf = v.MergePdf(mergingPdf);

            if (singlePdf!= null)
            {
                File.WriteAllBytes(outFile, singlePdf);
                // Open the resulting PDF document in a default PDF Viewer.
                System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
            }
        }
    }
}

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)
			MergePdfInMemory()
		End Sub
		Public Shared Sub MergePdfInMemory()
		' 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()
			' The whole merge process will be done in memory.
			' We're using files only to get input data and show the result.
			Dim inpFiles() As String = {"..\..\..\simple text.pdf", "..\..\..\table.pdf"}
			Dim outFile As String = (New FileInfo("Result.pdf")).FullName

			' Get bytes from input pdf documents.
			Dim mergingPdf As New List(Of Byte())()
			For Each inpFile As String In inpFiles
				mergingPdf.Add(File.ReadAllBytes(inpFile))
			Next inpFile

			' Merge PDF documents in memory into single document.
			Dim singlePdf() As Byte = v.MergePdf(mergingPdf)

			If singlePdf IsNot Nothing Then
				File.WriteAllBytes(outFile, singlePdf)
				' Open the resulting PDF document in a default PDF Viewer.
				System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
			End If
		End Sub
	End Class
End Namespace

Download


Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.com или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже:



Вопросы и предложения всегда приветствуются!

Мы разрабатываем компоненты .Net с 2002 года. Мы знаем форматы PDF, DOCX, RTF, HTML, XLSX и Images. Если вам нужна помощь в создании, изменении или преобразовании документов в различных форматах, мы можем вам помочь. Мы напишем для вас любой пример кода абсолютно бесплатно.