Como mesclar vários arquivos PDF em um em C# .Net

Como mesclar arquivos PDF em C# usando a API REST.

PDF(Portable Document Format) é amplamente usado para compartilhar documentos, preservando sua formatação e layout. Em determinados cenários, pode ser necessário combinar vários arquivos PDF em um único documento para simplificar as informações ou melhorar a acessibilidade. GroupDocs.Merger Cloud SDK para .Net fornece uma maneira poderosa e intuitiva de mesclar arquivos PDF programaticamente, economizando tempo e esforço. Neste artigo, exploraremos como mesclar e combinar arquivos PDF em C# usando a API REST.

Os seguintes tópicos serão abordados neste artigo:

API REST C# para mesclar arquivos PDF e instalação SDK C#

GroupDocs.Merger Cloud SDK para .NET é uma solução poderosa e confiável que permite aos desenvolvedores incorporar recursos de mesclagem de PDF em seus aplicativos C#. Ele oferece um conjunto abrangente de recursos e funções para mesclar e combinar arquivos PDF perfeitamente. Ao usar o SDK, você pode mesclar vários formatos de documento suportados em um único documento, preservando sua formatação, layout e conteúdo originais. O SDK pode ser integrado a um aplicativo baseado em C# para simplificar seu processo de desenvolvimento.

Você pode instalar GroupDocs.Merger Cloud SDK para .NET em seu projeto a partir do NuGet Package manager ou usando o seguinte comando na .NET CLI:

dotnet add package GroupDocs.Merger-Cloud --version 23.4.0

Em seguida, colete o Client ID e o Client Secret no dashboard antes de começar a seguir as etapas e os exemplos de código disponíveis. Adicione Client ID e Client Secret no código conforme demonstrado abaixo:

//Obtenha clientId e clientSecret em https://dashboard.groupdocs.cloud (é necessário registro gratuito).
string clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
string clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
string myStorage = "test-internal-storage";

