2012-05-02 5 views
2

청크 텍스트에서 개행 처리에 대해 혼란스러워합니다. 나는 선이 똑같은 수평 위치에서 시작되었다는 것을 기대하는 동안 다음 코드청크/문구 내에서의 개행 처리

Paragraph para = new Paragraph(); 
    para.add(new Chunk(" A")); 
    para.add(new Chunk("\n B")); 
    para.add(new Chunk("\n C")); 
    document.add(para); 

은 결과 PDF 문서의 첫 번째 라인은 약간 오른쪽으로 이동되는 3 개 라인의 단락을 추가 할 수 있습니다. 모든 문자 "A", "B", "C"앞에는 두 개의 공백 문자가옵니다. 내가 처음 청크도 줄 바꿈을 사용하는 경우

는 세 줄은 완벽하게 수평으로 출력 문서에서 정렬 :

Paragraph para = new Paragraph(); 
    para.add(new Chunk("\n A")); 
    para.add(new Chunk("\n B")); 
    para.add(new Chunk("\n C")); 
    document.add(para); 

그래서 질문 : 왜 청크 텍스트에 개행 문자의 존재 텍스트 자체의 수평 위치에 영향을 줍니까?

iText 버전은 5.2.1입니다.

+0

이 문제를 조사하는 다른 사람은 다음을 참조 할 수 있습니다. http://itext.2136553.n4.nabble.com/newline-handling-inside-chunk-phrase-td4655550.html iText의 일부 버전에서는 버그입니다. – searchengine27

+0

사실 ... 누구든지이 공식 버그가 어디에 나열되어 있는지 알고 있습니까? 또는 iText의 어떤 버전이 수정 되었습니까? – searchengine27

답변

0

기본적으로 iText는 각 Paragraph의 첫 줄에 들여 쓰기를 설정합니다. 원하는 것은이 들여 쓰기 공간을 0으로 설정하는 것입니다. Paragraph.setFirstLineIndent(float)에 대한 API를 참조하십시오.

+0

이 작동하지 않습니다. 또한, Paragraph 클래스의 소스 코드를 살펴보면 firstLineIndent의 기본값은 0입니다. –

+0

맞습니다. 잘못된 가정을했습니다. 버그, 또는 적어도 이상하고 문서화되지 않은 행동처럼 보입니다. –