파이썬을 사용하여 AcroForm에서 데이터 추출
PDF 문서에서 양식 필드 추출
양식 에서 aspose.pdf.facades 네임스페이스는 전체 문서 개체 모델을 열지 않고도 AcroForm 필드 데이터를 읽을 수 있는 간단한 방법을 제공합니다.반복해 보세요. form.field_names 양식에 있는 모든 필드 이름을 가져오려면 다음을 호출하십시오. form.get_field(name) 현재 값을 검색합니다.
- a를 구성하세요
Form입력 파일 경로를 전달하여 객체를 생성합니다. - 이터레이션 오버
form.field_names모든 필드 이름을 열거합니다. - 전화
form.get_field(name)각 이름에 대해 결과를 사전에 저장합니다.
import aspose.pdf as apdf
from io import FileIO
from os import path
import json
from aspose.pycore import cast, is_assignable
path_infile = self.dataDir + infile
form = apdf.facades.Form(path_infile)
form_values = {}
# Get values from all fields
for formField in form.field_names:
# Analyze names and values if needed
form_values[formField] = form.get_field(formField)
print(form_values)
제목별로 양식 필드 값 검색
PDF 양식에 정의된 정확한 필드 이름 (제목) 을 알고 있으면 다음을 사용하여 해당 값을 직접 검색할 수 있습니다. form.get_field(name) 전체 필드 컬렉션을 반복하지 않아도 됩니다.이는 특정 필드만 필요한 경우 가장 빠른 접근 방식입니다.
- a를 구성하세요 양식 입력 파일 경로를 가진 객체
- 전화
form.get_field("FieldName")PDF에 표시된 것과 동일한 필드 제목을 사용합니다. - 애플리케이션에서 필요에 따라 반환된 문자열 값을 사용합니다.
import aspose.pdf as apdf
form = apdf.facades.Form(path_infile)
# Retrieve a single field value by its name
value = form.get_field("FirstName")
print(value)
PDF 문서에서 JSON으로 양식 필드 추출
AcroForm 데이터를 JSON으로 내보내는 두 가지 방법이 있습니다.첫 번째 방법은 내장 기능을 사용합니다. export_json 메서드 온 양식한 번의 호출로 모든 필드 데이터를 파일 스트림으로 직접 직렬화합니다.
- a를 구성하세요
Form입력 파일 경로를 가진 객체 - 를 사용하여 출력 파일을 바이너리 스트림으로 엽니다.
FileIO. - 전화
form.export_json(stream, True)JSON 출력을 작성하기 위해서입니다.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
form = apdf.facades.Form(path_infile)
with FileIO(path_outfile, "w") as json_file:
form.export_json(json_file, True)
두 번째 방법은 다음과 같은 방법으로 Python 사전을 작성합니다. field_names 과 get_field를 사용하여 직렬화합니다. json.dumps.데이터를 쓰기 전에 데이터를 변환하거나 필터링해야 할 때 사용하십시오.
- 이터레이션 오버
form.field_names그리고 필드 값으로 딕셔너리를 채웁니다. - 를 사용하여 사전을 직렬화합니다.
json.dumps(form_data, indent=4). - 결과 JSON 문자열을 출력 파일에 씁니다.
import aspose.pdf as apdf
from os import path
import json
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
form = apdf.facades.Form(path_infile)
form_data = {}
# Get values from all fields
for formField in form.field_names:
form_data[formField] = form.get_field(formField)
# Serialize to JSON
json_string = json.dumps(form_data, indent=4)
print(json_string)
with open(path_outfile, "w", encoding="utf-8") as json_file:
json_file.write(json_string)
PDF 파일에서 데이터를 XML로 추출
XML 내보내기는 구조화된 XML 피드 또는 스키마를 사용하는 시스템과 PDF 양식 데이터를 통합하는 데 유용합니다. 양식 클래스는 제공합니다 export_xml 변환을 한 번에 처리합니다.
- 만들기
FormPDF를 인스턴스화하고 바인딩합니다.form.bind_pdf(path). - 출력 파일을 바이너리 스트림으로 엽니다.
- 전화
form.export_xml(stream)모든 필드 데이터를 XML로 작성합니다.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
# Create Form object
form = apdf.facades.Form()
# Bind PDF document
form.bind_pdf(path_infile)
# Export data to XML file
with FileIO(path_outfile, "w") as f:
form.export_xml(f)
PDF 파일에서 FDF로 데이터 내보내기
FDF (양식 데이터 형식) 는 AcroForm 데이터의 표준 교환 형식이며 PDF 뷰어 및 처리 도구에서 널리 지원됩니다.사용 export_fdf 에 양식 원본 PDF나 다른 호환 양식으로 다시 가져올 수 있는 독립 실행형 FDF 파일을 생성하기 위한 클래스입니다.
- 만들기
Form소스 PDF를 인스턴스화하고 바인딩합니다.form.bind_pdf(path). - 출력 파일을 바이너리 스트림으로 엽니다.
- 전화
form.export_fdf(stream)FDF 데이터를 기록합니다.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
# Create Form object
form = apdf.facades.Form()
# Bind PDF document
form.bind_pdf(path_infile)
# Export form data to an FDF file
with FileIO(path_outfile, "w") as f:
form.export_fdf(f)
PDF 파일에서 XFDF로 데이터 내보내기
XFDF (XML 양식 데이터 형식) 는 FDF의 XML 기반 후속 버전이며 웹 서비스 및 최신 데이터 파이프라인에서 사용하기에 더 적합합니다.FDF와 마찬가지로 XFDF 파일도 호환되는 PDF 양식으로 다시 가져올 수 있습니다.사용 export_xfdf 에 양식 출력을 생성할 클래스입니다.
- 만들기
Form소스 PDF를 인스턴스화하고 바인딩합니다.form.bind_pdf(path). - 출력 파일을 바이너리 스트림으로 엽니다.
- 전화
form.export_xfdf(stream)XFDF 데이터를 기록합니다.
import aspose.pdf as apdf
from io import FileIO
from os import path
path_infile = path.join(self.dataDir, infile)
path_outfile = path.join(self.dataDir, outfile)
# Create Form object
form = apdf.facades.Form()
# Bind PDF document
form.bind_pdf(path_infile)
# Export form data to an XFDF file
with FileIO(path_outfile, "w") as f:
form.export_xfdf(f)