Jako vývojář C# možná budete muset zkombinovat dva nebo více souborů PDF do jednoho PDF. V takových případech, pokud nechcete tisknout různé soubory PDF, jako jsou zprávy, účtenky atd. jeden po druhém, pak je spojte do jednoho dokumentu a vytiskněte. V tomto článku se zabývám tím, jak sloučit soubory PDF pomocí REST API.

Sloučit více souborů PDF pomocí rozhraní Rest API

Tento článek bude obsahovat následující témata:

Sloučení souborů REST API a .NET SDK

Pro slučování souborů budu používat .NET SDK of GroupDocs.Merger Cloud API. Jedná se o funkčně bohaté a vysoce výkonné Cloud SDK používané ke sloučení několika dokumentů do jednoho, rozdělení jednoho dokumentu do více dokumentů. Nabízí funkce pro změnu pořadí nebo nahrazení stránek dokumentu, změnu orientace stránky, správu hesel dokumentů a snadné provádění dalších manipulací pro jakýkoli podporovaný formát souboru. V současné době také poskytuje Java, PHP, Ruby, Android a Node.js SDK jako členové rodiny sloučení dokumentů pro Cloud API.

GroupDocs.Merger-Cloud můžete nainstalovat do svého projektu Visual Studio ze správce balíčků NuGet nebo pomocí následujícího příkazu v konzole správce balíčků:

Install-Package GroupDocs.Merger-Cloud

Než začnete postupovat podle kroků a dostupných příkladů kódu, musíte získat své ID klienta a tajný klíč klienta z dashboard. Přidejte své ID klienta a tajný klíč klienta do kódu, jak je ukázáno níže:

string MyClientId = "YOUR-CLIENT-ID";
string MyClientSecret = "YOUR-CLIENT-SECRET";
string MyStorage;

var storageConfig = new Configuration(MyClientId, MyClientSecret);
var documentApi = new DocumentApi(storageConfig);
var storageApi = new StorageApi(storageConfig);
var fileApi = new FileApi(storageConfig);

Sloučit soubory PDF pomocí REST API

Můžete zkombinovat dva nebo více souborů PDF nebo sloučit konkrétní stránky souborů PDF podle jednoduchých kroků uvedených níže:

Nahrajte dokumenty PDF

Nejprve nahrajte dokumenty PDF do cloudu pomocí některé z následujících metod:

  • Pomocí hlavního panelu
  • Nahrajte všechny soubory jeden po druhém pomocí Upload File API z prohlížeče
  • Nahrajte programově pomocí níže uvedeného příkladu kódu:
public static void UploadFiles(StorageApi storageApi, FileApi fileApi)
{
	var path = @"C:\Files";

	var files = Directory.GetFiles(path, "*.pdf", SearchOption.AllDirectories);
	foreach (var file in files)
	{
		var relativeFilePath = file.Replace(path, string.Empty).Trim(Path.DirectorySeparatorChar);

		var response = storageApi.ObjectExists(new ObjectExistsRequest(relativeFilePath, MyStorage));
		if (response.Exists != null && !response.Exists.Value)
		{
			var fileStream = File.Open(file, FileMode.Open);

			fileApi.UploadFile(new UploadFileRequest(relativeFilePath, fileStream, MyStorage));
			fileStream.Close();
		}
	}

	Console.WriteLine("File Upload Process Completed.");
}

V důsledku toho budou soubory PDF nahrány do cloudového úložiště.

Kombinujte konkrétní stránky z PDF

Nahrané soubory PDF na dashboard.groupdocs.cloud/files

Sloučit nahrané soubory PDF

Tento jednoduchý příklad kódu ukazuje, jak sloučit více souborů PDF pomocí REST API do jednoho PDF.

public static void MergeMultipleFiles(DocumentApi documentApi, FileApi fileApi)
{
    try
    {
        var item1 = new JoinItem
        {
            FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
            {
                FilePath = "one-page.pdf"
            }
        };

        var item2 = new JoinItem
        {
            FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
            {
                FilePath = "second-page.pdf"
            }
        };

        var options = new JoinOptions
        {
            JoinItems = new List<JoinItem> { item1, item2 },
            OutputPath = "merged-files.pdf"
        };

        var request = new JoinRequest(options);
        var response = documentApi.Join(request);

        Console.WriteLine("Output file path: " + response.Path);

        // Stáhněte si sloučený soubor
        DownloadFiles(fileApi, "merged-files.pdf");
    }
    catch (Exception e)
    {
        Console.WriteLine("Exception while calling api: " + e.Message);
    }
}

Zkombinujte konkrétní stránky souboru PDF s jiným souborem

Můžete kombinovat konkrétní stránky souboru PDF s jiným souborem. Za tímto účelem musíte poskytnout rozsah stránek, jak je ukázáno v níže uvedeném příkladu kódu.

public static void MergeSpecificPagesOfFiles(DocumentApi documentApi, FileApi fileApi)
{
    try
    {
        var item1 = new JoinItem
        {
            FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
            {
                FilePath = "sample-10-pages.pdf"
            },
        };

        var item2 = new JoinItem
        {
            FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
            {
                FilePath = "four-pages.pdf"
            },
            StartPageNumber = 1,
            EndPageNumber = 3,
            RangeMode = JoinItem.RangeModeEnum.OddPages
        };

        var options = new JoinOptions
        {
            JoinItems = new List<JoinItem> { item1, item2 },
            OutputPath = "merged-pages.pdf"
        };

        var request = new JoinRequest(options);
        var response = documentApi.Join(request);

        Console.WriteLine("Output file path: " + response.Path);

        // Stáhněte si sloučený soubor
        DownloadFiles(fileApi, "merged-pages.pdf");
    }
    catch (Exception e)
    {
        Console.WriteLine("Exception while calling api: " + e.Message);
    }
}

Stáhněte si sloučený soubor

Výše uvedená ukázka kódu uloží sloučený soubor PDF do cloudu. Můžete si jej stáhnout pomocí následující ukázky kódu:

public static void DownloadFiles(FileApi fileApi, string file)
{
    try
    {
        var downloadRequest = new DownloadFileRequest(file, MyStorage);

        Stream downloadResponse = fileApi.DownloadFile(downloadRequest);
        using (var fileStream = File.Create("C:\\Files\\" + file))
        {
            downloadResponse.Seek(0, SeekOrigin.Begin);
            downloadResponse.CopyTo(fileStream);
        }
        Console.WriteLine("File downloaded successfully");
    }
    catch (Exception e)
    {
        Console.WriteLine("Exception while calling api: " + e.Message);
    }
}

Závěr

V tomto článku jste se naučili, jak zkombinovat dva nebo více souborů PDF nebo konkrétní stránky souborů PDF v cloudu s .NET Merger REST API pomocí C#. Také jste se naučili, jak programově nahrát soubory do cloudu a poté je z cloudu stáhnout. Více o GroupDocs.Merger Cloud API se můžete dozvědět z dokumentace. V případě jakýchkoliv nejasností se neváhejte obrátit na support.