フッターコンテンツにスキップ
PYTHONヘルプ

Wand Python(開発者向けのしくみ)

Wandは、ImageMagickという一般的な画像処理ツールのバインディングとして機能する強力で使いやすいPythonライブラリです。 これにより、さまざまな画像操作タスクを簡単に実行できるため、開発者やデータサイエンティストが画像を操作するのに最適な選択肢となります。 この記事では、Wand Pythonを使用し、その使用法を示します。 Also, we will look into IronPDF from Iron Software and learn about how to use both libraries for image processing and archiving the images into PDFs.

なぜWandを使用するのか?

WandはImageMagickに対してPythonicなインターフェースを提供し、Python開発者にとって使いやすくしています。 Wandを使用することを検討する主な理由は次のとおりです。

  1. 包括的な画像処理: Wandは多くの画像形式をサポートし、リサイズ、トリミング、回転、エフェクトの追加など、画像操作のための多くの機能を提供します。
  2. NumPyとの統合: WandはNumPyとシームレスに連携することができ、画像データを含む機械学習やデータ分析タスクに適しています。
  3. クロスプラットフォーム互換性: WandはWindows、macOS、Linuxを含むさまざまなオペレーティングシステムで動作します。

Wandの使い始め

インストール

Wandをインストールするには、システムにImageMagickがインストールされている必要があります。 pipを使用してWandをインストールできます。

pip install Wand
pip install Wand
SHELL

基本的な使い方

基本的な画像操作にWandを使用する方法を示す簡単な例です。

from wand.image import Image

# Open an image file and initialize the image class
with Image(filename='example.jpg') as img:
    print(f'Original size: {img.size}')
    # Resize the image
    img.resize(200, 200)
    img.save(filename='resized_example.jpg')
    print(f'Resized size: {img.size}')  # Resized size: 200x200
from wand.image import Image

# Open an image file and initialize the image class
with Image(filename='example.jpg') as img:
    print(f'Original size: {img.size}')
    # Resize the image
    img.resize(200, 200)
    img.save(filename='resized_example.jpg')
    print(f'Resized size: {img.size}')  # Resized size: 200x200
PYTHON

この例では、Wandが画像ファイルを開き、元のサイズを表示し、200x200ピクセルにリサイズして、リサイズした画像を保存します。

高度な機能

Python Wandは、より複雑な画像処理タスクのための多くの高度な機能を提供します。

  1. 画像エフェクト: ぼかし、シャープ、エンボスなどのさまざまなエフェクトを適用します。
  2. 色の操作: 色の調整、グレースケールへの変換など。
  3. 画像変換: 回転、スケーリング、クロップなどの変換を実行します。
  4. 特殊効果: ノイズを追加、ポラロイド効果を作成など。

例: エフェクトを適用する

Wandを使用して画像にエフェクトを適用する方法の例です。

from wand.image import Image  # Import image class
from wand.display import display

# Open an image file
with Image(filename='image.jpg') as img:
    # Apply a blur effect
    img.blur(radius=5, sigma=3)  # Can also use flip function, circle function, etc.
    img.save(filename='blurred_image.jpg')
    # Display the blurred image
    display(img)
from wand.image import Image  # Import image class
from wand.display import display

# Open an image file
with Image(filename='image.jpg') as img:
    # Apply a blur effect
    img.blur(radius=5, sigma=3)  # Can also use flip function, circle function, etc.
    img.save(filename='blurred_image.jpg')
    # Display the blurred image
    display(img)
PYTHON

上記のコードは、入力画像をぼかすためにぼかし関数を使用しています。

出力

Wand Python (デベロッパー向けの仕組み): 図1

IronPDFの紹介

Wand Python (デベロッパー向けの仕組み): 図2 - IronPDF: Python PDFライブラリ

IronPDFは、HTML、CSS、画像、JavaScriptを使用してPDFドキュメントを作成、編集、署名するために設計された堅牢なPythonライブラリです。 パフォーマンス効率を優先し、最小限のメモリ使用量で動作します。 主な機能は以下のとおりです:

  • HTMLからPDFへの変換: HTMLファイル、HTML文字列、URLをPDFドキュメントに変換し、Chrome PDFレンダラーを使用してウェブページをレンダリングする機能を活用します。
  • クロスプラットフォーム対応: Windows、Mac、Linux、さまざまなクラウドプラットフォーム上でPython 3+と互換性があります。 IronPDFは.NET、Java、Python、Node.js環境でも利用可能です。
  • 編集と署名: PDFプロパティをカスタマイズし、パスワードや権限などのセキュリティ対策を導入し、デジタル署名をシームレスに適用します。
  • ページテンプレートと設定: ヘッダー、フッター、ページ番号、調整可能な余白、カスタム用紙サイズ、レスポンシブデザインなどの機能を使用してPDFレイアウトを調整します。
  • 標準準拠: PDF/AおよびPDF/UAなどのPDF標準に厳格に準拠し、UTF-8文字エンコーディングの互換性を確保し、画像、CSSスタイルシート、フォントなどのアセットを巧みに管理します。

