@adnsistemas/pdf-lib 2.7.0 → 2.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/utils/png.js +1 -1
- package/cjs/utils/png.js.map +1 -1
- package/dist/pdf-lib.esm.js +125 -38
- package/dist/pdf-lib.esm.js.map +1 -1
- package/dist/pdf-lib.esm.min.js +3 -3
- package/dist/pdf-lib.esm.min.js.map +1 -1
- package/dist/pdf-lib.js +125 -38
- package/dist/pdf-lib.js.map +1 -1
- package/dist/pdf-lib.min.js +1 -1
- package/dist/pdf-lib.min.js.map +1 -1
- package/es/utils/png.js +1 -1
- package/es/utils/png.js.map +1 -1
- package/package.json +2 -2
- package/src/utils/png.ts +1 -1
package/dist/pdf-lib.js
CHANGED
|
@@ -13380,7 +13380,7 @@ end\
|
|
|
13380
13380
|
else if(depth== 2) for(var x=0; x<w; x++) { var gr= 85*((data[off+(x>>>2)]>>>(6 -((x&3)<<1)))& 3), al=(gr==tr* 85)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; }
|
|
13381
13381
|
else if(depth== 4) for(var x=0; x<w; x++) { var gr= 17*((data[off+(x>>>1)]>>>(4 -((x&1)<<2)))&15), al=(gr==tr* 17)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; }
|
|
13382
13382
|
else if(depth== 8) for(var x=0; x<w; x++) { var gr=data[off+ x], al=(gr ==tr)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; }
|
|
13383
|
-
else if(depth==16) for(var x=0; x<w; x++) { var gr=data[off+(x<<1)], al=(rs(data,off+(x<<
|
|
13383
|
+
else if(depth==16) for(var x=0; x<w; x++) { var gr=data[off+(x<<1)], al=(rs(data,off+(x<<1))==tr)?0:255; bf32[to+x]=(al<<24)|(gr<<16)|(gr<<8)|gr; }
|
|
13384
13384
|
}
|
|
13385
13385
|
}
|
|
13386
13386
|
//console.log(Date.now()-time);
|
|
@@ -13406,6 +13406,7 @@ end\
|
|
|
13406
13406
|
//console.log(type,len);
|
|
13407
13407
|
|
|
13408
13408
|
if (type=="IHDR") { UPNG.decode._IHDR(data, offset, out); }
|
|
13409
|
+
else if(type=="CgBI") { out.tabs[type] = data.slice(offset,offset+4); }
|
|
13409
13410
|
else if(type=="IDAT") {
|
|
13410
13411
|
for(var i=0; i<len; i++) dd[doff+i] = data[offset+i];
|
|
13411
13412
|
doff += len;
|
|
@@ -13435,11 +13436,16 @@ end\
|
|
|
13435
13436
|
out.tabs[type] = [];
|
|
13436
13437
|
for(var i=0; i<8; i++) out.tabs[type].push(bin.readUint(data, offset+i*4));
|
|
13437
13438
|
}
|
|
13438
|
-
else if(type=="tEXt") {
|
|
13439
|
+
else if(type=="tEXt" || type=="zTXt") {
|
|
13439
13440
|
if(out.tabs[type]==null) out.tabs[type] = {};
|
|
13440
13441
|
var nz = bin.nextZero(data, offset);
|
|
13441
13442
|
var keyw = bin.readASCII(data, offset, nz-offset);
|
|
13442
|
-
var text =
|
|
13443
|
+
var text, tl=offset+len-nz-1;
|
|
13444
|
+
if(type=="tEXt") text = bin.readASCII(data, nz+1, tl);
|
|
13445
|
+
else {
|
|
13446
|
+
var bfr = UPNG.decode._inflate(data.slice(nz+2,nz+2+tl));
|
|
13447
|
+
text = bin.readUTF8(bfr,0,bfr.length);
|
|
13448
|
+
}
|
|
13443
13449
|
out.tabs[type][keyw] = text;
|
|
13444
13450
|
}
|
|
13445
13451
|
else if(type=="iTXt") {
|
|
@@ -13447,12 +13453,17 @@ end\
|
|
|
13447
13453
|
var nz = 0, off = offset;
|
|
13448
13454
|
nz = bin.nextZero(data, off);
|
|
13449
13455
|
var keyw = bin.readASCII(data, off, nz-off); off = nz + 1;
|
|
13450
|
-
data[off]; data[off+1]; off+=2;
|
|
13456
|
+
var cflag = data[off]; data[off+1]; off+=2;
|
|
13451
13457
|
nz = bin.nextZero(data, off);
|
|
13452
13458
|
bin.readASCII(data, off, nz-off); off = nz + 1;
|
|
13453
13459
|
nz = bin.nextZero(data, off);
|
|
13454
13460
|
bin.readUTF8(data, off, nz-off); off = nz + 1;
|
|
13455
|
-
var text
|
|
13461
|
+
var text, tl=len-(off-offset);
|
|
13462
|
+
if(cflag==0) text = bin.readUTF8(data, off, tl);
|
|
13463
|
+
else {
|
|
13464
|
+
var bfr = UPNG.decode._inflate(data.slice(off,off+tl));
|
|
13465
|
+
text = bin.readUTF8(bfr,0,bfr.length);
|
|
13466
|
+
}
|
|
13456
13467
|
out.tabs[type][keyw] = text;
|
|
13457
13468
|
}
|
|
13458
13469
|
else if(type=="PLTE") {
|
|
@@ -13479,12 +13490,12 @@ end\
|
|
|
13479
13490
|
else if(type=="IEND") {
|
|
13480
13491
|
break;
|
|
13481
13492
|
}
|
|
13482
|
-
//else { log("unknown chunk type", type, len); }
|
|
13493
|
+
//else { console.log("unknown chunk type", type, len); out.tabs[type]=data.slice(offset,offset+len); }
|
|
13483
13494
|
offset += len;
|
|
13484
13495
|
bin.readUint(data, offset); offset += 4;
|
|
13485
13496
|
}
|
|
13486
13497
|
if(foff!=0) { var fr = out.frames[out.frames.length-1];
|
|
13487
|
-
fr.data = UPNG.decode._decompress(out, fd.slice(0,foff), fr.rect.width, fr.rect.height);
|
|
13498
|
+
fr.data = UPNG.decode._decompress(out, fd.slice(0,foff), fr.rect.width, fr.rect.height);
|
|
13488
13499
|
}
|
|
13489
13500
|
out.data = UPNG.decode._decompress(out, dd, out.width, out.height);
|
|
13490
13501
|
|
|
@@ -13494,7 +13505,8 @@ end\
|
|
|
13494
13505
|
|
|
13495
13506
|
UPNG.decode._decompress = function(out, dd, w, h) {
|
|
13496
13507
|
var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w*bpp/8), buff = new Uint8Array((bpl+1+out.interlace)*h);
|
|
13497
|
-
dd = UPNG.
|
|
13508
|
+
if(out.tabs["CgBI"]) dd = UPNG.inflateRaw(dd,buff);
|
|
13509
|
+
else dd = UPNG.decode._inflate(dd,buff);
|
|
13498
13510
|
if (out.interlace==0) dd = UPNG.decode._filterZero(dd, out, 0, w, h);
|
|
13499
13511
|
else if(out.interlace==1) dd = UPNG.decode._readInterlace(dd, out);
|
|
13500
13512
|
//console.log(Date.now()-time);
|
|
@@ -13504,7 +13516,7 @@ end\
|
|
|
13504
13516
|
UPNG.decode._inflate = function(data, buff) { var out=UPNG["inflateRaw"](new Uint8Array(data.buffer, 2,data.length-6),buff); return out; };
|
|
13505
13517
|
UPNG.inflateRaw=function(){var H={};H.H={};H.H.N=function(N,W){var R=Uint8Array,i=0,m=0,J=0,h=0,Q=0,X=0,u=0,w=0,d=0,v,C;
|
|
13506
13518
|
if(N[0]==3&&N[1]==0)return W?W:new R(0);var V=H.H,n=V.b,A=V.e,l=V.R,M=V.n,I=V.A,e=V.Z,b=V.m,Z=W==null;
|
|
13507
|
-
if(Z)W=new R(N.length>>>2<<
|
|
13519
|
+
if(Z)W=new R(N.length>>>2<<5);while(i==0){i=n(N,d,1);m=n(N,d+1,2);d+=3;if(m==0){if((d&7)!=0)d+=8-(d&7);
|
|
13508
13520
|
var D=(d>>>3)+4,q=N[D-4]|N[D-3]<<8;if(Z)W=H.H.W(W,w+q);W.set(new R(N.buffer,N.byteOffset+D,q),w);d=D+q<<3;
|
|
13509
13521
|
w+=q;continue}if(Z)W=H.H.W(W,w+(1<<17));if(m==1){v=b.J;C=b.h;X=(1<<9)-1;u=(1<<5)-1;}if(m==2){J=A(N,d,5)+257;
|
|
13510
13522
|
h=A(N,d+5,5)+1;Q=A(N,d+10,4)+4;d+=14;var j=1;for(var c=0;c<38;c+=2){b.Q[c]=0;b.Q[c+1]=0;}for(var c=0;
|
|
@@ -13601,7 +13613,7 @@ end\
|
|
|
13601
13613
|
var bpp = UPNG.decode._getBPP(out), bpl = Math.ceil(w*bpp/8), paeth = UPNG.decode._paeth;
|
|
13602
13614
|
bpp = Math.ceil(bpp/8);
|
|
13603
13615
|
|
|
13604
|
-
var i
|
|
13616
|
+
var i,di, type=data[off], x=0;
|
|
13605
13617
|
|
|
13606
13618
|
if(type>1) data[off]=[0,0,1][type-2];
|
|
13607
13619
|
if(type==3) for(x=bpp; x<bpl; x++) data[x+1] = (data[x+1] + (data[x+1-bpp]>>>1) )&255;
|
|
@@ -13701,12 +13713,13 @@ end\
|
|
|
13701
13713
|
|
|
13702
13714
|
|
|
13703
13715
|
|
|
13716
|
+
|
|
13704
13717
|
UPNG.encode = function(bufs, w, h, ps, dels, tabs, forbidPlte)
|
|
13705
13718
|
{
|
|
13706
13719
|
if(ps==null) ps=0;
|
|
13707
13720
|
if(forbidPlte==null) forbidPlte = false;
|
|
13708
13721
|
|
|
13709
|
-
var nimg = UPNG.encode.compress(bufs, w, h, ps, [false, false, false, 0, forbidPlte]);
|
|
13722
|
+
var nimg = UPNG.encode.compress(bufs, w, h, ps, [false, false, false, 0, forbidPlte,false]);
|
|
13710
13723
|
UPNG.encode.compressPNG(nimg, -1);
|
|
13711
13724
|
|
|
13712
13725
|
return UPNG.encode._main(nimg, w, h, dels, tabs);
|
|
@@ -13854,7 +13867,7 @@ end\
|
|
|
13854
13867
|
UPNG.encode.compress = function(bufs, w, h, ps, prms) // prms: onlyBlend, minBits, forbidPlte
|
|
13855
13868
|
{
|
|
13856
13869
|
//var time = Date.now();
|
|
13857
|
-
var onlyBlend = prms[0], evenCrd = prms[1], forbidPrev = prms[2], minBits = prms[3], forbidPlte = prms[4];
|
|
13870
|
+
var onlyBlend = prms[0], evenCrd = prms[1], forbidPrev = prms[2], minBits = prms[3], forbidPlte = prms[4], dither=prms[5];
|
|
13858
13871
|
|
|
13859
13872
|
var ctype = 6, depth = 8, alphaAnd=255;
|
|
13860
13873
|
|
|
@@ -13870,17 +13883,27 @@ end\
|
|
|
13870
13883
|
var frms = UPNG.encode.framize(bufs, w, h, onlyBlend, evenCrd, forbidPrev);
|
|
13871
13884
|
//console.log("framize", Date.now()-time); time = Date.now();
|
|
13872
13885
|
|
|
13873
|
-
var cmap={}, plte=[], inds=[];
|
|
13886
|
+
var cmap={}, plte=[], inds=[];
|
|
13874
13887
|
|
|
13875
13888
|
if(ps!=0) {
|
|
13876
13889
|
var nbufs = []; for(var i=0; i<frms.length; i++) nbufs.push(frms[i].img.buffer);
|
|
13877
13890
|
|
|
13878
|
-
var abuf = UPNG.encode.concatRGBA(nbufs), qres = UPNG.quantize(abuf, ps);
|
|
13879
|
-
var cof = 0, bb = new Uint8Array(qres.abuf);
|
|
13880
|
-
for(var i=0; i<frms.length; i++) { var ti=frms[i].img, bln=ti.length; inds.push(new Uint8Array(qres.inds.buffer, cof>>2, bln>>2));
|
|
13881
|
-
for(var j=0; j<bln; j+=4) { ti[j]=bb[cof+j]; ti[j+1]=bb[cof+j+1]; ti[j+2]=bb[cof+j+2]; ti[j+3]=bb[cof+j+3]; } cof+=bln; }
|
|
13891
|
+
var abuf = UPNG.encode.concatRGBA(nbufs), qres = UPNG.quantize(abuf, ps);
|
|
13882
13892
|
|
|
13883
13893
|
for(var i=0; i<qres.plte.length; i++) plte.push(qres.plte[i].est.rgba);
|
|
13894
|
+
|
|
13895
|
+
var cof = 0;
|
|
13896
|
+
for(var i=0; i<frms.length; i++) {
|
|
13897
|
+
var frm=frms[i], bln=frm.img.length, ind = new Uint8Array(qres.inds.buffer, cof>>2, bln>>2); inds.push(ind);
|
|
13898
|
+
var bb = new Uint8Array(qres.abuf,cof,bln);
|
|
13899
|
+
|
|
13900
|
+
//console.log(frm.img, frm.width, frm.height);
|
|
13901
|
+
//var time = Date.now();
|
|
13902
|
+
if(dither) UPNG.encode.dither(frm.img, frm.rect.width, frm.rect.height, plte, bb, ind);
|
|
13903
|
+
//console.log(Date.now()-time);
|
|
13904
|
+
frm.img.set(bb); cof+=bln;
|
|
13905
|
+
}
|
|
13906
|
+
|
|
13884
13907
|
//console.log("quantize", Date.now()-time); time = Date.now();
|
|
13885
13908
|
}
|
|
13886
13909
|
else {
|
|
@@ -14072,8 +14095,8 @@ end\
|
|
|
14072
14095
|
else if(h*bpl>500000 || bpp==1) ftry=[0];
|
|
14073
14096
|
var opts; if(levelZero) opts={level:0};
|
|
14074
14097
|
|
|
14075
|
-
var CMPR = (levelZero && UZIP!=null) ? UZIP : pako$1;
|
|
14076
14098
|
|
|
14099
|
+
var CMPR = (data.length>10e6 && UZIP!=null) ? UZIP : pako$1;
|
|
14077
14100
|
for(var i=0; i<ftry.length; i++) {
|
|
14078
14101
|
for(var y=0; y<h; y++) UPNG.encode._filterLine(data, img, y, bpl, bpp, ftry[i]);
|
|
14079
14102
|
//var nimg = new Uint8Array(data.length);
|
|
@@ -14083,6 +14106,7 @@ end\
|
|
|
14083
14106
|
//console.log(crc, UZIP.adler(data,2,data.length-6));
|
|
14084
14107
|
fls.push(CMPR["deflate"](data,opts));
|
|
14085
14108
|
}
|
|
14109
|
+
|
|
14086
14110
|
var ti, tsize=1e9;
|
|
14087
14111
|
for(var i=0; i<fls.length; i++) if(fls[i].length<tsize) { ti=i; tsize=fls[i].length; }
|
|
14088
14112
|
return fls[ti];
|
|
@@ -14137,27 +14161,30 @@ end\
|
|
|
14137
14161
|
|
|
14138
14162
|
UPNG.quantize = function(abuf, ps)
|
|
14139
14163
|
{
|
|
14140
|
-
var
|
|
14164
|
+
var sb = new Uint8Array(abuf), tb = sb.slice(0), tb32 = new Uint32Array(tb.buffer);
|
|
14141
14165
|
|
|
14142
|
-
var KD = UPNG.quantize.getKDtree(
|
|
14166
|
+
var KD = UPNG.quantize.getKDtree(tb, ps);
|
|
14143
14167
|
var root = KD[0], leafs = KD[1];
|
|
14144
14168
|
|
|
14145
|
-
UPNG.quantize.planeDst;
|
|
14146
|
-
var
|
|
14147
|
-
|
|
14148
|
-
var inds = new Uint8Array(oimg.length>>2);
|
|
14149
|
-
for(var i=0; i<len; i+=4) {
|
|
14150
|
-
var r=sb[i]*(1/255), g=sb[i+1]*(1/255), b=sb[i+2]*(1/255), a=sb[i+3]*(1/255);
|
|
14169
|
+
var planeDst = UPNG.quantize.planeDst;
|
|
14170
|
+
var len=sb.length;
|
|
14151
14171
|
|
|
14152
|
-
|
|
14153
|
-
|
|
14154
|
-
|
|
14155
|
-
|
|
14156
|
-
|
|
14157
|
-
|
|
14158
|
-
|
|
14159
|
-
|
|
14160
|
-
|
|
14172
|
+
var inds = new Uint8Array(len>>2), nd;
|
|
14173
|
+
if(sb.length<20e6) // precise, but slow :(
|
|
14174
|
+
for(var i=0; i<len; i+=4) {
|
|
14175
|
+
var r=sb[i]*(1/255), g=sb[i+1]*(1/255), b=sb[i+2]*(1/255), a=sb[i+3]*(1/255);
|
|
14176
|
+
|
|
14177
|
+
nd = UPNG.quantize.getNearest(root, r, g, b, a);
|
|
14178
|
+
inds[i>>2] = nd.ind; tb32[i>>2] = nd.est.rgba;
|
|
14179
|
+
}
|
|
14180
|
+
else
|
|
14181
|
+
for(var i=0; i<len; i+=4) {
|
|
14182
|
+
var r=sb[i]*(1/255), g=sb[i+1]*(1/255), b=sb[i+2]*(1/255), a=sb[i+3]*(1/255);
|
|
14183
|
+
|
|
14184
|
+
nd = root; while(nd.left) nd = (planeDst(nd.est,r,g,b,a)<=0) ? nd.left : nd.right;
|
|
14185
|
+
inds[i>>2] = nd.ind; tb32[i>>2] = nd.est.rgba;
|
|
14186
|
+
}
|
|
14187
|
+
return { abuf:tb.buffer, inds:inds, plte:leafs };
|
|
14161
14188
|
};
|
|
14162
14189
|
|
|
14163
14190
|
UPNG.quantize.getKDtree = function(nimg, ps, err) {
|
|
@@ -14265,12 +14292,12 @@ end\
|
|
|
14265
14292
|
];
|
|
14266
14293
|
|
|
14267
14294
|
var A = Rj, M = UPNG.M4;
|
|
14268
|
-
var b = [
|
|
14295
|
+
var b = [Math.random(),Math.random(),Math.random(),Math.random()], mi = 0, tmi = 0;
|
|
14269
14296
|
|
|
14270
14297
|
if(N!=0)
|
|
14271
|
-
for(var i=0; i<
|
|
14298
|
+
for(var i=0; i<16; i++) {
|
|
14272
14299
|
b = M.multVec(A, b); tmi = Math.sqrt(M.dot(b,b)); b = M.sml(1/tmi, b);
|
|
14273
|
-
if(Math.abs(tmi-mi)<1e-9) break; mi = tmi;
|
|
14300
|
+
if(i!=0 && Math.abs(tmi-mi)<1e-9) break; mi = tmi;
|
|
14274
14301
|
}
|
|
14275
14302
|
//b = [0,0,1,0]; mi=N;
|
|
14276
14303
|
var q = [m0*iN, m1*iN, m2*iN, m3*iN];
|
|
@@ -14307,6 +14334,66 @@ end\
|
|
|
14307
14334
|
return nimg.buffer;
|
|
14308
14335
|
};
|
|
14309
14336
|
|
|
14337
|
+
UPNG.encode.dither = function(sb, w, h, plte, tb, oind) {
|
|
14338
|
+
|
|
14339
|
+
function addErr(er, tg, ti, f) {
|
|
14340
|
+
tg[ti]+=(er[0]*f)>>4; tg[ti+1]+=(er[1]*f)>>4; tg[ti+2]+=(er[2]*f)>>4; tg[ti+3]+=(er[3]*f)>>4;
|
|
14341
|
+
}
|
|
14342
|
+
function N(x) { return Math.max(0, Math.min(255, x)); }
|
|
14343
|
+
function D(a,b) { var dr=a[0]-b[0], dg=a[1]-b[1], db=a[2]-b[2], da=a[3]-b[3]; return (dr*dr + dg*dg + db*db + da*da); }
|
|
14344
|
+
|
|
14345
|
+
|
|
14346
|
+
var pc=plte.length, nplt = [];
|
|
14347
|
+
for(var i=0; i<pc; i++) {
|
|
14348
|
+
var c = plte[i];
|
|
14349
|
+
nplt.push([((c>>>0)&255), ((c>>>8)&255), ((c>>>16)&255), ((c>>>24)&255)]);
|
|
14350
|
+
}
|
|
14351
|
+
for(var i=0; i<pc; i++) {
|
|
14352
|
+
var ne=0xffffffff, ni=0;
|
|
14353
|
+
for(var j=0; j<pc; j++) { var ce=D(nplt[i],nplt[j]); if(j!=i && ce<ne) { ne=ce; ni=j; } }
|
|
14354
|
+
}
|
|
14355
|
+
|
|
14356
|
+
var tb32 = new Uint32Array(tb.buffer);
|
|
14357
|
+
var err = new Int16Array(w*h*4);
|
|
14358
|
+
|
|
14359
|
+
for(var y=0; y<h; y++) {
|
|
14360
|
+
for(var x=0; x<w; x++) {
|
|
14361
|
+
var i = (y*w+x)*4;
|
|
14362
|
+
|
|
14363
|
+
var cc = [N(sb[i]+err[i]), N(sb[i+1]+err[i+1]), N(sb[i+2]+err[i+2]), N(sb[i+3]+err[i+3])];
|
|
14364
|
+
|
|
14365
|
+
var ni=0, nd = 0xffffff;
|
|
14366
|
+
for(var j=0; j<pc; j++) {
|
|
14367
|
+
var cd = D(cc,nplt[j]);
|
|
14368
|
+
if(cd<nd) { nd=cd; ni=j; }
|
|
14369
|
+
}
|
|
14370
|
+
|
|
14371
|
+
//ni = oind[i>>2];
|
|
14372
|
+
var nc = nplt[ni];
|
|
14373
|
+
var er = [cc[0]-nc[0], cc[1]-nc[1], cc[2]-nc[2], cc[3]-nc[3]];
|
|
14374
|
+
|
|
14375
|
+
//addErr(er, err, i+4, 16);
|
|
14376
|
+
|
|
14377
|
+
//*
|
|
14378
|
+
if(x!=w-1) addErr(er, err, i+4 , 7);
|
|
14379
|
+
if(y!=h-1) {
|
|
14380
|
+
if(x!= 0) addErr(er, err, i+4*w-4, 3);
|
|
14381
|
+
addErr(er, err, i+4*w , 5);
|
|
14382
|
+
if(x!=w-1) addErr(er, err, i+4*w+4, 1); //*/
|
|
14383
|
+
}
|
|
14384
|
+
|
|
14385
|
+
oind[i>>2] = ni; tb32[i>>2] = plte[ni];
|
|
14386
|
+
}
|
|
14387
|
+
}
|
|
14388
|
+
};
|
|
14389
|
+
if (typeof module !== 'undefined') {
|
|
14390
|
+
if (exports && exports.default) {
|
|
14391
|
+
module.exports = exports.default;
|
|
14392
|
+
} else if (exports) {
|
|
14393
|
+
module.exports = exports;
|
|
14394
|
+
}
|
|
14395
|
+
}
|
|
14396
|
+
|
|
14310
14397
|
const getImageType = (ctype) => {
|
|
14311
14398
|
if (ctype === 0)
|
|
14312
14399
|
return PngType.Greyscale;
|