import {PdfDocument} from "@ironsoftware/ironpdf";
(async () => {
const multi_page_html = `
<p> This is 1st Page</p>
<div style='page-break-after: always;'></div>
<p> This is 2nd Page</p>
<div style='page-break-after: always;'></div>
<p> This is 3rd Page</p>
<div style='page-break-after: always;'></div>
<p> This is 4th Page</p>
<div style='page-break-after: always;'></div>
<p> This is 5th Page</p>
<div style='page-break-after: always;'></div>
<p> This is 6th Page</p>
<div style='page-break-after: always;'></div>
<p> This is 7th Page</p>`;
// Create a PDF or Load an existing PDF using PdfDocument.fromFile
const pdf = await PdfDocument.fromHtml(multi_page_html);
// Create a header
const header = {
htmlFragment: "THIS IS HEADER {page} of {total-pages}",
};
// Get page count
const pageCount = await pdf.getPageCount();
// Create a Page Range 0 .. 7
const allPageIndexes = Array.from({ length: pageCount }, (_, index) => index);
// Example 1
// Apply header to even page index only. (page number will be odd number because index starts at 0 but page number starts at 1)
const evenPageIndexes = allPageIndexes.filter(number => number % 2 === 0);
await pdf.addHtmlHeader(header, evenPageIndexes);
await pdf.saveAs("EvenPages.pdf");
// Example 2
// Apply header to odd page index only. (page number will be even number because index starts at 0 but page number starts at 1)
const oddPageIndexes = allPageIndexes.filter(number => number % 2 !== 0);
await pdf.addHtmlHeader(header, oddPageIndexes);
await pdf.saveAs("OddPages.pdf");
// Example 3
// Apply header to the last page only.
const lastPageIndex = [pageCount - 1];
await pdf.addHtmlHeader(header, lastPageIndex);
await pdf.saveAs("LastPageOnly.pdf");
// Example 4
// Apply header to the first page only.
const firstPageIndex = [0];
await pdf.addHtmlHeader(header, firstPageIndex);
await pdf.saveAs("FirstPageOnly.pdf");
// Example 5
// Skip the first page.
const skipFirstPageIndexes5 = allPageIndexes.slice(1);
await pdf.addHtmlHeader(header, skipFirstPageIndexes5);
await pdf.saveAs("SkipFirstPage.pdf");
})();
특정 페이지에 머리글/바닥글 추가하기
IronPDF를 사용하면 새로 생성된 PDF 또는 기존 PDF 문서에 머리글과 바닥글을 간단하게 추가할 수 있습니다.
헤더를 추가하려면 addHtmlHeader 메서드를 사용하고, 푸터를 추가하려면 addHtmlFooter 메서드를 사용할 수 있습니다. 이러한 메서드는 다음 속성을 포함하는 객체를 필요로 합니다: dividerLine, dividerLineColor, htmlFragment, loadStylesAndCSSFromMainHtmlDocument, 및 maxHeight.
dividerLine : 머리글이나 바닥글 뒤에 구분선을 추가합니다.
dividerLineColor : 구분선 색상을 사용자 지정합니다.
htmlFragment : 헤더 또는 푸터에 사용할 HTML 문자열을 지정합니다.
loadStylesAndCSSFromMainHtmlDocument : 메인 HTML 문서에서 CSS를 로드할 수 있도록 합니다. 이 기능은 HTML을 PDF로 렌더링할 때만 작동합니다.
maxHeight : 헤더와 푸터의 최대 높이를 설정합니다.
다음은 IronPDF를 사용하여 머리글과 바닥글을 추가하는 방법을 보여주는 예시입니다.
그다음에는 머리글이나 바닥글이 적용될 페이지 번호인 두 번째 매개변수를 지정할 수 있습니다. 이 사양은 "all"이라는 문자열을 사용하여 단일 페이지, 여러 페이지 또는 모든 페이지에 대해 지정할 수 있습니다. 페이지 번호가 지정되지 않은 경우, 해당 메서드는 머리글 또는 바닥글을 모든 페이지에 적용합니다.