pdf 양식 미리보기

양식 필드는 고객 데이터를 처리할 때 필수적인 구성 요소 중 하나이며, PDF Acro 양식을 사용자에게 쉽게 배포하여 사용자가 선택한 데이터로 양식을 작성하여 다시 보낼 수 있습니다. 다양한 양식 필드를 사용할 수 있다는 것은 잘 알고 있지만, 이 중에서 TextBox, CheckBox, RadioButton, ComboBox가 매우 일반적입니다. 따라서 Acro 양식에 데이터가 작성되면 백오피스에서 양식 필드를 구문 분석하여 데이터를 추출하여 FDF, XML 또는 데이터베이스에 직접 저장합니다.

PDF 양식 생성, 양식 필드 추가, 양식 필드 업데이트 활동을 포함한 모든 작업은 수동으로 수행할 수 있지만 방대한 문서 집합을 처리할 때는 데이터를 수동으로 처리해야 하기 때문에 시간이 많이 걸리고 오류가 발생하기 쉽기 때문에 수동 작업이 실행 가능하지 않은 것으로 보입니다. 따라서 프로그래밍 언어를 통한 자동 루틴이 실행 가능한 솔루션이 될 수 있습니다. 따라서 프로그램을 만들 때 모든 요구 사항을 충족하는 데 도움이 되는 온프레미스 솔루션/API를 사용하거나 클라우드 호스팅 REST API를 사용하여 양식 필드를 구문 분석하는 옵션이 제공됩니다.

REST API의 이점

RESTful API는 모든 API 버전을 수동으로 추적할 필요가 없기 때문에 여기서 도약합니다. 또한 API 버전으로 시스템을 업데이트할 필요가 없고 특정 프로그래밍 언어와 API의 호환성 문제에 대해 걱정할 필요가 없습니다. 따라서 PDF 문서를 다른 지원되는 파일 형식으로 만들고, 조작하고, 변환하는 기능을 제공하는 Aspose.PDF Cloud SDK for Java를 제공합니다. Java SDK는 cURL 명령을 사용하여 쉽게 액세스할 수 있는 Aspose.PDF Cloud REST API를 기반으로 개발되었으며 SDK는 특정 프로그래밍 언어를 사용하는 고객을 지원하도록 개발되었습니다.

이 블로그에서는 다양한 양식 필드를 구문 분석하는 방법에 대해 알아보겠습니다.

TextBox 필드 읽기, 추가 또는 업데이트

API는 TextBox 필드와 관련된 정보를 읽는 세 가지 방법을 제공합니다.

| API | 유형 | 설명 | Swagger 링크 |

| ——————————- | ———– | ——————————- | —————– |

| /pdf/{name}/fields/textbox | GET | 문서 TextBox 필드 읽기 | GetDocumentTextBoxFields |

| /pdf/{name}/page/{pageNumber}/fields/textbox | GET | 지정된 페이지의 문서 TextBox 필드 읽기 | GetPageTextBoxFields |

| /pdf/{name}/fields/textbox/{fieldName} | GET | 필드 이름으로 문서 TextBox 필드 읽기 | GetTextBoxField |

TextBox 필드를 읽기 위한 cURL 명령

파일이 개인 클라우드 스토리지에 저장되므로 먼저 개인화된 클라이언트 ID와 클라이언트 비밀번호가 필요한 JWT 인증 토큰을 생성해야 합니다.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=xxxx&client_secret=xxxx" \
-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>"

위의 예에서 사용된 샘플 FormDataTextBox.pdf입니다.

자바

// 전체 예제와 데이터 파일은 https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java에서 확인하세요.
const string clientID = "xxxxxx-1c8e-4ea4-a948-3857547232fa";
const string clientSecret = "xxxxxx613237f013e329cdf5694cc96a";

import com.aspose.asposecloudpdf.ApiException;
import com.aspose.asposecloudpdf.api.PdfApi;
import com.aspose.asposecloudpdf.examples.Common;
import com.aspose.asposecloudpdf.model.FieldResponse;

public class GetFieldTestExample {

	public static void main(String[] args) throws ApiException {
		String name = "PdfWithAcroForm.pdf";
    // PdfAPi 객체의 인스턴스를 생성합니다
    com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
    // 문서 읽기 TextBox 필드
    TextBoxFieldsResponse response = pdf.getDocumentTextBoxFields("FormDataTextBox.pdf",null, null);
    // 가져온 필드에 대한 세부 정보를 인쇄합니다.
    System.out.println(response.getFields());
    }
}

CheckBox 양식 필드 분석

체크박스를 처리할 때 API는 체크박스 값을 읽고, 새로운 체크박스를 추가하거나, PDF 양식의 기존 체크박스에 연관된 속성을 업데이트하는 기능도 제공합니다.

1페이지의 CheckBox를 읽기 위한 cURL 명령

curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/page/1/fields/checkbox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"

1페이지의 체크박스를 업데이트하기 위한 CURL 명령

curl -X PUT "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{ \"Links\": [ { \"Href\": \"string\", \"Rel\": \"string\", \"Type\": \"string\", \"Title\": \"string\" } ], \"PartialName\": \"Aspose CheckBox\", \"FullName\": \"Aspose CheckBox\", \"Rect\": { \"LLX\": 88.3573, \"LLY\": 687.617, \"URX\": 97.0198, \"URY\": 695.413 }, \"Value\": \"null\", \"PageIndex\": 1, \"Height\": 12, \"Width\": 12, \"ZIndex\": 0, \"IsGroup\": false, \"IsSharedField\": true, \"Flags\": [ \"Default\" ], \"Color\": { \"A\": 0, \"R\": 150, \"G\": 120, \"B\": 0 }, \"Contents\": \"Field Updated\", \"Margin\": { \"Left\": 0, \"Right\": 0, \"Top\": 0, \"Bottom\": 0 }, \"Highlighting\": \"None\", \"HorizontalAlignment\": \"Left\", \"VerticalAlignment\": \"Center\", \"Border\": { \"Width\": 1, \"EffectIntensity\": 1, \"Style\": \"Solid\", \"Effect\": \"None\", \"Dash\": { \"On\": 1, \"Off\": 2 }, \"Color\": { \"A\": 255, \"R\": 120, \"G\": 120, \"B\": 0 } }, \"AllowedStates\": [ \"Yes\",\"Off\" ], \"Style\": \"Circle\", \"ActiveState\": \"On\", \"Checked\": true, \"ExportValue\": \"Yes\"}"

요청 URL

https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/checkbox/Check%20Box1

자바

// 전체 예제와 데이터 파일은 https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java에서 확인하세요.
const string clientID = "xxxxxx-1c8e-4ea4-a948-3857547232fa";
const string clientSecret = "xxxxxx613237f013e329cdf5694cc96a";

import com.aspose.asposecloudpdf.model.Rectangle;
import com.aspose.asposecloudpdf.model.CheckBoxField;
import com.aspose.asposecloudpdf.model.Border;
import com.aspose.asposecloudpdf.model.Color;
import com.aspose.asposecloudpdf.model.CheckBoxFieldResponse;

public class UpdateCheckBoxFieldExample {

	public static void main(String[] args) throws ApiException {
    
    // PdfAPi 객체의 인스턴스를 생성합니다
    com.aspose.asposecloudpdf.api.PdfApi pdf = new com.aspose.asposecloudpdf.api.PdfApi(clientSecret,clientID);
    // CheckBox 인스턴스 생성
    CheckBoxField updatedCheckBox = new CheckBoxField();
    updatedCheckBox.partialName("Check Box1");
    updatedCheckBox.height(12.0);
    updatedCheckBox.width(12.0);
    // 체크박스 스타일을 다이아몬드로 설정
    updatedCheckBox.style(com.aspose.asposecloudpdf.model.BoxStyle.DIAMOND);
    updatedCheckBox.activeState("On");
    // 체크박스 값을 활성화하다
    updatedCheckBox.checked(true);

    Rectangle rect = new Rectangle();
    rect.setLLX(88.3573);
    rect.setLLY(687.617);
    rect.setURX(97.0198);
    rect.setURY(695.413);
    updatedCheckBox.rect(rect);
    // 페이지 인덱스 세부 정보를 지정하세요
    updatedCheckBox.pageIndex(1);

    // CheckBox 테두리 스타일 세부 정보 설정
    Border border = new Border();
    border.width(1);
    border.style(com.aspose.asposecloudpdf.model.BorderStyle.SOLID);
    border.effect(com.aspose.asposecloudpdf.model.BorderEffect.NONE);
    // 테두리에 대한 색상 객체
    Color color = new Color();
    color.setR(120);
    color.setG(220);
    color.setB(10);
    // 체크박스 테두리 색상 설정
    border.color(color);
    // 1페이지의 체크박스 필드를 업데이트하기 위한 호출 메서드
    CheckBoxFieldResponse response =  pdf.putCheckBoxField("FormDataTextBox.pdf", "Check Box1", updatedCheckBox,null,null);
    // 응답 상태 코드 인쇄
    System.out.print(response.getStatus());
    }
}

명령/코드가 실행되면 체크박스 1 필드와 관련된 속성이 아래 이미지와 같이 업데이트됩니다.

업데이트된 체크박스 필드 미리보기

이미지 1:- cURL 명령을 사용하여 업데이트된 체크박스 1의 미리보기

RadioButton 필드 추가 또는 업데이트

TextBox 및 CheckBox 필드와 유사하게 Cloud SDK는 PDF 문서의 RadioButton 필드를 읽고 업데이트하는 기능도 제공합니다.

PDF 문서에서 RadioButton 필드를 읽기 위한 cURL 명령

curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"

요청 URL

https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/radiobutton

ComboBox 양식 필드 조작

Aspose.PDF Cloud SDK for Java를 사용하면 ComboBox 조작이 매우 편리해집니다. 문서의 기존 ComboBox 필드를 읽고, 새 ComboBox 필드를 추가하거나 기존 ComboBox를 업데이트하는 옵션이 제공됩니다.

ComboBox 필드를 모두 읽는 cURL 명령

curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"

요청 URL

https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/combobox

결론

위의 기사에서 설명한 대로, 폼 필드 처리가 클라우드 API의 도움으로 매우 쉬워졌습니다. 관련 블로그 폼 파서 | 폼 인식기 | PDF 작성 | REST 웹 API로 폼 처리 자동화를 살펴보는 것을 고려해 보세요.