Muitas vezes, você pode precisar gerar miniaturas ao incorporar os documentos PDF em um aplicativo da web. Além disso, são necessárias miniaturas de páginas ao criar um visualizador de PDF. Para esses cenários, este artigo aborda como gerar miniaturas de um arquivo PDF programaticamente em C# .NET. Abordaremos explicitamente como criar uma miniatura de uma página específica ou de todas as páginas em um arquivo PDF.
- API .NET para gerar miniaturas de PDF
- Gerar uma miniatura de um arquivo PDF
- Gerar miniaturas de todas as páginas em PDF
API C# .NET para gerar miniaturas de PDF
Aspose.PDF for .NET é uma biblioteca de classes C# que permite criar e manipular documentos PDF dentro dos aplicativos .NET. Usando a API, você pode executar operações de automação de PDF básicas e avançadas com bastante facilidade. Usaremos esta API para gerar miniaturas de um arquivo PDF. A API pode ser baixada como DLL ou instalada via NuGet.
PM> Install-Package Aspose.Pdf
Gerar uma miniatura de um arquivo PDF em C# .NET
Normalmente, você precisa gerar uma única imagem em miniatura para um documento PDF. A página da miniatura pode ser a capa ou qualquer outra página de sua escolha. A seguir estão as etapas para gerar uma miniatura da página desejada de um PDF em C#.
- Carregue o arquivo PDF usando a classe Document.
- Obtenha uma referência da página desejada da coleção Document.Pages.
- Crie um novo FileStream para o arquivo de imagem.
- Crie uma instância da classe Resolution para definir a resolução da imagem em miniatura.
- Instancie JpegDevice e defina a altura, largura, resolução e qualidade da imagem.
- Gere miniatura usando o método JpegDevice.Process(Page, FileStream).
- Feche o fluxo de arquivos.
O exemplo de código a seguir mostra como gerar uma miniatura de um arquivo PDF em C#.
// Abrir documento
Document pdfDocument = new Document("file.pdf");
int pageIndex = 0;
// Obter página do índice desejado da coleção
var page = pdfDocument.Pages[pageIndex];
// Criar fluxo para arquivo de imagem
using (FileStream imageStream = new FileStream("Thumbanils_" + page.Number + ".jpg", FileMode.Create))
{
// Criar objeto de resolução
Resolution resolution = new Resolution(300);
// Crie uma instância do JpegDevice e defina a altura, largura, resolução e qualidade da imagem
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Converta uma página específica e salve a imagem para transmitir
jpegDevice.Process(page, imageStream);
// Fechar fluxo
imageStream.Close();
}
Gerar miniaturas de todas as páginas em PDF em C#
A seguir estão as etapas para gerar miniaturas para todas as páginas em PDF em C#.
- Carregue o arquivo PDF usando a classe Document.
- Percorra todas as páginas em PDF usando a coleção Document.Pages.
- Em cada iteração, execute as seguintes operações:
- Crie um novo FileStream para o arquivo de imagem.
- Crie uma instância da classe Resolution para definir a resolução da imagem em miniatura.
- Instancie JpegDevice e defina a altura, largura, resolução e qualidade da imagem.
- Gere miniatura usando o método JpegDevice.Process(Page, FileStream).
- Feche o fluxo de arquivos.
O exemplo de código a seguir mostra como gerar miniaturas para todas as páginas em PDF.
// Abrir documento
Document pdfDocument = new Document("file.pdf");
// Percorrer as páginas
for (int pageCount = 1; pageCount <= pdfDocument.Pages.Count; pageCount++)
{
// Criar fluxo para cada imagem
using (FileStream imageStream = new FileStream("Thumbanils_" + pageCount + ".jpg", FileMode.Create))
{
// Criar objeto de resolução
Resolution resolution = new Resolution(300);
// Crie uma instância do JpegDevice e defina a altura, largura, resolução e qualidade da imagem
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Converta uma página específica e salve a imagem para transmitir
jpegDevice.Process(pdfDocument.Pages[pageCount], imageStream);
// Fechar fluxo
imageStream.Close();
}
}
Obtenha uma licença gratuita
Você pode obter uma licença temporária gratuita para usar o Aspose.PDF para .NET sem limitações de avaliação.
Conclusão
Neste artigo, você aprendeu como gerar miniaturas para arquivos PDF em C#. Você viu como gerar uma miniatura de uma página específica ou de todas as páginas em um arquivo PDF. Além disso, você pode explorar mais sobre a API C# PDF usando a documentação. Caso você tenha alguma dúvida ou pergunta, você pode entrar em contato conosco através do nosso fórum.