IRONSOFTWAREHOME

IronOCR ile C#'ta Sayfa Döndürme Tespit Etme

Curtis Chau
Curtis Chau
Updated: 29 Haziran 2026

IronOCR'un DetectPageOrientation metodu, PDF belgelerindeki ve görüntülerindeki sayfa dönme açısını (0°, 90°, 180°, 270°) otomatik olarak tanımlar. Her sayfa için programatik açı düzeltme sağlamak amacıyla doğru metin ayıklama için güven skoru ile birlikte RotationAngle özelliğini döndürür.

Sayfa döndürme algılama, bir belge sayfasının saat yönünde veya saat yönünün tersine 0, 90, 180 veya 270 derece döndürülüp döndürülmediğini belirler. Bu bilgi, sayfaların doğru bir biçimde görüntülenmesi veya işlenmesi için doğru yönlendirme ile sunulmasını ve metin çıkarımının doğru yapılmasını sağlar.

Hızlı Başlangıç: Sayfa Dönüş Açısını Belirlemek için DetectPageOrientation Kullan

Bu örnek, IronOCR'un DetectPageOrientation kullanarak bir PDF üzerinde RotationAngle özelliğine erişmeyi gösterir. Hızlı sayfa döndürme algılama ve düzeltme işlemi için minimal kod ile sağlar.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Bu kod parçacığını kopyalayın ve çalıştırın.

    var rotationResults = new IronOcr.OcrInput().LoadPdf("doc.pdf").DetectPageOrientation();
    Console.WriteLine(rotationResults.First().RotationAngle);
    C#
  3. 3Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronOCR kullanmaya başlayın
    arrow pointer

Belgelerimde Sayfa Döndürmeyi Nasıl Tespit Edebilirim?

Bir belge yüklendikten sonra, her sayfanın dönüşünü tanımlamak için DetectPageOrientation metodunu kullanın. Bu yöntem 0, 90, 180 ve 270 dereceyi destekler. Bu standart dönüşlerin ötesinde eğik görüntüler için, IronOCR'un görüntü düzeltme filtrelerinden gelen Deskew metodunu kullanın. Ardından görüntüyü algılanan açıyı kullanarak orijinal yönüne geri döndürün. Bir örnek PDF ile çalışalım.

Lütfen dikkate alın: Bu işlev, metin yoğun belgelerle en iyi şekilde çalışır.
using IronOcr;
using System;

using var input = new OcrInput();

// Load PDF document
input.LoadPdf("Clockwise90.pdf");

// Detect page rotation
var results = input.DetectPageOrientation();

// Ouput result
foreach(var result in results)
{
    Console.WriteLine(result.PageNumber);
    Console.WriteLine(result.HighConfidence);
    Console.WriteLine(result.RotationAngle);
}

Tespit Sonuçları Ne Anlama Geliyor?

  • PageNumber: Sayfanın sıfır bazlı indeksi.
  • RotationAngle: Derece cinsinden dönüş açısı. Yönlendirme düzeltmek için Rotate metodu ile kullanın.
  • HighConfidence: Uç durumlarla başa çıkmak için yönlendirme sonucundaki güven seviyesi.

Yüksek Güven Değerlerini Ne Zaman Kullanmalıyım?

HighConfidence özelliği, dönme algılamasının belirsiz olabileceği belirsiz veya düşük kaliteli belgeler için kritik öneme sahiptir. Seyrek metin, alışılmadık düzen veya kötü tarama kalitesine sahip belgeler genellikle daha düşük güven puanları döndürür. Bu durumlarda, tespit öncesinde ek doğrulama uygulayın veya görüntü kalitesi düzeltme filtrelerini kullanın.

Düşük güvene sahip sayfalar için yedekleme stratejileri veya manuel inceleme yapmak için bu değeri kullanın. Örneğin, güvenilirlik %80'in altına düşerse, sayfayı birden fazla yönde işleyin ve OCR sonuçlarını karşılaştırın veya manuel inceleme için işaretleyin. IronOCR'nin bilgisayarlı görü özellikleri, zorlayıcı belgelerdeki metin bölgelerini daha doğru bir şekilde tanımlamaya yardımcı olur.

Tespit Edilen Döndürmeyi Nasıl Düzeltirim?

Dönme açısı belirlendikten sonra, OCR'den önce yönlendirmeyi düzeltmek için Rotate metodunu OcrInput nesnesi üzerinde kullanın. Bu, en iyi metin tanıma doğruluğunu garanti eder. Kapsamlı yönlendirme düzeltmeleri için, görüntü yönlendirme düzeltme kılavuzuna bakın. İşte düzeltme süreci:

