당신은 등등 Paragraph
의, PdfPTable
들, 그리고 물체를 사용하여 문서를 만들 수 있습니다. 당신은 PdfContentByte
방법을 사용하여 사각형을 그립니다. 대신 getDirectContent()
의 getDirectContentUnder()
를 사용하여
writer.getDirectContentUnder(); // Java
또는
writer.DirectContentUnder; // C#
는, 사각형이 등등
Paragraph
의,
PdfPTable
의 아래에 그려하고있다 :이 같은
PdfWriter
에서
PdfContentByte
인스턴스를 얻을 수 있습니다.
주요 문제는 좌표를 추적하는 것입니다. 왼쪽 하단 모서리와 오른쪽 위 모서리의 좌표를 알아야합니다.
전체 페이지의 배경을 그리는 것은 아무리 생각해보십시오. 어제이 질문에 답했습니다 : How to draw border for whole pdf pages using iText library 5.5.2
대답에서 각 페이지에 OP 만 필요한 빨간색 테두리가 있기 때문에 사각형에 테두리 색을 정의했습니다. 테두리 대신 사각형의 채우기 색을 정의해야합니다.
어제의 질문에 대한 답변을 검토하면 페이지 이벤트의 개념을 알 수 있습니다. 또한 onParagraph()
및 onParagraphEnd()
과 같은 다른 페이지 이벤트 방법을 발견하게됩니다. 이 메서드는 각 단락의 시작과 각 단락의 끝의 Y 좌표를받습니다. 이 좌표를 사용하여 페이지 이벤트에 직사각형을 그릴 수 있습니다.
문제를 해결하려면 BaseColor
멤버 변수, 초기 Y 값을 추적하는 변수 등을 추가해야합니다. 몇 가지 프로그래밍이 필요하지만 내 대답에 설명 된 모든 메커니즘을 사용하여 요구 사항을 충족 할 수 있어야합니다.