mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-26 10:08:06 +02:00
[Editor] Don't forget to encrypt image streams (see issue #16821)
and encrypt a compressed stream after having been compressed.
This commit is contained in:
parent
d4ba312f00
commit
7a5b3423d6
5 changed files with 51 additions and 6 deletions
|
@ -298,7 +298,13 @@ class AnnotationFactory {
|
|||
baseFont.set("Encoding", Name.get("WinAnsiEncoding"));
|
||||
const buffer = [];
|
||||
baseFontRef = xref.getNewTemporaryRef();
|
||||
await writeObject(baseFontRef, baseFont, buffer, null);
|
||||
const transform = xref.encrypt
|
||||
? xref.encrypt.createCipherTransform(
|
||||
baseFontRef.num,
|
||||
baseFontRef.gen
|
||||
)
|
||||
: null;
|
||||
await writeObject(baseFontRef, baseFont, buffer, transform);
|
||||
dependencies.push({ ref: baseFontRef, data: buffer.join("") });
|
||||
}
|
||||
promises.push(
|
||||
|
@ -325,13 +331,19 @@ class AnnotationFactory {
|
|||
const buffer = [];
|
||||
if (smaskStream) {
|
||||
const smaskRef = xref.getNewTemporaryRef();
|
||||
await writeObject(smaskRef, smaskStream, buffer, null);
|
||||
const transform = xref.encrypt
|
||||
? xref.encrypt.createCipherTransform(smaskRef.num, smaskRef.gen)
|
||||
: null;
|
||||
await writeObject(smaskRef, smaskStream, buffer, transform);
|
||||
dependencies.push({ ref: smaskRef, data: buffer.join("") });
|
||||
imageStream.dict.set("SMask", smaskRef);
|
||||
buffer.length = 0;
|
||||
}
|
||||
const imageRef = (image.imageRef = xref.getNewTemporaryRef());
|
||||
await writeObject(imageRef, imageStream, buffer, null);
|
||||
const transform = xref.encrypt
|
||||
? xref.encrypt.createCipherTransform(imageRef.num, imageRef.gen)
|
||||
: null;
|
||||
await writeObject(imageRef, imageStream, buffer, transform);
|
||||
dependencies.push({ ref: imageRef, data: buffer.join("") });
|
||||
image.imageStream = image.smaskStream = null;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue