PHP는 Baidu Library 및 Docin 온라인 문서(워드, 엑셀, ppt to flash)_php 기술을 모방하는 효과를 실현합니다.

WBOY
풀어 주다: 2016-05-16 19:57:25
원래의
1633명이 탐색했습니다.

이 기사의 예에서는 PHP가 Baidu Library 및 Docin 온라인 문서를 모방하는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

바이두 라이브러리와 유사한 기능을 구현해야 하는 프로젝트이고, 혼자 진행하는 프로젝트이기 때문에 무료로 제공되는 것을 찾아서 사용해볼까 생각했습니다. 온라인에서 찾은 모든 것은 동일합니다. 다음과 같습니다:

Flash Paper는 Office 문서(.doc, .xls, .ppt)를 PDF 또는 SWF로 직접 변환하는 기능을 지원하는데, 이는 매우 빠르고 효과도 좋습니다. 안타깝게도 Flash Paper는 V2.2 이후로 업데이트되지 않았습니다. Flash Paper를 설치한 후 FlashPrinter.exe를 호출하는 명령을 직접 사용하여 일괄 변환을 수행할 수 있습니다.

예: C:FlashPaper2.2FlashPrinter.exe C:Flex Technology Introduction.ppt -o C:Flex Technology Introduction.swf

FlashPaper를 다운로드하면 제어판의 프린터 아래에 가상 프린터가 나타납니다. 이는 win7에서 32비트 버전과 64비트 버전을 모두 시도했지만 설치할 수 없다는 의미입니다.

명령줄에서 위 명령을 실행해보고 자신에 맞게 경로를 조정하세요. 실행 후 성공하면 사용할 수 있다는 의미입니다.

다음 단계는 PHP를 사용하는 것입니다. PHP는 exec 또는 시스템 등을 사용하여 다음과 같은 cmd 명령을 실행합니다.

코드 복사 코드는 다음과 같습니다.
exec("C:FlashPaper2.2FlashPrinter.exe C:Flex 기술 소개 .ppt - o C:Flex 기술 소개.swf");

실행하기 전에 다음 php.ini를 구성해야 합니다. 안전 모드를 꺼짐(safe_mode = 꺼짐)으로 설정하거나 켜진 상태로 둡니다. safe_mode_exec_dir =에서 exe를 허용하는 경로를 설정합니다. 플래시파어.

테스트해 보면 성공적으로 작동합니다!

이것들은 모두 온라인에서 찾을 수 있습니다. Office 2007을 사용하고 있기 때문에 변환 중에 .docx라는 단어가 실패했습니다. 실수로 .docx의 이름이 a.doc로 바뀌었습니다. cmd에서 직접 .docx를 변환할 수 있기 때문에 변환이 성공했습니다. 마찬가지로 2007년 ppt나 엑셀을 변환하고 싶다면 접미사 x를 빼면 변환이 가능합니다.

보충:

최근 DOCIN과 유사한 문서 변환 및 읽기 기능이 필요한 프로젝트가 있어서 관련 정보를 찾기 시작했고 마침내 두 가지 방법의 각각의 구현에 대해 논의해 보겠습니다.

첫 번째 방법: DOC 문서를 변환하여 FLASH PAPER를 통해 SWF를 직접 생성합니다. FLASH PAPER를 다운로드하고 설치하여 프로그램에서 호출합니다. :Program FilesMacromediaFlashPaper 2FlashPrinter.exe xxx.ppt -o xxx.swf 그러나 테스트해 본 결과 이 ​​기능은 동시에 하나의 문서만 변환할 수 있다는 큰 결함이 있었습니다. 다른 방법이 있는지 모르겠습니다. 해결 방법이 있으면 알려주십시오. FLASH PAPER의 변환 원리는 다음과 같습니다. 가상 프린터를 만들고, 문서를 열고, 가상으로 인쇄하고, 인쇄된 것을 얻습니다. 컨텐츠를 직접 작성하여 SWF를 생성하므로 문서를 변환하려면 가상 프린터가 실행되면 문서를 인쇄하고 열 수 있는 창이 팝업됩니다. 이 계획은 내 요구 사항을 충족하지 않으므로 바로 통과하겠습니다.

두 번째 유형: 오픈 소스 소프트웨어인 OPENOFFICE를 사용하여 문서를 PDF로 변환한 다음 SWFTOOLS를 사용하여 PDF를 SWF로 변환해야 합니다. 이 솔루션은 Microsoft 시스템이나 LINUX에서 실행할 수 있습니다. CENTOS5.5 문자 인터페이스에서 실행했습니다.

먼저 CENTOS5.5 시스템을 설치해 보세요. 설치 과정이 더 이상 지루하지 않습니다.

시스템을 설치한 후 필요한 모든 소프트웨어 패키지를 다운로드합니다. 우리가 사용하는 소프트웨어 패키지에는 다음이 포함됩니다.

# wget http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/C DS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/ jdk-6u20-linux-i586.bin?BundledLineItemUUID=fdeJ_hC vMVcAAAEpabADyW5K&OrderID=JRuJ_hCvMlQAAAEpWrADyW5K& ProductID=guBIBe.oc_wAAAEnaDJHqPYe&FileName=/jdk-6u 20-linux-i586.bin 
# wget http://download.services.openoffice.org/files/loca lized/zh-cn/3.2.0/OOo_3.2.0_LinuxIntel_install_zh-C N.tar.gz 
# wget http://www.swftools.org/swftools-0.9.1.tar.gz 
wget http://apache.etoak.com/tomcat/tomcat-6/v6.0.26/bi n/apache-tomcat-6.0.26.tar.gz 

로그인 후 복사

오픈오피스 플러그인도 있으며, 우리의 모든 애플리케이션은 이를 기반으로 합니다: jodconverter

다운로드 주소는 http://sourceforge.net/projects/jodconverter/files/

입니다.

자, 소프트웨어 패키지가 준비되었습니다. 작업을 시작하겠습니다⌒_⌒

먼저 JDK와 tomcat을 설치하세요. 설치 과정은 장황하지 않습니다. 방법을 모르면 구글링하세요.

다음으로 오픈오피스를 설치하세요.

# tar zxvf OOo_3.2.0_LinuxIntel_install_zh-CN.tar.gz 
#cd OOO320_m12_native_packed-1_zh-CN.9483/RPMS 
#rpm -ivh –force –nodeps *.rpm 

로그인 후 복사

OPENOFFICE를 설치하는 방법은 다음과 같습니다. 시스템에 중국어 글꼴이 없으면 중국어 글꼴을 설치하세요. 그렇지 않으면 변환된 PDF가 깨집니다.

openoffice를 설치한 후 swftools를 설치하면 swftools 설치도 비교적 간단합니다.

# tar zxvf swftools-0.9.1.tar.gz 
#cd swftools-0.9.1 
# ./configure –prefix=/usr/local/swftools/ 
# make && make install 

로그인 후 복사

현재

를 사용하고 있으므로 설치해야 할 모든 소프트웨어가 설치되었습니다.

이제 필요한 모든 서비스를 시작하겠습니다.

먼저 OPENOFFICE를 서비스로 시작합니다. 시작 명령은 다음과 같습니다

코드 복사 코드는 다음과 같습니다.
#/opt/openoffice.org3/program/soffice -headless -accept ="socket ,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &

그런 다음 TOMCAT을 시작하고 jodconverter를 WEB APP 변환 서비스로 사용하므로 먼저 재해 복구된 jodconverter-webapp-2.2.2.zip의 압축을 풀고 jodconverter-webapp-2.2.2.war을 TOMCAT에 넣습니다. TOMCAT을 실행한 후 APP 폴더가 자동으로 생성됩니다. 쓰기를 단순화하기 위해 이름을 변환기로 변경합니다. 서버 IP는 192.168.1.123www.linghan56.cn, TOMCAT 포트는 8080, 브라우저는 다음과 같습니다. 입력은 http:///192.168.1.123:8080/converter/이며 변환 프로그램이 정상적으로 실행되는지 확인합니다. 정상적으로 시작되면 작업의 절반 이상이 완료된 것입니다. 주요 작업은 끝났고 이제 적용하는 방법만 남았네요. PHP를 이용해 변환 프로그램을 호출했고, 사용자가 PHP를 통해 파일을 업로드해 줬는데요,

파일 형식을 결정하고 SWFTOOLS를 사용하여 직접 변환할 수 있는 JPG, GIF, PNG, PDF 등의 파일인 경우에는 http://192.168.1.123을 통해 파일을 PDF로 변환하세요. :8080/converter/. 그런 다음 SWFTOOLS를 사용하여 PDF를 SWF로 변환할 때 주의할 점은 버전을 9로 변환하는 것입니다. 9 미만의 버전으로 변환하면 AS3 작업이 매우 번거로워집니다. . SWFTOOLS 변환 명령은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
#/usr/local/swftools/bin/pdf2swf -T 9 XXX.pdf XXX .swf

여기서 -T는 #/usr/local/swftools/bin/pdf2swf -help를 통해 쿼리할 수 있는 버전 정보입니다.

이제 전체 프로세스의 3/4이 완료되었습니다. 이제 AS3를 사용하여 PDF로 생성된 SWF를 조작하는 작업만 남았습니다. 문서의 각 페이지는 다음과 같습니다. 특히 코드를 게시하지 않겠습니다. 어렵지 않을 것 같습니다.

원래 온라인 데모를 넣고 싶었지만 메모리가 512M로 VPS 구성이 너무 낮아서 PHP MYSQL을 직접 실행할 수 없었습니다. 이 응용 프로그램에 필요한 CPU는 여전히 상당히 높습니다.

두 가지 방법을 비교해보면, 먼저 변환한 것이 더 좋고 더 많은 형식을 지원해야 합니다. 이론적으로는 인쇄할 수 있는 것은 모두 변환할 수 있지만 동시에 사용할 수는 없으므로 별 의미가 없습니다. 동시성 문제를 해결하기 위해 변환 서버를 직접 작성하는 것이 원칙이라면 첫 번째 방법이 가장 적합할 것입니다.

두 번째 방법은 서버 요구 사항이 매우 높은 오픈오피스에서 지원하는 형식만 변환할 수 있습니다. DOCIN, BAIDU 문서에 대한 해결책이 무엇인지 모르겠습니다

더 많은 PHP 관련 콘텐츠에 관심이 있는 독자는 이 사이트의 특별 주제를 확인할 수 있습니다. "PHP 운영 오피스 문서 기술 요약(워드, 엑셀, 액세스, ppt 포함)", " php 날짜 시간 사용법 요약", "php 객체 지향 프로그래밍 입문 튜토리얼", "php 문자열(문자열) 사용법 요약", "php mysql 데이터베이스 작업 입문 튜토리얼 " 및 " 일반적인 PHP 데이터베이스 작업 기술 요약 "

이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