AcroForm에서 데이터 추출
PDF 문서에서 양식 필드 추출
Aspose.PDF for PHP는 양식 필드를 생성하고 채우는 것뿐만 아니라 PDF 파일에서 양식 필드 데이터나 양식 필드 정보를 쉽게 추출할 수 있게 합니다.
양식 필드의 이름을 미리 알지 못한다고 가정해 보겠습니다. 그러면 PDF의 각 페이지를 반복하여 PDF의 모든 AcroForms 및 양식 필드의 값을 추출해야 합니다. 양식에 접근하려면 getForm 메소드를 사용해야 합니다.
// License 클래스의 새 인스턴스를 만들고 라이선스 파일을 설정합니다.
$licenceObject = new License();
$licenceObject->setLicense($license);
// PDF 문서를 포함하는 디렉터리의 경로를 설정합니다.
$dataDir = getcwd() . DIRECTORY_SEPARATOR . "samples";
// 입력 PDF 파일의 경로를 설정합니다.
$inputFile = $dataDir . DIRECTORY_SEPARATOR . "StudentInfoFormElectronic.pdf";
// 응답이 JSON 형식임을 나타내도록 응답 헤더를 설정합니다.
header('Content-Type: application/json; charset=utf-8');
// 응답 데이터 변수를 초기화합니다.
$responseData = "";
try {
// Document 클래스의 새 인스턴스를 만들고 입력 PDF 파일을 로드합니다.
$document = new Document($inputFile);
// 문서에서 양식 필드를 가져와 PHP 값으로 변환합니다.
$fields = java_values($document->getForm()->getFields());
// 각 양식 필드를 반복하여 필드 이름과 값을 추출합니다.
foreach ($fields as $formField) {
// 필드 이름과 값을 응답 데이터에 연결합니다.
$responseData = $responseData . "(필드 이름: " . $formField->getPartialName() . " |";
$responseData = $responseData . " 값: " . $formField->getValue() . "),";
}
// 문서를 닫습니다.
$document->close();
}
만약 값을 추출하고자 하는 양식 필드의 이름을 알고 있다면 Documents.Form 컬렉션의 인덱서를 사용하여 이 데이터를 빠르게 검색할 수 있습니다.
PDF 파일에서 XML로 데이터 추출
Form 클래스는 ExportXml 메소드를 사용하여 PDF 파일에서 XML 파일로 데이터를 내보낼 수 있도록 합니다. XML로 데이터를 내보내기 위해서는 Form 클래스의 객체를 생성한 다음 FileStream 객체를 사용하여 ExportXml 메소드를 호출해야 합니다. 마지막으로 FileStream 객체를 닫고 Form 객체를 폐기할 수 있습니다. 다음 코드 스니펫은 XML 파일로 데이터를 내보내는 방법을 보여줍니다.
// 문서 열기
$form = new facades_Form();
$form->bindPdf($inputFile);
// 폰트 파일을 쓰기 위한 FileOutputStream 객체 생성
$xmlOutputStream = new java("java.io.FileOutputStream", "output.xml");
// 데이터 내보내기
$form->exportXml($xmlOutputStream);
// 파일 스트림 닫기
$xmlOutputStream->close();
// 문서 닫기
$form->close();
PDF 파일에서 FDF로 데이터 내보내기
PDF 양식 데이터를 XFDF 파일로 내보내기 위해, 우리는 Form 클래스의 exportFdf 메소드를 사용할 수 있습니다.
해당 클래스는 com.aspose.pdf.facades
에서 가져온 것입니다. 유사한 이름에도 불구하고, 이 클래스는 약간 다른 목적을 가지고 있습니다.
FDF로 데이터를 내보내기 위해서는 Form
클래스의 객체를 생성한 후 OutputStream
객체를 사용하여 exportXfdf
메서드를 호출해야 합니다. 다음 코드 스니펫은 데이터를 XFDF 파일로 내보내는 방법을 보여줍니다.
// 문서 열기
$form = new facades_Form();
$form->bindPdf($inputFile);
// 폰트 파일을 쓰기 위한 FileOutputStream 객체 생성
$xmlOutputStream = new java("java.io.FileOutputStream", "output.fdf");
// 데이터 내보내기
$form->exportFdf($xmlOutputStream);
// 파일 스트림 닫기
$xmlOutputStream->close();
// 문서 닫기
$form->close();
PDF 파일에서 XFDF로 데이터 내보내기
PDF 양식 데이터를 XFDF 파일로 내보내기 위해서는 Form 클래스의 exportXfdf 메서드를 사용할 수 있습니다.
데이터를 XFDF로 내보내려면 Form
클래스의 객체를 생성한 다음 OutputStream
객체를 사용하여 exportXfdf
메서드를 호출해야 합니다.
다음 코드 스니펫은 데이터 XFDF 파일로 내보내는 방법을 보여줍니다.
// 문서 열기
$form = new facades_Form();
$form->bindPdf($inputFile);
// 폰트 파일을 쓰기 위한 FileOutputStream 객체 생성
$xmlOutputStream = new java("java.io.FileOutputStream", "output.xfdf");
// 데이터 내보내기
$form->exportXfdf($xmlOutputStream);
// 파일 스트림 닫기
$xmlOutputStream->close();
// 문서 닫기
$form->close();