Documentation
¶
Overview ¶
Package unoconv provides a module which abstracts the CLI tool unoconv.
Index ¶
- Variables
- type API
- type Options
- type Provider
- type Unoconv
- func (Unoconv) Descriptor() gotenberg.ModuleDescriptor
- func (mod Unoconv) Extensions() []string
- func (mod Unoconv) Metrics() ([]gotenberg.Metric, error)
- func (mod Unoconv) PDF(ctx context.Context, logger *zap.Logger, inputPath, outputPath string, ...) error
- func (mod *Unoconv) Provision(ctx *gotenberg.Context) error
- func (mod *Unoconv) Start() error
- func (mod Unoconv) StartupMessage() string
- func (mod *Unoconv) Stop(ctx context.Context) error
- func (mod *Unoconv) Unoconv() (API, error)
- func (mod Unoconv) Validate() error
Constants ¶
This section is empty.
Variables ¶
var ErrMalformedPageRanges = errors.New("page ranges are malformed")
ErrMalformedPageRanges happens if the page ranges option cannot be interpreted by LibreOffice.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API interface { PDF(ctx context.Context, logger *zap.Logger, inputPath, outputPath string, options Options) error Extensions() []string }
API is an abstraction on top of unoconv.
type Options ¶
type Options struct { // Landscape allows to change the orientation of the resulting PDF. // Optional. Landscape bool // PageRanges allows to select the pages to convert. // TODO: should prefer a method form PDFEngine. // Optional. PageRanges string // PDFArchive allows to convert the resulting PDF to PDF/A-1a. // In a module, prefer the Convert method from the gotenberg.PDFEngine // interface. // Optional. PDFArchive bool }
Options gathers available options when converting a document to PDF.
type Provider ¶
Provider is a module interface which exposes a method for creating an API for other modules.
func (m *YourModule) Provision(ctx *gotenberg.Context) error { provider, _ := ctx.Module(new(unoconv.Provider)) uno, _ := provider.(unoconv.Provider).Unoconv() }
type Unoconv ¶
type Unoconv struct {
// contains filtered or unexported fields
}
Unoconv is a module which provides an API to interact with unoconv.
func (Unoconv) Descriptor ¶
func (Unoconv) Descriptor() gotenberg.ModuleDescriptor
Descriptor returns a Unoconv's module descriptor.
func (Unoconv) Extensions ¶
Extensions returns the file extensions available with unoconv.
func (Unoconv) PDF ¶
func (mod Unoconv) PDF(ctx context.Context, logger *zap.Logger, inputPath, outputPath string, options Options) error
PDF converts a document to PDF.
In stateless mode, it creates a dedicated LibreOffice instance thanks to a custom user profile directory and a free port. Substantial calls to this method may increase CPU and memory usage drastically. In such a scenario, the given context may also be done before the end of the conversion.
In listener mode, it calls the unoconv listener to interact with LibreOffice, improving substantially the performance. However, it cannot perform parallel operations and have to wait for the lock to be available.
func (*Unoconv) Provision ¶
Provision sets the module properties. It returns an error if the environment variable UNOCONV_BIN_PATH is not set.
func (Unoconv) StartupMessage ¶ added in v7.4.0
StartupMessage returns a custom startup message.