IronPDFでC#を使ってPDFをリニアライズ(高速Web表示に最適化)する方法

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

リニアライズされたPDFは、ダウンロード中に最初のページが即座に表示されるため、大きな文書のユーザーエクスペリエンスが劇的に向上します。 IronPDFはC#でリニアライズされたPDFを作成、検証するシンプルな方法を提供し、あなたのドキュメントを高速なウェブ表示用に最適化します。

線形化されたPDFは、"高速Webビュー"または"Web最適化PDF"とも呼ばれ、インターネットストリーミング用に構造的に再編成されています。 これにより、互換性のあるビューアがドキュメントの最初のページを、ファイル全体がダウンロードされる前にほぼ瞬時に表示できます。

ミッションクリティカルまたは時間に敏感なアプリケーションでは、この機能は特に有用です。 特に遅いまたはモバイルネットワーク上で、大きなドキュメントの読み込み時間を排除し、ユーザーがすぐにコンテンツと対話できるようにします。 これにより、迅速な意思決定が可能になり、プロの環境での生産性が向上します。 IronPDFのパフォーマンス最適化機能と組み合わせることで、リニアライズされたPDFは非常に優れた表示体験を提供します。

このハウツー記事では、IronPDFが開発者に提供する、リニアライズされたPDFとしてドキュメントをエクスポートするオプションを探ります。

クイックスタート: PDF を線形化して Web 表示を高速化する

IronPDFを使って、PDFを簡単に線形化する方法を始めましょう。 この簡単なコード例は、IronPDF の LinearizePdf メソッドを使用して、Web ブラウザーでの読み込みを高速化するために PDF を最適化する方法を示しています。 ページをロードに合わせて表示できるようにすることで、全体の読み込みを待つのではなく、ユーザーエクスペリエンスを向上させます。 以下の手順に従って、PDFを合理化し、オンライン共有のためにより効率的にします。

  1. IronPDF をNuGetパッケージマネージャでインストール

    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として保存するのは、迅速で簡単なプロセスです。 始める前に、NuGetもしくは他のインストール方法でIronPDFをインストールしていることを確認してください。

この例では、RenderHtmlAsPdf を使用して HTML 文字列を PDF にレンダリングします。 より複雑なHTML文書については、IronPDFのHTMLからPDFへの変換機能を検討するとよいでしょう。 その後、PdfDocument インスタンス メソッドを使用して、SaveAsLinearized オブジェクトを線形化された 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")
$vbLabelText   $csharpLabel

リニアライゼーションプロセスは、PDFの内部フォーマットを再構築し、重要な情報をファイルの先頭に配置します。これにより、プログレッシブダウンロードとレンダリングが可能になり、特にWebアプリケーションでPDFを提供する場合に有益です。

出力はどのように見えますか?

PDF プロパティダイアログ。Fast Web View 設定が強調表示され、PDF の線形最適化が示されている。

PDFバイトをリニアライズして保存するには?

IronPDF、PdfDocument オブジェクトを直接保存するだけでなく、PDF バイト配列を線形化された PDF に変換することもできます。 この柔軟性は、データベースに保存されたPDFを扱うときや、メモリ集約型のアプリケーションでPDFを処理するときに特に役立ちます。 メモリ内でPDFを扱う方法については、メモリストリームからPDFをロードするガイドをご覧ください。

この例では、HTML 文字列を PdfDocument オブジェクトにレンダリングし、そのバイト配列を取得し、そのデータを線形化された PDF として保存する方法を示します。 この SaveAsLinearized メソッドは、ソース ドキュメントが暗号化されている場合、オプションでパスワード用の 3 番目の文字列パラメータも受け入れます。

: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

出力はどのように見えますか?

これはコードによって生成されたファイルです:

どのように MemoryStream をリニアライズとして保存しますか?

SaveAsLinearized メソッドは、Stream オブジェクトを入力として受け入れることもできるため、さまざまなアプリケーション アーキテクチャに最大限の柔軟性を提供します。 この能力は、クラウドサービスとの統合や一時ファイルを扱う際に不可欠です。 高度なシナリオのためのメモリへのPDFエクスポートについては、こちらをご覧ください。

この例では、この機能を示すために、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");
Imports IronPdf
Imports System.IO

' Instantiate Renderer
Dim renderer As New ChromePdfRenderer()

' Create a PDF from an HTML string using VB.NET
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Memory Stream</h1>")

' Get the PDF binary data
Dim pdfBytes As Byte() = pdf.BinaryData

' Transform PDF bytes to a MemoryStream
Dim memoryStream As New MemoryStream(pdfBytes)

' Save the MemoryStream as a linearized PDF
PdfDocument.SaveAsLinearized(memoryStream, "linearize-stream.pdf")
$vbLabelText   $csharpLabel

