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.
  • SkipRows přeskočí první N řádků každého sloučeného souboru, např. řádek s hlavičkou. První dokument je vždy načten celý. SkipRows a SheetMatching nemají žádný vliv v režimu Worksheets.
  • 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é SkipRows vyvolá 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.
  • ApplyPageBuilder vyvolá GroupDocsMergerException, pokud je v režimu Rows č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á ArgumentNullException pro prázdný stream.

4. Operace se stránkami při prázdném seznamu stránek

  • ExtractPages a RemovePages volané bez čísel stránek nyní vyvolají GroupDocsMergerException („There are no page numbers to extract.“ / „There are no page numbers to remove.“).
  • ChangeOrientation volané 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í PageBuilder se nyní aplikuje i na první TIFF dokument — dříve byly vždy zahrnuty všechny jeho stránky.
  • Přesné rozměry náhledu: GeneratePreview nyní vrací obrázky s požadovanou Width a Height pro 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

Přímé stažení

Zdroje