This release features improved XFA support, improved pattern rendering and other bugfixes and optimizations.
Changes since v2.9.359:
#13464 Bump versions in pdfjs.config
#13466 Fix typo in template.js
#13465 Some -es5
/-legacy
renaming clean-up, and deprecated
API options removal (PR 12978, PR 13207 follow-up)
#13437 XFA - Move the fake HTML representation of XFA from the worker to the main thread
#13472 Don't change options of the globally used PartialEvaluator
in the "should render checkbox with fallback font for printing" unit-test
#13411 XFA - Add support to print XFA forms
#13476 Update Puppeteer to version 10
#13451 XFA - Use native radio and checkbox buttons
#13480 [GENERIC viewer] Fix printing regression from PR 13411
#13489 Add hasEOL
to the TextItem
typedef in the API (PR 13257 follow-up)
#13478 Fix find highlighting regression from #13306.
#13482 Fix scrolling of search results in documents with marked content (bug 1714183)
#13473 XFA - Implement usehref support
#13492 Add normalization for Hyphen -> Hyphen-minus
#13490 Miscellaneous improvements for gulpfile.js
(issue 10362)
#13497 Initialize HTMLResult.{FAILURE, EMPTY}
lazily
#13494 Add more info for showText operator in stepper.
#13498 Normalize the coordinates used in SVGGraphics._makeTilingPattern
(issue 12996)
#13461 Improve text-selection for Type3 fonts with empty /FontBBox-entries (issue 6605)
#13503 XFA - Don't bind a form node with an empty value when the data node doesn't exist
#13505 Use the DOMSVGFactory
, rather than manually creating the SVG-element, in createMatrix
(PR 13361 follow-up)
#13501 XFA - CDATA can be xml so parse it when required
#13513 Bump trim-newlines from 3.0.0 to 3.0.1
#13506 XFA - Add support for reftests
#13479 XFA - Fix layout issues (again)
#13514 [api-minor] Fetch binary CMap data in the worker-thread, when useWorkerFetch
is set
#13521 [XFA] Use align-items: flex-start;
to improve browser compatibility (issue 13518)
#13495 XFA - Display rectangle, line and arc
#13524 XFA - Don't print arrow in select
#13517 XFA - Add Liberation-Sans font as a substitution for some missing fonts
#13515 Cache the "raw" standard font data in the worker-thread (PR 12726 follow-up)
#13525 [api-minor] Re-factor the disableFontFace
fallback value, and skip initializing factories with useWorkerFetch
set
#13516 Always use standard font data, with disableFontFace
set in the API (PR 12726 follow-up)
#13502 XFA - contentarea must be on top of the other containers in a pageArea
#13527 XFA - Avoid infinite loop when creating some nodes in data
#13528 XFA - Handle caption with inline placement as left one
#13529 Bundle the license-file for the Liberation fonts in the builds (PR 13517 follow-up)
#13530 Add a DOMMatrix
polyfill for Node.js environments (PR 13361 follow-up)
#13532 XFA - Give all the available space to the caption in case of checkButton
#13534 XFA - Flush contents when breakBefore target is 'auto'
#13539 XFA - Don't show outline on focused textfields
#13540 XFA - Return html element for the different possible value
#13542 XFA - Center vertically radio without caption
#13546 Re-factor the DOMCanvasFactory
and DOMSVGFactory
implementations slightly
#13547 XFA - Handle correctly subformSet
#13549 Remove the isFetchSupported
function since the Fetch API is available in all supported browsers
#13552 Update packages and translations
#13548 XFA - Default fill color for rectangle is transparent
#13555 XFA - Value in field can be html
#13557 XFA - Fix error when creating a new data node
#13559 XFA - Handle maxChars property for text fields
#13563 Add basic linting of JSON files using eslint-plugin-json
#13554 XFA - Add support for overflow element
#13569 XFA - Container wrapper must take the visibility of the wrapped content
#13565 Fix how patterns are applied to image mask objects.
#13570 XFA - By default a text ui has only one line when in a field element
#13560 XFA - Add the possibily to layout and measure text
#13575 XFA - Fix reftest for xfa_issue13500
#13576 XFA - When no fonts in the pdf just use font size as width when measuring text
#13566 XFA - Fix layout issues
#13577 Remove the internal PDFScriptingManager._pageEventsReady
boolean (PR 13074 follow-up)
#13587 Set the default value of useSystemFonts
correctly, depending on disableFontFace
, in the API (PR 13516 follow-up)
#13588 Add a (basic) TypeScript definitions for the viewer components (issue 13267)
#13590 Stop encoding the value in the DOMElement.setAttribute
method (issue 8558)
#13589 Allow using the standard font data for non-Type1 fonts (issue 13585, PR 12726 follow-up)
#13591 XFA - Match font family correctly
#13595 XFA - Add support for access property
#13593 XFA - Don't display invisible rectangle borders
#13573 XFA - Fix the way to select page on breaking
#13601 Revert "XFA - Fix the way to select page on breaking"
#13603 Revert "Revert "XFA - Fix the way to select page on breaking""
#13592 XFA - Don't display print-only elements
#13604 XFA - A prototype can have a property which needs itself to resolve a proto
#13608 Bump color-string from 1.5.3 to 1.5.5
#13609 Correctly align the xfaLayer
content with horizontal scrolling/spread modes
#13594 XFA - Add margins if needed after having layout some text
#13606 Correctly align the textLayer
content with horizontal/spread scrolling modes (issue 13605)
#13614 XFA - Get line height from the font
#13617 Reset the IPDFLinkService.externalLinkEnabled
property on document closing
#13612 Support corrupt documents with empty Name
-entries (issue 13610)
#13613 [api-minor] Slightly tweak/improve various code related to XFA-printing
#13618 XFA - Always bind root subform on root data
#13622 XFA - No container stretching with lr-tb layout
#13619 XFA - Add back empty subforms (which can have a background)
#13624 XFA - Take into account text position in caption
#13627 XFA - Save filled data in the pdf when downloading the file (Bug 1716288)
#13600 Take the position of the selected
element into account when scrolling matches (issue 13596)
#13628 Check that TrueType (3, 0) cmap tables, for symbolic fonts, are sorted correctly (issue 13626)
#13637 Update packages and translations
#13638 A couple of smaller JSDocs tweaks in src/display/api.js
#13642 XFA - Remove quotes of font name in xhtml
#13639 XFA - Replace deprecated break element (bug 1718053)
#13635 XFA - Fix width of a container with lr-tb layout (bug 1718037)
#13641 XFA - Implement aspect property on image element
#13644 XFA - Support non-embedded fonts without a Widths entry
#13645 XFA - Choice list has no selected value by default (bug 1718241)
#13616 Add PDFs from #1773 to the reftests
#13640 Add non-PRODUCTION/TESTING overflow assert
s to various string helper-functions (issue 6759)
#13648 XFA - Don't fill when the fill element is not visible (bug 1718735)
#13598 XFA - Remove empty pages
#13657 Replace instanceof Object
with typeof
checks
#13658 Don't attempt to structure clone unsupported types with workers disabled
#13664 Remove the version
field from the package.json
file
#13661 [api-minor] Support accessing both the original and modified PDF fingerprint
#13662 XFA - Don't use system font when a font is not embeded but there is a substitution
#13666 Enable the ESLint operator-assignment
rule
#13654 XFA - An image can be a stream in the pdf (bug 1718521)
#13672 Revert "XFA - An image can be a stream in the pdf (bug 1718521)"
#13653 XFA - Improve text layout
#13665 XFA - Fix indentation for justified paragraph
#13673 XFA - An image can be a stream in the pdf (bug 1718521)
#13675 [test/driver.js] Ensure that Image src
is set after the callbacks in resolveImages
#13680 XFA - Layout correctly a subform with row layout (bug 1718740)
#13684 XFA - Default background in rectangle is white
#13683 Fix transformations when painting image masks and tiling patterns.
#13687 XFA - Don't fail xfa loading because of a JS subexpression in SOM expressions
#13649 Merge the supplemental font data files used with XFA documents
#13691 XFA - Handle correctly nested containers with lr-tb layout (bug 1718670)
#13693 XFA - Enable disabled fields (bug 1719464)
#13694 XFA - remove unnecessary check in the handleBreak
function (PR 13687 follow-up)
#13692 XFA - Correctly bind global data (bug 1718725)
#13700 XFA - Scale correctly images
#13706 XFA - Keep xfa layer on top of the others (bug 1719629)
#13703 XFA - Fix typo in factory.js
#13708 XFA - Add support for traversal and traverse element
#13710 XFA - Move xfa layer on top of the others (follow-up of #13706)
#13690 Fixed text annotation comb input box
#13696 [GENERIC viewer] Try to fixup "incomplete" language codes (issue 13689)
#13699 making webpack aware of the change inside of the worker file and hash
#13712 XFA - Always compute the transformed BBox values in checkDimensions
(PR 13691 follow-up)
#13705 XFA - Fix text positions (bug 1718741)
#13715 Update packages and translations
#13714 XFA - Use fake MyriadPro as a fallback for missing fonts
#13717 XFA - Fix wrong vertical alignments
#13718 XFA - Support assist element
#13716 XFA - Avoid to have containers not pushed in the html
#13720 Revert "XFA - Avoid to have containers not pushed in the html"
#13723 XFA - Only the first page was printed (bug 1720159)
#13721 XFA - Avoid to have containers not pushed in the html
#13725 Avoid all rendering breaking completely when CanvasPattern.setTransform()
is unsupported
#13734 XFA - Cannot print fields with no names
#13739 Remove <meta>
tag only necessary for IE-compatibility
#13738 Re-factor the handling of empty Name
-instances (PR 13612 follow-up)
#13730 Add a new "botbrowsertest" gulp-task, to allow running only the browser tests on the bots
#13732 XFA - A rectangle must have the width of its parent but without inner margins
#13743 XFA - Checkboxes must be printed (bug 1720182)
#13745 Enable XFA by default in the development viewer
#13754 Remove the IR (internal representation) part of the PDFFunction
parsing
#13746 [api-minor] Add intent
support to the PDFPageProxy.getOperatorList
method (issue 13704)
#13735 Ensure that the field value, for checkboxes, refers to an existing appearance state (bug 1720411)
#13761 XFA - Prevent breaking errors in Binder
, when searchNode
doesn't return data (issue 13756)
#13763 XFA - Must use bindItems element even if there is no direct binding (bug 1720907)
#13764 XFA - Add a missing method to XFAAttribute
, to prevent breaking errors (issue 13748)
#13768 XFA - Remove namespace from nodes under xfa:data node
#13766 XFA - Handle startIndex
correctly in the Template.$toHTML
method (issue 13751)
#13772 Include the font
/integration
/unit
-test folders in the LGTM report
#13776 Include most of the test
-folder in the LGTM report (PR 13772 follow-up)
#13777 XFA - SVG elements mustn't get any pointer events (bug 1721589)
#13778 XFA - A field without an ui must provide a default one (bug 1718245)
#13770 Improve performance of reused patterns.
#13782 [api-minor] XFA - Remove the xfaLayer
from the DOM when resetting pages (bug 1721977, PR 13427 follow-up)
#13775 Remove some duplication in the Dict.merge
method
#13786 Remove a couple of small closures in src/core/
code
#13784 When parsing corrupt documents, avoid inserting obviously broken data in the XRef-table (issue 13783)
#13787 Fix (most) LGTM warnings
#13788 Enable the no-empty-character-class
and no-template-curly-in-string
linting rules
#13790 Update packages and translations