Zawieszone procesy ładujące formularze PDF na Linux

Curtis Chau
Curtis Chau
Updated: 29 czerwca 2026

Na Linux (na przykład Debian z .NET 8), OcrInput.LoadPdf() może zawiesić się bez końca podczas ładowania niektórych plików PDF, które zawierają interaktywne pola formularzy. Żądanie nigdy nie zwraca odpowiedzi i proces staje.

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

Warstwa interaktywnego formularza w niektórych PDF jest wyzwalaczem. Plik ten samodzielnie ładowany jest poprawnie na Windows, a inne formularze PDF mogą również zostać załadowane poprawnie na Linux, co sprawia, że problem jest niekonsekwentny i trudny do uchwycenia, zanim pojawi się w produkcji.

Rozwiązanie

Spłasz PDF przed przekazaniem go do IronOCR. Spłaszczenie konwertuje każde pole formularza do statycznej zawartości strony, usuwając interaktywną warstwę odpowiedzialną za wieszanie.

1. Spłaszcz PDF za pomocą IronPDF

Załaduj plik źródłowy, spłaszcz go i zapisz statyczną kopię:

using IronPdf;

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

Flatten() usuwna interaktywne pola formularzy, pozostawiając pusty dokument, który IronOCR może otworzyć bez zawieszania się.

2. Uruchom OCR na spłaszczonym pliku

Skieruj LoadPdf() na spłaszczoną kopię, a następnie odczytaj jak zwykle:

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

Oprócz zapobiegania zawieszaniu, spłaszczenie zapewnia spójne zachowanie na różnych platformach, usuwa interaktywne elementy, których OCR nie potrzebuje, i redukuje złożoność pliku, przyspieszając jego przetwarzanie.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 6,357,159Wersja:2026.11właśnie wydany