IronPDF 사용하여 C#으로 PDF를 선형화하는 방법

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

선형화된 PDF는 다운로드 중에 첫 페이지를 즉시 표시할 수 있어 대용량 문서의 사용자 경험을 크게 향상시킵니다. IronPDF는 C#에서 문서를 웹에서 빠르게 볼 수 있도록 최적화하는 간단한 메서드를 제공합니다.

선형화된 PDF는 "빠른 웹 보기" 또는 "웹 최적화 PDF"라고도 하며, 인터넷 스트리밍에 맞게 구조가 재구성된 PDF입니다. 이를 통해 호환되는 뷰어는 전체 파일 다운로드가 완료되기 훨씬 전에 문서의 첫 페이지를 거의 즉시 표시할 수 있습니다.

임무 수행에 매우 중요하거나 시간에 민감한 애플리케이션에서 이 기능은 특히 유용합니다. 이 기능은 특히 속도가 느리거나 모바일 네트워크에서 대용량 문서를 로드할 때 발생하는 답답한 로딩 시간을 없애주어 사용자가 콘텐츠와 즉시 상호 작용할 수 있도록 합니다. 이는 의사결정을 신속하게 내릴 수 있도록 도와주고 업무 환경에서 생산성을 향상시킵니다. IronPDF의 성능 최적화 기능과 결합하면 탁월한 문서 열람 경험을 제공합니다.

이 사용 설명서에서는 IronPDF 개발자에게 제공하는 문서 선형화 PDF 내보내기 옵션을 살펴보겠습니다.

빠른 시작: 웹에서 더 빠르게 보기 위해 PDF를 선형화하세요

IronPDF 사용하여 PDF를 손쉽게 선형화해 보세요. 이 간단한 코드 예제는 IronPDF의 LinearizePdf 메서드를 사용하여 웹 브라우저에서 더 빠르게 로딩되도록 PDF를 최적화하는 방법을 보여줍니다. 전체 문서가 다운로드될 때까지 기다리지 않고 페이지가 로드되는 즉시 표시되도록 하여 사용자 경험을 향상시키세요. 아래 단계를 따라 PDF 파일을 간소화하고 온라인 공유에 더욱 효율적으로 활용하세요.

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

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

    var pdf = IronPdf.PdfDocument.FromFile("input.pdf");
    pdf.SaveAsLinearized(pdf.BinaryData, "linearized.pdf");
  3. 실제 운영 환경에서 테스트할 수 있도록 배포하세요.

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

    arrow pointer


PDF 파일을 선형화된 형식으로 저장하려면 어떻게 해야 하나요?

IronPDF 사용하여 문서를 선형화된 PDF로 저장하는 것은 빠르고 간편한 과정입니다. 시작하기 전에 NuGet 또는 기타 사용 가능한 설치 방법을 통해 IronPDF 설치 되었는지 확인하십시오.

이 예제에서는 RenderHtmlAsPdf을(를) 사용하여 HTML 문자열을 PDF로 렌더링할 것입니다. 좀 더 복잡한 HTML 문서의 경우, IronPDF의 HTML을 PDF로 변환하는 기능을 살펴보는 것이 좋습니다. 이후에 우리는 SaveAsLinearized 인스턴스 메서드를 사용하여 PdfDocument 객체를 선형화된 PDF로 저장하고, 출력 파일 경로를 문자열 인수로 전달할 것입니다.

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

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Pdf Bytes</h1>");

// Get the PDF binary data
var pdfBytes = pdf.BinaryData;

// Save the PDF binary data as a linearized PDF file
PdfDocument.SaveAsLinearized(pdfBytes, "linearize-from-bytes.pdf");
Imports IronPdf

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

' Create a PDF from an HTML string using VB.NET
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Pdf Bytes</h1>")

' Get the PDF binary data
Dim pdfBytes = pdf.BinaryData

' Save the PDF binary data as a linearized PDF file
PdfDocument.SaveAsLinearized(pdfBytes, "linearize-from-bytes.pdf")
$vbLabelText   $csharpLabel

이 프로세스는 PDF의 내부 형식을 재구성하여 중요한 정보를 파일의 앞부분에 배치함으로써, 점진적인 다운로드 및 렌더링을 가능하게 합니다. 웹 애플리케이션을 통해 PDF를 제공할 때 특히 유용합니다.

출력 결과는 어떻게 나타나나요?

PDF 속성 대화 상자에서 빠른 웹 보기 설정이 강조 표시되어 선형화된 PDF 최적화를 보여줍니다.

PDF 바이트를 선형화된 형식으로 저장하려면 어떻게 해야 하나요?

IronPDF는 PdfDocument 객체를 직접 저장하는 것 외에도 PDF 바이트 배열을 선형화된 PDF로 변환할 수 있도록 해줍니다. 이러한 유연성은 데이터베이스에 저장된 PDF 파일을 다루거나 메모리 사용량이 많은 애플리케이션에서 PDF 파일을 처리할 때 특히 유용합니다. 메모리에서 PDF를 사용하는 방법에 대한 자세한 내용은 메모리 스트림에서 PDF를 로드하는 방법 에 대한 가이드를 참조하세요.

이 예제에서는 HTML 문자열을 PdfDocument 객체로 렌더링하고, 그 바이트 배열을 받아서 그 데이터를 SaveAsLinearized 오버로드를 사용하여 선형화된 PDF로 저장하는 방법을 보여줄 것입니다. 이 오버로드는 byte[] 입력, 출력 경로 및 선택적 비밀번호를 수락합니다.

출력 결과는 어떻게 나타나나요?

다음은 해당 코드가 생성한 파일입니다.

메모리 스트림을 선형화된 형태로 저장하려면 어떻게 해야 하나요?

지정된 출력 경로에 파일로 기록되는 선형화된 출력을 여전히 수용하는 SaveAsLinearized 오버로드입니다. 이 기능은 원본 PDF가 이미 스트림 형태(데이터베이스, 네트워크 또는 메모리 내 버퍼에서 가져온)로 제공되며, 선형화된 결과를 디스크에 영구 저장하고자 할 때 유용합니다.

이 예제에서는 PdfDocument 객체를 바이트 배열로 변환한 다음 MemoryStream에 기록하고 이 기능을 보여주기 위해 해당 스트림을 선형화된 PDF 파일로 저장합니다.

디스크에 전혀 기록하지 않아야 하는 경우(HIPAA, PCI-DSS, 샌드박스 앱 또는 읽기 전용 파일 시스템을 사용하는 클라우드 함수 등), 다음 섹션의 메모리 내 메서드를 참조하십시오.

다음은 해당 코드가 생성한 파일입니다.

메모리 내에서 완전히 선형화하는 방법은 무엇입니까?

디스크에 쓰는 것이 제한되거나 바람직하지 않은 샌드박스 환경, 클라우드 함수 또는 컴플라이언스 민감한 워크플로(HIPAA, PCI-DSS)에서는 IronPDF가 임시 파일이나 디스크 I/O 없이 직접 선형화된 PDF를 반환하는 LinearizePdfToBytesLinearizePdfToStream 메서드를 제공합니다.

이러한 메서드는 PdfDocument의 인스턴스 메서드로 제공되며 byte[] 또는 Stream 입력을 수용하는 정적 메서드로 제공됩니다.

바이트 단위의 선형화 출력값 가져오기

HTTP 응답, 데이터베이스 varbinary 열 또는 고정 크기 버퍼에 대해 byte[]이(가) 필요할 때 LinearizePdfToBytes을(를) 사용하십시오.

:path=/static-assets/pdf/content-code-examples/how-to/linearize-pdf-3.cs
using IronPdf;

// Instance method: linearize the current document, get bytes back
var pdf = PdfDocument.FromFile("input.pdf");
byte[] linearizedBytes = pdf.LinearizePdfToBytes();

// Static method: linearize from a byte array without instantiating PdfDocument
byte[] inputBytes = File.ReadAllBytes("input.pdf");
byte[] result = PdfDocument.LinearizePdfToBytes(inputBytes);

