IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

C# Directory.GetFiles (Como funciona: um guia para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 22 de junho de 2025

Parâmetro C# out. Ao combinar essa funcionalidade com o IronPDF, os desenvolvedores podem automatizar fluxos de trabalho em PDF em grande escala. Por exemplo, você pode usar Directory.GetFiles para localizar todos os arquivos PDF em uma pasta e, em seguida, processá-los em massa usando IronPDF para tarefas como mesclagem, adição de anotações ou geração de relatórios. Essa combinação permite operações simplificadas, especialmente ao lidar com muitos arquivos no sistema de arquivos.

O que é o IronPDF?

IronPDF é uma biblioteca .NET robusta que fornece aos desenvolvedores ferramentas para trabalhar perfeitamente com arquivos PDF. Com o IronPDF, você pode criar, editar, mesclar, dividir e manipular PDFs usando métodos simples e intuitivos. Inclui funcionalidades poderosas como conversão de HTML para PDF , estilização avançada e gerenciamento de metadados. Para desenvolvedores .NET que trabalham em aplicações que exigem processamento de PDF, o IronPDF é uma ferramenta indispensável que agiliza os fluxos de trabalho e aumenta a produtividade.

Começando

Instalando o IronPDF

Instalação de Pacotes NuGet

Para começar, adicione o IronPDF ao seu projeto via NuGet:

  1. Abra seu projeto no Visual Studio.
  2. Vá ao menu Ferramentas e selecione Gerenciador de Pacotes NuGet > Gerenciar Pacotes NuGet para a Solução .
  3. Procure por IronPDF no gerenciador de pacotes NuGet .

C# Directory.GetFiles (Como Funciona: Um Guia para Desenvolvedores): Figura 1

  1. Instale a versão mais recente do IronPDF.

Alternativamente, utilize o Console do Gerenciador de Pacotes NuGet :

PM > Install-Package IronPdf

Basics of Directory.GetFiles in C#

O método Directory.GetFiles faz parte do namespace System.IO e é usado para recuperar nomes de arquivos de um sistema de arquivos. Este método, um membro público estático do tipo string da classe Directory, simplifica o acesso a caminhos de arquivos. Por exemplo:

string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");

Este trecho de código recupera todos os arquivos PDF dentro do diretório atual. Ao combinar esse método com o IronPDF, você pode criar soluções automatizadas para processar vários arquivos simultaneamente. Você também pode aplicar um padrão de pesquisa específico, definido como um padrão de string, para filtrar arquivos com base em suas extensões ou nomes.

Você pode refinar ainda mais sua lógica de recuperação de arquivos especificando opções de pesquisa, como incluir subdiretórios de pesquisa:

string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf", SearchOption.AllDirectories);

Isso garante que os arquivos em pastas aninhadas também sejam incluídos, recuperando o caminho absoluto de cada arquivo e tornando a abordagem versátil para diversos cenários.

Casos de uso práticos

Obtenção e processamento de arquivos PDF de um diretório

Exemplo: Carregando todos os arquivos PDF para processamento

Usando Directory.GetFiles, você pode iterar sobre todos os arquivos PDF em um diretório e processá-los com IronPDF:

string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
foreach (string file in pdfFiles)
{
    // Load the PDF with IronPDF
    var pdf = PdfDocument.FromFile(file);
    Console.WriteLine($"Processing file: {Path.GetFileName(file)}");
}

C# Directory.GetFiles (Como Funciona: Um Guia para Desenvolvedores): Figura 2

Este exemplo demonstra como carregar vários PDFs de um diretório para processamento. Uma vez carregado, você pode realizar diversas operações, como extrair texto, adicionar anotações ou gerar novos PDFs com base no conteúdo.

Filtrar arquivos usando padrões de pesquisa

Exemplo: Selecionar PDFs por nome ou data

Você pode combinar Directory.GetFiles com LINQ para filtrar arquivos com base em critérios como data de criação ou modificação:

string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
var recentFiles = pdfFiles.Where(file => File.GetLastWriteTime(file) > DateTime.Now.AddDays(-7));
foreach (string file in recentFiles)
{
    Console.WriteLine($"Recent file: {Path.GetFileName(file)}");
}

C# Directory.GetFiles (Como Funciona: Um Guia para Desenvolvedores): Figura 3

Essa abordagem garante que apenas os arquivos relevantes sejam processados, economizando tempo e recursos computacionais. Por exemplo, você pode usar esse método para processar apenas as faturas ou relatórios mais recentes gerados na última semana.

Operações em lote com IronPDF e Directory.GetFiles

Exemplo: Anexando vários PDFs

Você pode concatenar vários PDFs de um diretório em um único arquivo:

string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
var pdfAppend = new PdfDocument(200, 200);
foreach (string file in pdfFiles)
{
    var pdf = PdfDocument.FromFile(file);
    pdfAppend.AppendPdf(pdf);
}
pdfAppend.SaveAs("LargePdf.pdf");
Console.WriteLine("PDFs Appended successfully!");

