저는 레이어를 사용하여 사용자가 PDF에 텍스트를 삽입 할 수있는 앱을 제작하고 있습니다.Swing과 iText 글꼴 렌더링의 차이점
PDF 페이지의 텍스트 위치는 JPanel 내부에서 ICEPdf을 사용하여 PDF를 렌더링하는 app를 사용하여 설정할 수 있습니다. 레이어의 위치와 크기를 선택한 후 앱에서 iText (버전 5.3.2)을 사용하여 PDF로 렌더링합니다.
내가 직면 한 문제는 스윙의 글꼴 렌더링이 PDF의 최종 결과와 현저하게 다릅니다.
스윙과 텍스트 렌더링 :
protected void paintComponent(Graphics g){
//for each line...
g.drawString(text, b0, b1);
//b0 and b1 are computed from the selected bounding box for the text
}
나는이있다 :
을 여기 같은 경계 상자 내부의 헬 베티 일반 글꼴을 사용하여 일부 스크린 샷, 모두iText로 텍스트 렌더링 :
5,678,418,664,나는이 있습니다
그래서 질문입니다 : 스윙과 iText를 정확히 동일한 방식으로 글꼴을 렌더링하기 위해 무엇을 할 수 있는가? Swing 또는 iText를 조정할 수 있으므로 어떤 코드가 수정 되더라도 사용자를 위해 WYSIWYG의 경험이 필요합니다.
다른 글꼴 및 유형으로 시도했지만 여전히 차이점이 있습니다. 몇 가지 구성이 누락 된 것 같습니다.
감사합니다.
어떤 글꼴을 사용합니까? 글꼴을 PDF에 포함 할 수 있습니다. 또한 문자 쌍의 커닝을 확인하고 양쪽에서 사용자 정의 할 수 있습니다. – StanislavL
양쪽에 Helvetica plain을 사용하고 있습니다. Helvetica는 핵심 글꼴 중 하나이므로 가져올 필요가 없습니다. 커닝이 문제 중 하나 일 수 있습니다. 스윙에서 어떻게 바꾸나요? –
itext의 fontmapper를 사용하고 있습니까? 글꼴을 포함하고 있습니까? – djeikyb