Kami dengan senang hati mengumumkan rilis GroupDocs.Merger untuk .NET v26.9, tersedia sejak September 2026. Rilis ini memperkenalkan penggabungan baris spreadsheet secara baris‑per‑baris, meningkatkan pemilihan halaman TIFF melalui PageBuilder, memperbaiki penanganan dimensi pratinjau, menyelesaikan masalah konkurensi pada output Visio dan DOC, serta menggantikan beberapa mode kegagalan diam dengan pengecualian yang jelas—menjadikan API lebih kuat dan dapat diprediksi.
Apa yang baru di rilis ini
- [Feature] Menggabungkan baris Excel dari beberapa file ke dalam satu lembar (MERGERNET-2198)
- [Feature] Menerapkan pemilihan halaman PageBuilder pada dokumen TIFF pertama (MERGERNET-1372)
- [Improvement] Melempar pengecualian ketika
SetLicensetidak dapat menemukan file lisensi (MERGERNET-2183) - [Improvement] Menolak aliran lisensi kosong pada
SetLicense(MERGERNET-2184) - [Improvement] Melempar pengecualian yang jelas ketika menggabungkan file gambar atau audio ke dalam format yang tidak didukung (MERGERNET-2190)
- [Improvement] Menghapus
System.Drawing.Commondari paket lintas‑platform dan melaporkan ketergantungan yang hilang dengan jelas (MERGERNET-2202) - [Bug] Menutup file sumber setelah Merger membuka atau menggabungkan dokumen melalui jalur (MERGERNET-2187)
- [Bug] Memanggil pabrik aliran hanya sekali saat membangun Merger (MERGERNET-2189)
- [Bug] Memperbaiki output DOC yang rusak ketika menggabungkan dokumen PDF atau XPS ke dalam DOC dari beberapa thread (MERGERNET-2192)
- [Bug] Menerapkan perubahan orientasi halaman pada setiap halaman ketika tidak ada nomor halaman yang ditentukan (MERGERNET-2194)
- [Bug] Menghormati lebar dan tinggi pratinjau yang diminta pada setiap keluarga format dokumen (MERGERNET-2196)
- [Bug] Menolak
ExtractPagesdanRemovePagesyang dipanggil tanpa nomor halaman, alih‑alih menghasilkan dokumen kosong atau tidak berubah secara diam‑diam (MERGERNET-2197) - [Bug] Memperbaiki dokumen Visio yang kadang‑kala gagal dengan
ArgumentNullExceptiontrueTypeFont ketika diproses secara bersamaan (MERGERNET-2199) - [Bug] Memperbaiki portofolio PDF yang gagal dengan
NullReferenceExceptionketika file tersemat tidak memiliki tanggal modifikasi (MERGERNET-2200)
Perubahan API Publik
1. Penggabungan Spreadsheet — mode baris‑per‑baris (API baru)
Tipe publik baru di namespace GroupDocs.Merger.Domain.Options:
| Tipe | Deskripsi |
|---|---|
| SpreadsheetJoinOptions | Opsi penggabungan untuk spreadsheet, diturunkan dari PageJoinOptions. Properti: Mode, SkipRows, SheetMatching. |
| SpreadsheetJoinMode | Worksheets (default) menambahkan lembar file yang digabung sebagai lembar kerja terpisah, seperti sebelumnya. Rows menambahkan baris setiap file yang digabung di bawah baris terakhir yang berisi data pada lembar yang cocok pada hasil. |
| SpreadsheetSheetMatching | ByIndex (default) menambahkan lembar 2 ke lembar 2, lembar 3 ke lembar 3, dll.; FirstSheetOnly menambahkan hanya lembar pertama dari setiap file yang digabung. |
SkipRowsmelewatkan N baris pertama dari setiap file yang digabung, misalnya baris header. Dokumen pertama selalu diambil secara lengkap.SkipRowsdanSheetMatchingtidak berpengaruh dalam modeWorksheets.- Format yang didukung: XLSX, XLS, XLSM, XLSB, XLTX, XLTM, XLT, XLAM, dan ODS.
- Yang dibawa: nilai sel, rumus (referensi relatif disesuaikan), gaya, sel yang digabung, dan tinggi baris. Yang tidak dibawa: diagram, gambar, tabel pivot, tabel, pemformatan bersyarat, dan validasi data.
SkipRowsnegatif melemparGroupDocsMergerException(“The count of rows to skip can not be negative.”).- Melebihi batas baris (65.536 untuk XLS/XLT, 1.048.576 untuk format lainnya) melempar
GroupDocsMergerException. ApplyPageBuildermelemparGroupDocsMergerExceptionsaat spreadsheet yang digabung dalam modeRowsmasih tertunda.
2. TIFF — PageBuilder menerapkan pemilihan halaman dokumen pertama
Tidak ada perubahan API. CreatePageBuilder dan ApplyPageBuilder kini menerapkan halaman yang dipilih dari dokumen TIFF pertama; sebelumnya semua halaman dokumen pertama selalu disertakan. Penggabungan yang tidak menggunakan PageBuilder menghasilkan hasil yang sama seperti sebelumnya.
Setelah penggabungan dengan ImageJoinOptions, CreatePageBuilder dan ApplyPageBuilder kini melempar GroupDocsMergerException, karena gambar yang digabung disusun menjadi satu tata letak alih‑alih urutan halaman.
3. Lisensi — SetLicense tidak lagi gagal secara diam‑diam
License.SetLicense(string licensePath)melemparInvalidOperationException(“License not found: …”) ketika file lisensi tidak dapat ditemukan.License.SetLicense(Stream licenseStream)melemparArgumentNullExceptionuntuk aliran kosong.
4. Operasi halaman dengan daftar halaman kosong
ExtractPagesdanRemovePagesyang dipanggil tanpa nomor halaman kini melemparGroupDocsMergerException(“There are no page numbers to extract.” / “There are no page numbers to remove.”).ChangeOrientationyang dipanggil tanpa nomor halaman kini mengubah orientasi setiap halaman untuk dokumen PDF, XPS, pengolah kata, spreadsheet, dan Visio.
5. Ukuran pratinjau
GeneratePreview kini mengubah ukuran setiap gambar halaman ke Width dan Height yang diminta — meregangkan hingga tepat ukuran tersebut ketika keduanya diberikan. Width atau Height negatif kini melempar GroupDocsMergerException.
6. System.Drawing.Common dan ketergantungan yang hilang
- Paket lintas‑platform (
GroupDocs.Merger.Net60,GroupDocs.Merger.Net80,GroupDocs.Merger.Net100) tidak lagi bergantung padaSystem.Drawing.Common. - Ketergantungan runtime yang hilang kini melempar
MissingDependencyException, menyebutkan komponen yang hilang dan petunjuk instalasi.
7. Menggabungkan gambar dan audio ke dalam format yang tidak didukung
Menggabungkan file gambar atau audio ke dalam format dokumen yang tidak didukung kini melempar FileTypeNotSupportedException (“Joining ‘…’ into ‘…’ is not supported”).
Fitur baru
- Penggabungan spreadsheet baris‑per‑baris: Baris dari beberapa spreadsheet kini dapat ditambahkan ke satu lembar tunggal alih‑alih menjadi lembar kerja terpisah, dengan opsi melewatkan baris header dan mencocokkan lembar berdasarkan posisi.
- PageBuilder untuk dokumen TIFF: Pemilihan halaman yang dibuat dengan
PageBuilderkini juga diterapkan pada dokumen TIFF pertama — sebelumnya semua halamannya selalu disertakan. - Dimensi pratinjau yang akurat:
GeneratePreviewkini mengembalikan gambar denganWidthdanHeightyang diminta untuk setiap keluarga format dokumen. - Perbaikan konkurensi: Output Visio dan DOC tidak lagi gagal secara intermiten ketika diproses dari beberapa thread.
- Penanganan sumber daya: Dokumen yang dibuka atau digabung melalui jalur file tidak lagi meninggalkan file sumber terbuka; pabrik aliran dipanggil tepat satu kali.
- Kesalahan yang lebih jelas: Beberapa operasi yang sebelumnya gagal secara diam‑diam kini melempar pengecualian yang deskriptif.
Contoh kode
using GroupDocs.Merger;
using GroupDocs.Merger.Domain.Options;
using (var merger = new Merger("january.xlsx"))
{
var options = new SpreadsheetJoinOptions
{
Mode = SpreadsheetJoinMode.Rows, // menambahkan baris ke lembar yang ada
SkipRows = 1 // melewatkan baris header setiap file yang digabung
};
merger.Join("february.xlsx", options);
merger.Join("march.xlsx", options);
merger.Save("q1.xlsx");
}
Cara mendapatkan pembaruan
NuGet
- Paket: GroupDocs.Merger 26.9.0
- Perintah instalasi:
dotnet add package GroupDocs.Merger --version 26.9.0