푸터 콘텐츠로 바로가기
IRONPDF 사용하기

ASP.NET Core PDF 뷰어를 만드는 방법

ASP.NET Core PDF 뷰어를 빌드하는 데 복잡한 JavaScript 라이브러리나 타사 브라우저 플러그인이 필요하지 않아야 합니다. 최신 웹 애플리케이션은 청구서, 보고서 또는 대화형 PDF 문서용으로 브라우저에서 직접 PDF 파일을 표시할 수 있는 신뢰할 수 있는 방법이 필요합니다. IronPDF는 브라우저의 기본 PDF 뷰어 기능을 활용하면서 서버 측에서 픽셀 정확한 PDF를 생성함으로써 이 프로세스를 단순화합니다.

이 기사에서는 ASP.NET Core 프로젝트 내에서 PDF 문서를 생성하고 보는 방법을 안내하며, PDF를 표시할 수 있는 PDF 뷰어 애플리케이션을 만드는 방법을 보여줍니다.

ASP.NET Core PDF 뷰어란 무엇인가?

ASP.NET Core PDF 뷰어는 사용자가 파일을 디바이스에 다운로드하지 않고 웹 애플리케이션 내에서 직접 PDF 문서를 볼 수 있게 해줍니다. JavaScript 기반 문서 뷰어 구성 요소와 씨름하는 대신, IronPDF는 신선하고 간단한 접근 방식을 취합니다. 서버 측에서 Chrome의 렌더링 엔진을 사용해 고품질 PDF 파일을 생성한 다음, 브라우저가 자동으로 PDF 파일을 인라인으로 표시하도록 올바른 헤더와 함께 제공합니다.

이 서버 측 접근 방식은 추가 플러그인, 예를 들어 Adobe Acrobat Reader와 같은 플러그인이 필요 없이 모든 브라우저에서 ASP.NET Core PDF 뷰어가 일관되게 작동함을 의미합니다. IronPDF는 수백만 대의 브라우저를 구동하는 동일한 Chrome 엔진을 사용하므로 PDF 문서를 의도한 대로 정확하게 렌더링하여 CSS 스타일, JavaScript 상호작용 및 복잡한 레이아웃을 보존합니다. ASP.NET Core PDF 통합은 HTML에서 PDF 변환부터 장기 지원의 안전한 문서 전달까지 모든 것을 처리합니다.

웹 애플리케이션에 IronPDF를 어떻게 설치합니까?

.NET Core 웹 애플리케이션에 IronPDF를 설치하는 데는 단 하나의 NuGet 패키지 관리자 명령만 필요합니다. Visual Studio에서 패키지 관리자 콘솔을 열고 다음을 실행하십시오:

Install-Package IronPdf

설치 후, 라이선스 키를 설정하기 위해 Program.cs 파일에서 IronPDF를 구성하십시오:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Start with a free trial key
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Start with a free trial key
Imports IronPdf

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY" ' Start with a free trial key
$vbLabelText   $csharpLabel

이 간단한 설정을 통해 IronPDF의 완전한 .NET Core PDF 뷰어 기능에 액세스할 수 있습니다. 이 라이브러리는 Chrome 엔진 배포를 자동으로 처리하며, ASP.NET Core 애플리케이션에서 PDF 파일을 생성하고 표시하기 위한 깔끔한 API를 제공합니다.

기본 PDF 문서 뷰어를 어떻게 만들 수 있습니까?

첫 번째 ASP.NET Core PDF 뷰어를 만드는 데는 코드가 거의 필요하지 않습니다. HTML 콘텐츠를 뷰어되는 PDF 문서로 변환하는 컨트롤러입니다:

