Comment linéariser des PDF en utilisant C# ; avec IronPDF
Les PDF linéarisés permettent d'afficher instantanément la première page lors du téléchargement, ce qui améliore considérablement l'expérience de l'utilisateur pour les documents volumineux. IronPDF fournit des méthodes simples pour les créer et les vérifier en C#, optimisant vos documents pour une visualisation rapide sur le web.
Un PDF linéarisé, également connu sous le nom de "Fast Web View" ou "PDF optimisé pour le web", est réorganisé structurellement pour le streaming internet. Cela permet à un visualiseur compatible d'afficher la première page d'un document presque instantanément, bien avant que le fichier entier ne soit téléchargé.
Dans les applications critiques ou sensibles au temps, cette fonctionnalité est particulièrement utile. Elle élimine les temps de chargement frustrants pour les documents volumineux, en particulier sur des réseaux lents ou mobiles, permettant aux utilisateurs d'interagir immédiatement avec le contenu. Cela facilite une prise de décision plus rapide et améliore la productivité dans les environnements professionnels. Lorsqu'elles sont combinées avec les fonctionnalités d'optimisation de performance d'IronPDF, elles offrent une expérience de visualisation exceptionnelle.
Dans cet article pratique, nous allons explorer les options qu'IronPDF offre aux développeurs pour exporter leurs documents sous forme de PDF linéarisés.
Démarrage rapide : Linéarisez votre PDF pour un affichage Web plus rapideCommencez avec IronPDF pour linéariser vos PDF sans effort. Cet exemple de code simple montre comment optimiser un PDF pour un chargement plus rapide dans les navigateurs web en utilisant la méthode LinearizePdf d'IronPDF. Améliorez l'expérience utilisateur en permettant aux pages d'être affichées à mesure qu'elles se chargent, au lieu d'attendre que le document entier soit téléchargé. Suivez les étapes ci-dessous pour rationaliser vos PDF et les rendre plus efficaces pour le partage en ligne.
-
1Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf
-
2Copy and run this code snippet.
var pdf = IronPdf.PdfDocument.FromFile("input.pdf"); pdf.SaveAsLinearized(pdf.BinaryData, "linearized.pdf");C# -
3Deploy to test on your live environment
Start using IronPDF in your project today with a free trial
Flux de travail minimal (5 étapes)
- Télécharger la bibliothèque IronPDF C# depuis NuGet
- Instanciez le moteur de rendu PDF et transmettez la chaîne HTML
- Rendre la chaîne HTML avec
PdfDocument - Enregistrez le PDF en tant que PDF linéarisé avec
RenderHtmlAsPdf - Vérifiez si le PDF est linéarisé avec
SaveAsLinearized
Comment enregistrer un PDF en tant que fichier linéarisé?
Enregistrer un document en tant que PDF linéarisé avec IronPDF est un processus rapide et facile. Avant de commencer, assurez-vous d'avoir installé IronPDF via NuGet ou via l'une des autres méthodes d'installation disponibles.
Dans cet exemple, nous allons rendre une chaîne HTML en PDF en utilisant RenderHtmlAsPdf. Pour les documents HTML plus complexes, vous pouvez explorer les fonctionnalités de conversion HTML vers PDF d'IronPDF. Ensuite, nous enregistrerons l'objet PdfDocument en tant que PDF linéarisé en utilisant la méthode d'instance SaveAsLinearized, en passant le chemin du fichier de sortie comme argument de type chaîne.
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")Ce processus restructure le format interne du PDF, plaçant des informations critiques au début du fichier, ce qui permet le téléchargement progressif et le rendu. Cela est particulièrement bénéfique lors de la diffusion de PDF via des applications web.
À quoi ressemble le résultat ?

