Linux'ta PDF Formları Yüklerken Takılıp Kalan İşlemler

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

Linux üzerinde (örneğin, .NET 8 ile Debian) OcrInput.LoadPdf(), etkileşimli form alanları içeren belirli PDF dosyalarını yüklerken süresiz olarak askıda kalabilir. Çağrı asla geri döndürülemiyor ve işlem tıkanıyor.

Process hangs at OcrInput.LoadPdf() and never proceeds.

Bazı PDF'lerdeki etkileşimli form katmanı tetikleyicidir. Aynı dosya Windows'ta doğru bir şekilde yüklenir ve diğer form PDF'leri Linux'ta da doğru yüklenebilir, bu da sorunu düzensiz ve üretime girmeden önce yakalamayı zor hale getirir.

Çözüm

IronOCR'ye iletmeden önce PDF'yi düzleştirin. Düzleştirme, her form alanını statik sayfa içeriğine dönüştürerek, takılmaya neden olan etkileşimli katmanı kaldırır.

1. IronPDF ile PDF'yi Düzleştirin

Kaynak dosyayı yükleyin, düzleştirin ve statik bir kopya kaydedin:

using IronPdf;

var pdf = PdfDocument.FromFile("ocrpdfform.pdf");
pdf.Flatten();
pdf.SaveAs("flattened_ocrpdfform.pdf");
using IronPdf;

var pdf = PdfDocument.FromFile("ocrpdfform.pdf");
pdf.Flatten();
pdf.SaveAs("flattened_ocrpdfform.pdf");
Imports IronPdf

Dim pdf = PdfDocument.FromFile("ocrpdfform.pdf")
pdf.Flatten()
pdf.SaveAs("flattened_ocrpdfform.pdf")
$vbLabelText   $csharpLabel

Flatten() etkileşimli form alanlarını çıkarır ve geriye IronOCR'nin takılmadan açabileceği düz bir belge bırakır.

2. Düzleştirilmiş Dosyada OCR Çalıştırın

Düz kopyayı LoadPdf() noktasına yönlendirin, ardından her zamanki gibi okuyun:

using var ocrInput = new OcrInput();
ocrInput.LoadPdf("flattened_ocrpdfform.pdf"); // No longer stuck

var ocr = new IronTesseract();
var result = ocr.Read(ocrInput);
Console.WriteLine(result.Text);
using var ocrInput = new OcrInput();
ocrInput.LoadPdf("flattened_ocrpdfform.pdf"); // No longer stuck

var ocr = new IronTesseract();
var result = ocr.Read(ocrInput);
Console.WriteLine(result.Text);
Imports IronTesseract

Using ocrInput As New OcrInput()
    ocrInput.LoadPdf("flattened_ocrpdfform.pdf") ' No longer stuck

    Dim ocr As New IronTesseract()
    Dim result = ocr.Read(ocrInput)
    Console.WriteLine(result.Text)
End Using
$vbLabelText   $csharpLabel

Tutulmayı önlemenin ötesinde, düzleştirme platformlar arası tutarlı davranış sağlar, OCR'nin gerek duymadığı etkileşimli unsurları kaldırır ve daha hızlı işlem için dosya karmaşıklığını azaltır.

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

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 6,136,090 | Sürüm: 2026.7 yeni yayınlandı
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronOcr
örnek çalıştır görüntünüzün aranabilir metin haline gelmesini izleyin.