iTextSharp PDF: 중부 유럽 및 동부 유럽 문자 처리
이 가이드는 iTextSharp를 사용하여 생성된 PDF에서 중부 및 동부 유럽어 문자(예: "cz", "Ć")가 잘못 표시되는 일반적인 문제를 다룹니다.
문제: 이러한 문자가 포함된 PDF를 생성하면 렌더링 오류가 발생하는 경우가 많습니다.
근본 원인: 여러 요인으로 인해 이 문제가 발생할 수 있습니다.
해결책: 단계별 접근 방식
정확한 코드 페이지 선택: 특정 언어 및 문자 집합에 대해 올바른 코드 페이지를 사용하세요(예: 체코어의 경우 "Cp1250").
유니코드 이스케이프 시퀀스: 리터럴 특수 문자를 사용하는 대신 일관된 인코딩 처리를 위해 유니코드 이스케이프 시퀀스를 사용하세요.
글리프 지원 글꼴: 필수 글리프가 포함된 글꼴(예: Arial.ttf 또는 FreeSans.ttf)을 선택하세요.
글꼴 포함: 수신자의 시스템에서 글꼴을 사용할 수 없는 경우에도 올바른 표시를 보장하려면 글꼴이 PDF에 포함되어 있는지 확인하세요("embedded" 매개변수를 true
로 설정).
글꼴 인코딩 정의: 글리프 해석에 사용되는 인코딩을 명시적으로 정의합니다. 옵션에는 코드 페이지 지정 또는 가로 쓰기에 유니코드 사용(예: "Cp1250," BaseFont.IDENTITY_H
)이 포함됩니다.
코드 예(예시):
<code class="language-csharp">using iTextSharp.text; using iTextSharp.text.pdf; public class CEECharacterExample { public void CreatePdf(string destination) { Document document = new Document(); PdfWriter.GetInstance(document, new FileOutputStream(destination)); document.Open(); // Font with glyph support and code page Font fontCp1250 = FontFactory.GetFont("resources/fonts/FreeSans.ttf", "Cp1250", true); // Font with Unicode encoding Font fontUnicode = FontFactory.GetFont("resources/fonts/FreeSans.ttf", BaseFont.IDENTITY_H, true); // Paragraphs using different encodings Paragraph paragraphCp1250 = new Paragraph("Testing characters: \u010c, \u0106, \u0160, \u017d, \u0110", fontCp1250); Paragraph paragraphUnicode = new Paragraph("Testing characters: \u010c, \u0106, \u0160, \u017d, \u0110", fontUnicode); // Add paragraphs to the document document.Add(paragraphCp1250); document.Add(paragraphUnicode); document.Close(); } }</code>
이러한 단계를 구현하면 iTextSharp PDF의 문자 표시 문제를 해결해야 합니다. "resources/fonts/FreeSans.ttf"
을 글꼴 파일의 실제 경로로 바꿔야 합니다.
위 내용은 iTextSharp PDF에서 중부 및 동부 유럽 문자를 올바르게 표시하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!