Dividir PDF en varios archivos usando C#

PDF es uno de los formatos de archivo más utilizados que es altamente portátil. Como desarrollador, es posible que se haya enfrentado al escenario de dividir archivos PDF grandes mediante programación. En uno de los artículos, aprendimos a dividir los archivos PDF en Java. Hoy, este artículo analiza diferentes formas de cómo dividir archivos PDF usando C# en aplicaciones .NET.

.NET API para dividir archivos PDF

Para dividir archivos PDF, usaremos GroupDocs.Merger para .NET. Es la API que permite un desarrollo rápido para integrar funcionalidades con muy pocas líneas de código. Además de dividir, admite combinar, intercambiar o recortar documentos de diferentes formatos de archivo.

Puede descargar el instalador DLL o MSI desde la sección de descargas o instalar la API en su aplicación .NET a través de NuGet.

PM> Install-Package GroupDocs.Merger

Dividir archivo PDF en archivos de varias páginas usando C#

Los siguientes pasos guían cómo puede dividir archivos PDF en archivos de varias páginas usando C#:

  • Definir el formato de los archivos de salida.
  • Defina los intervalos de página usando SplitOptions.
  • Cargue el archivo PDF usando la clase Merger.
  • Dividir el PDF cargado según el intervalo definido usando el método Split().

El siguiente ejemplo de código muestra cómo dividir archivos PDF en archivos de varias páginas.

/*
 * Dividir archivos PDF en archivos de varias páginas usando C#
 */
// Definir formato de archivo(s) de salida
string filePathOut = "path/splitPDF_{0}.{1}";

// Definir intervalos de división y modo de división
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 }, SplitMode.Interval);

// Cargue el archivo PDF y divida el PDF según las opciones de división
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
} 

Extraer páginas de archivos PDF por rango

Los siguientes pasos guían cómo extraer páginas de PDF usando C# dividiendo según el rango dado:

  • Definir el formato de los archivos de salida.
  • Proporcione el rango de páginas usando SplitOptions.
  • Cargue el archivo PDF usando la clase Merger.
  • Use el método Split() para dividir el PDF cargado según el rango definido.

El siguiente fragmento de código muestra cómo dividir PDF y extraer páginas al proporcionar el rango.

/*
 * Divida el archivo PDF por rango dado en archivos de una sola página usando C#
 */
// Definir formato de archivo(s) de salida
string filePathOut = "path/splitPDF_{0}.{1}";

// Definir rango para extraer como documentos de una sola página
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);

// Cargue el archivo PDF y divida el PDF según las opciones de división
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

Extraiga páginas pares/impares de archivos PDF usando C#

Los siguientes pasos guían cómo extraer páginas pares/impares de un archivo PDF dividiéndolo dentro del rango dado simplemente aplicando filtros en C#:

  • Definir el formato de los archivos de salida.
  • Proporcione el rango de páginas usando SplitOptions.
  • Aplique el filtro para páginas pares, impares o todas usando RangeMode.
  • Cargue el archivo PDF usando la clase Merger.
  • Use el método Split() para separar el PDF cargado según el filtro definido.

El siguiente fragmento de código muestra cómo extraer todas las páginas pares/impares en el rango definido de un archivo PDF.

/*
 * Divida el archivo PDF por rango dado y filtro (páginas pares/impares) en archivos de una sola página usando C#
 */
// Definir formato de archivo(s) de salida
string filePathOut = "path/splitPDF_{0}.{1}";

// Defina rango y filtro para extraer todas las páginas impares en el rango dado como documentos de una sola página
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, RangeMode.OddPages);

// Cargue el archivo PDF y divida el PDF según las opciones de división
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

Dividir archivo PDF en varios archivos de una sola página

Los siguientes pasos guían cómo podemos dividir un PDF para extraer páginas como múltiples archivos de una sola página en C#:

  • Definir el formato de los archivos de salida.
  • Defina los números de página exactos usando SplitOptions.
  • Cargue el archivo PDF usando la clase Merger.
  • Divida el PDF cargado según las páginas definidas utilizando el método Split().

El siguiente ejemplo de código muestra cómo dividir archivos PDF en varios archivos de una sola página.

/*
 * Divida el archivo PDF en archivos de una sola página usando C#
 */
// Definir formato de archivo(s) de salida
string filePathOut = "path/splitPDF_{0}.{1}";

// Definir páginas para extraer como documento de una sola página
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });

// Cargue el archivo PDF y divida el PDF según las opciones de división
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

Resumen de cambio de código

En todos los escenarios, lo que cambia es la forma de definir SplitOptions. Aquí está el resumen del cambio en cada fragmento de código para cada escenario. Puede usar la siguiente configuración según sus requisitos dentro de su código. Aquí, utilicé un archivo PDF que tiene 10 páginas.

  • Para archivos de varias páginas: utilice el intervalo: [1,2], [3,4,5], [6,7], [8,9,10].
new SplitOptions(outputFile,  new int[] { 3, 6, 8 }, SplitMode.Interval)
  • Extraer páginas en rango: [3], [4], [5], [6]
new SplitOptions(outputFile, 3, 6);
  • Rango con Filtro: [3], [5], [7]
new SplitOptions(outputFile, 3, 8, (Integer)RangeMode.OddPages);
  • Páginas individuales: [3], [4], [9]
new SplitOptions(outputFile, new int[] { 3, 4, 9 });

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para utilizar la API sin las limitaciones de evaluación.

Conclusión

Para concluir, discutimos las formas de dividir archivos PDF usando C#. Primero, dividimos el archivo PDF en documentos de varias páginas y de una sola página. También extrajimos páginas de archivos PDF. Primero, extrajimos todas las páginas y luego las páginas pares/impares dentro del rango dado. Puede intentar crear su propia aplicación .NET de división de PDF utilizando la API GroupDocs.Merger.

Para obtener más información sobre la API, visite la documentación. Para consultas, contáctenos a través del foro.

Ver también