Forum


Replies: 1   Views: 165
Trying to setup the convertion plugin with msword

Posted by TristanCA  · 25-01-2024 - 11:17

hi everyone, first of all i'm on PHP 8.3.1 and i'm using the latest premium version of phpdocx.

I'm trying to setup phpdocx to simply convert a docx template into a pdf. I choosed the msword method because i'm on a Microsoft Server but i'm having trouble with the convertion. i've setup everything following the documentation, and even try the common errors and mistake for msword but i can't manage to convert a single docx. the check-conversionplugin.php is all green. Here's my code : 

$V_docx = new CreateDocxFromTemplate('./Tmp/templateTableau.docx');
$V_variables = $V_docx->getTemplateVariables();
$V_article = 'ish'; //$_POST['article'];
$V_designation = 'truc'; //$_POST['designation'];
$V_signature = 'osef'; //$_POST['signature'];
$V_nbimpression = 2; //$_POST['nbimpression'];
$V_arrayVariables = array($V_variables['document']['0'] => $V_article, $V_variables['document']['1'] => $V_designation, $V_variables['document']['2'] => $V_signature, $V_variables['document']['3'] => $V_signature);
$V_docx->replaceVariableByText($V_arrayVariables);

if (file_exists('./Tmp/genere/document.docx'))
{
        unlink('./Tmp/genere/document.docx'); // Supprime le fichier existant
}

$V_docx->createDocx('document');

i then tried different thing :

$V_docx->transformDocument('document.docx', 'documentTab.pdf', 'msword', array('selectedContent' => 'active', 'toc' => True));

Fatal error: Uncaught com_exception: Failed to create COM object `word.application': CoInitialize n’a pas été appelé in ...\Assets\phpdocx\14.5\classes\TransformDocAdvMSWord.php:106 Stack trace: #0 ...\Assets\phpdocx\14.5\classes\TransformDocAdvMSWord.php(106): com->__construct() #1 ...\Assets\phpdocx\14.5\classes\CreateDocx.php(9898): TransformDocAdvMSWord->transformDocument() #2 ...\testPDF.php(28): CreateDocx->transformDocument() #3 {main} thrown in ...Assets\phpdocx\14.5\classes\TransformDocAdvMSWord.php on line 106

$V_docx->transformDocument('document.docx', 'documentTab.pdf', 'msword', array('selectedContent' => 'active'));

 

Fatal error: Uncaught com_exception: <b>Source:</b> Microsoft Word<br/><b>Description:</b> Commande non disponible�: aucun document n'est ouvert. in ...\Assets\phpdocx\14.5\classes\TransformDocAdvMSWord.php:134 Stack trace: #0 ...\Assets\phpdocx\14.5\classes\CreateDocx.php(9898): TransformDocAdvMSWord->transformDocument() #1 ...\testPDF.php(19): CreateDocx->transformDocument() #2 {main} thrown in ....Assets\phpdocx\14.5\classes\TransformDocAdvMSWord.php on line 134

 

$V_docx->transformDocument('document.docx', 'documentTab.pdf', 'msword', array('selectedContent' => 'documents'));

 


Fatal error: Uncaught com_exception: <b>Source:</b> Microsoft Word<br/><b>Description:</b> Le membre de la collection requis n'existe pas. in \Assets\phpdocx\14.5\classes\TransformDocAdvMSWord.php:123 Stack trace: #0 \Assets\phpdocx\14.5\classes\CreateDocx.php(9898): TransformDocAdvMSWord->transformDocument() #1 \testPDF.php(19): CreateDocx->transformDocument() #2 {main} thrown in \Assets\phpdocx\14.5\classes\TransformDocAdvMSWord.php on line 123

sorry for the french is the error message, here's the reference for the microsft error in english : 

1- CoInitialize has not been called

2-Run-time error '4248': This command is not available because no document is open.

3- Run-time error '5941': The requested member of the collection does not exist.