2016-08-30 3 views
0

다음 C# 코드에서 페이지 너비를 확인하여 페이지의 전체 너비 (여백 빼기)에 3 열의 표를 늘릴 수 있습니다. 처음에는 각 테이블 열의 너비를 페이지 너비의 1/3로 설정해야한다고 생각했습니다. 단, I는 코드 section.PageSetup.PageWidth, section.PageSetup.LeftMarginsection.PageSetup.RightMargin 아래 I가 PageFormat.A4 페이지 포맷 Orientation.Portrait의 방향을 설정하는 것이 적절 section.PageSetup.PageWidth의 값을 설정 한 것 것으로 가정 0PDFsharp/MigraDoc - 왜 section.PageSetup.PageWidth = 0입니까?

Section section = document.AddSection(); 
    section.PageSetup.PageFormat = PageFormat.A4; 
    section.PageSetup.Orientation = Orientation.Portrait; 

    int sectionWidth = (int)Math.Ceiling(section.PageSetup.PageWidth - 
          section.PageSetup.LeftMargin - 
          section.PageSetup.RightMargin); 

    int columnWidth = (int)Math.Ceiling(sectionWidth/3); 

의 값을 반환하는 것으로 또한 마진 값을 일부 기본값으로 설정하십시오. 누군가 내가 잘못하고있는 것을 말해 줄 수 있습니까? 어제 MigraDoc을 사용하기 시작했습니다. 많은 감사합니다.

+1

이 당신을 도울 수 있습니다 http://stackoverflow.com/questions/15966672/pdfsharp-page-size-and-set-margin-issue-c-sharp합니다 (표시된 대답은 포함 된 코드가 migradoc라고 말함). –

+0

스티브 감사합니다. 네, 도움이됩니다. 나는 이것을 사용할 수 있음을 배웠다.'PdfSharp.Drawing.XSize size = PdfSharp.PageSizeConverter.ToSize (PdfSharp.PageSize.A4)'는 여백을 포함한 전체 페이지의 너비를 얻는다. 이제 페이지의 "사용 가능한 너비"를 얻기 위해 기본 여백을 뺄 수있는 방법을 찾아야합니다. – user2430797

답변

2

document.DefaultPageSetup을 사용하여 기본 여백을 쿼리 할 수 ​​있습니다.

MigraDoc은 .NET 1.1의 시대에 구현 된 자체 제작 nullable 값을 사용하고 설정되지 않은 값은 실제로 사용될 기본값이 아니라 0을 반환합니다.

은 참조 :
https://stackoverflow.com/a/22679890/1015447