// Password-protected PDFs
byte[] decrypted = PdfDocument.LinearizePdfToBytes(encryptedBytes, password: "secret");
Imports IronPdf

' Instance method: linearize the current document, get bytes back
Dim pdf = PdfDocument.FromFile("input.pdf")
Dim linearizedBytes As Byte() = pdf.LinearizePdfToBytes()

' Static method: linearize from a byte array without instantiating PdfDocument
Dim inputBytes As Byte() = File.ReadAllBytes("input.pdf")
Dim result As Byte() = PdfDocument.LinearizePdfToBytes(inputBytes)

' Password-protected PDFs
Dim decrypted As Byte() = PdfDocument.LinearizePdfToBytes(encryptedBytes, password:="secret")
$vbLabelText   $csharpLabel

스트림으로 선형화된 출력 받기

출력을 다른 스트림(클라우드 블랍 업로드, HTTP 응답 본문, 네트워크 소켓)으로 전송할 때 전체 파일을 메모리에 버퍼링하지 않으려면 LinearizePdfToStream을(를) 사용하십시오.

:path=/static-assets/pdf/content-code-examples/how-to/linearize-pdf-4.cs
// Instance method: return a Stream
Stream linearizedStream = pdf.LinearizePdfToStream();

// Static method: linearize from a stream
using var inputStream = File.OpenRead("input.pdf");
Stream resultStream = PdfDocument.LinearizePdfToStream(inputStream);
Imports System.IO

' Instance method: return a Stream
Dim linearizedStream As Stream = pdf.LinearizePdfToStream()

' Static method: linearize from a stream
Using inputStream As FileStream = File.OpenRead("input.pdf")
    Dim resultStream As Stream = PdfDocument.LinearizePdfToStream(inputStream)
End Using
$vbLabelText   $csharpLabel

선형화 전략 제어

모든 여섯 가지 메서드는 선택적 LinearizationMode 매개변수를 수용합니다.

모드 행동 사용 시점
Automatic (기본값) 먼저 파일 기반 방식을 시도하고, 디스크 액세스가 제한된 경우 메모리 내 방식으로 전환합니다. 권장 기본값; 대부분의 환경에서 작동합니다.
InMemory 전적으로 메모리 내에서 선형화를 수행하며, 디스크 I/O가 전혀 발생하지 않습니다 HIPAA / PCI-DSS 워크플로, 샌드박스 앱, 읽기 전용 파일 시스템, 클라우드 함수
FileBased 시스템 임시 디렉터리에 있는 임시 파일을 사용합니다 임시 파일 동작을 명시적으로 원하고 쓰기 권한이 있는 경우
:path=/static-assets/pdf/content-code-examples/how-to/linearize-pdf-5.cs
using IronPdf;

// Force in-memory linearization (no disk I/O at all)
byte[] linearized = pdf.LinearizePdfToBytes(LinearizationMode.InMemory);
Imports IronPdf

' Force in-memory linearization (no disk I/O at all)
Dim linearized As Byte() = pdf.LinearizePdfToBytes(LinearizationMode.InMemory)
$vbLabelText   $csharpLabel

참고해 주세요입력 바이트가 null/비어 있음 또는 입력 스트림이 읽을 수 없을 때 ArgumentException이 발생합니다. 입력 스트림이 null일 때 ArgumentNullException이 발생합니다.

선형화된 PDF를 HTTP 응답으로 스트리밍하려면 어떻게 해야 하나요?

ASP.NET의 FileStreamResult과 결합하여 임시 파일을 작성하지 않고 웹 최적화된 PDF를 브라우저에 직접 제공합니다.

:path=/static-assets/pdf/content-code-examples/how-to/linearize-pdf-http-response.cs
using IronPdf;
using Microsoft.AspNetCore.Mvc;

public class ReportController : Controller
{
    public IActionResult DownloadReport()
    {
        var pdf = PdfDocument.FromFile("quarterly-report.pdf");
        Stream linearized = pdf.LinearizePdfToStream(LinearizationMode.InMemory);

        return new FileStreamResult(linearized, "application/pdf")
        {
            FileDownloadName = "quarterly-report.pdf"
        };
    }
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Imports System.IO

Public Class ReportController
    Inherits Controller

