feat(chromium): add generateTaggedPdf to form fields - closes #1210

This commit is contained in:
Julien Neuhart
2025-05-20 11:49:10 +02:00
parent 67ebe17fcb
commit ce155fb43e
6 changed files with 17 additions and 5 deletions

View File

@@ -220,6 +220,10 @@ type PdfOptions struct {
// GenerateDocumentOutline defines whether the document outline should be
// embedded into the PDF.
GenerateDocumentOutline bool
// GenerateTaggedPdf defines whether to generate tagged (accessible)
// PDF.
GenerateTaggedPdf bool
}
// DefaultPdfOptions returns the default values for PdfOptions.
@@ -241,6 +245,7 @@ func DefaultPdfOptions() PdfOptions {
FooterTemplate: "<html><head></head><body></body></html>",
PreferCssPageSize: false,
GenerateDocumentOutline: false,
GenerateTaggedPdf: false,
}
}

View File

@@ -207,6 +207,7 @@ func FormDataChromiumPdfOptions(ctx *api.Context) (*api.FormData, PdfOptions) {
headerTemplate, footerTemplate string
preferCssPageSize bool
generateDocumentOutline bool
generateTaggedPdf bool
)
form.
@@ -224,7 +225,8 @@ func FormDataChromiumPdfOptions(ctx *api.Context) (*api.FormData, PdfOptions) {
Content("header.html", &headerTemplate, defaultPdfOptions.HeaderTemplate).
Content("footer.html", &footerTemplate, defaultPdfOptions.FooterTemplate).
Bool("preferCssPageSize", &preferCssPageSize, defaultPdfOptions.PreferCssPageSize).
Bool("generateDocumentOutline", &generateDocumentOutline, defaultPdfOptions.GenerateDocumentOutline)
Bool("generateDocumentOutline", &generateDocumentOutline, defaultPdfOptions.GenerateDocumentOutline).
Bool("generateTaggedPdf", &generateTaggedPdf, defaultPdfOptions.GenerateTaggedPdf)
pdfOptions := PdfOptions{
Options: options,
@@ -243,6 +245,7 @@ func FormDataChromiumPdfOptions(ctx *api.Context) (*api.FormData, PdfOptions) {
FooterTemplate: footerTemplate,
PreferCssPageSize: preferCssPageSize,
GenerateDocumentOutline: generateDocumentOutline,
GenerateTaggedPdf: generateTaggedPdf,
}
return form, pdfOptions

View File

@@ -49,7 +49,8 @@ func printToPdfActionFunc(logger *zap.Logger, outputPath string, options PdfOpti
WithPageRanges(pageRanges).
WithPreferCSSPageSize(options.PreferCssPageSize).
WithGenerateDocumentOutline(options.GenerateDocumentOutline).
WithGenerateTaggedPDF(false)
// See https://github.com/gotenberg/gotenberg/issues/1210.
WithGenerateTaggedPDF(options.GenerateTaggedPdf)
hasCustomHeaderFooter := options.HeaderTemplate != DefaultPdfOptions().HeaderTemplate ||
options.FooterTemplate != DefaultPdfOptions().FooterTemplate