Compare commits

...

18 Commits

Author SHA1 Message Date
Tim van der Meij
f32254dbd4
Merge pull request #19742 from timvandermeij/updates
Update dependencies and translations to the most recent versions
2025-03-30 18:04:07 +02:00
Tim van der Meij
040e9c7be4
Update translations to the most recent versions 2025-03-30 15:46:00 +02:00
Tim van der Meij
bb8fb74b72
Upgrade eslint-plugin-unicorn to version 58.0.0
This is a major version bump, but the changelog at
https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v58.0.0
doesn't indicate any breaking changes that should impact us.
2025-03-30 15:44:51 +02:00
Tim van der Meij
a6db2d9f47
Update dependencies to the most recent versions 2025-03-30 15:43:55 +02:00
Tim van der Meij
221956d8ba
Merge pull request #19741 from timvandermeij/bump
Bump the stable version in `pdfjs.config`
2025-03-30 15:33:32 +02:00
Tim van der Meij
7a1ff7f36c
Bump the stable version in pdfjs.config 2025-03-30 15:30:08 +02:00
Tim van der Meij
45cbe8bb0d
Merge pull request #19735 from Snuffleupagus/Type3WordSpacing
Apply char/word-spacing correctly for missing Type3-glyphs
2025-03-30 12:07:54 +02:00
Tim van der Meij
1ccc82beff
Merge pull request #19733 from Snuffleupagus/import-vite-ignore
[api-minor] Attempt to improve support for using the PDF.js builds with Vite
2025-03-30 11:58:20 +02:00
Tim van der Meij
97bf09b795
Merge pull request #19739 from Snuffleupagus/buildPaintImageXObject-fn-OPS
Reduce duplication when specifying the fn-operations in `buildPaintImageXObject`
2025-03-30 11:55:53 +02:00
Tim van der Meij
cb818ce0d3
Merge pull request #19720 from Snuffleupagus/_initializeViewerComponents-shorten
Shorten the `PDFViewerApplication._initializeViewerComponents` method
2025-03-30 11:52:19 +02:00
Tim van der Meij
9d237b9f96
Merge pull request #19737 from Snuffleupagus/TilingPattern-color-param
Simplify handling of the color-parameter in `TilingPattern` (PR 4824 follow-up)
2025-03-30 11:49:11 +02:00
Tim van der Meij
9e58bac43c
Merge pull request #19740 from Snuffleupagus/integration-test-properly-spelling
Spell "properly" in viewer integration-test names
2025-03-30 11:48:12 +02:00
Jonas Jenwald
5b7b94c078 Spell "properly" in viewer integration-test names 2025-03-29 16:35:22 +01:00
Jonas Jenwald
8e3a3387e0 Reduce duplication when specifying the fn-operations in buildPaintImageXObject
Currently we explicitly specify the fn-`OPS` both when adding entries to the operatorList and to the image-caches, and by using a temporary variable we can reduce a bit of duplication (similar to the existing args-handling).
2025-03-29 15:56:46 +01:00
Jonas Jenwald
09118670ca Simplify handling of the color-parameter in TilingPattern (PR 4824 follow-up)
The color-parameter is already available through `IR` (i.e. the internal representation), and after the changes in PR 4824 (which landed in 2014) we no longer need any special handling for it.
2025-03-29 13:02:13 +01:00
Jonas Jenwald
667645798f Apply char/word-spacing correctly for missing Type3-glyphs
In the included PDF document the Type3-font doesn't contain any glyph definition for "space", despite that character being referenced in the /Contents stream.
While missing Type3-glyphs obviously cannot be rendered, we still need to update the current canvas position such that any char/word-spacing is correctly applied.

The test-case was found at https://github.com/pdf-association/pdf-differences/tree/main/Type3WordSpacing
2025-03-29 00:12:08 +01:00
Jonas Jenwald
8bcc3664c9 [api-minor] Attempt to improve support for using the PDF.js builds with Vite
Similar to Webpack there's apparently other bundlers that will not leave `import`-calls alone unless magic comments are used.
Hence we extend the builder to also append `/* @vite-ignore */` comments to `import`-calls, in order to attempt to improve support for using the PDF.js builds together with Vite.

This patch also renames `__non_webpack_import__` to `__raw_import__` since the functionality is no longer bundler-specific.

***PLEASE NOTE:*** This patch is provided as-is, and it does *not* mean that the PDF.js project can/will provide official support for Vite.
2025-03-28 16:34:00 +01:00
Jonas Jenwald
8f7d6f4118 Shorten the PDFViewerApplication._initializeViewerComponents method
By tweaking a few local variable names we can shorten various viewer-component initialization code, and we can also reduce some duplication when assigning components to the `PDFViewerApplication`-scope.
2025-03-25 12:51:40 +01:00
72 changed files with 524 additions and 256 deletions

View File

