PDFTool.NET 7.0
PdfTkNet::PtlParamExtractText Class Reference

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

#include <NetParamExtractText.h>

Inheritance diagram for PdfTkNet::PtlParamExtractText:
Collaboration diagram for PdfTkNet::PtlParamExtractText:

Public Types

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
}
 削除、若しくはスペース(U+0020)に変換するユニコード。 More...

Public Member Functions

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を削除するか設定。

Protected Attributes

PdfTk::PtlParamExtractText * m_native

Detailed Description

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

Member Enumeration Documentation

◆ TEXT_TYPE

Enumerator
TEXT_RAW 

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

TEXT_SORT 

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

◆ UNI_FLAG

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

Enumerator
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 

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

Constructor & Destructor Documentation

◆ PtlParamExtractText() [1/2]

PdfTkNet::PtlParamExtractText::PtlParamExtractText ( )

コンストラクタ

Exceptions
PtlException

◆ PtlParamExtractText() [2/2]

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

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

Parameters
objコピー元オブジェクト。
Exceptions
PtlException

Member Function Documentation

◆ appendRect()

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

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

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

◆ operator=()

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

コピーオペレータ alias copy

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

◆ setDifferentTextOmitRatio()

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

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

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

Parameters
overlap[in] 文字の重なり具合を割合でセットします。
applyAtDifferentColor[in] 色が違う場合にのみ適用するか設定します。
Exceptions
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は前者です。

Parameters
ignoreActualText[in] ActualTextを無視する場合はtrueを指定します。
Exceptions
PtlException

◆ setOverlapAsLine()

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

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

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

Parameters
overlap[in] 文字の重なり具合を割合でセットします。
Exceptions
PtlException

◆ setSameTextOmitRatio()

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

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

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

Parameters
overlap[in] 文字の重なり具合を割合でセットします。
Exceptions
PtlException

◆ setTextOverlapRatio()

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

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

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

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

◆ setTextType()

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

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

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

Parameters
type[in] 検索するテキストのタイプを指定します。
Exceptions
PtlException

◆ setUnicodeToRemove() [1/2]

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

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

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

Parameters
flag削除フラグ。UNI_XXXで指定。

◆ setUnicodeToRemove() [2/2]

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

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

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

Parameters
uniUnicode。

◆ setUnicodeToSpace() [1/2]

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

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

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

Parameters
flag置換フラグ。UNI_XXXで指定。

◆ setUnicodeToSpace() [2/2]

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

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

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

Parameters
uniUnicode。