2017-03-13 7 views
2

GemBox.Document를 사용하여 Word 문서의 양식 컨트롤의 기존 값을 쓰거나 수정할 수있는 방법은 무엇입니까?
나는 creatingreading에 대한 예제를 찾았지만, 난 그냥 GemBox.Document를 사용하여 양식 컨트롤 편집

내가이 사용하여 시도 ... 쓰기 위해 하나 찾을 수 없습니다 :

// 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"; 

을하지만, 그래서이 불가능하거나뿐만 아니라 getFormFieldData.Value입니다했다 ?

답변

1

예이 가능하며,이 시도 :

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"); 

도움이 되었기를 바랍니다.

UPDATE :FormTextData.Value 재산권 게터와 세터를 모두 가진 새로운 GemBox.Document의 버그 수정 버전 중 하나

되므로 상기로 단순화 될 수있다 다음 또한

// 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; 

this example을 참조하십시오.

+0

감사합니다. Mario, 도움이됩니다. – Kipper