So linearisieren Sie PDFs mit C# und IronPDF

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

Linearisierte PDFs ermöglichen die sofortige Anzeige der ersten Seite während des Herunterladens, was die Benutzererfahrung bei umfangreichen Dokumenten erheblich verbessert. IronPDF bietet einfache Methoden zum Erstellen und Überprüfen dieser Dokumente in C# und optimiert Ihre Dokumente für eine schnelle Anzeige im Web.

Ein linearisiertes PDF, auch bekannt als "Fast Web View" oder "weboptimiertes PDF", wird für das Streaming im Internet strukturell neu organisiert. Dadurch kann ein kompatibler Viewer die erste Seite eines Dokuments fast sofort anzeigen, lange bevor der gesamte Download abgeschlossen ist.

In unternehmenskritischen oder zeitkritischen Anwendungen ist diese Funktion besonders nützlich. Sie beseitigt frustrierende Ladezeiten bei großen Dokumenten, insbesondere in langsamen oder mobilen Netzwerken, und ermöglicht es den Benutzern, sofort mit den Inhalten zu interagieren. Dies ermöglicht eine schnellere Entscheidungsfindung und steigert die Produktivität in professionellen Umgebungen. In Kombination mit den Leistungsoptimierungsfunktionen von IronPDF bieten sie ein außergewöhnliches Anzeigeerlebnis.

In diesem Anleitungsartikel werden wir die Möglichkeiten untersuchen, die IronPDF Entwicklern bietet, um ihre Dokumente als linearisierte PDFs zu exportieren.

Schnellstart: Linearisieren Sie Ihre PDF-Datei für eine schnellere Anzeige im Web

Starten Sie mit IronPDF, um Ihre PDF-Dateien mühelos zu linearisieren. Dieses einfache Code-Beispiel zeigt, wie man eine PDF-Datei mithilfe der LinearizePdf-Methode von IronPDF für schnelleres Laden in Webbrowsern optimiert. Verbessern Sie die Benutzererfahrung, indem Seiten bereits während des Ladens angezeigt werden, anstatt auf den vollständigen Download des Dokuments zu warten. Befolgen Sie die folgenden Schritte, um Ihre PDF-Dateien zu optimieren und sie für die Online-Freigabe effizienter zu gestalten.

  1. Installieren Sie IronPDF mit NuGet Package Manager

    PM > Install-Package IronPdf
  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var pdf = IronPdf.PdfDocument.FromFile("input.pdf");
    pdf.SaveAsLinearized(pdf.BinaryData, "linearized.pdf");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronPDF in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion

    arrow pointer


Wie speichere ich eine PDF-Datei als linearisierte Datei?

Das Speichern eines Dokuments als linearisierte PDF-Datei mit IronPDF ist ein schneller und einfacher Vorgang. Bevor Sie beginnen, stellen Sie sicher, dass Sie IronPDF über NuGet oder eine der anderen verfügbaren Installationsmethoden installiert haben.

In diesem Beispiel rendern wir eine HTML-Zeichenkette mithilfe von RenderHtmlAsPdf in eine PDF-Datei. Für komplexere HTML-Dokumente empfehlen wir Ihnen, die Funktionen von IronPDF zur Konvertierung von HTML in PDF zu nutzen. Anschließend speichern wir das PdfDocument-Objekt mithilfe der SaveAsLinearized-Instanzmethode als linearisierte PDF-Datei, wobei wir den Pfad der Ausgabedatei als String-Argument übergeben.

: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

Dieser Prozess strukturiert das interne Format der PDF-Datei neu und platziert wichtige Informationen am Anfang der Datei, was ein progressives Herunterladen und Rendern ermöglicht. Dies ist besonders vorteilhaft, wenn PDF-Dateien über Webanwendungen bereitgestellt werden.

Wie sieht das Ergebnis aus?

PDF-Eigenschaften-Dialogfeld mit hervorgehobener Einstellung

Wie speichere ich PDF-Dateien als "Linearized"?

Neben dem direkten Speichern eines PdfDocument-Objekts ermöglicht IronPDF den Benutzern auch, ein PDF-Byte-Array in ein linearisiertes PDF zu konvertieren. Diese Flexibilität ist besonders nützlich bei der Arbeit mit in Datenbanken gespeicherten PDF-Dateien oder bei der Verarbeitung von PDF-Dateien in speicherintensiven Anwendungen. Weitere Informationen zur Arbeit mit PDFs im Arbeitsspeicher finden Sie in unserem Leitfaden zum Laden von PDFs aus Speicherströmen.

In diesem Beispiel zeigen wir, wie eine HTML-Zeichenkette in ein PdfDocument-Objekt gerendert, dessen Byte-Array abgerufen und diese Daten anschließend als linearisierte PDF-Datei gespeichert werden. Dazu verwenden wir die SaveAsLinearized-Überladung, die eine byte[]-Eingabe, einen Ausgabepfad und ein optionales Passwort akzeptiert.

Wie sieht das Ergebnis aus?

