PDF C#'ta görüntülerle çalışın

Bir resim bin kelime değerinde bir olup. Bu nedenle, resimler ve grafikler diğer belgelerde olduğu gibi PDF‘de de önemli bir rol oynar. PDF en popüler ve yaygın olarak kullanılan dosya biçimlerinden biri haline geldiğinden, bu makale PDF dosyalarındaki görüntülerin programlı olarak nasıl değiştirileceğini hedeflemektedir. Daha doğrusu, C# .NET’te PDF dosyalarındaki görüntüleri nasıl ekleyeceğinizi, çıkaracağınızı, kaldıracağınızı ve değiştireceğinizi öğreneceksiniz.

PDF’de Görüntü Eklemek, Kaldırmak ve Değiştirmek için C# API’si - Ücretsiz İndirme

Aspose.PDF for .NET, .NET uygulamalarının içinden PDF belgeleri oluşturmanıza ve yönetmenize izin veren bir C# sınıf kitaplığıdır. API’yi kullanarak, temel ve gelişmiş PDF otomasyon özelliklerini kolayca gerçekleştirebilirsiniz. Ayrıca, mevcut PDF dosyalarındaki görüntüleri değiştirebilirsiniz. API, DLL olarak indirilebilir veya NuGet aracılığıyla kurulabilir.

PM> Install-Package Aspose.Pdf

C# .NET’te PDF Dosyasına Görüntü Ekleme

Aspose.PDF for .NET kullanarak bir PDF dosyasına görüntü ekleme adımları aşağıdadır.

  • Yeni bir PDF dosyası oluşturmak veya mevcut bir PDF dosyasını yüklemek için Belge sınıfını kullanın.
  • Page nesnesinde istenen sayfanın referansını alın.
  • Görüntüyü sayfanın Kaynaklar koleksiyonuna ekleyin.
  • Görüntüyü sayfaya yerleştirmek için aşağıdaki operatörleri kullanın:
    • GKaydet operator to save the current graphical state.
    • Matrisi Birleştir operator to specify where the image is to be placed.
    • Yapmak operator to draw the image on the page.
    • GRestore operator to save the updated graphical state.
  • Güncellenmiş PDF dosyasını Document.Save(String) yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, C# kullanarak bir PDF dosyasına nasıl resim ekleneceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-pdf/Aspose.PDF-for-.NET adresine gidin.
// Belgeyi aç
Document pdfDocument = new Document("AddImage.pdf");

// Koordinatları ayarla
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// Resmin eklenmesi gereken sayfayı alın
Page page = pdfDocument.Pages[1];

// Görüntüyü akışa yükle
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// Sayfa Kaynaklarının Görseller koleksiyonuna resim ekleyin
page.Resources.Images.Add(imageStream);

// GSave operatörünü kullanma: bu operatör mevcut grafik durumunu kaydeder
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// Dikdörtgen ve Matris nesneleri oluşturma
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// ConcatenateMatrix (concatenate matrix) operatörünü kullanma: görüntünün nasıl yerleştirilmesi gerektiğini tanımlar
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// Do işlecini kullanma: bu işleç görüntüyü çizer
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// GRestore operatörünü kullanma: bu operatör grafik durumunu geri yükler
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());

// Güncellenen belgeyi kaydet
pdfDocument.Save("AddImage_out.pdf");

C# ile PDF’den Görüntüleri Çıkarın

Tüm görüntüleri bir PDF dosyasından çıkarmak istemeniz durumunda, bunu aşağıdaki adımları izleyerek yapabilirsiniz.

  • Mevcut bir PDF dosyasını yüklemek için Belge sınıfını kullanın.
  • Dizini kullanarak belirli bir sayfanın Kaynaklar koleksiyonundan XImage nesnesindeki istenen görüntüyü alın.
  • Ayıklanan görüntüyü XImage.Save(FileStream, ImageFormat) yöntemini kullanarak istenen biçimde kaydedin.

Aşağıdaki kod örneği, C# kullanarak PDF’den görüntülerin nasıl çıkarılacağını gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-pdf/Aspose.PDF-for-.NET adresine gidin.
// Belgeyi aç
Document pdfDocument = new Document("ExtractImages.pdf");

// Belirli bir görüntüyü ayıklayın
XImage xImage = pdfDocument.Pages[1].Resources.Images[1];

FileStream outputImage = new FileStream("output.jpg", FileMode.Create);

// Çıktı görüntüsünü kaydet
xImage.Save(outputImage, ImageFormat.Jpeg);
outputImage.Close();

C# ile PDF’den Resimleri Kaldırma

PDF’deki bir sayfanın kaynaklarına eriştiğinizde, resimleri buradan kaldırabilirsiniz. Aşağıda, C# kullanarak bir PDF dosyasından görüntüleri kaldırma adımları yer almaktadır.

  • Belge sınıfını kullanarak PDF dosyasını yükleyin.
  • Aşağıdaki yöntemlerden birini kullanarak görüntüleri kaldırın.
  • Güncellenmiş PDF dosyasını Document.Save(String) yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, C# kullanarak bir PDF’den görüntülerin nasıl kaldırılacağını gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-pdf/Aspose.PDF-for-.NET adresine gidin.
// Belgeyi aç
Document pdfDocument = new Document("DeleteImages.pdf");

// Belirli bir görüntüyü silin
pdfDocument.Pages[1].Resources.Images.Delete(1);

// Güncellenmiş PDF dosyasını kaydet
pdfDocument.Save("output.pdf");

C# ile PDF’deki Görüntüyü Değiştir

Aspose.PDF for .NET ayrıca PDF’deki belirli bir görüntüyü değiştirmenize olanak tanır. Bunun için sayfanın görsel koleksiyonundaki görseli değiştirebilirsiniz. Aşağıda, C# kullanarak PDF’deki bir görüntüyü değiştirme adımları yer almaktadır.

  • Belge sınıfını kullanarak PDF dosyasını yükleyin.
  • [Document.Pages1.Resources.Images.Replace(Int32, Stream, Int32, Boolean)]24 yöntemini kullanarak istediğiniz görüntüyü değiştirin.
  • Güncellenmiş PDF dosyasını Document.Save(String) yöntemini kullanarak kaydedin.

Aşağıdaki kod örneği, C# kullanarak PDF’deki bir görüntünün nasıl değiştirileceğini gösterir.

// Eksiksiz örnekler ve veri dosyaları için lütfen https://github.com/aspose-pdf/Aspose.PDF-for-.NET adresine gidin.
// Belgeyi aç
Document pdfDocument = new Document("input.pdf");

// Belirli bir resmi değiştir
pdfDocument.Pages[1].Resources.Images.Replace(1, new FileStream("lovely.jpg", FileMode.Open));

// Güncellenmiş PDF dosyasını kaydet
pdfDocument.Save("output.pdf");

C# .NET PDF API - Ücretsiz Lisans Alın

API’yi değerlendirme sınırlamaları olmadan denemek için ücretsiz bir geçici lisans alabilirsiniz.

Çözüm

Görüntüler ve grafik nesneler, PDF belgelerinin önemli öğeleridir. Bu nedenle, bu makalede, C# .NET API kullanarak bir PDF’deki görüntülerin nasıl değiştirileceğini ele aldık. Adım adım öğretici ve kod örnekleri, C# dilinde PDF dosyalarındaki görüntülerin nasıl ekleneceğini, ayıklanacağını, kaldırılacağını ve değiştirileceğini göstermiştir. Belgeleri kullanarak C# PDF API hakkında daha fazlasını keşfedebilirsiniz.

Ayrıca bakınız