2017-03-13 3 views
2

Wie können wir vorhandene Werte von Formularsteuerelementen in Word-Dokumenten mit GemBox.Document schreiben oder ändern?
fand ich die Beispiele für creating und reading, aber ich kann man für das Schreiben einfach nicht finden ...Bearbeiten von Formularsteuerelementen mit GemBox.Document

Ich habe versucht, dies mit:

// Input file from 'reading' example. 
DocumentModel document = DocumentModel.Load("FormFilled.docx"); 
FormFieldDataCollection formData = document.Content.FormFieldsData; 

FormFieldData fullNameData = formData.First(ffd => ffd.Name == "FullName"); 

// I cannot do this, FormFieldData.Value is read only! 
fullNameData.Value = "My Name"; 

Aber FormFieldData.Value hat nur get, ist so dies möglich ist oder nicht ?

Antwort

1

Ja, das ist möglich, versuchen Sie dies:

DocumentModel document = DocumentModel.Load("FormFilled.docx"); 
// Get a snapshot of all form fields in the document. 
FormFieldDataCollection formData = document.Content.FormFieldsData; 

// Edit "FullName" text box field. 
FormTextData fullNameData = (FormTextData)formData["FullName"]; 
fullNameData.Field.ResultInlines.Content.LoadText("Jane Doe"); 

// Edit "BirthDate" text box field. 
FormTextData birthDateData = (FormTextData)formData["BirthDate"]; 
birthDateData.Field.ResultInlines.Content.LoadText(
    new DateTime(2000, 1, 1).ToString(birthDateData.ValueFormat)); 

// Edit "Salary" text box field. 
FormTextData salaryData = (FormTextData)formData["Salary"]; 
salaryData.Field.ResultInlines.Content.LoadText(
    5432.1.ToString(salaryData.ValueFormat)); 

// Uncheck "Married" check box field. 
FormCheckBoxData marriedData = (FormCheckBoxData)formData["Married"]; 
marriedData.Value = false; 

// Select "Female" from drop down field, note that "genderData.Items 
// contains a list of drop down field's items that you can select. 
FormDropDownData genderData = (FormDropDownData)formData["Gender"]; 
genderData.SelectedItemIndex = 2; 

document.Save("FormFilledOutput.docx"); 

Ich hoffe, das hilft.

UPDATE:

in einem von einer neueren GemBox.Document Bug fix Versionen der FormTextData.Value Eigenschaft sowohl Getter und Setter hat, so dass die oben kann mit folgenden vereinfacht werden:

// Edit "FullName" text box field. 
FormTextData fullNameData = (FormTextData)formData["FullName"]; 
fullNameData.Value = "Jane Doe"; 

// Edit "BirthDate" text box field. 
FormTextData birthDateData = (FormTextData)formData["BirthDate"]; 
birthDateData.Value = new DateTime(2000, 1, 1); 

// Edit "Salary" text box field. 
FormTextData salaryData = (FormTextData)formData["Salary"]; 
salaryData.Value = 5432.1; 

Auch Sie können sich auf this example beziehen.

+0

Danke Mario, es hilft! – Kipper

Verwandte Themen