IRONSOFTWAREHOME
IRONPDF KULLANARAK

ASP.NET Core Görüntüleyicide PDF'leri Nasıl Görüntüleme, Kaydetme ve Yazdirma

Curtis Chau
Curtis Chau
Updated: 5 Temmuz 2026

PDF belgeleri otomatik testte benzersiz bir zorluk sunar: Selenium WebDriver web öğeleriyle etkileşime geçme konusunda mükemmel olsa da, bir PDF'nin içeriğini okuyamaz çünkü dosya, DOM öğeleri yerine bir binary akışı olarak işler. Bu makale, Selenium ile .NET'yi eşleştirerek bu sorunu C#'da nasıl çözeceğinizi gösterir, üretim için hazır bir .NET PDF kütüphanesi ile birkaç kod satırıyla PDF içeriğini çıkarabilir, doğrulayabilir ve işleyebilirsiniz - karmaşık Java tarzı bağımlılık yönetimine gerek yoktur.

Selenium WebDriver C# Kullanarak IronPDF ile PDF Dosyası Oku: Görüntü 1 - IronPDF

Selenium PDF İçeriğiyle Neden Zorlanıyor?

Bir PDF tarayıcıda açıldığında, Selenium sayfaya gidip tarayıcı denetimleriyle etkileşime geçebilir, ancak belge içindeki metin veya verileri sorgulayamaz. PDF'ler gömülü nesneler veya eklentiler olarak işlenir, WebDriver protokolü'nün dolaşabileceği HTML öğeleri olarak değil. Tarayıcının PDF görüntüleyicisi belgeyi görsel olarak işler, ancak Selenium'un inceleyebileceği erişilebilir bir DOM yoktur -- her XPath sorgusu veya CSS seçici hiçbir şey döndürmez.

Geleneksel geçici çözümler, dosyayı diske indirip ayrı bir ayrıştırma kütüphanesi çağırmayı ve her şeyi manuel olarak kablolamayı gerektirir. Bu çok aşamalı süreç karmaşıklık ekler, kırılgan test kodu oluşturur ve dosya yollarının ve izinlerin kontrol edilmesi zor olduğu CI/CD hatlarını karıştırır. .NET, bir URL veya yerel yoldan PDF yükleyip bir tek çağrıda metnini çıkarmanıza izin vererek bu adımların tamamını ortadan kaldırır -- mevcut .NET test projenizin içinde, herhangi bir ara dosya veya yapılandırma olmadan.

Pratik sonuç, test kodunun daha kısa, okunması kolay hale gelmesi ve test ortamı değiştiğinde kırılma olasılığının çok daha az olmasıdır. IronPDF'nin metin çıkarımının ötesinde neler yapabileceğini daha genel bir şekilde incelemek için IronPDF belgeleri merkezini ziyaret edin.

Selenium WebDriver C# Kullanarak IronPDF ile PDF Dosyası Oku: Görüntü 2 - Özellikler

Selenium Testi İçin IronPDF Nasıl Kurulur?

Gerekli paketleri yerleştirmek bir dakikadan az sürüyor. Visual Studio'da Paket Yöneticisi Konsolunu açın ve şu komutu çalıştırın:

PM > Install-Package IronPdf

Projede henüz yoksa Selenium paketlerine de ihtiyacınız olacak:

Install-Package Selenium.WebDriver
Install-Package Selenium.WebDriver.ChromeDriver
SHELL

Selenium WebDriver C# Kullanarak IronPDF ile PDF Dosyası Oku: Görüntü 3 - Kurulum

Paketler kurulduktan sonra, test dosyanızın üst kısmında şu using yönergelerini ekleyin:

using IronPdf;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System.IO;

.NET .NET 10'u hedefler ve Windows, Linux ve macOS'ta çapraz platform olarak çalışır, böylece aynı test kodu her ortamda çalışır -- Docker konteynerleri ve bulut CI aracılar dahil.

Selenium WebDriver C# Kullanarak IronPDF ile PDF Dosyası Oku: Görüntü 4 - Selenium WebDriver C# ile PDF dosyası nasıl okunur - IronPDF

