HTML 문서를 Word 형식으로 변환하는 것은 보고서, 청구서 또는 최종 사용자를 위한 동적 콘텐츠를 생성할 때 자주 요구됩니다. Aspose.HTML Cloud SDK for PHP는 서버 측에서 HTML을 DOCX 로 변환하는 작업을 단순화하는 강력한 라이브러리입니다. 이 가이드는 설치 및 HTML의 안전한 처리부터 완전한 production‑ready 코드 예제와 모범 사례 권장 사항에 이르기까지 전체 워크플로를 안내합니다.

HTML을 DOCX로 변환하기 PHP에서 5단계

  1. Aspose.HTML Cloud 라이브러리 설치: Composer를 사용하여 패키지를 프로젝트에 추가합니다.
composer require aspose-html-cloud
  1. Aspose Cloud 자격 증명으로 인증: 클라이언트 ID와 비밀을 사용해 Configuration 객체를 생성하고 액세스 토큰을 얻습니다.
use Aspose\HTML\Configuration;

$config = new Configuration();
$config->setClientId('YOUR_CLIENT_ID');
$config->setClientSecret('YOUR_CLIENT_SECRET');
  1. HTML 콘텐츠 준비: 파일이나 문자열에서 소스 HTML을 로드하고, 필요에 따라 XSS 방지를 위해 정제합니다.
use Aspose\HTML\Conversion\ConversionApi;

$htmlPath = __DIR__ . '/sample.html';
$htmlContent = file_get_contents($htmlPath);
// Example sanitization (replace with a robust library for production)
$htmlContent = strip_tags($htmlContent, '<p><a><img><style><div>');
  1. DOCX로 변환: 원하는 출력 형식으로 변환 엔드포인트를 호출합니다. 주요 메서드는 convertDocument입니다.
$apiInstance = new ConversionApi($config);
$convertRequest = new \Aspose\HTML\Model\ConvertDocumentRequest(
    $htmlContent,
    'HTML',
    'DOCX'
);
$docxResult = $apiInstance->convertDocument($convertRequest);
file_put_contents('output.docx', $docxResult);
  1. 결과 가져오기 및 정리: 변환은 바이너리 스트림을 반환하므로 DOCX 파일로 저장할 수 있습니다. 오류를 처리하고 리소스를 해제하십시오.
if ($docxResult) {
    echo "Conversion successful. DOCX saved as output.docx";
} else {
    echo "Conversion failed.";
}

위 단계는 PHP에서 HTML을 DOCX로 변환을 간단히 보여주며, 보안 검사와 성능 최적화를 적용할 위치도 보여줍니다.

PHP에서 Aspose.HTML을 사용한 HTML에서 DOCX 변환 - 전체 코드 예제

다음 예제는 모든 요소를 하나의 실행 가능한 스크립트로 결합합니다.

<?php
require 'vendor/autoload.php';

use Aspose\HTML\Configuration;
use Aspose\HTML\Conversion\ConversionApi;
use Aspose\HTML\Model\ConvertDocumentRequest;

// 1. Configure client credentials
$config = new Configuration();
$config->setClientId('YOUR_CLIENT_ID');
$config->setClientSecret('YOUR_CLIENT_SECRET');

// 2. Load and optionally sanitize HTML
$htmlPath = __DIR__ . '/sample.html';
$htmlContent = file_get_contents($htmlPath);
$htmlContent = strip_tags($htmlContent, '<p><a><img><style><div>');

// 3. Initialize the conversion API
$apiInstance = new ConversionApi($config);

// 4. Create conversion request (HTML -> DOCX)
$convertRequest = new ConvertDocumentRequest(
    $htmlContent,   // source HTML string
    'HTML',         // source format
    'DOCX'          // target format
);

// 5. Execute conversion
try {
    $docxStream = $apiInstance->convertDocument($convertRequest);
    file_put_contents('output.docx', $docxStream);
    echo "HTML successfully converted to DOCX. File saved as output.docx";
} catch (Exception $e) {
    echo 'Conversion error: ', $e->getMessage();
}

Note: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에서 사용하기 전에 파일 경로(sample.html, output.docx)를 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인한 뒤, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에 문의하십시오.

cURL을 사용한 REST API를 통한 HTML에서 Word 문서 생성

