C#のPDFを圧縮するコード

元の品質とベースラインデータを保持しながらPDFコンテンツとサイズを最適化する高性能.NETライブラリ

これは、 C#, F#, VB.NETを使用してPDFを圧縮するためのプロフェッショナルなソリューションです。 PDF最適化APIを使用して、 .NETおよび.NET Coreプラットフォーム用のプラットフォームに依存しない高レベルのソフトウェアを開発します。オンラインで無料でお試しください!

コード スニペットを表示

C# で PDF を圧縮する

この C# ライブラリは、開発者に PDF ドキュメントをプログラムで迅速かつ効率的に圧縮する機能を提供します。最適化された PDF 出力を、ネットワーク上での印刷、アーカイブ、または共有の準備を簡単に行うことができます。これは、 C# 用のスタンドアロンの PDF ドキュメント処理ソリューションであり、サードパーティのソフトウェアをインストールする必要はありません。

C# を使用して PDF のサイズを縮小する

当社の製品は、 C# 開発者に PDF ファイルのサイズを縮小するための統合APIを提供します。 PDF 圧縮は2つのパスで実行されます。最初のパスでは、PDF のすべてのページが画像形式に変換されます。当社の製品は、開発者がドキュメントの最適な品質を維持しながらコンパクトな PDF 出力を取得できるようにする、適応性のある非常に効率的な画像圧縮アルゴリズムを使用しています。次のパスでは、一連の画像が圧縮および結合されて、新しい最適化された PDF ファイルのコンテンツが形成されます。

'Aspose.Words for .NET' で PDF 圧縮が簡単になりました。次の例は、 C# で PDF ファイルのサイズを縮小する方法を示しています。

PDFファイルを圧縮するためのC#のコード例
最適化/圧縮したいファイルをアップロードする
コードを実行する
リストからターゲットフォーマットを選択します
50%
dotnet add package Aspose.Words
コピー
using Aspose.Words;
using Aspose.Words.Pdf2Word.FixedFormats;

using var pdfStream = File.OpenRead("Input.pdf");

var renderer = new PdfFixedRenderer();
var pdfReadOptions = new PdfFixedOptions
{
    ImageFormat = FixedImageFormat.Jpeg,
    JpegQuality = 50
};

const double maxPageDimension = 1584;
var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions);

var builder = new DocumentBuilder();
for (var i = 0; i < pagesStream.Count; ++i)
{
    // 現在のページ画像のスケーリングを避けるために、最大ページ サイズを設定します。
    var pageSetup = builder.PageSetup;
    SetPageSize(pageSetup, maxPageDimension, maxPageDimension);

    var pageImage = builder.InsertImage(pagesStream[i]);

    SetPageSize(pageSetup, pageImage.Width, pageImage.Height);
    pageSetup.TopMargin = 0;
    pageSetup.LeftMargin = 0;
    pageSetup.BottomMargin = 0;
    pageSetup.RightMargin = 0;

    if (i != pagesStream.Count - 1)
        builder.InsertBreak(BreakType.SectionBreakNewPage);
}

var saveOptions = new PdfSaveOptions
{
    CacheBackgroundGraphics = true
};

builder.Document.Save("Output.pdf", saveOptions);

private void SetPageSize(PageSetup pageSetup, double width, double height)
{
    pageSetup.PageWidth = width;
    pageSetup.PageHeight = height;
}
using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // 画像圧縮用のライブラリを選択するのは開発者次第です。 using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // 画像を圧縮して形状に戻します。 shape.ImageData.SetImage("yourCompressedImage"); } } var saveOptions = new PdfSaveOptions { CacheBackgroundGraphics = true }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // 画像圧縮用のライブラリを選択するのは開発者次第です。 using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // 画像を圧縮して、形状に戻します。 shape.ImageData.SetImage("yourCompressedImage"); } } doc.Save("Output.pdf"); using Aspose.Words; var doc = new Document("Input.pdf"); doc.Cleanup(); var nodes = doc.GetChildNodes(NodeType.Shape, true); foreach (Shape shape in nodes) { if (shape.IsImage) { // 画像圧縮用のライブラリを選択するのは開発者次第です。 using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // 画像を圧縮して、形状に戻します。 shape.ImageData.SetImage("yourCompressedImage"); } } var saveOptions = new OoxmlSaveOptions { CompressionLevel = CompressionLevel.Maximum }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; var doc = new Document(); var builder = new DocumentBuilder(doc); var shape = builder.InsertImage("Input.pdf"); var saveOptions = new ImageSaveOptions(SaveFormat.Pdf) { }; shape.GetShapeRenderer().Save("Output.pdf", saveOptions); using Aspose.Words; using Aspose.Words.Pdf2Word.FixedFormats; using var pdfStream = File.OpenRead("Input.pdf"); var renderer = new PdfFixedRenderer(); var pdfReadOptions = new PdfFixedOptions { ImageFormat = FixedImageFormat.Jpeg, JpegQuality = 50 }; const double maxPageDimension = 1584; var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions); var builder = new DocumentBuilder(); for (var i = 0; i < pagesStream.Count; ++i) { // 現在のページ画像のスケーリングを避けるために、最大ページ サイズを設定します。 var pageSetup = builder.PageSetup; SetPageSize(pageSetup, maxPageDimension, maxPageDimension); var pageImage = builder.InsertImage(pagesStream[i]); SetPageSize(pageSetup, pageImage.Width, pageImage.Height); pageSetup.TopMargin = 0; pageSetup.LeftMargin = 0; pageSetup.BottomMargin = 0; pageSetup.RightMargin = 0; if (i != pagesStream.Count - 1) builder.InsertBreak(BreakType.SectionBreakNewPage); } var saveOptions = new PdfSaveOptions { CacheBackgroundGraphics = true }; builder.Document.Save("Output.pdf", saveOptions); private void SetPageSize(PageSetup pageSetup, double width, double height) { pageSetup.PageWidth = width; pageSetup.PageHeight = height; }
コードを実行する

PDFを圧縮する方法

  1. Aspose.Words for .NETインストールします。
  2. C#プロジェクトにライブラリ参照を追加(ライブラリをインポート)します。
  3. C#のソースPDFファイルを開きます。
  4. 品質を損なうことなくPDFを圧縮します。
  5. Document.Cleanup()メソッドを呼び出します。結果のコードは、出力ファイル形式によって異なる場合があります。
  6. 圧縮された結果をPDFファイルとして取得します。

PDFファイルを最適化および圧縮するためのC#ライブラリ

インストールするための3つの代替オプションがあり "Aspose.Words ための .NET" ご使用のシステムには。ニーズに合ったものを選択し、ステップバイステップの手順に従ってください。

システム要求

当社製品は完全にクロスプラットフォームであり、すべての主要な .NET 実装をサポートしています。

  • .NET ≥ 5.0
  • .NET Core ≥ 2.0
  • .NET Standard ≥ 2.0
  • .NET Framework ≥ 3.5
  • MonoMac
  • MonoAndroid
  • Xamarin

.NET コードが基盤となるハードウェアやオペレーティング システムに依存せず、仮想マシンのみに依存する限り、Windows、macOS、Android、iOS、Linux 向けのあらゆる種類のソフトウェアを自由に開発できます。.NET .NET Framework, .NET Core, Windows Azure, Mono 、またはXamarinの対応するバージョンがインストールされていることを確認してください。

C#, F#, VB.NETアプリケーションを作成するには、Microsoft Visual Studio、Xamarin、MonoDevelop 統合開発環境を使用することをお勧めします。

詳細については、 製品ドキュメントを参照してください。

その他のサポートされているファイル形式の最適化

他の多くのファイル形式でファイルを最適化できます。

5%

Aspose製品アップデートを購読する

メールボックスに直接配信される月刊ニュースレターとオファーを入手してください。

© Aspose Pty Ltd 2001-2024. 全著作権所有。