Cómo fusionar múltiples archivos PDF en uno en C# .Net

Cómo fusionar archivos PDF en C# usando REST API.

PDF(Portable Document Format) se usa ampliamente para compartir documentos conservando su formato y diseño. En ciertos escenarios, es posible que deba combinar varios archivos PDF en un solo documento para simplificar la información o mejorar la accesibilidad. GroupDocs.Merger Cloud SDK para .Net proporciona una forma potente e intuitiva de fusionar archivos PDF mediante programación, ahorrándole tiempo y esfuerzo. En este artículo, exploraremos cómo fusionar y combinar archivos PDF en C# utilizando la API REST.

En este artículo se tratarán los siguientes temas:

API REST de C# para combinar archivos PDF e instalación de SDK de C#

GroupDocs.Merger Cloud SDK for .NET es una solución poderosa y confiable que permite a los desarrolladores incorporar capacidades de fusión de PDF en sus aplicaciones C#. Ofrece un conjunto completo de características y funciones para fusionar y combinar archivos PDF sin problemas. Al utilizar el SDK, puede fusionar múltiples formatos de documentos admitidos en un solo documento, conservando su formato, diseño y contenido originales. El SDK se puede integrar en una aplicación basada en C# para simplificar su proceso de desarrollo.

Puede instalar GroupDocs.Merger Cloud SDK para .NET en su proyecto desde el Administrador de paquetes NuGet o usando el siguiente comando en la CLI de .NET:

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

A continuación, recopile el ID del cliente y el secreto del cliente del panel de control antes de comenzar a seguir los pasos y los ejemplos de código disponibles. Agregue ID de cliente y Secreto de cliente en el código como se muestra a continuación:

//Obtenga clientId y clientSecret de https://dashboard.groupdocs.cloud (se requiere 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";

Combinar varios archivos PDF en uno en C# mediante la API REST

Ahora que tenemos nuestro entorno de desarrollo configurado y el SDK instalado, procedamos a fusionar archivos PDF. Sigue estos pasos:

Sube los archivos

En primer lugar, cargue el documento PDF en el almacenamiento en la nube utilizando cualquiera de los siguientes métodos:

  • Usando el panel
  • Cargue todos los archivos uno por uno usando Upload File API desde el navegador
  • Cargue mediante programación utilizando el ejemplo de código que se proporciona a continuación:
// Subir archivos 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
      {
        // Crear las instancias de API necesarias
        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, el archivo PDF cargado estará disponible en la sección de archivos de su tablero en la nube.

Combinar documentos PDF en C#

Estos son los pasos y un fragmento de código de ejemplo que demuestra cómo combinar varios documentos PDF en un solo archivo mediante programación en C#.

  • En primer lugar, cree una instancia de la clase DocumentApi.
  • En segundo lugar, cree una instancia de la clase JoinItem.
  • En tercer lugar, establezca la ruta del archivo de entrada para el primer JoinItem en FileInfo.
  • Luego, cree una nueva instancia de JoinItem para el segundo archivo de entrada.
  • Ahora, proporcione la ruta del archivo de entrada para el segundo JoinItem en FileInfo.
  • Puede agregar más JoinItems para fusionar más archivos PDF.
  • A continuación, cree una instancia de la clase JoinOptions.
  • Agregue una lista separada por comas de los elementos de combinación creados.
  • Además, establezca la ruta del archivo de salida en la nube.
  • Ahora, cree una instancia de JoinRequest y pase el parámetro JoinOptions.
  • Por último, obtenga resultados llamando al método join() de DocumentApi y pasando el parámetro JoinRequest.

El siguiente fragmento de código muestra cómo fusionar varios archivos PDF en uno en C# mediante la API REST:

// Cómo fusionar múltiples archivos PDF en uno en C# usando REST API
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
{
  // Cómo combinar archivos PDF en uno usando C#
  class Merge_PDF_Files

  {
    static void Main(string[] args)
    {

      try
      {
        // Crear las instancias de API necesarias
        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);
      }

    }
  }
}

Con solo unas pocas líneas de código, ahora puede fusionar fácilmente archivos PDF utilizando GroupDocs.Merger Cloud SDK para .Net.

Descargar el archivo

El ejemplo de código anterior guardará el archivo PDF combinado en la nube. Puede descargarlo utilizando el siguiente fragmento de código:

// Descargar archivo resultante desde la nube
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
{
  // Descargar archivo de salida
  class Download_File
  {
    static void Main(string[] args)
    {
      try
      {
        // inicializar API
        var fileApi = new FileApi(configuration);
        // crear solicitud de archivo de descarga
        var downloadRequest = new DownloadFileRequest("csharp-testing/merged-file.pdf", myStorage);
        // descargar archivo
        Stream downloadResponse = fileApi.DownloadFile(downloadRequest);

        // guardar archivo en el directorio de trabajo
        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);
      }

    }
  }
}

Fusionar páginas específicas de archivos PDF en C# mediante la API REST

GroupDocs.Merger Cloud SDK ofrece varias opciones avanzadas para personalizar el proceso de fusión de PDF según sus requisitos. Puede combinar fácilmente páginas específicas de varios archivos PDF en un archivo mediante programación siguiendo los pasos a continuación:

  • En primer lugar, cree una instancia de la clase DocumentApi.
  • En segundo lugar, cree una instancia de la clase JoinItem.
  • En tercer lugar, establezca la ruta del archivo de entrada para el primer JoinItem en FileInfo.
  • A continuación, proporcione la lista de páginas separadas por comas para unirse.
  • Luego, cree una nueva instancia de JoinItem para el segundo archivo de entrada.
  • Ahora, proporcione la ruta del archivo de entrada para el segundo JoinItem en FileInfo.
  • Establezca los valores StartPageNumber, EndPageNumber y RangeMode.
  • Puede agregar más JoinItems para fusionar más archivos PDF.
  • A continuación, cree una instancia de la clase JoinOptions.
  • Agregue una lista separada por comas de los elementos de combinación creados.
  • Además, establezca la ruta del archivo de salida en la nube.
  • Ahora, cree una instancia de JoinRequest y pase el parámetro JoinOptions.
  • Finalmente, obtenga resultados llamando al método join() de DocumentApi y pasando el parámetro JoinRequest.

El siguiente fragmento de código muestra cómo fusionar páginas específicas de dos archivos PDF en C# .NET mediante la API REST:

// Cómo combinar páginas específicas de varios archivos PDF en 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
{
  // Combinar archivos PDF en uno en C#
  class Merge_PDF_Files
  {
    static void Main(string[] args)
    { 

      try
      {
        
        // Crear las instancias de API necesarias
        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);
      }

    }
  }
}

Fusión de PDF en línea gratis

¿Cómo combinar archivos PDF en uno en línea de forma gratuita? Pruebe la siguiente aplicación Fusión de PDF en línea para combinar varios archivos PDF en un solo archivo desde cualquier dispositivo.

Resumiendo

En conclusión, GroupDocs.Merger Cloud SDK para .Net proporciona una solución confiable y eficiente para fusionar archivos PDF en aplicaciones C#. Esta publicación de blog nos ha enseñado:

  • cómo combinar múltiples archivos PDF en uno en C# .NET en la nube;
  • cargue y descargue mediante programación el archivo PDF desde la nube;
  • cómo combinar páginas específicas de múltiples archivos PDF en un solo archivo en C#;
  • y herramienta gratuita de fusión de archivos PDF en línea.

Además, puede obtener más información sobre GroupDocs.Merge Cloud API utilizando la documentación. También proporcionamos una sección Referencia de API que le permite visualizar e interactuar con nuestras API directamente a través del navegador. El código fuente completo de GroupDocs.Merger Cloud SDK para .Net está disponible gratuitamente en GitHub.

Finalmente, seguimos escribiendo nuevos artículos de blog en diferentes formatos de archivo y analizándolos usando REST API. Por lo tanto, póngase en contacto para obtener las últimas actualizaciones.

Hacer una pregunta

En caso de que tenga alguna consulta sobre la API de combinación de PDF, no dude en contactarnos a través de nuestro foro.

preguntas frecuentes

¿Es posible fusionar páginas específicas de diferentes archivos PDF usando C#?

Sí, con GroupDocs.Merger Cloud SDK for .NET, puede especificar rangos de páginas para fusionar páginas específicas de diferentes archivos PDF. Esto le brinda la flexibilidad de extraer y combinar información relevante según sea necesario.

¿Cómo puedo instalar una biblioteca de fusión de PDF en línea?

Puede obtener GroupDocs.Merger Cloud SDK para .Net en el sitio web oficial de GroupDocs. Siga las instrucciones de instalación proporcionadas para configurar el SDK en su aplicación C#.

¿Cómo combinar varios archivos PDF en línea de forma gratuita?

Visite la herramienta de fusión de PDF en línea para fusionar y combinar dos o más archivos PDF de forma gratuita, en segundos.

Ver también

Si desea obtener más información sobre temas relacionados, le recomendamos leer los artículos que se enumeran a continuación: