PythonのPDFを圧縮するコード

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

これは、 Pythonを使用してPDFを圧縮するための専門的なソリューションです。 PDF最適化APIを使用して、Pythonでプラットフォームに依存しない高レベルのソフトウェアを開発します。オンラインで無料でお試しください!

コード スニペットを表示

Python で PDF を圧縮する

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

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

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

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

PDFファイルを圧縮するためのPythonのコード例
最適化/圧縮したいファイルをアップロードする
コードを実行する
リストからターゲットフォーマットを選択します
50%
pip install aspose-words
コピー
import aspose.words as aw

renderer = aw.pdf2word.fixedformats.PdfFixedRenderer()
pdf_read_options = aw.pdf2word.fixedformats.PdfFixedOptions()
pdf_read_options.image_format = aw.pdf2word.fixedformats.FixedImageFormat.JPEG
pdf_read_options.jpeg_quality = 50

with open ("Input.pdf", 'rb') as pdf_stream:
    pages_stream = renderer.save_pdf_as_images(pdf_stream, pdf_read_options);

builder = aw.DocumentBuilder()
for i in range(0, len(pages_stream)):
    # 現在のページ画像のスケーリングを避けるために、最大ページサイズを設定します。
    max_page_dimension = 1584
    page_setup = builder.page_setup
    set_page_size(page_setup, max_page_dimension, max_page_dimension)

    page_image = builder.insert_image(pages_stream[i])

    set_page_size(page_setup, page_image.width, page_image.height)
    page_setup.top_margin = 0
    page_setup.left_margin = 0
    page_setup.bottom_margin = 0
    page_setup.right_margin = 0

    if i != len(pages_stream) - 1:
        builder.insert_break(aw.BreakType.SECTION_BREAK_NEW_PAGE)

save_options = aw.saving.PdfSaveOptions()
save_options.cache_background_graphics = true

builder.document.save("Output.pdf", save_options)

def set_page_size(page_setup, width, height):

    page_setup.page_width = width;
    page_setup.page_height = height;
import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # 画像圧縮用のライブラリを選択するのは開発者次第です。 image = Image.open(shape.image_data.to_stream()) # ... # 画像を圧縮して元の形に戻します。 shape.image_data.set_image("yourCompressedImage") save_options = aw.saving.PdfSaveOptions save_options.cache_background_graphics = true doc.save("Output.pdf", save_options) import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # 画像圧縮用のライブラリを選択するのは開発者次第です。 image = Image.open(shape.image_data.to_stream()) # ... # 画像を圧縮して形状に戻します。 shape.image_data.set_image("yourCompressedImage") doc.save("Output.pdf") import aspose.words as aw doc = aw.Document("Input.pdf") doc.cleanup() shapes = [node.as_shape() for node in doc.get_child_nodes(aw.NodeType.SHAPE, True)] for shape in shapes: if shape.isImage: # 画像圧縮用のライブラリを選択するのは開発者次第です。 image = Image.open(shape.image_data.to_stream()) # ... # 画像を圧縮して形状に戻します。 shape.image_data.set_image("yourCompressedImage") save_options = aw.saving.OoxmlSaveOptions save_options.compression_level = aw.saving.CompressionLevel.MAXIMUM doc.save("Output.pdf", save_options) import aspose.words as aw doc = aw.Document() builder = aw.DocumentBuilder(doc) shape = builder.InsertImage("Input.pdf") save_options = aw.saving.ImageSaveOptions(aw.SaveFormat.PDF) shape.get_shape_renderer().save("Output.pdf", save_options) import aspose.words as aw renderer = aw.pdf2word.fixedformats.PdfFixedRenderer() pdf_read_options = aw.pdf2word.fixedformats.PdfFixedOptions() pdf_read_options.image_format = aw.pdf2word.fixedformats.FixedImageFormat.JPEG pdf_read_options.jpeg_quality = 50 with open ("Input.pdf", 'rb') as pdf_stream: pages_stream = renderer.save_pdf_as_images(pdf_stream, pdf_read_options); builder = aw.DocumentBuilder() for i in range(0, len(pages_stream)): # 現在のページ画像のスケーリングを避けるために、最大ページサイズを設定します。 max_page_dimension = 1584 page_setup = builder.page_setup set_page_size(page_setup, max_page_dimension, max_page_dimension) page_image = builder.insert_image(pages_stream[i]) set_page_size(page_setup, page_image.width, page_image.height) page_setup.top_margin = 0 page_setup.left_margin = 0 page_setup.bottom_margin = 0 page_setup.right_margin = 0 if i != len(pages_stream) - 1: builder.insert_break(aw.BreakType.SECTION_BREAK_NEW_PAGE) save_options = aw.saving.PdfSaveOptions() save_options.cache_background_graphics = true builder.document.save("Output.pdf", save_options) def set_page_size(page_setup, width, height): page_setup.page_width = width; page_setup.page_height = height;
コードを実行する

PDFを圧縮する方法

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

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

Python パッケージはPyPiリポジトリでホストしています。 "Aspose.Words for Python via .NET" 開発者環境にインストールする方法のステップバイステップの説明に従ってください。

システム要求

このパッケージは Python ≥3.5 および <3.12 と互換性があります。 Linux 用のソフトウェアを開発する場合は、 製品ドキュメントの gcc および libpython の追加要件を参照してください。

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

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

5%

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

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

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