PDFTool
7.0
|
ページコンテントからのテキスト抽出処理のパラメータを表現したクラスです。 More...
#include <PtlParamExtractText.h>
Public Types | |
enum | TEXT_TYPE { TEXT_RAW = 1, TEXT_SORT = 2 } |
enum | UNI_FLAG { AHEXTRACTTEXT_UNI_C0_CONTROLS = 0x00000001, AHEXTRACTTEXT_UNI_SPACE = 0x00000002, AHEXTRACTTEXT_UNI_NO_BREAK_SPACE = 0x00000004, AHEXTRACTTEXT_UNI_SOFT_HYPHEN = 0x00000008, AHEXTRACTTEXT_UNI_SPACES = 0x00000010, AHEXTRACTTEXT_UNI_IDEOGRAPHIC_SPACE = 0x00000020, AHEXTRACTTEXT_UNI_VARIATION_SELECTOR = 0x00000040, AHEXTRACTTEXT_UNI_REPLACEMENT_CHARACTER = 0x00000080, AHEXTRACTTEXT_UNI_ALL = 0x0FFFFFFF } |
削除、若しくはスペース(U+0020)に変換するユニコード。 More... | |
Public Member Functions | |
int | getHandle () const |
PtlParamExtractText () | |
コンストラクタ More... | |
PtlParamExtractText (const PtlParamExtractText &obj) | |
コピーコンストラクタ More... | |
‾PtlParamExtractText () | |
デストラクタ | |
PtlParamExtractText & | operator= (const PtlParamExtractText &obj) |
コピーオペレータ More... | |
void | setTextType (TEXT_TYPE type) |
抽出するテキストのタイプを設定。 More... | |
void | appendRect (const PtlRect &rectMM) |
テキスト抽出する範囲の矩形を追加。 More... | |
void | setIgnoreActualText (bool ignoreActualText) |
ActualTextを無視するかを設定。 More... | |
void | setTextOverlapRatio (float overlapRatio) |
テキストがテキスト抽出する範囲の矩形とどれくらい重なっていたら抽出対象とするか。 More... | |
void | setOverlapAsLine (float overlap) |
文字と文字がどれだけ重なっていると同じ行とみなすかの設定。 More... | |
void | setSameTextOmitRatio (float overlap) |
同じ文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの設定。 More... | |
void | setDifferentTextOmitRatio (float overlap, bool applyAtDifferentColor) |
違う文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの設定。 More... | |
void | setUnicodeToSpace (int flag) |
指定のUnicodeをSpaceに置き換えるか設定。 More... | |
void | setUnicodeToSpace (CP_UChar uni) |
指定のUnicodeをSpaceに置き換えるか設定。 More... | |
void | setUnicodeToRemove (int flag) |
指定のUnicodeを削除するか設定。 More... | |
void | setUnicodeToRemove (CP_UChar uni) |
指定のUnicodeを削除するか設定。 More... | |
ページコンテントからのテキスト抽出処理のパラメータを表現したクラスです。
削除、若しくはスペース(U+0020)に変換するユニコード。
PdfTk::PtlParamExtractText::PtlParamExtractText | ( | ) |
コンストラクタ
PtlException |
PdfTk::PtlParamExtractText::PtlParamExtractText | ( | const PtlParamExtractText & | obj | ) |
void PdfTk::PtlParamExtractText::appendRect | ( | const PtlRect & | rectMM | ) |
テキスト抽出する範囲の矩形を追加。
テキストを抽出する矩形を設定しないとページ全体のテキストが取得されます。
rectMM | 抽出矩形。 表示矩形(ViewBox)上の座標値をmm単位で指定してください。 ViewBoxの詳細については PtlPage#getViewBoxを参照してください。 |
PtlException |
PtlParamExtractText& PdfTk::PtlParamExtractText::operator= | ( | const PtlParamExtractText & | obj | ) |
コピーオペレータ
obj | コピー元オブジェクト。 |
void PdfTk::PtlParamExtractText::setDifferentTextOmitRatio | ( | float | overlap, |
bool | applyAtDifferentColor | ||
) |
違う文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの設定。
違う文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの割合を設定します。
※ 設定しない場合はデフォルト値として0.0が設定されます。重なっていても取り除きません。
この設定はsetTextTypeでTEXT_SORTが設定された場合のみ有効です。
overlap | [in] 文字の重なり具合を割合でセットします。 |
applyAtDifferentColor | [in] 色が違う場合にのみ適用するか設定します。 |
void PdfTk::PtlParamExtractText::setIgnoreActualText | ( | bool | ignoreActualText | ) |
ActualTextを無視するかを設定。
ActualTextを無視するかを設定します。
※ 設定しない場合はデフォルト値としてfalseが設定されます。
ActualTextの具体例
文字がU+9D0EとなっていてもActualTextの設定がありU+9DD7となっていたらU+9DD7で抽出されます。
setIgnoreActualTextでtrueを設定するとU+9D0Eで抽出されます。
※ 注意事項
PDFにはActualTextが2箇所で使われています。
1つはコンテントのマーク付きコンテントで設定されているActualText。こちらは文字の置き換え用途で使われます。ActualTextの具体例で示したもの。
もう1つはタグの要素に付けられているActualText。こちらは画像などにつけて読み上げの時に読み上げられる名前です。
この関数で言うActualTextは前者です。
ignoreActualText | [in] ActualTextを無視する場合はtrueを指定します。 |
void PdfTk::PtlParamExtractText::setOverlapAsLine | ( | float | overlap | ) |
文字と文字がどれだけ重なっていると同じ行とみなすかの設定。
文字と文字がどれだけ重なっていると同じ行とみなすかの割合を設定します。
※ 設定しない場合はデフォルト値として0.7が設定されます。7割が重なっていると同じ行とみなされます。
この設定はsetTextTypeでTEXT_SORTが設定された場合のみ有効です。
overlap | [in] 文字の重なり具合を割合でセットします。 |
void PdfTk::PtlParamExtractText::setSameTextOmitRatio | ( | float | overlap | ) |
同じ文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの設定。
同じ文字が重なっている場合、文字と文字がどれだけ重なっていると取り除くかの割合を設定します。
※ 設定しない場合はデフォルト値として0.0が設定されます。重なっていても取り除きません。
この設定はsetTextTypeでTEXT_SORTが設定された場合のみ有効です。
overlap | [in] 文字の重なり具合を割合でセットします。 |
void PdfTk::PtlParamExtractText::setTextOverlapRatio | ( | float | overlapRatio | ) |
テキストがテキスト抽出する範囲の矩形とどれくらい重なっていたら抽出対象とするか。
テキストがテキスト抽出する範囲の矩形とどれくらい重なっていたら抽出対象とするかを割合でセットします。 設定しない場合は、0.3が設定されたとみなされます。
overlapRatio | [in] テキストが矩形とどれくらい重なっていたら抽出対象とするかをセットします。(0<overlapRatio<=1) |
void PdfTk::PtlParamExtractText::setTextType | ( | TEXT_TYPE | type | ) |
抽出するテキストのタイプを設定。
抽出するテキストのタイプを設定します。
※ 設定しない場合はデフォルト値としてTEXT_RAWが設定されます。
type | [in] 検索するテキストのタイプを指定します。 |
PtlException |
void PdfTk::PtlParamExtractText::setUnicodeToRemove | ( | CP_UChar | uni | ) |
指定のUnicodeを削除するか設定。
指定されたUnicodeを削除するか設定します。
※ 設定しない場合は削除しません。
uni | Unicode。 |
void PdfTk::PtlParamExtractText::setUnicodeToRemove | ( | int | flag | ) |
指定のUnicodeを削除するか設定。
指定されたUnicodeを削除するか設定します。
※ 設定しない場合は削除しません。
flag | 削除フラグ。UNI_XXXで指定。 |
void PdfTk::PtlParamExtractText::setUnicodeToSpace | ( | CP_UChar | uni | ) |
指定のUnicodeをSpaceに置き換えるか設定。
指定されたUnicodeをSpace(U+0020)に置き換えるか設定します。
※ 設定しない場合はSpaceに置き換えません。
uni | Unicode。 |
void PdfTk::PtlParamExtractText::setUnicodeToSpace | ( | int | flag | ) |
指定のUnicodeをSpaceに置き換えるか設定。
指定されたUnicodeをSpace(U+0020)に置き換えるか設定します。
※ 設定しない場合はSpaceに置き換えません。
flag | 置換フラグ。UNI_XXXで指定。 |