به عنوان یک توسعه دهنده سی شارپ، ممکن است لازم باشد دو یا چند فایل PDF را در یک PDF واحد ترکیب کنید. در چنین مواردی، اگر نمی‌خواهید فایل‌های PDF مختلف مانند گزارش‌ها، رسیدها و غیره را تک تک چاپ کنید، آن‌ها را در یک سند ترکیب کرده و چاپ کنید. در این مقاله، نحوه ادغام فایل های PDF با استفاده از REST API را پوشش می دهم.

ادغام چندین فایل PDF با استفاده از Rest API

موضوعات زیر در این مقاله پوشش داده خواهد شد:

File Merger REST API و NET SDK

برای ادغام فایل‌ها، از .NET SDK of GroupDocs.Merger Cloud API استفاده خواهم کرد. این یک Cloud SDK با ویژگی های غنی و با کارایی بالا است که برای ادغام چندین سند در یک سند، تقسیم یک سند به چندین سند استفاده می شود. این قابلیت برای تغییر ترتیب یا جایگزینی صفحات سند، تغییر جهت صفحه، مدیریت رمزهای عبور سند و انجام دستکاری های دیگر به راحتی برای هر فرمت فایل پشتیبانی شده را ارائه می دهد. در حال حاضر، جاوا، PHP، Ruby، Android و Node.js SDK را به عنوان [اعضای خانواده ادغام اسناد2 خود برای Cloud API ارائه می‌کند.

می توانید GroupDocs.Merger-Cloud را از طریق مدیر بسته NuGet یا با استفاده از دستور زیر در کنسول Package Manager در پروژه ویژوال استودیو خود نصب کنید:

Install-Package GroupDocs.Merger-Cloud

قبل از شروع به دنبال کردن مراحل و نمونه کدهای موجود، باید شناسه مشتری و راز مشتری خود را از داشبورد دریافت کنید. شناسه مشتری و راز مشتری خود را در کدی که در زیر نشان داده شده است اضافه کنید:

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

ادغام فایل های PDF با استفاده از REST API

با دنبال کردن مراحل ساده ذکر شده در زیر می توانید دو یا چند فایل PDF را ترکیب کنید یا صفحات خاصی از PDF را ادغام کنید:

اسناد PDF را بارگذاری کنید

ابتدا اسناد PDF را با استفاده از یکی از روش های زیر در Cloud بارگذاری کنید:

  • با استفاده از dashboard
  • همه فایل ها را یکی یکی با استفاده از Upload File API از مرورگر آپلود کنید
  • با استفاده از نمونه کد زیر به صورت برنامه نویسی آپلود کنید:
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.");
}

در نتیجه، فایل‌های PDF در فضای ذخیره‌سازی ابری آپلود می‌شوند.

ترکیب صفحات خاص از PDF

فایل‌های PDF آپلود شده در dashboard.groupdocs.cloud/files

فایل های PDF آپلود شده را ادغام کنید

این مثال کد ساده نحوه ادغام چندین فایل PDF را با استفاده از REST API در یک 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);

        // فایل ادغام شده را دانلود کنید
        DownloadFiles(fileApi, "merged-files.pdf");
    }
    catch (Exception e)
    {
        Console.WriteLine("Exception while calling api: " + e.Message);
    }
}

صفحات خاص یک فایل PDF را با یک فایل دیگر ترکیب کنید

می توانید صفحات خاصی از یک فایل PDF را با فایل دیگری ترکیب کنید. برای این منظور، باید طیف وسیعی از صفحات را همانطور که در مثال کد زیر نشان داده شده است، ارائه دهید.

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

        // فایل ادغام شده را دانلود کنید
        DownloadFiles(fileApi, "merged-pages.pdf");
    }
    catch (Exception e)
    {
        Console.WriteLine("Exception while calling api: " + e.Message);
    }
}

فایل ادغام شده را دانلود کنید

نمونه کد بالا فایل PDF ادغام شده را در فضای ابری ذخیره می کند. با استفاده از نمونه کد زیر می توانید آن را دانلود کنید:

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

نتیجه

در این مقاله یاد گرفتید که چگونه دو یا چند فایل PDF یا صفحات خاصی از فایل های PDF را در فضای ابری با NET Merger REST API با استفاده از سی شارپ ترکیب کنید. همچنین یاد گرفتید که چگونه فایل ها را به صورت برنامه نویسی در فضای ابری آپلود کنید و سپس آنها را از ابر دانلود کنید. می‌توانید درباره GroupDocs.Merger Cloud API از مستندات اطلاعات بیشتری کسب کنید. در صورت وجود هرگونه ابهام با پشتیبانی تماس بگیرید.