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
- func FormDataChromiumPdfFormats(ctx *api.Context) gotenberg.PdfFormats
- type Api
- type ApiMock
- type Chromium
- func (mod *Chromium) Checks() ([]health.CheckerOption, error)
- func (mod *Chromium) Chromium() (Api, error)
- func (mod *Chromium) Descriptor() gotenberg.ModuleDescriptor
- func (mod *Chromium) Metrics() ([]gotenberg.Metric, error)
- 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) Ready() error
- func (mod *Chromium) Routes() ([]api.Route, error)
- func (mod *Chromium) Start() error
- func (mod *Chromium) StartupMessage() string
- func (mod *Chromium) Stop(ctx context.Context) 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") // ErrOmitBackgroundWithoutPrintBackground happens if // Options.OmitBackground is set to true but not Options.PrintBackground. ErrOmitBackgroundWithoutPrintBackground = errors.New("omit background without print background") // ErrInvalidEmulatedMediaType happens if the emulated media type is not // "screen" nor "print". Empty value are allowed though. ErrInvalidEmulatedMediaType = errors.New("invalid emulated media type") // ErrInvalidEvaluationExpression happens if an evaluation expression // returns an exception or undefined. ErrInvalidEvaluationExpression = errors.New("invalid evaluation expression") // 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") // ErrConsoleExceptions happens when there are exceptions in the Chromium // console. It also happens only if the [Options.FailOnConsoleExceptions] // is set to true. ErrConsoleExceptions = errors.New("console exceptions") )
Functions ¶
func FormDataChromiumPdfFormats ¶ added in v7.10.0
func FormDataChromiumPdfFormats(ctx *api.Context) gotenberg.PdfFormats
FormDataChromiumPdfFormats creates gotenberg.PdfFormats from the form data. Fallback to default value if the considered key is not present.
Types ¶
type Api ¶ added in v7.10.0
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 ApiMock ¶ added in v7.10.0
type ApiMock struct {
PdfMock func(ctx context.Context, logger *zap.Logger, url, outputPath string, options Options) error
}
ApiMock is a mock for the Api interface.
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) Checks ¶ added in v7.8.3
func (mod *Chromium) Checks() ([]health.CheckerOption, error)
Checks adds a health check that verifies if Chromium is healthy.
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 ¶ added in v7.10.0
func (mod *Chromium) Pdf(ctx context.Context, logger *zap.Logger, url, outputPath string, options Options) error
Pdf converts a URL to PDF.
func (*Chromium) Start ¶ added in v7.10.0
Start does nothing if auto-start is not enabled. Otherwise, it starts a browser instance.
func (*Chromium) StartupMessage ¶ added in v7.10.0
StartupMessage returns a custom startup message.
type Options ¶
type Options struct { // FailOnConsoleExceptions sets if the conversion should fail if there are // exceptions in the Chromium console. // Optional. FailOnConsoleExceptions bool // 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 // WaitForExpression is the custom JavaScript expression to wait before // converting an HTML document to PDF until it returns true // Optional. WaitForExpression string // ExtraHttpHeaders are the HTTP headers to send by Chromium while loading // the HTML document. // Optional. ExtraHttpHeaders map[string]string // EmulatedMediaType is the media type to emulate, either "screen" or // "print". // Optional. EmulatedMediaType string // Landscape sets the paper orientation. // Optional. Landscape bool // PrintBackground prints the background graphics. // Optional. PrintBackground bool // OmitBackground hides default white background and allows generating PDFs // with transparency. // Optional. OmitBackground 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 expectedOptions for converting HTML document to PDF.
func DefaultOptions ¶
func DefaultOptions() Options
DefaultOptions returns the default values for Options.