IronPDF 사용하여 C#으로 PDF를 선형화하는 방법
선형화된 PDF는 다운로드 중에 첫 페이지를 즉시 표시할 수 있어 대용량 문서의 사용자 경험을 크게 향상시킵니다. IronPDF는 C#에서 문서를 웹에서 빠르게 볼 수 있도록 최적화하는 간단한 메서드를 제공합니다.
선형화된 PDF는 "빠른 웹 보기" 또는 "웹 최적화 PDF"라고도 하며, 인터넷 스트리밍에 맞게 구조가 재구성된 PDF입니다. 이를 통해 호환되는 뷰어는 전체 파일 다운로드가 완료되기 훨씬 전에 문서의 첫 페이지를 거의 즉시 표시할 수 있습니다.
임무 수행에 매우 중요하거나 시간에 민감한 애플리케이션에서 이 기능은 특히 유용합니다. 이 기능은 특히 속도가 느리거나 모바일 네트워크에서 대용량 문서를 로드할 때 발생하는 답답한 로딩 시간을 없애주어 사용자가 콘텐츠와 즉시 상호 작용할 수 있도록 합니다. 이는 의사결정을 신속하게 내릴 수 있도록 도와주고 업무 환경에서 생산성을 향상시킵니다. IronPDF의 성능 최적화 기능과 결합하면 탁월한 문서 열람 경험을 제공합니다.
이 사용 설명서에서는 IronPDF 개발자에게 제공하는 문서 선형화 PDF 내보내기 옵션을 살펴보겠습니다.
빠른 시작: 웹에서 더 빠르게 보기 위해 PDF를 선형화하세요
IronPDF 사용하여 PDF를 손쉽게 선형화해 보세요. 이 간단한 코드 예제는 IronPDF의 LinearizePdf 메서드를 사용하여 웹 브라우저에서 더 빠르게 로딩되도록 PDF를 최적화하는 방법을 보여줍니다. 전체 문서가 다운로드될 때까지 기다리지 않고 페이지가 로드되는 즉시 표시되도록 하여 사용자 경험을 향상시키세요. 아래 단계를 따라 PDF 파일을 간소화하고 온라인 공유에 더욱 효율적으로 활용하세요.
최소 워크플로우(5단계)
- NuGet 에서 IronPDF C# 라이브러리를 다운로드하세요.
- PDF 렌더러를 인스턴스화하고 HTML 문자열을 전달합니다.
- HTML 문자열을
PdfDocument으로 렌더링합니다 - PDF를
RenderHtmlAsPdf로 선형화된 PDF로 저장합니다 SaveAsLinearized로 PDF가 선형화되었는지 확인합니다
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")
이 프로세스는 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를 반환하는 LinearizePdfToBytes 및 LinearizePdfToStream 메서드를 제공합니다.
이러한 메서드는 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")
스트림으로 선형화된 출력 받기
출력을 다른 스트림(클라우드 블랍 업로드, 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
선형화 전략 제어
모든 여섯 가지 메서드는 선택적 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)
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
브라우저는 선형화된 PDF를 수신하여 첫 페이지를 표시하기 시작하고 나머지 내용은 스트리밍으로 전송되며, 중간 파일이 서버 디스크에 저장되는 일은 전혀 없습니다.
PDF 파일이 선형화되었는지 어떻게 확인할 수 있나요?
PDF가 선형화되었는지 확인하려면 Adobe Acrobat과 같은 PDF 뷰어에서 문서 속성을 확인하는 것 외에도 IronPDF는 IsLinearized 메서드를 사용하여 프로그래밍 방식으로 이를 확인할 수 있는 방법을 제공합니다. 파일 경로를 지정하는 문자열 매개변수를 받으며, PDF 파일이 암호화된 경우 비밀번호를 지정하는 선택적 두 번째 문자열 매개변수를 받습니다. 이러한 검증 기능은 품질 보증에 필수적이며 자동화된 테스트 워크플로에 통합될 수 있습니다.
이 예제에서는 위 세 가지 예제의 출력 파일을 사용하여 선형화 여부를 테스트하고, 네 번째 예제인 비선형화된 PDF를 포함하여 해당 메서드의 동작을 보여드리겠습니다. 보다 고급적인 PDF 조작 및 검증 기술을 활용하려면 IronPDF의 포괄적인 기능 세트를 살펴보십시오.
결과는 무엇인가요?
보시다시피 처음 세 개의 예시는 MemoryStream을 반환하고, 선형화되지 않은 마지막 PDF는 IsLinearized을 반환합니다.
IsLinearized을 통한 저장된 파일에서 작동합니다. 디스크에 쓰지 않고 바이트나 스트림으로 선형화된 출력을 생성하려면 위에 설명된 LinearizePdfToBytes과 LinearizePdfToStream 메서드를 사용하십시오.선형화된 PDF를 위한 모범 사례
선형화된 PDF를 다룰 때는 다음과 같은 모범 사례를 고려하십시오.
-
파일 크기 고려 사항 : 선형화는 재구성된 형식으로 인해 파일 크기를 약간 증가시킬 수 있습니다. 필요에 따라 IronPDF의 압축 기능을 사용하여 파일 크기를 최적화하세요.
-
웹 배포 : 선형화된 PDF는 웹 애플리케이션에 이상적입니다. 선형화의 이점을 극대화하려면 웹 서버가 바이트 범위 요청을 지원하도록 구성하십시오.
-
성능 테스트 : 선형화된 PDF는 항상 대상 환경에서 테스트해야 합니다. 성능 향상은 특히 속도가 느린 인터넷 연결에서 대용량 파일을 처리할 때 가장 두드러지게 나타납니다.
- 호환성 : 대부분의 최신 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를 선형화하면 첫 페이지가 즉시 표시되고, 대용량 문서의 로딩 시간 지연 문제가 해결되며, 업무 환경에서 더 빠른 의사 결정을 지원하고, 특히 중요하거나 시간 제약이 있는 애플리케이션에서 사용자 경험을 크게 향상시킬 수 있습니다.

