GroupDocs.Assembly Cloud는 Java 개발자가 클라우드에서 직접 고도로 맞춤화된 문서, 보고서, 계약서, 송장 및 메일 병합 편지를 생성할 수 있도록 하는 완전 관리형 REST 기반 서비스입니다. 이 솔루션은 다양한 입출력 형식을 지원하므로 GroupDocs Cloud Storage에 템플릿 파일을 저장하고 XML 또는 JSON 데이터 소스에 바인딩하여 DOCX, PDF, HTML, PPTX, XLSX 등 원하는 형식으로 조합된 문서를 받을 수 있습니다. 모든 처리가 서버 측에서 이루어지므로 클라이언트 시스템에 타사 소프트웨어나 라이브러리를 설치할 필요가 없습니다. 필요한 것은 Java 런타임과 API 엔드포인트를 감싸는 씬 래퍼를 제공하는 Assembly Cloud SDK뿐입니다.
일반적인 Java 워크플로는 세 가지 간단한 단계로 구성됩니다. 먼저, Maven 또는 Gradle 프로젝트에 Assembly Cloud SDK 종속성을 추가하고 개인 AppSID와 AppKey로 ApiClient를 초기화합니다. 두 번째로, uploadFile 메서드를 사용하여 템플릿 파일을 GroupDocs Cloud Storage에 업로드합니다. 셋째, AssembleOptions 객체를 생성하고 템플릿 경로, 데이터 파일(XML 또는 JSON), 원하는 출력 형식을 지정한 후 assembleDocument를 호출합니다. 이 서비스는 어셈블된 문서를 로컬에 저장하거나 추가로 처리할 수 있는 스트림으로 반환합니다. SDK는 템플릿 미리보기, 지원되는 형식 검색, 오류 처리를 위한 도우미 메서드도 제공합니다. 이 간단한 접근 방식을 통해 최소한의 코드로 문서 생성 기능을 웹 애플리케이션, 일괄 처리 작업 또는 마이크로서비스에 통합할 수 있습니다.
모든 통신은 SSL/TLS로 암호화되며, 액세스는 개인 키로 제어됩니다. 플랫폼은 대량의 요청을 처리할 수 있도록 자동으로 확장되며, 단일 API 호출로 수천 개의 개인화된 편지를 생성할 수 있는 일괄 메일 병합 작업을 지원합니다. 또한, SDK는 LINQ 스타일 표현식을 사용하여 이미지, 차트, 바코드를 포함하고 템플릿 내에 조건 논리를 직접 적용할 수 있도록 지원하므로 최종 문서 레이아웃을 완벽하게 제어할 수 있습니다.
아래 스니펫은 Assembly Cloud API를 사용하여 템플릿을 업로드하고, 데이터 소스를 설정하고, DOCX 보고서를 생성하는 방법을 보여줍니다. 단계
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);