first commit

This commit is contained in:
Ale
2025-05-13 12:01:17 +02:00
commit d7881a4461
4852 changed files with 537159 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
import PDFHeader from "../document/PDFHeader";
import PDFTrailer from "../document/PDFTrailer";
import PDFObject from "../objects/PDFObject";
import PDFRef from "../objects/PDFRef";
import PDFContext from "../PDFContext";
import PDFWriter from "./PDFWriter";
declare class PDFStreamWriter extends PDFWriter {
static forContext: (context: PDFContext, objectsPerTick: number, encodeStreams?: boolean, objectsPerStream?: number) => PDFStreamWriter;
private readonly encodeStreams;
private readonly objectsPerStream;
private constructor();
protected computeBufferSize(): Promise<{
size: number;
header: PDFHeader;
indirectObjects: [PDFRef, PDFObject][];
trailer: PDFTrailer;
}>;
}
export default PDFStreamWriter;
//# sourceMappingURL=PDFStreamWriter.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PDFStreamWriter.d.ts","sourceRoot":"","sources":["../../../src/core/writers/PDFStreamWriter.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,8BAAoC;AACpD,OAAO,UAAU,+BAAqC;AAItD,OAAO,SAAS,6BAAmC;AACnD,OAAO,MAAM,0BAAgC;AAE7C,OAAO,UAAU,sBAA4B;AAG7C,OAAO,SAAS,oBAAmC;AAGnD,cAAM,eAAgB,SAAQ,SAAS;IACrC,MAAM,CAAC,UAAU,YACN,UAAU,kBACH,MAAM,yEASpB;IAEJ,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,OAAO;cAYS,iBAAiB;;;;;;CA6ElC;AAED,eAAe,eAAe,CAAC"}

View File

@@ -0,0 +1,113 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var PDFHeader_1 = tslib_1.__importDefault(require("../document/PDFHeader"));
var PDFTrailer_1 = tslib_1.__importDefault(require("../document/PDFTrailer"));
var PDFInvalidObject_1 = tslib_1.__importDefault(require("../objects/PDFInvalidObject"));
var PDFName_1 = tslib_1.__importDefault(require("../objects/PDFName"));
var PDFNumber_1 = tslib_1.__importDefault(require("../objects/PDFNumber"));
var PDFRef_1 = tslib_1.__importDefault(require("../objects/PDFRef"));
var PDFStream_1 = tslib_1.__importDefault(require("../objects/PDFStream"));
var PDFCrossRefStream_1 = tslib_1.__importDefault(require("../structures/PDFCrossRefStream"));
var PDFObjectStream_1 = tslib_1.__importDefault(require("../structures/PDFObjectStream"));
var PDFWriter_1 = tslib_1.__importDefault(require("./PDFWriter"));
var utils_1 = require("../../utils");
var PDFStreamWriter = /** @class */ (function (_super) {
tslib_1.__extends(PDFStreamWriter, _super);
function PDFStreamWriter(context, objectsPerTick, encodeStreams, objectsPerStream) {
var _this = _super.call(this, context, objectsPerTick) || this;
_this.encodeStreams = encodeStreams;
_this.objectsPerStream = objectsPerStream;
return _this;
}
PDFStreamWriter.prototype.computeBufferSize = function () {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var objectNumber, header, size, xrefStream, uncompressedObjects, compressedObjects, objectStreamRefs, indirectObjects, idx, len, indirectObject, ref, object, shouldNotCompress, chunk, objectStreamRef, idx, len, chunk, ref, objectStream, xrefStreamRef, xrefOffset, trailer;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
objectNumber = this.context.largestObjectNumber + 1;
header = PDFHeader_1.default.forVersion(1, 7);
size = header.sizeInBytes() + 2;
xrefStream = PDFCrossRefStream_1.default.create(this.createTrailerDict(), this.encodeStreams);
uncompressedObjects = [];
compressedObjects = [];
objectStreamRefs = [];
indirectObjects = this.context.enumerateIndirectObjects();
idx = 0, len = indirectObjects.length;
_a.label = 1;
case 1:
if (!(idx < len)) return [3 /*break*/, 6];
indirectObject = indirectObjects[idx];
ref = indirectObject[0], object = indirectObject[1];
shouldNotCompress = ref === this.context.trailerInfo.Encrypt ||
object instanceof PDFStream_1.default ||
object instanceof PDFInvalidObject_1.default ||
ref.generationNumber !== 0;
if (!shouldNotCompress) return [3 /*break*/, 4];
uncompressedObjects.push(indirectObject);
xrefStream.addUncompressedEntry(ref, size);
size += this.computeIndirectObjectSize(indirectObject);
if (!this.shouldWaitForTick(1)) return [3 /*break*/, 3];
return [4 /*yield*/, utils_1.waitForTick()];
case 2:
_a.sent();
_a.label = 3;
case 3: return [3 /*break*/, 5];
case 4:
chunk = utils_1.last(compressedObjects);
objectStreamRef = utils_1.last(objectStreamRefs);
if (!chunk || chunk.length % this.objectsPerStream === 0) {
chunk = [];
compressedObjects.push(chunk);
objectStreamRef = PDFRef_1.default.of(objectNumber++);
objectStreamRefs.push(objectStreamRef);
}
xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);
chunk.push(indirectObject);
_a.label = 5;
case 5:
idx++;
return [3 /*break*/, 1];
case 6:
idx = 0, len = compressedObjects.length;
_a.label = 7;
case 7:
if (!(idx < len)) return [3 /*break*/, 10];
chunk = compressedObjects[idx];
ref = objectStreamRefs[idx];
objectStream = PDFObjectStream_1.default.withContextAndObjects(this.context, chunk, this.encodeStreams);
xrefStream.addUncompressedEntry(ref, size);
size += this.computeIndirectObjectSize([ref, objectStream]);
uncompressedObjects.push([ref, objectStream]);
if (!this.shouldWaitForTick(chunk.length)) return [3 /*break*/, 9];
return [4 /*yield*/, utils_1.waitForTick()];
case 8:
_a.sent();
_a.label = 9;
case 9:
idx++;
return [3 /*break*/, 7];
case 10:
xrefStreamRef = PDFRef_1.default.of(objectNumber++);
xrefStream.dict.set(PDFName_1.default.of('Size'), PDFNumber_1.default.of(objectNumber));
xrefStream.addUncompressedEntry(xrefStreamRef, size);
xrefOffset = size;
size += this.computeIndirectObjectSize([xrefStreamRef, xrefStream]);
uncompressedObjects.push([xrefStreamRef, xrefStream]);
trailer = PDFTrailer_1.default.forLastCrossRefSectionOffset(xrefOffset);
size += trailer.sizeInBytes();
return [2 /*return*/, { size: size, header: header, indirectObjects: uncompressedObjects, trailer: trailer }];
}
});
});
};
PDFStreamWriter.forContext = function (context, objectsPerTick, encodeStreams, objectsPerStream) {
if (encodeStreams === void 0) { encodeStreams = true; }
if (objectsPerStream === void 0) { objectsPerStream = 50; }
return new PDFStreamWriter(context, objectsPerTick, encodeStreams, objectsPerStream);
};
return PDFStreamWriter;
}(PDFWriter_1.default));
exports.default = PDFStreamWriter;
//# sourceMappingURL=PDFStreamWriter.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PDFStreamWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFStreamWriter.ts"],"names":[],"mappings":"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"}

30
node_modules/pdf-lib/cjs/core/writers/PDFWriter.d.ts generated vendored Normal file
View File

@@ -0,0 +1,30 @@
import PDFCrossRefSection from "../document/PDFCrossRefSection";
import PDFHeader from "../document/PDFHeader";
import PDFTrailer from "../document/PDFTrailer";
import PDFTrailerDict from "../document/PDFTrailerDict";
import PDFDict from "../objects/PDFDict";
import PDFObject from "../objects/PDFObject";
import PDFRef from "../objects/PDFRef";
import PDFContext from "../PDFContext";
export interface SerializationInfo {
size: number;
header: PDFHeader;
indirectObjects: [PDFRef, PDFObject][];
xref?: PDFCrossRefSection;
trailerDict?: PDFTrailerDict;
trailer: PDFTrailer;
}
declare class PDFWriter {
static forContext: (context: PDFContext, objectsPerTick: number) => PDFWriter;
protected readonly context: PDFContext;
protected readonly objectsPerTick: number;
private parsedObjects;
protected constructor(context: PDFContext, objectsPerTick: number);
serializeToBuffer(): Promise<Uint8Array>;
protected computeIndirectObjectSize([ref, object]: [PDFRef, PDFObject]): number;
protected createTrailerDict(): PDFDict;
protected computeBufferSize(): Promise<SerializationInfo>;
protected shouldWaitForTick: (n: number) => boolean;
}
export default PDFWriter;
//# sourceMappingURL=PDFWriter.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PDFWriter.d.ts","sourceRoot":"","sources":["../../../src/core/writers/PDFWriter.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,uCAA6C;AACtE,OAAO,SAAS,8BAAoC;AACpD,OAAO,UAAU,+BAAqC;AACtD,OAAO,cAAc,mCAAyC;AAC9D,OAAO,OAAO,2BAAiC;AAC/C,OAAO,SAAS,6BAAmC;AACnD,OAAO,MAAM,0BAAgC;AAC7C,OAAO,UAAU,sBAA4B;AAK7C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;IACvC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,cAAM,SAAS;IACb,MAAM,CAAC,UAAU,YAAa,UAAU,kBAAkB,MAAM,eACvB;IAEzC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAC1C,OAAO,CAAC,aAAa,CAAK;IAE1B,SAAS,aAAa,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM;IAK3D,iBAAiB,IAAI,OAAO,CAAC,UAAU,CAAC;IAkE9C,SAAS,CAAC,yBAAyB,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CACjD,MAAM,EACN,SAAS,CACV,GAAG,MAAM;IAMV,SAAS,CAAC,iBAAiB,IAAI,OAAO;cAUtB,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IA6B/D,SAAS,CAAC,iBAAiB,MAAO,MAAM,aAGtC;CACH;AAED,eAAe,SAAS,CAAC"}

144
node_modules/pdf-lib/cjs/core/writers/PDFWriter.js generated vendored Normal file
View File

