Dividir PDF em vários arquivos usando C#

PDF é um dos formatos de arquivo mais usados e altamente portátil. Como desenvolvedor, você pode ter enfrentado o cenário de dividir grandes arquivos PDF programaticamente. Em um dos artigos, aprendemos a dividir os arquivos PDF em Java. Hoje, este artigo discute diferentes maneiras de como dividir arquivos PDF usando C# em aplicativos .NET.

API .NET para dividir arquivos PDF

Para dividir arquivos PDF, usaremos GroupDocs.Merger for .NET. É a API que permite o desenvolvimento rápido para integrar recursos com poucas linhas de código. Além de dividir, ele suporta mesclar, trocar ou cortar documentos de diferentes formatos de arquivo.

Você pode baixar o instalador DLLs ou MSI da seção de downloads ou instalar a API em seu aplicativo .NET por meio de NuGet.

PM> Install-Package GroupDocs.Merger

Dividir arquivo PDF em arquivos MultiPage usando C

As etapas a seguir orientam como você pode dividir arquivos PDF em arquivos de várias páginas usando C#:

  • Defina o formato do(s) arquivo(s) de saída.
  • Defina os intervalos de página usando SplitOptions.
  • Carregue o arquivo PDF usando a classe Merger.
  • Divida o PDF carregado de acordo com o intervalo definido usando o método Split().

O exemplo de código a seguir mostra como dividir arquivos PDF em arquivos de várias páginas.

/*
 * Divida arquivos PDF em arquivos de várias páginas usando C#
 */
// Definir o formato do(s) arquivo(s) de saída
string filePathOut = "path/splitPDF_{0}.{1}";

// Definir intervalos de divisão e modo de divisão
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 }, SplitMode.Interval);

// Carregue o arquivo PDF e divida o PDF de acordo com as opções de divisão
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
} 

Extrair páginas de arquivos PDF por intervalo

As etapas a seguir orientam como extrair páginas de PDF usando C# dividindo de acordo com o intervalo fornecido:

  • Defina o formato do(s) arquivo(s) de saída.
  • Forneça o intervalo de páginas usando SplitOptions.
  • Carregue o arquivo PDF usando a classe Merger.
  • Use o método Split() para dividir o PDF carregado de acordo com o intervalo definido.

O trecho de código a seguir mostra como dividir PDF e extrair páginas fornecendo o intervalo.

/*
 * Divida o arquivo PDF por determinado intervalo em arquivos de página única usando C #
 */
// Definir o formato do(s) arquivo(s) de saída
string filePathOut = "path/splitPDF_{0}.{1}";

// Definir intervalo para extrair como documentos de página única
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);

// Carregue o arquivo PDF e divida o PDF de acordo com as opções de divisão
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

Extraia páginas pares/ímpares de arquivos PDF usando C#

As etapas a seguir orientam como extrair páginas pares/ímpares de um arquivo PDF dividindo dentro do intervalo fornecido apenas aplicando filtros em C#:

  • Defina o formato do(s) arquivo(s) de saída.
  • Forneça o intervalo de páginas usando SplitOptions.
  • Aplique o filtro para páginas pares, ímpares ou todas usando RangeMode.
  • Carregue o arquivo PDF usando a classe Merger.
  • Use o método Split() para separar o PDF carregado de acordo com o filtro definido.

O trecho de código a seguir mostra como extrair todas as páginas pares/ímpares no intervalo definido de um arquivo PDF.

/*
 * Divida o arquivo PDF por intervalo e filtro fornecidos (páginas pares/ímpares) em arquivos de página única usando C #
 */
// Definir o formato do(s) arquivo(s) de saída
string filePathOut = "path/splitPDF_{0}.{1}";

// Definir intervalo e filtro para extrair todas as páginas ODD no intervalo fornecido como documentos de página única
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, RangeMode.OddPages);

// Carregue o arquivo PDF e divida o PDF de acordo com as opções de divisão
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

Dividir arquivo PDF em vários arquivos de página única

As etapas a seguir orientam como podemos dividir um PDF para extrair páginas como vários arquivos de página única em C#:

  • Defina o formato do(s) arquivo(s) de saída.
  • Defina os números de página exatos usando SplitOptions.
  • Carregue o arquivo PDF usando a classe Merger.
  • Divida o PDF carregado de acordo com as páginas definidas usando o método Split().

O exemplo de código a seguir mostra como dividir arquivos PDF em vários arquivos de página única.

/*
 * Dividir arquivo PDF em arquivos de página única usando C #
 */
// Definir o formato do(s) arquivo(s) de saída
string filePathOut = "path/splitPDF_{0}.{1}";

// Definir páginas para serem extraídas como documento de página única
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });

// Carregue o arquivo PDF e divida o PDF de acordo com as opções de divisão
using (Merger merger = new Merger("path/document.pdf"))
{
    merger.Split(splitOptions);
}

Resumo da alteração de código

Em todos os cenários, o que muda é a forma de definir SplitOptions. Aqui está o resumo da alteração em cada trecho de código para cada cenário. Você pode usar as seguintes configurações de acordo com seus requisitos em seu código. Aqui, usei um arquivo PDF com 10 páginas.

  • Para arquivos de várias páginas - Intervalo de uso: [1,2], [3,4,5], [6,7], [8,9,10].
new SplitOptions(outputFile,  new int[] { 3, 6, 8 }, SplitMode.Interval)
  • Extrair páginas no intervalo: [3], [4], [5], [6]
new SplitOptions(outputFile, 3, 6);
  • Intervalo com filtro: [3], [5], [7]
new SplitOptions(outputFile, 3, 8, (Integer)RangeMode.OddPages);
  • Páginas individuais: [3], [4], [9]
new SplitOptions(outputFile, new int[] { 3, 4, 9 });

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.

Conclusão

Para concluir, discutimos as maneiras de dividir arquivos PDF usando C#. Primeiro, dividimos o arquivo PDF em documentos de várias páginas e de página única. Também extraímos páginas de arquivos PDF. Primeiro, extraímos todas as páginas e, em seguida, as páginas pares/ímpares dentro do intervalo fornecido. Você pode tentar construir seu próprio aplicativo .NET de divisão de PDF usando a API GroupDocs.Merger.

Para saber mais sobre a API, visite a documentação. Para dúvidas, entre em contato conosco através do fórum.

Veja também