Heim  >  Fragen und Antworten  >  Hauptteil

Methode zum Generieren von PDF-Dateien: Verwenden Sie Node.js, um eine Verbindung zur MySQL-Datenbank herzustellen

<p>Ich versuche, eine PDF-Datei mit Node js, Pdfkit und pdfkit-table zu generieren und dabei Daten zu verwenden, die in einer MySQL-Datenbank gespeichert sind. Ich muss Datensätze aus einer Datenbank in eine Tabelle in einem PDF-Dokument drucken. </p> <p>Der folgende Code generiert eine leere PDF-Datei. Bitte helfen Sie mir herauszufinden, warum keine PDF-Datei mit Daten generiert wird. </p> <p>Dies ist die Datei index.js.</p> <pre class="brush:php;toolbar:false;">var express = require('express'); var router = express.Router(); var PDFDocument = require('pdfkit'); var orm = require('orm'); var PDFDoc = require("pdfkit-table"); router.use(orm.express("mysql://root:@localhost:/kirula_fashion", { define: function (db, models, next) { models.news = db.define("ledger", { id: Zeichenfolge, Datum: Zeichenfolge, Beschreibung: Zeichenfolge, Soll: String, Kredit: String, }); nächste(); } })); router.get('/', function(req, res, next) { var result = req.models.news.find({ }, function(error, news){ if(error) throw error; res.render('index', { news:news, title: '使用NodeJS生成PDF' }); }); }); router.get('/pdf', function(req, res, next) { var id = req.query.id; const doc = new PDFDocument(); const docTable = new PDFDoc(); var result = req.models.news.find({id: id}, function(error, newspost){ if(error) throw error; anders{ if(newspost.length>0){ for(var i=0; i<newspost.length;i++){ var date = newspost[0]['date']; var description = newspost[0]['description']; var debit = newspost[0]['debit']; var credit = newspost[0]['credit']; var-Tabelle = { Titel: "账簿记录", Untertitel: „5. Mai 2020“, Überschriften: [ { "label":"日期", "property":"date", "width":100 }, { "label":"描述", "property":"description", "width":100 }, { "label":"借方", "property":"debit", "width":100 }, { "label":"贷方", "property":"credit", "width":100 } ], Daten: [ { "Datum":Datum, "Beschreibung":Beschreibung, "Lastschrift":Lastschrift, "Gutschrift":Gutschrift}, { "renderer": "function(value, i, irow){ return value + `(${(1+irow)})`; }" } ], }; docTable.table( Tabelle, { Breite: 300, }); } } } var title = "5. Dezember 2020"; var filename = encodeURIComponent(title) + '.pdf'; res.setHeader('Content-disposition', 'attachment; filename="' + filename + '"'); res.setHeader('Content-type', 'application/pdf'); doc.pipe(res); doc.end(); }); }); module.exports = router;</pre></p>
P粉154798196P粉154798196445 Tage vor635

Antworte allen(1)Ich werde antworten

  • P粉924915787

    P粉9249157872023-08-26 00:56:45

    我遇到了与数据选项相同的问题,但是对于行选项,pdfkit-table工作得很好,也许可以将[{..},{...}]映射为[[..],[...]],然后使用行选项

    Antwort
    0
  • StornierenAntwort