C# Directory.GetFiles (Como Funciona: Um Guia para Desenvolvedores): Figura 4

Essa abordagem é particularmente útil para criar relatórios consolidados, arquivar vários documentos ou preparar apresentações. Ao automatizar esse processo, você pode lidar com grandes coleções de arquivos sem esforço.

Implementação passo a passo

Configurando o projeto

Trecho de código: Inicializando o IronPDF e trabalhando com arquivos PDF

O código a seguir demonstra como o IronPDF pode ser usado em conjunto com Directory.GetFiles para carregar e trabalhar com documentos PDF.

using IronPdf;
using System;
using System.IO;

class Program
{
    static void Main()
    {
        // Retrieve all PDF file paths from the specified directory
        string[] pdfFiles = Directory.GetFiles("C:\\Users\\kyess\\Documents\\PDFs", "*.pdf");

        // Initialize a PdfDocument
        var pdfAppend = new PdfDocument(200, 200);

        // Create a text annotation to add to each PDF
        TextAnnotation annotation = new TextAnnotation(0)
        {
            Contents = "Processed by IronPDF",
            X = 50,
            Y = 50,
        };

        // Iterate over each file path, load, annotate, and save
        foreach (string file in pdfFiles)
        {
            var pdf = PdfDocument.FromFile(file);
            pdf.Annotations.Add(annotation);
            pdf.SaveAs(file);
        }
    }
}

Saída do console

C# Directory.GetFiles (Como Funciona: Um Guia para Desenvolvedores): Figura 5

Explicação

Este código demonstra como adicionar uma anotação de texto a todos os arquivos PDF em um diretório especificado usando o IronPDF em C#. O programa começa recuperando todos os caminhos de arquivos PDF da pasta fornecida usando o método Directory.GetFiles, que depende de um caminho de string para especificar o diretório e suporta filtragem por extensão de arquivo, retornando uma matriz de nomes de arquivos em string contendo os caminhos de todos os arquivos PDF com a extensão ".pdf".

Em seguida, o código inicializa um objeto PdfDocument (pdfAppend) com dimensões 200x200, embora esta instância específica não seja usada diretamente no loop. Em seguida, cria um TextAnnotation com o texto "Processado por IronPDF" posicionado nas coordenadas (50, 50). Esta anotação será adicionada a cada arquivo PDF.

No loop foreach, o programa itera através de cada caminho de arquivo na matriz pdfFiles. Para cada arquivo, ele carrega o PDF usando PdfDocument.FromFile(file), adiciona a anotação criada anteriormente à coleção de Anotações do PDF e, em seguida, salva o PDF atualizado de volta ao seu caminho absoluto usando pdf.SaveAs(file).

Este processo garante que todos os PDFs no diretório especificado recebam a mesma anotação e sejam salvos com a anotação incluída.

Dicas de desempenho e melhores práticas

Otimizando a recuperação de arquivos com Directory.GetFiles

Use métodos assíncronos, como Directory.EnumerateFiles, para um melhor desempenho com diretórios grandes.

Gerenciando um grande número de arquivos de forma eficiente

Processe os arquivos em lotes menores para reduzir o consumo de memória:

foreach (var batch in pdfFiles.Batch(10))
{
    foreach (string file in batch)
    {
        var pdf = PdfDocument.FromFile(file);
        // Process PDF
    }
}

Tratamento de erros no processamento de arquivos e geração de PDFs

Envolva o processamento de arquivos em um bloco try-catch para lidar com exceções:

try
{
    var pdf = PdfDocument.FromFile(file);
    // Process PDF
}
catch (Exception ex)
{
    Console.WriteLine($"Error processing {file}: {ex.Message}");
}

Conclusão

Combinar o poder de Directory.GetFiles com IronPDF permite que os desenvolvedores gerenciem e processem eficientemente arquivos PDF em grande escala. Com essa abordagem, tarefas como processamento em lote, mesclagem, filtragem e transformação de PDFs tornam-se perfeitas, reduzindo significativamente o esforço manual e melhorando a produtividade. Ao aproveitar os recursos avançados do IronPDF, incluindo a adição de cabeçalhos, metadados e estilos, os desenvolvedores podem criar documentos PDF profissionais e de alta qualidade, personalizados de acordo com suas necessidades.

Ao longo deste guia, exploramos como usar Directory.GetFiles para recuperar e manipular PDFs com IronPDF. Desde a concepção de um projeto até a implementação de casos de uso práticos, abordamos técnicas essenciais que podem ser aplicadas a cenários do mundo real. Seja para automatizar fluxos de trabalho de documentos ou aprimorar a funcionalidade de seus aplicativos .NET , essa combinação oferece uma solução robusta e escalável.

Se você estiver pronto para se aprofundar no IronPDF e explorar recursos avançados, considere consultar a documentação oficial , que permite testar a biblioteca em seus próprios projetos.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.