IronPDF를 사용하여 C#에서 PDF 책갈피 및 개요를 추가하는 방법

IronPDF를 사용하여 C#에서 PDF 책갈피 및 개요를 추가하는 방법

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF를 사용하면 C#에서 PDF 문서에 책갈피(개요)를 추가하여 목차와 유사한 탐색 도구를 만들 수 있습니다. 문서 사용성을 향상시키고 사용자가 주요 섹션으로 빠르게 이동할 수 있도록 단일 또는 다중 레이어 책갈피를 추가하세요. 이 기능은 Windows , LinuxmacOS 환경에서 완벽하게 작동합니다.

빠른 시작: C#을 사용하여 PDF에 책갈피 추가하기

IronPDF를 빠르게 시작하려면 PDF 문서에 책갈피를 추가해 보세요. 이 가이드에서는 기존 PDF 파일을 불러오고, 탐색을 위한 책갈피를 추가하고, 업데이트된 문서를 저장하는 방법을 설명합니다. C# 프로젝트에서 PDF 기능을 향상시키려는 개발자에게 적합합니다.

  1. NuGet 패키지 관리자를 사용하여 https://www.nuget.org/packages/IronPdf 설치하기

    PM > Install-Package IronPdf
  2. 다음 코드 조각을 복사하여 실행하세요.

    var pdf = new IronPdf.PdfDocument("example.pdf");
    pdf.Bookmarks.AddBookMarkAtEnd("Chapter 1", 1);
    pdf.SaveAs("bookmarked.pdf");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

    무료 체험판으로 오늘 프로젝트에서 IronPDF 사용 시작하기

    arrow pointer

C#에서 PDF 책갈피를 어떻게 사용하나요?

Adobe Acrobat Reader에서는 개요(책갈피라고도 함)가 왼쪽 사이드바에 표시되어 문서의 주요 섹션으로 편리하게 이동할 수 있습니다. 책갈피는 대화형 목차 역할을 하여 독자가 복잡한 문서를 효율적으로 탐색할 수 있도록 해줍니다.

IronPDF를 사용하면 PDF 문서를 가져와 기존 개요에 대해 추가, 순서 변경, 속성 편집 및 책갈피 삭제와 같은 다양한 작업을 수행할 수 있습니다. 이 기능을 사용하면 문서 관리에서 PDF 파일을 병합하거나 분할하는 것처럼 PDF 파일의 구성 및 구조를 완벽하게 제어할 수 있습니다.

모든 페이지 인덱스는 0부터 시작하는 인덱싱을 따릅니다.

단일 레이어 책갈피를 어떻게 추가하나요?

IronPDF에 책갈피를 추가하는 것은 간단합니다. AddBookmarkAtEnd 메소드를 사용하여 북마크 이름 및 관련 페이지 인덱스를 지정합니다. 이 기능은 머리글과 바닥글 추가 , 사용자 지정 여백 설정 등 다른 PDF 작업과 잘 통합되어 전문적인 문서를 만들 수 있습니다. 아래는 예시입니다.

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-single-layer-bookmark.cs
using IronPdf;

// Create a new PDF or edit an existing document.
PdfDocument pdf = PdfDocument.FromFile("existing.pdf");

// Add a bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfBookmark", 0);

// Add a sub-bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfSubBookmark", 1);

pdf.SaveAs("singleLayerBookmarks.pdf");
Imports IronPdf

' Create a new PDF or edit an existing document.
Private pdf As PdfDocument = PdfDocument.FromFile("existing.pdf")

' Add a bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfBookmark", 0)

' Add a sub-bookmark
pdf.Bookmarks.AddBookMarkAtEnd("NameOfSubBookmark", 1)

pdf.SaveAs("singleLayerBookmarks.pdf")
$vbLabelText   $csharpLabel

AddBookMarkAtEnd 메소드는 기존 북마크 목록 끝에 북마크를 추가합니다. 북마크 배치에 대한 더 많은 제어를 위해 목록의 맨 처음에 북마크를 삽입할 수 있는 AddBookMarkAtStart을 사용하세요. 각 북마크는 문서 내 정확한 탐색을 가능하게 하는 특정 페이지 인덱스를 참조합니다.

단일 레이어 책갈피 문서

다단계 북마크 계층 구조를 어떻게 만드나요?

IronPDF를 사용하면 트리 구조로 책갈피를 추가할 수 있는데, 이는 특히 대용량 PDF 문서에서 탐색 편의성을 유지하는 데 유용합니다. 이 기능은 다양한 날짜와 장소에서 수집된 방대한 양의 시험지, 판매 보고서 또는 영수증 기록을 하나의 PDF 문서에서 다룰 때 유용합니다. 데이터 수집을 위해 PDF 양식을 만드는 방식과 유사하게, 구조화된 책갈피는 복잡한 정보를 계층적으로 정리하는 데 도움이 됩니다.

AddBookMarkAtEnd 메소드는 IPdfBookMark 객체를 반환하여 자식 북마크를 추가할 수 있게 합니다. 예를 들어, '시험' 북마크에 자식 북마크를 추가하려면 Children.AddBookMarkAtStart("Date1", 0) 또는 Children.AddBookMarkAtEnd("Date1", 0)을 사용합니다. 이러한 중첩 구조는 문서의 논리적 흐름을 반영하는 계층적 구성을 만듭니다. 다음 코드는 이 개념을 보여줍니다.

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-multi-layer-bookmark.cs
using IronPdf;

// Load existing PDF document
PdfDocument pdf = PdfDocument.FromFile("examinationPaper.pdf");

// Assign IPdfBookMark object to a variable
var mainBookmark = pdf.Bookmarks.AddBookMarkAtEnd("Examination", 0);

// Add bookmark for days
var date1Bookmark = mainBookmark.Children.AddBookMarkAtStart("Date1", 1);

// Add bookmark for type of test
var paperBookmark = date1Bookmark.Children.AddBookMarkAtStart("Paper", 1);
paperBookmark.Children.AddBookMarkAtEnd("PersonA", 3);
paperBookmark.Children.AddBookMarkAtEnd("PersonB", 4);

// Add bookmark for days
var date2Bookmark = mainBookmark.Children.AddBookMarkAtEnd("Date2", 5);

// Add bookmark for type of test
var computerBookmark = date2Bookmark.Children.AddBookMarkAtStart("Computer", 5);
computerBookmark.Children.AddBookMarkAtEnd("PersonC", 6);
computerBookmark.Children.AddBookMarkAtEnd("PersonD", 7);

pdf.SaveAs("multiLayerBookmarks.pdf");
Imports IronPdf

' Load existing PDF document
Private pdf As PdfDocument = PdfDocument.FromFile("examinationPaper.pdf")

' Assign IPdfBookMark object to a variable
Private mainBookmark = pdf.Bookmarks.AddBookMarkAtEnd("Examination", 0)

' Add bookmark for days
Private date1Bookmark = mainBookmark.Children.AddBookMarkAtStart("Date1", 1)

' Add bookmark for type of test
Private paperBookmark = date1Bookmark.Children.AddBookMarkAtStart("Paper", 1)
paperBookmark.Children.AddBookMarkAtEnd("PersonA", 3)
paperBookmark.Children.AddBookMarkAtEnd("PersonB", 4)

' Add bookmark for days
Dim date2Bookmark = mainBookmark.Children.AddBookMarkAtEnd("Date2", 5)

' Add bookmark for type of test
Dim computerBookmark = date2Bookmark.Children.AddBookMarkAtStart("Computer", 5)
computerBookmark.Children.AddBookMarkAtEnd("PersonC", 6)
computerBookmark.Children.AddBookMarkAtEnd("PersonD", 7)

pdf.SaveAs("multiLayerBookmarks.pdf")
$vbLabelText   $csharpLabel

이러한 계층적 접근 방식은 세부적인 구성이 필요한 복잡한 문서를 다룰 때 특히 유용합니다. 중첩 구조 덕분에 사용자는 책갈피 섹션을 확장하거나 축소할 수 있어 수백 페이지에 달하는 문서에서도 직관적인 탐색이 가능합니다.

