Portable Document Format (PDF) é um formato de documento popular e amplamente utilizado desenvolvido pela Adobe. Documentos PDF podem conter uma variedade de conteúdo, incluindo texto formatado, imagens, anotações, campos de formulário, etc. Analisar documentos PDF programaticamente é um caso de uso popular e há várias maneiras de extrair o texto. No entanto, extrair imagens de um documento PDF é uma tarefa complexa. Este artigo demonstra como é fácil extrair imagens de documentos PDF programaticamente em C#.
API .NET para extrair imagens de arquivos PDF
GroupDocs.Parser for .NET API desempenhará seu papel na extração de imagens de arquivos PDF. Juntamente com o PDF, a API oferece suporte à análise e extração de imagens de documentos de processamento de texto, planilhas, eBooks, apresentações, e-mails, arquivos ZIP e muitos outros formatos de documento.
Você pode baixar as DLLs ou o instalador MSI na seção de downloads ou instalar a API em seu aplicativo .NET via NuGet.
PM> Install-Package GroupDocs.Parser
Etapas para extrair imagens de um documento PDF usando C#
Vejamos rapidamente, passo a passo, como obter imagens do arquivo PDF usando algumas linhas de código C#.
- Crie um novo projeto.
- Baixe a API conforme mencionado acima ou atualize para a versão mais recente da API.
- Adicione os seguintes namespaces:
using System;
using System.Collections.Generic;
using System.Text;
using GroupDocs.Parser.Data;
- Carregue o documento PDF usando a classe Parser.
// Crie uma instância da classe Parser
using (Parser parser = new Parser("path/document.pdf"))
{
// seu código vai aqui.
}
- Extraia imagens do documento usando o método GetImages.
// Extrair imagens
IEnumerable<PageImageArea> images = parser.GetImages();
// Verifique se a extração de imagens é suportada
if (images == null)
{
Console.WriteLine("Images extraction isn't supported");
return;
}
- Acesse cada imagem da coleção e salve-a usando o método Save.
// Iterar sobre as imagens recuperadas
foreach (PageImageArea image in images)
{
// Salvar Imagens
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", new ImageOptions(ImageFormat.Jpeg));
imageNumber++;
}
Você pode salvar as imagens em várias imagens diferentes, como JPG, PNG, BMP, WebP ou GIF.
Código Completo C# – Extração de Imagem de PDF
Aqui está o código completo que permitirá obter todas as imagens de um arquivo PDF.
// Extraia imagens de PDF usando C#
using (Parser parser = new Parser("path/document.pdf"))
{
IEnumerable<PageImageArea> images = parser.GetImages();
// Verifique se a extração de imagem é suportada
if (images == null)
{
Console.WriteLine("Images extraction isn't supported");
return;
}
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// Iterar sobre as imagens recuperadas
foreach (PageImageArea image in images)
{
// Salvar Imagens
image.Save("imageFilePath/image-" + imageNumber.ToString() + ".jpeg", options);
imageNumber++;
}
}
Resultados
Exemplo de Documento PDF
Imagens Extraídas
Se você precisar, também é explicado em um artigo separado como você pode Extrair imagens de qualquer página específica de um documento PDF usando C#.
consulte Mais informação
Você pode explorar mais sobre a API de extração de dados .NET usando sua documentação. Além disso, você pode compartilhar suas dúvidas conosco através do nosso fórum.