GroupDocs.Assembly Cloud는 완전 관리형이며 REST 기반 서비스로, Java 개발자가 클라우드에서 직접 고도로 맞춤화된 문서, 보고서, 계약서, 청구서 및 메일 병합 편지를 생성할 수 있게 합니다. 이 솔루션은 다양한 입력 및 출력 형식을 지원하여 템플릿 파일을 GroupDocs Cloud Storage에 저장하고, 이를 XML 또는 JSON 데이터 소스에 연결하며, 원하는 형식(DOCX, PDF, HTML, PPTX, XLSX 등)으로 조립된 문서를 받을 수 있습니다. 모든 처리가 서버 측에서 이루어지므로 클라이언트 머신에 서드파티 소프트웨어나 라이브러리를 설치할 필요가 없습니다. 필요한 것은 Java 런타임과 Assembly Cloud SDK뿐이며, 이는 API 엔드포인트를 감싸는 얇은 래퍼를 제공합니다.
일반적인 Java 워크플로는 세 가지 간단한 단계로 구성됩니다. 첫째, Assembly Cloud SDK 종속성을 Maven 또는 Gradle 프로젝트에 추가하고, 개인 App SID와 App Key로 ApiClient를 초기화합니다. 둘째, uploadFile 메서드를 사용하여 템플릿 파일을 GroupDocs Cloud Storage에 업로드합니다. 셋째, AssembleOptions 객체를 생성하고 템플릿 경로, 데이터 파일(XML 또는 JSON), 원하는 출력 형식을 지정한 뒤 assembleDocument을 호출합니다. 서비스는 조립된 문서를 스트림 형태로 반환하므로 로컬에 저장하거나 추가로 처리할 수 있습니다. SDK는 템플릿 미리보기, 지원 형식 조회, 오류 처리 등을 위한 헬퍼 메서드도 제공합니다. 이와 같은 간단한 접근 방식으로 최소한의 코드로 문서 생성을 웹 애플리케이션, 배치 처리 작업 또는 마이크로서비스에 통합할 수 있습니다.
모든 통신은 SSL/TLS로 암호화되며, 접근은 개인 키로 제어됩니다. 플랫폼은 자동으로 확장되어 대량 요청을 처리하고, 단일 API 호출로 수천 개의 개인화된 편지를 생성할 수 있는 배치 메일 병합 작업을 지원합니다. 또한, SDK는 템플릿 내에서 LINQ 스타일 표현식을 사용해 이미지, 차트, 바코드 삽입 및 조건부 로직 적용을 지원하여 최종 문서 레이아웃을 완벽히 제어할 수 있습니다.
아래 스니펫은 템플릿을 업로드하고 데이터 소스를 설정한 뒤 Assembly Cloud API를 사용하여 DOCX 보고서를 생성하는 방법을 보여줍니다. Steps
AssembleOptions을 구성합니다 – 템플릿 경로, 출력 형식 및 데이터 파일.assembleDocument을 호출하여 결과를 생성합니다.import com.groupdocs.assembly.*;
AssemblyApi assemblyApi = new AssemblyApi(new ApiClient());
ApiClient client = assemblyApi.getApiClient();
client.setAppKey("####################").setAppSid("####-####-####-####-####");
String fileName = "Input1.docx";
String dataFile = "Input2.docx";
File requestFileContent = new File(fileName);
UploadFileRequest uploadDocumentRequest =
new UploadFileRequest(requestFileContent, fileName, null);
assemblyApi.uploadFile(uploadDocumentRequest);
AssembleOptions assembleOptions = new AssembleOptions();
assembleOptions.setTemplateFileInfo(new TemplateFileInfo().filePath(fileName));
assembleOptions.setSaveFormat("docx");
assembleOptions.setReportData(Paths.get(dataFile).toString());
AssembleDocumentRequest request = new AssembleDocumentRequest(assembleOptions);
assemblyApi.assembleDocument(request);