PHP 코드를 작성하지 않고도 Aspose.HTML Cloud REST 엔드포인트를 직접 호출하여 변환을 수행할 수 있습니다.

  1. 액세스 토큰 얻기

    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"
    
  2. 소스 HTML 파일 업로드

    curl -X PUT "https://api.aspose.cloud/v4.0/html/storage/file/sample.html" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -T sample.html
    
  3. DOCX로 변환 요청

    curl -X POST "https://api.aspose.cloud/v4.0/html/convert?format=docx" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -H "Content-Type: application/json" \
         -d '{"inputPath":"sample.html","outputPath":"output.docx"}'
    
  4. 생성된 DOCX 파일 다운로드

    curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.docx" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -o output.docx
    

이 cURL 명령은 인증부터 파일 검색까지 전체 변환 워크플로를 보여줍니다. 자세한 내용은 공식 API 문서를 확인하세요.

Aspose.HTML Cloud SDK for PHP - 전제 조건 및 설정

코딩을 시작하기 전에, 환경이 다음 요구 사항을 충족하는지 확인하십시오:

  • PHP 7.4 이상
  • 전역에 설치된 Composer
  • 유효한 클라이언트 자격 증명이 있는 활성 Aspose Cloud 계정

라이브러리를 설치하고 최신 패키지를 다운로드하십시오:

composer require aspose-html-cloud

원한다면 GitHub에서 소스를 복제할 수도 있습니다:

git clone https://github.com/aspose-html-cloud/aspose-html-cloud-php.git

설치 후, 단계 섹션에 표시된 대로 클라이언트 ID와 비밀을 구성합니다. 구성 옵션 전체 목록은 문서를 참조하십시오.

Aspose.HTML Cloud SDK for PHP 고품질 DOCX 생성을 위한 기능

  • 정확한 CSS 렌더링 - 라이브러리는 외부 및 인라인 CSS를 파싱하여 생성된 DOCX의 레이아웃, 글꼴 및 색상을 보존합니다.
  • 임베디드 폰트 지원 - @font-face 규칙을 사용해 사용자 정의 폰트를 포함시켜, Word 문서가 다양한 플랫폼에서 동일하게 표시되도록 합니다.
  • 보안 입력 처리 - 내장된 정화 훅을 통해 위험한 태그와 속성을 제거하여 변환 중 XSS 위험을 완화합니다.
  • 성능 제어 - maxImageResolutiondisableExternalResources와 같은 옵션으로 속도와 품질을 세밀하게 조정할 수 있습니다.
  • 배치 처리 - API가 HTML 파일 컬렉션을 받아들여 고처리량 변환 파이프라인을 구현합니다.

이러한 기능들은 품질과 보안이 모두 중요한 서버 측 문서 생성에 이 라이브러리를 이상적으로 만듭니다.

결론

HTML을 PHP에서 DOCX로 변환하는 것이 이제 Aspose.HTML Cloud SDK for PHP의 강력한 기능 덕분에 간소화된 프로세스가 되었습니다. 단계별 진행, 보안 모범 사례 적용, 라이브러리의 성능 옵션 활용을 통해 원본 HTML 모양을 유지하는 Word 문서를 안정적으로 생성할 수 있습니다. 운영 환경에서 사용하려면 적절한 라이선스를 확보해야 하며, 가격 세부 정보는 제품 페이지에서 확인할 수 있고, 테스트용으로는 임시 라이선스 페이지에서 임시 라이선스를 얻을 수 있습니다. 이 지식을 바탕으로 PHP 애플리케이션에 고품질 HTML‑to‑DOCX 변환을 통합할 준비가 되었습니다.

FAQ

  • HTML을 DOCX로 변환하는 가장 간단한 방법은 PHP에서 무엇인가요?
    Composer를 통해 설치한 후 Aspose.HTML Cloud 라이브러리의 한 줄 convertDocument 호출을 사용하십시오. 이 가이드의 예제는 최소한의 코드를 보여줍니다.

  • 변환 중에 악성 HTML로부터 애플리케이션을 어떻게 보호할 수 있나요?
    HTMLPurifier와 같은 라이브러리를 사용하여 입력을 정화하거나, 변환 API에 콘텐츠를 보내기 전에 라이브러리에서 제공하는 내장 정화 훅을 사용하십시오.

  • 라이브러리가 외부 이미지를 포함하는 HTML 변환을 지원합니까?
    예. 기본적으로 외부 리소스를 가져와서 포함합니다. DOCX 크기를 작게 유지하려면 disableExternalResources 옵션으로 이 동작을 비활성화할 수 있습니다.

  • DOCX 출력에 대한 더 고급 구성 옵션은 어디에서 찾을 수 있나요?
    모든 변환 설정은 공식 문서에 문서화되어 있으며, 페이지 크기, 여백 및 글꼴 포함 옵션을 포함합니다.

더 읽기