    Public Function DownloadReport() As IActionResult
        Dim pdf = PdfDocument.FromFile("quarterly-report.pdf")
        Dim linearized As Stream = pdf.LinearizePdfToStream(LinearizationMode.InMemory)

        Return New FileStreamResult(linearized, "application/pdf") With {
            .FileDownloadName = "quarterly-report.pdf"
        }
    End Function
End Class
$vbLabelText   $csharpLabel

브라우저는 선형화된 PDF를 수신하여 첫 페이지를 표시하기 시작하고 나머지 내용은 스트리밍으로 전송되며, 중간 파일이 서버 디스크에 저장되는 일은 전혀 없습니다.


Icon Quote related to 선형화된 PDF를 HTTP 응답으로 스트리밍하려면 어떻게 해야 하나요?

이 종류의 라이브러리 중 가장 좋아하는 것은 IronPDF입니다. PDF 파일을 빠르고 효율적으로 조작할 수 있습니다. 또한 PDF/A 형식으로 내보내기 및 PDF 문서의 디지털 서명과 같은 많은 유용한 기능을 가지고 있습니다.

Milan Jovanovic related to 선형화된 PDF를 HTTP 응답으로 스트리밍하려면 어떻게 해야 하나요?

Milan Jovanovic

마이크로소프트 MVP

사례 연구 보기
Icon Quote related to 선형화된 PDF를 HTTP 응답으로 스트리밍하려면 어떻게 해야 하나요?

IronOCR 덕분에 연간 $40,000를 수동 프로세싱에서 절약하고 생산성을 높이며 고부가가치 작업에 자원을 활용할 수 있습니다. 강력히 추천합니다.

Brent Matzelle related to 선형화된 PDF를 HTTP 응답으로 스트리밍하려면 어떻게 해야 하나요?

브렌트 마첼

최고 기술 책임자, OPYN

사례 연구 보기
Icon Quote related to 선형화된 PDF를 HTTP 응답으로 스트리밍하려면 어떻게 해야 하나요?

IronSuite는 우리의 운영에서 중요한 역할을 합니다. 이것들은 사업 전반에 걸쳐 효율성을 높이는 도구로, 평면도 생성 및 재고 관리 개선을 포함합니다.

David Jones related to 선형화된 PDF를 HTTP 응답으로 스트리밍하려면 어떻게 해야 하나요?

데이비드 존스

리드 소프트웨어 엔지니어, Agorus Build

사례 연구 보기

PDF 파일이 선형화되었는지 어떻게 확인할 수 있나요?

PDF가 선형화되었는지 확인하려면 Adobe Acrobat과 같은 PDF 뷰어에서 문서 속성을 확인하는 것 외에도 IronPDF는 IsLinearized 메서드를 사용하여 프로그래밍 방식으로 이를 확인할 수 있는 방법을 제공합니다. 파일 경로를 지정하는 문자열 매개변수를 받으며, PDF 파일이 암호화된 경우 비밀번호를 지정하는 선택적 두 번째 문자열 매개변수를 받습니다. 이러한 검증 기능은 품질 보증에 필수적이며 자동화된 테스트 워크플로에 통합될 수 있습니다.

이 예제에서는 위 세 가지 예제의 출력 파일을 사용하여 선형화 여부를 테스트하고, 네 번째 예제인 비선형화된 PDF를 포함하여 해당 메서드의 동작을 보여드리겠습니다. 보다 고급적인 PDF 조작 및 검증 기술을 활용하려면 IronPDF의 포괄적인 기능 세트를 살펴보십시오.

결과는 무엇인가요?

PDF 선형화 결과를 보여주는 디버그 출력: 참 값 3개와 거짓 값 1개

보시다시피 처음 세 개의 예시는 MemoryStream을 반환하고, 선형화되지 않은 마지막 PDF는 IsLinearized을 반환합니다.

참고해 주세요선형화는 파일 수준 구조이므로 검증은 IsLinearized을 통한 저장된 파일에서 작동합니다. 디스크에 쓰지 않고 바이트나 스트림으로 선형화된 출력을 생성하려면 위에 설명된 LinearizePdfToBytesLinearizePdfToStream 메서드를 사용하십시오.

선형화된 PDF를 위한 모범 사례

선형화된 PDF를 다룰 때는 다음과 같은 모범 사례를 고려하십시오.

