@chromium
@chromium-convert-html
@chromium-image-deduplication
Feature: Chromium header and footer image deduplication
# See: https://github.com/gotenberg/gotenberg/issues/1077.
# See: https://github.com/gotenberg/gotenberg/issues/1669.
# The PNG must appear on every page, but its image XObject must be shared.
Scenario: POST /forms/chromium/convert/html (Header image reused across pages)
Given I have a default Gotenberg container
When I make a "POST" request to Gotenberg at the "/forms/chromium/convert/html" endpoint with the following form data and header(s):
| files | testdata/page-1-html/index.html | file |
| files | testdata/header-footer-image/header.html | file |
| marginTop | 1 | field |
| marginBottom | 1 | field |
| Gotenberg-Output-Filename | header | header |
Then the response status code should be 200
Then the response header "Content-Type" should be "application/pdf"
Then there should be 1 PDF(s) in the response
Then the "header.pdf" PDF should have 1 page(s)
Then the "header.pdf" PDF should reuse 1 image XObject(s) across 1 page(s)
When I make a "POST" request to Gotenberg at the "/forms/chromium/convert/html" endpoint with the following form data and header(s):
| files | testdata/pages-3-html/index.html | file |
| files | testdata/header-footer-image/header.html | file |
| marginTop | 1 | field |
| marginBottom | 1 | field |
| Gotenberg-Output-Filename | header | header |
Then the response status code should be 200
Then the response header "Content-Type" should be "application/pdf"
Then there should be 1 PDF(s) in the response
Then the "header.pdf" PDF should have 3 page(s)
Then the "header.pdf" PDF should reuse 1 image XObject(s) across 3 page(s)
Scenario: POST /forms/chromium/convert/html (Footer image reused across pages)
Given I have a default Gotenberg container
When I make a "POST" request to Gotenberg at the "/forms/chromium/convert/html" endpoint with the following form data and header(s):
| files | testdata/page-1-html/index.html | file |
| files | testdata/header-footer-image/footer.html | file |
| marginTop | 1 | field |
| marginBottom | 1 | field |
| Gotenberg-Output-Filename | footer | header |
Then the response status code should be 200
Then the response header "Content-Type" should be "application/pdf"
Then there should be 1 PDF(s) in the response
Then the "footer.pdf" PDF should have 1 page(s)
Then the "footer.pdf" PDF should reuse 1 image XObject(s) across 1 page(s)
When I make a "POST" request to Gotenberg at the "/forms/chromium/convert/html" endpoint with the following form data and header(s):
| files | testdata/pages-3-html/index.html | file |
| files | testdata/header-footer-image/footer.html | file |
| marginTop | 1 | field |
| marginBottom | 1 | field |
| Gotenberg-Output-Filename | footer | header |
Then the response status code should be 200
Then the response header "Content-Type" should be "application/pdf"
Then there should be 1 PDF(s) in the response
Then the "footer.pdf" PDF should have 3 page(s)
Then the "footer.pdf" PDF should reuse 1 image XObject(s) across 3 page(s)