var configuration = new Configuration(clientId, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";

Mescle vários arquivos PDF em um em C# usando a API REST

Agora que temos nosso ambiente de desenvolvimento configurado e o SDK instalado, vamos prosseguir com a mesclagem de arquivos PDF. Siga esses passos:

Carregar os arquivos

Em primeiro lugar, carregue o documento PDF para o armazenamento em nuvem usando qualquer um dos seguintes métodos:

  • Usando o painel
  • Carregue todos os arquivos, um por um, usando Upload File API do navegador
  • Carregue programaticamente usando o exemplo de código fornecido abaixo:
// Carregar arquivos usando C#
using System;
using System.IO;
using GroupDocs.Merger.Cloud.Sdk.Api;
using GroupDocs.Merger.Cloud.Sdk.Client;
using GroupDocs.Merger.Cloud.Sdk.Model;
using GroupDocs.Merger.Cloud.Sdk.Model.Requests;

namespace GroupDocs.Merger.CSharp
{
  class Upload_PDF_Files

  {
    static void Main(string[] args)
    {
      
      try
      {
        // Crie instâncias de API necessárias
        var storageApi = new StorageApi(configuration);
        var fileApi = new FileApi(configuration);

        var path = @"H:\groupdocs-cloud-data";

        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 Uploaded to Cloud Storage.");
      }
      catch (Exception e)
      {
        Console.WriteLine("Exception when calling GroupDocs API: " + e.Message);
      }

    }
  }
}

Como resultado, o arquivo PDF carregado estará disponível na seção de arquivos do seu painel na nuvem.

Mesclar documentos PDF em C#

Aqui estão as etapas e um trecho de código de exemplo que demonstra como mesclar vários documentos PDF em um único arquivo programaticamente em C#.

  • Primeiramente, crie uma instância da classe DocumentApi.
  • Em segundo lugar, crie uma instância da classe JoinItem.
  • Em terceiro lugar, defina o caminho do arquivo de entrada para o primeiro JoinItem no arquivo FileInfo.
  • Em seguida, crie uma nova instância do JoinItem para o segundo arquivo de entrada.
  • Agora, forneça o caminho do arquivo de entrada para o segundo JoinItem no arquivo FileInfo.
  • Você pode adicionar mais JoinItems para mesclar mais arquivos PDF.
  • Em seguida, crie uma instância da classe JoinOptions.
  • Adicione uma lista separada por vírgulas de itens de junção criados.
  • Além disso, defina o caminho do arquivo de saída na nuvem.
  • Agora, crie uma instância do JoinRequest e passe o parâmetro JoinOptions.
  • Por fim, obtenha os resultados chamando o método join() da DocumentApi e passando o parâmetro JoinRequest.

O trecho de código a seguir mostra como mesclar vários arquivos PDF em um em C# usando a API REST:

// Como mesclar vários arquivos PDF em um em C# usando a API REST
using System;
using GroupDocs.Merger.Cloud.Sdk.Api;
using GroupDocs.Merger.Cloud.Sdk.Client;
using GroupDocs.Merger.Cloud.Sdk.Model;
using GroupDocs.Merger.Cloud.Sdk.Model.Requests;

namespace GroupDocs.Merger.CSharp
{
  // Como mesclar arquivos PDF em um usando C#
  class Merge_PDF_Files

  {
    static void Main(string[] args)
    {

      try
      {
        // Crie instâncias de API necessárias
        var documentApi = new DocumentApi(configuration);
        var item1 = new JoinItem
        {
          FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
          {
            FilePath = "csharp-testing/sample-file-one.pdf"
          }
        };

        var item2 = new JoinItem
        {
          FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
          {
            FilePath = "csharp-testing/sample-file-two.pdf"
          }
        };

        var options = new JoinOptions
        {
          JoinItems = new List<JoinItem> { item1, item2 },
          OutputPath = "csharp-testing/merged-file.pdf"
        };

        var request = new JoinRequest(options);
        var response = documentApi.Join(request);
        Console.WriteLine("Successfully merged PDF files in C#: " + response.Path);
      }
      catch (Exception e)
      {
        Console.WriteLine("Exception when calling GroupDocs Api: " + e.Message);
      }

    }
  }
}

Com apenas algumas linhas de código, agora você pode facilmente mesclar arquivos PDF usando GroupDocs.Merger Cloud SDK para .Net.

Baixe o arquivo

O exemplo de código acima salvará o arquivo PDF mesclado na nuvem. Você pode baixá-lo usando o seguinte trecho de código:

// Baixe o arquivo resultante da nuvem
using System;
using GroupDocs.Conversion.Cloud.Sdk.Api;
using GroupDocs.Conversion.Cloud.Sdk.Client;
using GroupDocs.Conversion.Cloud.Sdk.Model.Requests;

namespace GroupDocs.Merger.CSharp
{
  // Baixar arquivo de saída
  class Download_File
  {
    static void Main(string[] args)
    {
      try
      {
        // inicializar API
        var fileApi = new FileApi(configuration);
        // criar solicitação de download de arquivo
        var downloadRequest = new DownloadFileRequest("csharp-testing/merged-file.pdf", myStorage);
        // ⇬ Fazer download do arquivo
        Stream downloadResponse = fileApi.DownloadFile(downloadRequest);

        // salvar arquivo no diretório de trabalho
        using (var fileStream = System.IO.File.Create("H:\\groupdocs-cloud-data\\merged-file.pdf"))
        {
          downloadResponse.Seek(0, SeekOrigin.Begin);
          downloadResponse.CopyTo(fileStream);
        }
        Console.WriteLine("File downloaded successfully.");
      }
      catch (Exception e)
      {
        Console.WriteLine("Exception when calling GroupDocs FileApi: " + e.Message);
      }

    }
  }
}

Mesclar páginas específicas de arquivos PDF em C# usando a API REST

O GroupDocs.Merger Cloud SDK oferece várias opções avançadas para personalizar o processo de mesclagem de PDF de acordo com seus requisitos. Você pode facilmente combinar páginas específicas de vários arquivos PDF em um arquivo programaticamente seguindo as etapas abaixo:

  • Primeiramente, crie uma instância da classe DocumentApi.
  • Em segundo lugar, crie uma instância da classe JoinItem.
  • Em terceiro lugar, defina o caminho do arquivo de entrada para o primeiro JoinItem no arquivo FileInfo.
  • Em seguida, forneça a lista separada por vírgulas de páginas para ingressar.
  • Em seguida, crie uma nova instância do JoinItem para o segundo arquivo de entrada.
  • Agora, forneça o caminho do arquivo de entrada para o segundo JoinItem no arquivo FileInfo.
  • Defina os valores StartPageNumber, EndPageNumber e RangeMode.
  • Você pode adicionar mais JoinItems para mesclar mais arquivos PDF.
  • Em seguida, crie uma instância da classe JoinOptions.
  • Adicione uma lista separada por vírgulas de itens de junção criados.
  • Além disso, defina o caminho do arquivo de saída na nuvem.
  • Agora, crie uma instância do JoinRequest e passe o parâmetro JoinOptions.
  • Por fim, obtenha os resultados chamando o método join() da DocumentApi e passando o parâmetro JoinRequest.

O trecho de código a seguir mostra como mesclar páginas específicas de dois arquivos PDF em C# .NET usando a API REST:

// Como mesclar páginas específicas de vários arquivos PDF em C#
using System;
using GroupDocs.Merger.Cloud.Sdk.Api;
using GroupDocs.Merger.Cloud.Sdk.Client;
using GroupDocs.Merger.Cloud.Sdk.Model;
using GroupDocs.Merger.Cloud.Sdk.Model.Requests;

namespace GroupDocs.Merger.CSharp
{
  // Combine arquivos PDF em um em C#
  class Merge_PDF_Files
  {
    static void Main(string[] args)
    { 

      try
      {
        
        // Crie instâncias de API necessárias
        var documentApi = new DocumentApi(configuration);
        var item1 = new JoinItem
        {
          FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
          {
            FilePath = "csharp-testing/sample-file-one.pdf"
          },
          Pages = new List<int?> { 1, 4, 7 }
        };

        var item2 = new JoinItem
        {
          FileInfo = new GroupDocs.Merger.Cloud.Sdk.Model.FileInfo
          {
            FilePath = "csharp-testing/sample-file-two.pdf"
          },
          StartPageNumber = 1,
          EndPageNumber = 5,
          RangeMode = JoinItem.RangeModeEnum.OddPages
        };

        var options = new JoinOptions
        {
          JoinItems = new List<JoinItem> { item1, item2 },
          OutputPath = "csharp-testing/merged-file.pdf"
        };

        var request = new JoinRequest(options);
        var response = documentApi.Join(request);
        Console.WriteLine("Successfully combined two PDF files into one in CSharp: " + response.Path);
      }
      catch (Exception e)
      {
        Console.WriteLine("Exception when calling GroupDocs Api: " + e.Message);
      }

    }
  }
}

Fusão de PDF Online Gratuita

Como mesclar arquivos PDF em um online gratuitamente? Por favor, tente o seguinte aplicativo online PDF Merger para combinar vários arquivos PDF em um único arquivo de qualquer dispositivo.

Resumindo

Concluindo, o GroupDocs.Merger Cloud SDK para .Net fornece uma solução confiável e eficiente para mesclar arquivos PDF em aplicativos C#. Esta postagem no blog nos ensinou:

  • como combinar vários arquivos PDF em um em C# .NET na nuvem;
  • carregar e baixar programaticamente o arquivo PDF da nuvem;
  • como combinar páginas específicas de vários arquivos PDF em um único arquivo em C#;
  • e ferramenta online gratuita de fusão de arquivos PDF.

Além disso, você pode aprender mais sobre GroupDocs.Merge Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. O código-fonte completo do GroupDocs.Merger Cloud SDK para .Net está disponível gratuitamente no GitHub.

Por fim, continuamos escrevendo novos artigos de blog em diferentes formatos de arquivo e analisando-os usando a API REST. Portanto, entre em contato para obter as atualizações mais recentes.

Faça uma pergunta

Caso você tenha alguma dúvida sobre a API de fusão de PDF, sinta-se à vontade para nos contatar através do nosso fórum.

perguntas frequentes

É possível mesclar páginas específicas de diferentes arquivos PDF usando C#?

Sim, usando o GroupDocs.Merger Cloud SDK para .NET, você pode especificar intervalos de páginas para mesclar páginas específicas de diferentes arquivos PDF. Isso lhe dá a flexibilidade de extrair e combinar informações relevantes conforme necessário.

Como posso instalar uma biblioteca online de fusão de PDF?

Você pode obter o GroupDocs.Merger Cloud SDK para .Net no site oficial do GroupDocs. Siga as instruções de instalação fornecidas para configurar o SDK em seu aplicativo C#.

Como mesclar vários arquivos PDF online gratuitamente?

Visite a ferramenta de mesclagem de PDF online para mesclar e combinar dois ou mais arquivos PDF gratuitamente, em segundos.

Veja também

Se você quiser saber mais sobre temas relacionados, recomendamos a leitura dos artigos listados abaixo: