Documentation
¶
Overview ¶
Package pdf renders HTML documents to PDF using Chromium.
Package pdf renders HTML documents to PDF using Chromium.
Index ¶
- func CheckChromiumAvailable() error
- func WarnIfCJKFontsMissing(htmlContent string, logger interface{ ... })
- type Generator
- type GeneratorOption
- func WithDocumentOutline(enable bool) GeneratorOption
- func WithFooterTemplate(tmpl string) GeneratorOption
- func WithHeaderFooter(enable bool) GeneratorOption
- func WithMarginStrings(left, right, top, bottom string) GeneratorOption
- func WithMargins(left, right, top, bottom float64) GeneratorOption
- func WithPageSize(width, height float64) GeneratorOption
- func WithPrintBackground(print bool) GeneratorOption
- func WithTaggedPDF(enable bool) GeneratorOption
- func WithTimeout(d time.Duration) GeneratorOption
- type PDFRenderer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckChromiumAvailable ¶
func CheckChromiumAvailable() error
CheckChromiumAvailable reports whether Chrome or Chromium is installed.
func WarnIfCJKFontsMissing ¶ added in v0.3.1
WarnIfCJKFontsMissing checks whether the HTML content contains CJK characters and warns the user if no CJK fonts are installed on the system. This is a best-effort check — it logs a warning but does not block PDF generation.
Types ¶
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
Generator converts HTML into PDF files.
func NewGenerator ¶
func NewGenerator(opts ...GeneratorOption) *Generator
NewGenerator creates a PDF generator. By default, it generates a document outline (clickable bookmarks) and tagged PDF.
type GeneratorOption ¶
type GeneratorOption func(*Generator)
GeneratorOption customizes a PDF generator.
func WithDocumentOutline ¶
func WithDocumentOutline(enable bool) GeneratorOption
WithDocumentOutline toggles PDF bookmark/outline generation from heading hierarchy. Enabled by default. Requires Chrome 128+ for full support.
func WithFooterTemplate ¶ added in v0.4.0
func WithFooterTemplate(tmpl string) GeneratorOption
WithFooterTemplate sets a custom HTML footer template for PDF pages. The template is rendered by Chrome's PrintToPDF and supports CSS styling. Chrome provides special classes: "pageNumber", "totalPages", "date", "title", "url".
func WithHeaderFooter ¶
func WithHeaderFooter(enable bool) GeneratorOption
WithHeaderFooter toggles header and footer rendering.
func WithMarginStrings ¶ added in v0.4.0
func WithMarginStrings(left, right, top, bottom string) GeneratorOption
WithMarginStrings sets page margins from string values (e.g., "20mm", "1in"). Uses default values if parsing fails.
func WithMargins ¶
func WithMargins(left, right, top, bottom float64) GeneratorOption
WithMargins sets page margins in millimeters.
func WithPageSize ¶
func WithPageSize(width, height float64) GeneratorOption
WithPageSize sets the page size in millimeters.
func WithPrintBackground ¶
func WithPrintBackground(print bool) GeneratorOption
WithPrintBackground toggles background printing.
func WithTaggedPDF ¶
func WithTaggedPDF(enable bool) GeneratorOption
WithTaggedPDF toggles tagged (accessible) PDF generation. Enabled by default. Tagged PDFs include structural metadata for screen readers.
func WithTimeout ¶
func WithTimeout(d time.Duration) GeneratorOption
WithTimeout sets the operation timeout.