@@ -0,0 +1,144 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var PDFCrossRefSection_1 = tslib_1.__importDefault(require("../document/PDFCrossRefSection"));
var PDFHeader_1 = tslib_1.__importDefault(require("../document/PDFHeader"));
var PDFTrailer_1 = tslib_1.__importDefault(require("../document/PDFTrailer"));
var PDFTrailerDict_1 = tslib_1.__importDefault(require("../document/PDFTrailerDict"));
var PDFObjectStream_1 = tslib_1.__importDefault(require("../structures/PDFObjectStream"));
var CharCodes_1 = tslib_1.__importDefault(require("../syntax/CharCodes"));
var utils_1 = require("../../utils");
var PDFWriter = /** @class */ (function () {
function PDFWriter(context, objectsPerTick) {
var _this = this;
this.parsedObjects = 0;
this.shouldWaitForTick = function (n) {
_this.parsedObjects += n;
return _this.parsedObjects % _this.objectsPerTick === 0;
};
this.context = context;
this.objectsPerTick = objectsPerTick;
}
PDFWriter.prototype.serializeToBuffer = function () {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var _a, size, header, indirectObjects, xref, trailerDict, trailer, offset, buffer, idx, len, _b, ref, object, objectNumber, generationNumber, n;
return tslib_1.__generator(this, function (_c) {
switch (_c.label) {
case 0: return [4 /*yield*/, this.computeBufferSize()];
case 1:
_a = _c.sent(), size = _a.size, header = _a.header, indirectObjects = _a.indirectObjects, xref = _a.xref, trailerDict = _a.trailerDict, trailer = _a.trailer;
offset = 0;
buffer = new Uint8Array(size);
offset += header.copyBytesInto(buffer, offset);
buffer[offset++] = CharCodes_1.default.Newline;
buffer[offset++] = CharCodes_1.default.Newline;
idx = 0, len = indirectObjects.length;
_c.label = 2;
case 2:
if (!(idx < len)) return [3 /*break*/, 5];
_b = indirectObjects[idx], ref = _b[0], object = _b[1];
objectNumber = String(ref.objectNumber);
offset += utils_1.copyStringIntoBuffer(objectNumber, buffer, offset);
buffer[offset++] = CharCodes_1.default.Space;
generationNumber = String(ref.generationNumber);
offset += utils_1.copyStringIntoBuffer(generationNumber, buffer, offset);
buffer[offset++] = CharCodes_1.default.Space;
buffer[offset++] = CharCodes_1.default.o;
buffer[offset++] = CharCodes_1.default.b;
buffer[offset++] = CharCodes_1.default.j;
buffer[offset++] = CharCodes_1.default.Newline;
offset += object.copyBytesInto(buffer, offset);
buffer[offset++] = CharCodes_1.default.Newline;
buffer[offset++] = CharCodes_1.default.e;
buffer[offset++] = CharCodes_1.default.n;
buffer[offset++] = CharCodes_1.default.d;
buffer[offset++] = CharCodes_1.default.o;
buffer[offset++] = CharCodes_1.default.b;
buffer[offset++] = CharCodes_1.default.j;
buffer[offset++] = CharCodes_1.default.Newline;
buffer[offset++] = CharCodes_1.default.Newline;
n = object instanceof PDFObjectStream_1.default ? object.getObjectsCount() : 1;
if (!this.shouldWaitForTick(n)) return [3 /*break*/, 4];
return [4 /*yield*/, utils_1.waitForTick()];
case 3:
_c.sent();
_c.label = 4;
case 4:
idx++;
return [3 /*break*/, 2];
case 5:
if (xref) {
offset += xref.copyBytesInto(buffer, offset);
buffer[offset++] = CharCodes_1.default.Newline;
}
if (trailerDict) {
offset += trailerDict.copyBytesInto(buffer, offset);
buffer[offset++] = CharCodes_1.default.Newline;
buffer[offset++] = CharCodes_1.default.Newline;
}
offset += trailer.copyBytesInto(buffer, offset);
return [2 /*return*/, buffer];
}
});
});
};
PDFWriter.prototype.computeIndirectObjectSize = function (_a) {
var ref = _a[0], object = _a[1];
var refSize = ref.sizeInBytes() + 3; // 'R' -> 'obj\n'
var objectSize = object.sizeInBytes() + 9; // '\nendobj\n\n'
return refSize + objectSize;
};
PDFWriter.prototype.createTrailerDict = function () {
return this.context.obj({
Size: this.context.largestObjectNumber + 1,
Root: this.context.trailerInfo.Root,
Encrypt: this.context.trailerInfo.Encrypt,
Info: this.context.trailerInfo.Info,
ID: this.context.trailerInfo.ID,
});
};
PDFWriter.prototype.computeBufferSize = function () {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var header, size, xref, indirectObjects, idx, len, indirectObject, ref, xrefOffset, trailerDict, trailer;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
header = PDFHeader_1.default.forVersion(1, 7);
size = header.sizeInBytes() + 2;
xref = PDFCrossRefSection_1.default.create();
indirectObjects = this.context.enumerateIndirectObjects();
idx = 0, len = indirectObjects.length;
_a.label = 1;
case 1:
if (!(idx < len)) return [3 /*break*/, 4];
indirectObject = indirectObjects[idx];
ref = indirectObject[0];
xref.addEntry(ref, size);
size += this.computeIndirectObjectSize(indirectObject);
if (!this.shouldWaitForTick(1)) return [3 /*break*/, 3];
return [4 /*yield*/, utils_1.waitForTick()];
case 2:
_a.sent();
_a.label = 3;
case 3:
idx++;
return [3 /*break*/, 1];
case 4:
xrefOffset = size;
size += xref.sizeInBytes() + 1; // '\n'
trailerDict = PDFTrailerDict_1.default.of(this.createTrailerDict());
size += trailerDict.sizeInBytes() + 2; // '\n\n'
trailer = PDFTrailer_1.default.forLastCrossRefSectionOffset(xrefOffset);
size += trailer.sizeInBytes();
return [2 /*return*/, { size: size, header: header, indirectObjects: indirectObjects, xref: xref, trailerDict: trailerDict, trailer: trailer }];
}
});
});
};
PDFWriter.forContext = function (context, objectsPerTick) {
return new PDFWriter(context, objectsPerTick);
};
return PDFWriter;
}());
exports.default = PDFWriter;
//# sourceMappingURL=PDFWriter.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"PDFWriter.js","sourceRoot":"","sources":["../../../src/core/writers/PDFWriter.ts"],"names":[],"mappings":"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"}