홈>
내가 여기에 코드를해야합니까 나는 오류 메시지를 받고 계속 : 문서가 어떤 페이지가 없습니다. 또한 테이블 너비와 구를 설정했지만 여전히 오류 메시지가 발생했습니다. 나는 지금 완전히 나왔지만 다른 경우를 검색하려고 시도했지만 테이블 너비를 설정할 때 문제를 해결하려고했습니다. 내가 놓친 것이 있습니까? 도움을 주시면 감사하겠습니다. 감사합니다!
private void printPDF(object sender, EventArgs e)
{
Document docu = new Document(PageSize.LETTER);
PdfWriter writer = PdfWriter.GetInstance(docu, new FileStream("C:\\Report\\" + empno + ".pdf", FileMode.Create));
Phrase phrase = null;
PdfPCell cell = null;
PdfPTable table = null;
BaseColor color = null;
docu.Open();
//Header Table
table = new PdfPTable(2);
table.TotalWidth = 500f;
table.LockedWidth = true;
table.SetWidths(new float[] { 0.3f, 0.7f });
//Company Name and Address
phrase = new Phrase();
phrase.Add(new Chunk("Company Name\n\n", FontFactory.GetFont("Arial", 16, iTextSharp.text.Font.BOLD, BaseColor.ORANGE)));
phrase.Add(new Chunk("Company Address", FontFactory.GetFont("Arial", 8, iTextSharp.text.Font.NORMAL, BaseColor.BLACK)));
cell = PhraseCell(phrase, PdfPCell.ALIGN_LEFT);
cell.VerticalAlignment = PdfPCell.ALIGN_TOP;
table.AddCell(cell);
docu.Add(table);
docu.Close();
}
private static PdfPCell PhraseCell(Phrase phrase, int align)
{
PdfPCell cell = new PdfPCell(phrase);
cell.BorderColor = BaseColor.WHITE;
cell.VerticalAlignment = PdfPCell.ALIGN_TOP;
cell.HorizontalAlignment = align;
cell.PaddingBottom = 2f;
cell.PaddingTop = 0f;
return cell;
}
- 답변 # 1
나는 간단히 살펴 있었다 당신이
table = new PdfPTable(2);
지정된대로 그런 말 것 행당 2 개의 셀이 표에 표시되지만첫 번째 행에 하나의 셀만 제공 한 것입니다. 하나의 셀만 제공 했으므로 테이블 정의가 완료되지 않았으므로 렌더링 할 행이 없습니다.이제 코드를 변경하고 2 개의 셀을 제공하면
이제 두 개의 셀이 있고 테이블 정의를 완료 할 수 있으므로 제대로 작동합니다. 3 개의 셀을 추가하려고하면 테이블 정의를 완료하지 않아 3 번째 셀이 렌더링되지 않습니다.
테이블에 셀을 추가 할 때 셀을 테이블에 가로로 추가하면 테이블이 열 정의에 따라 행으로 렌더링됩니다. 즉, 2 열 테이블에서 세포는
이제이 진술
와 동일합니다 :
생성자에 2 개의 열 너비를 지정하면 테이블에 2 개의 열 사양이 지정됩니다.
전체 예제로 아래 코드를 참조하십시오 :