Documentation
¶
Overview ¶
Package chromium provides a module which adds routes for converting HTML documents to PDF. Other modules may also retrieve the API provided by this module.
Index ¶
- Variables
- type API
- type Chromium
- func (mod Chromium) Chromium() (API, error)
- func (mod Chromium) Descriptor() gotenberg.ModuleDescriptor
- func (mod Chromium) PDF(ctx context.Context, logger *zap.Logger, URL, outputPath string, ...) error
- func (mod *Chromium) Provision(ctx *gotenberg.Context) error
- func (mod Chromium) Routes() ([]api.MultipartFormDataRoute, error)
- func (mod Chromium) Validate() error
- type Options
- type Provider
Constants ¶
This section is empty.
Variables ¶
var ( // ErrURLNotAuthorized happens if a URL is not acceptable according to the // allowed/denied lists. ErrURLNotAuthorized = errors.New("URL not authorized") // ErrInvalidPrinterSettings happens if the Options have one or more // aberrant values. ErrInvalidPrinterSettings = errors.New("invalid printer settings") // ErrPageRangesSyntaxError happens if the Options have an invalid page // ranges. ErrPageRangesSyntaxError = errors.New("page ranges syntax error") // ErrRpccMessageTooLarge happens when the messages received by // ChromeDevTools are larger than 100 MB. ErrRpccMessageTooLarge = errors.New("rpcc message too large") )
Functions ¶
This section is empty.
Types ¶
type API ¶
type API interface {
PDF(ctx context.Context, logger *zap.Logger, URL, outputPath string, options Options) error
}
API helps to interact with Chromium for converting HTML documents to PDF.
type Chromium ¶
type Chromium struct {
// contains filtered or unexported fields
}
Chromium is a module which provides both an API and routes for converting HTML document to PDF.
func (Chromium) Chromium ¶
Chromium returns an API for interacting with Chromium for converting HTML documents to PDF.
func (Chromium) Descriptor ¶
func (mod Chromium) Descriptor() gotenberg.ModuleDescriptor
Descriptor returns a Chromium's module descriptor.
func (Chromium) PDF ¶
func (mod Chromium) PDF(ctx context.Context, logger *zap.Logger, URL, outputPath string, options Options) error
PDF converts a URL to PDF. It creates a dedicated Chromium instance. 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.
type Options ¶
type Options struct {
// WaitDelay is the duration to wait when loading an HTML document before
// converting it to PDF.
// Optional.
WaitDelay time.Duration
// WaitWindowStatus is the window.status value to wait for before
// converting an HTML document to PDF.
// Optional.
WaitWindowStatus string
// ExtraHTTPHeaders are the HTTP headers to send by Chromium while loading
// the HTML document.
// Optional.
ExtraHTTPHeaders map[string]string
// Landscape sets the paper orientation.
// Optional.
Landscape bool
// PrintBackground prints the background graphics.
// Optional.
PrintBackground bool
// Scale is the scale of the page rendering.
// Optional.
Scale float64
// PaperWidth is the paper width, in inches.
// Optional.
PaperWidth float64
// PaperHeight is the paper height, in inches.
// Optional.
PaperHeight float64
// MarginTop is the top margin, in inches.
// Optional.
MarginTop float64
// MarginBottom is the bottom margin, in inches.
// Optional.
MarginBottom float64
// MarginLeft is the left margin, in inches.
// Optional.
MarginLeft float64
// MarginRight is the right margin, in inches.
// Optional.
MarginRight float64
// Page ranges to print, e.g., '1-5, 8, 11-13'. Empty means all pages.
// Optional.
PageRanges string
// HeaderTemplate is the HTML template of the header. It should be valid
// HTML markup with following classes used to inject printing values into
// them:
// - date: formatted print date
// - title: document title
// - url: document location
// - pageNumber: current page number
// - totalPages: total pages in the document
// For example, <span class=title></span> would generate span containing
// the title.
// Optional.
HeaderTemplate string
// same format as the HeaderTemplate.
// Optional.
FooterTemplate string
// PreferCSSPageSize defines whether to prefer page size as defined by CSS.
// If false, the content will be scaled to fit the paper size.
// Optional.
PreferCSSPageSize bool
}
Options are the available options for converting HTML document to PDF.
func DefaultOptions ¶
func DefaultOptions() Options
DefaultOptions returns the default values for Options.