Jsme rádi, že můžeme oznámit vydání GroupDocs.Merger for .NET v26.9, dostupné od září 2026. Toto vydání představuje řádkové slučování tabulek, vylepšuje výběr stránek TIFF pomocí PageBuilder, zlepšuje zpracování rozměrů náhledů, řeší problémy s paralelním zpracováním výstupů Visio a DOC a nahrazuje několik tichých selhání jasnými výjimkami — což činí API robustnějším a předvídatelnějším.
Co je nového v tomto vydání
- [Feature] Sloučit řádky Excelu z více souborů do jednoho listu (MERGERNET-2198)
- [Feature] Použít výběr stránek PageBuilderu na první TIFF dokument (MERGERNET-1372)
- [Improvement] Vyvolat výjimku, když SetLicense nemůže najít licenční soubor (MERGERNET-2183)
- [Improvement] Odmítnout prázdný licenční stream v SetLicense (MERGERNET-2184)
- [Improvement] Vyvolat jasnou výjimku při slučování obrázku nebo audio souboru do nepodporovaného formátu (MERGERNET-2190)
- [Improvement] Odebrat System.Drawing.Common z multiplatformních balíčků a jasně hlásit chybějící závislosti (MERGERNET-2202)
- [Bug] Zavřít zdrojový soubor po otevření nebo sloučení dokumentu Mergerem podle cesty (MERGERNET-2187)
- [Bug] Zavolat továrnu na stream pouze jednou při vytváření Mergeru (MERGERNET-2189)
- [Bug] Opravit poškozený výstup DOC při slučování PDF nebo XPS dokumentů do DOC z více vláken (MERGERNET-2192)
- [Bug] Použít změnu orientace stránky na každou stránku, když nejsou zadána čísla stránek (MERGERNET-2194)
- [Bug] Respektovat požadovanou šířku a výšku náhledu ve všech formátech dokumentů (MERGERNET-2196)
- [Bug] Odmítnout ExtractPages a RemovePages volané bez čísel stránek místo tichého vytvoření prázdného nebo nezměněného dokumentu (MERGERNET-2197)
- [Bug] Opravit intermitentní selhání Visio dokumentů s ArgumentNullException trueTypeFont při souběžném zpracování (MERGERNET-2199)
- [Bug] Opravit selhání PDF portfolií s NullReferenceException, když vložený soubor nemá datum úpravy (MERGERNET-2200)
Změny veřejného API
1. Sloučení tabulek — řádkový režim (nové API)
Nové veřejné typy v namespace GroupDocs.Merger.Domain.Options:
| Typ | Popis |
|---|---|
| SpreadsheetJoinOptions | Možnosti sloučení pro tabulky, odvozené od PageJoinOptions. Vlastnosti: Mode, SkipRows, SheetMatching. |
| SpreadsheetJoinMode | Worksheets (výchozí) přidává listy sloučeného souboru jako samostatné listy, jako dříve. Rows připojuje řádky každého sloučeného souboru pod poslední řádek obsahující data odpovídajícího listu výsledku. |
| SpreadsheetSheetMatching | ByIndex (výchozí) připojuje list 2 k listu 2, list 3 k listu 3 atd.; FirstSheetOnly připojuje jen první list každého sloučeného souboru. |
SkipRowspřeskočí první N řádků každého sloučeného souboru, např. řádek s hlavičkou. První dokument je vždy načten celý.SkipRowsaSheetMatchingnemají žádný vliv v režimuWorksheets.- Podporované formáty: XLSX, XLS, XLSM, XLSB, XLTX, XLTM, XLT, XLAM a ODS.
- Přeneseno: hodnoty buněk, vzorce (upravené relativní odkazy), styly, sloučené buňky a výšky řádků. Nepřenášeno: grafy, obrázky, kontingenční tabulky, tabulky, podmíněné formátování a ověření dat.
- Záporné
SkipRowsvyvoláGroupDocsMergerException(„Počet řádků k přeskočení nemůže být záporný.“). - Překročení limitu řádků (65 536 pro XLS/XLT, 1 048 576 pro ostatní) vyvolá
GroupDocsMergerException. ApplyPageBuildervyvoláGroupDocsMergerException, pokud je v režimuRowsčeká na dokončení sloučení tabulky.
2. TIFF — PageBuilder aplikuje výběr stránek prvního dokumentu
Žádná změna API. CreatePageBuilder a ApplyPageBuilder nyní aplikují stránky vybrané z prvního TIFF dokumentu; dříve byly vždy zahrnuty všechny stránky prvního dokumentu. Sloučení, která nepoužívají PageBuilder, produkují stejný výsledek jako dříve.
Po sloučení s ImageJoinOptions nyní CreatePageBuilder a ApplyPageBuilder vyvolají GroupDocsMergerException, protože sloučené obrázky jsou sestaveny do jednoho rozvržení místo sekvence stránek.
3. Licencování — SetLicense již nehlásí selhání tiše
License.SetLicense(string licensePath)vyvoláInvalidOperationException(„License not found: …“), když nelze najít licenční soubor.License.SetLicense(Stream licenseStream)vyvoláArgumentNullExceptionpro prázdný stream.
4. Operace se stránkami při prázdném seznamu stránek
ExtractPagesaRemovePagesvolané bez čísel stránek nyní vyvolajíGroupDocsMergerException(„There are no page numbers to extract.“ / „There are no page numbers to remove.“).ChangeOrientationvolané bez čísel stránek nyní mění orientaci každé stránky u PDF, XPS, dokumentů pro zpracování textu, tabulek a Visio.
5. Velikost náhledu
GeneratePreview nyní mění velikost každého obrázku stránky na požadovanou Width a Height — roztaženou přesně na tuto velikost, pokud jsou obě zadány. Záporná Width nebo Height nyní vyvolá GroupDocsMergerException.
6. System.Drawing.Common a chybějící závislosti
- Multiplatformní balíčky (
GroupDocs.Merger.Net60,GroupDocs.Merger.Net80,GroupDocs.Merger.Net100) již nevyžadujíSystem.Drawing.Common. - Chybějící runtime závislosti nyní vyvolají
MissingDependencyException, která uvádí chybějící komponentu a instrukce k instalaci.
7. Sloučení obrázků a audia do nepodporovaných formátů
Sloučení obrázku nebo audio souboru do nepodporovaného formátu dokumentu nyní vyvolá FileTypeNotSupportedException („Joining ‘…’ into ‘…’ is not supported“).
Nové funkce
- Řádkové sloučení tabulek: Řádky několika tabulek lze nyní připojit do jednoho listu místo přidání jako samostatných listů, s možností přeskočit řádky s hlavičkou a přiřadit listy podle pozice.
- PageBuilder pro TIFF dokumenty: Výběr stránek provedený pomocí
PageBuilderse nyní aplikuje i na první TIFF dokument — dříve byly vždy zahrnuty všechny jeho stránky. - Přesné rozměry náhledu:
GeneratePreviewnyní vrací obrázky s požadovanouWidthaHeightpro každou rodinu formátů dokumentů. - Opravy souběžnosti: Výstupy Visio a DOC již nepadnou intermitentně při zpracování z více vláken.
- Správa zdrojů: Dokumenty otevřené nebo sloučené podle cesty již neudržují otevřený zdrojový soubor; továrny na stream jsou volány přesně jednou.
- Jasnější chyby: Několik operací, které dříve selhaly tiše, nyní vyvolává popisné výjimky.
Příklad kódu
using GroupDocs.Merger;
using GroupDocs.Merger.Domain.Options;
using (var merger = new Merger("january.xlsx"))
{
var options = new SpreadsheetJoinOptions
{
Mode = SpreadsheetJoinMode.Rows, // připojit řádky do existujících listů
SkipRows = 1 // přeskočit řádek s hlavičkou v každém sloučeném souboru
};
merger.Join("february.xlsx", options);
merger.Join("march.xlsx", options);
merger.Save("q1.xlsx");
}
Jak získat aktualizaci
NuGet
- Balíček: GroupDocs.Merger 26.9.0
- Instalační příkaz:
dotnet add package GroupDocs.Merger --version 26.9.0