annotation¶
annotation モジュールは、アノテーションを取り扱います。
Annotation オブジェクト¶
Annotation クラスは、アノテーションを表します。
Annotation クラスは、その基底クラスである Annotatable クラスに多くを
負っています。 annotatable モジュールを参照してください。
コンストラクタ¶
- クラス
Annotation(pg, pos, parent=None) pgは Page オブジェクト、posはページ内でのアノテーションの (内部的な) 位置です。アノテーションがページに直接付加されている場合はparent=Noneとします。アノテーションが他のアノテーションの子要素と なっている場合は、parentには親となる Annotation オブジェクトを 指定します。この場合、posはページ内ではなく親アノテーションから 見た時の位置となります。アノテーションの (内部的な) 位置は、表示される位置 (座標) とは無関係 です。表示位置からアノテーションを特定する方法については、Annotatable オブジェクトの
find_annotations()メソッドを参照してください。
インスタンス属性¶
Annotation オブジェクトには、次の属性があります。
全アノテーション共通¶
handleアノテーションハンドル。DocuWorks バインダーまたは文書の中で アノテーションを一意に指す値です。
positionアノテーション領域の左上隅の位置。アノテーション領域とは、 アノテーションの目に見える図形の周囲に DocuWorks が自動的に確保する マージンを含んだ領域のことです。
sizeアノテーション領域の幅と高さ。
typeアノテーションタイプ。
'ARC'(楕円),'BITMAP'(ビットマップ),'CUSTOM'(カスタム),'GROUP'(グループ),'LINK'(リンク),'MARKER'(マーカー),'OLE'(OLE),'PAGEFORM'(見出し),'POLYGON'(多角形),'RECTANGLE'(矩形),'RECEIVEDSTAMP','STAMP'(日付印),'STRAIGHTLINE'(直線),'STICKEY'(付箋),'TEXT'(テキスト),'TITLE'(タイトル) のいずれかです。Docuworks Viewer を利用してアノテーションをグループ化した場合は、 それら (既存のアノテーション) を子アノテーションとして持つアノテーション (親アノテーション) が作られます (アノテーションタイプは 'GROUP')。 この場合でも、属性
positionおよびsizeは意味を持ちます。pos番目の子アノテーションを取得するには、self.annotation(pos)またはself[pos]とします。なお、xdwlib でグループアノテーションを 追加することはできません。DocuWorks™ 7.x の XDWAPI がサポートしていない ためです。アノテーションには、子アノテーションを付けることができます。このとき、
positionは親アノテーションのpositionからの相対位置となります。 DocuWorks Viewer の初期状態で利用できるテキスト付き付箋は、親となる 付箋アノテーション (アノテーションタイプ'STICKEY') に 子となるテキストアノテーション (アノテーションタイプ'TEXT') を 追加して作られています。アノテーションタイプ
'RECEIVEDSTAMP'は互換性のために存在するもの です。
position, size はいずれも擬似属性で、その子要素への直接代入は
できません。たとえば、 ann.position = Point(100, 150) とすることは
可能ですが、 ann.position.x = 100 とすることはできません。
テキストアノテーション¶
※フォントの指定を参照してください。
text内容文字列。初期値は
'TEXT'です。font_nameフォント名。TrueType フォントのみが有効です。
font_char_setも あわせて指定してください。初期値はu'MS 明朝'です。font_style'ITALIC','BOLD','UNDERLINE','STRIKEOUT'または これらの組み合わせ (','でjoinします) で指定します。 初期値は空文字列 (指定なし) です。font_sizeフォントサイズです。ポイント数で指定します。1/10 ポイント未満は 無視されます。初期値は 12 です。
fore_color文字色。色の指定を参照してください。初期値は
'BLACK'です。font_pitch_and_familyフォントのピッチとファミリ。ピッチ (
'FIXED_PITCH','VARIABLE_PITCH','MONO_FONT') およびファミリ ('ROMAN','SWISS','MODERN','SCRIPT','DECORATIVE') の 組み合わせ (','でjoinします) で指定します (小文字でも かまいません)。ピッチ・ファミリの片方だけを指定することもでき、 その場合は指定していない方はシステム既定値となります。初期値は'FIXED_PITCH,ROMAN'です。font_char_setフォントの文字セット。
'DEFAULT','ANSI','SYMBOL','MAC','SHIFTJIS','HANGEUL','CHINESEBIG5','GREEK','TURKISH','BALTIC','RUSSIAN','EASTEUROPE','OEM'のいずれかで指定します (小文字でも かまいません)。初期値は'SHIFTJIS'です。back_color背景色。色の指定を参照してください。初期値は
'WHITE'です。word_wrapTrueならば、文字列を折り返します。初期値はFalseです。text_directionTrueならば、縦書きとします。初期値はFalseです。text_orientation文字列の回転角度。0~359 の整数で指定します。初期値は 0 です。
line_space行間。行の高さの倍率で指定します。1/100 行未満は無視されます。 初期値は 1 です。
text_spacing文字間隔。ポイント数で指定します。1/10 ポイント未満は無視されます。 初期値は 0 です。
marginテキストアノテーションの上下左右の枠とテキスト領域の上下左右の辺との 間の距離。mm 単位で指定します。それぞれ 0~200 が有効です。1/100 mm 未満は無視されます。初期値はそれぞれ 1.7 です。
これは擬似属性で、実際の値は以下の
top_margin,right_margin,bottom_margin,left_marginに格納されています。値を取得する ときは常に タプル (top_margin,right_margin,bottom_margin,left_margin) を返しますが、値を設定するときは単一の数値または 4 個までの数値のシーケンスを指定します。このシーケンスの構成は CSS と 同じで、単一の値を指定したときは、上下左右すべてを同一の値とします。 2 要素のシーケンスを指定したときは、最初の値を上下の、2 番目の値を 左右の値とします。3 要素のシーケンスを指定したときは、最初の値を上辺の、 2 番目の値を左右の、3 番目の値を下辺の値とします。4 個以上の要素を持つ シーケンスを指定したときは、最初の値を上辺の、2 番目の値を右辺の、 3 番目の値を下辺の、4 番目の値を左辺の値とし、5 番目以降の要素が あっても無視します。top_marginテキストアノテーションの上枠とテキスト領域の上辺との間の距離。 mm 単位で指定します。0~200 が有効です。1/100 mm 未満は無視されます。 初期値は 1.7 です。
right_marginテキストアノテーションの右枠とテキスト領域の右辺との間の距離。 mm 単位で指定します。0~200 が有効です。1/100 mm 未満は無視されます。 初期値は 1.7 です。
bottom_marginテキストアノテーションの下枠とテキスト領域の下辺との間の距離。 mm 単位で指定します。0~200 が有効です。1/100 mm 未満は無視されます。 初期値は 1.7 です。
left_marginテキストアノテーションの左枠とテキスト領域の左辺との間の距離。 mm 単位で指定します。0~200 が有効です。1/100 mm 未満は無視されます。 初期値は 1.7 です。
auto_resize_heightTrueならば、高さを自動調整します。word_wrapがTrueの ときのみ有効です。初期値はFalseです。
リンクアノテーション¶
captionリンクボタンのタイトル文字列。初期値は空文字列です。
show_iconTrueならば、リンクボタンを表示します。初期値はTrueです。invisibleTrueならば、リンクボタンを透明にします。初期値はFalseです。auto_resizeTrueならば、リンクボタンの大きさをタイトルに合わせて自動調整 します。初期値はTrueです。tooltipTrueならば、ツールチップを設定します。初期値はFalseです。tooltip_stringツールチップ文字列。255 バイト以内で指定します。初期値は空文字列です。
link_typeリンクの種類。
'ME','XDW','URL','OTHERFILE','MAILADDR'のいずれかで指定します (小文字でもかまいません)。 初期値は'ME'です。urlリンク先 URL 文字列。255 バイト以内で指定します。
link_typeが'URL'のとき有効です。初期値は空文字列です。xdw_pathリンク先 DocuWorks ファイルのパス名。絶対パス名に変換して 255 バイト 以内で指定します。link_type が
'XDW'のとき有効です。 初期値は空文字列です。xdw_path_relativeTrueならば、相対パス名でパス指定を行います。初期値はFalseです。xdw_linkTrueならば、リンク先をリンクアノテーションで指定します。Falseならば、ページで指定します。初期値はFalseです。page_fromリンク先ページの指定方法を指定します。
'XDW','XBD','XDW_IN_XBD'のいずれかで指定します (小文字でもかまいません)。 初期値は'XDW'です。xdw_name_in_xbdリンク先の内部ドキュメントの文書名。
link_type `` が ``'XDW_IN_XBD'のとき有効です。初期値は空文字列です。xdw_pageリンク先 DocuWorks ファイルのページ番号。バインダーの場合は通し番号です。 プロファイル表示の場合は -1 になります。初期値は 0 です。
link_atn_titleリンクアノテーションのタイトル。255 バイト以内の文字列です。 初期値は空文字列です。
other_file_pathリンク先ファイルのパス名。
link_typeが'OTHERFILE'のとき有効です。初期値は空文字列です。other_file_path_relativeTrueならば、リンク先ファイルを相対パス名で指定します。 初期値は False です。mail_addressリンク先のメールアドレス。255 バイト以内の文字列です。
link_typeが'MAILADDR'のとき有効です。初期値は空文字列です。
font_name, font_style, font_size, fore_color,
font_pitch_and_family, font_char_set については、
テキストアノテーションと同様です。
付箋アノテーション¶
fill_color付箋内部の色。色の指定を参照してください。初期値は
'WHITE'です。
auto_resize については、リンクアノテーションと同様です。ただし、初期値は False です。
直線アノテーション¶
border_width線の太さ。ポイント数で指定します。1 ポイント未満は無視されます。 初期値は 1 です。
border_color線の色。色の指定を参照してください。初期値は
'BLACK'です。border_transparentTrueならば、線を半透明にします。初期値はFalseです。arrowhead_type線端に付ける矢印の種類。
'NONE','BEGINNING','ENDING','BOTH'のいずれかで指定します (小文字でもかまいません)。 初期値は'NONE'です。arrowhead_style線端に付ける矢印の形状。
'WIDE_POLYLINE','POLYLINE','POLYGON'のいずれかで指定します (小文字でもかまいません)。 初期値は'WIDE_POLYLINE'です。points始点・終点の座標データ。Point オブジェクトのシーケンスで指定します。
border_type線の種類。
'SOLID','DOT','DASH','DASHDOT','DOUBLE'のいずれかで指定します (小文字でもかまいません)。'DOT','DOUBLE'は、border_width < 3のときは実線で 描画されます。'DASH','DASHDOT'を指定すると、border_transparentが無効になります。
矩形アノテーション・楕円アノテーション¶
border_styleTrueならば、枠線を表示します。初期値はTrueです。fill_style'True'ならば、内部を塗りつぶします。初期値は'True'です。fill_transparent'True'ならば、内部を半透明にします。初期値は'False'です。
border_width, border_color については、直線アノテーションと同様です。
fill_color については、付箋アノテーションと同様です。
日付印アノテーション¶
top_field上段の文字列。行あたり 12 バイト以内で、2 行まで指定できます。 長さに改行文字は含めません。初期値は空文字列です。
bottom_field下段の文字列。行あたり 12 バイト以内で、2 行まで指定できます。 長さに改行文字は含めません。初期値は空文字列です。
date_styleTrueならば、自動で日付を設定しません (つまり、手動で指定します)。Falseならば、日付は自動設定されます。初期値はFalseです。basis_year_styleTrueならば、日付印の基準年を設定します。date_styleがFalseのとき有効です。初期値はFalseです。basis_year日付設定の基準年。1~9999 の整数で指定します。
basis_year_styleがTrueのとき有効です。初期値は 1 です。date_field_first_char日付欄の先頭文字 (1 文字)。初期値は
"'"(アポストロフィ) です。year_field日付欄の年部分。いわゆる半角英数字と
'-'から 4 文字までを 指定できます。初期値は現在の年です。month_field日付欄の月部分。いわゆる半角英数字と
'-'から 4 文字までを 指定できます。初期値は現在の月です。day_field日付欄の日部分。いわゆる半角英数字と
'-'から 4 文字までを 指定できます。初期値は現在の日です。date_format日付の書式設定。
'yy.mm.dd','yy.m.d','dd.mmm.yy','dd.mmm.yyyy'のいずれかを指定できます (小文字で指定してください)。date_styleがFalseのとき有効です。初期値は'yy.mm.dd'です。date_orderTrueならば、年月日を 日・月・年の順で表示します。Falseならば、年・月・日の順で表示します。date_styleがFalseのとき有効です。初期値はFalseです。
border_color については、直線アノテーションと同様です。
マーカーアノテーション¶
border_color, border_width, border_transparent, points
については、直線アノテーションと同様です。
多角形アノテーション¶
border_color, border_width, points
については、直線アノテーションと同様です。
border_style, fill_style, fill_color, fill_transparent
については、矩形アノテーションと同様です。
その他のアノテーション¶
固有の属性はありません。
インスタンスメソッド¶
attributes()アノテーションが持つすべての属性名と属性値を持つ辞書を返します。
content_text()アノテーションに設定されているテキストを返します。 テキストアノテーションの場合は
self.textが、 リンクアノテーションの場合はself.captionが、 日付印アノテーションの場合はself.top_field + ' <DATE> ' + self.bottom.fieldが、 それぞれ返ります。 その他のアノテーションである場合はNoneが返ります。del_property(name)ユーザ定義のプロパティ
nameを削除します。delprop(name)del_property(name)と同じです。get_property(name, default=None)ユーザ定義のプロパティ
nameの値を取得します。結果はstr,int,boolまたはdatetime.dateオブジェクトです。 プロパティnameが存在しない場合は、defaultに 指定した値を返します。getprop(name, default=None)get_property(name)と同じです。get_userattr(name, default=None)ユーザ定義属性
nameの値をstrで返します。 ユーザ定義属性nameがない場合はdefaultの値を返します。 (注) 「ユーザ定義属性」と「ユーザ定義のプロパティ」は別物です。 ユーザ定義属性に DocuWorks Viewer の GUI でアクセスする方法は 現状ではありません。has_property(name)ユーザ定義のプロパティ
nameが存在すればTrueを、 存在しなければFalseを返します。hasprop(name)has_property(name)と同じです。inside(rect)rectは Rect オブジェクトです。rectで指定する半開矩形領域に アノテーションが完全に収まっている場合はTrueを、そうでない場合はFalseを返します。lock()アノテーションを固定します。
unlock()アノテーションの固定を解除します。
rotate(degree, origin=None, orientation=False)degreeは時計回りでの角度 (単位は度です。)、originは Point オブジェクトです。originで示すページ上の位置を中心として アノテーションをdegree度だけ時計回りに回転します。originがNoneである場合はアノテーションの現在位置 (多くの場合は左上) を回転の中心とします。orientationが真である場合は、 回転角に合わせてアノテーション自体の角度も変えます。orientationの指定は、テキストアノテーション、直線アノテーション、 マーカーアノテーションおよび多角形アノテーションについてのみ有効です。 (注) 直線アノテーション、マーカーアノテーションおよび 多角形アノテーションの場合、orientationに真を指定すると 元のアノテーションは削除されて新たに適切な位置に同様のアノテーションが 生成されます。set_property(name, value)ユーザ定義のプロパティ
nameを設定します。valueはstr,int,boolまたはdatetime.dateオブジェクトです。setprop(name, value)set_property(name, value)と同じです。set_userattr(name, value)ユーザ定義属性
nameを設定します。valueはstrで与えます。valueに型を持たせたい場合はset_property()を用いてください。 (注) 「ユーザ定義属性」と「ユーザ定義のプロパティ」は別物です。 ユーザ定義属性に DocuWorks Viewer の GUI でアクセスする方法は 現状ではありません。shift(*args)*argsは 2 個の数値からなるシーケンスです。shift(x, y)という形式でも、shift([x, y])あるいはshift(Point(x, y))という形式でもかまいません。アノテーションの位置を右へxミリメートル, 下へyミリメートルだけ移動します。 1/100 ミリメートル未満は無視されます。
AnnotationCache オブジェクト¶
AnnotationCache クラスは、アノテーションの属性を (そのアノテーションが 消去された後であっても) 保持するために利用されます。
AnnotationCache オブジェクトは、元となった Annotation オブジェクトと 同等の属性を持ちます。オブジェクトの初期化後はすべての属性が読み出し専用と なり、値の設定はできません。
コンストラクタ¶
- クラス
AnnotationCache(ann_or_type, **kw) ann_or_typeに Annotation オブジェクトを指定した場合は、Annotation オブジェクトannの全属性 (ユーザ定義属性やプロパティは含みません。) をselfの属性へコピーします。kwの内容は参照されません。ann_or_typeに文字列 ('ARC'(楕円),'BITMAP'(ビットマップ),'CUSTOM'(カスタム),'GROUP'(グループ),'LINK'(リンク),'MARKER'(マーカー),'OLE'(OLE),'PAGEFORM'(見出し),'POLYGON'(多角形),'RECTANGLE'(矩形),'RECEIVEDSTAMP','STAMP'(日付印),'STRAIGHTLINE'(直線),'STICKEY'(付箋),'TEXT'(テキスト),'TITLE'(タイトル) のいずれか) を 指定した場合は、kwの内容をselfの属性へコピーします。
インスタンス属性¶
AnnotationCache オブジェクトのインスタンス属性は、コンストラクタに 与えられたアノテーションまたはアノテーションタイプによって異なります。
インスタンスメソッド¶
attributes()インスタンス属性をまとめた
dictを返します。content_text()self.type()が'TEXT','LINK'または'STAMP'である場合は、アノテーションが保持しているテキストを返します。self.type()がそれ以外の値である場合は、Noneを返します。type()アノテーションタイプを返します。