Converter PDF em imagens usando C#

Pode ser necessário compartilhar as páginas de documentos PDF como arquivos de imagem com outras pessoas. Como desenvolvedor C#, você pode converter facilmente arquivos PDF para PNG, JPG, TIFF ou BMP programaticamente em seus aplicativos .NET. Neste artigo, você aprenderá como converter PDF em imagens usando C#.

Os seguintes tópicos são discutidos/abordados neste artigo:

API C# de conversão de PDF para imagem

Para converter PDF em imagens, estarei usando Aspose.PDF for .NET API. É uma poderosa API de gerenciamento de arquivos PDF que permite manipular documentos PDF a partir de seus aplicativos .NET. Ele permite criar, modificar, converter, renderizar, proteger e imprimir documentos sem usar o Adobe Acrobat.

Você pode baixar a DLL da API ou instalá-la usando o NuGet.

Install-Package Aspose.Pdf

Converter PDF para imagens PNG usando C#

Você pode converter arquivos PDF em imagens PNG programaticamente seguindo as etapas abaixo:

  • Crie uma instância da classe Document com o caminho do arquivo PDF de entrada.
  • Percorra todas as páginas do PDF usando a coleção Document.Pages e faça o seguinte:
    • Crie uma instância da classe Resolution e defina seu valor.
    • Crie uma instância da classe PngDevice e passe o objeto Width, Height e Resolution.
    • Chame o método Process(Page, String) com o número da página e o caminho da imagem PNG de saída para converter a página em um PNG.

O exemplo de código a seguir mostra como converter páginas PDF em imagens PNG usando C#.

// Abrir documento
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Definir resolução
    Resolution resolution = new Resolution(300);

    // Criar dispositivo PNG com atributos especificados
    // Largura, Altura, Resolução
    PngDevice PngDevice = new PngDevice(500, 700, resolution);

    // Converta uma página específica e salve a imagem para transmitir
    PngDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Png");
}
Converter PDF para imagens PNG usando C#

Converter PDF para imagens PNG usando C#

A classe Document representa o documento PDF. Ele fornece várias propriedades e métodos para executar várias funcionalidades. A coleção Document.Pages é uma coleção de páginas de documentos e a numeração de página começa em 1 na coleção. A classe Resolution define a resolução da imagem. A classe PngDevice permite salvar páginas do documento PDF em imagens PNG. Esta classe fornece os seguintes métodos para salvar páginas em imagens PNG:

Converter PDF para imagens JPG usando C#

Você pode converter arquivos PDF em imagens JPG programaticamente seguindo as etapas abaixo:

  • Crie uma instância da classe Document com o caminho do arquivo de entrada.
  • Percorra todas as páginas do PDF usando a coleção Document.Pages e faça o seguinte:
    • Crie uma instância da classe Resolution e defina seu valor.
    • Crie uma instância da classe JpegDevice e passe o objeto Width, Height e Resolution.
    • Chame o método Process(Page, String) com o número da página e o caminho da imagem JPG de saída para converter a página em um JPG.

O exemplo de código a seguir mostra como converter páginas PDF em imagens JPG usando C#.

// Abrir documento
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Definir resolução
    Resolution resolution = new Resolution(300);
    
    // Criar dispositivo JPEG com atributos especificados
    // Largura, Altura, Resolução
    JpegDevice JpegDevice = new JpegDevice(500, 700, resolution);

    // Converta uma página específica e salve a imagem para transmitir
    JpegDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".Jpg");
}
Converter PDF para imagens JPG usando C#

Converter PDF para imagens JPG usando C#

Conversão de PDF para BMP usando C#

Você pode converter arquivos PDF em imagens BMP programaticamente seguindo as etapas abaixo:

  • Crie uma instância da classe Document com o caminho do arquivo de entrada.
  • Percorra todas as páginas do PDF usando a coleção Document.Pages e faça o seguinte:
    • Crie uma instância da classe Resolution e defina seu valor.
    • Crie uma instância da classe BmpDevice e passe o objeto Width, Height e Resolution.
    • Chame o método Process(Page, String) com o número da página e o caminho da imagem BMP de saída para converter a página em um BMP.

O exemplo de código a seguir mostra como converter páginas PDF em imagens BMP usando C#.

// Abrir documento
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

foreach (var page in pdfDocument.Pages)
{
    // Definir resolução
    Resolution resolution = new Resolution(300);
    
    // Criar dispositivo PNG com atributos especificados
    // Largura, Altura, Resolução
    BmpDevice BmpDevice = new BmpDevice(500, 700, resolution);

    // Converta uma página específica e salve a imagem para transmitir
    BmpDevice.Process(pdfDocument.Pages[page.Number], "C:\\Files\\image" + page.Number + "_out" + ".bmp");
}
Conversão de PDF para BMP usando C#

Conversão de PDF para BMP usando C#

Conversão de PDF para TIFF usando C#

Você pode converter arquivos PDF para TIFF programaticamente seguindo as etapas abaixo:

  • Crie uma instância da classe Document com o caminho do arquivo de entrada.
  • Inicialize uma instância da classe Resolution e defina seu valor.
  • Crie uma instância da classe TiffSettings.
  • Defina várias propriedades, como Compressão, Profundidade, Forma e SkipBlankPages, etc.
  • Crie uma instância da classe TiffDevice com os objetos Resolution e TiffSettings.
  • Chame o método Process(Document, String) com o objeto Document e o caminho do arquivo TIFF de saída para converter o documento em um TIFF.

O exemplo de código a seguir mostra como converter um arquivo PDF em um TIFF usando C#.

// Abrir documento
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

// Definir resolução
Resolution resolution = new Resolution(300);

// Criar objeto TiffSettings
TiffSettings tiffSettings = new TiffSettings
{
    Compression = CompressionType.None,
    Depth = ColorDepth.Default,
    Shape = ShapeType.Portrait,
    SkipBlankPages = false
};

// Criar dispositivo TIFF
TiffDevice tiffDevice = new TiffDevice(resolution, tiffSettings);

// Converta uma página específica e salve a imagem para transmitir
tiffDevice.Process(pdfDocument, "C:\\Files\\AllPagesToTIFF_out.tif");
Conversão de PDF para TIFF usando C#

Conversão de PDF para TIFF usando C#

A classe TiffSettings fornece várias configurações para converter um PDF em TIFF. Você pode definir Brightness, Compression, CoordinateType, Depth, Margins, Shape e SkipBlankPages enquanto converte PDF para TIFF.

Extraia imagens de documentos PDF usando C#

Você pode extrair todas as imagens de qualquer arquivo PDF programaticamente seguindo as etapas abaixo:

  • Crie uma instância da classe Document com o caminho do arquivo de entrada.
  • Para cada página, crie uma instância XImage para cada imagem na coleção Page.Resources.Images.
  • Crie uma instância da classe FileStream com o caminho do arquivo de imagem de saída.
  • Chame o método Save() com o objeto FileStream para salvar a imagem
  • Finalmente, feche o FileStream usando o método Close().

O exemplo de código a seguir mostra como extrair imagens de um documento PDF usando C#.

// Abrir documento
Document pdfDocument = new Document("C:\\Files\\sample.pdf");

// Percorrer as páginas
foreach (var page in pdfDocument.Pages)
{
    int imageCounter = 1;
    // Percorrer todas as imagens
    foreach (XImage image in page.Resources.Images)
    {
        // Criar fluxo de arquivo para imagem
        FileStream outputImage = new FileStream(String.Format("C:\\Files\\Page{0}_Image{1}.jpg", page.Number, imageCounter), FileMode.Create);

        // Salvar imagem de saída
        image.Save(outputImage);

        // Fechar fluxo
        outputImage.Close();

        imageCounter++;
    }
}
Extraia imagens de documentos PDF usando C#

Extraia imagens de documentos PDF usando C#

A classe XImage representa a imagem X-Object. Ele fornece várias propriedades e métodos para trabalhar com imagens. A classe XImage fornece os seguintes métodos para salvar o objeto de imagem:

A coleção Page.Resources.Images representa a coleção de imagens para a página específica.

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como converter páginas de arquivos PDF em imagens usando C#. Você também aprendeu como converter PDF para PNG, PDF para JPG, PDF para BMP e PDF para TIFF programaticamente. Além disso, você aprendeu como extrair imagens de um arquivo PDF usando C#. A API também oferece opções de compactação, criação e manipulação de tabelas, funções de gráficos e imagens, ampla funcionalidade de hiperlink, tarefas de carimbo e marca d’água, controles de segurança estendidos e manipulação de fontes personalizadas. Você pode aprender mais sobre Aspose.PDF para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também