Merge pull request #16162 from Snuffleupagus/issue-16139

Warn about missing/incorrect `--scale-factor` CSS-variable in `renderTextLayer` (issue 16139)
This commit is contained in:
Jonas Jenwald 2023-03-16 16:41:13 +01:00 committed by GitHub
commit 85166c60fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 1 deletions

View File

@ -467,6 +467,19 @@ function renderTextLayer(params) {
);
params.textContentSource = params.textContent || params.textContentStream;
}
if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("GENERIC && !TESTING")) {
const { container, viewport } = params;
const style = getComputedStyle(container);
const scaleFactor = parseFloat(style.getPropertyValue("--scale-factor"));
if (!scaleFactor || Math.abs(scaleFactor - viewport.scale) > 1e-15) {
console.error(
"The `--scale-factor` CSS-variable must be set, " +
"to the same value as `viewport.scale`, " +
"either on the `container`-element itself or higher up in the DOM."
);
}
}
const task = new TextLayerRenderTask(params);
task._render();
return task;

View File

@ -35,7 +35,7 @@ describe("textLayer", function () {
const textLayerRenderTask = renderTextLayer({
textContentSource: page.streamTextContent(),
container: document.createElement("div"),
viewport: page.getViewport(),
viewport: page.getViewport({ scale: 1 }),
textContentItemsStr,
});
expect(textLayerRenderTask instanceof TextLayerRenderTask).toEqual(true);