Linux에서 PDF 양식 로딩 시 프로세스 중지

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

Linux에서는 (예: .NET 8이 포함된 Debian) OcrInput.LoadPdf()이(가) 대화형 양식 필드가 포함된 특정 PDF 파일을 로드할 때 무한정 대기할 수 있습니다. 호출은 돌아오지 않고 프로세스가 멈춥니다.

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

일부 PDF의 대화형 폼 레이어가 원인입니다. Windows에서는 같은 파일이 제대로 로드되고, 다른 폼 PDF들도 Linux에서 잘 로드될 수 있어, 문제가 불규칙적이며 생산 환경에서 나타나기 전에는 발견하기 어렵습니다.

해결책

IronOCR에 전달하기 전에 PDF를 평면화하세요. 평면화는 모든 폼 필드를 정적 페이지 콘텐츠로 변환하여 중단을 유발하는 대화형 레이어를 제거합니다.

1. IronPDF로 PDF 평면화

소스 파일을 로드하고 평면화한 후 정적 복사본을 저장하십시오:

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()는 대화형 양식 필드를 제거하여 IronOCR가 멈추지 않고 열 수 있는 일반 문서로 남깁니다.

2. 평면화된 파일에서 OCR 실행

평평해진 복사본을 LoadPdf()에 지정한 다음, 평소대로 읽으십시오:

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

중단 예방 외에도 평면화는 플랫폼 간에 일관성 있는 동작을 제공하고, OCR이 필요하지 않은 대화식 요소를 제거하며, 파일 복잡성을 줄여 처리 속도를 높입니다.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 6,136,090 | 버전: 2026.7 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronOcr
샘플을 실행하세요 이미지가 검색 가능한 텍스트로 바뀌는 것을 확인해 보세요.