IRONSOFTWAREHOME

Como achatar PDFs no IronPDF C#

Curtis Chau
Curtis Chau
Updated: 29 de junho de 2026

IronPDF achata documentos PDF em C# com o método Flatten(), convertendo campos de formulário interativos em conteúdo estático para que o documento não possa mais ser modificado.

Os documentos PDF geralmente incluem formulários interativos com widgets preenchíveis, como botões de opção, caixas de seleção, caixas de texto e listas. Para tornar esses documentos não editáveis para fins de segurança ou arquivamento, você achata o arquivo PDF. Isso se aplica ao trabalhar com formulários PDF em aplicativos de negócios, documentos legais ou qualquer cenário que exija um registro permanente.

Início rápido: Achate seu PDF em algumas linhas

Achate documentos PDF usando o IronPDF para remover toda a interatividade e criar conteúdo permanente e não editável. Este trecho de C# carrega um PDF existente, remove todos os widgets preenchíveis e salva o documento seguro.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copie e execute este trecho de código.

    var pdf = IronPdf.PdfDocument.FromFile("input.pdf");
    pdf.Flatten();
    pdf.SaveAs("flattened.pdf");
    C#
  3. 3Implante para testar em seu ambiente de produção.

    Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita
    arrow pointer

Como faço para achatar um documento PDF em C#?

Uma vez que o IronPDF está instalado, você pode achatar arquivos PDF com uma única chamada de método. O processo funciona em documentos PDF existentes e em PDFs que você renderiza a partir de arquivos HTML antes de achatar.

O exemplo de código abaixo usa a classe PdfDocument para carregar um PDF existente. Para geração dinâmica de PDF, renderize o formulário com a classe ChromePdfRenderer antes de achatar.

Para achatar um arquivo PDF, chame o método Flatten. Isso remove todos os widgets interativos, incluindo botões de rádio, caixas de seleção e campos de texto, tornando o documento não editável.

Entrada

using IronPdf;

// Select the desired PDF File
PdfDocument pdf = PdfDocument.FromFile("before.pdf");

// Flatten the pdf
pdf.Flatten();

// Save as a new file
pdf.SaveAs("after_flatten.pdf");

Saída

Para cenários complexos, achate páginas específicas ou defina dados de formulário antes de achatar. Passe uma lista de índices de página zero-base para achatar apenas essas páginas:

using IronPdf;

// Load a PDF with fillable forms
PdfDocument pdf = PdfDocument.FromFile("form-document.pdf");

// Optionally, pre-fill form fields by name before flattening
pdf.Form.FindFormField("name").Value = "John Doe";
pdf.Form.FindFormField("email").Value = "john@example.com";

// Flatten only pages 1-3, passing their zero-based indexes
pdf.Flatten(new[] { 0, 1, 2 });

// Save the result
pdf.SaveAs("flattened-form.pdf");
C#

Como posso verificar se o PDF está achatado?

A saída abaixo mostra os estados antes e depois. O primeiro PDF contém campos de formulário editáveis. Após a execução do método de achatamento, o documento se torna não editável. Este código funciona em qualquer projeto .NET, incluindo aplicativos Blazor.

PDF achatado
Observe: Os formulários não serão detectáveis após usar o método Flatten.

Para verificar se o nivelamento foi bem-sucedido, confira a quantidade de campos do formulário:

using IronPdf;

// Load the flattened PDF
PdfDocument flattenedPdf = PdfDocument.FromFile("flattened.pdf");

// FormFieldCollection exposes Count directly on the Form property
if (flattenedPdf.Form.Count == 0)
{
    Console.WriteLine("PDF has been successfully flattened - no interactive fields remain.");
}
else
{
    Console.WriteLine($"Warning: {flattenedPdf.Form.Count} form fields still exist.");
}
C#

Minha biblioteca favorita desse tipo é o IronPDF. Ele permite a manipulação rápida e eficiente de arquivos PDF. Além disso, possui muitos recursos valiosos, como a exportação para o formato PDF/A e a assinatura digital de documentos PDF.

Milan Jovanovic

Microsoft MVP

Veja o estudo de caso

Com o IronOCR, podemos economizar US$ 40.000 por ano em processamento manual, ao mesmo tempo que aumentamos a produtividade e liberamos recursos para tarefas de alto impacto. Eu o recomendo fortemente.

Brent Matzelle

Diretor de Tecnologia, OPYN

Veja o estudo de caso

O IronSuite desempenha um papel crucial nas nossas operações. Estas são ferramentas que aumentam a eficiência no negócio, incluindo a criação de plantas baixas e melhoria na gestão de inventário.

David Jones

Engenheiro(a) de Software Líder, Agorus Build

Veja o estudo de caso

O que acontece com os campos de formulário após o achatamento?

Quando você achatar um documento PDF, cada elemento de formulário interativo se torna parte do conteúdo da página. Os campos de formulário se transformam em texto estático e gráficos:

  • Os campos de texto se transformam em texto normal na página.
  • As caixas de seleção e os botões de opção tornam-se imagens estáticas que mostram o estado selecionado.
  • Os menus suspensos exibem apenas o valor selecionado como texto simples. As assinaturas digitais são preservadas visualmente, mas perdem a validação criptográfica.

Esse processo é irreversível. Guarde uma cópia do PDF interativo original caso precise editar o arquivo futuramente. O achatamento mantém o texto e o conteúdo vetorial selecionáveis, ao contrário de rasterizar páginas em imagens, que converte cada página em uma imagem plana. Para documentos que exigem segurança e capacidade de edição, use permissões e senhas de PDF em vez de achatá-los.

Quando devo achatar meus documentos PDF?