Comment enregistrer les octets d'un PDF en tant que linéarisés?
En plus de sauvegarder un objet PdfDocument directement, IronPDF permet également aux utilisateurs de convertir un tableau d'octets PDF en un PDF linéarisé. Cette flexibilité est particulièrement utile pour travailler avec des PDF stockés dans des bases de données ou pour traiter des PDF dans des applications gourmandes en mémoire. Pour plus d'informations sur le travail avec des PDF en mémoire, consultez notre guide sur le chargement de PDF à partir de flux de mémoire.
Dans cet exemple, nous démontrerons comment rendre une chaîne HTML en un objet PdfDocument, obtenir son tableau d'octets, puis enregistrer ces données en tant que PDF linéarisé en utilisant la surcharge SaveAsLinearized qui accepte une entrée byte[], un chemin de sortie et un mot de passe optionnel.
À quoi ressemble le résultat ?
Voici le fichier que le code a produit :
Comment sauvegarder un MemoryStream comme linéarisé?
La surcharge SaveAsLinearized qui accepte une entrée Stream écrit toujours la sortie linéarisée dans un fichier au chemin de sortie spécifié. Ceci est utile lorsque votre PDF source est déjà dans un flux (provenant d'une base de données, du réseau ou d'un tampon en mémoire) et que vous souhaitez enregistrer le résultat linéarisé sur le disque.
Dans cet exemple, nous convertirons un objet PdfDocument en un tableau d'octets, l'écrirons dans un MemoryStream, puis enregistrerons le flux en tant que fichier PDF linéarisé pour démontrer cette capacité.
Si vous devez éviter d'écrire sur le disque totalement (pour des applications conformes HIPAA, PCI-DSS, des applications isolées ou des fonctions cloud avec des systèmes de fichiers en lecture seule), consultez les méthodes en mémoire dans la section suivante.
Voici le fichier que le code a produit :
Comment puis-je linéariser entièrement en mémoire ?
Pour les environnements isolés, les fonctions cloud, ou les flux de travail sensibles à la conformité (HIPAA, PCI-DSS) où l'écriture sur disque est restreinte ou indésirable, IronPDF fournit des méthodes LinearizePdfToBytes et LinearizePdfToStream qui renvoient le PDF linéarisé directement, sans fichiers temporaires ni E/S sur disque.
Ces méthodes sont disponibles à la fois comme méthodes d'instance sur PdfDocument et comme méthodes statiques acceptant les entrées byte[] ou Stream.
Obtenez la sortie linéarisée sous forme d'octets
Utilisez LinearizePdfToBytes lorsque vous avez besoin d'un byte[] pour une réponse HTTP, une colonne de base de données varbinary, ou tout autre tampon de taille fixe.
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")Obtenez la sortie linéarisée sous forme de flux
Utilisez LinearizePdfToStream lorsque vous devez transmettre la sortie à un autre flux (chargements de blob cloud, corps de réponse HTTP, sockets réseau) sans mettre en mémoire tampon tout le fichier.
// 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 UsingContrôle de la stratégie de linéarisation
Toutes les six méthodes acceptent un paramètre LinearizationMode optionnel :
|Mode|Comportement|Quand l'utiliser|
|---|---|---|
| Automatic (par défaut) |Essaye d'abord la méthode basée sur les fichiers ; revient à la méthode en mémoire si l'accès au disque est restreint|Recommandé par défaut ; fonctionne dans la plupart des environnements|
| InMemory |Effectue la linéarisation entièrement en mémoire, zéro E/S disque|Flux de travail HIPAA / PCI-DSS, applications isolées, systèmes de fichiers en lecture seule, fonctions cloud|
| FileBased |Utilise un fichier temporaire dans le répertoire temporaire du système|Lorsque vous souhaitez explicitement le comportement de fichier temporaire et que vous avez la permission d'écriture|
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 est généré lorsque les octets d'entrée sont nuls/vides ou lorsque le flux d'entrée n'est pas lisible. ArgumentNullException est généré lorsque le flux d'entrée est nul.Comment diffuser un PDF linéarisé vers une réponse HTTP ?
Combinez LinearizePdfToStream avec FileStreamResult d'ASP.NET pour servir un PDF optimisé pour le web directement au navigateur, sans écrire de fichier temporaire :
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 ClassLe navigateur reçoit un PDF linéarisé qui commence à afficher la première page tandis que le reste est diffusé - et aucun fichier intermédiaire ne touche jamais le disque du serveur.
Iron Suite joue un rôle crucial dans nos opérations. Ce sont des outils qui augmentent l'efficacité de l'entreprise, y compris la création de plans d'étage et l'amélioration de la gestion des stocks.
Comment vérifier si un PDF est linéarisé?
En plus de vérifier les propriétés du document dans un visualiseur de PDF, tel qu'Adobe Acrobat, pour voir si un PDF est linéarisé, IronPDF offre également un moyen de vérifier cela de manière programmatique avec la méthode IsLinearized. Elle prend un paramètre de chaîne pour le chemin du fichier et un second paramètre de chaîne optionnel pour le mot de passe si le PDF est chiffré. Cette capacité de vérification est essentielle pour l'assurance qualité et peut être intégrée dans des flux de tests automatisés.
Dans cet exemple, nous utiliserons les fichiers de sortie des trois exemples ci-dessus pour vérifier s'ils sont linéarisés, et nous inclurons un quatrième PDF non linéarisé pour illustrer le comportement de la méthode. Pour des techniques plus avancées de manipulation et de vérification des PDF, explorez l'ensemble des fonctionnalités d'IronPDF.
Quels sont les résultats?