インストール

pip install ironpdf 
pip install scikit-image
pip install ironpdf 
pip install scikit-image
SHELL

IronPDFとWandを使用したPDFドキュメントの生成

前提条件

  1. コードエディタとしてVisual Studio Codeがインストールされていることを確認します。
  2. Pythonバージョン3がインストールされています。
  3. ImageMagickをインストールします。
  4. 環境変数MAGICK_HOMEがインストールパスに設定されていることを確認します。

まず、スクリプトを追加するPythonファイルを作成してください。

Visual Studio Codeを開き、wandDemo.pyというファイルを作成します。

必要なライブラリをインストールします。

pip install wand
pip install ironpdf
pip install wand
pip install ironpdf
SHELL

その後、IronPDFとWand Pythonパッケージの使用法を示す以下のPythonコードを追加します。

from wand.image import Image  # Import image class
from wand.display import display
from ironpdf import * 

# Apply your license key
License.LicenseKey = "key"

# Open an image file
with Image(filename='image.jpg') as img:
    # Apply a blur effect
    img.blur(radius=5, sigma=3)
    img.save(filename='blurred_image.jpg')
    # Display the image
    display(img)
    # Save the transformed image as PNG
    img.savefig('ironPdf-wand.png')
    # Convert the PNG image to PDF
    ImageToPdfConverter.ImageToPdf("ironPdf-wand.png").SaveAs("ironPdf-wand.pdf")
from wand.image import Image  # Import image class
from wand.display import display
from ironpdf import * 

# Apply your license key
License.LicenseKey = "key"

# Open an image file
with Image(filename='image.jpg') as img:
    # Apply a blur effect
    img.blur(radius=5, sigma=3)
    img.save(filename='blurred_image.jpg')
    # Display the image
    display(img)
    # Save the transformed image as PNG
    img.savefig('ironPdf-wand.png')
    # Convert the PNG image to PDF
    ImageToPdfConverter.ImageToPdf("ironPdf-wand.png").SaveAs("ironPdf-wand.pdf")
PYTHON

コードの説明

このPythonスクリプトは、WandIronPDFライブラリを使用した画像処理とPDF生成を示しています。

  1. このスクリプトはまず、Wandを使用して画像(image.jpg)にぼかしエフェクトを適用します。
  2. 結果的にぼかしがかかった画像を保存し、表示します。
  3. 画像は再度PNGファイル(ironPdf-wand.png)として保存されます。
  4. 最後にこのPNG画像をIronPDFを使用してPDF(ironPdf-wand.pdf)に変換します。

Pythonにおける画像処理とPDF生成ライブラリの統合を示しています。

出力 PDF

Wand Python (デベロッパー向けの仕組み): 図3

IronPDFライセンス

IronPDFのライセンスキーを使用して、購入前にその広範な機能を確認することができます。

スクリプトを開始する前に、IronPDFパッケージを使用する前にライセンスキーを配置します。

from ironpdf import * 

# Apply your license key
License.LicenseKey = "key"
from ironpdf import * 

# Apply your license key
License.LicenseKey = "key"
PYTHON

結論

Wandは、Pythonでの画像処理のための多用途で強力なライブラリです。 ImageMagickおよびNumPyとの統合により、開発者およびデータサイエンティストにとって貴重なツールとなっています。 単純な画像操作や複雑な変換を実行する必要がある場合でも、WandはPythonで使いやすいパッケージで必要な機能を提供します。

IronPDFは、プログラム上でPDFドキュメントを作成、操作、変換するためのPythonライブラリです。 画像やHTMLなどからのPDF生成、PDFのマージ、セキュリティ機能の追加などの機能を提供します。 IronPDFは多用途で、クロスプラットフォーム開発をサポートし、Pythonアプリケーションと良く統合され、PDF関連タスクを効率的に処理するための堅牢なツールです。

これらのライブラリを使用すると、画像処理を行い、アーカイブ目的で標準PDF形式で結果を保存できます。

Curtis Chau
テクニカルライター

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

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