How to apply a Word DOCX Template in PHP
2 min readApr 15, 2020
In today’s lesson, we are looking into how to apply DOCX templates in PHP. Simple enough at first glance, but hiding an iceberg of drudgery below the surface. This is why we are foregoing the normal means of implementation, instead favoring an API-based approach. An added advantage — this will only take a few minutes.
Use this command to install our API client:
composer require cloudmersive/cloudmersive_document_convert_api_client
Now it’s time for convertTemplateApplyDocxTemplate:
<?phprequire_once(__DIR__ . '/vendor/autoload.php');// Configure API key authorization: Apikey$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY');// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed// $config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('Apikey', 'Bearer');$apiInstance = new Swagger\Client\Api\ConvertTemplateApi(// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.// This is optional, `GuzzleHttp\Client` will be used as default.new GuzzleHttp\Client(),$config);$input_file = "/path/to/file"; // \SplFileObject | Input file to perform the operation on.$template_definition = "template_definition_example"; // string | Template definition for the document, including what values to replacetry {$result = $apiInstance->convertTemplateApplyDocxTemplate($input_file, $template_definition);print_r($result);} catch (Exception $e) {echo 'Exception when calling ConvertTemplateApi->convertTemplateApplyDocxTemplate: ', $e->getMessage(), PHP_EOL;}?>
And at this point there’s nothing left to do but define our template and then input a file upon which it can be applied. It’s as simple as that!