페이지 생성
페이지 생성
Aspose.PDF FOSS for .NET은 PDF 콘텐츠를 생성하기 위한 단락 기반 레이아웃 엔진을 제공합니다. 테이블, 플로팅 박스, 머리글/바닥글 및 스탬프를 사용하면 콘텐츠 스트림 연산자를 수동으로 구성하지 않고도 구조화된 페이지를 만들 수 있습니다.
단락 추가
Page.Paragraphs은 콘텐츠 요소를 추가하기 위한 진입점입니다.
using var doc = new Document();
var page = doc.Pages.Add();
page.Paragraphs.Add(new TextFragment("Hello, PDF!"));
doc.Save("hello.pdf");테이블
Table는 행, 셀, 열 너비, 테두리 및 텍스트 상태를 지원합니다.
var table = new Table();
table.ColumnWidths = "100 200 100";
var row = table.Rows.Add();
row.Cells.Add("Name");
row.Cells.Add("Description");
row.Cells.Add("Price");
page.Paragraphs.Add(table);셀 서식
Cells.Add은(는) 테두리, 패딩 및 중첩 콘텐츠를 구성할 수 있는 Cell을 반환합니다.
var cell = row.Cells.Add("Styled cell");
cell.Border = new BorderInfo(BorderSide.All, 0.5f);
cell.Margin = new MarginInfo(5, 5, 5, 5);플로팅 박스
FloatingBox 페이지의 절대 좌표에 콘텐츠를 배치합니다.
var box = new FloatingBox(200, 100);
box.Left = 72;
box.Top = 700;
box.Paragraphs.Add(new TextFragment("Positioned text"));
page.Paragraphs.Add(box);머리글 및 바닥글
HeaderFooter은 페이지 상단 또는 하단에 반복되는 콘텐츠를 추가합니다.
var header = HeaderFooter.FromText("Document Title");
header.ApplyAsHeader(page);
var footer = HeaderFooter.FromText("Page {0}");
footer.ApplyAsFooter(page);페이지 스탬프
PdfPageStamp는 한 PDF 페이지의 콘텐츠를 다른 페이지에 오버레이합니다.
var stamp = new PdfPageStamp("watermark.pdf");
stamp.Put(page);팁 및 모범 사례
Table.ColumnWidths을(를) 레이아웃을 제어하기 위한 점 값들의 공백 구분 문자열로 사용합니다.FloatingBox은(는) 절대 위치 지정에 유용합니다 —Table와 결합하여 구조화된 콘텐츠를 만듭니다.HeaderFooter.FromText은(는) 페이지 번호 자리표시자로{0}을(를) 지원합니다.Save을(를) 호출하기 전에 모든 단락을 추가하십시오 — 레이아웃 엔진은 순서대로 콘텐츠를 처리합니다.BorderInfo을(를) 사용하여 테이블, 셀 및 플로팅 박스에 테두리를 추가합니다.
일반적인 문제
| 문제 | 원인 | 해결 방법 |
|---|---|---|
| 테이블이 페이지를 넘침 | 한 페이지에 행이 너무 많음 | 라이브러리가 자동 페이지 구분을 수행합니다; 필요에 따라 여백을 조정하세요 |
| 헤더가 표시되지 않음 | ApplyAsHeader이 Save 이후에 호출됨 | 저장하기 전에 헤더를 적용하세요 |
| FloatingBox가 잘못된 위치에 있음 | 좌표가 단락 단위의 좌상단을 기준으로 측정됨 | 단위가 기대에 맞는지 확인하세요 |
자주 묻는 질문
다중 페이지 테이블을 만들 수 있나요?
예. 표가 사용 가능한 페이지 높이를 초과하면 자동으로 다음 페이지에 계속됩니다.
표 셀에 이미지를 추가하려면 어떻게 해야 하나요?
Image 단락을 만들고 이를 셀의 Paragraphs 컬렉션에 추가합니다.
배열에서 데이터를 테이블에 가져올 수 있나요?
예. Table.ImportArray를 사용하여 2차원 배열에서 테이블을 채우세요.
API 참조 요약
| Class / Method | Description |
|---|---|
Paragraphs | 페이지의 순서가 지정된 콘텐츠 요소 |
Paragraphs.Add | 단락 요소(텍스트, 표, 그래프 등)를 추가 |
Table | 행, 셀 및 열 너비가 있는 그리드 레이아웃 |
Table.ImportArray | 배열에서 표 채우기 |
Rows | 표의 행 컬렉션 |
Cells | 표 행의 셀 컬렉션 |
BorderInfo | 표, 셀 및 상자의 테두리 스타일링 |
FloatingBox | 절대 위치 지정 콘텐츠 컨테이너 |
HeaderFooter | 반복되는 머리글 또는 바닥글 콘텐츠 |
HeaderFooter.FromText | 텍스트 템플릿에서 머리글/바닥글 생성 |
PdfPageStamp | PDF 페이지를 스탬프로 오버레이 |