Comme vous pouvez le voir, les trois premiers exemples renvoient MemoryStream, tandis que le dernier PDF, qui n'est pas linéarisé, renvoie IsLinearized.
IsLinearized. Pour produire une sortie linéarisée en tant qu'octets ou flux sans écrire sur le disque, utilisez les méthodes LinearizePdfToBytes et LinearizePdfToStream décrites ci-dessus.Bonnes pratiques pour les PDF linéarisés
Lorsque vous travaillez avec des PDF linéarisés, tenez compte des meilleures pratiques suivantes :
-
Considérations relatives à la taille des fichiers : La linéarisation peut légèrement augmenter la taille du fichier en raison du format restructuré. Utilisez les fonctions de compression d'IronPDF pour optimiser la taille des fichiers lorsque cela est nécessaire.
-
Déploiement sur le web : Les PDF linéarisés sont idéaux pour les applications web. Configurez votre serveur web pour qu'il prenne en charge les requêtes par octets afin de maximiser les avantages de la linéarisation.
-
Test de performance : Testez toujours les PDF linéarisés dans votre environnement cible. L'amélioration des performances est surtout perceptible avec les fichiers volumineux et les connexions plus lentes.
-
Compatibilité : Bien que la plupart des visionneuses PDF modernes prennent en charge les PDF linéarisés, assurez-vous de la compatibilité avec les visionneuses préférées de vos utilisateurs.
Pour des stratégies d'optimisation supplémentaires et des techniques avancées de traitement des PDF, consultez la documentation sur les options de rendu d'IronPDF.
Frequently Asked Questions
Qu'est-ce qu'un PDF linéarisé et pourquoi devrais-je l'utiliser ?
Un PDF linéarisé, également connu sous le nom de " Fast Web View " ou " PDF optimisé pour le web ", est réorganisé structurellement pour la diffusion en continu sur Internet. La fonction de linéarisation d'IronPDF permet aux visionneuses compatibles d'afficher la première page presque instantanément pendant que le reste se télécharge, ce qui améliore considérablement l'expérience de l'utilisateur pour les documents volumineux, en particulier sur les réseaux lents ou mobiles.
Comment créer un PDF linéarisé en C# ?
Avec IronPDF, vous pouvez facilement créer un PDF linéarisé à l'aide de la méthode SaveAsLinearized. Il suffit de charger ou de créer votre document PDF, puis d'appeler pdf.SaveAsLinearized(pdf.BinaryData, 'output.pdf') pour l'enregistrer en tant que PDF linéarisé optimisé pour une visualisation rapide sur le web.
Puis-je convertir des PDF existants en format linéarisé ?
Oui, IronPDF vous permet de convertir des PDF existants au format linéarisé. Vous pouvez charger n'importe quel PDF en utilisant PdfDocument.FromFile('input.pdf'), puis utiliser la méthode SaveAsLinearized pour l'enregistrer en tant que PDF linéarisé afin d'améliorer les performances web.
Comment puis-je vérifier si un PDF est déjà linéarisé ?
IronPDF fournit la propriété IsLinearized pour vérifier si un PDF est linéarisé. Il suffit de charger votre document PDF et de vérifier la propriété booléenne IsLinearized pour déterminer si le document est déjà optimisé pour une visualisation rapide sur le web.
Quels sont les principaux avantages de la linéarisation des PDF pour les applications web ?
La linéarisation des PDF avec IronPDF permet un affichage instantané de la première page, élimine les temps de chargement frustrants pour les documents volumineux, permet une prise de décision plus rapide dans les environnements professionnels et améliore considérablement l'expérience de l'utilisateur, en particulier dans les applications critiques ou sensibles au facteur temps.

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.