웹 서비스 API를 사용하여 PDF 문서 디스어셈블 disassemble-a-pdf-document-usingthe-web-service-api
이 문서의 샘플과 예제는 JEE 환경의 AEM Forms에 대해서만 적용됩니다.
어셈블러 서비스 API(웹 서비스)를 사용하여 PDF 문서를 디스어셈블합니다.
-
프로젝트 파일을 포함합니다.
MTOM을 사용하는 Microsoft .NET 프로젝트를 만듭니다. 서비스 참조를 설정할 때 다음 WSDL 정의를 사용하는지 확인하십시오.
http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.note note NOTE localhost
을(를) AEM Forms을 호스팅하는 서버의 IP 주소로 바꾸십시오. -
PDF 어셈블러 클라이언트를 만듭니다.
-
기본 생성자를 사용하여
AssemblerServiceClient
개체를 만듭니다. -
System.ServiceModel.EndpointAddress
생성자를 사용하여AssemblerServiceClient.Endpoint.Address
개체를 만듭니다. WSDL을 지정하는 문자열 값을 AEM Forms 서비스에 전달합니다(예:http://localhost:8080/soap/services/AssemblerService?blob=mtom
).lc_version
특성은 사용할 필요가 없습니다. 이 속성은 서비스 참조를 만들 때 사용됩니다. -
AssemblerServiceClient.Endpoint.Binding
필드의 값을 가져와System.ServiceModel.BasicHttpBinding
개체를 만듭니다. 반환 값을BasicHttpBinding
(으)로 캐스팅합니다. -
System.ServiceModel.BasicHttpBinding
개체의MessageEncoding
필드를WSMessageEncoding.Mtom
(으)로 설정합니다. 이 값은 MTOM이 사용되도록 합니다. -
다음 작업을 수행하여 기본 HTTP 인증을 활성화합니다.
AssemblerServiceClient.ClientCredentials.UserName.UserName
필드에 AEM Forms 사용자 이름을 지정하십시오.- 필드
AssemblerServiceClient.ClientCredentials.UserName.Password
에 해당 암호 값을 지정하십시오. - 상수 값
HttpClientCredentialType.Basic
을(를) 필드BasicHttpBindingSecurity.Transport.ClientCredentialType
에 할당합니다. - 상수 값
BasicHttpSecurityMode.TransportCredentialOnly
을(를) 필드BasicHttpBindingSecurity.Security.Mode
에 할당합니다.
-
-
기존 DDX 문서를 참조합니다.
- 해당 생성자를 사용하여
BLOB
개체를 만듭니다.BLOB
개체는 DDX 문서를 저장하는 데 사용됩니다. - 해당 생성자를 호출하여
System.IO.FileStream
개체를 만듭니다. DDX 문서의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달합니다. System.IO.FileStream
개체의 내용을 저장하는 바이트 배열을 만듭니다.System.IO.FileStream
개체의Length
속성을 가져와서 바이트 배열의 크기를 결정할 수 있습니다.System.IO.FileStream
개체의Read
메서드를 호출하고 바이트 배열, 시작 위치 및 읽을 스트림 길이를 전달하여 바이트 배열을 스트림 데이터로 채웁니다.- 해당
MTOM
속성을 바이트 배열의 내용으로 할당하여BLOB
개체를 채웁니다.
- 해당 생성자를 사용하여
-
분해하려면 PDF 문서를 참조합니다.
- 해당 생성자를 사용하여
BLOB
개체를 만듭니다.BLOB
개체는 입력 PDF 문서를 저장하는 데 사용됩니다. 이BLOB
개체는invokeOneDocument
에 인수로 전달됩니다. - 해당 생성자를 호출하고 입력 PDF 문서의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달하여
System.IO.FileStream
개체를 만듭니다. System.IO.FileStream
개체의 내용을 저장하는 바이트 배열을 만듭니다.System.IO.FileStream
개체의Length
속성을 가져와서 바이트 배열의 크기를 결정할 수 있습니다.System.IO.FileStream
개체의Read
메서드를 호출하고 바이트 배열, 시작 위치 및 읽을 스트림 길이를 전달하여 바이트 배열을 스트림 데이터로 채웁니다.MTOM
필드에 바이트 배열의 내용을 할당하여BLOB
개체를 채웁니다.MyMapOf_xsd_string_To_xsd_anyType
개체를 만듭니다. 이 컬렉션 개체는 분해할 PDF을 저장하는 데 사용됩니다.MyMapOf_xsd_string_To_xsd_anyType_Item
개체를 만듭니다.MyMapOf_xsd_string_To_xsd_anyType_Item
개체의key
필드에 키 이름을 나타내는 문자열 값을 지정하십시오. 이 값은 DDX 문서에 지정된 PDF 원본 요소의 값과 일치해야 합니다.- PDF 문서를 저장하는
BLOB
개체를MyMapOf_xsd_string_To_xsd_anyType_Item
개체의value
필드에 할당합니다. MyMapOf_xsd_string_To_xsd_anyType
개체에MyMapOf_xsd_string_To_xsd_anyType_Item
개체를 추가합니다.MyMapOf_xsd_string_To_xsd_anyType
개체의Add
메서드를 호출하고MyMapOf_xsd_string_To_xsd_anyType
개체를 전달하십시오.
- 해당 생성자를 사용하여
-
런타임 옵션을 설정합니다.
- 생성자를 사용하여 런타임 옵션을 저장하는
AssemblerOptionSpec
개체를 만듭니다. AssemblerOptionSpec
개체에 속하는 데이터 멤버에 값을 할당하여 비즈니스 요구 사항에 맞게 런타임 옵션을 설정하십시오. 예를 들어 오류가 발생할 때 어셈블러 서비스에서 작업 처리를 계속하도록 하려면AssemblerOptionSpec
개체의failOnError
필드에false
을(를) 할당합니다.
- 생성자를 사용하여 런타임 옵션을 저장하는
-
PDF 문서를 디스어셈블합니다.
AssemblerServiceClient
개체의invokeDDX
메서드를 호출하고 다음 값을 전달하십시오.- PDF 문서를 디스어셈블하는 DDX 문서를 나타내는
BLOB
개체입니다 - 디스어셈블할 PDF 문서가 포함된
MyMapOf_xsd_string_To_xsd_anyType
개체 - 런타임 옵션을 지정하는
AssemblerOptionSpec
개체
invokeDDX
메서드가 작업 결과와 발생한 모든 예외를 포함하는AssemblerResult
개체를 반환합니다. - PDF 문서를 디스어셈블하는 DDX 문서를 나타내는
-
분해된 PDF 문서를 저장합니다.
새로 생성된 PDF 문서를 가져오려면 다음 작업을 수행합니다.
- 분해된 PDF 문서가 포함된
Map
개체인AssemblerResult
개체의documents
필드에 액세스합니다. Map
개체를 반복하여 각 결과 문서를 가져옵니다. 그런 다음 해당 배열 멤버의value
을(를)BLOB
(으)로 캐스팅합니다.BLOB
개체의MTOM
속성에 액세스하여 PDF 문서를 나타내는 이진 데이터를 추출합니다. PDF 파일에 쓸 수 있는 바이트 배열이 반환됩니다.
- 분해된 PDF 문서가 포함된
추가 참조