2016-10-16 1 views
0

이 테마에 대해 알고 있다면 의견을 남겨주세요. phpoffice/word를 사용하여 docx에서 pdf 파일을 얻으려고합니다. 하루 종일 테스트를 위해 나는 단지이 오류를 얻을 수 있기 때문에 내가 진짜 만들어 질수 :docx 렌더링 라이브러리 문제에서 pdf 만들기

PHP Fatal error: Uncaught exception 'PhpOffice\PhpWord\Exception\Exception' with message 'PDF rendering library or library path has not been defined. 

는 WWW에서이 질문을보고 말하지 마십시오을, 나는 시도하지 - 도움이 아무것도. 내 코드 :

require './vendor/autoload.php'; 
require './vendor/phpoffice/phpword/bootstrap.php'; 
$filename = 'example'; 
echo PHPWORD_BASE_DIR . '/TCPDF-master'; 
$wordPdf = \PhpOffice\PhpWord\IOFactory::load("./file_to_fill/ДКП квартира физики.docx"); 
$rendererName = \PhpOffice\PhpWord\Settings::PDF_RENDERER_TCPDF; 
$rendererLibrary = 'TCPDF'; 
$rendererLibraryPath = dirname(__FILE__).'/'. $rendererLibrary; 
\PhpOffice\PhpWord\Settings::setPdfRendererPath($rendererLibraryPath); 
\PhpOffice\PhpWord\Settings::setPdfRendererName('TCPDF'); 

$pdfWriter = \PhpOffice\PhpWord\IOFactory::createWriter($wordPdf , 'PDF'); 
if (file_exists($filename.".pdf")) unlink($filename.".pdf"); 
$pdfWriter->save($filename.".pdf"); 

내 문제는 라이브러리이지만, 나는 정말로이 라이브러리의 파일이 어디에 있는지 이해할 수 없다. 오늘은 작곡가와 함께 일하려고 처음으로 시도했기 때문에 일어날 수 있습니다. 나는 dompdf와 TCPDF와 같은 다른 라이브러리를 시도했는데 다른 것들도있다. 아이디어가 있다면 환영합니다. =)

답변

0

그래서 많은 시간 동안 검색 및 테스트를 마친 후 작업 코드가 있습니다. 나는 이것이 오직 하나 일 필요가 있을지도 모른다. mpdf 라이브러리

define('PHPWORD_BASE_DIR', realpath(__DIR__));  
require './vendor/autoload.php'; 
require './TCPDF-master/tcpdf.php'; 
$PdfPath = realpath(PHPWORD_BASE_DIR . '/TCPDF-master'); 
\PhpOffice\PhpWord\Settings::setPdfRendererPath($PdfPath); 
\PhpOffice\PhpWord\Settings::setPdfRendererName('TCPDF'); 
$phpWord = \PhpOffice\PhpWord\IOFactory::load('yourtemplate.docx'); 
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord , 'PDF'); 
$xmlWriter->save('result.pdf'); 

: TCPDF 라이브러리 "

define('PHPWORD_BASE_DIR', realpath(__DIR__)); 
require './vendor/autoload.php'; 
require './vendor/mpdf/mpdf/mpdf.php'; 
$PdfPath = realpath(PHPWORD_BASE_DIR . '/vendor/mpdf/mpdf'); 
\PhpOffice\PhpWord\Settings::setPdfRendererPath($PdfPath); 
\PhpOffice\PhpWord\Settings::setPdfRendererName('MPDF'); 
$phpWord = \PhpOffice\PhpWord\IOFactory::load('temp.docx'); 
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord , 'PDF'); 
$xmlWriter->save('result.pdf'); 

그러나하여 DOMPDF이 전혀 작동하지 않습니다 ( 그래서이 두 라이브러리는 작동하지만 좋지 않아, 그 중 하나가 나를 준다 ??? "러시아어 텍스트를 입력 할 때. 그리고 둘 다 문서에서 다른 여유 공간이 많습니다 (여백이 될 수 있습니다.) 그리고 나는 그것을 편집하는 방법을 이해할 수 없습니다.