ILIAS  release_7 Revision v7.30-3-g800a261c036
ilTCPDFRenderer Class Reference
+ Inheritance diagram for ilTCPDFRenderer:
+ Collaboration diagram for ilTCPDFRenderer:

Public Member Functions

 __construct ()
 from ilPlugin More...
 
 addConfigElementsToForm (\ilPropertyFormGUI $form, $service, $purpose)
 from ilRendererConfig More...
 
 populateConfigElementsInForm (\ilPropertyFormGUI $form, $service, $purpose, $config)
 from ilRendererConfig More...
 
 validateConfigInForm (\ilPropertyFormGUI $form, $service, $purpose)
 from ilRendererConfig More...
 
 getConfigFromForm (\ilPropertyFormGUI $form, $service, $purpose)
 from ilRendererConfig More...
 
 getDefaultConfig ($service, $purpose)
 from ilRendererConfig More...
 
 prepareGenerationRequest ($service, $purpose)
 Prepare the content processing at the beginning of a PDF generation request Should be used to initialize the processing of latex code The PDF renderers require different image formats generated by the MathJax service. More...
 
 generatePDF ($service, $purpose, $config, $job)
 from ilPDFRenderer More...
 
 addConfigElementsToForm (\ilPropertyFormGUI $form, $service, $purpose)
 
 populateConfigElementsInForm (\ilPropertyFormGUI $form, $service, $purpose, $config)
 
 validateConfigInForm (\ilPropertyFormGUI $form, $service, $purpose)
 
 getConfigFromForm (\ilPropertyFormGUI $form, $service, $purpose)
 
 getDefaultConfig ($service, $purpose)
 
 generatePDF ($service, $purpose, $config, $job)
 
 prepareGenerationRequest ($service, $purpose)
 Prepare the content processing at the beginning of a PDF generation request Should be used to initialize the processing of latex code The PDF renderers require different image formats generated by the MathJax service. More...
 

Protected Attributes

 $lng
 

Detailed Description

Definition at line 6 of file class.ilTCPDFRenderer.php.

Constructor & Destructor Documentation

◆ __construct()

ilTCPDFRenderer::__construct ( )

from ilPlugin

ilDummyRendererPlugin constructor.

Definition at line 16 of file class.ilTCPDFRenderer.php.

17 {
18 global $DIC;
19 $this->lng = $DIC['lng'];
20 }
global $DIC
Definition: goto.php:24

References $DIC.

Member Function Documentation

◆ addConfigElementsToForm()

ilTCPDFRenderer::addConfigElementsToForm ( \ilPropertyFormGUI  $form,
  $service,
  $purpose 
)

from ilRendererConfig

Parameters
\ilPropertyFormGUI$form
string$service
string$purpose
Returns
\ilPropertyFormGUI|void

Implements ilRendererConfig.

Definition at line 31 of file class.ilTCPDFRenderer.php.

32 {
33 $margin_left = new ilTextInputGUI($this->lng->txt('margin_left'), 'margin_left');
34 $form->addItem($margin_left);
35
36 $margin_top = new ilTextInputGUI($this->lng->txt('margin_top'), 'margin_top');
37 $form->addItem($margin_top);
38
39 $margin_right = new ilTextInputGUI($this->lng->txt('margin_right'), 'margin_right');
40 $form->addItem($margin_right);
41
42 $margin_bottom = new ilTextInputGUI($this->lng->txt('margin_bottom'), 'margin_bottom');
43 $form->addItem($margin_bottom);
44
45 $image_scale = new ilTextInputGUI($this->lng->txt('image_scale'), 'image_scale');
46 $form->addItem($image_scale);
47 }
This class represents a text property in a property form.

References ilPropertyFormGUI\addItem().

+ Here is the call graph for this function:

◆ generatePDF()

ilTCPDFRenderer::generatePDF (   $service,
  $purpose,
  $config,
  $job 
)

from ilPDFRenderer

Parameters
string$service
string$purpose
array$config
\ilPDFGenerationJob$job

Implements ilPDFRenderer.

Definition at line 154 of file class.ilTCPDFRenderer.php.

