Vorabausfüllen von Formularen

Wenn Sie Formulare vorab ausfüllen, werden dem Benutzer im wiedergegebenen Formular Daten angezeigt. Beispiel: Ein Benutzer meldet sich mit Benutzername und Kennwort bei einer Website an. Wenn die Authentifizierung erfolgreich ist, fragt die benutzerdefinierte Anwendung Benutzerinformationen aus einer Datenbank ab. Die Daten werden mit dem Formular zusammengeführt und anschließend wird das Formular für den Benutzer wiedergegeben. Dem Benutzer können somit personalisierte Daten im Formular angezeigt werden.

Das Vorabausfüllen von Formularen hat folgende Vorteile:

  • Benutzer können individuelle Daten in einem Formular anzeigen.

  • Der manuelle Eingabeaufwand beim Ausfüllen des Formulars verringert sich.

  • Die Datenintegrität wird sichergestellt, da die Platzierung der Daten gesteuert wird.

    Formulare können aus den beiden folgenden XML-Datenquellen vorab ausgefüllt werden:

  • Eine XDP-Datenquelle, also XML, die der XFA-Syntax entspricht (oder XFDF-Daten, um ein mit Acrobat erstelltes Formular vorab auszufüllen).

  • Eine beliebige XML-Datenquelle, die Paare aus Namen und Werten enthält, die den Feldnamen des Formulars entsprechen.

    Für jedes Formularfeld, das vorab ausgefüllt werden soll, muss es ein XML-Element geben. Der Name des XML-Elements muss dem Feldnamen entsprechen. Ein XML-Element wird ignoriert, wenn es keinem Formularfeld entspricht oder der Name des XML-Elements nicht dem Feldnamen entspricht. Die Reihenfolge, in der die XML-Elemente angezeigt werden, muss nicht angegeben werden, sofern alle XML-Elemente angegeben sind.

    Wenn Sie ein Formular vorab ausfüllen, das bereits Daten enthält, müssen Sie die bereits angezeigten Daten in der XML-Datenquelle angeben. Angenommen, ein Formular mit zehn Feldern enthält in vier Feldern Daten. Die restlichen sechs Felder sollen vorab ausgefüllt werden. In diesem Fall müssen Sie in der XML-Datenquelle, die zum Vorabausfüllen des Formulars verwendet wird, zehn XML-Elementen angeben. Wenn Sie nur sechs Elemente angeben, sind die ursprünglichen vier Felder leer.

    Um beispielsweise ein Bestätigungsformular vorab auszufüllen, müssen Sie eine XML-Datenquelle erstellen, die drei mit den drei Formularfeldern übereinstimmende XML-Elemente enthält. Dieses Formular enthält die folgenden drei Felder: FirstName, LastName, Amount. Im ersten Schritt erstellen Sie eine XML-Datenquelle mit XML-Elementen, die den Feldern im Formularentwurf entsprechen. Dieser Schritt wird im folgenden XML-Code beschrieben.

    <Untitled> 
        <FirstName> 
        <LastName> 
        <Amount> 
    </Untitled>

    Als nächsten Schritt weisen Sie den XML-Elementen wie im folgenden XML-Code Datenwerte zu.

    <Untitled> 
        <FirstName>Jerry</FirstName> 
        <LastName>Johnson</LastName> 
        <Amount>250000</Amount> 
    </Untitled>

    Wenn Sie das Bestätigungsformular mit dieser XML-Datenquelle vorab ausfüllen und das Formular wiedergeben, werden die den XML-Elementen zugewiesenen Datenwerte angezeigt. Die angezeigten Datenwerte werden in der folgenden Abbildung angezeigt.

Vorabausfüllen von Formularen mit fließendem Layout

Formulare mit fließendem Layout sind nützlich, um Benutzern eine unbestimmte Menge von Daten anzuzeigen. Das Layout eines Formulars passt sich automatisch an die zusammengeführte Datenmenge an. Daher müssen Sie keine feste Seitenzahl für das Formular festlegen, wie dies bei festen Formularen erforderlich ist.

Formulare mit fließendem Layout werden meist mit Daten ausgefüllt, die zur Laufzeit erfasst werden. Sie können daher Formulare vorab ausfüllen, indem Sie eine im Speicher befindliche XML-Datenquelle erstellen und die Daten direkt in diese Datenquelle schreiben.

Die folgende Abbildung zeigt ein Beispiel eines Bestellformulars mit fließendem Layout.

Grafik in Originalgröße anzeigen
A.
Der dynamische Teil des Formulars

B.
Die Kopfzeilendaten des Formulars

Hinweis: Formulare können mit Daten aus anderen Quellen, wie z. B. einer Unternehmensdatenbank oder externen Anwendungen, vorab ausgefüllt werden.

Grundlegendes zu Datenuntergruppen

XML-Datenquellen werden zum Vorabausfüllen von Formularen verwendet. Eine XML-Datenquelle, die zum Vorabausfüllen eines Formulars mit fließendem Layout verwendet wird, enthält vier sich wiederholende Datenuntergruppen. Der folgende XML-Code zeigt die XML-Datenquelle, die zum Vorabausfüllen des Bestellformulars verwendet wird.

    <header>  
        <!-- XML elements used to prepopulate non-repeating fields such as address 
        <!and city  
        <txtPONum>8745236985</txtPONum>  
        <dtmDate>2004-02-08</dtmDate>  
        <txtOrderedByCompanyName>Any Company Name</txtOrderedByCompanyName>  
        <txtOrderedByAddress>555, Any Blvd.</txtOrderedByAddress>  
        <txtOrderedByCity>Any City</txtOrderedByCity>  
        <txtOrderedByStateProv>ST</txtOrderedByStateProv>  
        <txtOrderedByZipCode>12345</txtOrderedByZipCode>  
        <txtOrderedByCountry>Any Country</txtOrderedByCountry>  
        <txtOrderedByPhone>(123) 456-7890</txtOrderedByPhone>  
        <txtOrderedByFax>(123) 456-7899</txtOrderedByFax>  
        <txtOrderedByContactName>Contact Name</txtOrderedByContactName>  
        <txtDeliverToCompanyName>Any Company Name</txtDeliverToCompanyName>  
        <txtDeliverToAddress>7895, Any Street</txtDeliverToAddress>  
        <txtDeliverToCity>Any City</txtDeliverToCity>  
        <txtDeliverToStateProv>ST</txtDeliverToStateProv>  
        <txtDeliverToZipCode>12346</txtDeliverToZipCode>  
        <txtDeliverToCountry>Any Country</txtDeliverToCountry>  
        <txtDeliverToPhone>(123) 456-7891</txtDeliverToPhone>  
        <txtDeliverToFax>(123) 456-7899</txtDeliverToFax>  
        <txtDeliverToContactName>Contact Name</txtDeliverToContactName>  
    </header>  
    <detail>  
        <!-- A data subgroup that contains information about the monitor> 
        <txtPartNum>00010-100</txtPartNum>  
        <txtDescription>Monitor</txtDescription>  
        <numQty>1</numQty>  
        <numUnitPrice>350.00</numUnitPrice>  
    </detail>  
    <detail>  
        <!-- A data subgroup that contains information about the desk lamp> 
        <txtPartNum>00010-200</txtPartNum>  
        <txtDescription>Desk lamps</txtDescription>  
        <numQty>3</numQty>  
        <numUnitPrice>55.00</numUnitPrice>  
    </detail>  
    <detail> 
        <!-- A data subgroup that contains information about the Phone> 
            <txtPartNum>00025-275</txtPartNum>  
            <txtDescription>Phone</txtDescription>  
            <numQty>5</numQty>  
            <numUnitPrice>85.00</numUnitPrice>  
    </detail>  
    <detail> 
        <!-- A data subgroup that contains information about the address book> 
        <txtPartNum>00300-896</txtPartNum>  
        <txtDescription>Address book</txtDescription>  
        <numQty>2</numQty>  
        <numUnitPrice>15.00</numUnitPrice>  
    </detail>

Jede der Datenuntergruppen enthält vier XML-Elemente, die folgenden Informationen entsprechen:

  • Teilenummer des Artikels

  • Artikelbeschreibung

  • Artikelmenge

  • Stückpreis

    Der Name des übergeordneten XML-Elements einer Datenuntergruppe muss mit dem Namen des Unterformulars im Formularentwurf übereinstimmen. In der obigen Abbildung lautet der Name des übergeordneten XML-Elements der Datenuntergruppe beispielsweise detail. Dies entspricht dem Namen des Unterformulars, das in dem Formularentwurf enthalten ist, auf dem das Bestellformular basiert. Stimmen der Name des übergeordneten XML-Elements der Datenuntergruppe und der Name des Unterformulars nicht überein, wird das serverseitige Formular nicht vorab ausgefüllt.

    Jede Datenuntergruppe muss XML-Elemente enthalten, die mit den Feldnamen im Unterformular übereinstimmen. Das im Formularentwurf enthaltene Unterformular detail enthält folgende Felder:

  • txtPartNum

  • txtDescription

  • numQty

  • numUnitPrice