Antenna House PDF Tool API (.NET) 8.0
PdfTkNet::PtlParamExtractText クラス

#include <NetParamExtractText.h>

PdfTkNet::PtlParamExtractText の継承関係図
PdfTkNet::PtlParamExtractText 連携図

公開型

enum class  TEXT_TYPE { TEXT_RAW = 1 , TEXT_SORT = 2 }
enum class  UNI_FLAG {
  UNI_C0_CONTROLS = 0x00000001 , UNI_SPACE = 0x00000002 , UNI_NO_BREAK_SPACE = 0x00000004 , UNI_SOFT_HYPHEN = 0x00000008 ,
  UNI_SPACES = 0x00000010 , UNI_IDEOGRAPHIC_SPACE = 0x00000020 , UNI_VARIATION_SELECTOR = 0x00000040 , UNI_REPLACEMENT_CHARACTER = 0x00000080 ,
  UNI_ALL = 0x0FFFFFFF
}

公開メンバ関数

PdfTk::PtlParamExtractText * getNative ()
 PtlParamExtractText ()
 コンストラクタ
 PtlParamExtractText (PtlParamExtractText^ obj)
 コピーコンストラクタ alias copy
 ~PtlParamExtractText ()
 デストラクタ
 !PtlParamExtractText ()
 ファイナライザ。
PtlParamExtractText operator= (PtlParamExtractText^ obj)
 コピーオペレータ alias copy
void setTextType (TEXT_TYPE type)
 抽出するテキストのタイプを設定。
void appendRect (PtlRect^ rectMM)
 テキスト抽出する範囲の矩形を追加。
void setIgnoreActualText (bool ignoreActualText)
 ActualTextを無視するかを設定。
void setTextOverlapRatio (float overlapRatio)
 テキストがテキスト抽出する範囲の矩形とどれくらい重なっていたら抽出対象とするか。
void setOverlapAsLine (float overlap)
 文字と文字がどれだけ重なっていると同じ行とみなすかの設定。
void setSameTextOmitRatio (float overlap)
 同じ文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの設定。
void setDifferentTextOmitRatio (float overlap, bool applyAtDifferentColor)
 違う文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの設定。
void setUnicodeToSpace (UNI_FLAG flag)
 指定のUnicodeをSpaceに置き換えるか設定。
void setUnicodeToSpace (wchar_t uni)
 指定のUnicodeをSpaceに置き換えるか設定。
void setUnicodeToRemove (UNI_FLAG flag)
 指定のUnicodeを削除するか設定。
void setUnicodeToRemove (wchar_t uni)
 指定のUnicodeを削除するか設定。
void setInsertReturn (bool insert)
 改行を挿入するか設定。

限定公開変数類

PdfTk::PtlParamExtractText * m_native

詳解

ページコンテントからのテキスト抽出処理のパラメータを表現したクラスです。

列挙型メンバ詳解

◆ TEXT_TYPE

列挙値
TEXT_RAW 

取得したテキストをそのまま抽出

TEXT_SORT 

取得したテキストを座標でソートして抽出

◆ UNI_FLAG

削除、若しくはスペース(U+0020)に変換するユニコード。

列挙値
UNI_C0_CONTROLS 

C0 Controls -> U+0000-U+001F

UNI_SPACE 

Space -> U+0020

UNI_NO_BREAK_SPACE 

NO-BREAK SPACE -> U+00A0

UNI_SOFT_HYPHEN 

SOFT HYPHEN -> U+00AD

UNI_SPACES 

Spaces -> U+2000-U+200B

UNI_IDEOGRAPHIC_SPACE 

IDEOGRAPHIC SPACE -> U+3000

UNI_VARIATION_SELECTOR 

VARIATION_SELECTOR -> U+FE00-U+FE0F

UNI_REPLACEMENT_CHARACTER 

REPLACEMENT CHARACTER -> U+FFFD

UNI_ALL 

上記全てを対象とする(今後フラグが増えたらそれも含む)。

構築子と解体子

◆ PtlParamExtractText() [1/2]

PdfTkNet::PtlParamExtractText::PtlParamExtractText ( )

コンストラクタ

例外
PtlException

◆ PtlParamExtractText() [2/2]

PdfTkNet::PtlParamExtractText::PtlParamExtractText ( PtlParamExtractText^ obj)

コピーコンストラクタ alias copy

引数
objコピー元オブジェクト。
例外
PtlException

◆ ~PtlParamExtractText()

PdfTkNet::PtlParamExtractText::~PtlParamExtractText ( )

デストラクタ

◆ !PtlParamExtractText()

PdfTkNet::PtlParamExtractText::!PtlParamExtractText ( )

ファイナライザ。

メソッド詳解

◆ appendRect()

void PdfTkNet::PtlParamExtractText::appendRect ( PtlRect^ rectMM)

テキスト抽出する範囲の矩形を追加。

引数
rectMM抽出矩形。
表示矩形(ViewBox)上の座標値をmm単位で指定してください。
ViewBoxの詳細については PtlPage#getViewBoxを参照してください。
例外
PtlException

◆ getNative()

PdfTk::PtlParamExtractText * PdfTkNet::PtlParamExtractText::getNative ( )

◆ operator=()

PtlParamExtractText PdfTkNet::PtlParamExtractText::operator= ( PtlParamExtractText^ obj)

コピーオペレータ alias copy

引数
objコピー元オブジェクト。

◆ setDifferentTextOmitRatio()

void PdfTkNet::PtlParamExtractText::setDifferentTextOmitRatio ( float overlap,
bool applyAtDifferentColor )

違う文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの設定。

違う文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの割合を設定します。
※ 設定しない場合はデフォルト値として0.0が設定されます。重なっていても取り除きません。
この設定はsetTextTypeでTEXT_SORTが設定された場合のみ有効です。

引数
overlap[in] 文字の重なり具合を割合でセットします。
applyAtDifferentColor[in] 色が違う場合にのみ適用するか設定します。
例外
PtlException

◆ setIgnoreActualText()

void PdfTkNet::PtlParamExtractText::setIgnoreActualText ( bool ignoreActualText)

ActualTextを無視するかを設定。

ActualTextを無視するかを設定します。
※ 設定しない場合はデフォルト値としてfalseが設定されます。

ActualTextの具体例

/Span<</ActualText<FEFF9DD7>>> BDC % ActualTextでU+9DD7が指定されている
-1.8 13.571 Td
<1DDE>Tj % この文字はU+9D0E
EMC

文字がU+9D0EとなっていてもActualTextの設定がありU+9DD7となっていたらU+9DD7で抽出されます。
setIgnoreActualTextでtrueを設定するとU+9D0Eで抽出されます。

※ 注意事項
PDFではActualTextが2箇所で使われています。
1つはコンテントのマーク付きコンテントで設定されているActualText。こちらは文字の置き換え用途で使われます。ActualTextの具体例で示したもの。
もう1つはタグの要素に付けられているActualText。こちらは画像などにつけて読み上げの時に読み上げられる名前です。
この関数で言うActualTextは前者です。

引数
ignoreActualText[in] ActualTextを無視する場合はtrueを指定します。
例外
PtlException

◆ setInsertReturn()

void PdfTkNet::PtlParamExtractText::setInsertReturn ( bool insert)

改行を挿入するか設定。

※ setTextTypeでTEXT_SORTを設定した場合のみ有効

引数
insert挿入するならtrue。

◆ setOverlapAsLine()

void PdfTkNet::PtlParamExtractText::setOverlapAsLine ( float overlap)

文字と文字がどれだけ重なっていると同じ行とみなすかの設定。

文字と文字がどれだけ重なっていると同じ行とみなすかの割合を設定します。
※ 設定しない場合はデフォルト値として0.7が設定されます。7割が重なっていると同じ行とみなされます。
この設定はsetTextTypeでTEXT_SORTが設定された場合のみ有効です。

引数
overlap[in] 文字の重なり具合を割合でセットします。
例外
PtlException

◆ setSameTextOmitRatio()

void PdfTkNet::PtlParamExtractText::setSameTextOmitRatio ( float overlap)

同じ文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの設定。

同じ文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの割合を設定します。
※ 設定しない場合はデフォルト値として0.0が設定されます。重なっていても取り除きません。
この設定はsetTextTypeでTEXT_SORTが設定された場合のみ有効です。

引数
overlap[in] 文字の重なり具合を割合でセットします。
例外
PtlException

◆ setTextOverlapRatio()

void PdfTkNet::PtlParamExtractText::setTextOverlapRatio ( float overlapRatio)

テキストがテキスト抽出する範囲の矩形とどれくらい重なっていたら抽出対象とするか。

テキストがテキスト抽出する範囲の矩形とどれくらい重なっていたら抽出対象とするかを割合でセットします。 設定しない場合は、0.3が設定されたとみなされます。

引数
overlapRatio[in] テキストが矩形とどれくらい重なっていたら抽出対象とするかをセットします。(0<overlapRatio<=1)

◆ setTextType()

void PdfTkNet::PtlParamExtractText::setTextType ( TEXT_TYPE type)

抽出するテキストのタイプを設定。

抽出するテキストのタイプを設定します。
※ 設定しない場合はデフォルト値としてTEXT_RAWが設定されます。

引数
type[in] 検索するテキストのタイプを指定します。
例外
PtlException

◆ setUnicodeToRemove() [1/2]

void PdfTkNet::PtlParamExtractText::setUnicodeToRemove ( UNI_FLAG flag)

指定のUnicodeを削除するか設定。

指定されたUnicodeを削除するか設定します。
※ 設定しない場合は削除しません。

引数
flag削除フラグ。UNI_XXXで指定。

◆ setUnicodeToRemove() [2/2]

void PdfTkNet::PtlParamExtractText::setUnicodeToRemove ( wchar_t uni)

指定のUnicodeを削除するか設定。

指定されたUnicodeを削除するか設定します。
※ 設定しない場合は削除しません。

引数
uniUnicode。

◆ setUnicodeToSpace() [1/2]

void PdfTkNet::PtlParamExtractText::setUnicodeToSpace ( UNI_FLAG flag)

指定のUnicodeをSpaceに置き換えるか設定。

指定されたUnicodeをSpace(U+0020)に置き換えるか設定します。
※ 設定しない場合はSpaceに置き換えません。

引数
flag置換フラグ。UNI_XXXで指定。

◆ setUnicodeToSpace() [2/2]

void PdfTkNet::PtlParamExtractText::setUnicodeToSpace ( wchar_t uni)

指定のUnicodeをSpaceに置き換えるか設定。

指定されたUnicodeをSpace(U+0020)に置き換えるか設定します。
※ 設定しない場合はSpaceに置き換えません。

引数
uniUnicode。

メンバ詳解

◆ m_native

PdfTk::PtlParamExtractText* PdfTkNet::PtlParamExtractText::m_native
protected