2013-11-27 6 views
3

itextsharp를 사용하고 왼쪽에서 오른쪽으로 100 % 너비의 점선 줄을 그릴 필요가 있지만 어떻게해야할지 모릅니다. 의사는 항상 여백을 남겨 둡니다. enter image description hereitextsharp 전체 줄 바꿈을 추가하는 방법

var pageSize = PageSize.A4; 

     if (_pdfSettings.LetterPageSizeEnabled) 
     { 
      pageSize = PageSize.LETTER; 
     } 


     var doc = new Document(pageSize); 
     PdfWriter.GetInstance(doc, stream); 
     doc.Open(); 

     //fonts 

     var titleFont = GetFont(); 
     titleFont.SetStyle(Font.BOLD); 
     titleFont.Color = BaseColor.BLACK; 
     titleFont.Size = 16; 

     var largeFont = GetFont(); 
     largeFont.SetStyle(Font.BOLD); 
     largeFont.Color = BaseColor.BLACK; 
     largeFont.Size = 18; 

     int ordCount = orders.Count; 
     int ordNum = 0; 

     foreach (var order in orders) 
     { 

      var addressTable = new PdfPTable(3); 
      addressTable.WidthPercentage = 100f; 
      addressTable.SetWidths(new[] { 25, 37, 37 }); 


      // sender address 

      cell = new PdfPCell(); 
      //cell.Border = Rectangle.NO_BORDER; 
      cell.AddElement(new Paragraph("Người Gửi", titleFont)); 
      cell.AddElement(new Paragraph(_localizationService.GetResource("admin.orders.pdfinvoice.sender", lang.Id), smallFont)); 
      cell.AddElement(new Paragraph(_localizationService.GetResource("admin.orders.pdfinvoice.senderaddress", lang.Id), smallFont)); 
      cell.AddElement(new Paragraph(_localizationService.GetResource("PDFInvoice.Hotline", lang.Id), smallFont)); 
      cell.AddElement(new Paragraph("TAKARA.VN", largeFont)); 

      addressTable.AddCell(cell); 

      ...... 
      Chunk linebreak = new Chunk(new DottedLineSeparator()); 
       doc.Add(linebreak); 

       doc.Add(new Paragraph("")); 
      .... 
} 

답변

0

는 예를 FullDottedLine에서 봐 주시기 바랍니다 도와주세요.

기본적으로 폭 비율이 100 % 인 DottedLineSeparator을 만듭니다. 이 100 %는 전체 이용가 폭 이고 페이지의 여백은입니다. 선이 사용 가능한 너비를 초과하게하려면 백분율이 100 % 이상이어야합니다.

이 예에서는 기본 페이지 크기 (A4)와 기본 여백 (36)이 사용됩니다. 즉, 페이지 너비는 595 사용자 단위이고 사용 가능한 너비는 595 - (2 x 36) 사용자 단위와 같습니다. 페이지의 전체 너비를 확장하는 데 필요한 백분율은 100 x (595/523)와 같습니다.

결과 PDF 파일 full_dotted_line.pdf을 살펴보면 이제 선이 여백을 통과하는 것을 볼 수 있습니다.

+0

감사합니다. 그러나 어쨌든 .net에 대한 itextsharp에는 setPercentage 메소드가 없습니다. –

+0

어떤 버전을 사용하고 있습니까? –

+0

5.4.4를 사용하고 있습니다 https://www.nuget.org/packages/itextsharp/ –

관련 문제