2010-12-13 3 views

답변

2

iText Image는 Rectangle을 확장합니다. 새로운 이미지 구현을 할 수 있습니다.

템플릿에서 이미지를 만들 수 있으며 콘텐츠 바이트를 사용하여 템플릿을 만들 수 있습니다.

따라서 템플릿을 만들고 그 위에 사각형을 그리고 이미지를 만든 다음 원하는 셀에 이미지를 설정할 수 있습니다. 나는 직사각형 패턴과 비슷한 것을 한동안했다.

편집 : 전체 셀을 채우기 만하면 setBackgroundsetBorder 방법을 사용할 수 있습니다.

+0

많은 Jes에게 감사드립니다. 하지만 직사각형이나 정사각형을 만들어서 PdfPCell에 삽입하는 방법에 대한 예를 들어 주시겠습니까? 나는 테이블을 사용하여 양식을 만들고 내부에는성에 필드가있어 클라이언트가 채워야합니다. Jes를 도와주세요. 다시 한번 감사드립니다. – Lucas

+0

먼저 'cb.createTemplate() '메소드를 사용하여 템플릿을 만들어야합니다. 이제 템플릿에 원하는 모든 것을 그릴 수 있습니다 (템플릿은 콘텐츠 바이트이기 때문에). 일단 당신이 원하는 것을 그렸으면, 그것으로부터 itext 이미지를 만들 수 있습니다. 직사각형 그리기 방법은 http://www.java2s.com/Tutorial/Java/0419__PDF/Drawrectangle.htm을 참조하십시오. – Jes

0

PdfPCell에는 이미지를 설정하는 방법이 PdfPCell#setImage(Image) 있습니다. 그것을 사용할 수 없습니까?

+1

mmm 사용해 보겠습니다. 하지만 내가 원하는 것은 직사각형 모양을 이미지가 아닌 셀에 삽입하는 것입니다. Boris에게 감사드립니다. – Lucas

8

구글은 완전한 코드 예제에 대해 좋은 반응을 보이지 않았기 때문에 나는 이것을 수행하는 방법을 알아 내려고 많은 시간을 보냈다. (비록 Jes 설명이 꽤 명확 해 보인다하더라도 ...) 나는 더 많은 구직자가 완전한 코드 예제를 가질 수 있도록 예제를 게시 할 것입니다.

PdfPTable table = new PdfPTable(1); 
table.setTotalWidth(450); 

PdfTemplate template = cb.createTemplate(30, 30); 
template .setLineWidth(0.5f); 
template .rectangle(0, 0, 17f, 17f); 
template .stroke(); 

Image img = Image.getInstance(template);   
Chunk chunk = new Chunk(img, 1f, 1f); 

PdfPCell cell = new PdfPCell(); 
cell.addElement(chunk); 
table.addCell(cell); 
+0

그러나이 사각형은 스트로크에 베젤 효과가있는 사각형이 나타나는 곳에 영향을줍니다. 이것을 막을 수있는 방법이 있습니까? – Eterm

관련 문제