Skip to content

CHICPRO

  • Life Log
  • Cycling Log
  • Photo Log
    • Portrait
    • Landscape
    • Flower
    • Etc
  • Coding Log
  • Information

php로 word 파일(docx) 만들기 삽질

2013-09-05 by 편리

전에 PHPWord를 이용해서 워드파일(docx) 파일을 생성할 수 있다고 했는데.. 어제 오늘 이 작업을 마무리 했다. 아니 마무리 한건가? ㅋ 분명 테스트를 할 때만 해도 너무 쉽게 잘 됐는데.. Template 기능을 이용해서 계약서의 항목을 post로 넘겨받아서 채워넣고 파일을 다운로드 되도록 구현을 하고 했는데.. Template 파일에 넣은 변수가 왜 치환이 안되는 건지.. 템플릿 파일을 몇번을 만들었는지 모르겠다.

PHPWord의 주요 특징은 아래와 같다고 한다.

Major Features

Insert and format document sections
Insert and format Text elements
Insert Text breaks
Insert Page breaks
Insert and format Images and binary OLE-Objects
Insert and format watermarks (new)
Insert Header / Footer
Insert and format Tables
Insert native Titles and Table-of-contents
Insert and format List elements
Insert and format hyperlinks
Very simple template system (new)

마지막에 있는 템플릿 기능 때문에 PHPWord 라이브러리를 사용하게 됐다. 결국 저 기능을 이용해서 다운로드가 되도록 구현을 했지만 그 과정은 정말 삽질의 연속이었다. 그 삽질의 원인을 따져보자면 어이없게도 MS Word이다. 템플릿 파일을 만들면서 치환되어야 할 위치에 ${time}과 같은 형식의 변수를 넣어야 하는데 Word에서 docx 파일로 저장하면서 ${ …. time …. } ….는 xml 코드인데 저렇게 저장이 되니까 치환이 되지 않는 것이었다. 이걸 알아내려고 몇시간 삽질을 했던지.. 에혀~ 근데 더 최악은 $ …. { …. time …. } 이런 식으로 저장되는 경우도 있다는 것이다.

저런 식으로 될 때는 변수명을 바꿔서 템플릿 파일을 새로 만드는 게 확실했다. 변수명을 가능하면 영어단어로 하는 것도 도움이 됐다. 어떤 규칙성은 보이지 않고 제멋대로 저장이 돼서 어제 오늘 많은 시간을 날려버렸다. 그리고 기본 라이브러리를 수정해서 변경된 형식에 맞춰서 치환이 되도록 했다. 암튼 이번에 php로 docx 파일 생성하는 거 삽질하면서 여러 가지를 알게 된 것 같다. 이렇게 알게 된 것은 나만 아는 것이니 소중한 내 자산이 되는 것이다. ^______^

Post navigation

Previous Post:

양꼬치와 만남

Next Post:

요즘.. 뭔가 마음에 안들어

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Recent Posts

  • php 배열 연산에서 + 와 array_merge 의 차이
  • pcntl_fork 를 이용한 다중 프로세스 실행
  • 아이폰 단축어를 이용하여 주중 공휴일엔 알람 울리지 않게 하기
  • 구글 캘린더 전체일정 재동기화
  • OpenLiteSpeed 웹서버에 HTTP 인증 적용
  • OpenLiteSpeed 웹어드민 도메인 연결
  • WireGuard를 이용한 VPN 환경 구축
  • Ubuntu 22.04 서버에 OpenLiteSpeed 웹서버 세팅
  • 맥 vim 세팅
  • 우분투 시스템 터미널쉘 zsh 로 변경

Recent Comments

  • 편리 on 업무관리용 그누보드 게시판 스킨
  • 임종섭 on 업무관리용 그누보드 게시판 스킨
  • 캐논 5D 펌웨어 | Dslr 펌웨어 업그레이드 방법 82 개의 베스트 답변 on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • Top 5 캐논 5D 펌웨어 Top 89 Best Answers on 캐논 EOS 30D 펌웨어 Ver 1.0.6 , EOS 5D 펌웨어 Ver 1.1.1
  • 편리 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 임팀장 on 워드프레스 애니메이션 gif 파일을 mp4로 변환하여 출력하기
  • 편리 on Notepad++ NppFTP 플러그인 수동 설치
  • paul-j on Notepad++ NppFTP 플러그인 수동 설치
  • YS on Windows 10 iCloud 사진 저장 폴더 변경
  • 편리 on Docker를 이용한 Centos7 + httpd + php 5.4 개발환경 구축

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
© 2025 CHICPRO | Built using WordPress and SuperbThemes