İlk Adım:
arrow pointer

PDF'yi URL'den Doğrudan Nasıl Okuyorsunuz?

Bir URL'den gelen PDF içeriğini okumak, indirme adımını tamamen atlar. Selenium bağlantıyı bulur, IronPDF belgeyi yükler ve birkaç satırda assert işlemleriniz için tüm metin kullanıma hazır olur.

// Initialize Chrome driver
var driver = new ChromeDriver();

// Navigate to a webpage containing a PDF link
driver.Navigate().GoToUrl("https://ironpdf.com/");

// Find and capture the PDF URL
IWebElement pdfLink = driver.FindElement(By.CssSelector("a[href$='.pdf']"));
string pdfUrl = pdfLink.GetAttribute("href");

// Load the PDF directly from the URL -- no download needed
var pdf = PdfDocument.FromUrl(new Uri(pdfUrl));
string extractedText = pdf.ExtractAllText();

// Assert expected content
if (extractedText.Contains("IronPDF"))
{
    Console.WriteLine("PDF validation passed!");
}

driver.Quit();

PdfDocument.FromUrl() bellek içinde belgeyi alır ve ayrıştırır. ExtractAllText() çağrısı, her sayfadaki tüm metni bir dize olarak döndürür, doğrulamalarınız için hazır. Şifre korumalı belgeler için, korumalı dosyaların test sırasında erişilebilir kalmasını sağlamak amacıyla bir ek parametre olarak kimlik bilgilerini iletin. Metin çıkarım seçenekleri hakkında daha fazla bilgi edinmek için IronPDF metin çıkarma kılavuzuna bakın.

Çıktı

Selenium WebDriver C# Kullanarak IronPDF ile PDF Dosyası Oku: Görüntü 5 - Konsol Çıktısı

PDF'yi Otomatik Olarak Nasıl İndirip İşliyorsunuz?

Bir PDF kimlik doğrulama sonrası veya dinamik bir iş akışı aracılığıyla oluşturulduğunda, öncelikle indirilmeyi gerektirebilir. Chrome'u PDF'leri bilinen bir dizine otomatik olarak indirmesi için yapılandırın, ardından dosya yolunu IronPDF'ye verin:

// Configure Chrome to auto-download PDFs
var chromeOptions = new ChromeOptions();
chromeOptions.AddUserProfilePreference("download.default_directory", @"C:\PDFTests");
chromeOptions.AddUserProfilePreference("plugins.always_open_pdf_externally", true);

var driver = new ChromeDriver(chromeOptions);
string appUrl = "https://example.com/reports";

// Trigger the download
driver.Navigate().GoToUrl(appUrl);
driver.FindElement(By.Id("downloadReport")).Click();

// Wait for the download -- replace Thread.Sleep with a file-system watcher in production tests
System.Threading.Thread.Sleep(3000);

// Read the downloaded PDF
string pdfPath = @"C:\PDFTests\report.pdf";
var pdf = PdfDocument.FromFile(pdfPath);
string content = pdf.ExtractAllText();

// Validate specific data
bool hasExpectedData = content.Contains("Quarterly Revenue: $1.2M");
Console.WriteLine($"Revenue data found: {hasExpectedData}");

// Extract text from a specific page (zero-indexed)
string page2Content = pdf.ExtractTextFromPage(1);

// Clean up
File.Delete(pdfPath);
driver.Quit();

plugins.always_open_pdf_externally tercihi, Chrome'un yerleşik PDF görüntüleyicisini atlar, böylece dosyanın tarayıcıda açılması yerine diske kaydedilir. ExtractTextFromPage() farklı sayfalarda farklı doğrulama verileri içeren çok sayfalı bir raporda sayfa seviyesinde hassasiyet sağlar. Büyük belgelerle verimli bir şekilde çalışmak için IronPDF performans ipuçlarını inceleyin.

Otomatik Testlerde PDF İçeriğini Nasıl Doğrularsınız?

