Passer au contenu principal
Ces scripts d’exemple montrent comment gérer les événements de fusion de documents dans ABBYY FlexiCapture. Chaque exemple est disponible à la fois en VBScript et en JScript.

Convertir l’événement Pages moved en événement de fusion de documents

Ce gestionnaire se déclenche lors de l’événement Pages moved et le convertit en événement de fusion de documents. Si toutes les pages d’un document sont déplacées, ce document est entièrement incorporé au document cible. La procédure Events.OnDocumentsMerge gère l’événement de fusion de documents.

VBScript

Dim currentDocument, currentDocumentPagesMoved
set currentDocument = Pages( 0 ).Document
currentDocumentPagesMoved = 0

For i = 0 to Pages.Count - 1
    If Pages( i ).Document.Id <> currentDocument.Id Then
        ' Le document suivant
        If currentDocument.Pages.Count = currentDocumentPagesMoved Then
            ' Toutes les pages ont été déplacées depuis le document précédent. L'événement est déclenché.
            Events.OnDocumentsMerge TargetDocument, currentDocument
        End If
        Set currentDocument = Pages( i ).Document
    Else
Next

If currentDocument.Pages.Count = currentDocumentPagesMoved Then
    ' Toutes les pages ont été déplacées depuis le dernier document. L'événement est déclenché.
    Events.OnDocumentsMerge TargetDocument, currentDocument
End If

JScript

var currentDocument = Pages( 0 ).Document;
var currentDocumentPagesMoved = 0;

for( i = 0; i < Pages.Count - 1; i++ ) {
    if( Pages( i ).Document.Id != currentDocument.Id ) {
        // Le document suivant
        if( currentDocument.Pages.Count == currentDocumentPagesMoved ) {
            // Toutes les pages ont été déplacées depuis le document précédent. L'événement est déclenché.
            Events.OnDocumentsMerge( TargetDocument, currentDocument );
        }
        currentDocument = Pages( i ).Document;
    } else {
        currentDocumentPagesMoved = currentDocumentPagesMoved + 1;
    }
}

if( currentDocument.Pages.Count == currentDocumentPagesMoved ) {
    // Toutes les pages ont été déplacées depuis le dernier document. L'événement est déclenché.
    Events.OnDocumentsMerge( TargetDocument, currentDocument )
}

Fusionner les paramètres d’enregistrement lors de la fusion de documents

Ce gestionnaire fusionne les paramètres d’enregistrement des documents lors de l’événement de fusion de documents. Lorsque des documents sont fusionnés dans un document cible, seuls les paramètres absents du document cible sont ajoutés à partir des nouveaux documents. Stockez ce code dans un module partagé et appelez la procédure OnDocumentsMerge lorsque des documents sont fusionnés. Pour plus d’informations, consultez Transformer l’événement Pages moved en événement de fusion de documents.

VBScript

Sub MergeProperty(ByVal TargetDocument, ByVal propertyName, ByVal propertyValue)
    If TargetDocument.Properties.Get(propertyName) = "" Then
        ' Le document ne contient pas ce paramètre.
        TargetDocument.Properties.Set(propertyName, propertyValue)
    End If
End Sub

Sub OnDocumentsMerge(ByVal Target, ByVal Document)
    ' Fusion des paramètres d'enregistrement.
    For i = 0 To Document.Properties.Count - 1
        MergeProperty(Target, Document.Properties(i).Name, Document.Properties(i).Value)
    Next
End Sub

JScript

function MergeProperty( TargetDocument, propertyName, propertyValue )
{
    if( TargetDocument.Properties.Get( propertyName ) == "" ) {
        // Le document ne contient pas ce paramètre.
        TargetDocument.Properties.Set( propertyName, propertyValue );
    }
}

function OnDocumentsMerge( Target, Document )
{
    // Fusion des paramètres d'enregistrement.
    for( i = 0; i < Document.Properties.Count - 1; i++ ) {
        MergeProperty( Target, Document.Properties(i).Name, Document.Properties(i).Value );
    }
}