
PDF 형식의 주요 장점 중 하나는 “What You See Is What You Get”(WYSIWYG) 방식입니다. 따라서 PDF 형식은 렌더링 및 보기에 대한 표준이 높습니다. 화면에 나타나는 모든 것은 다른 사용자의 기기에서도 동일한 방식으로 나타납니다. 사용자가 사용하는 운영 체제, 화면 해상도 또는 소프트웨어에 관계없이 말입니다. 따라서 모든 PDF는 문서를 어떤 기기에서 보든 모든 플랫폼에서 일관됩니다.
보기 외에도 PDF 파일을 인쇄할 때 내용의 충실성도 보장됩니다. 데이터가 문서에 채워지면 데이터 보안이 더욱 중요합니다. 따라서 데이터 무결성을 보장하고 올바른 사람이 데이터에 액세스할 수 있어야 합니다. 전자 문서를 증거로 사용하는 것을 고려할 때 변경되지 않은 원본 버전이어야 합니다. 그러면 이러한 전자 문서 또는 데이터 메시지가 법정에서 허용됩니다. 또한 추가 처리를 위한 수많은 PDF 양식 파서 응용 프로그램을 받게 됩니다.
이제 크로스 플랫폼 기능 측면에서 PDF와 유사한 HTML 형식을 고려해 보겠습니다. 하지만 다시 한번 다양한 플랫폼과 브라우저에서 테스트를 거쳐 제대로 작동하는지 확인해야 합니다. 보기뿐만 아니라 인쇄 기능도 테스트해야 합니다. 각 브라우저에 대한 클레임을 검증하려면 엄청난 양의 테스트를 거쳐야 합니다. HTML 양식의 데이터 보안 측면을 살펴보면 보안은 항상 문제로 남아 있습니다.
PDF 아크로폼
이 기술은 양식 이미지 위에 오버레이로 양식 필드를 추가하는 것을 포함합니다. Adobe는 나중에 XFA Forms(때로는 Designer Forms라고 함)를 2003년 PDF 1.5와 Acrobat 6에 도입했습니다. XFA Forms와 AcroForms는 모두 Acrobat 6 이상에서 지원됩니다. 반면, 현재 AcroForms는 많은 타사 PDF 뷰어 애플리케이션에서 널리 지원됩니다. AcroForms는 양식 필드가 포함된 PDF 파일입니다. 최종 사용자 또는 양식 작성자가 이러한 필드에 데이터를 입력할 수 있습니다. 내부적으로 AcroForms는 PDF 문서에 적용된 주석 또는 필드입니다. Forms Data Format(FDF) 파일(키:값 쌍이 포함된 포맷된 ASCII 파일)을 사용하여 쉽게 채울 수 있습니다.
Adobe XFA 양식
XFA Forms(XML Forms Architecture)는 Adobe가 인기 있는 FDF 및 XFDF 방법론에서 방향을 크게 바꾼 것을 나타냅니다. XFA Forms는 전반적으로 XML을 활용합니다. XML은 모든 구조화된 문서의 백본이므로 XFA Forms를 선택할 때 뚜렷한 단점이 있습니다. XFA Forms는 XML 기반 양식에 대한 W3C 표준인 XForms와 혼동해서는 안 됩니다. Adobe의 XFA Forms는 완전히 개방된 W3C XForms 표준과 경쟁하는 폐쇄형 표준입니다. 둘 다 XML 기반이지만 XForms 표준은 데이터만 지정하고 양식의 모양은 지정하지 않습니다. 반면 XFA Forms는 양식의 모양과 데이터를 모두 지정합니다.
PDF 형식 파서로서의 Aspose.PDF 클라우드
양식은 최종 사용자로부터 입력을 얻는 직관적인 방법 중 하나입니다. 그러나 PDF 문서의 대량으로 작업할 때 수동 데이터 채우기 및 조작은 번거로울 수 있습니다. 따라서 사용자가 PDF 양식을 프로그래밍 방식으로 처리할 수 있도록 Aspose.PDF Cloud API라는 API를 개발했습니다. 이를 통해 사용자는 cURL 명령을 사용하여 PDF 양식을 만들고, 업데이트하고, 조작할 수 있습니다. 선택한 프로그래밍 언어에 대해 개별적으로 개발된 SDK를 사용할 수도 있습니다.
PDF 양식 파서로 사용하는 것 외에도 다음과 같은 기능을 제공합니다.
- 텍스트 또는 이미지 워터마크 추가
- PDF 파일 연결
- 주석 설정 및 업데이트
- PDF 첨부 파일 다운로드
- PDF에서 텍스트를 추가하거나 검색합니다.
- 단일 또는 여러 텍스트 인스턴스 바꾸기
- 아래에 언급된 대로 PDF 파일을 다른 지원 형식으로 렌더링합니다.
EPUB, HTML, LaTeX, MHT, PCL, DOC, DOCX, MOBIXML, PDFA, PPTX, SVG, TIFF, XLS, XLSX, XML, XPS, PS, XSLFO, PCL, BMP, EMF, GIF, JPEG, PNG 및 TIFF.
위에 언급된 모든 작업은 특정 소프트웨어를 설치하지 않고도 수행할 수 있습니다.
양식 필드 읽기
코드 줄이 적으면 PDF 양식 필드(PDF 양식 파서)에 대한 세부 정보를 읽을 수 있습니다. 따라서 필드를 읽을 때 문서 내부의 모든 필드를 읽거나, 필드가 있는 특정 페이지 번호를 지정하는 옵션을 얻거나, 이름을 제공하여 특정 필드에 액세스할 수도 있습니다. 또한 특정 프로그래밍 언어를 사용하지 않으려는 경우 명령 프롬프트에서 cURL 명령을 사용하여 필드 조작 작업을 수행합니다. PDF REST API를 사용하여 처리할 수 있는 양식 필드의 세부 정보는 다음과 같습니다.
- 리스트박스
- 콤보박스
- 체크박스
- 라디오버튼
- 텍스트 상자
- 서명
GetDocumentTextBoxFields 메서드는 PDF 문서에서 텍스트 필드를 읽는 기능을 제공합니다. 입력 파일 이름의 매개변수 하나를 사용하고 속성과 함께 필드 목록을 반환합니다.
양식 필드 세부 정보를 읽으려면 다음 cURL 명령을 사용해 보세요.
cURL 명령
// First get the Access Token
// Get Client Id and Client Secret from https://dashboard.aspose.cloud/
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d 'grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET' \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/textbox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
요청 URL
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/textbox
[C#] 닷넷
// 전체 예제와 데이터 파일은 https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet에서 확인하세요.
const string clientID = "xxxxxx-1c8e-4ea4-a948-3857547232fa";
const string clientSecret = "xxxxxx613237f013e329cdf5694cc96a";
Aspose.Pdf.Cloud.Sdk.Api.PdfApi pdfApi = new Aspose.Pdf.Cloud.Sdk.Api.PdfApi(clientSecret, clientID);
String fileName = "FormDataTextBox.pdf";
try
{
// Aspose.PDF Cloud SDK API를 호출하여 PDF 문서의 모든 필드를 가져옵니다.
Aspose.Pdf.Cloud.Sdk.Model.FieldsResponse apiResponse = pdfApi.GetFields(fileName, null, null);
if (apiResponse != null && apiResponse.Status.Equals("OK"))
{
foreach (Aspose.Pdf.Cloud.Sdk.Model.Field field in apiResponse.Fields.List)
{
Console.WriteLine("Name: " + field.Name + "Type: " + field.Type);
}
Console.WriteLine("Get all Form Fields from the PDF Document, Done!");
Console.ReadKey();
}
}
catch (Exception e)
{
Console.WriteLine("Exception while calling Api: " + e.ToString());
}
위 예제에서 사용된 샘플 파일은 FormDataTextBox.pdf에서 다운로드할 수 있습니다.
문서의 특정 페이지에서 텍스트 필드를 읽으려면 입력 파일 이름과 페이지 번호를 인수로 요구하는 GetPageTextBoxFields 메서드를 사용해 보세요.
특정 텍스트 필드와 관련된 세부 정보를 가져와야 하는 경우 입력 파일 이름과 필드 이름을 인수로 받는 GetTextBoxField 메서드를 사용해 보세요.
PDF 양식 필드 만들기 또는 바꾸기
API는 문서에 기존 필드를 추가하거나 대체하는 뛰어난 기능을 제공합니다. 메서드 PostTextBoxFields는 PDF 문서에 새 textBox 필드를 추가하는 기능을 제공합니다. 이 요구 사항을 충족하려면 입력 파일 이름과 추가할 필드의 속성을 정의하는 필드 배열을 제공해야 합니다.
기존 textBox 필드를 바꾸려면 입력 문서 이름, 바꿀 fieldName, 추가할 새 필드의 속성을 정의하는 field 속성을 허용하는 PutTextBoxField 메서드를 사용해 보세요.
저희 API를 사용해 보시고 문제가 발생할 경우 Aspose.PDF Cloud 제품 지원 포럼에 질문을 게시해 주시기 바랍니다.