Bir belgenin doğru terimler içerdiğini kontrol etmek en yaygın test senaryosudur. Aşağıdaki yardımcı yöntem, bir dosya yolu ve gerekli terimlerin bir dizisini kabul eder, ardından beklenen herhangi bir terim eksik olduğunda anında false döndürür.

bool ValidatePdfContent(string pdfPath, string[] expectedTerms)
{
    var pdf = PdfDocument.FromFile(pdfPath);
    string fullText = pdf.ExtractAllText();

    // Verify each required term
    foreach (string term in expectedTerms)
    {
        if (!fullText.Contains(term, StringComparison.OrdinalIgnoreCase))
        {
            Console.WriteLine($"Missing expected term: {term}");
            return false;
        }
    }

    // Validate first-page structure
    if (pdf.PageCount > 0)
    {
        string firstPageText = pdf.ExtractTextFromPage(0);
        if (!firstPageText.Contains("Invoice #") && !firstPageText.Contains("Date:"))
        {
            Console.WriteLine("Header validation failed");
            return false;
        }
    }

    return true;
}

StringComparison.OrdinalIgnoreCase oluşturulan belgelerdeki büyük/küçük harf farklarından dolayı testlerin bozulmasını önler. IronPDF, metin düzenini ve biçimlendirmeyi çıkarırken korur, bu nedenle başlık alanlarının birinci sayfada göründüğünü doğrulamak gibi konum doğrulaması, farklı PDF oluşturucular arasında güvenilir bir şekilde çalışır.

Daha gelişmiş senaryolar için, PDF dosyalarından tablolar çıkarın, gömülü görüntüleri çekin veya etkileşimli form alanlarını okuyun, IronPDF her görev için özel API'ler sağlar. Test süitinizin belgeleri doğrulama öncesinde toplaması veya dağıtması gerektiğinde metin çıkarımıyla PDF birleştirme veya bölme iş akışlarını da zincirleyebilirsiniz.

Giriş

Selenium WebDriver C# Kullanarak IronPDF ile PDF Dosyası Oku: Görüntü 6 - Örnek PDF Girdisi

Çıktı

Selenium WebDriver C# Kullanarak IronPDF ile PDF Dosyası Oku: Görüntü 7 - PDF Doğrulama Çıktısı

Selenium ile PDF Testi İçin En İyi Uygulamalar Nelerdir?

Projeyle birlikte büyüdükçe PDF test süitinizi sürdürülebilir kılmanın birkaç deseni başlangıçta uygulanabilir.

Sabit gecikmeler yerine açık beklemeler kullanın. Thread.Sleep() ifadesini bir dosya sistemi izleyicisi veya dosyanın varlığını kontrol eden bir döngü ile değiştirin. Selenium'un belirgin bekleme belgesi tarayıcı tarafı bekleme stratejilerini kapsar ve aynı ilke indirmelere de uygulanır. Sabit gecikmeler, yavaş CI makinelerinde kırılgandır.

PDF işlemlerini bir temel sınıfta merkezileştirin. LoadPdfFromUrl, DownloadPdf ve ValidateTerms gibi yöntemleri açığa çıkaran ortak bir yardımcı veya temel test sınıfı oluşturun. Bireysel testler sonra PDF tesisatı yerine iddialar üzerinde odaklanır. Bu, IronPDF'nin HTML'den PDF'ye dönüşüm ve diğer temel işlemler için izlediği düzeni yansıtır.

Her testten sonra indirilen dosyaları temizleyin. Geçici PDF'lerin disk üzerinde birikmemesi için bir finally bloğunda veya bir yıkım yönteminde File.Delete() çağırın. Özellikle aynı dizine aynı anda birden fazla dosyanın gelmiş olabileceği paralel test çalıştırmalarında bu önemlidir.

Değişiklik yapmadan çapraz platform testlerini çalıştırın. IronPDF, Windows, Linux ve macOS'ta koşulsuz derleme olmadan çalışır. Yerel olarak çalışan aynı test derlemesi, Linux tabanlı CI aracılarında doğru şekilde çalışacaktır. Docker'a özgü yapılandırma için çapraz platform dağıtım kılavuzuna bakın.

