Use the stringToBytes helper in the PDFEditor.prototype.writePDF method

This avoids effectively re-implementing an existing helper function, and the code is also simplified a tiny bit by building the final TypedArray header directly.
This commit is contained in:
Jonas Jenwald 2026-04-06 14:49:53 +02:00
parent dd8f0a327f
commit ea12a28e2f

View File

@ -27,7 +27,11 @@ import {
stringToAsciiOrUTF16BE, stringToAsciiOrUTF16BE,
} from "../core_utils.js"; } from "../core_utils.js";
import { Dict, isName, Name, Ref, RefSet, RefSetCache } from "../primitives.js"; import { Dict, isName, Name, Ref, RefSet, RefSetCache } from "../primitives.js";
import { getModificationDate, stringToPDFString } from "../../shared/util.js"; import {
getModificationDate,
stringToBytes,
stringToPDFString,
} from "../../shared/util.js";
import { incrementalUpdate, writeValue } from "../writer.js"; import { incrementalUpdate, writeValue } from "../writer.js";
import { NameTree, NumberTree } from "../name_number_tree.js"; import { NameTree, NumberTree } from "../name_number_tree.js";
import { AnnotationFactory } from "../annotation.js"; import { AnnotationFactory } from "../annotation.js";
@ -2458,15 +2462,10 @@ class PDFEditor {
// PDF version must be in the range 1.0 to 1.7 inclusive. // PDF version must be in the range 1.0 to 1.7 inclusive.
// We add a binary comment line to ensure that the file is treated // We add a binary comment line to ensure that the file is treated
// as a binary file by applications that open it. // as a binary file by applications that open it.
const header = [ const header = stringToBytes(`%PDF-${this.version}\n%\xfa\xde\xfa\xce`);
...`%PDF-${this.version}\n%`.split("").map(c => c.charCodeAt(0)),
0xfa,
0xde,
0xfa,
0xce,
];
return incrementalUpdate({ return incrementalUpdate({
originalData: new Uint8Array(header), originalData: header,
changes, changes,
xrefInfo: { xrefInfo: {
startXRef: null, startXRef: null,