IronWord kullanarak C# ile DOCX'ten Görseller Çıkarın

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronWord'ün ExtractImages() yöntemi, WORD belgelerinden tüm gömülü resimleri programlı olarak çıkarmanıza olanak tanır ve kaydetme veya işleme için boyutlar ve format gibi resim verilerine ve meta verilere erişim sağlar.

Hızlı Başlangıç: C#.NET'te DOCX'ten Görselleri Çıkarma

  1. IronWord aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronWord
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    // Install IronWord: Install-Package IronWord
    using IronWord;
    using IronSoftware.Drawing;
    
    // Load your Word document
    WordDocument doc = new WordDocument("document.docx");
    
    // Extract all images
    var images = doc.ExtractImages();
    
    // Save each image with custom naming
    int imageIndex = 0;
    foreach (var image in images)
    {
        // Cast to AnyBitmap to access SaveAs method
        ((AnyBitmap)image.Image).SaveAs($"output-{imageIndex}.png");
    
        // Access image properties
        Console.WriteLine($"Image {imageIndex}: {image.Width}x{image.Height}");
        imageIndex++;
    }
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronWord kullanmaya başlayın

    arrow pointer

Word belgelerinden resim çıkarmak, içerik geçişi, medya yönetimi ve programatik belge işleme için sık karşılaşılan bir gerekliliktir. İçerik yönetim sistemi oluşturuyor, belge iş akışlarını otomatikleştiriyor veya dijital arşivler oluşturuyor olun, IronWord gömülü resimlere erişimi basit hale getirir, bunların kaydedilmesine, yeniden kullanılmasına veya boyutlar ve format gibi özellikler aracılığıyla analiz edilmesine izin verir.

IronWord ile başlayın


Bir Word Belgesinden Görüntüleri Nasıl Çıkarırım?

IronWord ile bir Word belgesinden resim çıkarmak basittir. embedded_images.docx dosyası, 3 farklı sayfada 5 resim içeren örnek dosya olarak kullanılacaktır. Aşağıdaki kod parçacığı, ExtractImages() yöntemini kullanarak görüntü çıkarma sürecinin temel iş akışını tanımlar.

Belge işleme kütüphaneleriyle çalışırken, uygulamanızın kullanım terimlerine uyumlu olduğundan emin olmak için lisanslama gereksinimlerini anlamak esastır. IronWord, diğer Iron ürünleri gibi benzer lisanslama kalıplarını takip eder ve kapsamlı destek seçenekleri ile süresiz lisanslar sunar. Üretim dağıtımları için, herhangi bir filigran veya kısıtlamayı kaldırmak üzere lisans anahtarlarını uygulamanız gerekecektir.

:path=/static-assets/word/content-code-examples/how-to/extract-images-properties.cs
using System;
using IronWord;
using IronSoftware.Drawing;

// Load an existing Word document
WordDocument doc = new WordDocument("embedded_images.docx");

// Extract all images from the document
var images = doc.ExtractImages();

// Iterate through extracted images
int count = 0;
foreach (var image in images)
{
    // Save each image to disk
    string fileName = $"extracted-image-{count}.png";
    ((AnyBitmap)image.Image).SaveAs(fileName);

    Console.WriteLine($"Extracted image {count}:");
    Console.WriteLine($"Width: {image.Width}");
    Console.WriteLine($"Height: {image.Height}");
    Console.WriteLine($"Saved as: {fileName}");

    count++;
}

Console.WriteLine($"Total images extracted: {count}");
Imports System
Imports IronWord
Imports IronSoftware.Drawing

' Load an existing Word document
Dim doc As New WordDocument("embedded_images.docx")

' Extract all images from the document
Dim images = doc.ExtractImages()

' Iterate through extracted images
Dim count As Integer = 0
For Each image In images
    ' Save each image to disk
    Dim fileName As String = $"extracted-image-{count}.png"
    DirectCast(image.Image, AnyBitmap).SaveAs(fileName)

    Console.WriteLine($"Extracted image {count}:")
    Console.WriteLine($"Width: {image.Width}")
    Console.WriteLine($"Height: {image.Height}")
    Console.WriteLine($"Saved as: {fileName}")

    count += 1
Next

Console.WriteLine($"Total images extracted: {count}")
$vbLabelText   $csharpLabel

ExtractImages yöntemi, her biri meta verilerle birlikte tam görüntü verilerini içeren, numaralandırılabilir bir görüntü nesneleri koleksiyonu döndürür. Görüntüleri kaydetmek için, Image özelliğini AnyBitmap'ye dönüştürün ve ((AnyBitmap)image.Image).SaveAs() kullanarak SaveAs yöntemine erişin. Bunun için ad alanı bildirimlerinize using IronSoftware.Drawing; eklemeniz gerekir.

Bu yaklaşım, esnek işleme iş akışlarına izin verir; yukarıda görüldüğü gibi görüntüleri diske kaydedebilir, farklı formatlara dönüştürebilir veya bunları doğrudan bulut depolama hizmetlerine aktarabilirsiniz. Yöntem, Word belgelerine yaygın olarak yerleştirilen çeşitli görüntü formatlarını işler, bunlar arasında JPEG, PNG, BMP ve GIF bulunur.

Örnek Belge Ne Gibi Görünüyor?

Google logosu, kafa siluetleri, galaksi sahnesi, aslan ve zen taşları içeren gömülü görüntüler gösteren Word belgesi

Ne Tür Çıktı Beklemeliyim?

5 çıkarılmış görüntüyü, boyutlar ve dosya isimleri ile çıkarılan görüntü-0.png'den çıkarılan görüntü-4.png'ye kadar gösteren hata ayıklama konsolu

Çıkarılan görüntüler orijinal formatlarını korur (ör. .jpg, .png veya diğer formatlar) ve uygun dosya uzantılarıyla kaydedilebilir. Belgedeki tüm resimler arasında dolaşabilir veya gereksinimlerinize bağlı olarak belirli bölümleri hedefleyebilirsiniz.

Gelişmiş Görüntü Çıkarma Senaryoları

Temel çıkartmanın ötesinde, IronWord'un görüntü işleme yetenekleri geliştiricilerin üretim uygulamalarında sıkça karşılaştığı çeşitli ileri senaryoları destekler:

Birden Fazla Belgeyi Toplu İşleme: Büyük belge koleksiyonları işlenirken, birden fazla Word dosyasından resimlerin aynı anda çıkarılması için paralel işlemeyi uygulayabilirsiniz. Bu yaklaşım, belge arşivleri veya içerik geçiş projeleri için işlem süresini önemli ölçüde azaltır.

Görüntü Format Dönüşümü: Çıkarılmış görüntü nesneleri, formatlar arası dönüşümü destekler. Bir JPEG'i bir Word belgesinden çıkarabilir ve web optimizasyonu için bir PNG olarak kaydedebilir veya modern tarayıcı uyumluluğu için WebP'ye dönüştürebilirsiniz.

Meta Veri Koruma: Her çıkarılan görüntü, boyutlar, çözünürlük ve renk derinliği dahil önemli meta verileri korur. Bu bilgi, uygulamanız genelinde kalite standartlarını korurken, görüntü optimizasyon hatları uygularken değerli olabilir.

Devam eden destek ve düzenli güncellemeler gerektiren işletme uygulamaları için, yeni özelliklere ve öncelikli desteğe erişim sağlayan lisans uzantıları göz önünde bulundurmayı değerlendirin. Proje kapsamınız genişletirse, ek geliştiricileri veya dağıtım yerlerini kapsamayı kolayca sağlamak için yükseltme seçenekleri mevcuttur.

Belge İş Akışları ile Entegrasyon

Görüntü çıkarma genellikle daha büyük belge işleme iş akışlarının bir parçasını oluşturur. İşte bu yaygın entegrasyon kalıplarını göz önünde bulundurun:

İçerik Yönetim Sistemleri: Belge yükleme sırasında küçük resim önizlemeleri oluşturmak, görüntü galerileri oluşturmak veya medya kütüphanelerini doldurmak için resim çıkarın. Çıkartılan resimler arama işlevselliği için indekslenebilir veya belge meta verileri ile etiketlenebilir.

Belge Dönüşüm Hatları: Word belgelerini başka formatlara dönüştürürken, çıkarılan görüntüler ayrı bir şekilde işlenebilir. Bu ayrım, belirli formata özgü optimizasyon sağlar - örneğin, web ve basılı çıktı için farklı sıkıştırma ayarlarının uygulanması.

Kalite Güvence İş Akışları: Otomatik görüntü çıkarma, marka kılavuzlarına, çözünürlük gereksinimlerine veya dosya boyutu sınırlamalarına uyumluluk için yerleşik resimlerin sistematik olarak incelenmesine olanak tanır. Düşük çözünürlüklü resimler veya yanlış formatlar içeren belgeleri yayınlanmadan önce işaretleyebilirsiniz.

Belge işleme yeteneklerindeki en son özellikler ve iyileştirmelerden haberdar olmak için ürün değişikliği günlüğünü düzenli olarak kontrol edin. Yeni sürümler genellikle görüntü çıkarma iş akışlarınıza fayda sağlayabilecek performans iyileştirmeleri ve genişletilmiş format desteği içerir.

Performans Dikkat Edilecek Hususlar

Çok sayıda veya yüksek çözünürlüklü resimler içeren belgelerle çalışırken, bu performans optimizasyon stratejilerini göz önünde bulundurun:

Hafıza Yönetimi: Tüm resimleri aynı anda hafızaya yüklemek yerine, işlemeleri gruplar halinde gerçekleştirin. Bu yaklaşım, büyük belgeler veya yüksek çözünürlüklü resimlerle çalışırken hafıza tükenmesini önler.

Asenkron İşleme: I/O işlemleri için async/await kalıplarını uygulayın, özellikle de çıkarılan görüntüleri diske veya ağ depolama alanına kaydederken. Bu, uzun süreli çıkarma işlemleri sırasında uygulamanızın kısıtlanmadan çalışmasını sağlar.

Seçici Çıkarma: Yalnızca belirli resimlere ihtiyacınız varsa, gereksiz içeriği işlememek için resim özelliklerine veya belge yapısına dayalı filtreler uygulamayı düşünün.

Sağlam API tasarımı, farklı belge türleri ve resim formatları arasında tutarlı davranışlar garantileyerek .NET uygulamalarınıza güvenilir resim çıkarma özelliklerini kolayca dâhil etmenizi sağlar.

Sıkça Sorulan Sorular

C# içinde bir DOCX dosyasından görsel çıkarmayı nasıl yaparım?

IronWord'un ExtractImages() metodunu kullanarak DOCX dosyalarından görsel çıkarabilirsiniz. Basitçe Word belgenizi WordDocument doc = new WordDocument("document.docx") ile yükleyin ve ardından tüm yerleştirilen görselleri almak için doc.ExtractImages()'i çağırın. Her bir görsel, tercih edilen format ve dosya adı ile SaveAs() metodu kullanılarak kaydedilebilir.

Word belgelerinden görsel çıkarırken hangi görsel özelliklere erişebilirim?

IronWord genişlik ve yükseklik boyutları dahil önemli görsel metaverilerine erişim sağlar. ExtractImages() metodu, hem ham görsel verilerini hem de bu metaveri özelliklerini içeren bir görsel objeleri koleksiyonu döndürür, böylece görselleri programlı olarak analiz edebilir veya özelliklerine dayalı olarak işleyebilirsiniz.

Çıkartılan görselleri farklı formatlarda kaydedebilir miyim?

Evet, IronWord çıkartılan görselleri çeşitli formatlarda kaydetmenizi sağlar. Her görsel objesi üzerinde SaveAs() metodunu kullanın ve uygun uzantıyı içeren dosya adını belirtin (örneğin, .png, .jpg). Kütüphane, verdiğiniz dosya uzantısına dayanarak format dönüşümünü otomatik olarak halleder.

Word belgelerinden görseller çıkarmak için kütüphaneyi nasıl yüklerim?

NuGet Paket Yöneticisi üzerinden Install-Package IronWord komutunu kullanarak IronWord'u yükleyin. Yüklendikten sonra, görsel çıkarma işlevselliğine ve diğer belge işleme özelliklerine erişmek için C# dosyanıza 'using IronWord;' ekleyin.

Çok sayfalı Word belgelerinden görseller çıkarılabilir mi?

Evet, IronWord'un ExtractImages() metodu, kaç sayfa içerse de tüm Word belgesindeki tüm görselleri çıkarır. Yöntem, belgenin bir sayfasında veya birden fazla sayfa boyunca bulunup bulunmadıklarına bakılmaksızın tüm yerleştirilmiş görsellerin tam bir koleksiyonunu döndürür.

Ahmad Sohail
Full Stack Geliştirici

Ahmad, C#, Python ve web teknolojilerinde sağlam bir temele sahip bir full-stack geliştiricidir. Gerçek dünyadaki uygulamalarda ölçeklenebilir yazılım çözümleri oluşturmaktan ve tasarım ile işlevselliğin nasıl buluştuğunu keşfetmekten derin bir ilgi duyar.

...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 44,829 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronWord
bir örnek çalıştırın verilerinizi bir Word belgesine dönüştürün.