如何使用 IronPDF 和 C# 將 PDF 線性化

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

線性化 PDF,也稱為"快速 Web 檢視"或"Web 優化 PDF",其結構經過重新組織,以適應互聯網串流播放。 這樣一來,相容的檢視器幾乎可以立即顯示文件的第一頁,遠早於整個文件下載完成的時間。

在任務關鍵型或時間敏感型應用中,此功能尤其有用。 它消除了大型文件令人沮喪的載入時間,尤其是在網路速度慢或行動網路的情況下,使用戶能夠立即與內容互動。 這有助於加快決策速度,並提高專業環境中的生產力。

在本操作指南文章中,我們將探討 IronPDF 為開發人員提供的將文件匯出為線性化 PDF 的選項。

快速入門:將 PDF 線性化以加快 Web 查看速度

立即開始使用 IronPDF,輕鬆實現 PDF 線性化。 這個簡單的程式碼範例展示如何使用 IronPDF 的 LinearizePdf 方法優化 PDF,使其在 Web 瀏覽器中載入速度更快。 透過允許頁面在載入時顯示,而不是等待整個文件下載完畢,來提升使用者體驗。 請按照以下步驟簡化您的 PDF 文件,使其更適合線上分享。

Nuget Icon立即開始使用 NuGet 建立 PDF 檔案:

  1. 使用 NuGet 套件管理器安裝 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 是一個快速簡單的過程。 在這個例子中,我們將使用RenderHtmlAsPdf將 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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

輸出

快速網頁查看 PDF

另存為線性化 PDF 位元組

除了直接保存PdfDocument物件外,IronPDF 還允許使用者將 PDF 位元組數組轉換為線性化的 PDF。 在這個例子中,我們將示範如何將 HTML 字串渲染成PdfDocument對象,取得其位元組數組,然後將該資料儲存為線性化的 PDF。 SaveAsLinearized方法也接受一個可選的第三個字串參數,用於指定密碼(如果來源文件已加密)。

:path=/static-assets/pdf/content-code-examples/how-to/linearize-pdf-bytes.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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

輸出

這是程式碼產生的檔案:

另存為線性化 PDF MemoryStream

SaveAsLinearized方法也可以接受 Stream 物件作為輸入。 在這個例子中,我們將把PdfDocument物件轉換為位元組數組,將其寫入MemoryStream ,然後將該流保存為線性化的 PDF,以演示此功能。

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

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

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

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

// Transform PDF bytes to a MemoryStream
MemoryStream memoryStream = new MemoryStream(pdfBytes);

// Save the MemoryStream as a linearized PDF
PdfDocument.SaveAsLinearized(memoryStream, "linearize-stream.pdf");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

這是程式碼產生的檔案:


驗證 PDF 是否線性化

除了在 PDF 檢視器(如 Adobe Acrobat)中檢查文件屬性以查看 PDF 是否線性化之外,IronPDF 還提供了一種使用IsLinearized方法以程式設計方式檢查此問題的方法。 此方法接受一個字串參數作為檔案路徑,如果 PDF 檔案已加密,則也可以接受一個可選的第二個字串參數作為密碼。

在這個例子中,我們將使用上面三個例子的輸出檔案來測試它們是否線性化,並包含第四個非線性化的 PDF 來展示方法的行為。

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

// First example Linearized PDF
Console.WriteLine(PdfDocument.IsLinearized("linearize.pdf"));

// Second example Linearized PDF
Console.WriteLine(PdfDocument.IsLinearized("linearize-from-bytes.pdf"));

// Third example Linearized PDF
Console.WriteLine(PdfDocument.IsLinearized("linearize-stream.pdf"));

// Fourth example Non-Linearized PDF
Console.WriteLine(PdfDocument.IsLinearized("sample.pdf"));
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

輸出

線性化結果

如您所見,前三個範例傳回true ,而最後一個 PDF(未線性化)傳回false

請注意沒有方法可以檢查 PdfDocument 物件本身是否線性化。 這是因為當 PDF 檔案被開啟並載入到物件中時,其特殊的線性化結構會遺失。因此,目前沒有方法可以將線性化的 PDF 檔案作為位元組數組傳回。 此線性化特徵僅以儲存檔案的形式存在於磁碟上。

常見問題解答

將 PDF 線性化是什麼意思?

線性化 PDF(也稱為快速網頁檢視)是透過組織 PDF 檔案的結構,優化 PDF 檔案以利網頁使用的過程,以便加快載入時間。這對需要線上存取的大型文件特別有用。

為什麼要將 PDF 線性化?

線性化 PDF 可讓您更快速地存取文件內容,改善使用者體驗,尤其是透過網際網路檢視時。它允許在下載整個檔案之前先顯示第一頁,這對大型文件非常有利。

IronPDF 如何幫助 PDF 檔案線性化?

IronPDF 提供了使用 C# 程式碼線性化 PDF 檔案的直接方法。它可幫助開發人員優化 PDF 的結構以改善網頁效能,確保使用者能更快速地存取與檢視文件。

線性化過程是否可逆轉?

是的,線性化過程可以逆轉,但這涉及將檔案結構變回非線性化格式。IronPDF 允許您操作 PDF 檔案,讓您控制檔案的最佳化和顯示方式。

如果我不是開發人員,我可以使用 IronPDF 對 PDF 進行線性化處理嗎?

雖然 IronPDF 是專為配合 C# 使用而設計的開發人員工具,但它提供了清楚的說明文件和範例,即使是編碼經驗有限的人也能有效地將 PDF 線性化。

使用 IronPDF 進行 PDF 線性化有哪些效能優勢?

IronPDF 優化了 PDF 的載入速度,尤其是在網路上。性能的提升對於改善用戶體驗和可及性至關重要,尤其是對於網際網路連線速度較慢的用戶而言。

我需要特殊的軟體來檢視線化過的 PDF 嗎?

查看線性化 PDF 不需要特殊軟體。它們可以使用任何標準的 PDF 閱讀器開啟。線性化的好處主要在於線上存取 PDF 時可以加快載入時間。

IronPDF 線性化是否支援 .NET 10 專案?

是的。IronPDF 與 .NET 10 完全相容,線性化功能(如 SaveAsLinearized 和 IsLinearized)無需特殊配置即可使用。您可以在 .NET 10 應用程式中使用這些方法,就像在早期支援的版本中一樣。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 16,493,056 | Version: 2025.11 剛發表