Als C#-Entwickler müssen Sie möglicherweise zwei oder mehr PDF Dateien in einer einzigen PDF-Datei kombinieren. Wenn Sie in solchen Fällen nicht verschiedene PDF Dateien wie Berichte, Quittungen usw. einzeln drucken möchten, kombinieren Sie sie in einem Dokument und drucken Sie sie aus. In diesem Artikel beschreibe ich, wie man PDF Dateien mithilfe einer REST-API zusammenführt.

Führen Sie mehrere PDF Dateien mithilfe einer Rest-API zusammen

Die folgenden Themen sollen in diesem Artikel behandelt werden:

File Merger REST API und .NET SDK

Zum Zusammenführen von Dateien verwende ich die API .NET SDK von GroupDocs.Merger Cloud. Es handelt sich um ein funktionsreiches und leistungsstarkes Cloud SDK, mit dem mehrere Dokumente zu einem zusammengeführt und ein einzelnes Dokument in mehrere Dokumente aufgeteilt werden kann. Es bietet Funktionen zum Neuanordnen oder Ersetzen von Dokumentseiten, zum Ändern der Seitenausrichtung, zum Verwalten von Dokumentkennwörtern und zum einfachen Durchführen anderer Manipulationen für jedes unterstützte Dateiformat. Derzeit werden auch Java-, PHP-, Ruby-, Android und Node.js-SDKs als Mitglieder der Document Merger-Familie für die Cloud-API bereitgestellt.

Sie können GroupDocs.Merger-Cloud über den NuGet-Paketmanager oder mit dem folgenden Befehl in der Paket-Manager-Konsole in Ihrem Visual Studio-Projekt installieren:

Install-Package GroupDocs.Merger-Cloud

Sie müssen Ihre Client-ID und Ihr Client-Geheimnis vom Dashboard abrufen, bevor Sie mit dem Befolgen der Schritte und verfügbaren Codebeispiele beginnen. Fügen Sie Ihre Client-ID und Ihr Client-Geheimnis wie unten gezeigt in den Code ein:

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

Führen Sie PDF Dateien mithilfe einer REST-API zusammen

Sie können zwei oder mehr PDF Dateien kombinieren oder bestimmte PDF-Seiten zusammenführen, indem Sie die folgenden einfachen Schritte ausführen:

Laden Sie die PDF Dokumente hoch

Laden Sie zunächst die PDF Dokumente mit einer der folgenden Methoden in die Cloud hoch:

  • Verwenden des Dashboards
  • Laden Sie alle Dateien einzeln mit der Upload File API über den Browser hoch
  • Laden Sie es programmgesteuert hoch, indem Sie das unten angegebene Codebeispiel verwenden:
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.");
}

Als Ergebnis werden PDF Dateien in den Cloud-Speicher hochgeladen.

Kombinieren Sie bestimmte Seiten aus PDFs

Hochgeladene PDF Dateien unter dashboard.groupdocs.cloud/files

Führen Sie die hochgeladenen PDF Dateien zusammen

Dieses einfache Codebeispiel zeigt, wie Sie mehrere PDF Dateien mithilfe einer REST-API zu einem einzigen PDF zusammenführen.

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

        // Laden Sie die zusammengeführte Datei herunter
        DownloadFiles(fileApi, "merged-files.pdf");
    }
    catch (Exception e)
    {
        Console.WriteLine("Exception while calling api: " + e.Message);
    }
}

Kombinieren Sie bestimmte Seiten einer PDF-Datei mit einer anderen Datei

Sie können bestimmte Seiten einer PDF-Datei mit einer anderen Datei kombinieren. Zu diesem Zweck müssen Sie eine Reihe von Seiten bereitstellen, wie im folgenden Codebeispiel gezeigt.

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

        // Laden Sie die zusammengeführte Datei herunter
        DownloadFiles(fileApi, "merged-pages.pdf");
    }
    catch (Exception e)
    {
        Console.WriteLine("Exception while calling api: " + e.Message);
    }
}

Laden Sie die zusammengeführte Datei herunter

Das obige Codebeispiel speichert die zusammengeführte PDF-Datei in der Cloud. Sie können es mit dem folgenden Codebeispiel herunterladen:

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

Abschluss

In diesem Artikel haben Sie erfahren, wie Sie zwei oder mehr PDF Dateien oder bestimmte Seiten von PDF Dateien in der Cloud mit der .NET Merger REST API unter Verwendung von C# kombinieren. Sie haben auch gelernt, wie Sie die Dateien programmgesteuert in die Cloud hochladen und dann aus der Cloud herunterladen. Weitere Informationen zur GroupDocs.Merger Cloud API finden Sie in der Dokumentation. Bei Unklarheiten können Sie sich gerne an den Support wenden.