// Apply rotation correction based on detection results
if (result.RotationAngle != 0)
{
    input.Rotate(360 - result.RotationAngle); // Rotate back to 0°
}

Ek ön işleme gerektiren belgeler için, OCR işleminden önce kapsamlı belge hazırlama yöntemleri sunan OcrInput Sınıfını dikkate alın.

Tespit Hızı ve Doğruluğunu Nasıl Özelleştirebilirim?

DetectPageOrientation metodu, algılama detayını kontrol etmek için isteğe bağlı bir parametreyi kabul eder. OrientationDetectionMode enumları sağlayarak, gereksinimlerinize göre algılama hızını ve doğruluğunu ayarlayabilirsiniz.

İşte nasıl uygulayacağınız:

using IronOcr;
using System;

using var input = new OcrInput();

// Load PDF document
input.LoadPdf("Clockwise90.pdf");

// Detect page rotation with Fast mode
var results = input.DetectPageOrientation(OrientationDetectionMode.Fast);

// Ouput result
foreach(var result in results)
{
    Console.WriteLine(result.PageNumber);
    Console.WriteLine(result.HighConfidence);
    Console.WriteLine(result.RotationAngle);
}

Hangi Tespit Modunu Seçmeliyim?

OrientationDetectionMode için dört hız seçeneği mevcuttur:

Uyarı: Balanced, Detailed, and ExtremeDetailed require the IronOcr.Extensions.AdvancedScan package. Bu seçenekler Windows x86 ve Mac ARM'de mevcut değildir.
  • Hızlı: Daha düşük doğrulukla yüksek hızlı algılama. Taslaklar veya hızın kritik olduğu toplu işleme için idealdir. DetectPageOrientation için varsayılan. Binlerce sayfayı verimli bir şekilde işler ve çoklu iş parçacığı desteği sunar.
  • Balanced: Dengeli hız ve doğruluk. Üretim görevleri için uygundur. AdvancedScan uzantısı özelliklerini kullanarak performansı korurken daha iyi doğruluk sağlar.
  • Detaylı: Düşük hız, yüksek doğruluk. Karmaşık düzenler veya karışık içerikle belgeler gibi hassas veya kritik görevler için en iyisi. ExtremeDetailed: En yavaş hız, en yüksek doğruluk. Sadece Detaylı yetersiz olduğunda veya metin aşırı çarpık ve bozuk olduğunda kullanın.

Genel Performans Dikkate Alınması Gerekenler Nelerdir?

Modlar arasında performans önemli ölçüde farklılık göstermektedir. Hızlı mod, dakikada yüzlerce sayfa işler; ExtremeDetailed sayfa başına saniyeler sürebilir. Doğruluk gereksinimlerine ve zaman kısıtlamalarına göre seçin. En iyi performans için:

  1. Görüntü Çözünürlüğü: Daha yüksek DPI ayarları doğruluğu artırır ancak işlem süresini uzatır. 150-300 DPI genellikle döndürme tespiti için yeterlidir.
  2. Belge Türü: Metin yoğun belgeler, seyrek düzenlerden daha hızlı ve daha doğru işlenir. Algılamadan önce görüntü kalitesini optimize etmek için Filtre Sihirbazını kullanın.
  3. Kaynak Kullanımı: Büyük yığınları işlerken bellek kullanımını izleyin. İlerleme izlemeyi uygulayarak geri bildirim sağlayın ve sistem kaynaklarını yönetin.
  4. Paralel İşleme: Toplu işlemler için, birden fazla belgeyi aynı anda ve doğruluğu koruyarak işlemek amacıyla IronOCR'un çoklu iş parçacığını kullanın.

Farklı Yönlendirme İçeren Belgeleri Nasıl Ele Alırım?

Karışık yönlü belgeler için her sayfayı DetectPageOrientation ile ayrı ayrı işleyin, ardından OCR öncesi sayfa sayfa dönme düzeltmelerini uygulayın. Bu, başlangıç durumu ne olursa olsun doğru yönlendirilmesini sağlar. İşte etkili bir yaklaşım:

// Process each page with individual rotation detection
for (int i = 0; i < results.Count; i++)
{
    var pageResult = results[i];
    
    // Apply rotation only to pages that need it
    if (pageResult.RotationAngle != 0 && pageResult.HighConfidence)
    {
        // Correct the specific page
        input.Pages[i].Rotate(360 - pageResult.RotationAngle);
    }
}

Karmaşık senaryolar için, değişken kalitedeki taralı belgeler veya çok sayfalı TIFF'ler içeren durumlarda, en iyi sonuçlar için her sayfayı ayrı ayrı ön işleme tabi tutun.

