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 양식을 채울 수 있습니다.
- 먼저 Document 클래스를 사용하여 XFA 양식 파일을 로드합니다.
- 로드된 XFA 양식 필드의 이름을 가져옵니다.
- 필드 값을 설정합니다.
- 마지막으로 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 양식 읽기
아래 단계에 따라 채워진 XFA 양식을 읽을 수 있습니다.
- 먼저 Document 클래스를 이용하여 엑셀 파일을 불러옵니다.
- 로드된 XFA 양식 필드의 이름을 가져옵니다.
- 루프에서 GetFieldTemplate() 메서드를 사용하여 필드 세부 정보를 가져옵니다.
- 마지막으로 필드 속성을 표시합니다.
다음 코드 샘플은 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();
}
}
무료 라이선스 받기
임시 무료 라이선스를 신청하여 평가 제한 없이 API를 사용해 보세요.
결론
이 기사에서는 Adobe 라이터를 사용하지 않고 XFA 양식을 채우는 방법을 배웠습니다. 채워진 XFA 양식을 프로그래밍 방식으로 읽는 방법도 살펴보았습니다. 또한 문서를 사용하여 .NET API용 Aspose.PDF에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.