Dies ist die Datei, die der Code erzeugt hat:

Wie speichere ich einen MemoryStream als linearisiert?

Die SaveAsLinearized-Überladung, die eine Stream-Eingabe akzeptiert, schreibt die linearisierte Ausgabe weiterhin in eine Datei unter dem angegebenen Ausgabepfad. Dies ist nützlich, wenn sich Ihre Quell-PDF-Datei bereits in einem Datenstrom befindet (aus einer Datenbank, einem Netzwerk oder einem In-Memory-Puffer) und Sie das linearisierte Ergebnis auf der Festplatte speichern möchten.

In diesem Beispiel konvertieren wir ein PdfDocument-Objekt in ein Byte-Array, schreiben es in ein MemoryStream und speichern den Stream anschließend als linearisierte PDF-Datei, um diese Funktion zu demonstrieren.

Wenn Sie das Schreiben auf die Festplatte vollständig vermeiden müssen (für HIPAA, PCI-DSS, Sandbox-Anwendungen oder Cloud-Funktionen mit schreibgeschützten Dateisystemen), lesen Sie die In-Memory-Methoden im nächsten Abschnitt.

Dies ist die Datei, die der Code erzeugt hat:

Wie linearisiert man vollständig im Speicher?

Für Sandbox-Umgebungen, Cloud-Funktionen oder compliance-kritische Workflows (HIPAA, PCI-DSS), in denen das Schreiben auf Festplatte eingeschränkt oder unerwünscht ist, bietet IronPDF die Methoden LinearizePdfToBytes und LinearizePdfToStream, die das linearisierte PDF direkt zurückgeben, ohne temporäre Dateien oder Festplatten-I/O.

Diese Methoden sind sowohl als Instanzmethoden auf PdfDocument als auch als statische Methoden verfügbar, die byte[] oder Stream als Eingabe akzeptieren.

Linearisierte Ausgabe als Bytes erhalten

Verwenden Sie LinearizePdfToBytes, wenn Sie ein byte[] für eine HTTP-Antwort, eine Datenbank-varbinary-Spalte oder einen beliebigen Puffer mit fester Größe benötigen.

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");
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

Linearisierte Ausgabe als Stream erhalten

Verwenden Sie LinearizePdfToStream, wenn Sie die Ausgabe an einen anderen Stream weiterleiten (Cloud-Blob-Uploads, HTTP-Antwortkörper, Netzwerk-Sockets), ohne die gesamte Datei im Speicher zwischenzuspeichern.

// 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);
// 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

Steuerung der Linearisierungsstrategie

Alle sechs Methoden akzeptieren einen optionalen LinearizationMode-Parameter:

Modus Verhalten Wann zu verwenden
Automatic (Standard) Versucht zunächst die dateibasierte Methode; weicht auf In-Memory-Verarbeitung aus, wenn der Festplattenzugriff eingeschränkt ist Empfohlene Standardeinstellung; funktioniert in den meisten Umgebungen
InMemory Führt die Linearisierung vollständig im Arbeitsspeicher durch, ohne Festplatten-E/A HIPAA-/PCI-DSS-Workflows, Sandbox-Apps, schreibgeschützte Dateisysteme, Cloud-Funktionen
FileBased Verwendet eine temporäre Datei im temporären Verzeichnis des Systems Wenn Sie ausdrücklich das Verhalten von temporären Dateien wünschen und über Schreibrechte verfügen
using IronPdf;

// Force in-memory linearization (no disk I/O at all)
byte[] linearized = pdf.LinearizePdfToBytes(LinearizationMode.InMemory);
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

Hinweis:ArgumentException wird ausgelöst, wenn Eingabebytes null/leer sind oder wenn der Eingabestrom nicht lesbar ist. ArgumentNullException wird ausgelöst, wenn der Eingabestrom null ist.

Wie streame ich eine linearisierte PDF-Datei in eine HTTP-Antwort?

Kombinieren Sie LinearizePdfToStream mit ASP.NET/s FileStreamResult, um ein für das Web optimiertes PDF direkt im Browser bereitzustellen, ohne eine temporäre Datei zu schreiben:

: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

Der Browser erhält eine linearisierte PDF-Datei, die zunächst die erste Seite anzeigt, während der Rest nachgeladen wird – und keine Zwischendatei berührt jemals die Festplatte des Servers.


Wie kann ich überprüfen, ob eine PDF-Datei linearisiert ist?

Neben der Überprüfung der Dokumenteigenschaften in einem PDF-Viewer wie Adobe Acrobat, um festzustellen, ob ein PDF linearisiert ist, bietet IronPDF auch eine Möglichkeit, dies programmgesteuert mit der Methode IsLinearized zu überprüfen. Sie benötigt einen String-Parameter für den Dateipfad und einen optionalen zweiten String-Parameter für das Passwort, falls die PDF-Datei verschlüsselt ist. Diese Verifizierungsfunktion ist für die Qualitätssicherung unerlässlich und kann in automatisierte Testabläufe integriert werden.

