Commit c1ad7742 authored by Carsten  Rose's avatar Carsten Rose
Browse files

Manual.rst: Cleanup doc for wkhtmltopdf. Remove all references to excel...

Manual.rst: Cleanup doc for wkhtmltopdf. Remove all references to excel export. Add best practice for 'export area' (IP based restriction).
parent c14126b7
...@@ -38,24 +38,25 @@ To normalize UTF8 input, the *php5-intl* resp. *php7.0-intl* package is needed b ...@@ -38,24 +38,25 @@ To normalize UTF8 input, the *php5-intl* resp. *php7.0-intl* package is needed b
* normalizer::normalize() * normalizer::normalize()
For the `download`_ function, the program `pdftk` is necessary to concatenate PDF files.
Preparation for Ubuntu 14.04:: Preparation for Ubuntu 14.04::
sudo apt-get install php5-mysqlnd php5-intl sudo apt-get install php5-mysqlnd php5-intl pdftk
sudo php5enmod mysqlnd sudo php5enmod mysqlnd
sudo service apache2 restart sudo service apache2 restart
Preparation steps for Ubuntu 16.04:: Preparation steps for Ubuntu 16.04::
sudo apt install php7.0-intl sudo apt install php7.0-intl pdftk
wkhtmltopdf
^^^^^^^^^^^
wkhtmltopdf: print page / convert HTML to PDF
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Different browser prints the same page in different variations. To prevent this, QFQ implements a small PHP wrapper `print.php` `wkhtmltopdf` http://wkhtmltopdf.org/ will be used by QFQ to offer 'website print' and 'HTML to PDF' conversion.
which uses http://wkhtmltopdf.org/ (webkit based) to convert HTML to PDF. The converter is also during `download`_ to The converter is not included in QFQ and has to be manually installed.
convert HTML to PDF. The converter is not included in QFQ and has to be manually installed.
Hint:
* The Ubuntu package `wkhtmltopdf` needs a running Xserver - this does not work on a headless webserver. Best is to * The Ubuntu package `wkhtmltopdf` needs a running Xserver - this does not work on a headless webserver. Best is to
install the QT version from the named website above. install the QT version from the named website above.
* FE_GROUP protected pages/tt-content are not accessible via `wkhtmltopdf`. * FE_GROUP protected pages/tt-content are not accessible via `wkhtmltopdf`.
...@@ -66,6 +67,17 @@ In `config-qfq-ini`_ specify the: ...@@ -66,6 +67,17 @@ In `config-qfq-ini`_ specify the:
* installed `wkhtmltopdf` binary, * installed `wkhtmltopdf` binary,
* the site base URL. * the site base URL.
HTML to PDF conversion
''''''''''''''''''''''
`wkhtmltopdf` converts a website (local or remote) to a (multi)-page PDF file. It's mainly used in `download`_.
Print
'''''
Different browser prints the same page in different variations. To prevent this, QFQ implements a small PHP wrapper
`print.php` with `wkhtmltopdf` in behind.
Provide a `print this page`-link (replace {current pageId}):: Provide a `print this page`-link (replace {current pageId})::
<a href="typo3conf/ext/qfq/qfq/api/print.php?id={current pageId}">Print this page</a> <a href="typo3conf/ext/qfq/qfq/api/print.php?id={current pageId}">Print this page</a>
...@@ -76,7 +88,7 @@ Typoscript code to implement a print link on every page:: ...@@ -76,7 +88,7 @@ Typoscript code to implement a print link on every page::
10 = TEXT 10 = TEXT
10 { 10 {
wrap = <a href="typo3conf/ext/qfq/qfq/api/print.php?id=|&type=2"><span class="glyphicon glyphicon-print" aria-hidden="true"></span> Printview</a> wrap = <a href="typo3conf/ext/qfq/qfq/api/print.php?id=...|&type=2"><span class="glyphicon glyphicon-print" aria-hidden="true"></span> Printview</a>
data = page:uid data = page:uid
} }
...@@ -1235,10 +1247,7 @@ Such variant might be called via SIP. The following shows the same *Form* in the ...@@ -1235,10 +1247,7 @@ Such variant might be called via SIP. The following shows the same *Form* in the
10.sql = SELECT CONCAT('from&form=person&r=', p.id) as _Pagee, CONCAT('from&form=person&formModeGlobal=readonly&r=', p.id) as _Pagee FROM Person AS p 10.sql = SELECT CONCAT('from&form=person&r=', p.id) as _Pagee, CONCAT('from&form=person&formModeGlobal=readonly&r=', p.id) as _Pagee FROM Person AS p
..
FormElements FormElements
------------ ------------
...@@ -3321,7 +3330,7 @@ Column: _link ...@@ -3321,7 +3330,7 @@ Column: _link
+---+---+--------------+-----------------------------------+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ +---+---+--------------+-----------------------------------+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| | |SIP |s[:0|1] |s, s:0, s:1 |If 's' or 's:1' a SIP entry is generated with all non Typo 3 Parameters. The URL contains only parameter 's' and Typo 3 parameter | | | |SIP |s[:0|1] |s, s:0, s:1 |If 's' or 's:1' a SIP entry is generated with all non Typo 3 Parameters. The URL contains only parameter 's' and Typo 3 parameter |
+---+---+--------------+-----------------------------------+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ +---+---+--------------+-----------------------------------+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| | |Mode |M:file|pdf|excel|zip |M:file, M:pdf, M:excel |Mode. Used to specify type of download. One or more element sources needs to be configured. See `download`_. | | | |Mode |M:file|pdf|zip |M:file, M:pdf, M:zip |Mode. Used to specify type of download. One or more element sources needs to be configured. See `download`_. |
+---+---+--------------+-----------------------------------+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ +---+---+--------------+-----------------------------------+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
| | |File |f:<filename> |f:fileadmin/file.pdf |Element source for download mode file|pdf|zip. See `download`_. | | | |File |f:<filename> |f:fileadmin/file.pdf |Element source for download mode file|pdf|zip. See `download`_. |
+---+---+--------------+-----------------------------------+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ +---+---+--------------+-----------------------------------+---------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
...@@ -3453,7 +3462,6 @@ Download offers: ...@@ -3453,7 +3462,6 @@ Download offers:
* download a single file (any type), * download a single file (any type),
* concatenate several files (uploaded) and/or web pages (=HTML to PDF) into one PDF output file, * concatenate several files (uploaded) and/or web pages (=HTML to PDF) into one PDF output file,
* create an `excel` export (based on a Typo3 page which creates XML output),
* create a ZIP archive, filled with several files ('uploaded' or 'HTML to PDF'-converted). * create a ZIP archive, filled with several files ('uploaded' or 'HTML to PDF'-converted).
The downloads are SIP protected. Only the current user can use the link to download files. The downloads are SIP protected. Only the current user can use the link to download files.
...@@ -3461,11 +3469,11 @@ The downloads are SIP protected. Only the current user can use the link to downl ...@@ -3461,11 +3469,11 @@ The downloads are SIP protected. Only the current user can use the link to downl
By using the `_link` columnname: By using the `_link` columnname:
* the option `d:...` initiate creating the download link and optional specifies an export filename, * the option `d:...` initiate creating the download link and optional specifies an export filename,
* the optional `M:...` (Mode) specifies the export type (file, pdf, excel, zip), * the optional `M:...` (Mode) specifies the export type (file, pdf, zip),
* setting `s:1` is mandatory for the download function, * setting `s:1` is mandatory for the download function,
* the alttext `a:...` specifies a message in the dowload popup. * the alttext `a:...` specifies a message in the dowload popup.
By using `_pdf`, `_Pdf`, `_file`, `_File`, `_excel`, `_Excel`, `_zip`, `_Zip` as columnname the options `d`, `m` and `s` By using `_pdf`, `_Pdf`, `_file`, `_File`, `_zip`, `_Zip` as columnname the options `d`, `m` and `s`
will be set by automatically. will be set by automatically.
All files will be read by PHP - therefore the directory might be protected against direct web access. This way is the All files will be read by PHP - therefore the directory might be protected against direct web access. This way is the
...@@ -3495,14 +3503,13 @@ Parameter and (element) sources ...@@ -3495,14 +3503,13 @@ Parameter and (element) sources
* *mode*: `m:<mode>` * *mode*: `m:<mode>`
* *mode* = <file | pdf | excel | zip> - This parameter is optional and can be skipped in most situations. Mandatory * *mode* = <file | pdf | zip> - This parameter is optional and can be skipped in most situations. Mandatory
for 'excel', 'zip'. for 'zip'.
* If `m:file`, the mimetype is derived dynamically from the specified file. In this mode, only one element source * If `m:file`, the mimetype is derived dynamically from the specified file. In this mode, only one element source
is allowed per download link (no concatenation). is allowed per download link (no concatenation).
* In case of multiple element sources, only `pdf` or `zip` is supported. * In case of multiple element sources, only `pdf` or `zip` is supported.
* `m:excel` is not implemented now.
* If `m:zip` is used together with `U:...` oder `u:..`, those HTML pages will be converted to PDF. Those files * If `m:zip` is used together with `U:...` oder `u:..`, those HTML pages will be converted to PDF. Those files
get generic filenames inside the archive. get generic filenames inside the archive.
* If not specified, the **default** depends on the number of specified element sources (=file or web page). * If not specified, the **default** depends on the number of specified element sources (=file or web page).
...@@ -3552,6 +3559,24 @@ Example: :: ...@@ -3552,6 +3559,24 @@ Example: ::
.. ..
Export area
'''''''''''
To offer protected pages, e.g. referenced in download links, the regular FE_GROUPs can't be used, cause the download does
not have the current user privileges (it's a separate process, started as the webserver user).
Create a separated export tree in Typo3 Backend, which is IP access restricted. Only localhost or the FE_GROUP 'admin'
is allowed to access: ::
[IP = {$tmp.restrictedIPRange} ][usergroup = admin]
page.10 < styles.content.get
[else]
page.10 = TEXT
page.10.value = Please access from localhost or log in as 'admin' user.
[global]
..
Columns: _page[X] Columns: _page[X]
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment