Golang commandline wrapper for wkhtmltopdf
In case there is a cmd/os error while rendering the PDF to cmd error was not displayed, but only the contents of wkhtmltopdf's stderr buffer were returned. The error returned by exec.Command is now appended to the contents of stderr in a new line. This should make it clear what the error was, but the error text might be very long.
No new features, removes deprecated Go functions
Margin and page size options can be set with units in wkhtmltopdf.
That was not possible in go-wkhtmltopdf, for the options that support this a "Unit" option has been added.
For example, you can now use pdfg.MarginRightUnit.Set("1mm")
to set a margin of 1 millimeter or pdfg.MarginRightUnit.Set("0.5in")
for half an inch. pdfg.MarginRight.Set(1)
is still available to to set it to 1 mm.
When both options are specified a duplicate agrument error is returned: duplicate argument: --margin-right
go modules compatability
exec.ErrDot
if this is the case. This error was previously ignored but makes it hard to debug why wkhtmltopdf was not found. See https://pkg.go.dev/os/exec@master#hdr-Executables_in_the_current_directory
Create()
functions, see https://github.com/SebastiaanKlippert/go-wkhtmltopdf/issues/102
no functional changes
Add header and footer options for TOC
Added CreateContext and use exec.CommandContext. Can be used for cancellation and other things.
Renamed page interface to PageProvider to make it exported.
Added new fields introduced in wkhtmltopdf release 0.12.6.
Most importantly page option --enable-local-file-access
which is now required to enable access to local files when to --allow
option is not used.
Fixed a couple of incorrect options.
Breaking change: Global option Lowquality
is now LowQuality
. The compiler will fail if you use this options so no big issue for most users. For JSON users it will not break because the JSON parser will parse the field with both casing options.