템플릿 기반 DOCX 파일을 생성·관리하는 무료 PHP 라이브러리
선도적인 오픈 소스 PHP 라이브러리로 템플릿에서 Microsoft Word(DOCX) 문서를 생성, 읽기, 수정 및 조작할 수 있습니다. 테이블 추가, 텍스트·이미지 삽입 및 무료 PHP API를 통한 포맷 적용이 가능합니다.
MDword란?
Microsoft Word 문서를 만들거나 관리하려는 PHP 개발자에게 MDword는 가볍고 효율적인 PHP DOCX REST API 대안으로 돋보입니다. 오픈 소스 PHP DOCX API인 MDword는 개발자가 템플릿 기반 DOCX 파일을 만들고, 콘텐츠를 수정하며, 풍부한 문서 기능을 구축할 수 있게 해줍니다—Microsoft Office나 무거운 종속성에 의존하지 않고. 이 무료 워드 프로세싱 라이브러리는 테이블 삽입·관리, 포맷된 텍스트 추가, 이미지 처리, 여러 Word 파일을 하나로 병합하는 기능을 지원합니다. 최소한의 설계와 높은 성능으로 PHP 앱 내에서 템플릿, 사용자 데이터, 데이터베이스 콘텐츠를 실시간으로 문서화하는 데 이상적입니다.
단순함과 성능을 고려해 설계된 MDword는 자동화된 문서 워크플로우 구축을 위한 다재다능한 PHP 워드 프로세싱 라이브러리입니다. 개발자는 PHP를 통해 DOCX에 테이블을 손쉽게 추가하고, 단락을 조작하며, LibreOffice나 COM 같은 외부 도구 없이 Word 문서를 변환할 수 있습니다. 청구서, 계약서, 보고서 등 어떤 문서를 생성하든, MDword는 네이티브 PHP에서 견고한 DOCX 처리를 제공합니다. 대부분의 환경에서 즉시 호환되고 라이선스 비용이 없으며, 개발을 가볍고 비용 효율적으로 유지하면서 동적 웹 애플리케이션에서 Word 문서를 관리하기에 탁월한 선택입니다.
MDword 시작하기
프로젝트에 MDword를 설치하는 권장 방법은 Composer를 사용하는 것입니다. 원활한 설치를 위해 다음 명령을 사용하십시오.
Composer를 통해 MDword 설치
composer require mkdreams/mdword GitHub를 통해 MDword 설치
git clone https://github.com/mkdreams/MDword.git
PHP를 이용한 템플릿 기반 Word 문서 생성
MDword의 핵심은 소프트웨어 개발자가 처음부터 새로운 Word 문서를 만들 수 있게 하는 것입니다. 개발자는 새 문서 객체를 초기화하고 그 안에 콘텐츠를 추가하기 시작할 수 있습니다. 라이브러리가 지원한다면 기본 문서 속성을 설정할 수 있습니다(고급 속성 조작은 다를 수 있음). MDword는 사용자가 플레이스홀더가 있는 Word 템플릿을 만들어 실제 데이터로 동적으로 교체할 수 있게 합니다. 텍스트, 테이블, 이미지, 차트 및 기타 Word 요소를 지원합니다. 다음 예시는 개발자가 PHP 애플리케이션 내에서 기본 Word 문서를 생성하는 방법을 보여줍니다.
PHP 라이브러리로 템플릿 기반 Word(.docx) 문서를 만드는 방법은?
require_once 'vendor/autoload.php';
use MDword\WordProcessor;
// Load a template
$template = new WordProcessor();
$template->load('template.docx');
// Replace placeholders
$template->setValue('{{NAME}}', 'John Doe');
$template->setValue('{{DATE}}', date('Y-m-d'));
// Save the modified document
$template->save('output.docx');
PHP를 이용한 Word 텍스트 추가 및 포맷팅
Word 문서에 텍스트를 추가하고 포맷팅하는 것은 기본적인 요구 사항이며, MDword는 PHP 애플리케이션 내에서 텍스트 삽입 및 다양한 포맷 옵션 적용 기능을 제공합니다. 소프트웨어 개발자는 단락, 텍스트 런을 추가하고 굵게, 기울임, 밑줄, 글꼴 크기, 글꼴 패밀리, 색상과 같은 스타일을 적용할 수 있습니다. 이를 통해 생성된 문서에 풍부한 텍스트 콘텐츠를 포함할 수 있습니다. 다음 PHP 코드는 개발자가 Word 문서에 텍스트를 삽입하고 PHP 라이브러리를 통해 포맷을 적용하는 방법을 보여줍니다.
PHP 라이브러리로 Word 문서에 텍스트를 삽입하고 포맷을 적용하는 방법은?
require 'vendor/autoload.php';
use Mkdreams\MDword\MDword;
use Mkdreams\MDword\Elements\TextRun;
use Mkdreams\MDword\Elements\Paragraph;
$mdword = new MDword();
$section = $mdword->createSection(); // Sections are often containers for content
// Add a simple paragraph
$paragraph1 = new Paragraph();
$paragraph1->addText('This is a simple paragraph.');
$section->addElement($paragraph1);
// Add a paragraph with formatted text
$paragraph2 = new Paragraph();
$textRun1 = new TextRun();
$textRun1->setText('This text is ');
$paragraph2->addElement($textRun1);
$textRun2 = new TextRun();
$textRun2->setText('bold and red.');
$textRun2->setFontStyle(['bold' => true, 'color' => 'FF0000']); // Color as hex
$paragraph2->addElement($textRun2);
$section->addElement($paragraph2);
// Add text with specific font and size
$paragraph3 = new Paragraph();
$textRun3 = new TextRun();
$textRun3->setText('This is Arial, size 16.');
$textRun3->setFontStyle(['name' => 'Arial', 'size' => 16]);
$paragraph3->addElement($textRun3);
$section->addElement($paragraph3);
$mdword->save('FormattedTextDocument.docx');
echo "Formatted document created.";
PHP를 이용한 Word 파일에 테이블 추가 및 관리
테이블은 구조화된 데이터를 표시하는 데 필수적입니다. 오픈 소스 MDword 라이브러리는 테이블을 생성하고, 행·셀을 추가하며, 내용을 채우는 메커니즘을 제공합니다. 소프트웨어 개발자는 테이블 구조를 정의하고, 셀 내용(텍스트 및 경우에 따라 다른 요소)을 설정하며, 몇 줄의 코드만으로 테두리나 셀 음영에 기본 스타일을 적용할 수도 있습니다. 아래는 PHP 라이브러리를 사용해 Word .docx 문서 내부에 테이블을 만들고 관리하는 방법을 보여주는 간단한 예시입니다.
PHP 라이브러리로 Word DOCX 문서 내부에 테이블을 만들고 관리하는 방법은?
require 'vendor/autoload.php';
use Mkdreams\MDword\MDword;
use Mkdreams\MDword\Elements\Table;
use Mkdreams\MDword\Elements\Row;
use Mkdreams\MDword\Elements\Cell;
use Mkdreams\MDword\Elements\TextRun;
$mdword = new MDword();
$section = $mdword->createSection();
// Create a table
$table = new Table();
// Potentially add table-level styling, e.g., borders
// $table->setStyle(['borderSize' => 6, 'borderColor' => '000000']);
// Add a header row
$headerRow = new Row();
$cellH1 = new Cell();
$cellH1->addTextRun(new TextRun('Header 1', ['bold' => true]));
$headerRow->addCell($cellH1);
$cellH2 = new Cell();
$cellH2->addTextRun(new TextRun('Header 2', ['bold' => true]));
$headerRow->addCell($cellH2);
$table->addRow($headerRow);
// Add a data row
$dataRow1 = new Row();
$cellR1C1 = new Cell();
$cellR1C1->addTextRun(new TextRun('Data A1'));
$dataRow1->addCell($cellR1C1);
$cellR1C2 = new Cell();
$cellR1C2->addTextRun(new TextRun('Data B1'));
$dataRow1->addCell($cellR1C2);
$table->addRow($dataRow1);
$section->addElement($table);
$mdword->save('DocumentWithTable.docx');
echo "Document with table created.";