Annot (注釈)#

PDFのみ。

Adobe PDFリファレンス からの引用: 「注釈は、ノート、音声、動画などのオブジェクトをPDFドキュメントのページ上の位置に関連付けるか、マウスとキーボードを介してユーザーと対話する手段を提供します。」

注釈とそのページとの間には親子関係があります。ページオブジェクトが使用できなくなる場合(閉じたドキュメント、文書構造の変更など)、そのページに存在するすべての注釈オブジェクトも同様に使用できなくなります。注釈のプロパティやメソッドにアクセスされるたびに、オブジェクトが「孤立した」という例外が発生します。

アトリビュート

短い説明

Annot.delete_responses()

すべての応答アノテーションを削除します

Annot.get_file()

添付ファイルの内容を取得します

Annot.get_oc()

xrefOCG または OCMD に取得します。

Annot.get_pixmap()

アノテーションの画像をピクマップとして取得します

Annot.get_sound()

オーディオアノテーションの音声を取得します

Annot.get_text()

アノテーションテキストを抽出します

Annot.get_textbox()

アノテーションテキストを抽出します

Annot.set_border()

アノテーションの境界線のプロパティを設定します

Annot.set_blendmode()

アノテーションのブレンドモードを設定します

Annot.set_colors()

アノテーションの色を設定します

Annot.set_flags()

アノテーションのフラグフィールドを設定します

Annot.set_irt_xref()

アノテーションを「応答対象」として定義します

Annot.set_name()

アノテーションの名前フィールドを設定します

Annot.set_oc()

xrefOCG または OCMD に設定します。

Annot.set_opacity()

透明度を変更します

Annot.set_open()

アノテーションまたはそのポップアップを開く/閉じる

Annot.set_popup()

アノテーションのためのポップアップを作成します

Annot.set_rect()

アノテーションの長方形を変更します

Annot.set_rotation()

回転を変更します

Annot.update_file()

添付ファイルの内容を更新します

Annot.update()

蓄積されたアノテーションの変更を適用します

Annot.blendmode

アノテーションのブレンドモード

Annot.border

境界線の詳細

Annot.colors

境界線/背景および塗りつぶしの色

Annot.file_info

添付ファイル情報を取得します

Annot.flags

アノテーションフラグ

Annot.has_popup

アノテーションにポップアップがあるかどうか

Annot.irt_xref

このアノテーションへの応答としてのアノテーション

Annot.info

さまざまな情報

Annot.is_open

アノテーションまたはそのポップアップが開いているかどうか

Annot.line_ends

線タイプのアノテーションの始点/終点の外観

Annot.next

次のアノテーションへのリンク

Annot.opacity

アノテーションの透明度

Annot.parent

アノテーションのページオブジェクト

Annot.popup_rect

アノテーションのポップアップの長方形

Annot.popup_xref

アノテーションのポップアップのPDF xref 番号

Annot.rect

アノテーションを含む長方形

Annot.type

アノテーションのタイプ

Annot.vertices

ポリゴン、ポリラインなどの点の座標

Annot.xref

PDF xref 番号

Class API

class Annot#
get_pixmap(matrix=pymupdf.Identity, dpi=None, colorspace=pymupdf.csRGB, alpha=False)#
  • v1.19.2で変更: dpiパラメータのサポートが追加されました。

変換されていない座標でページ上に表示される注釈からピクスマップを作成します。ピクスマップの IRectAnnot.rect.irect と同じです(以下を参照)。 すべてのパラメータはキーワード専用です。

パラメータ:
  • matrix (matrix_like) -- 画像の作成に使用される行列。デフォルトは Identity (アイデンティティ) です。

  • dpi (int) -- (v1.19.2で新規追加)インチあたりのドット数で指定された解像度。 None でない場合、matrixパラメータは無視されます。

  • colorspace (Colorspace (カラースペース)) -- 画像の作成に使用されるカラースペース。デフォルトは pymupdf.csRGB です。

  • alpha (bool) -- 透明情報を含めるかどうか。デフォルトは False です。

戻り値の型:

Pixmap

注釈

  • If the annotation has just been created or modified, you should Document.reload_page() the page first via page = doc.reload_page(page).

  • The pixmap will have "premultiplied" pixels if alpha=True. To learn about some background, e.g. look for "Premultiplied alpha" here.

get_text(opt, clip=None, flags=None)#
  • 1.18.0 で新たに追加

さまざまなフォーマットで注釈の内容を取得します - これは Page (ページ) の同じメソッドのように動作します。現在、これはアノテーションタイプ「FreeText」と「Stamp」に関連するデータのみを提供します。他の種類は空の文字列(または同等のオブジェクト)を返します。

パラメータ:
get_textbox(rect)#
  • 1.18.0 で新たに追加

注釈のテキストを返します。主に(改行を除く)「text」オプションを使用した Annot.get_text() と同等です

パラメータ:

rect (rect-like) -- rect (rect-like) – 考慮する領域、デフォルトは Annot.rect です。

set_info(info=None, content=None, title=None, creationDate=None, modDate=None, subject=None)#
  • バージョン 1.16.10 で変更

注釈のプロパティを変更します。これには日付、内容、題名、および著者(タイトル)が含まれます。名前ID の変更は無視されます。更新は選択的に行われます:プロパティを変更しない場合は、それを None に設定します。既存のデータを削除するには、空の文字列を使用します。

パラメータ:
  • info (dict) -- info プロパティと互換性のある辞書(以下参照)。すべてのエントリは文字列である必要があります。この引数が辞書でない場合、他の引数が代わりに使用されます。それ以外の場合、無視されます。

  • content (str) -- (v1.16.10 で新規追加) info の説明を参照してください。

  • title (str) -- (v1.16.10 で新規追加) info の説明を参照してください。

  • creationDate (str) -- (v1.16.10 で新規追加) 注釈の作成日。指定する場合、PDF 日時形式である必要があります。

  • modDate (str) -- (v1.16.10 で新規追加) 最終変更日。指定する場合、PDF 日時形式である必要があります。

  • subject (str) -- (v1.16.10 で新規追加) info の説明を参照してください。

set_line_ends(start, end)#

注釈の線終端スタイルを設定します。これらの注釈タイプの各々は、線で接続された点のリストによって定義されています。start で指定されたシンボルは、最初の点に、end はこのリストの最後の点に取り付けられます。サポートされていない注釈タイプの場合、警告メッセージとともに無操作となります。

注釈

  • 「FreeText」、「Line」、「PolyLine」、および「Polygon」注釈はこれらのプロパティを持つことができますが、(Py-)MuPDF は「FreeText」の線終端をサポートしていません。なぜなら、そのコールアウトバリアントはサポートされていないからです。

  • (v1.16.16 で変更) 一部のシンボルには内部領域(ダイヤモンド、円、正方形など)があります。デフォルトでは、これらの領域は注釈の塗りつぶし色で塗りつぶされます。これが None の場合、白色が選択されます。Annot.update()fill_color 引数を使用して、線終端シンボルに独自の塗りつぶし色を設定することができるようになりました。

パラメータ:
  • start (int) -- 最初の点のシンボル番号。

  • end (int) -- 最後の点のシンボル番号。

set_oc(xref)#

PDFのオプションコンテンツメカニズムを使用して、注釈の表示/非表示を設定します。この表示は、サポートするPDFビューアのユーザーインターフェースによって制御されます。Annot.flags のような他の属性とは独立しています。

パラメータ:

xref (int) -- オプションコンテンツグループ(OCGまたはOCMD)のxref。以前の xref は上書きされます。ゼロの場合、以前のエントリが削除されます。xrefがゼロでない場合かつ有効なPDFオブジェクトを指していない場合、例外が発生します。

注釈

これは Annot.update()実行を必要としません。

get_oc()#

オプションコンテンツオブジェクトの xref 、または存在しない場合はゼロを返します。

戻り値:

ゼロまたはOCG(またはOCMD)のxref。

set_irt_xref(xref)#
  • v1.19.3 で新規追加

注釈を別の注釈への「応答として」設定します。