Şifreleri kaynak kontrol dışında tutun. Korumalı PDF'lerle çalışırken, kimlik bilgilerini ortam değişkenlerinden veya bir sır yöneticisinden okuyarak kodlamayın. IronPDF'nin PdfDocument.FromFile(path, password) overload'ı yükleme anında şifreyi kabul eder, böylece çağrı sitesi temiz kalır. IronPDF lisanslama sayfası, üretim dağıtımları için ekip ve kurumsal lisansı içerir.

Metin çıkarımını ihtiyacınız olan sayfayla sınırlandırın. ExtractAllText() küçük belgeler için uygundur, ancak büyük çok sayfalı PDF'ler için yalnızca doğruladığınız verilerin bulunduğu sayfalar için ExtractTextFromPage() çağrılmasını düşünün. Bu, bellek kullanımını azaltır ve test yürütmesini hızlandırır. Metin çıkarımı için API referansına tam yöntem imzaları için başvurun.

Selenium WebDriver C# Kullanarak IronPDF ile PDF Dosyası Oku: Görüntü 8 - Çapraz platform uyumluluğu

.NET, .NET İçin Diğer PDF Kütüphaneleriyle Nasıl Karşılaştırılır?

.NET Test Otomasyonu için PDF Kütüphane Özellik Karşılaştırması
ÖzellikIronPDFiTextPdfPig
URL'den PDF YükleEvet -- tek yöntem çağrısıManuel HTTP indirimi gerekirManuel HTTP indirimi gerekir
Tüm metni çıkarınEvet -- ExtractAllText()Evet -- çok adımlıEvet -- çok adımlı
Sayfa düzeyi çıkarımEvet -- ExtractTextFromPage(n)EvetEvet
Şifreli PDF'lerEvet -- parametre aşırı yüklemeEvetSınırlı
.NET 10 desteğiEvetKısmiEvet
HTML'den PDF'ye oluşturmaEvetSınırlıHayır
Çapraz platform (Linux, macOS)EvetEvetEvet
Lisans türüÜcretli, ücretsiz deneme sürümü ileAGPL / TicariMIT

IronPDF'nin doğrudan URL yüklemesi ve tek yöntemle metin çıkarımı, gelişim hızı önemli olduğunda test otomasyon bağlamlarında net bir avantaj sağlar. Hem HTML'den PDF oluşturmaya hem de mevcut belgeleri düzenlemeye ihtiyaç duyan ekipler için, her iki işlemi de aynı iş akışında tek bir kütüphanenin yönetiyor olması, bağımlılık ağacını önemli ölçüde basitleştirir. PdfPig gibi açık kaynak alternatifler, basit çıkarım ihtiyaçları için makul bir uyum sağlayabilir, ancak URL yüklemeyi yönetmek için daha fazla kurulum gerektirirler ve dahili PDF oluşturma imkânı sunmazlar.

Ücretsiz Bir Deneme ile Nasıl Başlanır?

IronPDF, lisans taahhüdü öncesinde kütüphaneyi test ortamınızda doğrulamanız için tam özellikli bir ücretsiz deneme sunar. Deneme süresi boyunca filigran sınırlamaları, metin çıkarımı veya doğrulama iş akışlarını etkilemez.

Başlamak için:

  1. NuGet paketini yükleyin: dotnet add package IronPdf
  2. Test dosyanıza using IronPdf; ekleyin.
  3. PdfDocument.FromUrl() veya PdfDocument.FromFile() çağırın ve metin çıkarmaya başlayın.

IronPDF ücretsiz deneme sayfasını ziyaret ederek deneme anahtarınızı indirin. Ekipler veya kurumsal dağıtımlar için, IronPDF lisans seçeneklerini inceleyerek ihtiyaçlarınıza uygun planı bulun.

Kurulumunuzu hızlandırmak için ek kaynaklar:

Selenium WebDriver C# Kullanarak IronPDF ile PDF Dosyası Oku: Görüntü 9 - Lisanslama

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez