MHT dosyalarını GroupDocs.Merger for Java kullanarak birleştirme – MHT nasıl birleştirilir konusunda eksiksiz bir rehber
Hızlı cevaplar
- Hangi kütüphaneyi kullanmalıyım? GroupDocs.Merger for Java
- İki’den fazla MHT dosyasını birleştirebilir miyim? Evet –
joinmetodunu tekrar tekrar çağırın - Bir lisansa ihtiyacım var mı? Değerlendirme için deneme lisansı çalışır; üretim için ücretli lisans gereklidir
- Hangi Java sürümü gerekiyor? JDK 8+ (herhangi bir modern JDK)
- Birleştirme ne kadar sürer? Genellikle 50 MB altındaki dosyalar için birkaç saniye
MHT dosyası nedir?
MHT (MHTML) dosyası, bir HTML sayfasını tüm kaynakları—görseller, CSS, betikler—ile tek bir dosyada birleştiren bir web arşividir. Bu, çevrim dışı görüntüleme veya arşivleme için mükemmeldir ve birkaç MHT dosyasını birleştirmek, daha kolay dağıtım için birleştirilmiş bir arşiv oluşturur.
MHT dosyalarını birleştirmek için GroupDocs.Merger for Java neden kullanılmalı?
GroupDocs.Merger for Java, MHT birleştirmesini sadece üç satır kodla gerçekleştirir ve 50+ giriş ve çıkış formatını destekler. 500 MB’a kadar dosyaları 200 MB’den az yığın belleği kullanarak işler, bu da büyük web arşivlerini sınırlı kaynaklı sunucularda bile kaynakları tüketmeden birleştirebileceğiniz anlamına gelir.
Önkoşullar
- Java Development Kit (JDK) – JDK 8 veya daha yeni bir sürüm yüklü.
- IDE – IntelliJ IDEA, Eclipse veya tercih ettiğiniz herhangi bir editör.
- GroupDocs.Merger for Java – Kütüphaneyi bir Maven/Gradle bağımlılığı olarak ekleyin (aşağıya bakın).
GroupDocs.Merger for Java kurulumu
Kütüphaneyi projenize ekleyin:
Maven:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-merger</artifactId>
<version>LATEST_VERSION</version>
</dependency>
Gradle:
implementation 'com.groupdocs:groupdocs-merger:LATEST_VERSION'
Resmi sürüm sayfasından en son JAR’ı da indirebilirsiniz: GroupDocs.Merger for Java releases.
Lisans edinme
GroupDocs, birleştirme işlevini hemen test edebilmeniz için ücretsiz bir deneme sunar. Üretim kullanımı için, GroupDocs portalından kalıcı bir lisans alın veya değerlendirme sırasında geçici bir lisans talep edin.
MHT dosyalarını birleştirme adım adım rehberi
1. Birleştiriciyi yükleyin ve başlatın
Merger sınıfı, tüm birleştirme işlemleri için giriş noktasıdır. Tek bir birleştirme oturumunu temsil eder ve kaynak dosyaların listesini tutar.
import com.groupdocs.merger.Merger;
public class FeatureLoadAndInitialize {
public static void run() throws Exception {
String documentPath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_MHT";
// Initialize Merger with the source MHT file
Merger merger = new Merger(documentPath);
}
}
Açıklama: Merger örneği ilk MHT dosyasını temel belge olarak hazırlar. Bu adımdan sonra ihtiyacınız kadar ek arşiv ekleyebilirsiniz.
2. Ek MHT dosyaları ekleyin
join metodu, mevcut birleştirme kuyruğuna başka bir MHT arşivi ekler. İstediğiniz sayıda dosyayı eklemek için bu metodu tekrar tekrar çağırabilirsiniz.
public class FeatureAddAnotherMht {
public static void run() throws Exception {
String documentPath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_MHT";
String additionalDocumentPath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_MHT_2";
Merger merger = new Merger(documentPath);
// Add another MHT file
merger.join(additionalDocumentPath);
}
}
Açıklama: Her join çağrısı, iç koleksiyona bir dosya daha ekler ve metodu çağırma sırasını korur.
3. Birleştirilmiş sonucu kaydedin
save metodunu çağırmak, belirttiğiniz hedef konuma tek bir birleştirilmiş MHT dosyası yazar.
public class FeatureSaveMergedFile {
public static void run() throws Exception {
String documentPath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_MHT";
String additionalDocumentPath = "YOUR_DOCUMENT_DIRECTORY/SAMPLE_MHT_2";
String outputDirectory = "YOUR_OUTPUT_DIRECTORY";
Merger merger = new Merger(documentPath);
merger.join(additionalDocumentPath);
String outputFile = outputDirectory + "/merged.mht";
// Save the merged file
merger.save(outputFile);
}
}
Açıklama: save metodu gerçek birleştirmeyi gerçekleştirir, kuyruktaki tüm dosyaların HTML gövdelerini ve kaynaklarını tek tutarlı bir arşivde birleştirir.
MHT dosyalarını birleştirmenin pratik uygulamaları
- Web arşivleme: Bir web sitesinin günlük anlık görüntülerini uyumluluk raporlaması için tek bir arşivde birleştirin.
- Belge yönetim sistemleri: İlgili web sayfalarını tek bir varlık olarak saklayarak indeksleme ve geri getirmeyi basitleştirir.
- Veri birleştirme: Birden fazla kaynaktan dışa aktarılmış raporları tek bir paket içinde birleştirerek paydaşlarla paylaşımı kolaylaştırır.
Performans dikkate alması gerekenler
Büyük MHT dosyaları (yüzlerce megabayt) ile çalışırken şu ipuçlarını aklınızda tutun:
| İpucu | Neden yardımcı olur |
|---|---|
| Yeterli yığını ayırın | Birleştirme sırasında OutOfMemoryError oluşmasını önler. |
| Aynı Merger örneğini yeniden kullanın | Nesne oluşturma yükünü azaltır ve bellek kullanımını düşük tutar. |
| Kullanılmayan akışları kapatın | İşletim sistemi dosya tanıtıcılarını hızlıca serbest bırakır, kaynak sızıntılarını önler. |
| Ayrı bir iş parçacığında çalıştırın | Masaüstü uygulamalarda UI’nın yanıt vermesini sağlar ve yoğun işleme izole eder. |
Yaygın sorunlar ve çözüm yolları
FileNotFoundException– Tüm dosya yollarının mutlak ya da çalışma dizinine göre doğru göreceli olduğundan emin olun.OutOfMemoryError– JVM yığınını artırın (-Xmx2g) veya birleştirmeyi daha küçük partilere bölün.- Bozuk çıktı – Kaynak MHT dosyalarının bozuk olmadığından emin olun; gerekirse yeniden dışa aktarın.
Sıkça sorulan sorular
S: MHT dosyası nedir?
C: MHT (MHTML) dosyası, bir HTML sayfasını ve tüm kaynaklarını çevrim dışı görüntüleme için tek bir dosyada birleştirir.
S: Aynı anda iki’den fazla MHT dosyasını birleştirebilir miyim?
C: Evet. save() metodunu çağırmadan önce her ek dosya için merger.join() metodunu tekrar tekrar çağırın.
S: Birleştirilmiş dosyam çok büyük—ne yapabilirim?
C: Çıktıyı daha küçük parçalara bölmeyi veya gereksiz görselleri kaldırıp kaynakları sıkıştırarak kaynak MHT dosyalarını optimize etmeyi düşünün.
S: GroupDocs.Merger diğer formatları destekliyor mu?
C: Kesinlikle. PDF, DOCX, PPTX, XLSX ve daha birçok formatla çalışır—toplamda 50’den fazla format.
S: Birleştirme sırasında hataları nasıl ele almalı?
C: Birleştirme çağrılarını try‑catch bloklarıyla sarın, dosya yollarını doğrulayın ve sürecin çıktı dizinine yazma izni olduğundan emin olun.
Ek kaynaklar
- Dokümantasyon: GroupDocs.Merger for Java Docs
- API referansı: GroupDocs API Reference
- İndirme: GroupDocs Releases
- Satın alma: Buy GroupDocs
- Ücretsiz deneme: GroupDocs Free Trial
- Geçici lisans: Get a Temporary License
- Destek forumu: GroupDocs Forum
Son güncelleme: 2026-09-21
Test edildiği sürüm: GroupDocs.Merger Java 23.11 (yazım anındaki en son sürüm)
Yazar: GroupDocs