パラメータ:

xref (int) --

別の注釈の xref

注釈

このプロパティを設定するには、このページの既存の注釈を参照する必要があります。このプロパティを設定する際、後続の update() は不要です。

set_open(value)#
  • v1.18.4 で新たに追加

注釈のポップアップ注釈を開いた状態または閉じた状態に設定します – または その注釈自体、そのタイプが 'Text'(「付箋」)の場合。

パラメータ:

value (bool) -- 望ましい開いた状態。

set_popup(rect)#
  • v1.18.4 で新たに追加

注釈のためのポップアップ注釈を作成し、その矩形を指定します。ポップアップが既に存在する場合、その矩形のみが更新されます。

パラメータ:

rect (rect_like) -- 望ましい矩形。

set_opacity(value)#

注釈の透明度を設定します。透明度は Annot.update() でも設定できます。

パラメータ:

value (float) -- [0、1] の範囲内の浮動小数点数。範囲外の値は 1 と見なされます。例:0.5 の値は透明度を 50% に設定します。

透明度がそれぞれ 0.5 に設定された3つの重なる「Circle」注釈:

_images/img-opacity.jpg
blendmode#
  • v1.18.4 で新たに追加

注釈のブレンドモード。詳細については Adobe PDFリファレンス 、ページ324を参照してください。

戻り値の型:

str

戻り値:

ブレンドモードまたは None

set_blendmode(blendmode)#
  • v1.16.14 で新たに追加

注釈のブレンドモードを設定します。詳細については Adobe PDFリファレンス 、ページ324を参照してください。ブレンドモードは Annot.update() でも設定できます。

パラメータ:

blendmode (str) -- ブレンドモードを設定します。視覚的な外観に反映するには Annot.update() を使用します。事前定義の値についてはPDF標準のブレンドモードを参照してください。ブレンドモードを 削除する には PDF_BM_Normal を使用します。

set_name(name)#
  • バージョン1.16.0で新たに追加

すべての注釈タイプの名前フィールドを変更します。「FileAttachment」と「Text」注釈の場合、これはアイコンの名前であり、「Stamp」注釈の場合はスタンプのテキストです。視覚的な結果(ある場合)は、PDFビューアに依存します。MuPDFの注釈アイコン も参照してください。

パラメータ:

name (str) -- 新しい名前。

注意

「Stamp」注釈の名前を設定した場合、これは矩形を 変更せず 、テキストもレイアウトされません。スタンプ注釈アイコン から標準のテキストを選択すると( "STAMP_" の後の 正確な 名前部分)、元のレイアウトが表示されるはずです。任意 のテキストは大文字に変更されず、「Times-Bold」フォントで水平中央揃えで 1行 に表示され、収まるように短縮されます。テキストを完全に表示するには、フォントサイズ20を使用してのテキストの長さが190ピクセルを超えてはいけません。したがって、以下の不等式が成り立つことを確認してください: pymupdf.get_text_length(text, fontname="tibo", fontsize=20) <= 190

set_rect(rect)#

注釈の矩形を変更します。注釈は移動し、矩形の両側を独立してスケーリングできます。ただし、注釈の外観は回転、反転、またはせん断されることはありません。このメソッドは特定の注釈タイプにのみ影響を与えます [2] 、それ以外の場合はPythonの sys.stderr にメッセージが表示されます。例外は発生しませんが、False が返されます。

パラメータ:

rect (rect_like) -- rect (rect_like) – 注釈の新しい矩形(有限で空ではない)です。たとえば、annot.rect + (5, 5, 5, 5) の値を使用すると、注釈を右に5ピクセル、下に5ピクセル移動させます。

注釈

効果の有効化には Annot.update() を呼び出す 必要はありません

set_rotation(angle)#

注釈の回転を設定します。これにより、注釈の矩形はその中心点を中心に回転します。その後、結果の四角形から 新しい注釈の矩形 が計算されます。

パラメータ:

angle (int) -- 度数法での回転角度。任意の値が可能ですが、区間 [0, 360) にクランプされます。

注釈

  • 効果を有効にするには、Annot.update()呼び出す必要があります

  • PDF_ANNOT_FREE_TEXTの場合、値0、90、180、270のいずれかの値のみが可能で、現在の矩形内の テキストを回転させます (矩形自体は変更されません)。その他の値は静かに無視され、0に置き換えられます。

  • それ以外の場合、次の アノテーションタイプ のみが回転できます:'Square'、'Circle'、'Caret'、'Text'、'FileAttachment'、'Ink'、'Line'、'Polyline'、'Polygon'、および'Stamp'。それ以外のすべての場合、このメソッドは無効です。

set_border(border=None, width=None, style=None, dashes=None, clouds=None)#
  • バージョン1.16.9で変更: 辞書を使用せずに指定を許可。border が辞書でない場合、直接のパラメータが使用されます。

  • バージョン1.22.5で変更: "cloudy"ボーダーエフェクトのサポート。

PDFのみ: ボーダーの幅、点線、スタイル、およびクラウド効果を変更します。詳細については Annot.border 属性を参照してください。

パラメータ:
  • border (dict) -- border プロパティから返されるような辞書で、キーに "width"(float)、"style"(str)、"dashes"(シーケンス)、および "clouds"(int)を持っています。省略されたキーはそれぞれのプロパティを変更しないままにします。他の引数を使用する場合、border引数を None (デフォルト)に設定します。

  • width (float) -- 非負の値はボーダーの線幅を変更します。

  • style (str) -- None 以外の値はこのボーダープロパティを変更します。

  • dashes (sequence) -- シーケンスのすべてのアイテムは整数である必要があり、それ以外の場合、パラメータは無視されます。点線を削除するには、dashes=[] を使用します。dashesが空でないシーケンスの場合、"style"は自動的に "D"(点線)に設定されます。

  • clouds (int) -- 0以上の値はこのプロパティを変更します。クラウディな外観を完全に削除するには、clouds=0 を使用します。このプロパティはアノテーションタイプ 'Square'、'Circle'、および 'Polygon' のみでサポートされています。

set_flags(flags)#

注釈のフラグを変更します。複数のフラグを組み合わせるには | 演算子を使用します。

パラメータ:

flags (int) -- 必要なフラグを指定する整数。

set_colors(colors=None, stroke=None, fill=None)#
  • バージョン1.16.9で変更: 色を直接設定できるようにしました。これらのパラメータは、colors が辞書でない場合に使用されます。

サポートされている注釈タイプに対して「ストローク」と「塗りつぶし」の色を変更します – すべての注釈が両方を受け入れるわけではありません。

パラメータ:
  • colors (dict) -- 色の仕様を含む辞書。受け入れられる辞書のキーと値については以下を参照してください。最も実用的な方法は、まず ** プロパティのコピーを作成し、その後必要に応じてこの辞書を変更することです。

  • stroke (sequence) -- 上記を参照してください。

  • fill (sequence) -- 上記を参照してください。

バージョン1.18.5で変更: 色の仕様を完全に削除するには、[] のような空のシーケンスを使用してください。None を指定した場合、既存の仕様は変更されません。

delete_responses()#
  • バージョン1.16.12で新規追加

この注釈を参照する注釈を削除します。これには「ポップアップ」注釈とそれに応答するすべての注釈が含まれます。

update(opacity=None, blend_mode=None, fontsize=0, text_color=None, border_color=None, fill_color=None, cross_out=True, rotate=-1)#

関連する変更後に注釈の外観をプロパティに同期させます。

以下の変更に関して のみ 、このメソッドを安全に 省略できます :

すべての引数はオプションです。 (v1.16.14で変更) ブレンドモードと不透明度は すべての注釈タイプ に適用されます。 他の引数は主に特殊な用途として、以下で説明されています。

カラーの仕様は、通常のPuMuPDFで使用される形式で指定できます。0.0から1.0までの浮動小数点数のシーケンスです(両方を含む)。シーケンスの長さは1、3、または4である必要があります(GRAY、RGB、およびCMYKのカラースペースをサポートしています)。GRAYの場合、浮動小数点数だけでも受け入れられます。