Karma biçimli girdileri işlerken, OcrResult Sınıfı ayrıntılı sayfa bilgileri sağlayarak gelişmiş hata yönetimi ve kalite kontrol işlemlerine olanak tanır. Yüksek çıkışlı üretim ortamları için, hız ve doğruluğu dengelemek amacıyla Hızlı OCR Yapılandırma seçeneklerini keşfedin.

Hem metin hem de barkod içeren belgeleri işliyorsanız, tüm bilgileri tek bir seferde çıkarmak ve verimliliği artırmak için IronOCR'un Barkod ve QR Okuma ile OCR yeteneklerini kullanın.

Sıkça Sorulan Sorular

Sayfa döndürme algılama nedir ve neden önemlidir?

Sayfa döndürme algılama, bir belge sayfasının 0°, 90°, 180° veya 270° derecelerinde döndürülüp döndürülmediğini belirler. Bu, IronOCR için sayfaların doğru yönlendirme ile işlenmesini, PDF'lerden ve görüntülerden doğru metin çıkışı ve render yapılmasını sağlamak açısından hayati önem taşır.

C# dilinde bir PDF'deki sayfa döndürmeyi hızlıca nasıl algılarım?

IronOCR'un DetectPageOrientation yöntemini minimum kodla kullanın: var rotationResults = new IronOcr.OcrInput().LoadPdf("doc.pdf").DetectPageOrientation(); Bu, tüm sayfalar için döndürme bilgisini döndürür ve RotationAngle özelliği ile erişilebilir.

Hangi döndürme açıları algılanabilir?

IronOCR'un DetectPageOrientation yöntemi 0°, 90°, 180° ve 270° derecelik standart döndürmeleri algılayabilir. Bu standart döndürmelerin ötesinde eğrilmiş görüntüler için IronOCR'un görüntü düzeltme filtrelerinden Deskew yöntemini kullanın.

DetectPageOrientation ne tür bilgiler döndürür?

Yöntem, her sayfa için üç anahtar özellik döndürür: PageNumber (sıfır bazlı indeks), RotationAngle (IronOCR'un Rotate yöntemi ile kullanmak için derece cinsinden döndürme) ve HighConfidence (kenar durumlarını yönetmek için güven seviyesi).

HighConfidence özelliğini ne zaman kullanmalıyım?

Döndürme algılamanın belirsiz olabileceği belirsiz veya düşük kaliteli belgelerle uğraşırken HighConfidence özelliğini kullanın. IronOCR'de genellikle düşük güven puanları döndüren ve ek doğrulama veya görüntü kalite düzeltme filtreleri gerektiren seyrek metin, alışılmadık düzenler veya zayıf tarama kalitesine sahip belgeler için.

Bu özellik belirli belge türleriyle en iyi şekilde çalışır mı?

IronOCR'un DetectPageOrientation işlevi, metin yoğun belgelerle en iyi şekilde çalışır. Metin içeriği az olan veya karmaşık düzenlere sahip belgeler için algılamadan önce en iyi sonuçlar için görüntü kalite düzeltme filtreleri uygulamayı düşünün.

How do I limit memory usage when detecting orientation on large PDFs?

Pass a maxDegreeOfParallelism value to the DetectPageOrientation overload, for example input.DetectPageOrientation(OrientationDetectionMode.Fast, maxDegreeOfParallelism: 2). This caps how many pages are analysed at the same time, and because each concurrent page uses its own native engine, it directly caps peak memory. A non-positive value falls back to Environment.ProcessorCount.

Does adding the maxDegreeOfParallelism parameter break existing code?

No. The single-argument DetectPageOrientation overload is unchanged and remains fully supported, so existing code continues to work without modification. In Fast mode, orientation detection is also more memory efficient because it reuses one engine per worker thread rather than allocating one per page, and results are unchanged.

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

Başlamaya Hazır mısınız?

Nuget Downloads 6,236,385Sürüm:2026.9yeni yayınlandı

ÜCRETSİZİNİZİ EDİNİN

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

bullet_checkedKredi kartı veya hesap oluşturma gerektirmez
bullet_testÜretimde Test
filigran olmadan
bullet_calendar30 gün tamamen
işlevsel ürün
bullet_supportDeneme sırasında teknik
24/5 destek
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. "IronOCR" aratıp seçin
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.9

veya buradan Windows Yükleyicisini indirin.

  1. IronOCR'u ~/Libs gibi bir yere indirip sıkıştırmasını açın, Çözüm dizininizde
  2. Visual Studio Çözüm Gezgini'nde, Referanslar'a sağ tıklayın. Gözat'ı seçin, "IronOCR.dll"

$999'dan itibaren lisanslar

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
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