Java에서 DOCX를 PDF로 변환하는 것은 신뢰할 수 있고 고품질의 출력을 필요로 하는 엔터프라이즈 문서 워크플로우에서 자주 요구되는 작업입니다. Aspose.Cells Cloud SDK for Java는 서버 측에서 무거운 작업을 처리하는 강력한 라이브러리를 제공하여 비즈니스 로직에 집중할 수 있게 해줍니다. 이 가이드는 자격 증명 설정, 전체 코드 예제, 동등한 cURL REST 호출, 보안 고려 사항 및 규정 준수 중심 애플리케이션에 변환을 통합하기 위한 모범 사례를 단계별로 안내합니다.
Java에서 DOCX를 PDF로 변환 - 전체 코드 예제
다음 예제는 Aspose.Cells Cloud 라이브러리를 사용한 최소한의 엔드‑투‑엔드 변환을 보여줍니다. API 클라이언트를 초기화하고, 로컬 DOCX 파일을 스트리밍하며, PDF로 변환을 요청하고, 결과를 디스크에 기록합니다.
import com.aspose.cloud.cells.api.CellsApi;
import com.aspose.cloud.cells.client.ApiClient;
import com.aspose.cloud.cells.client.Configuration;
import com.aspose.cloud.cells.model.ResponseMessage;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
public class DocxToPdfConverter {
// Replace with your actual Aspose Cloud credentials
private static final String CLIENT_ID = "YOUR_CLIENT_ID";
private static final String CLIENT_SECRET = "YOUR_CLIENT_SECRET";
public static void main(String[] args) {
// Initialize API client with timeout settings for better performance
ApiClient apiClient = new ApiClient();
apiClient.setBasePath("https://api.aspose.cloud");
apiClient.setReadTimeout(120_000); // 2 minutes read timeout
apiClient.setConnectTimeout(30_000); // 30 seconds connect timeout
apiClient.setClientId(CLIENT_ID);
apiClient.setClientSecret(CLIENT_SECRET);
Configuration.setDefaultApiClient(apiClient);
CellsApi cellsApi = new CellsApi();
File inputFile = new File("input.docx");
String targetFormat = "pdf";
// Convert and write result to output file
try (InputStream fileStream = new BufferedInputStream(new FileInputStream(inputFile));
OutputStream outStream = new BufferedOutputStream(new FileOutputStream("output.pdf"))) {
// The API returns the converted file as a byte array when outPath is null
ResponseMessage response = cellsApi.postConvertWorkbook(fileStream, targetFormat, null);
// Write the returned bytes directly to the output file
outStream.write(response.getContent());
outStream.flush();
System.out.println("Conversion completed successfully. Output saved as output.pdf");
} catch (Exception e) {
System.err.println("Error during conversion: " + e.getMessage());
e.printStackTrace();
}
}
}
Note: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 파일 경로(
input.docx,output.pdf)를 실제 파일 위치에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인한 뒤 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참고하거나 지원 팀에 문의하십시오.
cURL을 사용한 Word 문서 PDF 변환
순수 REST 방식을 선호한다면, 동일한 변환을 cURL 명령으로 수행할 수 있습니다. 아래 단계에서는 인증, 파일 업로드, 변환 및 다운로드를 설명합니다.
- 액세스 토큰 얻기 - 자리 표시자를 귀하의 자격 증명으로 교체하십시오.
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
- DOCX 파일 업로드 - 반환된
fileId를 저장합니다.
curl -X PUT "https://api.aspose.cloud/v3.0/cells/storage/file/input.docx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document" \
--data-binary @input.docx
- PDF 변환 요청 - API는 PDF를 바이너리 스트림으로 반환합니다.
curl -X POST "https://api.aspose.cloud/v3.0/cells/convert?format=pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Accept: application/pdf" \
-T input.docx \
-o output.pdf
- 변환된 PDF 다운로드 (스트리밍 대신 클라우드 스토리지에 저장한 경우).
curl -X GET "https://api.aspose.cloud/v3.0/cells/storage/file/output.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.pdf
전체 매개변수 및 고급 옵션 목록은 공식 API 참조를 참조하십시오.
Java에서 DOCX를 PDF로 변환하는 방법
아래는 코드 예제에서 수행되는 주요 단계에 대한 간결한 요약입니다:
-
API 클라이언트 구성 -
ApiClient가 생성되고, 기본 경로가 설정되며, 신뢰할 수 있는 네트워크 통신을 위해 타임아웃이 구성됩니다.ApiClient apiClient = new ApiClient(); apiClient.setBasePath("https://api.aspose.cloud"); apiClient.setReadTimeout(120_000); apiClient.setConnectTimeout(30_000); -
클라이언트 자격 증명으로 인증 -
clientId와clientSecret이 클라이언트에 연결되어, 백그라운드에서 OAuth 토큰을 가져올 수 있게 합니다.apiClient.setClientId(CLIENT_ID); apiClient.setClientSecret(CLIENT_SECRET); Configuration.setDefaultApiClient(apiClient); -
소스 DOCX 스트림 준비 - 버퍼링된
FileInputStream이 전체 파일을 메모리에 로드하지 않고 로컬input.docx를 읽습니다.
InputStream fileStream = new BufferedInputStream(new FileInputStream(inputFile));
-
변환 엔드포인트 호출 -
postConvertWorkbook는 스트림과 대상 형식(pdf)을 전송합니다. 응답에는 변환된 바이트가 포함됩니다.ResponseMessage response = cellsApi.postConvertWorkbook(fileStream, "pdf", null); -
PDF를 디스크에 쓰기 - 버퍼링된
FileOutputStream은 바이트 배열을 효율적으로 쓰며 변환 프로세스를 완료합니다.outStream.write(response.getContent()); outStream.flush();
각 메서드에 대한 자세한 내용은 API reference를 참조하십시오.
Aspose.Cells Cloud SDK for Java 설치 및 구성
Maven, Gradle을 사용하거나 JAR 파일을 직접 다운로드하여 라이브러리를 프로젝트에 추가하십시오.
Maven 종속성 (DOCX를 PDF로 변환하기 위한 Java Maven 종속성)
<!-- Maven -->
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-cells-cloud</artifactId>
<version>26.8</version>
</dependency>
Gradle 종속성 (Java에서 DOCX를 PDF로 변환하는 Gradle)
// Gradle
implementation 'com.aspose:aspose-cells-cloud:26.8'
JAR 파일을 수동으로 다운로드하려면 다운로드 페이지를 사용할 수 있습니다.
전제 조건
- Java 8 이상.
- 유효한
client_id와client_secret가 있는 Aspose Cloud 계정. https://api.aspose.cloud에 대한 네트워크 액세스.
종속성을 추가한 후, 코드 예제에 표시된 대로 필요한 클래스를 가져오고 API 호출을 하기 전에 자격 증명을 구성하십시오.
결론
Java에서 DOCX를 PDF로 변환하는 작업은 Aspose.Cells Cloud SDK for Java을 사용하면 간단해집니다. 이 라이브러리는 스트리밍, 형식 변환 및 선택적 PDF 암호화를 처리하여 GDPR 또는 HIPAA와 같은 엄격한 보안 및 규정 준수 요구 사항을 충족할 수 있게 해줍니다. 동일한 SDK를 통해 쉽게 사용할 수 있는 비밀번호 적용이나 권한 제한 기능을 사용하여 생성된 PDF를 보호하는 것을 잊지 마세요. 프로덕션 배포를 위해서는 유료 라이선스가 필요합니다; 테스트용 임시 라이선스는 임시 라이선스 페이지에서 얻을 수 있습니다. 이 가이드에 설명된 단계들을 따라 하면 신뢰할 수 있는 DOCX에서 PDF 변환을 Java 기반 엔터프라이즈 애플리케이션에 통합할 수 있습니다.
자주 묻는 질문
-
내가 직접 HTTP 클라이언트를 작성하지 않고 Java에서 DOCX를 PDF로 변환하려면 어떻게 해야 하나요?
Aspose.Cells Cloud SDK for Java를 사용하십시오;postConvertWorkbook메서드는 REST 호출을 추상화하고 PDF 바이트를 직접 반환합니다. -
변환 중에 PDF를 암호화하는 방법이 있나요?
예. 변환 후 동일한 라이브러리에서 제공하는 PDF 암호화 API를 호출하십시오.EncryptDocument메서드에 대한 문서를 참조하십시오. -
Maven/Gradle 대신 JAR 파일로 종속성을 관리할 수 있나요?
물론입니다. JAR를 download URL에서 다운로드하고 프로젝트의 클래스패스에 추가하세요. -
대규모 DOCX를 PDF로 변환할 때의 모범 사례는 무엇인가요?
단일ApiClient인스턴스를 재사용하고, 파일을 메모리에 완전히 로드하는 대신 스트리밍하며, 코드 예제에 표시된 대로 적절한 읽기/쓰기 시간 제한을 활성화하십시오. 이 접근 방식은 Java에서 DOCX를 PDF로 변환하기 위한 모범 사례와 일치합니다.