パラメータ:
  • opacity (float) -- (v1.16.14で新規) すべての注釈タイプに対して有効: 注釈の透明度を変更または設定します。有効な値は 0 <= opacity < 1です

  • blend_mode (str) -- (v1.16.14で新規) すべての注釈タイプに対して有効: 注釈のブレンドモードを変更または設定します。有効な値についてはPDF標準のブレンドモードを参照してください。

  • fontsize (float) -- change fontsize of the text. 'FreeText' annotations only.

  • text_color (sequence,float) -- テキストの色を変更します。 'FreeText' 注釈のみです。

  • border_color (sequence,float) -- 境界線の色を変更します。 'FreeText' 注釈のみです。

  • fill_color (sequence,float) --

    塗りつぶしの色です。

    • 'Line'、'Polyline'、'Polygon' 注釈:適用可能な線の端のシンボルに注釈の色以外の塗りつぶしの色を与えるために使用します (v1.16.16で変更)

  • cross_out (bool) -- (v1.17.2で新規) 注釈の矩形に2本の対角線を追加します。 'Redact' 注釈のみです。希望しない場合、注釈が*False* で作成された場合でも False を指定する必要があります。

  • rotate (int) -- 新しい回転値。デフォルト値(-1)は変更なしを意味します。 'FreeText' およびいくつかの他の注釈タイプをサポートします:meth:Annot.set_rotation を参照) [1] 。 'FreeText' の場合、0、90、180、または270度を選択してください。それ以外の場合、任意の整数が受け入れられます。

戻り値の型:

bool

注釈

Page.annots() ループ内でこのメソッドを使用することは お勧めしません! これは、ほとんどの注釈の更新には所有ページの再読み込みが必要であり、このループ内で行うことはできないためです。このジェネレータのドキュメントで提供されている例のコーディングパターンを使用してください。

file_info#

アノットが添付されたファイルの基本情報。

戻り値の型:

dict

戻り値:

FileAttachmentアノットタイプの場合、filename (ファイル名)、ufilename (Unicodeファイル名)、desc (説明)、size (非圧縮ファイルサイズ)、length (圧縮長さ)のキーを持つ辞書。それ以外の場合は None

get_file()#

添付ファイルの内容を返します。

戻り値の型:

bytes

戻り値:

添付ファイルの内容。

update_file(buffer=None, filename=None, ufilename=None, desc=None)#

添付ファイルの内容を更新します。すべての引数はオプションです。引数が指定されない場合、操作は行われません。

パラメータ:
  • buffer (bytes|bytearray|BytesIO) --

    新しいファイルの内容。メタ情報のみ変更する場合は省略します。

    (バージョン1.14.13で変更)io.BytesIO もサポートされるようになりました。

  • filename (str) -- ファイルに関連付ける新しいファイル名。

  • ufilename (str) -- ファイルに関連付ける新しいUnicodeファイル名。

  • desc (str) -- ファイル内容の新しい説明。

get_sound()#

オーディオアノテーションの埋め込まれた音声を返します。

戻り値の型:

dict

戻り値:

音声オーディオファイルと関連するプロパティ。これらは可能な辞書キーで、常に「rate」と「stream」が存在します。

キー

説明

rate

(float, 必須) 1秒あたりのサンプル数

channels

(int, オプション) サウンドチャンネルの数

bps

(int, オプション) チャンネルごとのサンプル値のビット数

encoding

(str, オプション) エンコーディング形式: Raw, Signed, muLaw, ALaw

compression

(str, オプション) 圧縮フィルタの名前

stream

(bytes, 必須) サウンドファイルの内容

opacity#

アノテーションの透明度。設定されている場合、範囲 [0, 1] の値です。PDFのデフォルトは1ですが、違いを示すために設定されていない場合は -1.0 を返します。

戻り値の型:

float

parent#

アノテーションの所属ページオブジェクト。

戻り値の型:

Page (ページ)

rotation#

アノテーションの回転角度。

戻り値の型:

int

戻り値:

