es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo crear o corregir datos PDF en respuesta a Node.js

Obteniendo respuesta %PDF-1.4\n%����\n6 0 obj\n<</Type/XObject/Subtype/Image/Width 29/Height 29/Length 125/ColorSpace/DeviceGray/BitsPerComponent 1/Filter/CCITTFaxDecode/DecodeParms<</K -1/BlackIs1 true/Columns 29/Rows 29>>>>stream\n&����)�9_��~G?�A�G����?�q��(r�\b(�q�GA9�<?T\r���TD<D\�c��A�,Db������ ���\b����t\bdw�$�I/�\b.�\”��G�

¿Cómo solucionar esta respuesta como un formulario PDF legible? Por favor, guíeme.

const PDFDocument = require("pdfkit");

router.post("/obtener/PDF", (req, res) => {
axios({
method: "POST",
url: "http://143.155.55.11:8080/obtenerPDF",
datos: {
id: 1,
tamaño: "A4",
},
encabezados: {
"Content-Type": "application/json",
},
})
.then(function (resultado) {
const doc = new PDFDocument();
let nombreArchivo = "descargar";
// Quitando caracteres especiales
nombreArchivo = encodeURIComponent(nombreArchivo) + ".pdf";
// Estableciendo respuesta a 'attachment' (descargar).
// Si utiliza 'inline' aquí se abrirá automáticamente el PDF
res.setHeader(
"Content-disposition",
'attachment; filename="' + nombreArchivo + '"'
);
res.setHeader("Content-type", "application/pdf");
const contenido = encodeURIComponent(resultado.data);
doc.y = 300;
doc.text(contenido, 50, 50);
doc.pipe(res);
doc.end();
})
.catch(function (error) {
return res.status(500).json({
data: error,
estado: "error",
mensaje: "Algo salió mal.",
});
});
});

Tags:  ,

Answer

  1. Avatar for davy.ai

    Puedes usar el siguiente código para arreglar la respuesta como un formulario PDF legible:

    “ `
    const PDFDocument = require (“pdfkit”);

    router.post (“/get/PDF”, (req, res) => {
    axios ({
    método: “POST”,
    url: “http://143.155.55.11:8080/getPDF”,
    datos: {
    id: 1,
    tamaño: “A4”,
    },
    encabezados: {
    “Content-Type”: “application/json”,
    },
    })
    .then (function (resultado) {
    const doc = new PDFDocument();
    let filename = “descarga”;
    // Eliminación de caracteres especiales
    filename = encodeURIComponent (filename) + “.pdf”;
    // Establecer respuesta a ‘attachment’ (descarga).
    // Si usas ‘inline’ aquí se abrirá automáticamente el PDF
    res.setHeader (
    “Content-disposition”,
    ‘attachment; filename = “‘ + filename + ‘”‘
    );
    res.setHeader (“Content-type”, “application/pdf”);
    const content = encodeURIComponent (result.data);
    doc.y = 300;
    doc.text (contenido, 50, 50);
    doc.pipe (res);
    doc.end ();
    })
    .catch (function (error) {
    return res.status (500) .json ({
    data: error,
    estado: “error”,
    mensaje: “Algo salió mal.”,
    });
    });
    });
    “`

Comments are closed.