IRONSOFTWAREHOME

Exception AccessViolationException Durante o Processamento de Formulário (c0000005)

Curtis Chau
Curtis Chau
Updated: 3 de julho de 2026

Ao processar formulários PDF, o IronPDF pode lançar um AccessViolationException nativo intermitente (código c0000005) que não se reproduz de forma confiável, mesmo no mesmo arquivo de entrada. Ele aparece mais frequentemente quando você acessa PdfDocument.Form e durante PdfDocument.Flatten e PdfDocument.Merge.

AccessViolationException (0xc0000005)
bad conversion while widening narrow string
Text

A falha vem da interação entre manipuladores de campos de formulário nativos e o tempo de vida de objeto gerenciado. Se o PdfDocument for coletado como lixo ou descartado enquanto operações de formulário nativas ainda estão em andamento, a camada nativa acessa a memória que já foi liberada, o que produz a violação de acesso.

Os repetidos avisos de "má conversão ao alargar string estreita", juntamente com avisos sobre a remoção de anotações de campos de formulário durante o achatamento, são um sintoma separado e benigno. Eles vêm da decodificação de strings de campos AcroForm internos e metadados que contêm caracteres japoneses ou multibyte em um determinado PDF. Eles não indicam um problema com suporte geral a japonês ou Unicode, nem com caminhos de arquivo UNC em japonês.

Solução

1. Mantenha o Documento Vivo durante Toda a Operação

Recomendado: mantenha o PdfDocument em escopo durante toda a duração do processamento de formulário. Envolva-o em um bloco Using para que seu tempo de vida seja explícito, então chame GC.KeepAlive(doc) após o loop de campos de formulário, antes que o documento seja descartado.

Using doc As IronPdf.PdfDocument = IronPdf.PdfDocument.FromFile(tempPdfPath)
    For Each field In doc.Form
        ' Your form field processing here
    Next
    GC.KeepAlive(doc)
End Using
Text

O GC.KeepAlive(doc) impede que o tempo de execução colete o documento enquanto operações de formulário nativas ainda estão em execução, fechando a janela em que o código nativo pode acessar memória liberada.

2. Remova Chamadas Manuais de GC.Collect()

Exclua quaisquer chamadas GC.Collect() durante o processamento de PDF e formulário. Forçar a coleta no meio da operação pode desencadear exatamente o problema de tempo de vida que causa a falha.

3. Alvo Somente x64

Defina explicitamente o alvo da plataforma do projeto para x64, e certifique-se de que Preferir 32 bits está desativado. Executar como x64 evita as limitações de um processo de 32 bits durante o trabalho com formulários nativos.

Curtis Chau
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...
Read More

Pronto para começar?

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

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.

Experimente IronPDF gratuitamente

Configure tudo em 5 minutos

DLL de PDF em C#

Baixar DLL

Baixe agora

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".
Biblioteca NuGet C# para PDF

Instalar com NuGet

                  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.
Key in blue circle

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

bullet_checkedNão é necessário cartão de crédito nem criação de conta.
  • 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 related to IronPDF Product Demo

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.