Estamos felizes em anunciar o lançamento do GroupDocs.Merger for .NET v26.9, disponível a partir de setembro de 2026. Esta versão introduz a junção linha a linha de planilhas, melhora a seleção de páginas TIFF via PageBuilder, aprimora o tratamento de dimensões de visualização, resolve problemas de concorrência com saída Visio e DOC, e substitui vários modos de falha silenciosa por exceções claras — tornando a API mais robusta e previsível.
What’s new in this release
- [Feature] Mesclar linhas do Excel de vários arquivos em uma única planilha (MERGERNET-2198)
- [Feature] Aplicar a seleção de páginas do PageBuilder ao primeiro documento TIFF (MERGERNET-1372)
- [Improvement] Lançar uma exceção quando
SetLicensenão encontrar o arquivo de licença (MERGERNET-2183) - [Improvement] Rejeitar um fluxo de licença vazio em
SetLicense(MERGERNET-2184) - [Improvement] Lançar uma exceção clara ao juntar uma imagem ou arquivo de áudio em um formato não suportado (MERGERNET-2190)
- [Improvement] Remover
System.Drawing.Commondos pacotes multiplataforma e relatar dependências ausentes de forma clara (MERGERNET-2202) - [Bug] Fechar o arquivo fonte após o Merger abrir ou juntar um documento por caminho (MERGERNET-2187)
- [Bug] Chamar a fábrica de streams apenas uma vez ao construir o Merger (MERGERNET-2189)
- [Bug] Corrigir saída DOC corrompida ao juntar documentos PDF ou XPS em DOC a partir de múltiplas threads (MERGERNET-2192)
- [Bug] Aplicar mudança de orientação de página a todas as páginas quando nenhum número de página for especificado (MERGERNET-2194)
- [Bug] Honrar a Largura e Altura de visualização solicitadas em todas as famílias de formatos de documento (MERGERNET-2196)
- [Bug] Rejeitar
ExtractPageseRemovePageschamados sem números de página em vez de produzir silenciosamente um documento vazio ou inalterado (MERGERNET-2197) - [Bug] Corrigir falhas intermitentes em documentos Visio com
ArgumentNullExceptiontrueTypeFont quando processados simultaneamente (MERGERNET-2199) - [Bug] Corrigir falhas em portfólios PDF com
NullReferenceExceptionquando um arquivo incorporado não possui data de modificação (MERGERNET-2200)
Alterações na API Pública
1. Junção de planilhas — modo linha a linha (nova API)
Novos tipos públicos no namespace GroupDocs.Merger.Domain.Options:
| Tipo | Descrição |
|---|---|
| SpreadsheetJoinOptions | Opções de junção para planilhas, derivadas de PageJoinOptions. Propriedades: Mode, SkipRows, SheetMatching. |
| SpreadsheetJoinMode | Worksheets (padrão) adiciona as planilhas do arquivo juntado como planilhas separadas, como antes. Rows anexa as linhas de cada arquivo juntado abaixo da última linha contendo dados da planilha correspondente do resultado. |
| SpreadsheetSheetMatching | ByIndex (padrão) anexa a planilha 2 à planilha 2, a planilha 3 à planilha 3, etc.; FirstSheetOnly anexa apenas a primeira planilha de cada arquivo juntado. |
SkipRowsignora as primeiras N linhas de cada arquivo juntado, por exemplo, uma linha de cabeçalho. O primeiro documento é sempre incluído integralmente.SkipRowseSheetMatchingnão têm efeito no modoWorksheets.- Formatos suportados: XLSX, XLS, XLSM, XLSB, XLTX, XLTM, XLT, XLAM e ODS.
- Transferidos: valores de célula, fórmulas (referências relativas ajustadas), estilos, células mescladas e alturas de linha.
- Não transferidos: gráficos, imagens, tabelas dinâmicas, tabelas, formatação condicional e validação de dados.
- Um
SkipRowsnegativo lançaGroupDocsMergerException(“The count of rows to skip can not be negative.”). - Exceder os limites de linhas (65 536 para XLS/XLT, 1 048 576 para os demais) lança
GroupDocsMergerException. ApplyPageBuilderlançaGroupDocsMergerExceptionenquanto uma planilha juntada no modoRowsestá pendente.
2. TIFF — PageBuilder aplica a seleção de páginas do primeiro documento
Nenhuma alteração na API. CreatePageBuilder e ApplyPageBuilder agora aplicam as páginas selecionadas do primeiro documento TIFF; anteriormente todas as páginas do primeiro documento eram sempre incluídas. Junções que não utilizam PageBuilder produzem o mesmo resultado de antes.
Após uma junção com ImageJoinOptions, CreatePageBuilder e ApplyPageBuilder agora lançam GroupDocsMergerException, pois imagens juntadas são compostas em um único layout em vez de uma sequência de páginas.
3. Licenciamento — SetLicense não falha mais silenciosamente
License.SetLicense(string licensePath)lançaInvalidOperationException(“License not found: …”) quando o arquivo de licença não pode ser encontrado.License.SetLicense(Stream licenseStream)lançaArgumentNullExceptionpara um stream vazio.
4. Operações de página com lista de páginas vazia
ExtractPageseRemovePageschamados sem números de página agora lançamGroupDocsMergerException(“There are no page numbers to extract.” / “There are no page numbers to remove.”).ChangeOrientationchamado sem números de página agora altera a orientação de todas as páginas para documentos PDF, XPS, de processamento de texto, planilhas e Visio.
5. Tamanho da visualização
GeneratePreview agora redimensiona a imagem de cada página para a Width e Height solicitadas — esticando exatamente para esse tamanho quando ambos são fornecidos. Um Width ou Height negativo agora lança GroupDocsMergerException.
6. System.Drawing.Common e dependências ausentes
- Pacotes multiplataforma (
GroupDocs.Merger.Net60,GroupDocs.Merger.Net80,GroupDocs.Merger.Net100) não dependem mais deSystem.Drawing.Common. - Dependências de tempo de execução ausentes agora lançam
MissingDependencyException, indicando o componente faltante e instruções de instalação.
7. Junção de imagens e áudio em formatos não suportados
Juntar uma imagem ou arquivo de áudio em um formato de documento não suportado agora lança FileTypeNotSupportedException (“Joining ‘…’ into ‘…’ is not supported”).
Novos recursos
- Junção linha a linha de planilhas: Linhas de várias planilhas podem agora ser anexadas em uma única planilha em vez de serem adicionadas como planilhas separadas, com opções para pular linhas de cabeçalho e combinar planilhas por posição.
- PageBuilder para documentos TIFF: Uma seleção de páginas feita com
PageBuilderagora é aplicada também ao primeiro documento TIFF — anteriormente todas as suas páginas eram sempre incluídas. - Dimensões de visualização precisas:
GeneratePreviewagora devolve imagens nasWidtheHeightsolicitadas para todas as famílias de formatos de documento. - Correções de concorrência: Saídas Visio e DOC não falham mais intermitentemente quando processadas a partir de múltiplas threads.
- Gerenciamento de recursos: Documentos abertos ou juntados por caminho de arquivo não mantêm mais o arquivo fonte aberto; fábricas de streams são chamadas exatamente uma vez.
- Erros mais claros: Várias operações que antes falhavam silenciosamente agora lançam exceções descritivas.
Exemplo de código
using GroupDocs.Merger;
using GroupDocs.Merger.Domain.Options;
using (var merger = new Merger("january.xlsx"))
{
var options = new SpreadsheetJoinOptions
{
Mode = SpreadsheetJoinMode.Rows, // anexa linhas nas planilhas existentes
SkipRows = 1 // ignora a linha de cabeçalho de cada arquivo juntado
};
merger.Join("february.xlsx", options);
merger.Join("march.xlsx", options);
merger.Save("q1.xlsx");
}
Como obter a atualização
NuGet
- Pacote: GroupDocs.Merger 26.9.0
- Comando de instalação:
dotnet add package GroupDocs.Merger --version 26.9.0