このアプローチは、一時ファイルを扱う場合や、中間ファイルをディスクに書き込まずにPDFを処理する必要がある場合に特に有効で、パフォーマンスとセキュリティの両方を向上させます。

これはコードによって生成されたファイルです:


PDFがリニアライズされているかどうかを確認するにはどうすればよいですか?

Adobe Acrobat などの PDF ビューアでドキュメントのプロパティをチェックして PDF が線形化されているかどうかを確認する以外に、 IronPDF、IsLinearized メソッドを使用してプログラムでこれをチェックする方法も提供しています。 このメソッドは、ファイルパスの文字列パラメータと、PDFが暗号化されている場合、オプショナルな第2の文字列パラメータとしてパスワードを受け取ります。 この検証機能は、品質保証に不可欠であり、自動テストワークフローに統合することができます。

この例では、上記の3つの例からの出力ファイルを使用して、それらが線形化されているかどうかをテストし、メソッドの動作を紹介するために、4番目の非線形化されたPDFを含めます。 より高度なPDF操作や検証技術については、IronPdfの包括的な機能セットをご覧ください。

: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"));
Imports IronPdf
Imports 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"))
$vbLabelText   $csharpLabel

結果はどうなりましたか?

PDF線形化結果を示すデバッグ出力:3つのTrue値と1つのFalse値

ご覧のとおり、最初の 3 つの例では true が返されますが、線形化されていない最後の PDF では false が返されます。

ご注意PdfDocumentオブジェクトがそれ自体が線形化されているかどうかを確認する方法はありません。 これは、PDFファイルが開かれてオブジェクトにロードされたとき、その特別な線形化構造が失われるためです。同じ理由で、線形化PDFをバイト配列として返す方法もありません。 この線形化機能は、ディスク上の保存ファイルとしてのみ存在します。

リニアライズされたPDFのベストプラクティス

リニアライズされたPDFを扱う際には、以下のベストプラクティスを考慮してください:

1.ファイルサイズの考慮:リニアライゼーションは、再構築されたフォーマットにより、ファイルサイズをわずかに増加させる可能性があります。 IronPDFの圧縮機能を使って、必要に応じてファイルサイズを最適化してください。

2.ウェブ展開:リニアライズされたPDFはウェブアプリケーションに最適です。 リニアライゼーションの利点を最大化するために、バイトレンジリクエストをサポートするようにWebサーバーを設定します。

3.パフォーマンステスト:リニアライズされたPDFは必ずターゲット環境でテストしてください。 パフォーマンスの向上は、低速接続の大容量ファイルで最も顕著です。

4.互換性:最近のほとんどのPDFビューアはリニアライズされたPDFをサポートしていますが、ユーザーの好みのビューアとの互換性を確保してください。

その他の最適化戦略や高度なPDF処理技術については、IronPDFのレンダリングオプションのドキュメントを参照してください。

よくある質問

リニアライズPDFとは何ですか?

リニアライズされたPDFは'Fast Web View'または'Web-optimized PDF'とも呼ばれ、インターネットストリーミングのために構造的に再編成されます。IronPDFのリニアライズ機能により、互換性のあるビューアーは最初のページをほぼ即座に表示し、残りのページをダウンロードすることができ、特に低速またはモバイルネットワーク上で、大きなドキュメントのユーザーエクスペリエンスを劇的に改善します。

C# で線形化 PDF を作成す る 方法は?

IronPDFを使えば、SaveAsLinearizedメソッドを使って簡単にリニアライズされたPDFを作成することができます。PDFドキュメントをロードまたは作成し、pdf.SaveAsLinearized(pdf.BinaryData, 'output.pdf')を呼び出すだけで、高速なWeb表示用に最適化された線形化PDFとして保存できます。

既存のPDFをリニアライズ形式に変換できますか?

はい、IronPDFは既存のPDFをリニアライズされたフォーマットに変換することができます。PdfDocument.FromFile('input.pdf')を使ってPDFを読み込み、SaveAsLinearizedメソッドを使ってリニアライズされたPDFとして保存することで、ウェブパフォーマンスを向上させることができます。

PDFがすでにリニアライズされているかどうかは、どのように確認できますか?

IronPDFはPDFがリニアライズされているかどうかをチェックするIsLinearizedプロパティを提供します。PDFドキュメントを読み込み、IsLinearizedブール型プロパティをチェックするだけで、ドキュメントがすでに高速なウェブ表示用に最適化されているかどうかを判断できます。

WebアプリケーションのためにPDFをリニアライズする主な利点は何ですか?

IronPDFでPDFをリニアライズすることで、最初のページが即座に表示され、大きなドキュメントの読み込みにかかるイライラが解消され、プロフェッショナルな環境での迅速な意思決定が可能になり、特にミッションクリティカルなアプリケーションや時間に制約のあるアプリケーションでのユーザーエクスペリエンスが大幅に向上します。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 18,120,209 | バージョン: 2026.4 リリース
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。