mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-26 01:58:06 +02:00
Add better support for /Launch actions with /FileSpec dictionaries (issue 17846)
This commit is contained in:
parent
1141af9d6f
commit
0d039937f9
5 changed files with 38 additions and 9 deletions
|
@ -42,7 +42,9 @@ function pickPlatformItem(dict) {
|
|||
* collections attributes and related files (/RF)
|
||||
*/
|
||||
class FileSpec {
|
||||
constructor(root, xref) {
|
||||
#contentAvailable = false;
|
||||
|
||||
constructor(root, xref, skipContent = false) {
|
||||
if (!(root instanceof Dict)) {
|
||||
return;
|
||||
}
|
||||
|
@ -57,10 +59,12 @@ class FileSpec {
|
|||
if (root.has("RF")) {
|
||||
warn("Related file specifications are not supported");
|
||||
}
|
||||
this.contentAvailable = true;
|
||||
if (!root.has("EF")) {
|
||||
this.contentAvailable = false;
|
||||
warn("Non-embedded file specifications are not supported");
|
||||
if (!skipContent) {
|
||||
if (root.has("EF")) {
|
||||
this.#contentAvailable = true;
|
||||
} else {
|
||||
warn("Non-embedded file specifications are not supported");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -76,7 +80,7 @@ class FileSpec {
|
|||
}
|
||||
|
||||
get content() {
|
||||
if (!this.contentAvailable) {
|
||||
if (!this.#contentAvailable) {
|
||||
return null;
|
||||
}
|
||||
if (!this.contentRef && this.root) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue