2012-09-22 5 views
7

PDF 파일에 출력 내용을 저장하는 텍스트 편집 프로그램이 있습니다.iText, 유니 코드 문자 및 Java

또한 모든 텍스트를 다시 읽을 수있는 PDF 사전에 저장합니다. 문제는 내 언어의 문자가 č, ć, đ, ž, š 같은 것이 보통입니다 ...

내 프로그램 GUI에 이러한 문자를 쓸 때 괜찮습니다. (현재) 자바의 arial 글꼴을 사용하여).

저장하고 PDF를 열면 AdobeReader가 누락되어 đ, ž 및 š이 그대로 인쇄됩니다. 나는 here에서 다운로드 정의 (트루 타입) 폰트 (BookAntiqua을 사용하고 있습니다.

이 인코딩의 문제인가, 또는 (글꼴 자체가 đ, Z, š 문자를) 지원하지 않습니다?

또한, 프로그램에 PDF를 다시로드하면 누락 된 문자가 누락되고 đ, ¼, š가 ⎕ 기호 및 이와 유사한 것으로 바뀝니다 ... PDF 작성 방법에 문제가 있습니까? 아니면 다른 것이 있습니까?

결론은 5 개의 문자가 내 프로그램 GUI와 PDF 문서에 표시되고 PDF 사전에서 제대로 검색된다는 것입니다.

답변

3

같은 문제가있었습니다. 그 편지를 지원하는 글꼴을 변경하고 이름을 잊어 버렸습니다. 아마도 Arial 유니 코드입니까? - 필자는 그 글꼴을 pdf에 삽입 한 것보다 어떤 글꼴인지 실험 해 볼 필요가있다. 그것은 완벽했습니다. 내 이름은 그 이상한 문자 :

편집의 일부를 가지고 : 유용하게 할 수있는 또 다른 코드를, 그것을, 너무 필드를 설정하고 here하는 방법 샘플 here이있다.

+0

저는 글꼴을 PDF로 emmbed하는 방법을 알고 있습니다. 문제가 아닙니다. 사용하는 글꼴에 문제가있는 것 같습니다. 잠시 기다려 봤는데 ... BookAntiqua 또는 TimesNewRoman과 유사하고 유니 코드 문자도 지원하는 글꼴을 추천 해 주시겠습니까? –

+0

@IvanKarlovic 아니요, 이름을 잊어 버렸습니다. 6 년 전 같았습니다. 글꼴을 올바른 것으로 변경하고 pdf에 포함 시키면 문제가 해결되지만 Google에이를 적용해야합니다. http://en.wikipedia.org/wiki/Unicode_font –

+0

글꼴을 찾았지만 도움이되었지만 문제가 해결되지 않았습니다. PDF에서 읽은 텍스트는 여전히 해당 문자를 인쇄하지 않습니다. 난이 tryed : '공공 정적 문자열 unicodize (문자열 문자열) \t { \t \t하려면 string.replace ("C", "/ u0106"); \t \t string.replace ("ć", "/ u0107"); \t \t string.replace ("Č", "/ u010C"); \t \t string.replace ("č", "/ u010D"); \t \t string.replace ("Đ", "/ u0110"); \t \t string.replace ("đ", "/ u0111"); \t \t string.replace ("Š", "/ u0160"); \t \t string.replace ("š", "/ u0161"); \t \t string.replace ("Ž", "/ u017D"); \t \t 문자열입니다.replace ("ž", "/ u017E"); \t \t return string; \t \t} –