2012-02-15 7 views
8

В настоящее время я создаю несколько файлов .docx с помощью PHPWord. Мне нужно найти способ объединить эти файлы docx и сохранить их как 1 файл pdf. Есть ли способ, которым это можно сделать?Преобразование docx в pdf с помощью PHP

ответ

12

Открыть сгенерированный DOCX с PHPDOCX http://www.phpdocx.com/

require_once 'phpdocx_pro/classes/TransformDoc.inc'; 
    $docx = new TransformDoc(); 
    $docx->setStrFile('document.docx'); 
    $docx->generateXHTML(); 
    $html = $docx->getStrXHTML(); 

Кроме того, вы можете экспортировать DOCX в PDF с

$docx->generatePDF(); 
+0

Да, если я буду делать, что я мог бы также приобрести PHPDOCX и использовать его для создания DOCX. Я все равно думал об этом; просто пытаясь увидеть, есть ли там свободная альтернатива. Я также не поклонник покупки новой лицензии для каждого домена/поддомена. – Keith

+0

Я просто пробовал, и он не работает очень хорошо ... Я начинаю с документа WORD2007, созданного с помощью PHPWord (содержит таблицы, фотографии, ... но без графиков), и ваш PHPDOCX создает PDF-файл, но с некоторыми данными но не все (на самом деле большая часть данных не отображается) и никакого изображения вообще ... Вы можете посмотреть здесь: из [link] https://www.box.com/s/cbf2243c6cb0cf782a08 и PDF, преобразованный с использованием ваш код: [link] https://www.box.com/s/600a4f83d4db987baa1e –

+0

Слишком плохо, что это не работает с версией сообщества phpdocx. «Класс« DOMPDF »не найден» – user2718671

0

Нитт я использую это: https://github.com/benskay/PHP-Digital-Format-Convert-Epub-Mobi-PDF/tree/master/library/phpDocx и что:

require_once dirname(__FILE__) .'/phpdocx/classes/TransformDoc.inc.php'; 
require_once dirname(__FILE__) .'/phpdocx/classes/CreateDocx.inc.php'; 
$docx = new TransformDoc(); 
$docx->setStrFile('document.docx'); 
$docx->generatePDF(); 

==> Это похоже на работу, но ... где сгенерированный PDF-файл? Как я могу получить PDF-файл?

-2
/** 
    * return the pdf stream as a string returned from the function 
    */ 
    function output($debug = false) { 
    ... 
    } 

так просто написать результат 'generatePDF()' в файл.

, например:

$content = $docx->generatePDF(); 
$myfile = fopen("newfile.pdf", "w"); 
fwrite($myfile, $content); 
fclose($myfile); 
Смежные вопросы