値は[-1, 359]です。回転が全くない場合、-1が返されます(回転角度0を意味します)。その他の可能な値は、一定の値0 <= angle < 360に正規化されます。

rect#

アノテーションを含む長方形領域。

戻り値の型:

Rect (矩形)

next#

このページ上の次のアノテーションまたはNone。

戻り値の型:

Annot

type#

アノテーションタイプ を説明する数値と1つまたは2つの文字列、例: [2, 'FreeText', 'FreeTextCallout'] 。第2の文字列エントリはオプションで、空であるかもしれません。可能な値とその意味については、付録の アノテーションタイプ のリストを参照してください。

戻り値の型:

list

info#

異なる情報を含む辞書。すべてのフィールドはオプションの文字列です。提供されない情報項目については、空の文字列が返されます。

  • name – たとえば、 'Stamp' 注釈の場合、 'Sold' または 'Experimental' のようなスタンプテキストが含まれ、他の注釈のタイプでは注釈のアイコンの名前がここに表示されます(FileAttachment の場合は 'PushPin')。

  • contentテキスト タイプと FreeText 注釈のテキストを含む文字列。注釈のポップアップウィンドウのテキストフィールドを埋めるために一般的に使用されます。

  • title – 注釈のポップアップウィンドウのタイトルを含む文字列。通常、これは 注釈の著者 に使用されます。

  • creationDate – 作成タイムスタンプ。

  • modDate – 最終変更タイムスタンプ。

  • subject – 主題。

  • id – (バージョン1.16.10で新規追加)注釈の一意の識別子。これはPDFキー / NM から取得されます。PyMuPDFによって追加された注釈には一意の名前があり、ここに表示されます

戻り値の型:

dict

flags#

注釈の表示方法を示すフラグを含む低位ビットを持つ整数。

戻り値の型:

int

line_ends#

'FreeText'、'Line'、'PolyLine'、および'Polygon'の注釈タイプの開始および終了シンボルを指定する2つの整数のペア。該当しない場合は なし 。このリストでの可能な値と説明については、Adobe PDFリファレンス のページ400の表1.76を参照してください。

戻り値の型:

tuple

vertices#

さまざまな種類の注釈に対する、可変数の点("頂点")座標(各々が浮動小数点数のペアで指定される)を含むリスト:

  • 'Line' – 開始座標と終了座標(2つの浮動小数点数のペア)。

  • 'FreeText' – 開始座標、(オプションの)曲線点、および終了座標を指定する2または3つの浮動小数点数のペア。

  • 'PolyLine' / 'Polygon' – 線分で接続されたエッジの座標(nポイントのためのn個の浮動小数点数のペア)。

  • テキストのマークアップ注釈 – マークされたテキストスパンのQuadPointsを指定する4つの浮動小数点数のペア(Adobe PDFリファレンス、ページ403を参照)。

  • 'Ink' – 頂点座標の1つから多数のサブリストのリスト。各サブリストは、描画内の別々の線を表します。

戻り値の型:

list

colors#

0 <= 浮動小数点数 <= 1の範囲内 で指定された "ストローク" および内部("塗りつぶし")カラーの2つの浮動小数点数のリストから成る辞書。ストロークカラーは、境界線やアクティブに塗装されたり書かれたりするすべてに使用されます。塗りつぶしカラーは、線の端、円、正方形などのオブジェクトの内部に使用されます。これらのリストの長さは、暗黙的に使用されるカラースペースを決定します:1 = GRAY、3 = RGB、4 = CMYK。したがって、"[1.0, 0.0, 0.0]" はRGBカラーの赤を表します。どちらのリストも指定されていない場合、空にすることができます。

戻り値の型:

dict

xref#

PDFの xref

戻り値の型:

int

irt_xref#

この注釈が応答する注釈のPDF xref 。これが応答注釈でない場合はゼロを返します。

戻り値の型:

int

popup_xref#

関連するポップアップ注釈のPDF xref 。存在しない場合はゼロ。

戻り値の型:

int

has_popup#

注釈にポップアップ注釈があるかどうか。

戻り値の型:

bool

is_open#

注釈のポップアップが開いているかどうか - または 注釈自体('テキスト'注釈のみ)。