@ -76,7 +76,7 @@ export default [
globals: {
...globals.worker,
PDFJSDev: "readonly",
__non_webpack_import__: "readonly",
__raw_import__: "readonly",
},
ecmaVersion: 2025,

View File

@ -153,18 +153,22 @@ function babelPluginPDFJSPreprocessor(babel, ctx) {
path.replaceWith(t.inherits(t.valueToNode(result), path.node));
}
if (t.isIdentifier(node.callee, { name: "__non_webpack_import__" })) {
if (t.isIdentifier(node.callee, { name: "__raw_import__" })) {
if (node.arguments.length !== 1) {
throw new Error("Invalid `__non_webpack_import__` usage.");
throw new Error("Invalid `__raw_import__` usage.");
}
// Replace it with a standard `import`-call and
// ensure that Webpack will leave it alone.
// Replace it with a standard `import`-call and attempt to ensure that
// various bundlers will leave it alone; this *must* include Webpack.
const source = node.arguments[0];
source.leadingComments = [
{
type: "CommentBlock",
value: "webpackIgnore: true",
},
{
type: "CommentBlock",
value: "@vite-ignore",
},
];
path.replaceWith(t.importExpression(source));
}

View File

@ -1,4 +1,7 @@
import { Test } from "import-name";
import { Test2 } from './non-alias';
export { Test3 } from "import-name";
await import(/*webpackIgnore: true*/"./non-alias");
await import(
/*webpackIgnore: true*/
/*@vite-ignore*/
"./non-alias");

View File

@ -1,4 +1,4 @@
import { Test } from 'import-alias';
import { Test2 } from './non-alias';
export { Test3 } from 'import-alias';
await __non_webpack_import__("./non-alias");
await __raw_import__("./non-alias");

View File

@ -466,7 +466,6 @@ pdfjs-editor-new-alt-text-error-close-button = أغلق
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = يُنزّل نموذج الذكاء الاصطناعي للنص البديل ({ $downloadedSize } من { $totalSize } م.بايت)
.aria-valuetext = يُنزّل نموذج الذكاء الاصطناعي للنص البديل ({ $downloadedSize } من { $totalSize } م.بايت)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -324,6 +324,16 @@ pdfjs-editor-signature-button-label = Дадаць подпіс
## Default editor aria labels
# “Highlight” is a noun, the string is used on the editor for highlights.
pdfjs-editor-highlight-editor =
.aria-label = Рэдактар вылучэнняў
# “Drawing” is a noun, the string is used on the editor for drawings.
pdfjs-editor-ink-editor =
.aria-label = Рэдактар малюнкаў
pdfjs-editor-signature-editor =
.aria-label = Рэдактар подпісаў
pdfjs-editor-stamp-editor =
.aria-label = Рэдактар выяў
## Remove button for the various kind of editor.
@ -353,9 +363,16 @@ pdfjs-editor-stamp-add-image-button-label = Дадаць выяву
pdfjs-editor-free-highlight-thickness-input = Таўшчыня
pdfjs-editor-free-highlight-thickness-title =
.title = Змяняць таўшчыню пры вылучэнні іншых элементаў, акрамя тэксту
pdfjs-editor-add-signature-container =
.aria-label = Элементы кіравання подпісамі і захаваныя подпісы
pdfjs-editor-signature-add-signature-button =
.title = Дадаць новы подпіс
pdfjs-editor-signature-add-signature-button-label = Дадаць новы подпіс
# Used on the button to use an already saved signature.
# Variables:
# $description (String) - a string describing/labeling the signature.
pdfjs-editor-add-saved-signature-button =
.title = Захаваны подпіс: { $description }
# .default-content is used as a placeholder in an empty text editor.
pdfjs-free-text2 =
.aria-label = Тэкставы рэдактар
@ -466,7 +483,6 @@ pdfjs-editor-new-alt-text-error-close-button = Закрыць
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Сцягванне мадэлі ШІ для тэксту для атрыбута alt ({ $downloadedSize } з { $totalSize } МБ)
.aria-valuetext = Сцягванне мадэлі ШІ для тэксту для атрыбута alt ({ $downloadedSize } з { $totalSize } МБ)
# This is a button that users can click to edit the alt text they have already added.
@ -589,6 +605,9 @@ pdfjs-editor-edit-signature-update-button = Абнавіць
pdfjs-editor-delete-signature-button =
.title = Выдаліць подпіс
pdfjs-editor-delete-signature-button-label = Выдаліць подпіс
pdfjs-editor-delete-signature-button1 =
.title = Выдаліць захаваны подпіс
pdfjs-editor-delete-signature-button-label1 = Выдаліць захаваны подпіс
## Editor toolbar

View File

@ -485,7 +485,6 @@ pdfjs-editor-new-alt-text-error-close-button = Zavřít
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Stahuje se model AI pro alternativní texty ({ $downloadedSize } z { $totalSize } MB)
.aria-valuetext = Stahuje se model AI pro alternativní texty ({ $downloadedSize } z { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -330,6 +330,16 @@ pdfjs-editor-signature-button-label = Ychwanegu llofnod
## Default editor aria labels
# “Highlight” is a noun, the string is used on the editor for highlights.
pdfjs-editor-highlight-editor =
.aria-label = Golygydd amlygu
# “Drawing” is a noun, the string is used on the editor for drawings.
pdfjs-editor-ink-editor =
.aria-label = Golygydd lluniadu
pdfjs-editor-signature-editor =
.aria-label = Golygydd llofnodion
pdfjs-editor-stamp-editor =
.aria-label = Golygydd delweddau
## Remove button for the various kind of editor.
@ -359,9 +369,16 @@ pdfjs-editor-stamp-add-image-button-label = Ychwanegu delwedd
pdfjs-editor-free-highlight-thickness-input = Trwch
pdfjs-editor-free-highlight-thickness-title =
.title = Newid trwch wrth amlygu eitemau heblaw testun
pdfjs-editor-add-signature-container =
.aria-label = Rheolyddion llofnodion a llofnodion wedi'u cadw
pdfjs-editor-signature-add-signature-button =
.title = Ychwanegu llofnod newydd
pdfjs-editor-signature-add-signature-button-label = Ychwanegu llofnod newydd
# Used on the button to use an already saved signature.
# Variables:
# $description (String) - a string describing/labeling the signature.
pdfjs-editor-add-saved-signature-button =
.title = Llofnod wedi'i gadw: { $description }
# .default-content is used as a placeholder in an empty text editor.
pdfjs-free-text2 =
.aria-label = Golygydd Testun
@ -472,7 +489,6 @@ pdfjs-editor-new-alt-text-error-close-button = Cau
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Wrthi'n llwytho i lawr model AI testun amgen ( { $downloadedSize } o { $totalSize } MB)
.aria-valuetext = Wrthi'n llwytho i lawr model AI testun amgen ( { $downloadedSize } o { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
@ -598,6 +614,9 @@ pdfjs-editor-edit-signature-update-button = Diweddaru
pdfjs-editor-delete-signature-button =
.title = Dileu llofnod
pdfjs-editor-delete-signature-button-label = Dileu llofnod
pdfjs-editor-delete-signature-button1 =
.title = Tynnu llofnod sydd wedi'i gadw
pdfjs-editor-delete-signature-button-label1 = Tynnwch y llofnod sydd wedi'i gadw
## Editor toolbar

View File

@ -361,6 +361,8 @@ pdfjs-editor-stamp-add-image-button-label = Tilføj billede
pdfjs-editor-free-highlight-thickness-input = Tykkelse
pdfjs-editor-free-highlight-thickness-title =
.title = Ændr tykkelse, når andre elementer end tekst fremhæves
pdfjs-editor-add-signature-container =
.aria-label = Indstillinger for underskrifter og gemte underskrifter
pdfjs-editor-signature-add-signature-button =
.title = Tilføj ny underskrift
pdfjs-editor-signature-add-signature-button-label = Tilføj ny underskrift
@ -479,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Luk
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Henter alternativ tekst AI-model ({ $downloadedSize } af { $totalSize } MB)
.aria-valuetext = Henter alternativ tekst AI-model ({ $downloadedSize } af { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Schließen
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Alternativ-Text-KI-Modell wird heruntergeladen ({ $downloadedSize } von { $totalSize } MB)
.aria-valuetext = Alternativ-Text-KI-Modell wird heruntergeladen ({ $downloadedSize } von { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -485,7 +485,6 @@ pdfjs-editor-new-alt-text-error-close-button = Zacyniś
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Model KI za alternatiwny tekst se ześěgujo ({ $downloadedSize } z { $totalSize } MB)
.aria-valuetext = Model KI za alternatiwny tekst se ześěgujo ({ $downloadedSize } z { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Κλείσιμο
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Λήψη μοντέλου ΤΝ εναλλακτικού κειμένου ({ $downloadedSize } από { $totalSize } MB)
.aria-valuetext = Λήψη μοντέλου ΤΝ εναλλακτικού κειμένου ({ $downloadedSize } από { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Close
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)
.aria-valuetext = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -322,6 +322,16 @@ pdfjs-editor-signature-button-label = Add signature
## Default editor aria labels
# “Highlight” is a noun, the string is used on the editor for highlights.
pdfjs-editor-highlight-editor =
.aria-label = Highlight editor
# “Drawing” is a noun, the string is used on the editor for drawings.
pdfjs-editor-ink-editor =
.aria-label = Drawing editor
pdfjs-editor-signature-editor =
.aria-label = Signature editor
pdfjs-editor-stamp-editor =
.aria-label = Image editor
## Remove button for the various kind of editor.
@ -351,9 +361,16 @@ pdfjs-editor-stamp-add-image-button-label = Add image
pdfjs-editor-free-highlight-thickness-input = Thickness
pdfjs-editor-free-highlight-thickness-title =
.title = Change thickness when highlighting items other than text
pdfjs-editor-add-signature-container =
.aria-label = Signature controls and saved signatures
pdfjs-editor-signature-add-signature-button =
.title = Add new signature
pdfjs-editor-signature-add-signature-button-label = Add new signature
# Used on the button to use an already saved signature.
# Variables:
# $description (String) - a string describing/labeling the signature.
pdfjs-editor-add-saved-signature-button =
.title = Saved signature: { $description }
# .default-content is used as a placeholder in an empty text editor.
pdfjs-free-text2 =
.aria-label = Text Editor
@ -464,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Close
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)
.aria-valuetext = Downloading alt text AI model ({ $downloadedSize } of { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
@ -586,6 +602,9 @@ pdfjs-editor-edit-signature-update-button = Update
pdfjs-editor-delete-signature-button =
.title = Remove signature
pdfjs-editor-delete-signature-button-label = Remove signature
pdfjs-editor-delete-signature-button1 =
.title = Remove saved signature
pdfjs-editor-delete-signature-button-label1 = Remove saved signature
## Editor toolbar

View File

@ -464,7 +464,6 @@ pdfjs-editor-new-alt-text-error-close-button = Fermi
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Elŝuto de modelo de artefarita intelekto por alternativa teksto ({ $downloadedSize } el { $totalSize } MO)
.aria-valuetext = Elŝuto de modelo de artefarita intelekto por alternativa teksto ({ $downloadedSize } el { $totalSize } MO)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -322,6 +322,9 @@ pdfjs-editor-signature-button-label = Agregar firma
## Default editor aria labels
# “Highlight” is a noun, the string is used on the editor for highlights.
pdfjs-editor-highlight-editor =
.aria-label = Editor de resaltado
# “Drawing” is a noun, the string is used on the editor for drawings.
pdfjs-editor-ink-editor =
.aria-label = Editor de dibujos
@ -478,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Cerrar
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Descargando modelo de IA de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
.aria-valuetext = Descargando modelo de IA de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Cerrar
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Descargando el modelo de IA de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
.aria-valuetext = Descargando el modelo de IA de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -322,6 +322,16 @@ pdfjs-editor-signature-button-label = Añadir firma
## Default editor aria labels
# “Highlight” is a noun, the string is used on the editor for highlights.
pdfjs-editor-highlight-editor =
.aria-label = Editor de resaltado
# “Drawing” is a noun, the string is used on the editor for drawings.
pdfjs-editor-ink-editor =
.aria-label = Editor de dibujos
pdfjs-editor-signature-editor =
.aria-label = Editor de firmas
pdfjs-editor-stamp-editor =
.aria-label = Editor de imágenes
## Remove button for the various kind of editor.
@ -351,9 +361,16 @@ pdfjs-editor-stamp-add-image-button-label = Añadir imagen
pdfjs-editor-free-highlight-thickness-input = Grosor
pdfjs-editor-free-highlight-thickness-title =
.title = Cambiar el grosor al resaltar elementos que no sean texto
pdfjs-editor-add-signature-container =
.aria-label = Controles de firma y firmas guardadas
pdfjs-editor-signature-add-signature-button =
.title = Añadir nueva firma
pdfjs-editor-signature-add-signature-button-label = Añadir nueva firma
# Used on the button to use an already saved signature.
# Variables:
# $description (String) - a string describing/labeling the signature.
pdfjs-editor-add-saved-signature-button =
.title = Firma guardada: { $description }
# .default-content is used as a placeholder in an empty text editor.
pdfjs-free-text2 =
.aria-label = Editor de texto
@ -464,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Cerrar
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Descargando el modelo de IA de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
.aria-valuetext = Descargando el modelo de IA de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
@ -586,6 +602,9 @@ pdfjs-editor-edit-signature-update-button = Actualizar
pdfjs-editor-delete-signature-button =
.title = Eliminar firma
pdfjs-editor-delete-signature-button-label = Eliminar firma
pdfjs-editor-delete-signature-button1 =
.title = Eliminar firma guardada
pdfjs-editor-delete-signature-button-label1 = Eliminar firma guardada
## Editor toolbar

View File

@ -464,7 +464,6 @@ pdfjs-editor-new-alt-text-error-close-button = Cerrar
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Descargando el modelo de IA de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
.aria-valuetext = Descargando el modelo de IA de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -458,7 +458,6 @@ pdfjs-editor-new-alt-text-error-close-button = Itxi
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Testu alternatiboaren AA modeloa deskargatzen ({ $totalSize }/{ $downloadedSize } MB)
.aria-valuetext = Testu alternatiboaren AA modeloa deskargatzen ({ $totalSize }/{ $downloadedSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Sulje
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Ladataan vaihtoehtoisen tekstin tekoälymallia ({ $downloadedSize } / { $totalSize } Mt)
.aria-valuetext = Ladataan vaihtoehtoisen tekstin tekoälymallia ({ $downloadedSize } / { $totalSize } Mt)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -477,7 +477,6 @@ pdfjs-editor-new-alt-text-error-close-button = Fermer
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Téléchargement du modèle dIA de texte alternatif ({ $downloadedSize } sur { $totalSize } Mo)
.aria-valuetext = Téléchargement du modèle dIA de texte alternatif ({ $downloadedSize } sur { $totalSize } Mo)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Siere
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Daûr a discjariâil model IA pal test alternatîf ({ $downloadedSize } di { $totalSize } MB)
.aria-valuetext = Daûr a discjariâ il model IA pal test alternatîf ({ $downloadedSize } di { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Slute
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = AI-model foar alternative tekst downloade ({ $downloadedSize } fan { $totalSize } MB)
.aria-valuetext = AI-model foar alternative tekst downloade ({ $downloadedSize } fan { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Mboty
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Emboguejyhína IA moñeẽrã mokõiháva ({ $downloadedSize } { $totalSize } MB) mbae
.aria-valuetext = Emboguejyhína IA moñeẽrã mokõiháva ({ $downloadedSize } { $totalSize } MB) mbae
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = סגירה
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = בתהליך הורדת מודל AI של טקסט חלופי ({ $downloadedSize } מתוך { $totalSize } מ״ב)
.aria-valuetext = בתהליך הורדת מודל AI של טקסט חלופי ({ $downloadedSize } מתוך { $totalSize } מ״ב)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -458,7 +458,6 @@ pdfjs-editor-new-alt-text-error-close-button = Zatvori
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Preuzimanje alternativnog teksta UI modela ({ $downloadedSize } od { $totalSize } MB)
.aria-valuetext = Preuzimanje alternativnog teksta UI modela ({ $downloadedSize } od { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -485,7 +485,6 @@ pdfjs-editor-new-alt-text-error-close-button = Začinić
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Model KI za alternatiwny tekst so sćahuje ({ $downloadedSize } z { $totalSize } MB)
.aria-valuetext = Model KI za alternatiwny tekst so sćahuje ({ $downloadedSize } z { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Bezárás
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Alternatív szöveg MI modell letöltése ({ $downloadedSize } / { $totalSize } MB)
.aria-valuetext = Alternatív szöveg MI modell letöltése ({ $downloadedSize } / { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Clauder
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Discargante modello de intelligentia artificial del texto alternative ({ $downloadedSize } de { $totalSize } MB)
.aria-valuetext = Discargante modello de intelligentia artificial del texto alternative ({ $downloadedSize } de { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -473,7 +473,6 @@ pdfjs-editor-new-alt-text-error-close-button = Tutup
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Mengunduh model AI teks alternatif ({ $downloadedSize } dari { $totalSize } MB)
.aria-valuetext = Mengunduh model AI teks alternatif ({ $downloadedSize } dari { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
@ -533,6 +532,7 @@ pdfjs-editor-undo-bar-close-button-label = Tutup
## Add a signature dialog
pdfjs-editor-add-signature-dialog-label = Modal ini memungkinkan pengguna untuk membuat tanda tangan yang dapat ditambahkan ke dokumen PDF. Pengguna dapat mengedit nama (yang juga berfungsi sebagai teks alternatif), dan jika diinginkan, menyimpan tanda tangan untuk digunakan kembali.
pdfjs-editor-add-signature-dialog-title = Tambahkan tanda tangan
## Tab names
@ -558,23 +558,46 @@ pdfjs-editor-add-signature-draw-thickness-range-label = Ketebalan
pdfjs-editor-add-signature-draw-thickness-range =
.title = Ketebalan gambar: { $thickness }
pdfjs-editor-add-signature-image-placeholder = Seret berkas ke sini untuk mengunggah
pdfjs-editor-add-signature-image-browse-link =
{ PLATFORM() ->
[macos] Atau pilih berkas gambar
*[other] Atau cari berkas gambar
}
## Controls
pdfjs-editor-add-signature-description-label = Deskripsi (teks alternatif)
pdfjs-editor-add-signature-description-input =
.title = Deskripsi (teks alternatif)
pdfjs-editor-add-signature-description-default-when-drawing = Tanda tangan
pdfjs-editor-add-signature-clear-button-label = Hapus tanda tangan
pdfjs-editor-add-signature-clear-button =
.title = Hapus tanda tangan
pdfjs-editor-add-signature-save-checkbox = Simpan tanda tangan
pdfjs-editor-add-signature-save-warning-message = Anda telah mencapai batas 5 tanda tangan tersimpan. Hapus untuk menyimpan lebih banyak.
pdfjs-editor-add-signature-image-upload-error-title = Tidak dapat mengunggah gambar
pdfjs-editor-add-signature-image-upload-error-description = Periksa sambungan jaringan Anda atau coba gambar lain.
pdfjs-editor-add-signature-error-close-button = Tutup
## Dialog buttons
pdfjs-editor-add-signature-cancel-button = Batal
pdfjs-editor-add-signature-add-button = Tambah
pdfjs-editor-edit-signature-update-button = Perbarui
## Main menu for adding/removing signatures
pdfjs-editor-delete-signature-button =
.title = Hapus tanda tangan
pdfjs-editor-delete-signature-button-label = Hapus tanda tangan
pdfjs-editor-delete-signature-button1 =
.title = Hapus tanda tangan tersimpan
pdfjs-editor-delete-signature-button-label1 = Hapus tanda tangan tersimpan
## Editor toolbar
pdfjs-editor-add-signature-edit-button-label = Edit deskripsi
## Edit signature description dialog
pdfjs-editor-edit-signature-dialog-title = Edit deskripsi

View File

@ -354,6 +354,11 @@ pdfjs-editor-free-highlight-thickness-title =
pdfjs-editor-signature-add-signature-button =
.title = Bæta við nýrri undirritun
pdfjs-editor-signature-add-signature-button-label = Bæta við nýrri undirritun
# Used on the button to use an already saved signature.
# Variables:
# $description (String) - a string describing/labeling the signature.
pdfjs-editor-add-saved-signature-button =
.title = Vistuð undirskrift: { $description }
# .default-content is used as a placeholder in an empty text editor.
pdfjs-free-text2 =
.aria-label = Textaritill
@ -464,7 +469,6 @@ pdfjs-editor-new-alt-text-error-close-button = Loka
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Sækir gervigreindarlíkan með alt-myndatextum ({ $downloadedSize } af { $totalSize } MB)
.aria-valuetext = Sækir gervigreindarlíkan með alt-myndatextum ({ $downloadedSize } af { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
@ -586,6 +590,9 @@ pdfjs-editor-edit-signature-update-button = Uppfæra
pdfjs-editor-delete-signature-button =
.title = Fjarlægja undirritun
pdfjs-editor-delete-signature-button-label = Fjarlægja undirritun
pdfjs-editor-delete-signature-button1 =
.title = Fjarlægja vistaða undirskrift
pdfjs-editor-delete-signature-button-label1 = Fjarlægja vistaða undirskrift
## Editor toolbar

View File

@ -328,8 +328,11 @@ pdfjs-editor-highlight-editor =
# “Drawing” is a noun, the string is used on the editor for drawings.
pdfjs-editor-ink-editor =
.aria-label = Modifica disegni
pdfjs-editor-signature-editor =
.aria-label = Modifica firme
# Used when a signature editor is selected/hovered.
# Variables:
# $description (String) - a string describing/labeling the signature.
pdfjs-editor-signature-editor1 =
.aria-description = Editor firme: { $description }
pdfjs-editor-stamp-editor =
.aria-label = Modifica immagini
@ -481,7 +484,6 @@ pdfjs-editor-new-alt-text-error-close-button = Chiudi
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Download in corso del modello IA per il testo alternativo ({ $downloadedSize } di { $totalSize } MB)
.aria-valuetext = Download in corso del modello IA per il testo alternativo ({ $downloadedSize } di { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
@ -614,4 +616,3 @@ pdfjs-editor-add-signature-edit-button-label = Modifica descrizione
## Edit signature description dialog
pdfjs-editor-edit-signature-dialog-title = Modifica descrizione

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = დახურვა
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = ჩამოიტვირთება დართული წარწერის შესადეგი AI-მოდელი ({ $downloadedSize } ზომით { $totalSize } მბაიტი)
.aria-valuetext = ჩამოიტვირთება დართული წარწერის შესადეგი AI-მოდელი ({ $downloadedSize } ზომით { $totalSize } მბაიტი)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -461,7 +461,6 @@ pdfjs-editor-new-alt-text-error-close-button = Жабу
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Балама мәтін үшін ЖИ моделі жүктеп алынуда ({ $downloadedSize }/{ $totalSize } МБ)
.aria-valuetext = Балама мәтін үшін ЖИ моделі жүктеп алынуда ({ $downloadedSize }/{ $totalSize } МБ)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -473,7 +473,6 @@ pdfjs-editor-new-alt-text-error-close-button = 닫기
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = 대체 텍스트 AI 모델 다운로드 중 ({ $downloadedSize } / { $totalSize } MB)
.aria-valuetext = 대체 텍스트 AI 모델 다운로드 중 ({ $downloadedSize } / { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -323,6 +323,11 @@ pdfjs-editor-free-highlight-thickness-input = കനം
pdfjs-editor-signature-add-signature-button =
.title = പുതിയ ഒപ്പു് ചേൎക്കുക
pdfjs-editor-signature-add-signature-button-label = പുതിയ ഒപ്പു് ചേൎക്കുക
# Used on the button to use an already saved signature.
# Variables:
# $description (String) - a string describing/labeling the signature.
pdfjs-editor-add-saved-signature-button =
.title = കരുതിവച്ച ഒപ്പു് : { $description }
pdfjs-free-text-default-content = എഴുതാൻ തുടങ്ങുക…
pdfjs-ink-canvas =
.aria-label = ഉപയോക്താവ് ഉണ്ടാക്കിയ ചിത്രം
@ -367,7 +372,7 @@ pdfjs-editor-colorpicker-green =
pdfjs-editor-colorpicker-blue =
.title = നീല
pdfjs-editor-colorpicker-pink =
.title = പാടലവർണ്ണം
.title = പാടല
pdfjs-editor-colorpicker-red =
.title = ചുമന്ന

View File

@ -464,7 +464,6 @@ pdfjs-editor-new-alt-text-error-close-button = Lukk
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Laster ned alternativ tekst AI-modell ({ $downloadedSize } av { $totalSize } MB)
.aria-valuetext = Laster ned alternativ tekst AI-modell ({ $downloadedSize } av { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Sluiten
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = AI-model voor alternatieve tekst downloaden ({ $downloadedSize } van { $totalSize } MB)
.aria-valuetext = AI-model voor alternatieve tekst downloaden ({ $downloadedSize } van { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -322,6 +322,9 @@ pdfjs-editor-signature-button-label = Legg til signatur
## Default editor aria labels
# “Highlight” is a noun, the string is used on the editor for highlights.
pdfjs-editor-highlight-editor =
.aria-label = Markeringsredigerar
pdfjs-editor-signature-editor =
.aria-label = Signatur-redigerar
pdfjs-editor-stamp-editor =
@ -355,6 +358,8 @@ pdfjs-editor-stamp-add-image-button-label = Legg til bilde
pdfjs-editor-free-highlight-thickness-input = Tjukn
pdfjs-editor-free-highlight-thickness-title =
.title = Endre tjukn når du markerer andre element enn tekst
pdfjs-editor-add-signature-container =
.aria-label = Signaturkontroll og lagra signaturar
pdfjs-editor-signature-add-signature-button =
.title = Legg til ny signatur
pdfjs-editor-signature-add-signature-button-label = Legg til ny signatur
@ -473,7 +478,6 @@ pdfjs-editor-new-alt-text-error-close-button = Lat att
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Lastar ned AI-modell med alternativ tekst ({ $downloadedSize } av { $totalSize } MB)
.aria-valuetext = Lastar ned AI-modell med alternativ tekst ({ $downloadedSize } av { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
@ -537,6 +541,7 @@ pdfjs-editor-undo-bar-close-button-label = Lat att
## Add a signature dialog
pdfjs-editor-add-signature-dialog-label = Denne modalen lèt brukaren lage ein signatur for å leggje til eit PDF-dokument. Brukaren kan redigere namnet (som også fungerer som alt-teksten), og eventuelt lagre signaturen for gjenteken bruk.
pdfjs-editor-add-signature-dialog-title = Legg til ein signatur
## Tab names

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = ਬੰਦ ਕਰੋ
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = ਬਦਲਵਾਂ ਲਿਖਤ AI ਮਾਡਲ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ ({ $totalSize } MB ਵਿੱਚੋਂ { $downloadedSize })
.aria-valuetext = ਬਦਲਵਾਂ ਲਿਖਤ AI ਮਾਡਲ ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ ({ $totalSize } MB ਵਿੱਚੋਂ { $downloadedSize })
# This is a button that users can click to edit the alt text they have already added.

View File

@ -324,6 +324,16 @@ pdfjs-editor-signature-button-label = Dodaj podpis
## Default editor aria labels
# “Highlight” is a noun, the string is used on the editor for highlights.
pdfjs-editor-highlight-editor =
.aria-label = Edytor wyróżnienia
# “Drawing” is a noun, the string is used on the editor for drawings.
pdfjs-editor-ink-editor =
.aria-label = Edytor rysunku
pdfjs-editor-signature-editor =
.aria-label = Edytor podpisu
pdfjs-editor-stamp-editor =
.aria-label = Edytor obrazu
## Remove button for the various kind of editor.
@ -353,9 +363,16 @@ pdfjs-editor-stamp-add-image-button-label = Dodaj obraz
pdfjs-editor-free-highlight-thickness-input = Grubość
pdfjs-editor-free-highlight-thickness-title =
.title = Zmień grubość podczas wyróżniania elementów innych niż tekst
pdfjs-editor-add-signature-container =
.aria-label = Sterowanie podpisami i zachowane podpisy
pdfjs-editor-signature-add-signature-button =
.title = Dodaj nowy podpis
pdfjs-editor-signature-add-signature-button-label = Dodaj nowy podpis
# Used on the button to use an already saved signature.
# Variables:
# $description (String) - a string describing/labeling the signature.
pdfjs-editor-add-saved-signature-button =
.title = Zachowany podpis: { $description }
# .default-content is used as a placeholder in an empty text editor.
pdfjs-free-text2 =
.aria-label = Edytor tekstu
@ -466,7 +483,6 @@ pdfjs-editor-new-alt-text-error-close-button = Zamknij
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Pobieranie modelu SI tekstu alternatywnego ({ $downloadedSize } z { $totalSize } MB)
.aria-valuetext = Pobieranie modelu SI tekstu alternatywnego ({ $downloadedSize } z { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
@ -589,6 +605,9 @@ pdfjs-editor-edit-signature-update-button = Aktualizuj
pdfjs-editor-delete-signature-button =
.title = Usuń podpis
pdfjs-editor-delete-signature-button-label = Usuń podpis
pdfjs-editor-delete-signature-button1 =
.title = Usuń zachowany podpis
pdfjs-editor-delete-signature-button-label1 = Usuń zachowany podpis
## Editor toolbar

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Fechar
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Baixando modelo de inteligência artificial de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
.aria-valuetext = Baixando modelo de inteligência artificial de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -322,6 +322,16 @@ pdfjs-editor-signature-button-label = Adicionar assinatura
## Default editor aria labels
# “Highlight” is a noun, the string is used on the editor for highlights.
pdfjs-editor-highlight-editor =
.aria-label = Editor de realce
# “Drawing” is a noun, the string is used on the editor for drawings.
pdfjs-editor-ink-editor =
.aria-label = Editor de desenho
pdfjs-editor-signature-editor =
.aria-label = Editor de assinatura
pdfjs-editor-stamp-editor =
.aria-label = Editor de imagem
## Remove button for the various kind of editor.
@ -351,9 +361,16 @@ pdfjs-editor-stamp-add-image-button-label = Adicionar imagem
pdfjs-editor-free-highlight-thickness-input = Espessura
pdfjs-editor-free-highlight-thickness-title =
.title = Alterar espessura quando destacar itens que não sejam texto
pdfjs-editor-add-signature-container =
.aria-label = Controlos de assinatura e assinaturas guardadas
pdfjs-editor-signature-add-signature-button =
.title = Adicionar nova assinatura
pdfjs-editor-signature-add-signature-button-label = Adicionar nova assinatura
# Used on the button to use an already saved signature.
# Variables:
# $description (String) - a string describing/labeling the signature.
pdfjs-editor-add-saved-signature-button =
.title = Assinatura guardada: { $description }
# .default-content is used as a placeholder in an empty text editor.
pdfjs-free-text2 =
.aria-label = Editor de texto
@ -464,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Fechar
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = A transferir o modelo de IA de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
.aria-valuetext = A transferir o modelo de IA de texto alternativo ({ $downloadedSize } de { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
@ -586,6 +602,9 @@ pdfjs-editor-edit-signature-update-button = Atualizar
pdfjs-editor-delete-signature-button =
.title = Remover assinatura
pdfjs-editor-delete-signature-button-label = Remover assinatura
pdfjs-editor-delete-signature-button1 =
.title = Remover assinatura guardada
pdfjs-editor-delete-signature-button-label1 = Remover assinatura guardada
## Editor toolbar

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Serrar
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Telechargiar il model IA da text alternativ ({ $downloadedSize } da { $totalSize } MB)
.aria-valuetext = Telechargiar il model IA da text alternativ ({ $downloadedSize } da { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -483,7 +483,6 @@ pdfjs-editor-new-alt-text-error-close-button = Закрыть
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Загрузка модели ИИ для альтернативного текста ({ $downloadedSize } из { $totalSize } МБ)
.aria-valuetext = Загрузка модели ИИ для альтернативного текста ({ $downloadedSize } из { $totalSize } МБ)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -485,7 +485,6 @@ pdfjs-editor-new-alt-text-error-close-button = Zavrieť
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Sťahuje sa model AI pre alternatívne texty ({ $downloadedSize } z { $totalSize } MB)
.aria-valuetext = Sťahuje sa model AI pre alternatívne texty ({ $downloadedSize } z { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -450,7 +450,6 @@ pdfjs-editor-new-alt-text-error-close-button = بند کرو
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = آلٹ عبارت اے آئی ماڈل({ $totalSize }ایم بی دے { $downloadedSize }) ڈاؤن لوڈ تھیندا پئے
.aria-valuetext = آلٹ عبارت اے آئی ماڈل({ $totalSize }ایم بی دے { $downloadedSize }) ڈاؤن لوڈ تھیندا پئے
# This is a button that users can click to edit the alt text they have already added.

View File

@ -326,6 +326,16 @@ pdfjs-editor-signature-button-label = Dodaj podpis
## Default editor aria labels
# “Highlight” is a noun, the string is used on the editor for highlights.
pdfjs-editor-highlight-editor =
.aria-label = Urejevalnik označb
# “Drawing” is a noun, the string is used on the editor for drawings.
pdfjs-editor-ink-editor =
.aria-label = Urejevalnik risb
pdfjs-editor-signature-editor =
.aria-label = Urejevalnik podpisov
pdfjs-editor-stamp-editor =
.aria-label = Urejevalnik slik
## Remove button for the various kind of editor.
@ -355,9 +365,16 @@ pdfjs-editor-stamp-add-image-button-label = Dodaj sliko
pdfjs-editor-free-highlight-thickness-input = Debelina
pdfjs-editor-free-highlight-thickness-title =
.title = Spremeni debelino pri označevanju nebesedilnih elementov
pdfjs-editor-add-signature-container =
.aria-label = Kontrolniki za podpise in shranjeni podpisi
pdfjs-editor-signature-add-signature-button =
.title = Dodaj nov podpis
pdfjs-editor-signature-add-signature-button-label = Dodaj nov podpis
# Used on the button to use an already saved signature.
# Variables:
# $description (String) - a string describing/labeling the signature.
pdfjs-editor-add-saved-signature-button =
.title = Shranjen podpis: { $description }
# .default-content is used as a placeholder in an empty text editor.
pdfjs-free-text2 =
.aria-label = Urejevalnik besedila
@ -468,7 +485,6 @@ pdfjs-editor-new-alt-text-error-close-button = Zapri
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Prenašanje modela UI za nadomestno besedilo ({ $downloadedSize } od { $totalSize } MB)
.aria-valuetext = Prenašanje modela UI za nadomestno besedilo ({ $downloadedSize } od { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.
@ -592,6 +608,9 @@ pdfjs-editor-edit-signature-update-button = Spremeni
pdfjs-editor-delete-signature-button =
.title = Odstrani podpis
pdfjs-editor-delete-signature-button-label = Odstrani podpis
pdfjs-editor-delete-signature-button1 =
.title = Odstrani shranjen podpis
pdfjs-editor-delete-signature-button-label1 = Odstrani shranjen podpis
## Editor toolbar

View File

@ -455,7 +455,6 @@ pdfjs-editor-new-alt-text-error-close-button = Mbylle
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Po shkarkohet model IA teksti alternativ ({ $downloadedSize } nga { $totalSize } MB)
.aria-valuetext = Po shkarkohet model IA teksti alternativ ({ $downloadedSize } nga { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Stäng
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Hämtar AI-modell med alternativ text ({ $downloadedSize } av { $totalSize } MB)
.aria-valuetext = Hämtar AI-modell med alternativ text ({ $downloadedSize } av { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -322,6 +322,16 @@ pdfjs-editor-signature-button-label = Илова кардани имзо
## Default editor aria labels
# “Highlight” is a noun, the string is used on the editor for highlights.
pdfjs-editor-highlight-editor =
.aria-label = Муҳаррири ҷудокунӣ
# “Drawing” is a noun, the string is used on the editor for drawings.
pdfjs-editor-ink-editor =
.aria-label = Муҳаррири расмкашӣ
pdfjs-editor-signature-editor =
.aria-label = Муҳаррири имзо
pdfjs-editor-stamp-editor =
.aria-label = Муҳаррири тасвир
## Remove button for the various kind of editor.
@ -351,9 +361,16 @@ pdfjs-editor-stamp-add-image-button-label = Илова кардани тасви
pdfjs-editor-free-highlight-thickness-input = Ғафсӣ
pdfjs-editor-free-highlight-thickness-title =
.title = Иваз кардани ғафсӣ ҳангоми ҷудокунии унсурҳо ба ғайр аз матн
pdfjs-editor-add-signature-container =
.aria-label = Идоракунии имзоҳо ва имзоҳои гузошташуда
pdfjs-editor-signature-add-signature-button =
.title = Илова кардани имзои нав
pdfjs-editor-signature-add-signature-button-label = Илова кардани имзои нав
# Used on the button to use an already saved signature.
# Variables:
# $description (String) - a string describing/labeling the signature.
pdfjs-editor-add-saved-signature-button =
.title = Имзои гузошташуда: { $description }
# .default-content is used as a placeholder in an empty text editor.
pdfjs-free-text2 =
.aria-label = Муҳаррири матн
@ -464,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Пӯшидан
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Боргирии модели зеҳни сунъӣ (AI) барои матни ивазкунанда ({ $downloadedSize } аз { $totalSize } МБ)
.aria-valuetext = Боргирии модели зеҳни сунъӣ (AI) барои матни ивазкунанда ({ $downloadedSize } аз { $totalSize } МБ)
# This is a button that users can click to edit the alt text they have already added.
@ -586,6 +602,9 @@ pdfjs-editor-edit-signature-update-button = Навсозӣ кардан
pdfjs-editor-delete-signature-button =
.title = Тоза кардани имзо
pdfjs-editor-delete-signature-button-label = Тоза кардани имзо
pdfjs-editor-delete-signature-button1 =
.title = Тоза кардани имзои гузошташуда
pdfjs-editor-delete-signature-button-label1 = Тоза кардани имзои гузошташуда
## Editor toolbar

View File

@ -456,7 +456,6 @@ pdfjs-editor-new-alt-text-error-close-button = ปิด
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = กำลังดาวน์โหลดโมเดล AI สำหรับข้อความทดแทน ({ $downloadedSize } จาก { $totalSize } MB)
.aria-valuetext = กำลังดาวน์โหลดโมเดล AI สำหรับข้อความทดแทน ({ $downloadedSize } จาก { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -481,7 +481,6 @@ pdfjs-editor-new-alt-text-error-close-button = Kapat
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Alt metin yapay zekâ modeli indiriliyor ({ $downloadedSize } / { $totalSize } MB)
.aria-valuetext = Alt metin yapay zekâ modeli indiriliyor ({ $downloadedSize } / { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -466,7 +466,6 @@ pdfjs-editor-new-alt-text-error-close-button = Закрити
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Завантаження моделі ШІ для альтернативного тексту ({ $downloadedSize } з { $totalSize } МБ)
.aria-valuetext = Завантаження моделі ШІ для альтернативного тексту ({ $downloadedSize } з { $totalSize } МБ)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -473,7 +473,6 @@ pdfjs-editor-new-alt-text-error-close-button = Đóng
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = Đang tải xuống mô hình AI văn bản thay thế ({ $downloadedSize } / { $totalSize } MB)
.aria-valuetext = Đang tải xuống mô hình AI văn bản thay thế ({ $downloadedSize } / { $totalSize } MB)
# This is a button that users can click to edit the alt text they have already added.

View File

@ -473,7 +473,6 @@ pdfjs-editor-new-alt-text-error-close-button = 关闭
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = 正在下载提供替换文字的 AI 模型({ $downloadedSize }/{ $totalSize } MB
.aria-valuetext = 正在下载提供替换文字的 AI 模型({ $downloadedSize }/{ $totalSize } MB
# This is a button that users can click to edit the alt text they have already added.

View File

@ -473,7 +473,6 @@ pdfjs-editor-new-alt-text-error-close-button = 關閉
# Variables:
# $totalSize (Number) - the total size (in MB) of the AI model.
# $downloadedSize (Number) - the downloaded size (in MB) of the AI model.
# $percent (Number) - the percentage of the downloaded size.
pdfjs-editor-new-alt-text-ai-model-downloading-progress = 正在下載替代文字 AI 模型({ $downloadedSize } / { $totalSize } MB
.aria-valuetext = 正在下載替代文字 AI 模型({ $downloadedSize } / { $totalSize } MB
# This is a button that users can click to edit the alt text they have already added.

161
package-lock.json generated
View File

@ -9,16 +9,16 @@
"devDependencies": {
"@babel/core": "^7.26.10",
"@babel/preset-env": "^7.26.9",
"@babel/runtime": "^7.26.10",
"@fluent/bundle": "^0.18.0",
"@babel/runtime": "^7.27.0",
"@fluent/bundle": "^0.19.0",
"@fluent/dom": "^0.10.1",
"@metalsmith/layouts": "^3.0.0",
"@metalsmith/markdown": "^1.10.0",
"@napi-rs/canvas": "^0.1.68",
"@types/node": "^22.13.11",
"@types/node": "^22.13.14",
"autoprefixer": "^10.4.21",
"babel-loader": "^10.0.0",
"caniuse-lite": "^1.0.30001706",
"caniuse-lite": "^1.0.30001707",
"core-js": "^3.41.0",
"eslint": "^9.23.0",
"eslint-plugin-import": "^2.31.0",
@ -26,8 +26,8 @@
"eslint-plugin-json": "^4.0.1",
"eslint-plugin-no-unsanitized": "^4.1.2",
"eslint-plugin-perfectionist": "^4.10.1",
"eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-unicorn": "^57.0.0",
"eslint-plugin-prettier": "^5.2.5",
"eslint-plugin-unicorn": "^58.0.0",
"globals": "^16.0.0",
"gulp": "^5.0.0",
"gulp-cli": "^3.0.0",
@ -50,11 +50,11 @@
"postcss-nesting": "^13.0.1",
"prettier": "^3.5.3",
"puppeteer": "^24.4.0",
"stylelint": "^16.16.0",
"stylelint": "^16.17.0",
"stylelint-prettier": "^5.0.3",
"svglint": "^3.1.0",
"terser-webpack-plugin": "^5.3.14",
"tsc-alias": "^1.8.11",
"tsc-alias": "^1.8.13",
"ttest": "^4.0.0",
"typescript": "^5.8.2",
"vinyl": "^3.0.0",
@ -1600,9 +1600,9 @@
}
},
"node_modules/@babel/runtime": {
"version": "7.26.10",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz",
"integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==",
"version": "7.27.0",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz",
"integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -1749,9 +1749,9 @@
}
},
"node_modules/@eslint-community/eslint-utils": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
"integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz",
"integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -1907,12 +1907,13 @@
}
},
"node_modules/@fluent/bundle": {
"version": "0.18.0",
"resolved": "https://registry.npmjs.org/@fluent/bundle/-/bundle-0.18.0.tgz",
"integrity": "sha512-8Wfwu9q8F9g2FNnv82g6Ch/E1AW1wwljsUOolH5NEtdJdv0sZTuWvfCM7c3teB9dzNaJA8rn4khpidpozHWYEA==",
"version": "0.19.0",
"resolved": "https://registry.npmjs.org/@fluent/bundle/-/bundle-0.19.0.tgz",
"integrity": "sha512-Er3tlHttc5jnHrMKzUb3ajaCJa2mzS1dxZ+qb2I+BOgCLWvoYoT4jYXqVf3smZOLiR0W2yPM0TNV3yvPz5BJdA==",
"dev": true,
"license": "Apache-2.0",
"engines": {
"node": ">=14.0.0",
"node": ">=18.0.0",
"npm": ">=7.0.0"
}
},
@ -2467,9 +2468,9 @@
}
},
"node_modules/@pkgr/core": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz",
"integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==",
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.0.tgz",
"integrity": "sha512-vsJDAkYR6qCPu+ioGScGiMYR7LvZYIXh/dlQeviqoTWNCVfKTLYD/LkNWH4Mxsv2a5vpIRc77FN5DnmK1eBggQ==",
"dev": true,
"license": "MIT",
"engines": {
@ -2598,9 +2599,9 @@
"dev": true
},
"node_modules/@types/node": {
"version": "22.13.11",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.11.tgz",
"integrity": "sha512-iEUCUJoU0i3VnrCmgoWCXttklWcvoCIx4jzcP22fioIVSdTmjgoEvmAO/QPw6TcS9k5FrNgn4w7q5lGOd1CT5g==",
"version": "22.13.14",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.14.tgz",
"integrity": "sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -3749,9 +3750,9 @@
"dev": true
},
"node_modules/builtin-modules": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-4.0.0.tgz",
"integrity": "sha512-p1n8zyCkt1BVrKNFymOHjcDSAl7oq/gUvfgULv2EblgpPVQlQr9yHnWjg9IJ2MhfwPqiYqMMrr01OY7yQoK2yA==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-5.0.0.tgz",
"integrity": "sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==",
"dev": true,
"license": "MIT",
"engines": {
@ -3863,9 +3864,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001706",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001706.tgz",
"integrity": "sha512-3ZczoTApMAZwPKYWmwVbQMFpXBDds3/0VciVoUwPUbldlYyVLmRVuRs/PcUZtHpbLRpzzDvrvnFuREsGt6lUug==",
"version": "1.0.30001707",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz",
"integrity": "sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==",
"dev": true,
"funding": [
{
@ -3982,9 +3983,9 @@
}
},
"node_modules/ci-info": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.1.0.tgz",
"integrity": "sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==",
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz",
"integrity": "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==",
"dev": true,
"funding": [
{
@ -4156,13 +4157,13 @@
}
},
"node_modules/core-js-compat": {
"version": "3.40.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.40.0.tgz",
"integrity": "sha512-0XEDpr5y5mijvw8Lbc6E5AkjrHfp7eEoPlu36SWeAbcL8fn1G1ANe8DBlo2XoNN89oVpxWwOjYIPVzR4ZvsKCQ==",
"version": "3.41.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz",
"integrity": "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==",
"dev": true,
"license": "MIT",
"dependencies": {
"browserslist": "^4.24.3"
"browserslist": "^4.24.4"
},
"funding": {
"type": "opencollective",
@ -5232,14 +5233,14 @@
}
},
"node_modules/eslint-plugin-prettier": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz",
"integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==",
"version": "5.2.5",
"resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.5.tgz",
"integrity": "sha512-IKKP8R87pJyMl7WWamLgPkloB16dagPIdd2FjBDbyRYPKo93wS/NbCOPh6gH+ieNLC+XZrhJt/kWj0PS/DFdmg==",
"dev": true,
"license": "MIT",
"dependencies": {
"prettier-linter-helpers": "^1.0.0",
"synckit": "^0.9.1"
"synckit": "^0.10.2"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
@ -5250,7 +5251,7 @@
"peerDependencies": {
"@types/eslint": ">=8.0.0",
"eslint": ">=8.0.0",
"eslint-config-prettier": "*",
"eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0",
"prettier": ">=3.0.0"
},
"peerDependenciesMeta": {
@ -5263,21 +5264,22 @@
}
},
"node_modules/eslint-plugin-unicorn": {
"version": "57.0.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-57.0.0.tgz",
"integrity": "sha512-zUYYa6zfNdTeG9BISWDlcLmz16c+2Ck2o5ZDHh0UzXJz3DEP7xjmlVDTzbyV0W+XksgZ0q37WEWzN2D2Ze+g9Q==",
"version": "58.0.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-58.0.0.tgz",
"integrity": "sha512-fc3iaxCm9chBWOHPVjn+Czb/wHS0D2Mko7wkOdobqo9R2bbFObc4LyZaLTNy0mhZOP84nKkLhTUQxlLOZ7EjKw==",
"dev": true,
"license": "MIT",
"dependencies": {
"@babel/helper-validator-identifier": "^7.25.9",
"@eslint-community/eslint-utils": "^4.4.1",
"ci-info": "^4.1.0",
"@eslint-community/eslint-utils": "^4.5.1",
"@eslint/plugin-kit": "^0.2.7",
"ci-info": "^4.2.0",
"clean-regexp": "^1.0.0",
"core-js-compat": "^3.40.0",
"core-js-compat": "^3.41.0",
"esquery": "^1.6.0",
"globals": "^15.15.0",
"globals": "^16.0.0",
"indent-string": "^5.0.0",
"is-builtin-module": "^4.0.0",
"is-builtin-module": "^5.0.0",
"jsesc": "^3.1.0",
"pluralize": "^8.0.0",
"read-package-up": "^11.0.0",
@ -5287,26 +5289,13 @@
"strip-indent": "^4.0.0"
},
"engines": {
"node": ">=18.18"
"node": "^18.20.0 || ^20.10.0 || >=21.0.0"
},
"funding": {
"url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1"
},
"peerDependencies": {
"eslint": ">=9.20.0"
}
},
"node_modules/eslint-plugin-unicorn/node_modules/globals": {
"version": "15.15.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
"eslint": ">=9.22.0"
}
},
"node_modules/eslint-plugin-unicorn/node_modules/jsesc": {
@ -7149,13 +7138,13 @@
}
},
"node_modules/is-builtin-module": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-4.0.0.tgz",
"integrity": "sha512-rWP3AMAalQSesXO8gleROyL2iKU73SX5Er66losQn9rWOWL4Gef0a/xOEOVqjWGMuR2vHG3FJ8UUmT700O8oFg==",
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-5.0.0.tgz",
"integrity": "sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==",
"dev": true,
"license": "MIT",
"dependencies": {
"builtin-modules": "^4.0.0"
"builtin-modules": "^5.0.0"
},
"engines": {
"node": ">=18.20"
@ -10876,9 +10865,9 @@
"dev": true
},
"node_modules/stylelint": {
"version": "16.16.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.16.0.tgz",
"integrity": "sha512-40X5UOb/0CEFnZVEHyN260HlSSUxPES+arrUphOumGWgXERHfwCD0kNBVILgQSij8iliYVwlc0V7M5bcLP9vPg==",
"version": "16.17.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.17.0.tgz",
"integrity": "sha512-I9OwVIWRMqVm2Br5iTbrfSqGRPWQUlvm6oXO1xZuYYu0Gpduy67N8wXOZv15p6E/JdlZiAtQaIoLKZEWk5hrjw==",
"dev": true,
"funding": [
{
@ -11407,14 +11396,14 @@
}
},
"node_modules/synckit": {
"version": "0.9.1",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz",
"integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==",
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.10.3.tgz",
"integrity": "sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@pkgr/core": "^0.1.0",
"tslib": "^2.6.2"
"@pkgr/core": "^0.2.0",
"tslib": "^2.8.1"
},
"engines": {
"node": "^14.18.0 || >=16.0.0"
@ -11653,9 +11642,9 @@
}
},
"node_modules/tsc-alias": {
"version": "1.8.11",
"resolved": "https://registry.npmjs.org/tsc-alias/-/tsc-alias-1.8.11.tgz",
"integrity": "sha512-2DuEQ58A9Rj2NE2c1+/qaGKlshni9MCK95MJzRGhQG0CYLw0bE/ACgbhhTSf/p1svLelwqafOd8stQate2bYbg==",
"version": "1.8.13",
"resolved": "https://registry.npmjs.org/tsc-alias/-/tsc-alias-1.8.13.tgz",
"integrity": "sha512-hpuglrm2DoHZE62L8ntYqRNiSQ7J8kvIxEsajzY/QfGOm7EcdhgG5asqoWYi2E2KX0SqUuhOTnV8Ry8D/TnsEA==",
"dev": true,
"license": "MIT",
"dependencies": {
@ -11668,6 +11657,9 @@
},
"bin": {
"tsc-alias": "dist/bin/index.js"
},
"engines": {
"node": ">=16.20.2"
}
},
"node_modules/tsc-alias/node_modules/anymatch": {
@ -11807,10 +11799,11 @@
}
},
"node_modules/tslib": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
"integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
"dev": true
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"dev": true,
"license": "0BSD"
},
"node_modules/ttest": {
"version": "4.0.0",

View File

@ -4,16 +4,16 @@
"devDependencies": {
"@babel/core": "^7.26.10",
"@babel/preset-env": "^7.26.9",
"@babel/runtime": "^7.26.10",
"@fluent/bundle": "^0.18.0",
"@babel/runtime": "^7.27.0",
"@fluent/bundle": "^0.19.0",
"@fluent/dom": "^0.10.1",
"@metalsmith/layouts": "^3.0.0",
"@metalsmith/markdown": "^1.10.0",
"@napi-rs/canvas": "^0.1.68",
"@types/node": "^22.13.11",
"@types/node": "^22.13.14",
"autoprefixer": "^10.4.21",
"babel-loader": "^10.0.0",
"caniuse-lite": "^1.0.30001706",
"caniuse-lite": "^1.0.30001707",
"core-js": "^3.41.0",
"eslint": "^9.23.0",
"eslint-plugin-import": "^2.31.0",
@ -21,8 +21,8 @@
"eslint-plugin-json": "^4.0.1",
"eslint-plugin-no-unsanitized": "^4.1.2",
"eslint-plugin-perfectionist": "^4.10.1",
"eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-unicorn": "^57.0.0",
"eslint-plugin-prettier": "^5.2.5",
"eslint-plugin-unicorn": "^58.0.0",
"globals": "^16.0.0",
"gulp": "^5.0.0",
"gulp-cli": "^3.0.0",
@ -45,11 +45,11 @@
"postcss-nesting": "^13.0.1",
"prettier": "^3.5.3",
"puppeteer": "^24.4.0",
"stylelint": "^16.16.0",
"stylelint": "^16.17.0",
"stylelint-prettier": "^5.0.3",
"svglint": "^3.1.0",
"terser-webpack-plugin": "^5.3.14",
"tsc-alias": "^1.8.11",
"tsc-alias": "^1.8.13",
"ttest": "^4.0.0",
"typescript": "^5.8.2",
"vinyl": "^3.0.0",

View File

@ -1,5 +1,5 @@
{
"stableVersion": "5.0.375",
"stableVersion": "5.1.91",
"baseVersion": "d86045eacbd6f8cc9cbe8fd616800ca3edcbd0dc",
"versionPrefix": "5.1."
}

View File

@ -595,7 +595,7 @@ class PartialEvaluator {
}
const imageMask = dict.get("IM", "ImageMask") || false;
let imgData, args;
let imgData, fn, args;
if (imageMask) {
// This depends on a tmpCanvas being filled with the
// current fillStyle, such that processing the pixel
@ -618,20 +618,13 @@ class PartialEvaluator {
});
imgData.cached = !!cacheKey;
args = [imgData];
operatorList.addImageOps(
OPS.paintImageMaskXObject,
args,
optionalContent
);
fn = OPS.paintImageMaskXObject;
args = [imgData];
operatorList.addImageOps(fn, args, optionalContent);
if (cacheKey) {
const cacheData = {
fn: OPS.paintImageMaskXObject,
args,
optionalContent,
};
const cacheData = { fn, args, optionalContent };
localImageCache.set(cacheKey, imageRef, cacheData);
if (imageRef) {
@ -658,18 +651,12 @@ class PartialEvaluator {
if (imgData.isSingleOpaquePixel) {
// Handles special case of mainly LaTeX documents which use image
// masks to draw lines with the current fill style.
operatorList.addImageOps(
OPS.paintSolidColorImageMask,
[],
optionalContent
);
fn = OPS.paintSolidColorImageMask;
args = [];
operatorList.addImageOps(fn, args, optionalContent);
if (cacheKey) {
const cacheData = {
fn: OPS.paintSolidColorImageMask,
args: [],
optionalContent,
};
const cacheData = { fn, args, optionalContent };
localImageCache.set(cacheKey, imageRef, cacheData);
if (imageRef) {
@ -691,6 +678,7 @@ class PartialEvaluator {
: imgData.data.length;
this._sendImgData(objId, imgData);
fn = OPS.paintImageMaskXObject;
args = [
{
data: objId,
@ -700,19 +688,10 @@ class PartialEvaluator {
count: 1,
},
];
operatorList.addImageOps(
OPS.paintImageMaskXObject,
args,
optionalContent
);
operatorList.addImageOps(fn, args, optionalContent);
if (cacheKey) {
const cacheData = {
objId,
fn: OPS.paintImageMaskXObject,
args,
optionalContent,
};
const cacheData = { objId, fn, args, optionalContent };
localImageCache.set(cacheKey, imageRef, cacheData);
if (imageRef) {
@ -782,19 +761,16 @@ class PartialEvaluator {
// Ensure that the dependency is added before the image is decoded.
operatorList.addDependency(objId);
fn = OPS.paintImageXObject;
args = [objId, w, h];
operatorList.addImageOps(
OPS.paintImageXObject,
args,
optionalContent,
hasMask
);
operatorList.addImageOps(fn, args, optionalContent, hasMask);
if (cacheGlobally) {
if (this.globalImageCache.hasDecodeFailed(imageRef)) {
this.globalImageCache.setData(imageRef, {
objId,
fn: OPS.paintImageXObject,
fn,
args,
optionalContent,
hasMask,
@ -818,7 +794,7 @@ class PartialEvaluator {
if (localLength) {
this.globalImageCache.setData(imageRef, {
objId,
fn: OPS.paintImageXObject,
fn,
args,
optionalContent,
hasMask,
@ -865,13 +841,7 @@ class PartialEvaluator {
});
if (cacheKey) {
const cacheData = {
objId,
fn: OPS.paintImageXObject,
args,
optionalContent,
hasMask,
};
const cacheData = { objId, fn, args, optionalContent, hasMask };
localImageCache.set(cacheKey, imageRef, cacheData);
if (imageRef) {
@ -880,7 +850,7 @@ class PartialEvaluator {
if (cacheGlobally) {
this.globalImageCache.setData(imageRef, {
objId,
fn: OPS.paintImageXObject,
fn,
args,
optionalContent,
hasMask,

View File

@ -57,7 +57,7 @@ class JpxImage {
try {
const mod = await (typeof PDFJSDev === "undefined"
? import(path) // eslint-disable-line no-unsanitized/method
: __non_webpack_import__(path));
: __raw_import__(path));
instance = mod.default();
} catch (e) {
warn(`JpxImage#getJsModule: ${e}`);

View File

@ -2416,7 +2416,7 @@ class PDFWorker {
const worker =
typeof PDFJSDev === "undefined"
? await import("pdfjs/pdf.worker.js")
: await __non_webpack_import__(this.workerSrc);
: await __raw_import__(this.workerSrc);
return worker.WorkerMessageHandler;
};

View File

@ -2264,9 +2264,7 @@ class CanvasGraphics {
const operatorList = font.charProcOperatorList[glyph.operatorListId];
if (!operatorList) {
warn(`Type3 character "${glyph.operatorListId}" is not available.`);
continue;
}
if (this.contentVisible) {
} else if (this.contentVisible) {
this.processingType3 = glyph;
this.save();
ctx.scale(fontSize, fontSize);
@ -2301,7 +2299,6 @@ class CanvasGraphics {
getColorN_Pattern(IR) {
let pattern;
if (IR[0] === "TilingPattern") {
const color = IR[1];
const baseTransform = this.baseTransform || getCurrentTransform(this.ctx);
const canvasGraphicsFactory = {
createCanvasGraphics: ctx =>
@ -2319,7 +2316,6 @@ class CanvasGraphics {
};
pattern = new TilingPattern(
IR,
color,
this.ctx,
canvasGraphicsFactory,
baseTransform

View File

@ -462,7 +462,8 @@ class TilingPattern {
// 10in @ 300dpi shall be enough.
static MAX_PATTERN_SIZE = 3000;
constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {
constructor(IR, ctx, canvasGraphicsFactory, baseTransform) {
this.color = IR[1];
this.operatorList = IR[2];
this.matrix = IR[3];
this.bbox = IR[4];
@ -470,7 +471,6 @@ class TilingPattern {
this.ystep = IR[6];
this.paintType = IR[7];
this.tilingType = IR[8];
this.color = color;
this.ctx = ctx;
this.canvasGraphicsFactory = canvasGraphicsFactory;
this.baseTransform = baseTransform;

View File

@ -974,7 +974,7 @@ describe("PDF viewer", () => {
},
});
it("propely cleans up old canvases from the dom", async () => {
it("properly cleans up old canvases from the dom", async () => {
await forEachPage(async (browserName, page) => {
const waitForPageRenderedEvent = filter =>
page.waitForFunction(
@ -1039,7 +1039,7 @@ describe("PDF viewer", () => {
},
});
it("propely cleans up old canvases from the dom", async () => {
it("properly cleans up old canvases from the dom", async () => {
await forEachPage(async (browserName, page) => {
const waitForPageRenderedEvent = filter =>
page.waitForFunction(

View File

@ -190,6 +190,7 @@
!issue4706.pdf
!rotation.pdf
!simpletype3font.pdf
!Type3WordSpacing.pdf
!sizes.pdf
!javauninstall-7r.pdf
!file_url_link.pdf

View File

@ -0,0 +1,139 @@
%PDF-1.7
%âãÏÓ
1 0 obj
<< /Type /Catalog
/Pages 2 0 R
>>
endobj
2 0 obj
<< /Type /Pages
/Kids [ 3 0 R ]
/Count 1
>>
endobj
3 0 obj
<< /Type /Page
/Parent 2 0 R
/MediaBox [ 0 0 300 80 ]
/Contents 4 0 R
/Resources <<
/Font << /FTyp3 5 0 R >>
>>
>>
endobj
4 0 obj
<<
/Length 715
>>
stream
0 0 1 rg % Blue non-stroking (fill)
1 0 0 RG % Red stroking
BT
/FTyp3 10 Tf % Select Type 3 font
0 Tr % Text render mode: 0=fill, 1=stroke, 2=fill then stroke
0 10 TD
50 Tw % Adjust this to: 0, 50, etc
( ab ba abba) Tj
T*
40 Tw % Adjust this to: 0, 50, etc
( ab ba abba) Tj
T*
30 Tw % Adjust this to: 0, 50, etc
( ab ba abba) Tj
T*
20 Tw % Adjust this to: 0, 50, etc
( ab ba abba) Tj
T*
10 Tw % Adjust this to: 0, 50, etc
( ab ba abba) Tj
T*
0 Tw % Adjust this to: 0, 50, etc
( ab ba abba) Tj
ET
endstream
endobj
5 0 obj
<< /Type /Font
/Subtype /Type3
/FontBBox [ 0 0 750 750 ]
/FontMatrix [ 0.001 0 0 0.001 0 0 ]
/CharProcs 7 0 R
/Encoding 6 0 R
/FirstChar 97 % "a"
/LastChar 98 % "b"
/Widths [ 1000 1000 ]
>>
endobj
6 0 obj
<< /Type /Encoding
/Differences [ 97 /square /triangle ]
>>
endobj
7 0 obj
<< /square 8 0 R
/triangle 9 0 R
>>
endobj
% Type 3 SQUARE glyph description = "a"
8 0 obj
<<
/Length 273
>>
stream
1000 0 0 0 750 750 d1 % NO explicit colour
50 w % Explicitly set line width as depend on it for stroking
[ 150 150 ] 0 d % Explicitly set dashing as depend on it for stroking
30 30 720 720 re S % Stroke (only) with inherited colour
endstream
endobj
% Type 3 TRIANGLE glyph description = "b"
9 0 obj
<<
/Length 316
>>
stream
1000 0 0 0 750 750 d1 % NO explicit colour
20 w % Explicitly set line width as depend on it for stroking
[ 100 100 ] 0 d % Explicitly set dashing as depend on it for stroking
20 20 m
350 730 l
730 20 l
b* % Close then Fill then Stroke with inherited colours
endstream
endobj
xref
0 10
0000000000 65535 f
0000000019 00000 n
0000000087 00000 n
0000000168 00000 n
0000000353 00000 n
0000001130 00000 n
0000001439 00000 n
0000001539 00000 n
0000001657 00000 n
0000002035 00000 n
trailer
<<
/Root 1 0 R
/Size 10
>>
startxref
2413
%%EOF

View File

@ -2843,6 +2843,14 @@
"lastPage": 1,
"type": "eq"
},
{
"id": "Type3WordSpacing",
"file": "pdfs/Type3WordSpacing.pdf",
"md5": "8c75440e5b95cf521d186f862b404516",
"link": false,
"rounds": 1,
"type": "eq"
},
{
"id": "issue13372",
"file": "pdfs/issue13372.pdf",

View File

@ -286,7 +286,7 @@ const PDFViewerApplication = {
const { PDFBug } =
typeof PDFJSDev === "undefined"
? await import(AppOptions.get("debuggerSrc")) // eslint-disable-line no-unsanitized/method
: await __non_webpack_import__(AppOptions.get("debuggerSrc"));
: await __raw_import__(AppOptions.get("debuggerSrc"));
this._PDFBug = PDFBug;
};
@ -299,7 +299,7 @@ const PDFViewerApplication = {
if (typeof PDFJSDev === "undefined") {
globalThis.pdfjsWorker = await import("pdfjs/pdf.worker.js");
} else {
await __non_webpack_import__(PDFWorker.workerSrc);
await __raw_import__(PDFWorker.workerSrc);
}
} catch (ex) {
console.error("_parseHashParams:", ex);
@ -396,38 +396,35 @@ const PDFViewerApplication = {
this.eventBus = AppOptions.eventBus = eventBus;
mlManager?.setEventBus(eventBus, abortSignal);
this.overlayManager = new OverlayManager();
const overlayManager = (this.overlayManager = new OverlayManager());
const pdfRenderingQueue = new PDFRenderingQueue();
pdfRenderingQueue.onIdle = this._cleanup.bind(this);
this.pdfRenderingQueue = pdfRenderingQueue;
const renderingQueue = (this.pdfRenderingQueue = new PDFRenderingQueue());
renderingQueue.onIdle = this._cleanup.bind(this);
const pdfLinkService = new PDFLinkService({
const linkService = (this.pdfLinkService = new PDFLinkService({
eventBus,
externalLinkTarget: AppOptions.get("externalLinkTarget"),
externalLinkRel: AppOptions.get("externalLinkRel"),
ignoreDestinationZoom: AppOptions.get("ignoreDestinationZoom"),
});
this.pdfLinkService = pdfLinkService;
}));
const downloadManager = (this.downloadManager = new DownloadManager());
const findController = new PDFFindController({
linkService: pdfLinkService,
const findController = (this.findController = new PDFFindController({
linkService,
eventBus,
updateMatchesCountOnProgress:
typeof PDFJSDev === "undefined"
? !window.isGECKOVIEW
: !PDFJSDev.test("GECKOVIEW"),
});
this.findController = findController;
}));
const pdfScriptingManager = new PDFScriptingManager({
eventBus,
externalServices,
docProperties: this._scriptingDocProperties.bind(this),
});
this.pdfScriptingManager = pdfScriptingManager;
const pdfScriptingManager = (this.pdfScriptingManager =
new PDFScriptingManager({
eventBus,
externalServices,
docProperties: this._scriptingDocProperties.bind(this),
}));
const container = appConfig.mainContainer,
viewer = appConfig.viewerContainer;
@ -440,12 +437,13 @@ const PDFViewerApplication = {
foreground: AppOptions.get("pageColorsForeground"),
}
: null;
let altTextManager;
if (AppOptions.get("enableUpdatedAddImage")) {
altTextManager = appConfig.newAltTextDialog
? new NewAltTextManager(
appConfig.newAltTextDialog,
this.overlayManager,
overlayManager,
eventBus
)
: null;
@ -454,7 +452,7 @@ const PDFViewerApplication = {
? new AltTextManager(
appConfig.altTextDialog,
container,
this.overlayManager,
overlayManager,
eventBus
)
: null;
@ -471,7 +469,7 @@ const PDFViewerApplication = {
appConfig.editSignatureDialog,
appConfig.annotationEditorParams?.editorSignatureAddSignature ||
null,
this.overlayManager,
overlayManager,
l10n,
externalServices.createSignatureStorage(eventBus, abortSignal),
eventBus
@ -481,12 +479,12 @@ const PDFViewerApplication = {
const enableHWA = AppOptions.get("enableHWA"),
maxCanvasPixels = AppOptions.get("maxCanvasPixels"),
maxCanvasDim = AppOptions.get("maxCanvasDim");
const pdfViewer = new PDFViewer({
const pdfViewer = (this.pdfViewer = new PDFViewer({
container,
viewer,
eventBus,
renderingQueue: pdfRenderingQueue,
linkService: pdfLinkService,
renderingQueue,
linkService,
downloadManager,
altTextManager,
signatureManager,
@ -518,36 +516,35 @@ const PDFViewerApplication = {
enableHWA,
supportsPinchToZoom: this.supportsPinchToZoom,
enableAutoLinking: AppOptions.get("enableAutoLinking"),
});
this.pdfViewer = pdfViewer;
}));
pdfRenderingQueue.setViewer(pdfViewer);
pdfLinkService.setViewer(pdfViewer);
renderingQueue.setViewer(pdfViewer);
linkService.setViewer(pdfViewer);
pdfScriptingManager.setViewer(pdfViewer);
if (appConfig.sidebar?.thumbnailView) {
this.pdfThumbnailViewer = new PDFThumbnailViewer({
container: appConfig.sidebar.thumbnailView,
eventBus,
renderingQueue: pdfRenderingQueue,
linkService: pdfLinkService,
renderingQueue,
linkService,
maxCanvasPixels,
maxCanvasDim,
pageColors,
abortSignal,
enableHWA,
});
pdfRenderingQueue.setThumbnailViewer(this.pdfThumbnailViewer);
renderingQueue.setThumbnailViewer(this.pdfThumbnailViewer);
}
// The browsing history is only enabled when the viewer is standalone,
// i.e. not when it is embedded in a web page.
if (!this.isViewerEmbedded && !AppOptions.get("disableHistory")) {
this.pdfHistory = new PDFHistory({
linkService: pdfLinkService,
linkService,
eventBus,
});
pdfLinkService.setHistory(this.pdfHistory);
linkService.setHistory(this.pdfHistory);
}
if (!this.supportsIntegratedFind && appConfig.findBar) {
@ -578,7 +575,7 @@ const PDFViewerApplication = {
if (mlManager && appConfig.secondaryToolbar?.imageAltTextSettingsButton) {
this.imageAltTextSettings = new ImageAltTextSettings(
appConfig.altTextSettingsDialog,
this.overlayManager,
overlayManager,
eventBus,
mlManager
);
@ -587,7 +584,7 @@ const PDFViewerApplication = {
if (appConfig.documentProperties) {
this.pdfDocumentProperties = new PDFDocumentProperties(
appConfig.documentProperties,
this.overlayManager,
overlayManager,
eventBus,
l10n,
/* fileNameLookup = */ () => this._docFilename
@ -653,7 +650,7 @@ const PDFViewerApplication = {
if (appConfig.passwordOverlay) {
this.passwordPrompt = new PasswordPrompt(
appConfig.passwordOverlay,
this.overlayManager,
overlayManager,
this.isViewerEmbedded
);
}
@ -663,7 +660,7 @@ const PDFViewerApplication = {
container: appConfig.sidebar.outlineView,
eventBus,
l10n,
linkService: pdfLinkService,
linkService,
downloadManager,
});
}

View File

@ -39,7 +39,7 @@ class GenericScripting {
const sandbox =
typeof PDFJSDev === "undefined"
? import(sandboxBundleSrc) // eslint-disable-line no-unsanitized/method
: __non_webpack_import__(sandboxBundleSrc);
: __raw_import__(sandboxBundleSrc);
sandbox
.then(pdfjsSandbox => {
resolve(pdfjsSandbox.QuickJSSandbox());