El primer límite determina la salida

El ejemplo oficial PDF.js usa un viewport de escala 1 y un factor. Moyoutil aplica la fórmula y redondea hacia abajo. Suponemos unidades normales y ninguna rotación. CropBox, rotación o unidades personalizadas pueden cambiar el viewport.

scale = min(DPI / 72,
            3072 / max(width, height),
            sqrt(8000000 / (width * height)))
outputWidth  = floor(width * scale)
outputHeight = floor(height * scale)

2000×1000 dio 3072×1536px a 144 y 216 DPI: el lado largo limita la escala a 1.536. 3000×3000 dio 2828×2828px en todos los ajustes. Aquí actúa primero el máximo de ocho millones; el resultado entero contiene 7,997,584 píxeles.

Dimensiones de salida según DPI para dos tamaños
Diagrama propio de cálculos. pt representa páginas de unidades normales; px son resultados reproducidos de la función. No es una vista de archivo ni comparación de calidad.

PDF.js: viewport and rendering

Comprueba antes de elegir el siguiente paso

612×792 dio 612×792, 1224×1584 y 1836×2376px a 72, 144 y 216 DPI sin límites. DPI no siempre se ignora. Revisa las dimensiones descargadas en páginas grandes. El cálculo no garantiza metadatos de impresión con igual DPI.

Conserva el PDF para detalles de planos grandes y considera herramientas que trabajen con una región de página. Dividir PDF en Moyoutil separa páginas, no recorta regiones. Comprimir imágenes no elimina este límite.

Preguntas frecuentes

¿PNG evita el límite?

No. PNG y JPEG usan el mismo cálculo previo. Formato y límites de píxeles son independientes.