save_clipboard プログラム仕様

クリップボードの内容(テキストまたは画像)を取得し、ファイルに保存するスクリプト。

このスクリプトはWindows API (User32, Ole32, Kernel32) を使用してクリップボードデータを処理し、 PIL (Pillow) ライブラリを使って画像を保存します。 テキストデータはUTF-8エンコーディングで保存され、DIB (Device Independent Bitmap) 形式の画像はPNG形式で保存されます。 ファイル保存後、reStructuredText (rst) 形式でそのファイルを参照するためのスニペットを標準出力に表示します。

Usage:

python save_clipboard.py [出力ファイル名のベース (拡張子なし)]

例:

# クリップボードの内容を 'my_output.txt' または 'my_output.png' として保存 python save_clipboard.py my_output # 引数なしの場合、'clipboard_output.txt' または 'clipboard_output.png' として保存 python save_clipboard.py

クリップボード内容保存ツール save_clipboard.py 技術ドキュメント

class converter.save_clipboard.FORMATETC[ソース]

ベースクラス: Structure

OLEデータ転送で使用される形式記述構造体。

クリップボードやOLEオブジェクトからのデータ取得時に、どのような形式 (クリップボード形式、メディアタイプ、表示側面など)のデータを要求するかを指定します。

cfFormat

Structure/Union member

dwAspect

Structure/Union member

lindex

Structure/Union member

ptd

Structure/Union member

tymed

Structure/Union member

class converter.save_clipboard.IDataObject[ソース]

ベースクラス: Structure

OLEデータ転送インターフェースの抽象基底クラス。

クリップボードやドラッグ&ドロップ操作など、データ転送オブジェクトが提供するデータを 管理するためのCOMインターフェースです。主に GetData メソッドを通じてデータを取得します。

lpVtbl

Structure/Union member

class converter.save_clipboard.STGMEDIUM[ソース]

ベースクラス: Structure

OLEデータ転送で使用されるストレージメディア構造体。

クリップボードやOLEオブジェクトからのデータ転送時に、実際のデータ (ハンドル、ポインタ、ストリームなど)とそのタイプを保持します。 u メンバは、tymed の値に応じてHGLOBALハンドルなどを格納するために c_void_p として定義されています。

pUnkForRelease

Structure/Union member

tymed

Structure/Union member

u

Structure/Union member

converter.save_clipboard.get_clipboard_image_fixed()[ソース]

クリップボードからDIB (Device Independent Bitmap) 形式の画像を取得し、PIL Imageオブジェクトとして返します。

Ole32.dllのOleGetClipboardとReleaseStgMedium関数、およびIDataObjectインターフェースのGetDataメソッドを使用します。 取得したDIBデータは、BMPファイルヘッダを追加してPIL (Pillow) で読み込み可能な形式に変換されます。 この関数を呼び出す前に ole32.OleInitialize(None) が呼び出されている必要があります。

戻り値:

クリップボード上の画像データ (PIL.Image.Image)、またはNone。

戻り値の型:

PIL.Image.Image | None

converter.save_clipboard.get_clipboard_text()[ソース]

クリップボードからUnicodeテキストを取得します。

User32.dllのOpenClipboard, GetClipboardData, GlobalLock, GlobalUnlock, CloseClipboard関数を使用します。 CF_UNICODETEXT形式のデータを取得し、Pythonの文字列として返します。 クリップボードがロックされている場合や、テキストデータが見つからない場合はNoneを返します。

戻り値:

クリップボード上のテキストデータ (str)、またはNone。

戻り値の型:

str | None

converter.save_clipboard.print_rst_snippets_for_image(filepath)[ソース]

指定された画像ファイル用のreStructuredText (rst) スニペットを表示します。

ファイルリンク、image ディレクティブ、figure ディレクティブの例を生成し、 標準出力に出力します。これはSphinxなどでドキュメントを作成する際に役立ちます。

パラメータ:

filepath (str) -- スニペットを生成する画像ファイルのパス。

戻り値:

なし

戻り値の型:

None

converter.save_clipboard.print_rst_snippets_for_text(filepath)[ソース]

指定されたテキストファイル用のreStructuredText (rst) スニペットを表示します。

dropdown (sphinx-design拡張機能が必要)、parsed-literalliteralinclude ディレクティブの例を生成し、標準出力に出力します。 言語ヒントはファイル拡張子から推測されます。

パラメータ:

filepath (str) -- スニペットを生成するテキストファイルのパス。

戻り値:

なし

戻り値の型:

None