- Creazione PDF Temporanei (Generati)
- Assegnazione di questi su PDF OnLine e PDF per Stampa
This commit is contained in:
@@ -86,6 +86,10 @@ const CatalogSchema = new Schema({
|
|||||||
data_online: {
|
data_online: {
|
||||||
type: Date,
|
type: Date,
|
||||||
},
|
},
|
||||||
|
pdf_online_stampa: String,
|
||||||
|
data_online_stampa: {
|
||||||
|
type: Date,
|
||||||
|
},
|
||||||
|
|
||||||
date_created: {
|
date_created: {
|
||||||
type: Date,
|
type: Date,
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ const Gasordine = require('../models/gasordine');
|
|||||||
|
|
||||||
const { User } = require('../models/user');
|
const { User } = require('../models/user');
|
||||||
|
|
||||||
|
const { Catalog } = require('../models/catalog');
|
||||||
|
|
||||||
const server_constants = require('../tools/server_constants');
|
const server_constants = require('../tools/server_constants');
|
||||||
|
|
||||||
const { ImageDownloader } = require('../tools/general.js');
|
const { ImageDownloader } = require('../tools/general.js');
|
||||||
@@ -290,9 +292,15 @@ async function convertPDF_PdfLib(idapp, inputFile, outputFile, options) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let addstr = '';
|
||||||
|
|
||||||
|
if (options.compressione) {
|
||||||
|
addstr = '_temp.pdf';
|
||||||
|
}
|
||||||
|
|
||||||
// Salva il nuovo PDF
|
// Salva il nuovo PDF
|
||||||
const pdfBytes = await newPdfDoc.save();
|
const pdfBytes = await newPdfDoc.save();
|
||||||
fs.writeFileSync(outputFile, pdfBytes);
|
fs.writeFileSync(outputFile + addstr, pdfBytes);
|
||||||
console.log(`PDF convertito e salvato come '${outputFile}'`);
|
console.log(`PDF convertito e salvato come '${outputFile}'`);
|
||||||
|
|
||||||
const comprimi = false;
|
const comprimi = false;
|
||||||
@@ -302,9 +310,10 @@ async function convertPDF_PdfLib(idapp, inputFile, outputFile, options) {
|
|||||||
|
|
||||||
if (options.compressione) {
|
if (options.compressione) {
|
||||||
const todayDate = tools.getDateYYYYMMDD_Today();
|
const todayDate = tools.getDateYYYYMMDD_Today();
|
||||||
const compressed = tools.removeFileExtension(outputFile) + `_${todayDate}.pdf`;
|
//const compressed = tools.removeFileExtension(outputFile) + `_${todayDate}.pdf`;
|
||||||
|
const compressed = tools.removeFileExtension(outputFile) + `_generato.pdf`;
|
||||||
|
|
||||||
await compressPdf(outputFile, compressed, options.compressione);
|
await compressPdf(outputFile + addstr, compressed, options.compressione);
|
||||||
|
|
||||||
if (mostrainfo) extractPdfInfo(compressed);
|
if (mostrainfo) extractPdfInfo(compressed);
|
||||||
|
|
||||||
@@ -314,7 +323,6 @@ async function convertPDF_PdfLib(idapp, inputFile, outputFile, options) {
|
|||||||
if (options.dir_out && options.idapp) {
|
if (options.dir_out && options.idapp) {
|
||||||
// Crea directory se non esiste !
|
// Crea directory se non esiste !
|
||||||
// Salva il fileout anche su questa directory dir_out
|
// Salva il fileout anche su questa directory dir_out
|
||||||
|
|
||||||
//const fileoutdir = path.join(options.dir_out, options.file_out);
|
//const fileoutdir = path.join(options.dir_out, options.file_out);
|
||||||
//await fs.promises.copyFile(fileout, fileoutdir);
|
//await fs.promises.copyFile(fileout, fileoutdir);
|
||||||
//console.log(`File ${fileout} anche salvato in ${options.dir_out}`);
|
//console.log(`File ${fileout} anche salvato in ${options.dir_out}`);
|
||||||
@@ -322,7 +330,6 @@ async function convertPDF_PdfLib(idapp, inputFile, outputFile, options) {
|
|||||||
|
|
||||||
let fileout_print = '';
|
let fileout_print = '';
|
||||||
|
|
||||||
|
|
||||||
// Crea anche il PDF per la stampa
|
// Crea anche il PDF per la stampa
|
||||||
if (
|
if (
|
||||||
options.print_left !== 0 ||
|
options.print_left !== 0 ||
|
||||||
@@ -337,7 +344,7 @@ async function convertPDF_PdfLib(idapp, inputFile, outputFile, options) {
|
|||||||
const uscita = {
|
const uscita = {
|
||||||
pdf_generato: tools.removePathDirByFileName(options.idapp, fileout),
|
pdf_generato: tools.removePathDirByFileName(options.idapp, fileout),
|
||||||
pdf_generato_stampa: tools.removePathDirByFileName(options.idapp, ris.fileout_print),
|
pdf_generato_stampa: tools.removePathDirByFileName(options.idapp, ris.fileout_print),
|
||||||
}
|
};
|
||||||
|
|
||||||
return uscita;
|
return uscita;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@@ -398,7 +405,6 @@ async function ConvertPDF_WithMargins(options) {
|
|||||||
|
|
||||||
await fs.promises.writeFile(outputPath, pdfBytes);
|
await fs.promises.writeFile(outputPath, pdfBytes);
|
||||||
|
|
||||||
|
|
||||||
fileout_print = outputPath;
|
fileout_print = outputPath;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const log = 'Errore durante la creazione del PDF per la Stampa:' + error.message;
|
const log = 'Errore durante la creazione del PDF per la Stampa:' + error.message;
|
||||||
@@ -409,6 +415,56 @@ async function ConvertPDF_WithMargins(options) {
|
|||||||
return { fileout_print };
|
return { fileout_print };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
router.post('/online-pdf', authenticate, async (req, res) => {
|
||||||
|
console.log('/online-pdf');
|
||||||
|
|
||||||
|
idapp = req.body.idapp;
|
||||||
|
id_catalog = req.body.id_catalog;
|
||||||
|
stampa = req.body.stampa;
|
||||||
|
let mydir = '';
|
||||||
|
let risout = {};
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Aggiorna il PDF OnLine, copiando il file da Generato a OnLine
|
||||||
|
let catalog = await Catalog.findOne({ _id: id_catalog });
|
||||||
|
|
||||||
|
if (catalog) {
|
||||||
|
mydir = tools.getdirByIdApp(idapp);
|
||||||
|
// const baseurl = this.getHostByIdApp(idapp);
|
||||||
|
|
||||||
|
if (stampa) {
|
||||||
|
catalog.pdf_online_stampa = catalog.pdf_generato_stampa.replace('_generato', '');
|
||||||
|
} else {
|
||||||
|
catalog.pdf_online = catalog.pdf_generato.replace('_generato', '');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aggiorna il PDF OnLine, copiando il file da Generato a OnLine
|
||||||
|
const fileOrigin = mydir + (stampa ? catalog.pdf_generato_stampa : catalog.pdf_generato);
|
||||||
|
const fileDest = mydir + (stampa ? catalog.pdf_online_stampa : catalog.pdf_online);
|
||||||
|
const fileDestNoDir = (stampa ? catalog.pdf_online_stampa : catalog.pdf_online);
|
||||||
|
// copia il file
|
||||||
|
await fs.promises.copyFile(fileOrigin, fileDest);
|
||||||
|
|
||||||
|
if (stampa) {
|
||||||
|
catalog.data_online_stampa = catalog.data_generato_stampa;
|
||||||
|
} else {
|
||||||
|
catalog.data_online = catalog.data_generato;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aggiorna il record
|
||||||
|
await catalog.save();
|
||||||
|
|
||||||
|
risout = {catalog: catalog._doc};
|
||||||
|
}
|
||||||
|
|
||||||
|
// risout
|
||||||
|
|
||||||
|
return res.status(200).send(risout);
|
||||||
|
} catch (e) {
|
||||||
|
console.error('Err Online-pdf', e.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Endpoint POST per la conversione del PDF
|
// Endpoint POST per la conversione del PDF
|
||||||
router.post('/convert-pdf', upload.single('pdf'), async (req, res) => {
|
router.post('/convert-pdf', upload.single('pdf'), async (req, res) => {
|
||||||
if (!req.file) {
|
if (!req.file) {
|
||||||
|
|||||||
Reference in New Issue
Block a user