잘못된 양식 필드 수집 수정 및 저장
소개
환영! 문서의 양식 필드로 작업 중이고 잘못된 양식 필드 컬렉션 문제에 직면한 경우 올바른 위치에 오셨습니다. 이 튜토리얼에서는 잘못된 양식 필드를 수정하고 .NET용 Groupdocs.Editor를 사용하여 문서를 저장하는 방법을 자세히 살펴보겠습니다. 프로세스를 단계별로 안내하여 원활하게 작동하는 데 필요한 모든 세부 정보를 제공합니다. 시작하자!
전제조건
코드를 시작하기 전에 준비해야 할 몇 가지 사항이 있습니다.
- .NET용 Groupdocs.Editor: .NET용 Groupdocs.Editor 라이브러리를 설치했는지 확인하십시오. 당신은 그것을 다운로드 할 수 있습니다여기.
- 개발 환경: Visual Studio와 같은 .NET 개발 환경이 설정되어 있어야 합니다.
- C#에 대한 기본 지식: 이 자습서에서는 사용자가 C# 프로그래밍에 대한 기본 지식을 가지고 있다고 가정합니다.
네임스페이스 가져오기
먼저 C# 프로젝트에서 필요한 네임스페이스를 가져와야 합니다. 코드 파일 시작 부분에 다음 줄을 추가합니다.
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.Options;
using GroupDocs.Editor.Words.FieldManagement;
using System;
using System.IO;
1단계: 입력 파일 경로 가져오기
첫 번째 단계는 입력 파일의 경로를 지정하는 것입니다. 이 파일은 양식 필드가 포함된 DOCX 문서여야 합니다.
string inputFilePath = Constants.SampleLegacyFormFields_docx;
2단계: 파일 경로에서 스트림 생성
다음으로, 입력 문서를 읽기 위한 파일 스트림을 만듭니다. 그러면 문서를 편집기에 로드할 수 있습니다.
using (FileStream fs = File.OpenRead(inputFilePath))
3단계: 문서에 대한 로드 옵션 만들기
이 단계에서는 문서에 대한 로드 옵션을 생성해야 합니다. 문서가 비밀번호로 보호되어 있는 경우 비밀번호를 지정할 수 있습니다. 이 예에서는 문서가 보호되지 않으므로 비밀번호가 무시됩니다.
WordProcessingLoadOptions loadOptions = new WordProcessingLoadOptions();
loadOptions.Password = "some_password_to_open_a_document";
4단계: 편집기 인스턴스에 문서 로드
이제 지정된 옵션이 포함된 문서를 Editor 인스턴스에 로드합니다. 여기에서 문서에 대한 주요 작업이 수행됩니다.
using (Editor editor = new Editor(delegate { return fs; }, delegate { return loadOptions; }))
4.1단계: FormFieldManager 인스턴스 읽기
그만큼FormFieldManager
인스턴스는 문서의 양식 필드를 관리하는 역할을 담당합니다. 양식 필드에 액세스하고 조작하려면 이 인스턴스를 읽어야 합니다.
FormFieldManager fieldManager = editor.FormFieldManager;
4.2단계: FormFieldCollection 읽기
그만큼FormFieldCollection
문서의 모든 양식 필드를 포함합니다. 잘못된 양식 필드를 확인하고 수정하려면 이 컬렉션을 읽으세요.
FormFieldCollection collection = fieldManager.FormFieldCollection;
4.3단계: 잘못된 양식 필드 자동 수정
문서의 잘못된 양식 필드를 자동 수정해 보세요. 이는 명백한 문제를 해결하기 위한 예비 단계입니다.
fieldManager.FixInvalidFormFieldNames(new InvalidFormField[0]);
collection = fieldManager.FormFieldCollection;
4.4단계: 잘못된 양식 필드 확인
자동 수정 시도 후 유효하지 않은 양식 필드가 남아 있는지 확인하세요.
bool hasInvalidFormFields = fieldManager.HasInvalidFormFields();
Console.WriteLine("FormFieldCollection contains invalid items: {0}", hasInvalidFormFields);
4.4.1단계: 잘못된 양식 필드 이름 모두 가져오기
유효하지 않은 모든 양식 필드의 이름을 검색합니다. 이 이름은 필드를 수정하는 데 사용됩니다.
var invalidFormFields = fieldManager.GetInvalidFormFieldNames();
4.4.2단계: 잘못된 필드에 대한 고유 이름 만들기
유효하지 않은 각 양식 필드에 대해 고유한 이름을 만듭니다. 이렇게 하면 기존 양식 필드 이름과 충돌이 발생하지 않습니다.
foreach (var invalidItem in invalidFormFields)
{
invalidItem.FixedName = string.Format("{0}_{1}", invalidItem.Name, Guid.NewGuid());
}
4.4.3단계: 잘못된 양식 필드 수정
이전 단계에서 생성한 고유 이름을 사용하여 잘못된 양식 필드를 수정하세요.
fieldManager.FixInvalidFormFieldNames(invalidFormFields);
collection = fieldManager.FormFieldCollection;
5단계: 문서 저장 옵션 생성
문서 저장 옵션을 설정합니다. 여기에는 형식 지정 및 추가 저장 설정이 포함됩니다.
WordProcessingFormats docFormat = WordProcessingFormats.Docx;
WordProcessingSaveOptions saveOptions = new WordProcessingSaveOptions(docFormat);
5.1단계: 메모리 사용량 최적화
문서가 커서 오류가 발생할 수 있는 경우OutOfMemoryException
메모리 최적화 옵션을 활성화합니다.
saveOptions.OptimizeMemoryUsage = true;
5.2단계: 문서 쓰기 방지
양식 필드를 제외하고 문서가 수정되지 않도록 보호하려면 보호 비밀번호를 설정하세요.
saveOptions.Protection = new WordProcessingProtection(WordProcessingProtectionType.AllowOnlyFormFields, "write_password");
6단계: 문서 저장
마지막으로 지정된 저장 옵션을 사용하여 문서를 저장합니다. 출력 문서를 저장하기 위한 메모리 스트림을 준비합니다.
using (MemoryStream outputStream = new MemoryStream())
{
editor.Save(outputStream, saveOptions);
}
Console.WriteLine("FixInvalidFormFieldCollectionAndSave routine has successfully finished");
결론
그리고 거기에 있습니다! 잘못된 양식 필드를 성공적으로 수정하고 .NET용 Groupdocs.Editor를 사용하여 문서를 저장했습니다. 이 단계별 가이드는 프로세스를 명확하고 관리하기 쉽게 만들었습니다. 문제가 발생하거나 궁금한 점이 있으면 언제든지 확인하세요.선적 서류 비치 아니면 연락해지원하다.
FAQ
내 문서가 비밀번호로 보호되어 있으면 어떻게 되나요?
비밀번호는 다음에서 지정할 수 있습니다.WordProcessingLoadOptions
문서를 열려면
잘못된 양식 필드가 있는지 어떻게 알 수 있나요?
사용HasInvalidFormFields
문서에 잘못된 양식 필드가 있는지 확인하는 방법입니다.
이름을 변경하지 않고 양식 필드를 수정할 수 있나요?
충돌을 방지하려면 잘못된 양식 필드에 대해 고유한 이름을 만드는 것이 좋습니다.
문서를 어떤 형식으로 저장할 수 있나요?
적절한 설정을 통해 DOCX, PDF 등과 같은 다양한 형식으로 문서를 저장할 수 있습니다.WordProcessingFormats
.
대용량 문서를 저장하는 동안 메모리 사용량을 최적화하려면 어떻게 해야 합니까?
활성화OptimizeMemoryUsage
옵션WordProcessingSaveOptions
대용량 문서를 효율적으로 처리합니다.