Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

226
Visualizações
¿Cómo convertir una imagen de alta resolución a un PDF en JS?

Estoy tratando de dibujar texto en un lienzo, convertirlo en una imagen y luego convertirlo en un PDF. La mayor parte es bastante sencilla, pero parece que jsPDF siempre convierte las imágenes a PDF en una proporción de 72 píxeles por pulgada. Esto produce imágenes muy borrosas y de baja resolución, ciertamente no adecuadas para texto.

texto borroso de "prueba"

Esto es lo que genera que:

 const size = [8.5, 11]; // Size in inches const canvas = document.createElement("canvas"); canvas.width = size[0] * 72; canvas.height = size[1] * 72; const context = canvas.getContext("2d"); context.font = "12pt Arial"; context.textBaseline = "top"; context.fillText("test", 200, 100); const image = canvas.toDataURL("image/png"); const pageOptions = { unit: "px", format: size.map(s => s * 72), }; const doc = new jsPDF(pageOptions); doc.addImage(image, "PNG", 0, 0, size[0] * 72, size[1] * 72); doc.output('dataurlnewwindow');

Si cambio todas las instancias de 72 para decir 300 , generará una imagen absolutamente enorme. Si cambio solo el tamaño del lienzo a 300 y el tamaño de la fuente en consecuencia, pero dejo todo con jsPDF en 72 , hará exactamente lo que quiero en Firefox, aunque sea un poco lento, pero el PDF resultante nunca se procesará en Chrome. ¿Cuál es el problema con este código en los navegadores basados en Chromium y cómo lo soluciono? ¿O hay una mejor manera de hacer esto?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede configurarlo cuando crea el objeto:

 const doc = new jsPDF({ unit: 'px', // set the units of measurement to px format: 'letter', // set the 'paper' size userUnit: 72, // set the DPI here. Web uses 72 but you can change to 150 or 300 })
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda