Extract Images from DOCX with C# using IronWord
IronWord'un ExtractImages() metodu, Word belgelerinden gömülü tüm görüntüleri programlı olarak çıkarmanıza olanak tanır ve görüntü verilerine ve boyutlar ve format gibi meta verilere erişim sağlar, bunların kaydedilmesi veya işlenmesi için.
Hızlı Başlangıç: C#'ta DOCX'ten Görüntü Çıkarma
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronWord yükleyin
PM > Install-Package IronWord -
Bu kod parçasını kopyalayıp ç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++; } -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronWord kullanmaya başlayın ücretsiz deneme ile
Word belgelerinden görüntü çıkarmak, içerik geçişi, medya yönetimi ve programlı belge işleme için yaygın bir gereksinimdir. İster bir içerik yönetim sistemi oluşturuyor, ister belge iş akışlarını otomatikleştiriyor veya dijital arşivler oluşturuyor olun, IronWord gömülü görüntülere erişimi basitleştirir, böylece bunlar boyutlar ve format gibi özellikler aracılığıyla kaydedilebilir, yeniden kullanılabilir veya analiz edilebilir.
IronWord ile başlayın
DOCX'ten Görseller Nasıl Çıkartılır
- IronWord'u Yükleyin:
Install-Package IronWord - Mevcut bir Word belgesini yükle
ExtractImages()'i çağırarak tüm gömülü görselleri al- Görsellerin üzerinden geçin ve onları diske kaydedin
- Görsel özelliklerine, genişlik ve yükseklik gibi, erişin
Bir Word Belgesinden Görseller Nasıl Çıkartılır?
Word belgesinden görsellerin çıkartılması, IronWord ile basittir. Dosya embedded_images.docx, üç farklı sayfada 5 görüntü içeren bir örnek dosya olarak kullanılacaktır. Aşağıdaki kod parçası, görüntü çıkarma süreci için temel iş akışını ExtractImages() metodunu kullanarak tanımlar.
Doküman işlem kütüphaneleri ile çalışırken, uygulamanızın kullanım şartlarına uygun olduğunu sağlamak için lisanslama gereksinimlerini anlamak önemlidir. IronWord, diğer Iron ürünlerine 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 için lisans anahtarlarını uygulamanız gerekecek.
: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}")
ExtractImages metodu, her biri tam görüntü verilerini meta verilerle birlikte içeren bir numaralandırılabilir görüntü nesneleri koleksiyonu döndürür. Görüntüleri kaydetmek için Image özelliğini AnyBitmap'ya dökerek ((AnyBitmap)image.Image).SaveAs() kullanarak SaveAs metoduna erişin. Bu, ad alanı bildirimlerinize using IronSoftware.Drawing; eklemeyi gerektirir.
Bu yaklaşım, esnek işlem iş akışlarına olanak tanır—yukarıda gösterildiği gibi görselleri diske kaydedebilir, farklı formatlara dönüştürebilir veya doğrudan bulut depolama hizmetlerine akış yapabilirsiniz. Metot, Word belgelerine yaygın olarak gömülü olan JPEG, PNG, BMP ve GIF gibi çeşitli görüntü formatlarını işler.
Örnek Belge Nasıl Görünüyor?
Hangi Çıkışı Beklemeliyim?
Çıkarılan görüntüler orijinal formatlarını (örneğin, .jpg, .png veya diğer formatlar) korur ve uygun dosya uzantılarıyla kaydedilebilir. Belgedeki tüm görsellerin üzerinden geçebilir veya gereksinimleriniz doğrultusunda belirli bölümleri hedef alabilirsiniz.
Gelişmiş Görsel Çıkartma Senaryoları
Temel çıkartmanın ötesinde, IronWord'ün görsel işleme yetenekleri, geliştiricilerin üretim uygulamalarında sıklıkla karşılaştığı çeşitli gelişmiş senaryoları destekler:
Birden Fazla Belgenin Toplu İşlenmesi: Büyük belge koleksiyonlarını işlerken, aynı anda birden fazla Word dosyasından görsel çıkarmak için paralel işlem uygulayabilirsiniz. Bu yaklaşım, belge arşivleri veya içerik taşıma projeleri için işlem süresini önemli ölçüde azaltır.
Görsel Format Dönüşümü: Çıkarılan görüntü nesneleri, formatlar arasında dönüşümleri destekler. Bir Word belgesinden bir JPEG çıkartabilir ve web optimizasyonu için bir PNG olarak kaydedebilir veya modern tarayıcı uyumluluğu için WebP'ye dönüştürebilirsiniz.
Meta Verilerin Korunması: Her çıkarılan görüntü, boyutlar, çözünürlük ve renk derinliği gibi önemli meta verileri içerir. Bu bilgi, görüntü optimizasyon hatlarını uygularken veya uygulamanızda kalite standartlarını sağlarken değerli olur.
Sürekli destek ve düzenli güncellemeler gerektiren kurumsal uygulamalar için, yeni özelliklere ve öncelikli desteğe sürekli erişim sağlayan lisans uzantılarını keşfetmeyi düşünün. Proje kapsamınız genişliyorsa, ek geliştiricileri veya dağıtım konumlarını kapsayacak şekilde sorunsuz ölçekleme sağlayan yükseltme seçenekleri sunulur.
Belge İş Akışlarıyla Entegrasyon
Görsel çıkartma genellikle daha geniş belge işleme iş akışlarının bir parçasını oluşturur. Bu yaygın entegrasyon kalıplarını düşünün:
İçerik Yönetim Sistemleri: Belge yükleme sırasında görselleri çıkartarak önizleme küçük resimleri oluşturun, görsel galerileri oluşturun veya medya kitaplıklarını doldurun. Çıkarılan görseller arama işlevi için indekslenebilir veya belge meta verileri ile etiketlenebilir.
Belge Dönüşüm Hatları: Word belgelerini diğer formatlara dönüştürürken, çıkarılan görseller ayrı olarak en yüksek kalite için işlenebilir. Bu ayrım, web ve baskı çıktıları için farklı sıkıştırma ayarları uygulamaya olanak tanır.
Kalite Güvence İş Akışları: Otomatik çıkarma, gömülü görsellerin marka yönergeleri, çözünürlük gereksinimleri veya dosya boyutu sınırlamaları ile uyumluluğunu sistematik olarak gözden geçirmeyi sağlar. Yayınlanmadan önce düşük çözünürlüklü görüntüler veya yanlış formatlar içeren belgeleri işaretleyebilirsiniz.
Belge işleme yeteneklerindeki en son özellikler ve iyileştirmelerden haberdar olmak için ürün değişim günlüğünü düzenli olarak kontrol edin. Yeni sürümler genellikle görsel çıkarma iş akışlarınıza fayda sağlayabilecek performans iyileştirmeleri ve genişletilmiş format desteği içerir.
Performans Dikkat Edilecek Noktalar
Çok sayıda veya yüksek çözünürlüklü görsel içeren belgelerle çalışırken, şu performans optimizasyon stratejilerini düşünün:
Hafıza Yönetimi: Tüm görselleri aynı anda belleğe yüklemek yerine, görselleri partiler halinde işleyin. Bu yaklaşım, büyük belgeler veya yüksek çözünürlüklü görsellerle çalışırken belleğin tükenmesini önler.
Asenkron İşleme: Çıkarılan görselleri diske veya ağ depolamasına kaydederken asenkron/await kalıplarını uygulayın. Bu, uzun çıkarma işlemleri sırasında uygulamanızın duyarlı kalmasını sağlar.
Seçici Çıkartma: Sadece belirli görsellere ihtiyaçınız varsa, gereksiz içeriği işlememek için görsel özelliklerine veya belge yapısına dayalı filtreler uygulamayı düşünün.
Sağlam API tasarımı, farklı belge türleri ve görüntü formatları arasında tutarlı davranış sağlar ve .NET uygulamalarınıza güvenilir görsel çıkarma özellikleri eklemeyi kolaylaştırır.
Sıkça Sorulan Sorular
C#'ta bir DOCX dosyasından nasıl görseller çıkarırım?
IronWord'un ExtractImages() yöntemini kullanarak DOCX dosyalarından görseller çıkarabilirsiniz. Word belgenizi WordDocument doc = new WordDocument("document.docx") ile yükleyin, ardından tüm gömülü görselleri almak için doc.ExtractImages() çağırın. Her bir görüntü, tercih ettiğiniz format ve dosya adı ile SaveAs() yöntemi kullanılarak kaydedilebilir.
Word belgelerinden görselleri çıkarırken hangi görsel özelliklere erişebilirim?
IronWord, Genişlik ve Yükseklik boyutlarını içeren önemli görsel meta verilere erişim sağlar. ExtractImages() yöntemi, hem ham görsel verilerini hem de bu meta veri özelliklerini içeren bir görsel nesneler koleksiyonu döndürür ve bu sayede size görselleri özelliklerine göre programlı olarak analiz etme veya işleme imkanı tanır.
Çıkarılan görselleri farklı formatlarda kaydedebilir miyim?
Evet, IronWord çıkarılan görselleri çeşitli formatlarda kaydetmenizi sağlar. Her bir görsel nesnesi üzerinde SaveAs() yöntemini kullanın ve uygun uzantılı (ör. .png, .jpg) istediğiniz dosya adını belirtin. Kütüphane, sağladığınız dosya uzantısına göre format dönüşümünü otomatik olarak yönetir.
Word belgelerinden görselleri çıkarmak için kütüphaneyi nasıl kurarım?
NuGet Paket Yöneticisi ile Install-Package IronWord komutunu kullanarak IronWord'u yükleyin. Yüklendikten sonra, C# dosyanıza 'using IronWord;' ekleyerek görsel çıkarma işlevselliği ve diğer belge işlem özelliklerine erişebilirsiniz.
Çok sayfalı Word belgelerinden görselleri çıkarabilir miyim?
Evet, IronWord'un ExtractImages() yöntemi, kaç sayfa içerdiğine bakılmaksızın tüm Word belgesinden tüm görselleri çıkarır. Bu yöntem, belgede bulunan tüm gömülü görüntülerin tam bir koleksiyonunu döndürür, bunlar tek bir sayfada olsa da veya birden fazla sayfaya yayılsa da.