다중 레이어 책갈피 문서

HTML 제목에서 자동으로 북마크가 생성되게 하려면 어떻게 해야 하나요?

HTML을 PDF로 렌더링할 때, IronPDF는 문서의 제목 구조(h1-h6) 또는 커스텀 CSS 셀렉터에서 자동으로 계층 북마크 윤곽을 구축할 수 있습니다. 각 섹션마다 AddBookMarkAtEnd를 수동으로 호출할 필요가 없습니다.

RenderHtmlAsPdf 또는 RenderUrlAsPdf를 호출하기 전에 RenderingOptionsAutoBookmarksFromHeadings 속성을 사용하여 기능을 활성화하세요:

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-auto-from-headings.cs
using IronPdf;

var renderer = new ChromePdfRenderer();

// Master switch: auto-generate bookmarks from HTML headings (h1-h6) during rendering
renderer.RenderingOptions.AutoBookmarksFromHeadings = true;

var html = @"
<h1>Annual Report</h1>
<h2>Executive Summary</h2>
<p>Overview of the year.</p>
<h2>Financial Results</h2>
<h3>Revenue</h3>
<h3>Expenses</h3>
<h2>Outlook</h2>
<p>Looking forward.</p>";

var pdf = renderer.RenderHtmlAsPdf(html);

// pdf.Bookmarks is already populated with a hierarchical outline matching the heading structure
pdf.SaveAs("auto-bookmarked.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Master switch: auto-generate bookmarks from HTML headings (h1-h6) during rendering
renderer.RenderingOptions.AutoBookmarksFromHeadings = True

Dim html As String = "
<h1>Annual Report</h1>
<h2>Executive Summary</h2>
<p>Overview of the year.</p>
<h2>Financial Results</h2>
<h3>Revenue</h3>
<h3>Expenses</h3>
<h2>Outlook</h2>
<p>Looking forward.</p>"

Dim pdf = renderer.RenderHtmlAsPdf(html)

' pdf.Bookmarks is already populated with a hierarchical outline matching the heading structure
pdf.SaveAs("auto-bookmarked.pdf")
$vbLabelText   $csharpLabel

다음 속성은 북마크가 될 요소들을 제어합니다:

  • AutoBookmarksFromHeadings (bool, 기본값 false): 기능을 켭니다. 설정이 true일 때, IronPDF는 HTML 헤딩에서 자동으로 북마크 개요를 작성합니다.
  • AutoBookmarkMinHeadingLevel (int, 기본값 1): 시작할 가장 높은 수준의 헤딩입니다. 문서의 최상단인 h1을 포함하려면 1로 설정하세요.
  • AutoBookmarkMaxHeadingLevel (int, 기본값 6): 포함할 가장 깊은 헤딩 수준입니다. h4부터 h6까지 무시하고 h1, h2, h3만 북마크하려면 3로 설정하세요.
  • AutoBookmarkCssSelectors (string[], 기본값 null): 헤딩 태그 대신 사용자 정의 CSS 선택자를 사용합니다. 예: ".chapter-title" 또는 "[data-bookmark]".

제목 수준 및 CSS 셀렉터 커스터마이징

최상위 제목만 북마크를 제한하려면:

renderer.RenderingOptions.AutoBookmarksFromHeadings = true;
renderer.RenderingOptions.AutoBookmarkMaxHeadingLevel = 3;
renderer.RenderingOptions.AutoBookmarksFromHeadings = true;
renderer.RenderingOptions.AutoBookmarkMaxHeadingLevel = 3;
renderer.RenderingOptions.AutoBookmarksFromHeadings = True
renderer.RenderingOptions.AutoBookmarkMaxHeadingLevel = 3
$vbLabelText   $csharpLabel

제목 대신 커스텀 요소를 북마크하려면 CSS 셀렉터를 제공하세요:

renderer.RenderingOptions.AutoBookmarksFromHeadings = true;
renderer.RenderingOptions.AutoBookmarkCssSelectors = new[]
{
    "h1",
    ".chapter-title",
    "[data-bookmark]"
};
renderer.RenderingOptions.AutoBookmarksFromHeadings = true;
renderer.RenderingOptions.AutoBookmarkCssSelectors = new[]
{
    "h1",
    ".chapter-title",
    "[data-bookmark]"
};
renderer.RenderingOptions.AutoBookmarksFromHeadings = True
renderer.RenderingOptions.AutoBookmarkCssSelectors = New String() {
    "h1",
    ".chapter-title",
    "[data-bookmark]"
}
$vbLabelText   $csharpLabel

렌더링된 HTML 요소의 위치를 쿼리하는 방법

렌더링 후, IronPDF는 주어진 HTML 요소가 어느 페이지와 좌표에 위치했는지 정확히 보고할 수 있습니다. 이는 처음에 렌더링하고, 텍스트를 추출하며, 수동으로 페이지를 검색하던 이전의 해결 방법을 대체합니다.

랜더링 전에 RenderingOptions에서 ElementQuerySelectors을 설정한 후 결합된 PdfDocument에서 GetElementLocations을 호출하세요:

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-element-locations.cs
using IronPdf;
using System;

var renderer = new ChromePdfRenderer();

// Configure which elements should be queryable after rendering
renderer.RenderingOptions.ElementQuerySelectors = new[] { "h1", ".kpi-card" };

var html = @"
<h1>Q4 Dashboard</h1>
<div class='kpi-card'>Revenue: $1.2M</div>
<div class='kpi-card'>Growth: 18%</div>
<h1>Q3 Comparison</h1>
<div class='kpi-card'>Previous: $1.0M</div>";

var pdf = renderer.RenderHtmlAsPdf(html);

// Retrieve the rendered page location of each matched element
foreach (var location in pdf.GetElementLocations())
{
    Console.WriteLine($"'{location.Text}' on page {location.PageIndex + 1} " +
                      $"at ({location.Rectangle.X}, {location.Rectangle.Y})");
}

pdf.SaveAs("dashboard.pdf");
Imports IronPdf
Imports System

Dim renderer = New ChromePdfRenderer()

' Configure which elements should be queryable after rendering
renderer.RenderingOptions.ElementQuerySelectors = New String() {"h1", ".kpi-card"}

Dim html = "
<h1>Q4 Dashboard</h1>
<div class='kpi-card'>Revenue: $1.2M</div>
<div class='kpi-card'>Growth: 18%</div>
<h1>Q3 Comparison</h1>
<div class='kpi-card'>Previous: $1.0M</div>"

Dim pdf = renderer.RenderHtmlAsPdf(html)

' Retrieve the rendered page location of each matched element
For Each location In pdf.GetElementLocations()
    Console.WriteLine($"'{location.Text}' on page {location.PageIndex + 1} " &
                      $"at ({location.Rectangle.X}, {location.Rectangle.Y})")
Next

pdf.SaveAs("dashboard.pdf")
$vbLabelText   $csharpLabel

GetElementLocations은/는 일치하는 요소당 하나의 항목이 포함된 List<RenderedElementLocation>을 반환합니다:

재산 유형 그것이 당신에게 알려주는 것
Text string 요소 내부의 텍스트.
PageIndex int 요소가 종료된 페이지 (0부터 시작).
Rectangle IronSoftware.Drawing.Rectangle 페이지에서 요소의 위치, PDF 포인트로 (1/72 인치). 기원점은 왼쪽 하단입니다.
ElementIndex int 원래 HTML에서 요소의 순서 (0부터 시작).

호출이 처음 이루어질 때 결과가 캐시됩니다. 문서의 주석을 렌더링 후 수정하고 새 좌표가 필요하다면, 다음 GetElementLocations 호출 시 재스캔을 강제하려면 ResetElementLocationCache을/를 호출하십시오.

자동 북마크와 요소 위치 추적 결합

자동 북마크와 요소 위치 쿼리는 단일 렌더링에서 결합될 수 있습니다. 예를 들어, 페이지 위치를 추적하면서 h1/h2 제목에서 개요를 생성하는 방법 .invoice-total 요소:

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-auto-and-locations.cs
using IronPdf;
using System;

var renderer = new ChromePdfRenderer();

// Auto-generate bookmarks from top-level headings only
renderer.RenderingOptions.AutoBookmarksFromHeadings = true;
renderer.RenderingOptions.AutoBookmarkMaxHeadingLevel = 2;

// Also track the page location of invoice totals after rendering
renderer.RenderingOptions.ElementQuerySelectors = new[] { ".invoice-total" };

var html = @"
<h1>Invoice #2026-001</h1>
<h2>Line Items</h2>
<p>Services rendered for Q1.</p>
<p class='invoice-total'>Subtotal: $4,500.00</p>
<h1>Invoice #2026-002</h1>
<h2>Line Items</h2>
<p>Consulting hours for Q2.</p>
<p class='invoice-total'>Subtotal: $7,200.00</p>";

var pdf = renderer.RenderHtmlAsPdf(html);

// Bookmarks are populated automatically; locations can be queried after rendering
foreach (var location in pdf.GetElementLocations())
{
    Console.WriteLine($"{location.Text} appears on page {location.PageIndex + 1}");
}

pdf.SaveAs("invoices.pdf");
Imports IronPdf
Imports System

Dim renderer As New ChromePdfRenderer()

' Auto-generate bookmarks from top-level headings only
renderer.RenderingOptions.AutoBookmarksFromHeadings = True
renderer.RenderingOptions.AutoBookmarkMaxHeadingLevel = 2

' Also track the page location of invoice totals after rendering
renderer.RenderingOptions.ElementQuerySelectors = New String() {".invoice-total"}

Dim html As String = "
<h1>Invoice #2026-001</h1>
<h2>Line Items</h2>
<p>Services rendered for Q1.</p>
<p class='invoice-total'>Subtotal: $4,500.00</p>
<h1>Invoice #2026-002</h1>
<h2>Line Items</h2>
<p>Consulting hours for Q2.</p>
<p class='invoice-total'>Subtotal: $7,200.00</p>"

Dim pdf = renderer.RenderHtmlAsPdf(html)

' Bookmarks are populated automatically; locations can be queried after rendering
For Each location In pdf.GetElementLocations()
    Console.WriteLine($"{location.Text} appears on page {location.PageIndex + 1}")
Next

pdf.SaveAs("invoices.pdf")
$vbLabelText   $csharpLabel

기존 북마크를 불러와 탐색하려면 어떻게 해야 하나요?

IronPDF를 사용하면 PDF 문서에서 책갈피를 쉽게 검색하고 볼 수 있습니다. 북마크 트리를 탐색하는 것은 간단하며 다양한 섹션에 원활하게 접근할 수 있습니다. 이 기능은 편집이 필요한 기존 PDF 파일을 다루거나 책갈피로 표시된 부분 내에서 텍스트 검색 및 바꾸기 와 같은 기능을 구현할 때 필수적입니다. 위의 다층 책갈피 문서 예시를 생각해 보세요.

"검토" 북마크는 "Date1" 및 "Date2" 북마크를 가리키는 Children 속성을 갖습니다. "Date1" 북마크는 "Date2" 북마크를 가리키는 NextBookmark 속성을 갖습니다. 또한, "Date1" 북마크에 "Paper" 북마크를 포함하는 Children 속성이 있습니다. 이러한 상호 연결된 구조는 정교한 탐색 패턴과 문서 구성을 가능하게 합니다.

열린 PDF 문서의 모든 북마크를 검색하려면 GetAllBookmarks 메서드를 사용하세요. 이 기능은 모든 북마크의 포괄적인 목록을 제공하여 북마크 구조를 분석하고 활용할 수 있도록 해줍니다.

:path=/static-assets/pdf/content-code-examples/how-to/bookmarks-retrieve-bookmark.cs
using IronPdf;

// Load existing PDF document
PdfDocument pdf = PdfDocument.FromFile("multiLayerBookmarks.pdf");

// Retrieve bookmarks list
var mainBookmark = pdf.Bookmarks.GetAllBookmarks();
Imports IronPdf

' Load existing PDF document
Private pdf As PdfDocument = PdfDocument.FromFile("multiLayerBookmarks.pdf")

' Retrieve bookmarks list
Private mainBookmark = pdf.Bookmarks.GetAllBookmarks()
$vbLabelText   $csharpLabel

참고해 주세요북마크 이름이 같은 두 PDF 문서를 병합하면 북마크 목록이 깨질 수 있습니다.

경고페이지 색인에서 생성된 책갈피만 지원됩니다. 다른 PDF 요소에서의 북마크는 페이지 인덱스 값이 -1으로 설정됩니다.

HTML에서 PDF를 생성할 때 목차를 만드는 방법은 다음 문서 " IronPDF로 목차 만들기 "에서 확인하세요.

당신이 할 수 있는 다른 일들을 알아볼 준비가 되셨나요? PDF 정리하기 튜토리얼 페이지는 여기에서 확인하세요.

자주 묻는 질문

C#에서 PDF 문서에 책갈피를 추가하는 방법은 무엇인가요?

IronPDF를 사용하면 C#에서 PDF 문서에 책갈피를 쉽게 추가할 수 있습니다. AddBookmarkAtEnd 메서드를 사용하여 책갈피 이름과 페이지 인덱스를 지정하여 단일 레이어 책갈피를 추가할 수 있습니다. 예를 들어, pdf.Bookmarks.AddBookMarkAtEnd("Chapter 1", 1)과 같이 사용할 수 있습니다. 이렇게 하면 목차와 유사한 탐색 도구가 생성되어 사용자가 주요 섹션으로 빠르게 이동할 수 있습니다.

AddBookmarkAtEnd 메서드와 AddBookmarkAtStart 메서드의 차이점은 무엇인가요?

IronPDF는 책갈피를 배치하는 두 가지 방법을 제공합니다. `AddBookMarkAtEnd` 메서드는 기존 책갈피 목록의 끝에 책갈피를 추가하고, `AddBookMarkAtStart` 메서드는 목록의 시작 부분에 책갈피를 삽입합니다. 두 메서드 모두 문서 내에서 정확한 탐색을 위해 특정 페이지 인덱스를 참조합니다.

여러 단계로 구성된 계층형 북마크 구조를 만들 수 있나요?

네, IronPDF를 사용하면 트리 구조로 여러 계층의 책갈피 계층 구조를 만들 수 있습니다. 이는 장과 하위 장으로 구성된 상세한 목차처럼 중첩된 섹션이 있는 복잡한 문서를 정리하는 데 특히 유용합니다.

북마크 기능은 서로 다른 운영 체제에서 호환되나요?

IronPDF의 책갈피 기능은 Windows, Linux 및 macOS 환경에서 완벽하게 작동합니다. 운영 체제와 관계없이 PDF 책갈피를 추가, 편집 및 관리할 수 있으므로 다양한 플랫폼에서 일관된 기능을 보장합니다.

기존 PDF 책갈피에 대해 어떤 작업을 수행할 수 있나요?

IronPDF를 사용하면 기존 PDF 개요에 대해 새 책갈피 추가, 순서 변경, 책갈피 속성 편집, 원치 않는 책갈피 삭제 등 다양한 작업을 수행할 수 있습니다. 이를 통해 PDF 파일의 구성과 구조를 완벽하게 제어할 수 있습니다.

사용자가 PDF 파일을 열 때 책갈피는 어떻게 표시되나요?

Adobe Acrobat Reader 및 유사한 PDF 뷰어에서 IronPDF로 만든 책갈피는 왼쪽 사이드바에 윤곽선 형태로 나타납니다. 이는 대화형 목차 역할을 하여 사용자가 클릭하여 특정 섹션으로 이동함으로써 복잡한 문서를 효율적으로 탐색할 수 있도록 해줍니다.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 19,936,792 | 버전: 2026.7 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronPdf
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.