如何使用 IronPDF 的 C# 对 PDF 进行线性化处理。

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

线性化PDF,也被称为"快速网页查看"或"网页优化PDF",是为了互联网流媒体而结构重组的。 这使得兼容的查看器几乎可以立即显示文档的第一页,远在整个文件下载完成之前。

在任务关键或时间紧迫的应用中,此功能尤其有用。 它消除了大型文档的加载时间,尤其是在慢速或移动网络上,使用户可以立即与内容互动。 这促进了更快的决策,并提高了专业环境中的生产力。

在这篇操作指南中,我们将探讨IronPDF为开发人员提供的将文档导出为线性化PDF的选项。

快速入门:为更快的网页查看线性化您的PDF

使用IronPDF开始轻松线性化您的PDF。 这个简单的代码示例展示了如何使用IronPDF的LinearizePdf方法优化PDF以加快在网页浏览器中的加载。 通过允许页面在加载时显示,而不是等待整个文档下载,提高用户体验。 按照以下步骤简化您的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文件以便于网络使用的过程,旨在通过组织其结构来实现更快的加载时间。这对于需要在线访问的大型文档特别有用。

我为什么要线性化我的 PDFs?

线性化您的 PDFs 可以提高用户体验,使他们可以更快地访问文档内容,特别是在通过互联网查看时。这使得第一页可以在整个文件下载完成之前显示,这对大型文档尤其有利。

IronPDF 如何帮助线性化 PDF 文件?

IronPDF 提供了一种简单的方法,用 C# 代码线性化 PDF 文件。它帮助开发人员优化其 PDF 的结构以提高网络性能,确保用户能够更快地访问和查看文档。

线性化过程是否可逆?

是的,线性化过程可以逆转,但这涉及将文件结构更改回非线性化格式。IronPDF 允许您操纵 PDF 文件,为您提供优化和显示的控制。

如果我不是开发人员,我可以使用 IronPDF 来线性化 PDF 吗?

虽然 IronPDF 是面向 C# 使用的开发者工具,但它提供了清晰的文档和示例,即使是那些编程经验有限的人也可以有效地线性化 PDF。

使用 IronPDF 进行 PDF 线性化有什么性能优势?

IronPDF 优化了 PDF,以加快加载时间,特别是在网络上。这种性能的提升对于提高用户体验和可访问性尤其重要,对于连接较慢的用户尤为重要。

查看线性化的 PDF 需要特殊软件吗?

不需要特殊软件来查看线性化的 PDF。它们可以用任何标准的 PDF 阅读器打开。线性化的好处主要体现在通过互联网访问 PDF 时更快的加载时间。

.NET 10 项目是否支持 IronPDF 线性化?

是的。IronPDF 完全兼容 .NET 10,线性化功能(例如 SaveAsLinearized 和 IsLinearized)无需特殊配置即可正常工作。您可以在 .NET 10 应用程序中使用这些方法,就像在早期受支持的版本中一样。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Nuget 下载 16,493,056 | Version: 2025.11 刚刚发布