PHP 프로그램 파일의 내용을 워드 문서로 생성하고 다운로드 기능에 대한 구현 코드를 제공합니다. 필요한 친구는 이를 참고할 수 있습니다
이 기사에서는 주로 두 가지 문제를 해결합니다. :
1: HTML의 내용을 PHP에서 워드 문서로 생성하는 방법
2: PHP가 HTML의 내용을 워드 문서로 생성할 때 표시 문제가 중앙에 위치하지 않습니다. 기본 쇼에서는 웹 보기가 사용됩니다.
3: PHP가 HTML의 콘텐츠를 워드 문서로 생성할 때 관련 스타일 비호환 문제
텍스트:
echo '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <xml><w:WordDocument><w:View>Print</w:View></xml> <script src="includes/js/ztree/js/jquery-1.4.4.min.js" type="text/javascript"></script> </head>'; echo '<body><table class="table_dayin"> <caption class="table_caption">'; echo "数字化教学系统电子备课稿<br> <span>学科 <em style="border-bottom: 1px solid #545454;">语文</em>学校 <em style="border-bottom: 1px solid #545454;">实验中学</em></span> </caption>"; echo '</table></body></html>'; ob_start(); //打开缓冲区 header("Cache-Control: public"); Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); if (strpos($_SERVER["HTTP_USER_AGENT"],'MSIE')) { header('Content-Disposition: attachment; filename=test.doc'); }else if (strpos($_SERVER["HTTP_USER_AGENT"],'Firefox')) { Header('Content-Disposition: attachment; filename=test.doc'); } else { header('Content-Disposition: attachment; filename=test.doc'); } header("Pragma:no-cache"); header("Expires:0"); ob_end_flush();//输出全部内容到浏览器
참고: 위의 코드 부분은 PHP 프로그램 파일에 생성된 코드를 제공합니다. 워드문서로 변환하여 다운로드 기능을 제공합니다.
두 번째 질문에 대한 답변으로 로컬에 다운로드한 워드 문서를 열면 기본적으로 웹 보기에 아래와 같이 표시됩니다.
기본 웹 보기에 표시:
일반 페이지 보기에 따라 표시되는 경우 설정용 헤더에 xml 표시 한 줄을 추가해야 합니다(파란색 코드 부분):
세 번째 문제의 경우 일부 스타일이 호환되지 않습니다. 예를 들어 상단의 큰 제목 아래 관련 속성에 대한 밑줄 주석이 있습니다.
border-bottom: 1px solid #545454; html 스타일(파란색 코드 부분), 즉 :인데, 워드에서는 인식되지 않아 여전히 밑줄이 표시되지 않습니다. 아래와 같이:
해결책은 단어가 인식하는 아래 첨자 스타일, 즉 , 변경 이 스타일을 설정한 후 로컬에 다운로드된 워드 문서를 열면 밑줄이 표시됩니다.
낚시를 하는 것보다 물고기를 가르치는 것이 더 좋습니다. 이 스타일의 비호환성에 대한 해결책을 알려드리겠습니다.
하나: 웹 버전을 찾아보세요. 온라인 편집기에서 몇 단어를 입력한 다음 밑줄 표시를 추가합니다
두 번째: 그런 다음 편집기에서 소스 코드 보기 버튼을 클릭하면 방금 추가한 밑줄을 볼 수 있습니다. 표시된 속성은 다음과 같습니다. text-꾸밈: 밑줄; html의 스타일 표시 대신: border-bottom: 1px solid #545454;
이상입니다. 궁금한 사항이 있으면 언제든지 문의해 주세요. . 문제를 제기하면 함께 논의하고 해결할 수 있습니다.
관련 기사: