IronPDFでC#を使ってPDFをリニアライズする方法

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としてドキュメントをエクスポートするオプションを探ります。

見出し:2(クイックスタート: Web表示を高速化するための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として保存するのは、迅速で簡単なプロセスです。 始める前に、NuGetもしくは他のインストール方法でIronPDFをインストールしていることを確認してください。

この例では、RenderHtmlAsPdfを使ってHTML文字列をPDFにレンダリングします。 より複雑なHTML文書については、IronPDFの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");
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 properties dialog showing Fast Web View setting highlighted, demonstrate linearized PDF optimization.

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

PdfDocumentオブジェクトを直接保存するだけでなく、IronPDFは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ビューアのドキュメントプロパティを確認する以外にも、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を返します。

BRACKET-i-OPEN--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 ダウンロード 17,386,124 | バージョン: 2026.2 リリース