C# 개발자는 둘 이상의 PDF 파일을 단일 PDF로 결합해야 할 수 있습니다. 이러한 경우 보고서, 영수증 등 다양한 PDF 파일을 하나씩 인쇄하고 싶지 않다면 하나의 문서로 결합하여 인쇄하십시오. 이 기사에서는 REST API를 사용하여 PDF 파일을 병합하는 방법을 다루고 있습니다.
이 문서에서는 다음 항목을 다룹니다.
파일 병합기 REST API 및 .NET SDK
파일 병합을 위해 GroupDocs.Merger Cloud의 .NET SDK API를 사용합니다. 여러 문서를 하나로 병합하고 단일 문서를 여러 문서로 분할하는 데 사용되는 기능이 풍부한 고성능 Cloud SDK입니다. 문서 페이지 재정렬 또는 교체, 페이지 방향 변경, 문서 암호 관리 및 지원되는 모든 파일 형식에 대한 기타 조작을 쉽게 수행하는 기능을 제공합니다. 현재 Java, PHP, Ruby, Android 및 Node.js SDK도 Cloud API용 문서 병합 제품군 구성원으로 제공합니다.
NuGet 패키지 관리자에서 또는 패키지 관리자 콘솔에서 다음 명령을 사용하여 GroupDocs.Merger-Cloud를 Visual Studio 프로젝트에 설치할 수 있습니다.
Install-Package GroupDocs.Merger-Cloud
단계와 사용 가능한 코드 예제를 시작하기 전에 대시보드에서 클라이언트 ID와 클라이언트 암호를 가져와야 합니다. 아래와 같이 코드에 클라이언트 ID와 클라이언트 암호를 추가합니다.
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);
REST API를 사용하여 PDF 파일 병합
아래에 언급된 간단한 단계에 따라 두 개 이상의 PDF 파일을 결합하거나 PDF의 특정 페이지를 병합할 수 있습니다.
- 업로드the PDF documents to the Cloud
- 병합the uploaded PDF files
- 또는 다른 파일과 PDF 파일의 특정 페이지 결합
- 다운로드the merged file
PDF 문서 업로드
먼저 다음 방법 중 하나를 사용하여 PDF 문서를 클라우드에 업로드합니다.
- 대시보드 사용
- 브라우저에서 파일 업로드 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 파일이 Cloud Storage에 업로드됩니다.
업로드된 PDF 파일 병합
이 간단한 코드 예제는 REST API를 사용하여 여러 PDF 파일을 단일 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);
}
}
결론
이 기사에서는 C#을 사용하여 .NET Merger REST API를 사용하여 클라우드에서 둘 이상의 PDF 파일 또는 PDF 파일의 특정 페이지를 결합하는 방법을 배웠습니다. 또한 클라우드에 파일을 프로그래밍 방식으로 업로드한 다음 클라우드에서 다운로드하는 방법도 배웠습니다. 문서에서 GroupDocs.Merger Cloud API에 대해 자세히 알아볼 수 있습니다. 모호한 점이 있으면 언제든지 support에 문의하십시오.