calixteman
0e2b59e3d5
Merge pull request #20064 from calixteman/dict_api
...
Add few methods to the Dict class in order to simplify the code when writing an annotation
2025-07-08 22:16:57 +02:00
calixteman
481b74a1c2
Merge pull request #20063 from calixteman/issue20062
...
Fix the default appearance of a Polygon annotation when a fill color is provided
2025-07-08 22:10:52 +02:00
Calixte Denizet
63b37b4371
Add few methods to the Dict class in order to simplify the code when writing an annotation
2025-07-08 21:23:29 +02:00
Calixte Denizet
ecc7096a80
Fix the default appearance of a Polygon annotation when a fill color is provided
...
It fixes #20062 .
2025-07-08 20:51:58 +02:00
Tim van der Meij
b999d5ce58
Merge pull request #20060 from noritaka1166/fix-typos
...
Fix typos across the codebase
2025-07-08 18:28:52 +02:00
Calixte Denizet
bb52a440ce
Use the creation date in the popup when there is no modification date
...
Remove the h1 element in popup title because it caused a warning in Firefox and use a span instead.
2025-07-07 10:51:35 +02:00
Noritaka Kobayashi
fa568e826d
Fix typos across the codebase
2025-07-07 09:59:36 +09:00
Tim van der Meij
cbeef3233f
Merge pull request #20056 from calixteman/one_click
...
[Editor] Allow to change the editor mode when selecting the corresponding editor (bug 1975538)
2025-07-06 19:35:31 +02:00
Ujjwal Sharma
b1b728d47f
[api-minor] Move getContext call to InternalRenderTask
...
This is a precursor to moving the call into a
worker thread to let us use `OffscreenCanvas`. The
current position wouldn't work since we make
transformations to the canvas object after the
getContext call, which isn't allowed for
OffscreenCanvas. Also it isn't allowed to clone or
`transferControlToOffscreen` the canvas after the
`getContext` call.
2025-07-04 00:53:51 +02:00
Calixte Denizet
6d2c6cfc9f
[Editor] Allow to change the editor mode when selecting the corresponding editor (bug 1975538)
...
For example, selecting an ink editor just after having created a freetext will switch to ink mode.
2025-07-03 23:27:34 +02:00
calixteman
2d0ba7db08
Merge pull request #20043 from yyliu12/popup-rotation-fix
...
Make Popup annotations always have noRotate flag set as true
2025-07-03 17:27:40 +02:00
Calixte Denizet
c22a425b04
[Editor] When an annotation is added, announce it if the user is using a screen reader (bug 1975264)
2025-07-03 16:53:01 +02:00
Yuyang Liu
d8ecfad8bd
Make Popup annotations always have noRotate flag set as true
...
Necessary because when there is no Popup annotation created along
with a Text annotation, the Popup annotation created by pdf.js
does not receive the noRotate flag
2025-07-03 05:52:31 +09:00
Calixte Denizet
194e2ede4d
Add some telemetry in order to know what are the certificates used in pdfs (bug 1973573)
2025-06-24 22:23:29 +02:00
Calixte Denizet
3bdc5d54fe
Get the text under highlight/squiggly/underline/strikethrough annotations (bug 1885505)
...
and add an invisible element containing the text in the annotation layer to make
it readable by a screen reader.
2025-06-22 21:47:29 +02:00
Tim van der Meij
8fe9db0fb5
Merge pull request #20022 from calixteman/color_picker_a11y
...
[Editor] Fix the accessibility of the dropdown in the color picker
2025-06-22 14:23:20 +02:00
Tim van der Meij
ac399e77e8
Merge pull request #20023 from calixteman/edit_added_annotation
...
[Editor] When editing mode is disabled, allow to double click on a added annotation to edit it
2025-06-21 16:23:56 +02:00
calixteman
c7796c7f8d
Merge pull request #19993 from calixteman/editor_toolbar_simplification
...
Slightly simplify the way to create the editor toolbar
2025-06-20 21:59:01 +02:00
calixteman
e78575e593
Merge pull request #19986 from calixteman/dont_show_empty_popup
...
Only show popups when they've some contents to display
2025-06-20 13:48:30 +02:00
Calixte Denizet
b97cee2ab5
Correctly handle files with a hash sign in their names (bug 1894166)
...
It fixes #19990 .
2025-06-20 09:21:41 +02:00
Calixte Denizet
2541d96bf5
[JS] Make the date parser less strict
...
and display the expected date formt as a tooltip.
2025-06-20 08:57:07 +02:00
Calixte Denizet
2548405401
Slightly simplify the way to create the editor toolbar
2025-06-19 23:03:06 +02:00
Calixte Denizet
d0b0064643
[Editor] When editing mode is disabled, allow to double click on a added annotation to edit it
...
It's already possible but only when double clicking outside the the text layer.
This patach adds the possibility to click on the text layer.
2025-06-19 21:15:08 +02:00
Calixte Denizet
1f2e9e5c0f
[Editor] Fix the accessibility of the dropdown in the color picker
2025-06-19 20:08:33 +02:00
Calixte Denizet
96216de410
Only show popups when they've some contents to display
...
Chrome, Edge and Acrobat do that.
2025-06-19 16:33:52 +02:00
calixteman
5653458b51
Merge pull request #20013 from calixteman/fix_annotation_tabindex
...
Make annotations focusable just after the text layer
2025-06-19 14:09:27 +02:00
calixteman
412500c9b9
Merge pull request #19996 from calixteman/bug1961423_bis
...
Fix a printing issue on Mac (bug 1961423)
2025-06-17 21:23:49 +02:00
Calixte Denizet
0d995fa089
Make annotations focusable just after the text layer
2025-06-16 19:06:13 +02:00
Calixte Denizet
27a81c506e
Move the popup annotation in the DOM just after the element triggering it
2025-06-16 14:42:44 +02:00
Calixte Denizet
14f0e88910
Fix a printing issue on Mac (bug 1961423)
...
On mac, the pdf backend used when printing is using the cid from the font,
so if a char has null cid then it's equivalent to .notdef and some viewers
don't display it.
2025-06-07 21:33:17 +02:00
calixteman
d63aabd662
Merge pull request #19969 from calixteman/editor_inconsistencies
...
[Editor] Change mode when double clicking on an editor
2025-05-28 18:00:26 +02:00
Calixte Denizet
47e69e93a3
[Editor] Change mode when double clicking on an editor
...
It was only possible to double click on a FreeText editor while being in ink mode (or any other).
2025-05-28 17:49:16 +02:00
Tim van der Meij
21ef454faf
Merge pull request #19962 from Snuffleupagus/api_utils
...
Move a few helper functions/classes out of the `src/display/api.js` file
2025-05-24 14:21:29 +02:00
Tim van der Meij
d90ec29b4d
Merge pull request #19964 from Snuffleupagus/core-catalog-private
...
Replace semi-private fields/methods with actual private ones in `src/core/catalog.js`
2025-05-24 14:16:06 +02:00
Jonas Jenwald
c5449a98e0
Ignore empty paths when optimizing constructPath operations (issue 19971)
...
Note how we're handling empty paths in [src/display/canvas.js](a8e05d82e2/src/display/canvas.js (L1423-L1428) ), hence we need add similar code in the `QueueOptimizer` as well.
2025-05-23 13:59:05 +02:00
Jonas Jenwald
d81174d7bc
Merge pull request #19956 from Snuffleupagus/versionInfoHeader
...
Improve how the PDF.js version/commit information is exposed in the *built* files
2025-05-22 15:24:02 +02:00
Jonas Jenwald
a90e46bdc9
Use nullish coalescing in the Catalog.prototype.numPages getter
2025-05-21 16:47:20 +02:00
Jonas Jenwald
0d2ab3c709
Replace semi-private fields/methods with actual private ones in src/core/catalog.js
...
Additionally, move a couple of "public" fields out of the class constructor and initialize them directly instead.
2025-05-21 12:10:07 +02:00
Jonas Jenwald
e91b480c09
Move the PDFObjects class to its own file
...
This isn't directly part of the official API, and having this class in its own file could help avoid future changes (e.g. issue 18148) affecting the size of the `src/display/api.js` file unnecessarily.
2025-05-20 13:47:36 +02:00
Jonas Jenwald
0105237af6
Move a few helper functions/classes out of the src/display/api.js file
...
Given that this file represents the official API, it's difficult to avoid it becoming fairly large as we add new functionality. However, it also contains a couple of smaller (and internal) helpers that we can move into a new utils-file.
Also, we inline the `DEFAULT_RANGE_CHUNK_SIZE` constant since it's only used *once* and its value has never been changed in over a decade.
2025-05-20 13:47:36 +02:00
calixteman
fc68a9f3ee
Merge pull request #19958 from calixteman/rm_useless_subarray_flate_stream
...
Don't create a useless subarray when getting image data from a flate stream
2025-05-19 19:29:25 +02:00
calixteman
f148106cb1
Merge pull request #19957 from calixteman/rm_qcms_subarray
...
Remove all the useless subarrays when using qcms.
2025-05-19 17:33:52 +02:00
Jonas Jenwald
36b40d959b
Merge pull request #19955 from Snuffleupagus/issue-19954
...
Support Type3 fonts with an incomplete /FontDescriptor dictionary (issue 19954)
2025-05-19 17:26:46 +02:00
Calixte Denizet
3ecbef516d
Don't create a useless subarray when getting image data from a flate stream
2025-05-19 16:48:23 +02:00
Calixte Denizet
782e883a87
Remove all the useless subarrays when using qcms.
...
It reduces the memory use and the newly added function `getRgbHex` is 4 times faster.
2025-05-19 16:07:57 +02:00
Jonas Jenwald
c02ea0c681
Simplify how we handle Type3 fonts without a /FontDescriptor dictionary
...
Part of this is very old code, which we can now simplify a little bit.
2025-05-19 15:26:11 +02:00
Jonas Jenwald
97a42486f5
Improve how the PDF.js version/commit information is exposed in the *built* files
...
To make it easier to tell which PDF.js version/commit that the *built* files correspond to, they have (since many years) included `pdfjsVersion` and `pdfjsBuild` constants with that information.
As currently implemented this has a few shortcomings:
- It requires manually adding the code, with its preprocessor statements, in all relevant files.
- It requires ESLint disable statements, since it's obviously unused code.
- Being unused, this code is removed in the minified builds.
- This information would be more appropriate as comments, however Babel discards all comments during building.
- It would be helpful to have this information at the top of the *built* files, however it's being moved during building.
To address all of these issues, we'll instead utilize Webpack to insert the version/commit information as a comment placed just after the license header.
2025-05-19 15:01:05 +02:00
Calixte Denizet
5789afd3f8
Create the css color to use with the canvas in the worker
...
It slightly reduces the time spent to draw and the memory used.
2025-05-19 14:52:24 +02:00
Jonas Jenwald
5f5d9dfc28
Support Type3 fonts with an incomplete /FontDescriptor dictionary (issue 19954)
...
We have a fallback for the common case of Type3 fonts without a /FontDescriptor dictionary, however we also need to handle the case where it's present but lacking the required /FontName entry.
2025-05-19 12:56:14 +02:00
Tim van der Meij
f6e4b1cf4a
Merge pull request #19945 from Snuffleupagus/NetworkStream-rm-Node-Error
...
Remove Node.js-specific checks when using the Fetch API
2025-05-18 12:05:13 +02:00