using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewDocument()
    {
        var renderer = new ChromePdfRenderer();

        // Create PDF from HTML string
        var html = @"
            <html>
                <body style='font-family: Arial; padding: 20px;'>
                    <h1>Invoice #2024-001</h1>
                    <p>This PDF document is displayed directly in your browser.</p>
                    <table style='width: 100%; border-collapse: collapse;'>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
                        </tr>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
                        </tr>
                    </table>
                </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);

        // Return PDF for inline viewing
        Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf");
        return File(pdf.BinaryData, "application/pdf");
    }
}
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class PdfController : Controller
{
    public IActionResult ViewDocument()
    {
        var renderer = new ChromePdfRenderer();

        // Create PDF from HTML string
        var html = @"
            <html>
                <body style='font-family: Arial; padding: 20px;'>
                    <h1>Invoice #2024-001</h1>
                    <p>This PDF document is displayed directly in your browser.</p>
                    <table style='width: 100%; border-collapse: collapse;'>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
                        </tr>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
                        </tr>
                    </table>
                </body>
            </html>";
        var pdf = renderer.RenderHtmlAsPdf(html);

        // Return PDF for inline viewing
        Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf");
        return File(pdf.BinaryData, "application/pdf");
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc

Public Class PdfController
    Inherits Controller

    Public Function ViewDocument() As IActionResult
        Dim renderer = New ChromePdfRenderer()

        ' Create PDF from HTML string
        Dim html = "
            <html>
                <body style='font-family: Arial; padding: 20px;'>
                    <h1>Invoice #2024-001</h1>
                    <p>This PDF document is displayed directly in your browser.</p>
                    <table style='width: 100%; border-collapse: collapse;'>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Item</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Price</td>
                        </tr>
                        <tr>
                            <td style='border: 1px solid #ddd; padding: 8px;'>Service</td>
                            <td style='border: 1px solid #ddd; padding: 8px;'>$99.00</td>
                        </tr>
                    </table>
                </body>
            </html>"
        Dim pdf = renderer.RenderHtmlAsPdf(html)

        ' Return PDF for inline viewing
        Response.Headers.Add("Content-Disposition", "inline; filename=invoice.pdf")
        Return File(pdf.BinaryData, "application/pdf")
    End Function
End Class
$vbLabelText   $csharpLabel

ChromePdfRenderer 클래스는 변환 처리를 담당하여 HTML을 PDF 문서로 변환합니다. Content-Disposition 헤더를 "inline"으로 설정하면 브라우저가 PDF를 다운로드하는 대신 표시하도록 하여 사용자들이 웹 애플리케이션에서 바로 PDF 파일을 볼 수 있는 매끄러운 PDF 뷰어 경험을 만듭니다.

브라우저 뷰어에서 PDF 문서 출력

ASP.NET Core PDF 뷰어 생성 방법: 그림 1 - 브라우저의 PDF 뷰어에서 PDF

다양한 소스의 PDF 파일을 어떻게 표시합니까?

ASP.NET Core PDF 뷰어는 여러 패키지 소스에서 PDF 파일을 생성할 수 있습니다. URL을 뷰어 가능한 PDF로 변환하는 방법:

public IActionResult ViewFromUrl(string websiteUrl)
{
    var renderer = new ChromePdfRenderer();

    // Configure rendering options
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.WaitFor.RenderDelay = 2000; // Wait for content to load
    var pdf = renderer.RenderUrlAsPdf(websiteUrl);
    Response.Headers.Add("Content-Disposition", "inline");
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult ViewFromUrl(string websiteUrl)
{
    var renderer = new ChromePdfRenderer();

    // Configure rendering options
    renderer.RenderingOptions.EnableJavaScript = true;
    renderer.RenderingOptions.WaitFor.RenderDelay = 2000; // Wait for content to load
    var pdf = renderer.RenderUrlAsPdf(websiteUrl);
    Response.Headers.Add("Content-Disposition", "inline");
    return File(pdf.BinaryData, "application/pdf");
}
Imports IronPdf

Public Function ViewFromUrl(websiteUrl As String) As IActionResult
    Dim renderer As New ChromePdfRenderer()

    ' Configure rendering options
    renderer.RenderingOptions.EnableJavaScript = True
    renderer.RenderingOptions.WaitFor.RenderDelay = 2000 ' Wait for content to load
    Dim pdf = renderer.RenderUrlAsPdf(websiteUrl)
    Response.Headers.Add("Content-Disposition", "inline")
    Return File(pdf.BinaryData, "application/pdf")
End Function
$vbLabelText   $csharpLabel

출력

ASP.NET Core PDF 뷰어 생성 방법: 그림 2 - URL에서 렌더링된 PDF가 PDF 뷰어 프로그램에서 표시됨

서버에 저장된 기존 PDF 파일의 경우, 쉽게 로드하고 표시할 수 있습니다. 이 샘플 코드는 wwwroot 폴더에서 파일을 다루는 방법을 보여줍니다:

public IActionResult ViewExistingPdf(string fileName)
{
    // Load PDF from wwwroot folder
    var pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName);
    var pdf = PdfDocument.FromFile(pdfPath);   
    // Optional: Add modifications like watermarks
    pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>");
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult ViewExistingPdf(string fileName)
{
    // Load PDF from wwwroot folder
    var pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName);
    var pdf = PdfDocument.FromFile(pdfPath);   
    // Optional: Add modifications like watermarks
    pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>");
    return File(pdf.BinaryData, "application/pdf");
}
Public Function ViewExistingPdf(fileName As String) As IActionResult
    ' Load PDF from wwwroot folder
    Dim pdfPath = Path.Combine(_webHostEnvironment.WebRootPath, "documents", fileName)
    Dim pdf = PdfDocument.FromFile(pdfPath)
    ' Optional: Add modifications like watermarks
    pdf.ApplyWatermark("<h2 style='color: red; opacity: 0.5;'>CONFIDENTIAL</h2>")
    Return File(pdf.BinaryData, "application/pdf")
End Function
$vbLabelText   $csharpLabel

ASP.NET Core PDF 뷰어 생성 방법: 그림 3 - 기존 PDF 보기 (추가된 워터마크 포함)

이러한 유연성 덕분에 PDF 뷰어는 동적으로 생성된 콘텐츠와 wwwroot 폴더나 데이터베이스에 저장된 기존 PDF 문서를 모두 처리할 수 있습니다. 구성 요소는 ASP.NET Core 아키텍처에 원활하게 통합됩니다.

고급 PDF 뷰어 기능을 어떻게 추가할 수 있습니까?

IronPDF는 기본 PDF 뷰어를 고급 기능을 갖춘 강력한 문서 뷰어로 변환합니다. PDF 파일에 양식을 추가하면 사용자가 직접 작성할 수 있는 대화형 기능을 제공합니다:

public IActionResult CreateFormPdf()
{
    var html = @"
        <html>
            <body>
                <h2>Application Form</h2>
                <form>
                    Name: 
                    <br><br>
                    Email: 
                    <br><br>
                    <input type='checkbox'> I agree to terms
                </form>
            </body>
        </html>";
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CreatePdfFormsFromHtml = true; // Enable form fields
    var pdf = renderer.RenderHtmlAsPdf(html);
    return File(pdf.BinaryData, "application/pdf");
}
public IActionResult CreateFormPdf()
{
    var html = @"
        <html>
            <body>
                <h2>Application Form</h2>
                <form>
                    Name: 
                    <br><br>
                    Email: 
                    <br><br>
                    <input type='checkbox'> I agree to terms
                </form>
            </body>
        </html>";
    var renderer = new ChromePdfRenderer();
    renderer.RenderingOptions.CreatePdfFormsFromHtml = true; // Enable form fields
    var pdf = renderer.RenderHtmlAsPdf(html);
    return File(pdf.BinaryData, "application/pdf");
}
Public Function CreateFormPdf() As IActionResult
    Dim html As String = "
        <html>
            <body>
                <h2>Application Form</h2>
                <form>
                    Name: 
                    <br><br>
                    Email: 
                    <br><br>
                    <input type='checkbox'> I agree to terms
                </form>
            </body>
        </html>"
    Dim renderer As New ChromePdfRenderer()
    renderer.RenderingOptions.CreatePdfFormsFromHtml = True ' Enable form fields
    Dim pdf = renderer.RenderHtmlAsPdf(html)
    Return File(pdf.BinaryData, "application/pdf")
End Function
$vbLabelText   $csharpLabel

작성 가능한 양식과 함께 출력

ASP.NET Core PDF 뷰어 생성 방법: 그림 4

사용자가 브라우저에서 이 PDF를 열 때, 외부 도구 없이 직접 양식을 작성할 수 있습니다. 머리글, 바닥글, 페이지 번호 또는 전자 서명을 추가하여 PDF 파일을 편집할 수도 있습니다. 태그 헬퍼 접근 방식은 이러한 기능을 쉽게 추가할 수 있게 해줍니다:

// Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
    MaxHeight = 25
};
// Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
    MaxHeight = 25
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
    MaxHeight = 25
};
Imports System

' Add headers and page numbers
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align: center;'>Company Report</div>",
    .MaxHeight = 25
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align: center;'>Page {page} of {total-pages}</div>",
    .MaxHeight = 25
}
$vbLabelText   $csharpLabel

이러한 기능은 ASP.NET PDF 뷰어를 단순한 표시부터 복잡한 편집 작업까지 지원하는 포괄적인 문서 관리 솔루션으로 변모시킵니다. 여기에는 텍스트 선택 및 인쇄 기능도 포함됩니다. Excel, Word, DOCX 파일 및 PowerPoint와 같은 다른 형식과도 IronPDF의 변환 기능을 통해 작업할 수 있습니다.

결론

IronPDF를 사용하여 ASP.NET Core PDF 뷰어를 생성하면 JavaScript 기반 솔루션의 복잡성을 제거하면서 전문급 PDF 문서 처리를 제공합니다. 브라우저의 기본 기능과 Chrome의 렌더링 엔진을 활용하여, 몇 줄의 코드만으로 PDF 파일을 생성하고 표시하며 관리할 수 있습니다—기본 구성이나 복잡한 설정이 필요하지 않습니다.

서버 측 생성과 브라우저 기반 보기의 결합은 웹 애플리케이션에 완벽한 지원, 성능 및 사용자 경험의 균형을 제공합니다. PDF 파일을 표시하거나, 양식을 처리하거나, 기존 문서를 편집하거나, PDF를 인쇄해야 할 때 IronPDF의 간단한 API는 구현을 용이하게 합니다. 이 라이브러리는 최신 .NET Framework 및 Windows 환경을 지원하기 위해 자주 업데이트됩니다.

ASP.NET Core 프로젝트에서 자신만의 PDF 뷰어를 구축할 준비가 되었나요? 무료 체험판으로 시작해서 적합한 플랜을 찾으세요. 시작하는 데 도움이 필요하십니까? 이 자세한 튜토리얼을 확인하거나 더 많은 예제를 보려면 전체 문서를 탐색하세요.

자주 묻는 질문

ASP.NET Core PDF 뷰어의 목적은 무엇인가요?

ASP.NET Core PDF 뷰어를 사용하면 PDF 파일을 브라우저에 직접 보여줄 수 있어 사용자들이 송장, 보고서 또는 상호작용형 PDF 등을 외부 플러그인 없이 쉽게 열람할 수 있습니다.

IronPDF는 ASP.NET Core에서 PDF 뷰어 생성을 어떻게 간소화할 수 있을까요?

IronPDF는 브라우저의 내장 PDF 뷰어 기능을 활용하고 서버 측에서 픽셀 완벽한 PDFs를 생성하여 복잡한 JavaScript 라이브러리나 서드파티 플러그인이 필요 없도록 함으로써 과정을 단순화합니다.

IronPDF는 상호작용형 PDF 문서를 처리할 수 있습니까?

네, IronPDF는 상호작용형 PDF 문서를 관리할 수 있으며, 사용자는 브라우저 내에서 양식을 작성하거나 PDF 내용을 직접 상호작용할 수 있습니다.

웹 애플리케이션에서 PDF를 표시하기 위해 IronPDF를 사용하는 것의 이점은 무엇인가요?

IronPDF는 웹 애플리케이션에서 PDF를 표시하는 신뢰적이고 효율적인 방법을 제공하며, 서버 측 PDF 생성과 ASP.NET Core 애플리케이션과의 원활한 통합 같은 기능을 제공합니다.

IronPDF와 함께 서드파티 브라우저 플러그인을 사용할 필요가 있습니까?

아니요, IronPDF는 브라우저의 내장 PDF 뷰어 기능을 사용하므로 PDF 파일을 표시하기 위해 서드파티 브라우저 플러그인이 필요하지 않습니다.

ASP.NET Core PDF 뷰어를 사용하여 어떤 유형의 PDF 문서를 표시할 수 있습니까?

ASP.NET Core PDF 뷰어는 브라우저에서 직접 송장, 보고서 및 상호작용 양식을 포함한 다양한 유형의 PDF 문서를 표시할 수 있습니다.

IronPDF는 서버 측 PDF 생성을 지원합니까?

네, IronPDF는 서버 측 PDF 생성을 지원하여 문서가 브라우저에 표시되기 전에 정확하고 효율적으로 렌더링되도록 보장합니다.

IronPDF는 픽셀 완벽한 PDF 렌더링을 어떻게 보장합니까?

IronPDF는 서버 측에서 생성된 문서의 외관을 충실히 재현하기 위해 고급 알고리즘과 기법을 사용하여 픽셀 완벽한 PDF 렌더링을 보장합니다.

IronPDF와 함께 ASP.NET Core PDF 뷰어를 구축하는 데 사용되는 프로그래밍 언어는 무엇입니까?

ASP.NET Core PDF 뷰어는 C# 및 ASP.NET Core 프레임워크를 사용하여 구축되며, IronPDF를 활용하여 PDF 처리 및 디스플레이를 관리합니다.

커티스 차우
기술 문서 작성자

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

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

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해