戻り値の型:

bool

popup_rect#

関連するポップアップ注釈の矩形。存在しない場合は無限の矩形。

戻り値の型:

Rect (矩形)

rect_delta#

注釈の /RD エントリを表す4つの浮動小数点数のタプル。これらの4つの数値は、2つの矩形間の数値の差(左、上、-右、-下)を説明しています:注釈の rect とその矩形内に含まれる矩形。エントリが存在しない場合、このプロパティは. (0、0、0、0) です。注釈の境界線が通常のまっすぐな線である場合、これらの数値は通常、境界線の幅を2で割ったものです。注釈に「雲状」の境界線がある場合、ここで雲の半円の幅が表示されます。一般的に、これらの数値は同一である必要はありません。内側の矩形を計算するには、a.rect + a.rect_delta を使用します。

border#

境界線の特性を含む辞書。境界線情報が存在しない場合は空です。次のキーが存在する可能性があります:

  • width – ポイントでの境界線の太さを示す浮動小数点数。幅が指定されていない場合、値は -1.0 です。

  • dashes – ラインダッシングパターンを指定する整数のシーケンス。[] はダッシュなし、[n]n ポイントの等しいオンオフの長さを意味し、より長いリストは交互のオンオフ長さ値を指定して解釈されます。詳細については、Adobe PDFリファレンス のページ126を参照してください。

  • style – 1バイトの境界線スタイル: "S" (Solid)= 注釈を囲む実線、 "D" (Dashed)= 注釈を囲む破線、破線パターンは dashes エントリによって指定され、 “B” (Beveled)= ページの表面よりも上に浮かぶように見える模擬的な浮き出し矩形、 "I" (Inset)= ページの表面よりも下に凹んだように見える模擬的な浮き彫りの矩形、 "U" (Underline)= 注釈矩形の底部に沿った単一の線。

  • clouds – “雲状”の境界を示す整数。n は整数 -1 <= n <= 2 を指します。値 n = 0 は直線(雲なし)を示し、1 は小さな半円、2 は大きな半円を模倣した雲の外観を示します。-1 の場合、仕様が存在しないことを示します。

戻り値の型:

dict

MuPDFの注釈アイコン#

これは「Text」および「FileAttachment」注釈タイプの名前で参照可能なアイコンのリストです。注釈を追加する際に*icon* パラメータを使用したり、Annot.set_name() の引数として使用したりできます。どのアイテムを選択するかはあなたの裁量に任されています - たとえば、「Speaker」アイコンを「FileAttachment」に使用することを防ぐメカニズムは存在しません。

_images/mupdf-icons.jpg

#

注釈のグラフィカルな画像を変更します。また、ポップアップウィンドウに表示される「著者」とテキストを更新します。

doc = pymupdf.open("circle-in.pdf")
page = doc[0]                          # page 0
annot = page.first_annot                # get the annotation
annot.set_border(dashes=[3])           # set dashes to "3 on, 3 off ..."

# set stroke and fill color to some blue
annot.set_colors({"stroke":(0, 0, 1), "fill":(0.75, 0.8, 0.95)})
info = annot.info                      # get info dict
info["title"] = "Jorj X. McKie"        # set author

# text in popup window ...
info["content"] = "I changed border and colors and enlarged the image by 20%."
info["subject"] = "Demonstration of PyMuPDF"     # some PDF viewers also show this
annot.set_info(info)                   # update info dict
r = annot.rect                         # take annot rect
r.x1 = r.x0 + r.width  * 1.2           # new location has same top-left
r.y1 = r.y0 + r.height * 1.2           # but 20% longer sides
annot.set_rect(r)                      # update rectangle
annot.update()                         # update the annot's appearance
doc.save("circle-out.pdf")             # save

これが、変更前と変更後のサークル注釈の見た目です(Nitro PDFビューアを使用して表示されるポップアップウィンドウ):

circle

脚注


This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at artifex.com or contact Artifex Software Inc., 39 Mesa Street, Suite 108A, San Francisco CA 94129, United States for further information.

Discord logo