跳轉到主要內容
若要調整表格屬性,請使用程式碼編輯器中的 Search Conditions 區段。可用的屬性說明如下:

欄位搜尋參數

Parameter說明
Void AddHeaderKeyWord( String keyWord, String columnName, Real omissionQuality = worstQuality, Logic wholeWordMode = false, Logic multiLine = false )指定作為欄位名稱的關鍵字。
Void AddHeaderKeyHypothesis( Hypothesis hypothesis, String columnName )透過偵測到的假設來指定欄位名稱。
Void AddHeaderKeyHypothesis( XInterval left, YInterval top, XInterval right, YInterval bottom, String columnName )以座標指定欄位名稱的位置。
Void AddColumnType( TableColumnType type, String columnName, String regExp = emptyString )指定欄位類型。只有當欄位類型是正則運算式時,才需要指定第三個參數。TableColumnType 的可能值:
ColumnType_Text—Text 資料類型
ColumnType_Currency—Amount of money 資料類型
ColumnType_Date—Date 資料類型
ColumnType_RegExp—正則運算式
ColumnType_Number—Number 資料類型
Void ColumnOmissionQuality( Real quality, String columnName )若使用固定欄位順序,此參數會設定對假設的懲罰,定義為一個係數(介於 0 到 1 之間的數值),當在固定欄位順序中指定的欄位未被偵測到時,會以該係數乘以該假設的品質。預設值為 0.9。
Void MissingContentPenalty( Real quality, String columnName )設定對假設的懲罰,定義為一個係數(介於 0 到 1 之間的數值),當欄位中的實際資料類型與使用者指定的資料類型不一致時,會以該係數乘以該假設的品質。若未設定此參數,其預設值為 0.98。若使用欄位順序規則,此參數會指定表格中缺少該欄位時的懲罰係數。
Void ColumnBounds( XCoordinate left, XCoordinate right, String columnName )設定搜尋該欄位時的左右邊界。
Void ExactColumnBorders( XCoordinate left, XCoordinate right, String columnName )設定欄位的精確邊界。當部分(或全部)欄位的位置已事先知道時,可使用此參數來搜尋表格。
Void AddColumnContent( Hypothesis hypothesis, String columnName )透過偵測到的假設來指定欄位內容。
Void AddColumnContent( XInterval, XInterval, String )透過設定欄位的左右邊界來指定欄位內容。

用於設定欄位順序的 Parameters

Parameter說明
Void AddPossibleColumnsOrder( String orderName, StringArray columnNames )指定一種固定欄位順序的變體。
Void ColumnsRelation( StringArray columnNames )指定欄位順序的規則。

標頭搜尋參數

Parameter說明
Void HasHeader( Logic )指定活動是否應尋找標頭。
Void HeaderOptional( Real q1, Real q2 )指定標頭是否為可選項,類似於用於元素的 Void Optional ( Real q1, Real q2 ) 函式。
Void HeaderSearchArea( Rect )指定標頭的搜尋矩形區域。若使用此函式,標頭的搜尋區域將計算為此矩形與包圍整個表格搜尋區域之矩形的交集。
Void MaxHeaderHypothesesCount( Int )設定在標頭搜尋期間要產生的最大假設數量。
Void MinHeaderKeyElements( Int )設定偵測標頭所需的最少關鍵元素數量。預設值為 2。
Void ExtendHeaderLocalization( XInterval, YInterval, XInterval, YInterval )延伸被視為標頭的區域。例如,可用於排除位於標頭與表格主體之間、不需要的資訊行。
ParameterDescription
Void HasFooter( Logic has = true )指定作業是否應搜尋頁尾。
Void FooterOptional( Real q1, Real q2 )指定頁尾是否為可選,與用於元素的函式 Void Optional ( Real q1, Real q2 ) 類似。
Void FooterSearchArea( Rect )指定頁尾的搜尋矩形區域。若使用此函式,頁尾搜尋區域將計算為此矩形與包含整個資料表搜尋區域之矩形的交集。
Void FooterHasTopSeparator()指定在頁尾與資料表主體之間存在分隔符。分隔符可以是資料表邊界的一部分。
Void FooterWholeWordMode ( Logic wholeWordMode = true )在依關鍵字搜尋頁尾時使用此旗標。若將此旗標設為 True,則只由詞的一部分組成的假設會被捨棄。預設值為 False
Void FooterNearestToTop ( Logic )在依關鍵字搜尋頁尾時使用此旗標。若將此旗標設為 True,作業會選擇最接近頂端的候選項並捨棄其他候選項。若將此旗標設為 False,作業會考慮所有可能的候選項。頁尾的品質會影響資料表的品質,然後會選擇品質最高的資料表假設。預設值為 True
Void AddFooterKeyWord( String keyWord )指定資料表頁尾的關鍵字。
Void AddFooterKeyHypothesis( Hypothesis hypothesis )透過偵測到的假設來指定資料表的頁尾。
Void AddFooterKeyHypothesis( XInterval, YInterval, XInterval, YInterval )指定資料表頁尾的座標。

表格主體搜尋參數

ParameterDescription
Void DontFindBody()允許略過主體搜尋。用於偵錯。
Void BodyOptional( Real q1, Real q2 )指定主體是否為選用,類似於用於元素的函式 Void Optional( Real q1, Real q2 )。
Void IgnoreVerticalSeparators()在將表格劃分為欄時,忽略表格主體中的垂直分隔線(預設會考慮分隔線)。
Void IgnoreSeparatorsFromHeader()在將表格劃分為欄時,忽略表格表頭中的垂直分隔線(預設會考慮垂直分隔線)。
Void AutoDetectLeftAndRight( Logic )啟用表格左右邊界的自動偵測。預設為 True
Void AutoDetectTopAndBottom( Logic )啟用表格上下邊界的自動偵測。預設為 True。如果旗標設定為 False,則會使用表格元素搜尋區域內的全部文字。

列偵測參數

ParameterDescription
Void SingleLineTable( Logic )指示該活動,表格中的每一行文字必須對應表格中的一列。
Void SingleLineMasterColumn( Logic )指示該活動,表格主欄中的每一行文字必須對應主欄中的一列。
Void MaxRowVerticalGap( Distance )指定表格中兩列之間的最大垂直距離。若超過指定距離,則表示表格主體結束。預設情況下,此距離不受限制。
Void MinRowVerticalGap( Distance )指定表格中兩列之間的最小垂直距離。若距離小於指定值,這些列會被合併。預設值為 0。
Void MaxMasterColumnRowGap( Distance )指定表格主欄中兩列之間的最大垂直距離。若超過指定距離,則表示表格主體結束。預設情況下,此距離不受限制。
Void MinMasterColumnRowGap( Distance )指定特定欄位中兩列之間的最小垂直距離。若距離小於指定值,這些列會被合併。預設距離為 0。
Void IgnoreHorizontalSeparators()在將表格劃分為列時忽略水平分隔線。
Void DivideRowsBySeparators()僅依賴分隔線(並忽略文字)來偵測列。
Void DivideRowsByMasterColumn( String columnName )指示該活動在將表格劃分為列時使用此欄位中的文字。此函式可被多次呼叫。若影像上的表格沒有所需的欄位,則會使用下一次呼叫函式時指定的欄位,依此類推。若所有欄位都不可用,則會在整個表格中偵測列。
Void MasterColumnTextAlignment( TextAlignmentInTableCell )指定主欄中表格儲存格內的文字對齊方式。可用值:TextAlignment_CellTop、TextAlignment_CellBottom。範例:MasterColumnTextAlignment: TextAlignment_CellBottom; - 文字會對齊到儲存格的下邊界。
Void AddStopWord( String )指定不應為其繪製獨立列的詞彙。
Void RowSplitters( YCoordinateArray, Logic isBodyTopIncluded = true, Logic isBodyBottomIncluded = true )指定用來將表格劃分為列的分隔線:isBodyTopIncluded == true - 指定表格主體的上邊界;isBodyBottomIncluded == true - 指定表格主體的下邊界;isBodyTopIncluded == false - 表格主體的上邊界會自動偵測;isBodyBottomIncluded == false - 表格主體的下邊界會自動偵測。任何位於表格搜尋區域之外的指定分隔線都會被忽略。範例:let yArray = RepeatingGroup.AllInstances.GetYArray(1); RowSplitters( yArray );

多頁表格 Parameter

ParameterDescription
Void HeaderOnEachPage( Logic has = true )指定表格表頭出現在每一頁(每個單頁子表格的開頭)。
Void AddHeaderKeyHypotheses( HypothesisInstances, String columnName )透過一組套用於重複群組子元素的假設,在多個頁面上指定某個欄名稱。
Void FooterOnEachPage( Logic has = true )指定表格表尾出現在每一頁。
Void AddFooterKeyHypotheses( HypothesisInstances )透過一組套用於重複群組子元素的假設,在多個頁面上指定表格表尾。
Void PreviousInstances( TableHypothesisInstances )指定先前的表格實例(當表格位於重複群組內時)。假設實例的順序為由上而下,同一頁面內欄邊界不會移動,而不同頁面之間的欄邊界可能會有些微的水平位移。若表格沒有表頭或未偵測到表頭,則會利用先前的實例來搜尋欄或改善欄搜尋。