.NET 5를 사용하여 PDF 파일 병합하기

해야 할 일은 PdfFileEditor 클래스의 Concatenate 메서드를 호출하는 것입니다. 그러면 모든 입력 PDF 파일이 함께 연결되고 단일 PDF 파일이 생성됩니다. PDF 파일 연결을 연습하기 위해 애플리케이션을 만들어 보겠습니다. Visual Studio.NET 2019를 사용하여 애플리케이션을 만들 것입니다.

다양한 방법으로 PDF 파일 연결하기

폼에는 PDF 파일을 탐색하기 위한 세 개의 텍스트 박스(textBox1, textBox2, textBox3)와 각각의 링크 레이블(linkLabel1, linkLabel2, linkLabel3)이 있습니다. “찾아보기” 링크 레이블을 클릭하면 PDF 파일(연결할 파일)을 선택할 수 있는 입력 파일 대화 상자(inputFileDialog1)가 나타납니다.

private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e)
{
    if (openFileDialog1.ShowDialog()==DialogResult.OK)
    {
        textBox1.Text=openFileDialog1.FileName;
    }
}

PDF 파일 연결을 위한 PdfFileEditor 클래스의 시연을 위해 Windows 폼 애플리케이션의 뷰가 표시됩니다.

PDF 파일 연결하기

PDF 파일을 선택하고 확인 버튼을 클릭하면 관련 텍스트 박스에 전체 파일 이름과 경로가 할당됩니다.

PDF 파일 선택하기

마찬가지로 아래와 같이 두 개 또는 세 개의 입력 PDF 파일을 선택할 수 있습니다:

두 개 또는 세 개의 입력 PDF 파일 선택하기

마지막 텍스트 박스(textBox4)는 출력 PDF 파일의 이름과 함께 생성될 위치 경로를 입력받습니다.

출력 PDF 파일의 위치 경로

Concatenate 메서드

Concatenate() 메서드

Concatenate() 메서드는 세 가지 방법으로 사용할 수 있습니다. 각 방법을 자세히 살펴보겠습니다:

접근법 1

  • Concatenate(string firstInputFile, string secInputFile, string outputFile)

이 접근법은 두 개의 PDF 파일만 연결해야 할 경우에 적합합니다. 첫 번째 두 인수(firstInputFile 및 secInputFile)는 연결할 두 개의 입력 PDF 파일의 전체 파일 이름과 저장 경로를 제공합니다. 세 번째 인수(outputFile)는 출력 PDF 파일의 원하는 파일 이름과 경로를 제공합니다.

파일 이름을 사용하여 두 개의 PDF 연결하기

private void button1_Click(object sender, System.EventArgs e)
{
    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
    pdfEditor.Concatenate(textBox1.Text,textBox2.Text,textBox4.Text);
}

접근법 2

  • Concatenate(Stream firstInputStream, Stream secInputStream, Stream outputStream)

위의 접근법과 유사하게, 이 접근법도 두 개의 PDF 파일을 연결할 수 있습니다. 첫 번째 두 인수(firstInputStream 및 secInputStream)는 연결할 두 개의 입력 PDF 파일을 스트림(스트림은 비트/바이트의 배열)으로 제공합니다. 세 번째 인수(outputStream)는 원하는 출력 PDF 파일의 스트림 표현을 제공합니다.

파일 스트림을 사용하여 두 개의 PDF 연결하기

private void button2_Click(object sender, System.EventArgs e)
{
    using (var pdf1 = new FileStream(textBox1.Text, FileMode.Open))
    {
        using (var pdf2 = new FileStream(textBox2.Text, FileMode.Open))
        {
            using (var outputStream = new FileStream(textBox4.Text, FileMode.Create))
            {
                var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
                pdfEditor.Concatenate(pdf1, pdf2, outputStream);
            }
        }
    }
}

접근법 3

  • Concatenate(Stream inputStreams[], Stream outputStream)

두 개 이상의 PDF 파일을 연결하려면 이 접근법이 최선의 선택입니다. 첫 번째 인수(inputStreams[])는 연결할 입력 PDF 파일을 스트림 배열의 형태로 제공합니다. 두 번째 인수(outputStream)는 원하는 출력 PDF 파일의 스트림 표현을 제공합니다.

스트림 배열을 사용하여 여러 PDF 연결하기

private void button3_Click(object sender, System.EventArgs e)
{
    using (var pdf1 = new FileStream(textBox1.Text, FileMode.Open))
    {
        using (var pdf2 = new FileStream(textBox2.Text, FileMode.Open))
        {
            using (var pdf3 = new FileStream(textBox3.Text, FileMode.Open))
            {
                var pdfStreams = new Stream[] { pdf1, pdf2, pdf3 };
                using (var outputStream = new FileStream(textBox4.Text, FileMode.Create))
                {
                    var pdfEditor = new Aspose.Pdf.Facades.PdfFileEditor();
                    pdfEditor.Concatenate(pdfStreams, outputStream);
                }
            }
        }
    }
}