2009-12-11 3 views
4

원래 ASP.NET 1.1/iText.NET에서 작성된 이전 ASP.NET 프로젝트가 있고 .NET 2.0 및 iTextSharp 4.1.6.0으로 변환되었습니다. 그것은 많은 테이블을 사용합니다 (나는 pdfptable이 생성되었을 때 옵션이 아니라고 추측하고 있습니다.)이 코드를 최신 iTextSharp 5.0.0 dll을 사용하도록 변환하려고 시도하고 있으며 이제 테이블과 셀이 제거되었습니다. 나는 어쨌든 그것을 변환하기 시작했고 곧 테이블이 제공하는 많은 기능과 동등한 것이 없다는 것을 알게되었습니다. 주로 AddCell은 행, 열 설정을 허용하지 않습니다. 말 그대로이 코드에는 수천 개의 이러한 호출이 있으며 선형으로 행을 생성하도록 변경하는 확실성은 현재로서는 절망적으로 보입니다. 나는 누군가가 내가이 변환이 훨씬 더 간단하게 것이다 단지 완전히 누락 방향으로 날 지점 수있을 것이라고 기대했다 그 길을 착수하기 전에iTextSharp 테이블에서 pdfPTable로 변환

Dim myTable As New Table(NumReq + 2, IngDS.Tables(0).Rows.Count + 3) 
     myTable.SetWidths(Width) 
     myTable.Width = 100 
     myTable.Padding = 2 

myCell = New Cell(New Phrase("Some Text", New iTextSharp.text.Font(iTextSharp.text.Font.HELVETICA, 8, iTextSharp.text.Font.NORMAL, iTextSharp.text.Color.BLACK))) 
        myCell.SetHorizontalAlignment(Element.ALIGN_RIGHT) 
        myCell.GrayFill = 0.75 
        myTable.AddCell(myCell, Row, Col) 

myCell = New Cell(New Phrase("Other Text",New iTextSharp.text.Font(iTextSharp.text.Font.HELVETICA, 8, iTextSharp.text.Font.NORMAL, iTextSharp.text.Color.BLACK))) 
        myCell.GrayFill = 0.75 
        myTable.AddCell(myCell, Row, Col+1) 

: 현재 코드는 같이 보입니다.

아이디어가 있으십니까?

감사합니다.

+0

v4에서 v5로 이전하면서 비슷한 문제가 발생합니다. 내 특정 문제는 headerfooter 기능입니다. 필자는 이전 버전의 iTextSharp dll을 사용하여 새 코드를 되돌려 놓고 보고서의 큰 기반을 새로운 버전으로 변환하는 데 소요되는 시간을 절약 할 수 있습니다. –

+0

글쎄, 적어도 난 좌절감 만은 아니다. 난 그냥 이전 버전과의 호환성이 방금 최신 버전으로 문 밖으로 던져 졌다고 믿는 것이 어렵다고 느낍니다. 나는 반나절 정도의 보고서를 변환하려고 노력하고 오래된 버전으로 이전 코드로 되돌려 보았습니다. 단지 이전 버전을 변환하기에 너무 많은 작업이었습니다. –

답변

0

더 이상 AddCell 메서드에서 행과 열을 지정할 필요가 없습니다. AddCell 메서드를 호출하면 다음 셀에 추가하는 내용 만 추가됩니다. 따라서 AddCell을 호출하는 두 개의 행과 두 개의 열이있는 테이블이있는 경우 처음으로 행 1 열 1에 추가됩니다. 두 번째 호출은 행 1 열 2에 추가됩니다. 다음에 행을 추가합니다 행 2 열 1 등.

셀에 아무 것도 넣지 않고 건너 뛰려면 AddCell ("") 호출을 건너 뛰고 싶다면.