Sebagai pengembang C#, Anda mungkin perlu menggabungkan dua atau lebih file PDF menjadi satu PDF. Dalam kasus seperti itu, jika Anda tidak ingin mencetak berbagai file PDF seperti laporan, kuitansi, dll. satu per satu, gabungkan menjadi satu dokumen dan cetak. Pada artikel ini, saya membahas cara menggabungkan file PDF menggunakan REST API.

Gabungkan Banyak File PDF menggunakan Rest API

Topik-topik berikut akan dibahas dalam artikel ini:

Penggabungan File REST API dan .NET SDK

Untuk menggabungkan file, saya akan menggunakan .NET SDK of GroupDocs.Merger Cloud API. Ini adalah Cloud SDK kaya fitur dan berkinerja tinggi yang digunakan untuk menggabungkan beberapa dokumen menjadi satu, membagi satu dokumen menjadi beberapa dokumen. Ini menawarkan fungsionalitas untuk menyusun ulang atau mengganti halaman dokumen, mengubah orientasi halaman, mengelola kata sandi dokumen dan melakukan manipulasi lain dengan mudah untuk format file apa pun yang didukung. Saat ini, ia juga menyediakan SDK Java, PHP, Ruby, Android, dan Node.js sebagai anggota keluarga penggabungan dokumen untuk Cloud API.

Anda dapat menginstal GroupDocs.Merger-Cloud ke proyek Visual Studio Anda dari manajer Paket NuGet atau menggunakan perintah berikut di konsol Package Manager:

Install-Package GroupDocs.Merger-Cloud

Anda perlu mendapatkan ID Klien dan Rahasia Klien dari dashboard sebelum mulai mengikuti langkah-langkah dan contoh kode yang tersedia. Tambahkan ID Klien dan Rahasia Klien Anda dalam kode seperti yang ditunjukkan di bawah ini:

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

Menggabungkan File PDF menggunakan REST API

Anda dapat menggabungkan dua atau lebih file PDF atau menggabungkan halaman PDF tertentu dengan mengikuti langkah-langkah sederhana yang disebutkan di bawah ini:

Unggah Dokumen PDF

Pertama, unggah dokumen PDF ke Cloud menggunakan salah satu metode berikut:

  • Menggunakan dasbor
  • Upload semua file satu per satu menggunakan Upload File API dari browser
  • Unggah secara terprogram menggunakan contoh kode yang diberikan di bawah ini:
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.");
}

Hasilnya, file PDF akan diunggah ke Cloud Storage.

Gabungkan Halaman Tertentu dari PDF

File PDF yang diupload di dashboard.groupdocs.cloud/files

Gabungkan File PDF yang Diunggah

Contoh kode sederhana ini menunjukkan cara menggabungkan beberapa file PDF menggunakan REST API menjadi satu 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);

        // Unduh File Gabungan
        DownloadFiles(fileApi, "merged-files.pdf");
    }
    catch (Exception e)
    {
        Console.WriteLine("Exception while calling api: " + e.Message);
    }
}

Gabungkan Halaman Tertentu dari File PDF dengan File lain

Anda dapat menggabungkan halaman tertentu dari file PDF dengan file lain. Untuk tujuan ini, Anda perlu menyediakan berbagai halaman seperti yang ditunjukkan dalam contoh kode di bawah ini.

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

        // Unduh File Gabungan
        DownloadFiles(fileApi, "merged-pages.pdf");
    }
    catch (Exception e)
    {
        Console.WriteLine("Exception while calling api: " + e.Message);
    }
}

Unduh File Gabungan

Contoh kode di atas akan menyimpan file PDF yang digabungkan di cloud. Anda dapat mengunduhnya menggunakan contoh kode berikut:

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

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara menggabungkan dua atau lebih file PDF atau halaman tertentu dari file PDF di cloud dengan .NET Merger REST API menggunakan C#. Anda juga mempelajari cara mengunggah file secara terprogram di cloud dan kemudian mengunduhnya dari cloud. Anda dapat mempelajari lebih lanjut tentang GroupDocs.Merger Cloud API dari dokumentasi. Jika ada ambiguitas, jangan ragu untuk menghubungi dukungan.