In diesem Beispiel verwenden wir die Ausgabedateien aus den drei obigen Beispielen, um zu testen, ob sie linearisiert sind, und fügen eine vierte, nicht linearisierte PDF-Datei hinzu, um das Verhalten der Methode zu veranschaulichen. Für fortgeschrittenere Techniken zur Bearbeitung und Überprüfung von PDF-Dateien entdecken Sie den umfassenden Funktionsumfang von IronPDF.

Wie sehen die Ergebnisse aus?

Debug-Ausgabe mit den Ergebnissen der PDF-Linearisierung: drei

Wie Sie sehen können, geben die ersten drei Beispiele MemoryStream zurück, während das letzte PDF, das nicht linearisiert ist, IsLinearized zurückgibt.

Hinweis:Linearisierung ist eine Struktur auf Dateiebene, daher erfolgt die Überprüfung gespeicherter Dateien über IsLinearized. Um eine linearisierte Ausgabe als Bytes oder Stream zu erzeugen, ohne auf die Festplatte zu schreiben, verwenden Sie die oben beschriebenen Methoden LinearizePdfToBytes und LinearizePdfToStream.

Bewährte Verfahren für linearisierte PDFs

Beachten Sie bei der Arbeit mit linearisierten PDFs die folgenden Best Practices:

  1. Überlegungen zur Dateigröße: Durch die Linearisierung kann sich die Dateigröße aufgrund des umstrukturierten Formats geringfügig erhöhen. Nutzen Sie bei Bedarf die Komprimierungsfunktionen von IronPDF, um die Dateigröße zu optimieren.

  2. Web-Bereitstellung: Linearisierte PDFs eignen sich ideal für Webanwendungen. Konfigurieren Sie Ihren Webserver so, dass er Byte-Range-Anfragen unterstützt, um die Vorteile der Linearisierung optimal zu nutzen.

  3. Leistungstests: Testen Sie linearisierte PDFs immer in Ihrer Zielumgebung. Die Leistungssteigerung macht sich vor allem bei großen Dateien über langsamere Verbindungen bemerkbar.

  4. Kompatibilität: Obwohl die meisten modernen PDF-Viewer linearisierte PDFs unterstützen, stellen Sie bitte die Kompatibilität mit den von Ihren Nutzern bevorzugten Viewern sicher.

Weitere Optimierungsstrategien und fortgeschrittene Techniken zur PDF-Bearbeitung finden Sie in der Dokumentation zu den Rendering-Optionen von IronPDF.

Häufig gestellte Fragen

Was ist eine linearisierte PDF-Datei und warum sollte ich sie verwenden?

Ein linearisiertes PDF, auch bekannt als 'Fast Web View' oder 'web-optimiertes PDF', ist strukturell für das Internet-Streaming umstrukturiert. Die Linearisierungsfunktion von IronPDF ermöglicht es kompatiblen Viewern, die erste Seite fast sofort anzuzeigen, während der Rest heruntergeladen wird, was die Benutzerfreundlichkeit bei großen Dokumenten erheblich verbessert, insbesondere bei langsamen oder mobilen Netzwerken.

Wie kann ich eine linearisierte PDF-Datei in C# erstellen?

Mit IronPDF können Sie mit der SaveAsLinearized-Methode ganz einfach eine linearisierte PDF-Datei erstellen. Laden oder erstellen Sie einfach Ihr PDF-Dokument und rufen Sie dann pdf.SaveAsLinearized(pdf.BinaryData, 'output.pdf') auf, um es als linearisiertes PDF zu speichern, das für eine schnelle Webanzeige optimiert ist.

Kann ich vorhandene PDF-Dateien in das linearisierte Format konvertieren?

Ja, IronPDF ermöglicht die Konvertierung vorhandener PDF-Dateien in das linearisierte Format. Sie können jede PDF-Datei mit PdfDocument.FromFile('input.pdf') laden und dann die SaveAsLinearized-Methode verwenden, um sie als linearisierte PDF-Datei für eine verbesserte Web-Performance zu speichern.

Wie kann ich überprüfen, ob eine PDF-Datei bereits linearisiert ist?

IronPDF bietet die Eigenschaft IsLinearized, um zu prüfen, ob eine PDF-Datei linearisiert ist. Laden Sie einfach Ihr PDF-Dokument und prüfen Sie die boolesche Eigenschaft IsLinearized, um festzustellen, ob das Dokument bereits für eine schnelle Webanzeige optimiert ist.

Was sind die wichtigsten Vorteile der Linearisierung von PDF-Dateien für Webanwendungen?

Die Linearisierung von PDFs mit IronPDF ermöglicht eine sofortige Anzeige der ersten Seite, eliminiert frustrierende Ladezeiten für große Dokumente, ermöglicht eine schnellere Entscheidungsfindung in professionellen Umgebungen und verbessert die Benutzerfreundlichkeit erheblich, insbesondere bei unternehmenskritischen oder zeitkritischen Anwendungen.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 18,918,602 | Version: 2026.5 just released
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPdf
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.