0
私はjsreport-coreベースのアプリを持っていますが、コンテンツテンプレートはうまくレンダリングされますが、ヘッダーはレンダリングされません。ここで私のアプリの基本的なステップ:jsreport-core:phantom-pdf receipeでヘッダーを使用
import jsreportCore from 'jsreport-core';
import jsreportFsStore from 'jsreport-fs-store';
import jsreportTemplates from 'jsreport-templates';
import jsreportJsrender from 'jsreport-jsrender';
import jsreportPhantomPdf from 'jsreport-phantom-pdf';
import jsreportExpress from 'jsreport-express';
// ...
jsreport.use(new jsreportFsStore({dataDirectory: "data", syncModifications: true}));
jsreport.use(new jsreportTemplates());
jsreport.use(new jsreportJsrender);
jsreport.use(new jsreportPhantomPdf());
jsreport.use(new jsreportExpress({app : app}));
// ...
const jsreport = new jsreportCore({
loadConfig: false,
autoTempCleanup: true,
connectionString: { 'name': 'fs' },
tasks: { allowedModules: '*' }
});
// ...
jsreport.render({ template : {name: "foo",engine: "jsrender",recipe:"phantom-pdf"},data : dataObj}).then((out) => {
out.stream.pipe(res);
}).catch((e) => {
res.end(e.message);
});
これは、コンテンツテンプレートがロードされるテンプレートディレクトリ構造です。 (jsreport-studioと同じです)。
---- data
------ templates
-------- foo
---------- content.html
---------- header.html