155 {
156 require_once 'libs/composer/vendor/autoload.php';
157
158 // create new PDF document
159 $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
160
161 $pdf->SetMargins($config['margin_left'], $config['margin_top'], $config['margin_right']);
162 $pdf->SetAutoPageBreak('auto', $config['margin_buttom']);
163 $pdf->setImageScale($config['image_scale']);
164
165 $pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
166 $pdf->setFooterFont(array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
167 $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
168 $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
169 $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
170 $pdf->SetFont('dejavusans', '', 10);
171 $pdf->setSpacesRE('/[^\S\xa0]/'); // Fixing unicode/PCRE-mess #17547
172
173 foreach ($job->getPages() as $page) {
174 $page = ' ' . $page;
175 $pdf->AddPage();
176 $pdf->writeHTML($page, true, false, true, false, '');
177 }
178 $result = $pdf->Output(basename($job->getFilename()), $job->getOutputMode()); // (I - Inline, D - Download, F - File)
179
180 if (in_array($job->getOutputMode(), array('I', 'D'))) {
181 exit();
182 }
183 }
$result
exit
Definition: login.php:29
if(!array_key_exists('PATH_INFO', $_SERVER)) $config
Definition: metadata.php:68

References $config, $result, and exit.

◆ getConfigFromForm()

ilTCPDFRenderer::getConfigFromForm ( \ilPropertyFormGUI  $form,
  $service,
  $purpose 
)

from ilRendererConfig

Parameters
\ilPropertyFormGUI$form
string$service
string$purpose
Returns
array

Implements ilRendererConfig.

Definition at line 93 of file class.ilTCPDFRenderer.php.

94 {
95 $retval = array(
96 'margin_left' => $form->getItemByPostVar('margin_left')->getValue(),
97 'margin_right' => $form->getItemByPostVar('margin_right')->getValue(),
98 'margin_top' => $form->getItemByPostVar('margin_top')->getValue(),
99 'margin_bottom' => $form->getItemByPostVar('margin_bottom')->getValue(),
100 'image_scale' => $form->getItemByPostVar('image_scale')->getValue(),
101 );
102
103 return $retval;
104 }

References ilPropertyFormGUI\getItemByPostVar().

+ Here is the call graph for this function:

◆ getDefaultConfig()

ilTCPDFRenderer::getDefaultConfig (   $service,
  $purpose 
)

from ilRendererConfig

Parameters
string$service
string$purpose
Returns
array

Implements ilRendererConfig.

Definition at line 115 of file class.ilTCPDFRenderer.php.

116 {
117 $retval = array(
118 'margin_left' => '10',
119 'margin_top' => '10',
120 'margin_right' => '10',
121 'margin_bottom' => '10',
122 'image_scale' => '1',
123 );
124
125 return $retval;
126 }

◆ populateConfigElementsInForm()

ilTCPDFRenderer::populateConfigElementsInForm ( \ilPropertyFormGUI  $form,
  $service,
  $purpose,
  $config 
)

from ilRendererConfig

Parameters
\ilPropertyFormGUI$form
string$service
string$purpose
array$config
Returns
\ilPropertyFormGUI|void

Implements ilRendererConfig.

Definition at line 59 of file class.ilTCPDFRenderer.php.

60 {
61 $form->getItemByPostVar('margin_left')->setValue($config['margin_left']);
62 $form->getItemByPostVar('margin_right')->setValue($config['margin_right']);
63 $form->getItemByPostVar('margin_top')->setValue($config['margin_top']);
64 $form->getItemByPostVar('margin_bottom')->setValue($config['margin_bottom']);
65 $form->getItemByPostVar('image_scale')->setValue($config['image_scale']);
66 }

References $config, and ilPropertyFormGUI\getItemByPostVar().

+ Here is the call graph for this function:

◆ prepareGenerationRequest()

ilTCPDFRenderer::prepareGenerationRequest (   $service,
  $purpose 
)

Prepare the content processing at the beginning of a PDF generation request Should be used to initialize the processing of latex code The PDF renderers require different image formats generated by the MathJax service.

Parameters
string$service
string$purpose
Returns
void

Implements ilPDFRenderer.

Definition at line 137 of file class.ilTCPDFRenderer.php.

138 {
142 ->setDpi(600)
143 ->setZoomFactor(0.17);
144 }
static getInstance()
Singleton: get instance.
const PURPOSE_PDF
const RENDER_PNG_AS_IMG_EMBED

References ilMathJax\getInstance(), ilMathJax\PURPOSE_PDF, and ilMathJax\RENDER_PNG_AS_IMG_EMBED.

+ Here is the call graph for this function:

◆ validateConfigInForm()

ilTCPDFRenderer::validateConfigInForm ( \ilPropertyFormGUI  $form,
  $service,
  $purpose 
)

from ilRendererConfig

Parameters
\ilPropertyFormGUI$form
string$service
string$purpose
Returns
bool

Implements ilRendererConfig.

Definition at line 77 of file class.ilTCPDFRenderer.php.

78 {
79 if (true) {
80 return true;
81 }
82 }

Field Documentation

◆ $lng

ilLanguage ilTCPDFRenderer::$lng
protected

Definition at line 9 of file class.ilTCPDFRenderer.php.


The documentation for this class was generated from the following file: