: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
if (newRefs.length === 0) {
const needAppearances = acroFormRef && acroForm instanceof Dict && newRefs.some(ref => ref.needAppearances);
const xfa = acroForm instanceof Dict && acroForm.get("XFA") || null;
let xfaDatasetsRef = null;
let hasXfaDatasetsEntry = false;
if (Array.isArray(xfa)) {
for (let i = 0, ii = xfa.length; i < ii; i += 2) {
if (xfa[i] === "datasets") {
xfaDatasetsRef = xfa[i + 1];
hasXfaDatasetsEntry = true;
if (xfaDatasetsRef === null) {
xfaDatasetsRef = xref.getNewTemporaryRef();
warn("Unsupported XFA type.");
let newXrefInfo = Object.create(null);
const infoObj = Object.create(null);
const xrefInfo = xref.trailer.get("Info") || null;
if (xrefInfo instanceof Dict) {
xrefInfo.forEach((key, value) => {
if (typeof value === "string") {
infoObj[key] = stringToPDFString(value);
encryptRef: xref.trailer.getRaw("Encrypt") || null,
newRef: xref.getNewTemporaryRef(),
infoRef: xref.trailer.getRaw("Info") || null,
fileIds: xref.trailer.get("ID") || null,
startXRef: linearization ? startXRef : xref.lastXRefStreamPos ?? startXRef,
return incrementalUpdate({
originalData: stream.bytes,
useXrefStream: isDict(xref.topDict, "XRef")
xref.resetNewTemporaryRef();
handler.on("GetOperatorList", function (data, sink) {
const pageIndex = data.pageIndex;
pdfManager.getPage(pageIndex).then(function (page) {
const task = new WorkerTask(`GetOperatorList: page ${pageIndex}`);
const start = verbosity >= VerbosityLevel.INFOS ? Date.now() : 0;
annotationStorage: data.annotationStorage
}).then(function (operatorListInfo) {
info(`page=${pageIndex + 1} - getOperatorList: time=` + `${Date.now() - start}ms, len=${operatorListInfo.length}`);
handler.on("GetTextContent", function (data, sink) {
pdfManager.getPage(pageIndex).then(function (page) {
const task = new WorkerTask("GetTextContent: page " + pageIndex);
const start = verbosity >= VerbosityLevel.INFOS ? Date.now() : 0;
page.extractTextContent({
info(`page=${pageIndex + 1} - getTextContent: time=` + `${Date.now() - start}ms`);
handler.on("GetStructTree", function (data) {
return pdfManager.getPage(data.pageIndex).then(function (page) {
return pdfManager.ensure(page, "getStructTree");
handler.on("FontFallback", function (data) {
return pdfManager.fontFallback(data.id, handler);
handler.on("Cleanup", function (data) {
return pdfManager.cleanup(true);
handler.on("Terminate", function (data) {
pdfManager.terminate(new AbortException("Worker was terminated."));
const cleanupPromise = pdfManager.cleanup();
waitOn.push(cleanupPromise);
cancelXHRs(new AbortException("Worker was terminated."));
for (const task of WorkerTasks) {
waitOn.push(task.finished);
return Promise.all(waitOn).then(function () {
handler.on("Ready", function (data) {
return workerHandlerName;
static initializeFromPort(port) {
const handler = new MessageHandler("worker", "main", port);
WorkerMessageHandler.setup(handler, port);
handler.send("ready", null);
function isMessagePort(maybePort) {
return typeof maybePort.postMessage === "function" && "onmessage" in maybePort;
if (typeof window === "undefined" && !isNodeJS && typeof self !== "undefined" && isMessagePort(self)) {
WorkerMessageHandler.initializeFromPort(self);
;// CONCATENATED MODULE: ./src/pdf.worker.js
const pdfjsVersion = "4.3.136";
const pdfjsBuild = "0cec64437";
var __webpack_exports__WorkerMessageHandler = __webpack_exports__.WorkerMessageHandler;
export { __webpack_exports__WorkerMessageHandler as WorkerMessageHandler };
//# sourceMappingURL=pdf.worker.js.map