Criar Miniatura de Planilha Java Usando GroupDocs.Parser
Se você está procurando criar miniatura de planilha Java programas, chegou ao lugar certo. Neste guia, vamos percorrer a geração de pré‑visualizações PNG de alta qualidade a partir de livros de trabalho .xlsx usando GroupDocs.Parser para Java — perfeito para miniaturas rápidas, compartilhamento de capturas ou construção de um recurso de visualização de documentos em sua aplicação. A solução funciona sem a necessidade de instalação do Microsoft Office e escala para grandes livros de trabalho mantendo o uso de memória baixo.
Respostas Rápidas
- O que significa “preview Excel”? Gerar arquivos de imagem (por exemplo, PNG) que representam cada página da planilha.
- Qual formato é recomendado? PNG oferece qualidade sem perdas e funciona bem para miniaturas web.
- Preciso de uma licença? Um teste gratuito funciona para desenvolvimento; uma licença comercial é necessária para produção.
- Posso alterar a resolução da imagem? Sim — ajuste o DPI em
PreviewOptions. - É possível pré‑visualizar outros formatos? GroupDocs.Parser também suporta PDF, Word e muitos tipos de imagem.
O que é “como pré‑visualizar Excel” com GroupDocs.Parser?
Carregue seu livro de trabalho Excel e renderize cada planilha como uma imagem PNG sem precisar do Microsoft Office. O GroupDocs.Parser transmite páginas uma de cada vez, produzindo miniaturas sem perdas que podem ser salvas em disco ou retornadas via HTTP, tornando‑as ideais para serviços de pré‑visualização baseados na web.
O GroupDocs.Parser lê livros de trabalho Excel, renderiza cada planilha como uma página visual e permite que você transmita essas páginas para arquivos de imagem. Isso elimina a necessidade de interoperação com o Office ou conversores de terceiros.
Por que usar GroupDocs.Parser para pré‑visualizações de Excel?
Você deve usar o GroupDocs.Parser porque ele funciona em qualquer servidor Java, não precisa de instalação do Office, lida com grandes livros de trabalho com baixa memória e produz imagens PNG sem perdas com DPI configurável. O SDK suporta mais de 100 formatos de entrada e saída, pode processar um livro de trabalho de 200 páginas em menos de 3 segundos e mantém o uso de memória abaixo de 50 MB por planilha.
- Nenhuma instalação do Office necessária – funciona em qualquer ambiente Java do lado do servidor.
- Suporta arquivos grandes – transmite páginas uma a uma, mantendo o uso de memória baixo.
- Saída de alta qualidade – controle sobre DPI, formato e opções de renderização.
- Flexibilidade entre formatos – a mesma API funciona para PDFs, documentos Word e mais.
Pré‑requisitos
- Java Development Kit (8 +).
- IDE como IntelliJ IDEA ou Eclipse.
- GroupDocs.Parser for Java SDK – download de aqui.
- Documentação – veja a documentação.
- Arquivo Excel de exemplo (
.xlsx) que você deseja pré‑visualizar. - Maven ou Gradle (opcional) para gerenciamento de dependências.
Importar Pacotes
Essas importações dão acesso ao parser, opções de pré‑visualização e utilitários de manipulação de streams.
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.PreviewOptions;
import com.groupdocs.parser.options.PreviewFormats;
import com.groupdocs.parser.options.ICreatePageStream;
import com.groupdocs.parser.options.IPreviewPageRender;
import com.groupdocs.parser.results.PageRenderInfo;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.IOException;
Guia Passo a Passo para Gerar Pré‑visualizações de Páginas de Planilha
Etapa 1: Inicializar a Instância do Parser
Parser é a classe central do GroupDocs.Parser que fornece acesso de leitura a arquivos de planilha e permite renderização página a página. Crie um objeto Parser apontando para o seu livro de trabalho Excel. O bloco try‑with‑resources garante que o parser seja fechado automaticamente.
try (Parser parser = new Parser("path/to/your/sample.xlsx")) {
// Your subsequent code will go here
}
Dica profissional: Use um caminho absoluto ou configure uma pasta de recursos para evitar
FileNotFoundException.
Etapa 2: Preparar suas Opções de Pré‑visualização
PreviewOptions configura os parâmetros de renderização, como formato de saída e DPI. ICreatePageStream é uma interface de callback que fornece um stream de saída para cada página gerada. Defina como cada página será salva. A implementação de ICreatePageStream retorna um novo FileOutputStream para cada página de planilha.
PreviewOptions previewOptions = new PreviewOptions(new ICreatePageStream() {
@Override
public OutputStream createPageStream(int pageNumber) {
try {
String outputPath = getOutputPath(pageNumber); // define this method later
return new FileOutputStream(outputPath);
} catch (IOException ex) {
throw new RuntimeException("Error creating output stream", ex);
}
}
});
Esta etapa é onde você converte xlsx para png — o stream grava os dados PNG no disco.
Etapa 3: Anexar um Delegado para Capturar Informações de Renderização
Se precisar de detalhes sobre cada planilha renderizada (por exemplo, dimensões, nome da planilha), registre um callback.
final PageRenderInfo[] renderInfoHolder = {null}; // to store info
previewOptions.setPreviewPageRender(new IPreviewPageRender() {
@Override
public void previewPageRender(PageRenderInfo pageRenderInfo) {
renderInfoHolder[0] = pageRenderInfo;
}
});
Etapa 4: Especificar Formato de Saída e DPI
Selecione PNG como formato de imagem e defina um DPI que equilibre qualidade e tamanho do arquivo.
previewOptions.setPreviewFormat(PreviewFormats.Png); // PNG images
previewOptions.setDpi(150); // Higher DPI for better clarity
Ajuste o DPI se precisar de miniaturas menores (por exemplo, 96) ou impressões de alta resolução (por exemplo, 300).
Etapa 5: Gerar as Pré‑visualizações
Com tudo configurado, chame generatePreview. O SDK iterará sobre cada planilha e invocará o stream que você forneceu.
parser.generatePreview(previewOptions);
Etapa 6: Definir o Auxiliar getOutputPath()
getOutputPath() cria um nome de arquivo baseado no número da página (planilha) e retorna o caminho completo para a imagem de saída. Sinta‑se à vontade para personalizar a estrutura de pastas.
private static String getOutputPath(int pageNumber) {
return "output/preview_page_" + pageNumber + ".png"; // Custom path
}
Armadilha comum: Esquecer de criar o diretório
outputpreviamente causará umIOException. Crie‑o programaticamente ou assegure‑se de que ele exista.
Exemplo Completo Funcional (Simplificado)
Abaixo está uma versão compacta que reúne todas as peças. Ela demonstra o fluxo de criar miniatura de planilha Java do início ao fim.
try (Parser parser = new Parser("path/to/your/sample.xlsx")) {
final PageRenderInfo[] renderInfoHolder = {null};
PreviewOptions options = new PreviewOptions(new ICreatePageStream() {
@Override
public OutputStream createPageStream(int pageNumber) {
try {
return new FileOutputStream(getOutputPath(pageNumber));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
});
options.setPreviewPageRender(pageRenderInfo -> {
renderInfoHolder[0] = pageRenderInfo;
});
options.setPreviewFormat(PreviewFormats.Png);
options.setDpi(150);
parser.generatePreview(options);
} catch (Exception e) {
e.printStackTrace();
}
Execute este trecho, e você encontrará uma série de arquivos preview_page_1.png, preview_page_2.png, … na pasta output — cada um representando uma planilha do livro de trabalho Excel original.
Problemas Comuns & Soluções
| Problema | Causa | Correção |
|---|---|---|
| Nenhuma imagem gerada | getOutputPath retorna um diretório inválido | Certifique‑se de que a pasta de destino exista ou crie‑a com new File("output").mkdirs(); |
| Erro de falta de memória em arquivos enormes | Carregando todo o livro de trabalho de uma vez | Use a abordagem de streaming (como mostrado) e processe as páginas uma de cada vez |
| DPI incorreto | setDpi não chamado ou definido como padrão (96) | Chame previewOptions.setDpi(seuValorDesejado); antes de generatePreview |
| Formato não suportado | Tentando pré‑visualizar um .xlsx corrompido | Valide o arquivo com o Excel ou use Parser.isSupported antes do processamento |
Perguntas Frequentes
Q: Posso gerar pré‑visualizações para PDFs e imagens usando GroupDocs.Parser?
A: Sim, a mesma API funciona para PDFs, documentos Word e muitos formatos de imagem.
Q: Como altero o formato da imagem de saída?
A: Chame previewOptions.setPreviewFormat(PreviewFormats.Jpeg) (ou Gif, Bmp, etc.).
Q: O desempenho é uma preocupação com livros de trabalho muito grandes?
A: O SDK transmite páginas, o que mantém o uso de memória baixo. Para arquivos massivos, considere processar em lotes paralelos.
Q: Como posso lidar com erros durante a geração de pré‑visualizações?
A: Envolva o código em blocos try‑catch (como mostrado) e registre os detalhes da exceção. Certifique‑se de que os streams sejam fechados no bloco finally se não estiver usando try‑with‑resources.
Q: A biblioteca requer a instalação do Microsoft Office?
A: Não. GroupDocs.Parser é uma solução pura em Java e funciona em qualquer plataforma que suporte Java 8+.
Última atualização: 2026-07-16
Testado com: GroupDocs.Parser 23.11 (mais recente na época da escrita)
Autor: GroupDocs