iTextSharp를 사용하여 영어가 아닌 PDF 콘텐츠 읽기
C#에서 iTextSharp를 사용하여 PDF 문서에서 텍스트를 추출할 때 콘텐츠가 영어가 아닌 언어(예: 페르시아어 또는 아랍어)로 되어 있으면 사용자에게 문제가 발생할 수 있습니다. 내장된 인코딩 방법이 이러한 문자 집합을 처리할 수 없기 때문에 텍스트가 깨질 수 있습니다.
이 문제를 해결하려면 PDF에서 가져온 텍스트에 불필요한 인코딩 변환을 수행하지 마십시오. iTextSharp에서 PdfTextExtractor.GetTextFromPage()
메서드는 PDF 페이지에서 원시 텍스트를 추출합니다. 유니코드로의 변환은 나중에 통제된 방식으로 처리되어야 합니다.
제공된 코드 조각은 Encoding.UTF8
을 사용하여 텍스트를 다시 인코딩하려고 시도하는데 이는 잘못된 접근 방식입니다. 다음의 단순화된 코드 조각은 올바른 접근 방식을 보여줍니다.
<code class="language-csharp">public string ReadPdfFileWithoutEncoding(string fileName) { StringBuilder text = new StringBuilder(); if (File.Exists(fileName)) { PdfReader pdfReader = new PdfReader(fileName); for (int page = 1; page <= pdfReader.NumberOfPages; page++) { text.Append(PdfTextExtractor.GetTextFromPage(pdfReader, page)); } pdfReader.Close(); } return text.ToString(); }</code>
애플리케이션이 최신 버전의 iTextSharp를 사용하고 있는지 확인하는 것이 중요합니다. 이전 버전에서는 영어가 아닌 텍스트를 처리하는 데 제한이 있을 수 있습니다. 또한 추출된 텍스트를 표시하는 애플리케이션은 유니코드 문자를 지원해야 합니다.
위 내용은 잘못된 출력 없이 C#에서 iTextSharp를 사용하여 PDF에서 영어가 아닌 텍스트를 어떻게 추출할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!