PDF 圧縮:コード例

高速で強力かつ安全なAPIを使用して、さまざまなプログラミング言語でPDFドキュメントを圧縮します

Aspose.PDF ライブラリを使用して PDF ファイルを圧縮する方法

Aspose.PDF は PDF の圧縮をサポートしています。PDF ファイルのサイズの大部分を縮小するには、PDF ドキュメント内の埋め込み画像のサイズを小さくすることです。さらに、ドキュメントを線形化して、最初のページをできるだけ早く開くこともできます。

このメソッドを呼び出しても、実際にはドキュメントは保存されません。それどころか、ドキュメントは構造を最適化するだけなので、Saveを呼び出すと最適化されたドキュメントが得られます。

PDFファイルのサイズを縮小する手順


ご使用の環境でコードを試すには Aspose.PDF ライブラリ が必要です。

1。Document オブジェクトを使用して PDF ドキュメントを開きます。 1。ドキュメントオブジェクトを最適化するためのメソッドを呼び出します。これにより、不要なオブジェクトを削除し、PDF ファイル内の画像を圧縮します。 1。Save () メソッドを使用して、最適化されたドキュメントを新しいパスに保存します。

C# の例:PDF ドキュメントの圧縮

C#を使用してPDFドキュメントのサイズを小さくする

Document pdfDocument = new Document(dataDir + "input.pdf");
pdfDocument.OptimizeResources();
pdfDocument.Save(dataDir + "output.pdf");

Java 用 Aspose.PDF を使って PDF ドキュメントをウェブ用に最適化する方法

線形化とは、PDF ファイルを Web ブラウザーを使用してオンラインブラウジングに適したものにするプロセスです。線形化された PDF ファイルは、ファイル全体を Web サーバーからダウンロードする前に PDF ファイルの最初のページをユーザーの Web ブラウザーに表示できるように構成されています。これにより Web での表示が速くなり、PDF 全体が読み込まれてからドキュメントの表示を開始する必要がなくなります。 Optimizeメソッドを使用すると、次のことが可能になります。

  • 最初のページをできるだけ早く開いてください;
  • できるだけ早く次のページを表示するか、リンクで次のページに移動する
  • ページのデータが低速チャネル経由で配信されたときに、到着したページを段階的に表示します(最も有用なデータを最初に表示します)。
  • ページ全体を受信して表示する前でも、リンクをたどるなどのユーザー操作を実行できるようにします。

Java経由でPDFファイルのサイズを縮小する手順

1。Document オブジェクトを使用して PDF ドキュメントを開きます。 1。文書オブジェクトで Optimize メソッドを呼び出します。これにより、不要なオブジェクトを削除し、PDF ファイル内の画像を圧縮します 1。Save () メソッドを使用して、最適化されたドキュメントを新しいパスに保存します。

Java の例:ウェブ用の PDF ドキュメントの圧縮

Java を使用して PDF ドキュメントのサイズを小さくする

Document pdfDocument = new Document(dataDir + "input.pdf");
// Optimize for web
pdfDocument.optimize();
pdfDocument.save(dataDir + "output.pdf");

C++ 版 Aspose.PDF を使用してアノテーションを削除または統合する方法

PDF ドキュメントに注釈を追加すると、自然にサイズが大きくなります。注釈は必要ない場合は削除できます。必要に応じて平坦化することもできますが、それ以上修正する必要はありません。どちらの方法でも、ファイルサイズは小さくなります。 Flatten メソッドを使用すると、次のことができます。

  • できるだけ早く文書を開いてください。
  • ページを 1 つのエンティティとして表示

C++でPDFファイルのサイズを縮小する手順

1。MakeObject 関数を使用して入力 PDF ファイルを開く document という名前のドキュメントオブジェクトを作成します。 1。for-each ループと page という名前の範囲ベースのイテレータを使用して、ドキュメントオブジェクト内の各ページオブジェクトをループします。 1。for-each ループと annotation という名前の範囲ベースのイテレータを使用して、ページオブジェクト内の各アノテーションオブジェクトをループします。 1。注釈オブジェクトの Flatten メソッドを呼び出して、注釈オブジェクトをページコンテンツと統合し、インタラクティビティをすべて削除します。 1。文書オブジェクトの Save メソッドを呼び出して、更新された PDF ファイルを保存します。

C++ の例:PDF ドキュメントをフラット化

C++を使用して不要な注釈を削除してPDFドキュメントのサイズを小さくする

// String for path name
String _dataDir("C:\\Samples\\");

// String for input file name
String infilename("OptimizeDocument.pdf");
// String for output file name
String outfilename("OptimizeDocument_out.pdf");

// Open document
auto document = MakeObject<Document>(_dataDir + infilename);

// Flatten annotations
for(auto page : document->get_Pages())
{
    for(auto annotation : page->get_Annotations())
    {
    annotation->Flatten();
    }
}
// Save updated document
document->Save(_dataDir + outfilename);

Aspose.PDF API について

Adobe Acrobatを使用せずにドキュメントを生成、変更、変換、レンダリング、保護、印刷する機能を備えたクロスプラットフォームアプリケーションを作成するためのPDF処理ライブラリ。HTMLを含むさまざまなファイル形式をPDFに変換したり、PDFドキュメントをさまざまな出力形式に変換したりすることができます。開発者は、SVGグラフィックタグ付きのHTMLファイルをタグ付きPDFファイルに変換するだけでなく、すべてのHTMLコンテンツを1つのページPDFに簡単にレンダリングできます。.NET PDF APIは、圧縮、表作成、グラフと画像機能、ハイパーリンク、スタンプと透かしのタスク、拡張されたセキュリティ制御、およびカスタムフォント処理を提供します。