Home Foros FOROS PARA AYUDAROS ENTRE VOSOTROS. EL PROFESOR AQUÍ NO RESPONDE Foro de JavaScript Perfeccionar código para especificar páginas de un PDF con tamaño distinto A4 Respuesta a: Perfeccionar código para especificar páginas de un PDF con tamaño distinto A4

Respuesta a: Perfeccionar código para especificar páginas de un PDF con tamaño distinto A4

Home Foros FOROS PARA AYUDAROS ENTRE VOSOTROS. EL PROFESOR AQUÍ NO RESPONDE Foro de JavaScript Perfeccionar código para especificar páginas de un PDF con tamaño distinto A4 Respuesta a: Perfeccionar código para especificar páginas de un PDF con tamaño distinto A4

#10827

nagore
Participante

Hola, necesito perfeccionar este código para que además de indicar el tamaño de las páginas de un PDF, especifique qué números de páginas son las que tienen un tamaño distinto de A4.

Con el código actual obtengo este resultado:
Hay 10 páginas en este PDF
4 páginas A4
2 páginas A3
1 páginas A2
2 páginas A1
1 páginas A0

Pero quiero obtener este resultado:

Hay 10 páginas en este PDF
4 páginas A4
2 páginas A3 – números pág.: 4,8
1 páginas A2 – números pág.: 10
2 páginas A1 – números pág.: 2,5
1 páginas A0 – números pág.: 3

El código actual es este:
var msgText = “Hay ” + this.numPages + ” páginas en este PDF\n”;
// counters
var numA4 = 0;
var numA3 = 0;
var numA2 = 0;
var numA1 = 0;
var numA0 = 0;

// helper function to compare a number with some wiggle room
function inRange(wid,hei,targetWid,targetHei) {
var wiggle = 28; // amount of error to allow
return (wid>=(targetWid-wiggle) && wid<=(targetWid+wiggle)) && (hei>=(targetHei-wiggle) && hei<=(targetHei+wiggle)) || (hei>=(targetWid-wiggle) && hei<=(targetWid+wiggle)) && (wid>=(targetHei-wiggle) && wid<=(targetHei+wiggle)) }

for (pagenum=0;pagenum<this.numPages;pagenum++) {
var pbox = this.getPageBox(“Crop”,pagenum);
var width = (pbox[2] – pbox[0]);
var height = (pbox[1] – pbox[3]);
var recognized = false;
if (inRange(width,height,595,842)) { numA4++; recognized = true; }
if (inRange(width,height,842,1191)) { numA3++; recognized = true; }
if (inRange(width,height,1191,1684)) { numA2++; recognized = true; }
if (inRange(width,height,1684,2384)) { numA1++; recognized = true; }
if (inRange(width,height,2384,3370)) { numA0++; recognized = true; }

if (!recognized) msgText += (“La página ” + (pagenum+1) + ” mide ” + (width/72).toFixed(2) + ” de ancho ” + ” y ” + (height/72).toFixed(2) + ” de alto ” + “pulgadas\n”); }
msgText +=
numA4 + (” páginas A4 \n” )
+ numA3 + (” páginas A3\n” )
+ numA2 + (” páginas A2\n” )
+ numA1 + (” páginas A1\n” )
+ numA0 + (” páginas A0\n” )
+ (this.numPages++ – (numA4+numA3+numA2+numA1+numA0)) + ” páginas de otros tamaños”;
app.alert(msgText);