Skip to content

defstudio/template-processor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lowriter installation on docker

ARG ENABLE_LIBREOFFICE_WRITER=0
RUN if [ ${ENABLE_LIBREOFFICE_WRITER} = 1 ] ; then \
    mkdir -p /usr/share/man/man1 \
    && mkdir -p /.cache/dconf && chmod -R 777 /.cache/dconf \
    && apt-get update \
    && apt-get install -y --no-install-recommends openjdk-11-jre-headless \
    && apt-get install -y --no-install-recommends libreoffice-writer \
    && apt-get install -y --no-install-recommends libreoffice-java-common ;\
fi;

Usage

use DefStudio\TemplateProcessor\Elements\Image;Template::from($dock_template_path)
        ->compile([
            // will replace all instances of ${single_key} with BAR
            'single_key' => 'BAR', 
            
            // and will repeat the block enclosed by ${array_key}[...]${/array_key}
            'array_key' => [
                ['name' => 'paul', 'age' => '36'],  // with the name and age of each element of the array
                ['name' => 'john', 'age' => '24'],  
                ['name' => 'ringo', 'age' => '48'],
                ['name' => 'george', 'age' => '22']
            ],
            
            // will replace an image named ${signature} with the one passed as argument
            // you can set the image name with [right click on image]→properties→options→Name
            'signature' => new Image(path: '/var/www/storage/app/signature.png', keep_ratio: true)) 
        ])  
        
        // Each action can be done as a standalone call
        ->set('single_key', 'Bar')
        ->clone(block_name: 'users', variable_replacements: [
            ['name' => 'paul', 'age' => '36'],
            ['name' => 'ringo', 'age' => '48'],
            ['name' => 'george', 'age' => '22'],
        ])
        ->insert_image('signature', new Image(path: '/var/www/storage/app/signature.png', keep_ratio: true))
        
        //add ->to_pdf() to convert to .pdf, otherwise an .odt file will be built
        ->to_pdf() 
        
        // stores the document in a file
        ->store($output_file)
        
        // or returns a BinaryFileResponse
        ->download($dowloaded_file_name)

notes

  • template processor tries to cleanup its variables/block identifiers, if it is failing the detection, make sure to select and apply "cancel formatting" to them

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages