C#을 사용하여 XFA 양식 작성 및 읽기

Adobe는 XFA 양식이라고 하는 대화형 동적 양식을 도입했습니다. XFA는 XML Forms Architecture의 약자입니다. XFA 형식은 HTML 파일과 유사합니다. 여기에는 채울 수 있는 필드가 포함되어 있으며 PDF 문서에 포함된 양식으로 레이아웃이나 모양을 결정합니다. 이 기사에서는 C#을 사용하여 XFA 양식을 채우고 읽는 방법을 배웁니다.

이 기사에서는 다음 주제를 다룹니다.

XFA 양식을 읽고 채우는 C# API

XFA PDF 양식 작업을 위해 Aspose.PDF for .NET API를 사용할 것입니다. Adobe Acrobat을 사용하지 않고 지원 문서를 생성, 수정, 변환, 렌더링, 보안 및 인쇄할 수 있습니다. API의 DLL을 다운로드하거나 NuGet을 사용하여 설치하십시오.

PM> Install-Package Aspose.Pdf

C#을 사용하여 XFA 양식 채우기

아래 단계에 따라 프로그래밍 방식으로 XFA 양식을 채울 수 있습니다.

  1. 먼저 Document 클래스를 사용하여 XFA 양식 파일을 로드합니다.
  2. 로드된 XFA 양식 필드의 이름을 가져옵니다.
  3. 필드 값을 설정합니다.
  4. 마지막으로 Save() 메서드를 호출합니다. 출력 파일의 경로를 인수로 사용합니다.

다음 코드 샘플은 C#을 사용하여 XFA 양식을 채우는 방법을 보여줍니다.

// 이 코드 예제는 XFA 양식을 채우는 방법을 보여줍니다.
// XFA 양식 로드
Document doc = new Document(@"C:\Files\PDF\FillXFAFields.pdf");

// XFA 양식 필드의 이름 가져오기
string[] names = doc.Form.XFA.FieldNames;

// 필드 값 설정
doc.Form.XFA[names[0]] = "12345";
doc.Form.XFA[names[1]] = "24/02/2022";
doc.Form.XFA[names[2]] = "Company Name";
doc.Form.XFA[names[3]] = "Company Address";
doc.Form.XFA[names[4]] = "Company City";
doc.Form.XFA[names[5]] = "Canada";
doc.Form.XFA[names[6]] = "Alberta";
doc.Form.XFA[names[7]] = "T9S";
doc.Form.XFA[names[8]] = "+112345567";
doc.Form.XFA[names[10]] = "Mr. John Smith";
doc.Form.XFA[names[11]] = "Delivered to Company Name";
doc.Form.XFA[names[12]] = "Delivery Company Address";
doc.Form.XFA[names[13]] = "Delivery City";
doc.Form.XFA[names[17]] = "+123456789";
doc.Form.XFA[names[19]] = "Mr. Will Smith";
doc.Form.XFA[names[22]] = "57251";

// 양식 저장
doc.Save(@"C:\Files\PDF\Filled_XFA_out.pdf");
C#을 사용하여 XFA 양식을 작성합니다.

C#을 사용하여 XFA 양식을 작성합니다.

C#을 사용하여 XFA 양식 읽기

아래 단계에 따라 채워진 XFA 양식을 읽을 수 있습니다.

  1. 먼저 Document 클래스를 이용하여 엑셀 파일을 불러옵니다.
  2. 로드된 XFA 양식 필드의 이름을 가져옵니다.
  3. 루프에서 GetFieldTemplate() 메서드를 사용하여 필드 세부 정보를 가져옵니다.
  4. 마지막으로 필드 속성을 표시합니다.

다음 코드 샘플은 C#을 사용하여 채워진 XFA 양식을 읽는 방법을 보여줍니다.

// 이 코드 예제는 채워진 XFA 양식을 읽는 방법을 보여줍니다.
// XFA 양식 로드
Document doc = new Document(@"C:\Files\PDF\Filled_XFA_out.pdf");

// XFA 양식 필드의 이름 가져오기
string[] names = doc.Form.XFA.FieldNames;

for (int count=0; count<names.Length; count++)
{
    // 필드 세부정보 가져오기
    var field = doc.Form.XFA.GetFieldTemplate(names[count]);
    string fieldName = doc.Form.XFA.GetFieldTemplate(names[count]).InnerText;
    string fieldValue = doc.Form.XFA[names[count]];

    if (!string.IsNullOrEmpty(fieldValue) && fieldValue != "0")
    {
        Console.WriteLine("Field Name : " + field.Attributes["name"].Value);
        Console.WriteLine("Field Description : " + fieldName);
        Console.WriteLine("Field Value : " + fieldValue);
        Console.WriteLine();
    }
}
C#을 사용하여 채워진 XFA 양식을 읽습니다.

C#을 사용하여 채워진 XFA 양식을 읽습니다.

무료 라이선스 받기

임시 무료 라이선스를 신청하여 평가 제한 없이 API를 사용해 보세요.

결론

이 기사에서는 Adobe 라이터를 사용하지 않고 XFA 양식을 채우는 방법을 배웠습니다. 채워진 XFA 양식을 프로그래밍 방식으로 읽는 방법도 살펴보았습니다. 또한 문서를 사용하여 .NET API용 Aspose.PDF에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.

또한보십시오