Casos comuns de achatamento:

  1. Arquivamento de Documentos Legais : Transformar contratos e acordos em versões planas após a assinatura para evitar alterações de conteúdo e manter a integridade jurídica.

  2. Distribuição de relatórios : Achate os relatórios financeiros e as planilhas de dados com campos calculados antes da distribuição para evitar adulteração.

  3. Processamento de envio de formulários : Crie registros permanentes aplanando os PDFs após os usuários preencherem os formulários online.

  4. Otimização de impressão : PDFs achatados imprimem de forma mais confiável, pois as impressoras não processam elementos interativos.

  5. Redução do Tamanho do Arquivo: Achatar pode reduzir o tamanho do arquivo removendo estruturas de dados de campos de formulário, o que combina bem com a compressão de PDF.

Aqui está um exemplo de processamento em lote para arquivar vários formulários preenchidos:

using IronPdf;
using System.IO;

public class BatchPdfFlattener
{
    public static void FlattenAllPdfsInDirectory(string sourceDir, string outputDir)
    {
        // Ensure output directory exists
        Directory.CreateDirectory(outputDir);
        
        // Get all PDF files in source directory
        string[] pdfFiles = Directory.GetFiles(sourceDir, "*.pdf");
        
        foreach (string pdfFile in pdfFiles)
        {
            try
            {
                // Load the PDF
                PdfDocument pdf = PdfDocument.FromFile(pdfFile);
                
                // Flatten the document
                pdf.Flatten();
                
                // Save to output directory with "_flattened" suffix
                string fileName = Path.GetFileNameWithoutExtension(pdfFile);
                string outputPath = Path.Combine(outputDir, $"{fileName}_flattened.pdf");
                pdf.SaveAs(outputPath);
                
                Console.WriteLine($"Flattened: {fileName}");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error processing {pdfFile}: {ex.Message}");
            }
        }
    }
}

Conclusão

Aplanar converte campos de formulário interativos de um PDF em conteúdo de página estático com uma única chamada Flatten(), bloqueando o documento contra edições futuras. Mantenha uma cópia não achatada se você precisar alterar os dados mais tarde, uma vez que a operação não pode ser desfeita.

Se você precisar preencher campos primeiro, defina os valores do formulário antes de achatar; para montar documentos bloqueados, una ou divida-os posteriormente.


Acesso rápido à biblioteca

Documentação

Leia mais documentação

Leia a documentação para obter mais informações sobre como achatar PDFs, editá-los e manipulá-los, e muito mais.

Visite a documentação do IronPDF

Pronto para ver o que mais você pode fazer? Confira nossa página de tutoriais aqui: Recursos adicionais

Perguntas frequentes

O que significa achatar um PDF?

Ao achatar um PDF, todos os campos interativos do formulário, como caixas de seleção, caixas de texto e botões de opção, são convertidos em conteúdo estático e não editável. O IronPDF oferece essa funcionalidade para garantir a integridade do documento e impedir modificações futuras.

Como faço para achatar um PDF em C#?

Com o IronPDF, achate um PDF em três declarações: var pdf = IronPdf.PdfDocument.FromFile("input.pdf"); depois pdf.Flatten(); depois pdf.SaveAs("flattened.pdf"). Isso carrega o PDF, remove todos os elementos interativos e salva o documento protegido.

Posso achatar páginas específicas em vez do documento inteiro?

Sim, passe uma lista de índices de página baseados em zero para o método Flatten. Por exemplo, pdf.Flatten(new[] { 0, 1, 2 }) achata apenas as páginas 0, 1 e 2, deixando as páginas restantes interativas.

Que tipos de campos de formulário podem ser achatados?

O IronPDF consegue transformar todos os widgets interativos, incluindo botões de opção, caixas de seleção, campos de texto, listas suspensas e quaisquer outros elementos de formulário preenchíveis, em conteúdo estático permanente.

Posso preencher os campos do formulário antes de converter o PDF em formato plano?

Sim, o IronPDF permite que você pré-preencha campos de formulário antes de achatar. Você pode definir valores como pdf.Form.FindFormField("name").Value = "John Doe" antes de chamar o método Flatten para criar um documento completo e não editável.

Qual mecanismo de renderização é usado no processo de achatamento de PDF?

O IronPDF utiliza um mecanismo de renderização do Chrome para garantir a renderização precisa de formulários complexos antes do achatamento, mantendo a integridade visual dos seus documentos durante todo o processo.

Por que eu precisaria achatar um documento PDF?

A compactação de PDFs com o IronPDF é essencial para segurança, arquivamento, documentos legais ou qualquer cenário que exija a preservação permanente de documentos, onde seja necessário impedir modificações adicionais nos dados do formulário.

Is the flattening process reversible in IronPDF?

No, the flattening process is irreversible. It permanently converts interactive elements into non-editable content, so it's crucial to keep an original unflattened copy if future edits are needed.

Do flattened PDFs still retain selectable text and vector graphics?

Yes, while form fields are converted to static content, IronPDF retains selectable text and vector graphics within the document.

Can interactive elements like digital signatures be preserved upon flattening?

Digital signatures are preserved visually after flattening in IronPDF, but cryptographic validation is lost, meaning they remain visible yet are no longer valid signatures.

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

Pronto para começar?

Nuget Downloads 20,756,830Versão:2026.7recém-lançado

Obtenha o seu GRÁTIS

Obtenha uma chave de avaliação de 30 dias instantaneamente.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.
bullet_testTeste em produção
sem marcas d'água
bullet_calendar30 dias completos
produto funcional
bullet_supportSuporte técnico 24 horas por dia,
5 dias por semana, durante o teste
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.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPDF".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.7

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronPDF em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPDF.dll".

Licenças a partir de US$ 749

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.