Enable tagged PDF export for html2pdf renders

Chrome PrintToPDF now requests a structure tree and document
outline by default, with optional RenderConfig overrides. Add
lang="en" on the e-signature certificate template so /Lang is
emitted.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>
This commit is contained in:
Cursor Agent
2026-07-29 15:56:26 +00:00
committed by Bryan Frimin
parent b229da0115
commit 4960abab9e
3 changed files with 51 additions and 1 deletions

View File

@@ -72,6 +72,26 @@ func TestWithLogger(t *testing.T) {
assert.NotNil(t, converter.l)
}
func TestGenerateTaggedPDFEnabled(t *testing.T) {
assert.True(t, generateTaggedPDFEnabled(RenderConfig{}))
disabled := false
assert.False(t, generateTaggedPDFEnabled(RenderConfig{GenerateTaggedPDF: &disabled}))
enabled := true
assert.True(t, generateTaggedPDFEnabled(RenderConfig{GenerateTaggedPDF: &enabled}))
}
func TestGenerateDocumentOutlineEnabled(t *testing.T) {
assert.True(t, generateDocumentOutlineEnabled(RenderConfig{}))
disabled := false
assert.False(t, generateDocumentOutlineEnabled(RenderConfig{GenerateDocumentOutline: &disabled}))
enabled := true
assert.True(t, generateDocumentOutlineEnabled(RenderConfig{GenerateDocumentOutline: &enabled}))
}
func TestGetPageDimensions(t *testing.T) {
tests := []struct {
name string
@@ -212,6 +232,7 @@ func TestGeneratePDF_WithValidChrome(t *testing.T) {
// Verify it looks like a PDF file (starts with PDF magic bytes)
assert.True(t, bytes.HasPrefix(pdfContent, []byte("%PDF-")))
assert.Contains(t, string(pdfContent), "/StructTreeRoot")
}
func TestGeneratePDF_ScaleHandling(t *testing.T) {