  1. 파일 크기 고려 사항 : 선형화는 재구성된 형식으로 인해 파일 크기를 약간 증가시킬 수 있습니다. 필요에 따라 IronPDF의 압축 기능을 사용하여 파일 크기를 최적화하세요.

  2. 웹 배포 : 선형화된 PDF는 웹 애플리케이션에 이상적입니다. 선형화의 이점을 극대화하려면 웹 서버가 바이트 범위 요청을 지원하도록 구성하십시오.

  3. 성능 테스트 : 선형화된 PDF는 항상 대상 환경에서 테스트해야 합니다. 성능 향상은 특히 속도가 느린 인터넷 연결에서 대용량 파일을 처리할 때 가장 두드러지게 나타납니다.

  4. 호환성 : 대부분의 최신 PDF 뷰어는 선형화된 PDF를 지원하지만, 사용자가 선호하는 뷰어와의 호환성도 확인해야 합니다.

추가적인 최적화 전략 및 고급 PDF 처리 기술에 대해서는 IronPDF의 렌더링 옵션 설명서를 참조하십시오.

자주 묻는 질문

선형화된 PDF란 무엇이며 왜 사용해야 할까요?

선형화된 PDF는 '빠른 웹 보기' 또는 '웹 최적화 PDF'라고도 하며, 인터넷 스트리밍에 최적화되도록 구조가 재구성됩니다. IronPDF의 선형화 기능은 호환되는 뷰어에서 첫 페이지를 거의 즉시 표시하고 나머지 페이지는 다운로드할 수 있도록 하여, 특히 속도가 느리거나 모바일 네트워크 환경에서 대용량 문서를 볼 때 사용자 경험을 크게 향상시킵니다.

C#에서 선형화된 PDF를 어떻게 생성하나요?

IronPDF를 사용하면 SaveAsLinearized 메서드를 통해 선형화된 PDF를 쉽게 생성할 수 있습니다. PDF 문서를 불러오거나 생성한 다음, pdf.SaveAsLinearized(pdf.BinaryData, 'output.pdf')를 호출하여 웹에서 빠르게 볼 수 있도록 최적화된 선형화된 PDF로 저장하면 됩니다.

기존 PDF 파일을 선형화된 형식으로 변환할 수 있나요?

네, IronPDF를 사용하면 기존 PDF 파일을 선형화된 형식으로 변환할 수 있습니다. PdfDocument.FromFile('input.pdf')를 사용하여 PDF 파일을 불러온 다음, SaveAsLinearized 메서드를 사용하여 웹 성능 향상을 위해 선형화된 PDF로 저장할 수 있습니다.

PDF 파일이 선형화되었는지 어떻게 확인할 수 있나요?

IronPDF는 PDF가 선형화되었는지 확인하는 IsLinearized 속성을 제공합니다. PDF 문서를 불러온 후 IsLinearized 부울 속성을 확인하여 문서가 웹에서 빠르게 볼 수 있도록 최적화되었는지 여부를 확인할 수 있습니다.

웹 애플리케이션에서 PDF를 선형화할 때 얻을 수 있는 주요 이점은 무엇입니까?

IronPDF를 사용하여 PDF를 선형화하면 첫 페이지가 즉시 표시되고, 대용량 문서의 로딩 시간 지연 문제가 해결되며, 업무 환경에서 더 빠른 의사 결정을 지원하고, 특히 중요하거나 시간 제약이 있는 애플리케이션에서 사용자 경험을 크게 향상시킬 수 있습니다.

Curtis Chau
기술 문서 작성자

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

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

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

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

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